[
  {
    "path": ".github/ISSUE_TEMPLATE/bug_report.md",
    "content": "---\nname: Bug report\nabout: Create a report to help us improve\ntitle: ''\nlabels: Bug\nassignees: vmagnin\n\n---\n\n**Describe the bug**\nA clear and concise description of what the bug is. Tell which branch of the project is concerned (e.g. gtk3).\n\n**Expected behavior**\nA clear and concise description of what you expected to happen.\nIf applicable, add screenshots to help explain your problem.\n\n**To Reproduce**\nSteps to reproduce the behavior:\n1. \n2. \n...\n\n**Your system:**\n - OS version: [e.g. Ubuntu 18.04 64 bits]\n - Compiler version: [e.g. gfortran 8.2.0]\n - GTK branch: [e.g gtk4]\n\n**Additional context**\nAdd any other context about the problem here.\n\n"
  },
  {
    "path": ".gitignore",
    "content": "*.out\n*.mod\n*.o\n*~\n*.bak\n*.backup\n*.old\n*.directory\n*__pycache__*\ncfwrapper-errors.csv\nusemodules.txt\nbuild/\n"
  },
  {
    "path": "CHANGELOG.md",
    "content": "# Changelog\nAll notable changes to the gtk-fortran project are documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).\n\n## [gtk-fortran 4.9.0] 2025-11-20\n\nThis release offers interfaces to GTK 4.20 and GLib 2.86 (generated under Fedora 43 with GTK 4.20.2 and GLib 2.86.1).\n\n### Added\n- In `CMakeLists.txt`:\n  - support for Flang and LFortran. Their unsupported flags are filtered. Note however that LFortran 0.56 alpha is not yet ready to compile gtk-fortran.\n  - A few errors (issue [#300](https://github.com/vmagnin/gtk-fortran/issues/300)) and warnings detected by Flang 20.1.3 were fixed. Flang now compiles entirely gtk-fortran (last tested with Flang 21.1.5).\n  - Improved messages (linker version, compilation flags, GTK and PLplot dirs, installation dirs...).\n- In `src/alt_build_test.sh`: support for Flang and LFortran (when it will be ready to compile gtk-fortran). And messages were improved.\n\n### Changed\n- `src/gtk-sup.f90`: the function `fdate()` was renamed `fmt_date()` to avoid confusion with the GNU intrinsic subroutine.\n\n### Removed\n- In `src/gtk-sup.f90`: removed the `f_c_string` interface, which is an aliases of `convert_f_string`, because `f_c_string()` is now also a function defined in the Fortran 2023 standard. See [Issue #294](https://github.com/vmagnin/gtk-fortran/issues/294) and [PR #295](https://github.com/vmagnin/gtk-fortran/pull/295).\n- In `cmake/DefaultFlags.cmake`: the GFortran flags were reviewed and simplified. In DEBUG mode, `-std=f2008 -pedantic` were removed and also `-Wtabs` which is already implied by `-Wall`. And `-pthread` is already included into the GTK flags.\n\n### Fixed\n- `cmake/DefaultFlags.cmake`: the GNU ld `-rdynamic` option is now passed to all Fortran compilers in UNIX-like systems. Fixes the [Issue #236](https://github.com/vmagnin/gtk-fortran/issues/236): \"With Intel ifort/ifx, gtkbuilder, gtkbuilder2 and gtkf-sketcher could not open gtkbuilder.glade\".\n- gtk-fortran can now be used as an external library via CMake FetchContent. Fixes the [Issue #301](https://github.com/vmagnin/gtk-fortran/issues/301) related to the current binary and source dirs.\n\n\n## [gtk-fortran 4.8.0] 2025-04-25\n\nThis release offers interfaces to GTK 4.18 and GLib 2.84 (generated under Fedora 42 with GTK 4.18.4 and GLib 2.84.1).\n\n### Added\n- In `examples/tests_gtk_sup.f90`: added `test_gvalue_routines()`.\n\n### Changed\n- CMake 3.10 is now required (it was released in Nov. 2017).\n\n### Fixed\n- `src/gtk-sup.f90`: the `GValue` structure is now defined as three 64 bits variables. It fixes the Windows [issue #244](https://github.com/vmagnin/gtk-fortran/issues/244). See the discussion in the gtk3 branch [PR](https://github.com/vmagnin/gtk-fortran/commit/60992129c024e27134f4f31744282311a1656426). Regression tests have been added in `examples/tests_gtk_sup.f90`.\n\n\n## [gtk-fortran 4.7.1] 2025-03-04\n\n### Fixed\n- cfwrapper: the interfaces of 98 functions are fixed ([Issue #290](https://github.com/vmagnin/gtk-fortran/issues/290)). In `cfwrapper/fortran.py`, the block treating the enums was not placed at the end of the `iso_c_binding()` function: first, C pointers toward enums were not recognized as pointers, and secondly enums having a name included in a GTK type name could cause bad bindings (for example `GtkSelectionMode` and `GtkSelectionModel`).\n\n\n## [gtk-fortran 4.7.0] 2024-11-05\nThis release offers interfaces to GTK 4.16 and GLib 2.82 (generated under Fedora 41 with GTK 4.16.3 and GLib 2.82.2).\n\n### Added\n- `src/gtk-hl-dialog.f90`: can now manage the logo via `gtk_about_dialog_set_logo()`. Contributed by Florian Ober.\n- `cfwrapper.py`: the gtk3 branch now also uses `gtkenums-auto.in` and `gtk-auto.in`, following the fpm feature backport.\n\n### Fixed\n- cfwrapper: Variant and GVariantType types are now correctly used when declared with a double `*` in C. [Issue #289](https://github.com/vmagnin/gtk-fortran/issues/289).\n- `src/gtk-hl-dialog.f90`: if providing artists or documenters, the `cptr` length was erroneously calculated from the number of authors. Contributed by Florian Ober.\n\n\n## [gtk-fortran 4.6.0] 2024-04-19\nThis release offers interfaces to GTK 4.14 and GLib 2.80 (generated under Fedora 40 with GTK 4.14.2 and GLib 2.80.0).\n\n### Added\n- The `examples/bazaar.f90` program plays a little melody `demo_sound.ogg` when you click on Button1, by using a GtkMediaStream. The GTK 4 GStreamer backend must be installed (`libgtk-4-media-gstreamer` package in Ubuntu). It was tested with `.ogg`, `.wav` and `.mid` files.\n\n### Changed\n- `cmake/cmake_uninstall.cmake.in`: improved the code layout.\n\n### Fixed\n- `src/gtk-fortran.pc.in`: the line `Libs:` was modified to fix a problem with the macOS linker (which is not GNU ld and does not accept the `-R` option).\n\n\n## [gtk-fortran 4.5.0] 2023-11-08\nThis release offers interfaces to GTK 4.12 and GLib 2.78 (generated under Fedora 39 with GTK 4.12.3 and GLib 2.78.1).\n\n### Added\n- In `gtk-sup.f90`: the function `convert_f_string_aa()` (interface `f_c_string`) converts a fortran string array into an array of null-terminated C strings.\n\n## [gtk-fortran 4.4.1] 2023-08-31\n\n### Added\n- New types (enums) in `src/cfwrapper/scan_types_and_enums.py`, useful for other GNOME libraries.\n- Initializes `types_enums.gtk_funptr` list in `src/cfwrapper/scan_types_and_enums.py` with a few funptr types, and removes possibly duplicated ones.\n- `examples/menubar.f90`: an accelerator `<Ctrl>q` was added for quitting the application.\n\n### Changed\n- `examples/bazaar.f90`: modified the font and background of the textview.\n\n### Fixed\n- `src/cfwrapper/fortran.py`: declarations like `const char * const *` must be declared in Fortran as `type(c_ptr), dimension(*) ::`, as they are arrays of C strings (previously, only `**` was considered).\n\n\n## [gtk-fortran 4.4.0] 2023-05-02\nThis release offers interfaces to GTK 4.10.3 and GLib 2.76.2.\n\n### Added\n- `examples/cairo-tests.f90` now draws the circle *period-2 bulb* and the main cardioid over the Mandelbrot set. More text is also put in the figure.\n- `examples/cairo-basics.f90` now also saves the drawing in a SVG file and a PDF file.\n- `screenshots/hl_cairo_viewer-fedora38.png`: showing \"modern Fortran\" written with a New Alphabet font.\n- a [new example](https://github.com/vmagnin/gtk-fortran-extra/tree/main/saville_code) has been added in the gtk-fortran-extra repository (MIT license). It is a gtk-fortran application to encode a text using Peter Saville's color code.\n- `src/test_extra.sh`: an interactive script to test projects gtk-fortran-extra and gtkzero_fpm before gtk-fortran release.\n- `src/cfwrapper/` can be used more easily with other C libraries (see the [tutorial](https://github.com/vmagnin/gtk-fortran/wiki/How-to-hack-the-cfwrapper)):\n  - added a `-l` option to add the directories containing the header files and a `-m` option to add the corresponding Fortran modules.\n  - added a `-s` option to add a suffix to the functions names.\n- `src/cfwrapper/run_tests.py`: for testing some functions of the cfwrapper.\n- `src/scan_types_and_enums.py`: the pass 1 was refactored in that class.\n- `src/gtk-fortran_types.csv`: list of all the GLib / GTK types used in the prototypes of the C functions. Generated by the `cfwrapper/cfwrapper.py` script.\n- `src/gtk-fortran_funptr.csv`: list of all the `funptr` types used in the prototypes of the C functions. Generated by the `cfwrapper/cfwrapper.py` script, which will also print the number of `funptr` in its statistics.\n- `LICENSE_EXCEPTION`: the text of the GCC Runtime Library Exception, version 3.1. Note that this exception was chosen in 2011 and was already cited in the header of each source file with the URL of the GNU licenses. Putting the text in the repository is a better practice.\n\n### Changed\n- `logo/`: the blue color of the GTK cube, whose HSL (hue, saturation, lightness) values are (211, 49, 63), was replaced by a purple whose hue (270) is the same as the hue of the Fortran logo.\n- `src/build.sh` is now an interactive script proposing to build, test and install gtk-fortran. It uses the default Fortran compiler, then build and test with Intel ifx.\n- `src/cfwrapper/cleaning.py`: code cleaning and improved layout.\n\n### Fixed\n- `examples/hl_cairo_viewer.f90`: the image is now redrawn when the window is resized. And the \"Next>\" button becomes sensitive when a second file is added.\n- `examples/menubar.f90`: the compilation was failing on 32 bits systems, due to an `int64` kind used instead of `c_size_t` (for `gssize`).\n- `examples/gio_demo.f90`: a `_c_size_t` suffix added (for a `gssize`).\n- `implicit none` was added in all C/Fortran interfaces, as the `implicit none` of the modules do no apply to the interfaces blocks. It will harden the code by allowing the compiler to verify more deeply the coherence of the interfaces generated by the Python wrapper.\n\n\n## [gtk-fortran 4.3.0] 2022-11-10\nThis release offers interfaces to GTK 4.8.2 and GLib 2.74.1.\n\n### Added\n- `screenshots/Julia_gtk-fortran_animated.gif`: four Julia sets in four OS (Fedora, macOS, FreeBSD, MSYS2/Windows).\n- `CITATION.cff` file, used by the GitHub interface.\n- `src/extract_hl_doc.py`: generates markdown files for the HL gtk-fortran documentation. Fixes [issue #259](https://github.com/vmagnin/gtk-fortran/issues/259).\n- Intel ifx compiler is now supported by CMake (>=3.20), with the id `IntelLLVM`.\n- `examples/tests_gtk_sup.f90`: for testing functions of the gtk_sup module.\n- `examples/notebooks.f90`: notebooks are now scrollable. And a popup menu appears when clicking with the right button on tabs.\n- A new example has been added in the `gtk-fortran-extra` repository (MIT license). It demonstrates how you can use modern Fortran parallel features (coarrays, events, teams, collective routines) with gtk-fortran. It computes a Buddhabrot.\n- A new *How to start my own project from a gtk-fortran example?* tutorial, including license considerations.\n\n### Changed\n- The Python scripts received minor code improvements suggested by pylint.\n- `CMakeLists.txt` files: several minor improvements.\n- `examples/notebooks.f90` improved: notebooks are now scrollable, added a popup menu when clicking with the right button on tabs.\n- The `examples/gtkbuilder.glade` UI file has been regenerated with Cambalache (`gtkbuilder.cmb` file) and renamed `gtkbuilder.ui`. The widgets were also improved (tooltips, URL link...).\n- `gtk-auto.inc` and `gtkenums-auto.inc` are renamed with the `.in` extension because GitHub believes `.inc` is C++. Fixes issue #263.\n- Improved code layout in some files, code cleaning, improvements.\n- Uses allocatable strings instead of long strings.\n- The HL gtk-fortran documentation has been fully reviewed and updated.\n- The Wiki documentation has been fully reviewed and refactored: it now uses the Diátaxis framework (Tutorials, How-to, Reference, Explanation).\n\n### Fixed\n- `src/cfwrapper/enums.py`: prepared for GTK 4.8 and GLib 2.74. Two regex were  modified to remove correctly three constants. See [issue #266](https://github.com/vmagnin/gtk-fortran/issues/266).\n- `cmake/DefaultFlags.cmake`: release and debug flags for non-GFortran compilers were inverted.\n\n## [gtk-fortran 4.2.1] 2022-04-24\n\n### Fixed\n- [Issue #257](https://github.com/vmagnin/gtk-fortran/issues/257): `examples/tests.f90`, `examples/bazaar.f90` and `src/gtk-fortran.f90` were crashing (segmentation fault) on macOS because the GLib `g_get_os_info()` function returns NULL on that OS.\n\n\n## [gtk-fortran 4.2] 2022-04-23\nThis release offers interfaces to GTK 4.6.2 and GLib 2.72.1.\n\n### Added\n- gtk-fortran can now be used as a simple [fpm](https://fpm.fortran-lang.org) dependency (gtk4 branch only). See the [gtkzero_fpm example](https://github.com/vmagnin/gtkzero_fpm). It implied some changes:\n    * `gtk-auto.f90` and `gtkenums-auto.f90` are renamed with the `.inc` extension.\n    * Removed `mswindowsonly-auto.f90` and `unixonly-auto.f90`, and added `api_compatibility.f90` with the module `gtk_os_dependent` to keep API compatibility.\n    * `plplot/plplot_extra_ndef.f90` renamed `plplot_extra.f90` and moved to `src/`.\n- `examples/bazaar.f90`: the About button credits the authors of that file. The call to `gtk_about_dialog_set_license()` is replaced by the more convenient `gtk_about_dialog_set_license_type()`.\n- A `tutorials/` directory contains the GTK 4 sources used in the Wiki first tutorial.\n- `src/gtk-fortran.f90`: prints the GTK and GLib version of the release.\n- A [conda repository](https://github.com/conda-forge/gtk-4-fortran-feedstock) for gtk-4-fortran.\n\n### Changed\n- Better handling of default compiler flags, using flags like `CMAKE_Fortran_FLAGS_RELEASE_INIT` (CMake>=3.7 required). A file `cmake/DefaultFlags.cmake` was added. Backported to gtk3 branch.\n- `gtkbuilder2.f90`: replaced `gtk_builder_add_from_file()` by `gtk_builder_new_from_file()`.\n- The syntax was modernized in many places (Fortran 2008).\n\n### Fixed\n- `g_application_run()` should be called with an array `[c_null_ptr]` as third argument instead of `c_null_ptr`. Needed with the NAG Fortran compiler. Backported to gtk3 branch.\n- `examples/tests.f90`: loop undefined with ifort. And now uses `g_variant_unref()`.\n- Various bug fixes.\n\n\n## [gtk-fortran 3.24.31] 2022-04-21\n- The gtk-3-fortran library offers interfaces to GTK 3.24.31 and GLib 2.72.1 (generated with Fedora 36).\n\n### Changed\n- Better handling of default compiler flags, using flags like `CMAKE_Fortran_FLAGS_RELEASE_INIT` (CMake>=3.7 required). A file `cmake/DefaultFlags.cmake` was added.\n\n### Fixed\n- `g_application_run()` should be called with an array `[c_null_ptr]` as third argument instead of `c_null_ptr`. Needed with the NAG Fortran compiler.\n\n\n## [gtk-fortran 4.1] 2021-10-22\nThe gtk-4-fortran library has been generated from GTK 4.4.0 and GLib 2.70.0 under Fedora 35.\n\n### Added\n- The cfwrapper has a new required parameter `-v` to set the gtk-fortran semantic version (major.minor.patch). It is written in the `VERSIONS` file (used by CMake, `src/extract_events.pl`, `src/alt_build_test.sh`) and `codemeta.json`. Backported to the gtk3 branch.\n\n### Changed\n- The compiler flags for release is now `-O3` instead of `-O3 -mtune=native -march=native`.\n- The `-warn nounused` flag was added for ifort.\n- The Fortran / C interfaces now use the `import ::` statement instead of `use, intrinsic :: iso_c_binding, only:`.\n- In some examples, a module was added to contain the scientific subroutines: `julia_pixbuf.f90`, `mandelbrot_pixbuf.f90`, `cairo-tests.f90`.\n\n### Removed\n- `examples/gtkbuilder.f90`: `gtk_builder_connect_signals_full` being removed from GTK 4, this example has become identical to `gtkbuilder2.f90`.\n\n\n## [gtk-fortran 3.24.30] 2021-09-08\n- The gtk-3-fortran library has been generated from GTK 3.24.30 and GLib 2.68.4 under Fedora 34.\n\n### Added\n- The cfwrapper has a new required parameter `-v` to set the gtk-fortran semantic version (major.minor.patch). It is written in the `VERSIONS` file (used by CMake, `src/extract_events.pl`, `src/alt_build_test.sh`) and `codemeta.json`.\n- A `tutorials/` directory contains the sources and screenshots used in the Wiki new tutorials.\n\n### Changed\n- The compiler flags for release is now `-O3` instead of `-O3 -mtune=native -march=native`.\n- The Fortran / C interfaces now use the `import ::` statement instead of `use, intrinsic :: iso_c_binding, only:`.\n\n\n## [gtk-fortran 4.0] 2021-04-28\n- The gtk-4-fortran library has been generated from GTK 4.2.0 and GLib 2.68.1 under Fedora 34.\n- Starting from this 4.0 release, the project will adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).\n- All the improvements included in the simultaneously released gtk-fortran 3.24.28 (gtk3 branch) are also in the gtk4 branch.\n\n### Added\n- GTK 4 now includes the GSK and graphene libraries: src/gsk-auto.f90 and src/graphene-auto.f90 (see https://developer.gnome.org/gtk4/stable/gtk.html)\n- src/gtk.f90: historically, in gtk-fortran g\\_signal\\_connect() was declared as a subroutine, because the handler\\_id returned by the GLib function is usually never used. Here we define both a g\\_signal\\_connect() function and a subroutine. You will generally use the subroutine in your programs. The function\\_g\\_signal\\_connect\\_swapped and g\\_signal\\_connect\\_swapped procedure were also added.\n- examples/menubar.f90: a new menu example based on GMenu and GAction.\n\n### Changed\n- examples/gtkzero_gapp.f90 is now working.\n- examples/gtkhello.f90: new version using GtkApplication.\n- Most examples are now using GtkApplication.\n- sketcher/sketcher.f90 has been ported to GTK 4, but some problems remains due to deprecated functions: it can not detect signals in the UI file and the toplevel widget detection need improvement.\n\n### Removed\n- examples/gtkzero.f90: replaced by gtkzero_gapp.f90.\n- examples/gtkhello2.f90: replaced by gtkhello.f90.\n- examples/menu.f90 & menu2.f90: based on deprecated APIs.\n- examples/hl_radio.f90: based on the GtkRadioButton deprecated API.\n- src/atk-auto.f90: removed from GTK 4 (deprecated API).\n- src/gtk-hl-accelerator.f90: deprecated API.\n- src/gtk-hl-menu.f90 and examples/hl_menu.f90: deprecated API.\n- src/gtk-hl-chooser.f90, bazaar.f90, hl_choosers.f90: GtkFileChooserButton has been removed from GTK 4.\n- meson.build experimental files were removed. They are now apart in the gtk4-dev-meson branch.\n\n\n## [gtk-fortran 3.24.28] - 2021-04-28\n\n### Added\n- examples/regex.f90: a new example demonstrating GLib regular expressions functions.\n- src/gtk-fortran.f90: a gtk-?-fortran command to show information about the library.\n- examples/pixbuf\\_without\\_gui.f90: a new example drawing a Sierpinski triangle in a PNG file, without using a GUI.\n\n### Changed\n- cfwrapper.py is now writing the path and name of each C header file in the *-auto.f90 files.\n- cfwrapper.py is now systematically launching extract_events.pl.\n- cfwrapper.py is now updating the codemeta.json file (dateModified field).\n- VERSIONS: the name of the distribution used to generate gtk-fortran is now automatically found.\n\n### Fixed\n- src/CMakeLists.txt: added unix-print-auto.f90 which was missing.\n\n### Security\n- For intrinsic modules, all the `use` statements have been replaced by `use, intrinsic ::`.\n\n\n## [gtk-fortran 20.04] - 2020-05-07\nThe main objective of this release was to clean up the code and prepare it for the future GTK 4 branch.\n\n### Changed\n- gtk3 branch based on **GTK 3.24.18, GLib 2.64.2,** generated under Lubuntu 20.04 x86_64.\n- CMake>=3.4 required.\n- cmake/cmake_uninstall.cmake.in: updated with the latest code from https://gitlab.kitware.com/cmake/community/-/wikis/FAQ#can-i-do-make-uninstall-with-cmake\n- CMake now uses GNUInstallDirs for the lib dir. On some systems, like Fedora, it will be lib64, on others lib.\n- bash scripts syntax has been improved, using shellcheck.\n- test.sh has been renamed alt_build_test.sh\n- The master branch has been renamed gtk2.\n- src/gdkevents-auto3.f90: no reason to indicate the GTK version for that file. The \"3\" was removed.\n- src/gtk-3-fortran.pc.in => src/gtk-fortran.pc.in: improved pkg-config file.\n- README-high-level now using Markdown: README-high-level.md\n- src/usemodules.pl: can now be used directly from that directory, without make install.\n- Examples: code clean up. Some deprecated GTK 3 functions have been removed to prepare for GTK 4.\n\n### Added\n- Experimental and uncomplete `meson.build` files have been added. Meson>=0.53 is needed. Commands are `meson buildmeson` and `ninja -C buildmeson`. The gtk-fortran library can be inst\talled using `sudo ninja -C buildmeson install`, but there is still some problems for installing the `.mod` files (see https://github.com/mesonbuild/meson/issues/5374). Please use CMake for production !\n- examples/menu2.f90: the menu.f90 example is based on deprecated functions.\n- examples/gtkzero_gapp.f90: an empty GTK window based on GtkApplication and GApplication.\n- CMake -D NO_BUILD_HL=true option to disable building the High Level sub-library (which includes PLplot and sketcher).\n- VERSIONS: a CSV file with the gtk-fortran, GTK, GLib and Ubuntu versions. Automatically created by the cfwrapper.py script. It will be used by the building system of the project.\n\n### Removed\n- Gtkextra directory: that directory was not maintained for 9 years, the gtkextra library is not maintained anymore and is based on GTK 2. The gtksheet part was forked (https://github.com/fpaquet/gtksheet), but it is necessary to reduce the amount of work to maintain gtk-fortran. So it was removed from the gtk3 branch.\n- Doxygen dependence. It was introduced at the beginning of the gtk-fortran project but never used.\n- win32_install.bat: this file was last updated in 2013 and may be brokken. You should instead install MSYS2 under Windows and follow the instructions on the wiki.\n- cmake/FindPlplotF95.cmake: deprecated module to find the PLplot library (does not work with PLplot>=5.11 released the 2015-04-12).\n- cmake/CheckFortranSourceCompiles.cmake: this macro is included in CMake since 3.1 version.\n- cmake/FindGTK3.cmake: PkgConfig is used instead.\n- test.bat: a deprecated script to build gtk-fortran (GTK 2) under Windows.\n- The test/ directory containing the run_all.pl script. You can use CTest instead (see the wiki).\n- Deprecated functions, to be ready for GTK 4.\n- gtk-\\*hl-\\*-tmpl.f90 files: the gtk-\\*hl-\\*.f90 will be fully managed by git, instead of being generated from these templates.\n- mk_gtk_hl.pl: that script was used to manage GTK 2 & 3 differences in the gtk-\\*hl-\\*.f90 files.\n\n### Fixed\n- src/usemodules.py was printing false deprecated functions alerts in the hl files of the src directory.\n- Updated gtkbuilder.glade to use GTK 3 interface.\n\n\n## [gtk-fortran 19.04] - 2019-04-24\n### Added\n- The `cfwrapper.py` detects the status of each function (AVAILABLE or DEPRECATED) and writes it in the `*-auto.f90` files and in `gtk-fortran-index.csv`. It will help to remove deprecated functions during the GTK 4 migration. Developers can use the `-d` argument to remove DEPRECATED functions from the library: using `make -i` will then show errors for each deprecated function used in the project.\n- The `usemodules.py` script prints warnings when deprecated functions are found in Fortran files, and tries to split `USE` lines cleanly.\n- A `show_versions.sh` script that shows the versions of the main tools and libraries used in gtk-fortran. Useful for gtk-fortran developers or for reporting bugs.\n- A `README` file in each directory, explaining the role of each file.\n- Parallel building (gtk3) using `make -j` or `make --jobs`. On some systems, like FreeBSD, the number of jobs must be given: `make -j 4` for example. By [@ChinouneMehdi](https://github.com/ChinouneMehdi).\n- A video quickstart guide on the Wiki.\n- A `is_UNIX_OS()` function in `gtk-sup.f90`.\n- This `CHANGELOG.md` file.\n- gtk-fortran can now be cited: Vincent MAGNIN, James TAPPIN, Jens HUNGER, Jerry DE LISLE, \"gtk-fortran: a GTK+ binding to build Graphical User Interfaces in Fortran\", Journal of Open Source Software, 4(34), 1109, 12th January 2019, https://doi.org/10.21105/joss.01109\n\n### Changed\n- gtk3 branch based on **GTK 3.24.8, GLib 2.60.0,** generated with Ubuntu 19.04 x86_64, PLplot>=5.13.\n- master (GTK 2) branch based on **GTK 2.24.32, GLib 2.60.0,** generated with Ubuntu 19.04 x86_64, PLplot<=5.10.\n- The `cfwrapper.py` script has been moved in the `src/cfwrapper` directory, and splitted\nin several modules to ease maintenance.\n- Major revision of the PLplot part (code and documentation) in the gtk3 branch: PLplot>=5.13 is now required. And it runs under MSYS2/Windows. The gtk2 branch will keep PLplot<=5.10.\n- Major update of the Wiki documentation.\n- New examples: `gtkzero.f90` (just a window) and `gtkhello.f90` (two buttons).\n- Updated examples.\n- The default branch is now gtk3. The master (gtk2) branch should not be used for new projects.\n- The gtk-fortran repository URL is now https://github.com/vmagnin/gtk-fortran. The URL https://github.com/jerryd/gtk-fortran is automatically redirected to the new URL. So it is transparent to the user. You are not obliged to modify it in your git settings, but if you want, type: `git remote set-url origin git@github.com:vmagnin/gtk-fortran.git`\n- Doxygen (not yet used in the project) is optional.\n\n### Removed\n- old stuff in the `plplot/` directory.\n- `old-cfwrapper.py`: a previous Python 2 version of the wrapper, last modified in 2013.\n\n### Deprecated\n- `cmake/FindPlplotF95.cmake`: deprecated module to find the PLplot<=5.10 library.\n\n### Fixed\n- The `cfwrapper.py` script can now scan the `gstdio.h` and `giochannel.h` files, except for the `g_io_channel_win32_new_messages()` function which can be declared with two different parameters types.\n- Less warnings in Debug mode.\n- Fixed some bugs in examples.\n- The PLplot examples now work under MSYS2.\n- `gtkf-sketcher.f90` now works under MSYS2.\n\n\n## [gtk-fortran 17.10] - 2018-05-01\n### Changed\n- GTK 3.22.25, GLib 2.54.1\n- GTK 2.24.31, GLib 2.54.1\n\n## [gtk-fortran 16.10] - 2017-01-09\n### Changed\n- GTK 3.20.9,  GLib 2.50.2\n- GTK 2.24.30, GLib 2.50.2\n- The code of the heart of gtk-fortran, the `cfwrapper.py` script, has been refactored and improved in order to ease maintenance.\n- CMake files have been unified in master (gtk2) and gtk3 branches.\n\n## [gtk-fortran 16.04] - 2016-06-15\n### Changed\n- GTK 3.18.9,  GLib 2.48.0\n- GTK 2.24.30, GLib 2.48.0\n\n## [gtk-fortran 13.10]\n### Changed\n- GTK 3.10.1\n- GTK 2.24.22\n\n## [first commit] - 2011-01-10\n### Added\n- Creation of the github repository by [@jerryd](https://github.com/jerryd/).\n"
  },
  {
    "path": "CITATION.cff",
    "content": "# This CITATION.cff file was generated with cffinit.\n# Visit https://bit.ly/cffinit to generate yours today!\n\ncff-version: 1.2.0\ntitle: gtk-fortran\nmessage: >-\n  If you use this software, please cite it using the\n  metadata from this file.\ntype: software\nauthors:\n  - given-names: Vincent\n    family-names: Magnin\n    email: vincent.magnin@univ-lille.fr\n    affiliation: Lille University (France)\n    orcid: 'https://orcid.org/0000-0002-9016-9955'\n  - given-names: James\n    family-names: Tappin\n    affiliation: >-\n      RAL Space, STFC Rutherford Appleton Laboratory,\n      Harwell Campus​, Didcot,Oxfordshire OX11 0QX,\n      United Kingdom\n    orcid: 'https://orcid.org/0000-0002-1878-5243'\n  - given-names: Jens\n    family-names: Hunger\n    affiliation: >-\n      Technische Universität Dresden, Department of\n      Chemistry and Food Chemistry, Dresden, Germany\n    orcid: 'https://orcid.org/0000-0001-7639-1229'\n  - given-names: Jerry\n    name-particle: De\n    family-names: Lisle\n    affiliation: 'GFortran team, USA'\nidentifiers:\n  - type: doi\n    value: 10.21105/joss.01109\n    description: The paper about gtk-fortran\nrepository-code: 'https://github.com/vmagnin/gtk-fortran'\nurl: 'https://github.com/vmagnin/gtk-fortran/wiki'\nabstract: >-\n  The gtk-fortran project provides bindings to the\n  Fortran language for the GTK libraries (GTK, Cairo,\n  GdkPixbuf, GLib...) and is licensed under GNU GPLv3\n  (with GCC Runtime Library Exception 3.1, see Licenses for more details). \n  Like GTK and Fortran, it is cross-platform (Linux, macOS, BSD, Windows).\nkeywords:\n  - Fortran GTK binding GUI\nlicense: GPL-3.0-or-later WITH GCC-exception-3.1\npreferred-citation:\n  type: article\n  authors:\n  - given-names: Vincent\n    family-names: Magnin\n    email: vincent.magnin@univ-lille.fr\n    affiliation: Lille University (France)\n    orcid: 'https://orcid.org/0000-0002-9016-9955'\n  - given-names: James\n    family-names: Tappin\n    affiliation: >-\n      RAL Space, STFC Rutherford Appleton Laboratory,\n      Harwell Campus​, Didcot,Oxfordshire OX11 0QX,\n      United Kingdom\n    orcid: 'https://orcid.org/0000-0002-1878-5243'\n  - given-names: Jens\n    family-names: Hunger\n    affiliation: >-\n      Technische Universität Dresden, Department of\n      Chemistry and Food Chemistry, Dresden, Germany\n    orcid: 'https://orcid.org/0000-0001-7639-1229'\n  - given-names: Jerry\n    name-particle: De\n    family-names: Lisle\n    affiliation: 'GFortran team, USA'\n  doi: \"10.21105/joss.01109\"\n  journal: \"Journal of Open Source Software\"\n  month: 1\n  start: 1 # First page number\n  end: 3 # Last page number\n  title: \"gtk-fortran: a GTK+ binding to build Graphical User Interfaces in Fortran\"\n  issue: 34\n  volume: 4\n  year: 2019\n"
  },
  {
    "path": "CMakeLists.txt",
    "content": "# This file is part of gtk-fortran, a GTK / Fortran interface library.\n# Copyright (C) 2011 The gtk-fortran team\n#\n# This is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 3, or (at your option)\n# any later version.\n#\n# This software is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# Under Section 7 of GPL version 3, you are granted additional\n# permissions described in the GCC Runtime Library Exception, version\n# 3.1, as published by the Free Software Foundation.\n#\n# You should have received a copy of the GNU General Public License along with\n# this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n# If not, see <http://www.gnu.org/licenses/>.\n#===============================================================================\n# Contributed by Kyle Horne: 05.11.2011\n# Last modifications: James Tappin 8/17/2012, Jens Hunger 01/07/2018,\n# vmagnin 2025-05-28\n#\n# CMAKE build file for gtk-fortran\n# Options:\n# -D CMAKE_BUILD_TYPE=debug\n# -D EXCLUDE_PLPLOT=true\n# -D NO_BUILD_EXAMPLES=true\n# -D NO_BUILD_HL=true\n# -D INSTALL_EXAMPLES=true\n\n# CMake 3.10 was released in November 2017:\ncmake_minimum_required(VERSION 3.10)\n\n# Include overwrites before setting up the project\nset(CMAKE_USER_MAKE_RULES_OVERRIDE ${CMAKE_CURRENT_SOURCE_DIR}/cmake/DefaultFlags.cmake)\n\nproject(gtk-fortran Fortran)\n\nset(CMAKE_PROJECT_DESCRIPTION \"A GTK / Fortran binding\")\nset(CMAKE_PROJECT_HOMEPAGE_URL \"https://github.com/vmagnin/gtk-fortran/wiki/\")\n\nmessage(STATUS \"Compiler: ${CMAKE_Fortran_COMPILER_ID} ${CMAKE_Fortran_COMPILER_VERSION} ${CMAKE_Fortran_COMPILER}\")\nmessage(STATUS \"Linker: ${CMAKE_Fortran_COMPILER_LINKER_ID} ${CMAKE_Fortran_COMPILER_LINKER_VERSION} ${CMAKE_Fortran_COMPILER_LINKER}\")\n# Print system, version and path:\nmessage(STATUS \"System: ${CMAKE_SYSTEM_NAME} ${CMAKE_SYSTEM_VERSION} ${CMAKE_SYSTEM_PROCESSOR}\")\n\n#===============================================================================\n# Version of gtk-fortran for the current branch (from VERSIONS file):\n#===============================================================================\nfile(STRINGS VERSIONS OneLine REGEX \"gtk-fortran;(.*)\")\nstring(REGEX REPLACE \"gtk-fortran;\" \"\" SEMANTIC_VERSION ${OneLine})\n# Major, minor and patch versions of gtk-fortran:\nstring(REGEX MATCH \"[0-9]+\" GTKv ${SEMANTIC_VERSION})\nstring(REGEX REPLACE \"[0-9]+\\.([0-9]+)\\.[0-9]+\" \"\\\\1\" MINOR_VERSION ${SEMANTIC_VERSION})\nstring(REGEX REPLACE \"[0-9]+\\.[0-9]+\\.([0-9]+)\" \"\\\\1\" PATCH_VERSION ${SEMANTIC_VERSION})\n\nset(gtk_V_fortran \"gtk-${GTKv}-fortran\")\nmessage(STATUS \"Building ${gtk_V_fortran} ${SEMANTIC_VERSION}\")\n\nif (${GTKv} LESS_EQUAL 3)\n    set(GTKname \"gtk+-${GTKv}.0\")\nelse()\n    set(GTKname \"gtk${GTKv}\")\nendif()\n\nset(CMAKE_PROJECT_VERSION_MAJOR ${GTKv})\nset(CMAKE_PROJECT_VERSION_MINOR ${MINOR_VERSION})\nset(CMAKE_PROJECT_VERSION_PATCH ${PATCH_VERSION})\n\n# Extracting the GTK and GLib versions from the VERSIONS file:\nfile(STRINGS VERSIONS OneLine REGEX \"GTK;(.*)\")\nstring(REGEX REPLACE \"GTK;\" \"\" GTK_SEMANTIC_VERSION ${OneLine})\nfile(STRINGS VERSIONS OneLine REGEX \"GLib;(.*)\")\nstring(REGEX REPLACE \"GLib;\" \"\" GLIB_SEMANTIC_VERSION ${OneLine})\nmessage(STATUS \"  offering interfaces to GTK ${GTK_SEMANTIC_VERSION} and GLib ${GLIB_SEMANTIC_VERSION}\")\n\n#===============================================================================\n# Default build type is release\n# Uncomment this to debug or use \"cmake -D CMAKE_BUILD_TYPE=debug ..\"\n#===============================================================================\n# set(CMAKE_BUILD_TYPE debug)\nif (NOT CMAKE_BUILD_TYPE)\n    set(CMAKE_BUILD_TYPE release)\nendif()\n\n#===============================================================================\n# Setting compilation flags for various compilers and build types:\n#===============================================================================\nstring(TOUPPER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE)\nmessage(STATUS \"Build type: ${CMAKE_BUILD_TYPE}\")\n\n# Print compilation flags :\nif(CMAKE_Fortran_FLAGS OR CMAKE_Fortran_FLAGS_${CMAKE_BUILD_TYPE})\n  message(STATUS \"Compilation flags (general and build type specific):\")\n  message(STATUS \"  CMAKE_Fortran_FLAGS: ${CMAKE_Fortran_FLAGS}\")\n  message(STATUS \"  CMAKE_Fortran_FLAGS_${CMAKE_BUILD_TYPE}: ${CMAKE_Fortran_FLAGS_${CMAKE_BUILD_TYPE}}\")\nendif()\n\n#===============================================================================\n# Package generation:\n#===============================================================================\nset(CPACK_PACKAGE_CHECKSUM SHA256)\nset(CPACK_RESOURCE_FILE_LICENSE \"${PROJECT_SOURCE_DIR}/LICENSE\")\nset(CPACK_RESOURCE_FILE_README \"${PROJECT_SOURCE_DIR}/README.md\")\nset(CPACK_GENERATOR \"TGZ\")\nset(CPACK_SOURCE_GENERATOR \"TGZ\")\ninclude(CPack)\n\n#===============================================================================\n# \"Path for CMake modules to be loaded by the include() or find_package()\n# commands before checking the default modules that come with CMake\"\n#===============================================================================\nset(CMAKE_MODULE_PATH \"${PROJECT_SOURCE_DIR}/cmake\")\n\n#===============================================================================\n# Uninstall target:\n# Generic code adapted from\n# https://gitlab.kitware.com/cmake/community/-/wikis/FAQ#can-i-do-make-uninstall-with-cmake\n#===============================================================================\nif(NOT TARGET uninstall)\n    # configure_file() copies a file and substitutes @VAR@ or ${VAR}\n    # @ONLY means only @VAR@ will be sustituted\n    # https://cmake.org/cmake/help/latest/command/configure_file.html\n    configure_file(\n        \"${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in\"\n        \"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake\"\n        @ONLY)\n\n    add_custom_target(uninstall\n        COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)\nendif()\n\n#===============================================================================\n# Examples can be tested via make test:\n#===============================================================================\nenable_testing()\n\n#===============================================================================\n# Find all GTK libraries:\n#===============================================================================\n# Use PkgConfig:\nfind_package(PkgConfig REQUIRED)\npkg_check_modules(GTK REQUIRED ${GTKname})\n# Setup CMake to use GTK, tell the compiler where to look for headers\n# and to the linker where to look for libraries:\ninclude_directories(${GTK_INCLUDE_DIRS})\nlink_directories(${GTK_LIBRARY_DIRS})\n\n#===============================================================================\n# Add other flags to the compiler\n#===============================================================================\n# https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_COMPILER_ID.html\n# For the new Flang compiler and LFortran, first remove unknown flags (no \";\" if at the end):\nif(CMAKE_Fortran_COMPILER_ID STREQUAL \"LLVMFlang\")\n  string(REGEX REPLACE \"-mfpmath=sse;?\" \"\" GTK_CFLAGS_OTHER \"${GTK_CFLAGS_OTHER}\")\n  string(REGEX REPLACE \"-msse2;?\" \"\" GTK_CFLAGS_OTHER \"${GTK_CFLAGS_OTHER}\")\n  # Order matters for the following regex!\n  string(REGEX REPLACE \"-msse;?\" \"\" GTK_CFLAGS_OTHER \"${GTK_CFLAGS_OTHER}\")\nelseif(CMAKE_Fortran_COMPILER_ID STREQUAL \"LFortran\")\n  string(REGEX REPLACE \"-mfpmath=sse;?\" \"\" GTK_CFLAGS_OTHER \"${GTK_CFLAGS_OTHER}\")\n  string(REGEX REPLACE \"-msse2;?\" \"\" GTK_CFLAGS_OTHER \"${GTK_CFLAGS_OTHER}\")\n  # Order matters for the following regex!\n  string(REGEX REPLACE \"-msse;?\" \"\" GTK_CFLAGS_OTHER \"${GTK_CFLAGS_OTHER}\")\n  string(REGEX REPLACE \"-pthread;?\" \"\" GTK_CFLAGS_OTHER \"${GTK_CFLAGS_OTHER}\")\nendif()\n# TODO: replace add_definitions() by add_compile_options() when CMake>=3.12 will be required: https://cmake.org/cmake/help/latest/command/add_compile_options.html#command:add_compile_options\nadd_definitions(${GTK_CFLAGS_OTHER})\n\nmessage(STATUS \"Other compilation flags needed by GTK: ${GTK_CFLAGS_OTHER}\")\nmessage(STATUS \"GTK_INCLUDE_DIRS: ${GTK_INCLUDE_DIRS}\")\nmessage(STATUS \"GTK_LIBRARY_DIRS: ${GTK_LIBRARY_DIRS}\")\n\n#===============================================================================\n# PLplot integration (>=5.13 needed)\n# ----------------------------------\n# A lot of changes have occured in PLplot 5.11, 5.12 and 5.13: the libraries\n# have been renamed (plplot and plplot-fortran) and the ISO_C_BINDING has been\n# adopted.\n# By now (March 2019), the find_package(plplot) command gives a lot of errors\n# in Debian/Ubuntu distributions because of some renaming in Debian packages.\n# As a temporary (?) workaround, we are now using pkg-config.\n# If a CMake error occurs, add -D EXCLUDE_PLPLOT=true to your CMake command.\n#===============================================================================\nif (NOT EXCLUDE_PLPLOT AND NOT NO_BUILD_HL)\n    pkg_check_modules(PLPLOT-FORTRAN REQUIRED plplot-fortran)\n    pkg_check_modules(PLPLOT REQUIRED plplot)\n\n    # Setup CMake to use PLplot, tell the compiler where to look for headers\n    # and to the linker where to look for libraries:\n    include_directories(${PLPLOT-FORTRAN_INCLUDE_DIRS})\n    link_directories(${PLPLOT-FORTRAN_LIBRARY_DIRS})\n    # Add other flags to the compiler:\n    add_definitions(${PLPLOT-FORTRAN_CFLAGS_OTHER})\n    message(STATUS \"Other compilation flags needed by PLplot: ${PLPLOT-FORTRAN_CFLAGS_OTHER}\")\n    message(STATUS \"PLPLOT-FORTRAN_INCLUDE_DIRS: ${PLPLOT-FORTRAN_INCLUDE_DIRS}\")\n    message(STATUS \"PLPLOT-FORTRAN_LIBRARY_DIRS: ${PLPLOT-FORTRAN_LIBRARY_DIRS}\")\n\n    set(LIBRARIES ${LIBRARIES} ${PLPLOT_LIBRARIES})\n    include_directories(${PLPLOT_INCLUDE_DIRS})\n    message(STATUS \"PLPLOT_INCLUDE_DIRS: ${PLPLOT_INCLUDE_DIRS}\")\n    set(CMAKE_REQUIRED_LIBRARIES \"${PLPLOT_LIBRARIES}\")\n    set(CMAKE_REQUIRED_INCLUDES \"${PLPLOT-FORTRAN_INCLUDE_DIRS}\")\nelse(NOT EXCLUDE_PLPLOT AND NOT NO_BUILD_HL)\n    message(STATUS \">>> PLPLOT excluded as command option\")\nendif(NOT EXCLUDE_PLPLOT AND NOT NO_BUILD_HL)\n\n#===============================================================================\n# Define GNU standard installation directories:\n#===============================================================================\ninclude(GNUInstallDirs)\nmessage(STATUS \"GNUInstallDirs: ${CMAKE_INSTALL_PREFIX} ${CMAKE_INSTALL_LIBDIR} ${CMAKE_INSTALL_INCLUDEDIR} ${CMAKE_INSTALL_BINDIR} ${CMAKE_INSTALL_DATAROOTDIR} ${CMAKE_INSTALL_MANDIR}\")\n\n#===============================================================================\n# Add subdirectories to build:\n#===============================================================================\nadd_subdirectory(src)\nadd_subdirectory(examples)\n\nif(NOT NO_BUILD_HL)\n    add_subdirectory(sketcher)\n\n    if(PLPLOT_FOUND AND NOT EXCLUDE_PLPLOT)\n        add_subdirectory(plplot)\n    endif(PLPLOT_FOUND AND NOT EXCLUDE_PLPLOT)\nelse(NOT NO_BUILD_HL)\n    message(STATUS \">>> High Level API excluded as command option\")\nendif(NOT NO_BUILD_HL)\n"
  },
  {
    "path": "INSTALL.md",
    "content": "Last update: 2025-03-07\n\nDependencies\n================================\n\nIf you want to use gtk-fortran as a fpm dependency, you just need:\n- A modern Fortran compiler (>= Fortran 2008 standard), for example gfortran, ifort, ifx...\n- GTK and the associated development files. For 4.x use the \"gtk4\" branch.\n- The Fortran Package Manager [fpm](https://fpm.fortran-lang.org).\n\nIf you want to build and install the whole project (library, tools, examples...), you also need:\n- CMake (>=3.10) and pkg-config.\n- PLplot (>=5.13) is used if available (you need the development files).\n\nUsing gtk-fortran as a fpm dependency\n================================\n\nStarting from version 4.2, gtk-fortran can be used as a [fpm](https://fpm.fortran-lang.org) dependency. You simply need to add gtk-fortran in the dependencies section of the `fpm.toml` manifest of your project:\n\n```toml\n[dependencies]\ngtk-fortran = { git = \"https://github.com/vmagnin/gtk-fortran.git\", branch = \"gtk4\" }\n```\n\nSee the [gtkzero_fpm example](https://github.com/vmagnin/gtkzero_fpm) (MIT license) for a demonstration.\n\n\nBuilding & installing gtk-fortran\n================================\n\nThe build install system uses `cmake`. This file gives quick instructions to install gtk-fortran. **See the [Wiki documentation](https://github.com/vmagnin/gtk-fortran/wiki#installation-and-building) for more detailed instructions.**\n\nUNIX/Linux\n----------\n\nTo do an \"out of source\" build from the top-level directory on a\nUnix/Linux system:\n\n    mkdir build && cd build\n    cmake ..\n    make\n    sudo make install\n\nIf the building of some examples causes an error, you can ignore them with\nthe `-i` option:\n\n    make -i\n\ncmake variables are set by using `-D<variable>=<value>`, for example to change the default install directory from `/usr/local` to `/usr`:\n\n    cmake -DCMAKE_INSTALL_DIR=/usr ..\n\nUseful variables that are specific to gtk-fortran are:\n\n       EXCLUDE_PLPLOT -- set this to disable building the plplot\n         integration even if PLplot is found.\n       NO_BUILD_HL -- set this to disable building the High Level sub-library\n         (includes PLplot and sketcher).\n       NO_BUILD_EXAMPLES -- set this to prevent compiling the example\n         programs, also mostly useful for packagers.\n       INSTALL_EXAMPLES -- set this to install the source code of the\n         examples into\n         ${CMAKE_INSTALL_DATAROOTDIR/gtk-fortran/examples<gtkversion>,\n         this would for example be useful if you were making a binary\n         package of gtk-fortran.\n\nTo interactively control the build, use `ccmake` in place of `cmake`\n\nDefault compiler options can be overridden, for example:\n\n    cmake -D CMAKE_Fortran_FLAGS_RELEASE=\"-O2 -std=f2018\" ..\n\nThe system default Fortran compiler can be overridden, for example to use the Intel ifx compiler:\n\n    cmake -D CMAKE_Fortran_COMPILER:FILEPATH=$(which ifx) ..\n\n**************************************************************************\nSometimes it can help to clean out the build directory and re-run `cmake`:\n\n     cd build\n     rm -r *   ## MAKE SURE YOU ARE IN THE BUILD DIRECTORY BEFORE DOING THIS\n     cmake ..\n**************************************************************************\n\nOther systems (Windows, macOS, FreeBSD...)\n-------\n\nSee the Wiki documentation for specific and detailed instructions.\n\nKnown issues\n------------\n\nYou can see or post issues on this page:\n\nhttps://github.com/vmagnin/gtk-fortran/issues\n\nBuilding your application\n=========================\n\nOn Linux and Unix systems the build system generates a pkg-config file\nand installs it. So building a single source file application should be\nas simple as:\n\n    gfortran my_app.f90 $(pkg-config --cflags --libs gtk-4-fortran)\n\nIf you have made a default install to `/usr/local` you *may* need to run:\n\n    export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig\n\n(Or\n\n    setenv PKG_CONFIG_PATH /usr/local/lib/pkgconfig\n\nif you use csh or one of its derivatives)\n\nthis will depend on your distribution, Ubuntu looks there by default,\nPardus and Manjaro don't.\n\nUninstalling gtk-fortran\n========================\n\n    sudo make uninstall\n\nSee https://gitlab.kitware.com/cmake/community/-/wikis/FAQ#can-i-do-make-uninstall-with-cmake\n\nMore informations\n=================\n\nSee the documentation: https://github.com/vmagnin/gtk-fortran/wiki\n"
  },
  {
    "path": "LICENSE",
    "content": "                    GNU GENERAL PUBLIC LICENSE\n                       Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n                            Preamble\n\n  The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n  The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works.  By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users.  We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors.  You can apply it to\nyour programs, too.\n\n  When we speak of free software, we are referring to freedom, not\nprice.  Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n  To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights.  Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n  For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received.  You must make sure that they, too, receive\nor can get the source code.  And you must show them these terms so they\nknow their rights.\n\n  Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n  For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software.  For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n  Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so.  This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software.  The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable.  Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts.  If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n  Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary.  To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.\n\n                       TERMS AND CONDITIONS\n\n  0. Definitions.\n\n  \"This License\" refers to version 3 of the GNU General Public License.\n\n  \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n  \"The Program\" refers to any copyrightable work licensed under this\nLicense.  Each licensee is addressed as \"you\".  \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n  To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy.  The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n  A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n  To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy.  Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n  To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies.  Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n  An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License.  If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n  1. Source Code.\n\n  The \"source code\" for a work means the preferred form of the work\nfor making modifications to it.  \"Object code\" means any non-source\nform of a work.\n\n  A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n  The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form.  A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n  The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities.  However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work.  For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n  The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n  The Corresponding Source for a work in source code form is that\nsame work.\n\n  2. Basic Permissions.\n\n  All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met.  This License explicitly affirms your unlimited\npermission to run the unmodified Program.  The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work.  This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n  You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force.  You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright.  Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n  Conveying under any other circumstances is permitted solely under\nthe conditions stated below.  Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n  3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n  No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n  When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n  4. Conveying Verbatim Copies.\n\n  You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n  You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n  5. Conveying Modified Source Versions.\n\n  You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n    a) The work must carry prominent notices stating that you modified\n    it, and giving a relevant date.\n\n    b) The work must carry prominent notices stating that it is\n    released under this License and any conditions added under section\n    7.  This requirement modifies the requirement in section 4 to\n    \"keep intact all notices\".\n\n    c) You must license the entire work, as a whole, under this\n    License to anyone who comes into possession of a copy.  This\n    License will therefore apply, along with any applicable section 7\n    additional terms, to the whole of the work, and all its parts,\n    regardless of how they are packaged.  This License gives no\n    permission to license the work in any other way, but it does not\n    invalidate such permission if you have separately received it.\n\n    d) If the work has interactive user interfaces, each must display\n    Appropriate Legal Notices; however, if the Program has interactive\n    interfaces that do not display Appropriate Legal Notices, your\n    work need not make them do so.\n\n  A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit.  Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n  6. Conveying Non-Source Forms.\n\n  You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n    a) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by the\n    Corresponding Source fixed on a durable physical medium\n    customarily used for software interchange.\n\n    b) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by a\n    written offer, valid for at least three years and valid for as\n    long as you offer spare parts or customer support for that product\n    model, to give anyone who possesses the object code either (1) a\n    copy of the Corresponding Source for all the software in the\n    product that is covered by this License, on a durable physical\n    medium customarily used for software interchange, for a price no\n    more than your reasonable cost of physically performing this\n    conveying of source, or (2) access to copy the\n    Corresponding Source from a network server at no charge.\n\n    c) Convey individual copies of the object code with a copy of the\n    written offer to provide the Corresponding Source.  This\n    alternative is allowed only occasionally and noncommercially, and\n    only if you received the object code with such an offer, in accord\n    with subsection 6b.\n\n    d) Convey the object code by offering access from a designated\n    place (gratis or for a charge), and offer equivalent access to the\n    Corresponding Source in the same way through the same place at no\n    further charge.  You need not require recipients to copy the\n    Corresponding Source along with the object code.  If the place to\n    copy the object code is a network server, the Corresponding Source\n    may be on a different server (operated by you or a third party)\n    that supports equivalent copying facilities, provided you maintain\n    clear directions next to the object code saying where to find the\n    Corresponding Source.  Regardless of what server hosts the\n    Corresponding Source, you remain obligated to ensure that it is\n    available for as long as needed to satisfy these requirements.\n\n    e) Convey the object code using peer-to-peer transmission, provided\n    you inform other peers where the object code and Corresponding\n    Source of the work are being offered to the general public at no\n    charge under subsection 6d.\n\n  A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n  A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling.  In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage.  For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product.  A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n  \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source.  The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n  If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information.  But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n  The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed.  Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n  Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n  7. Additional Terms.\n\n  \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law.  If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n  When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit.  (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.)  You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n  Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n    a) Disclaiming warranty or limiting liability differently from the\n    terms of sections 15 and 16 of this License; or\n\n    b) Requiring preservation of specified reasonable legal notices or\n    author attributions in that material or in the Appropriate Legal\n    Notices displayed by works containing it; or\n\n    c) Prohibiting misrepresentation of the origin of that material, or\n    requiring that modified versions of such material be marked in\n    reasonable ways as different from the original version; or\n\n    d) Limiting the use for publicity purposes of names of licensors or\n    authors of the material; or\n\n    e) Declining to grant rights under trademark law for use of some\n    trade names, trademarks, or service marks; or\n\n    f) Requiring indemnification of licensors and authors of that\n    material by anyone who conveys the material (or modified versions of\n    it) with contractual assumptions of liability to the recipient, for\n    any liability that these contractual assumptions directly impose on\n    those licensors and authors.\n\n  All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10.  If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term.  If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n  If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n  Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n  8. Termination.\n\n  You may not propagate or modify a covered work except as expressly\nprovided under this License.  Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n  However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n  Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n  Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License.  If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n  9. Acceptance Not Required for Having Copies.\n\n  You are not required to accept this License in order to receive or\nrun a copy of the Program.  Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance.  However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work.  These actions infringe copyright if you do\nnot accept this License.  Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n  10. Automatic Licensing of Downstream Recipients.\n\n  Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License.  You are not responsible\nfor enforcing compliance by third parties with this License.\n\n  An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations.  If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n  You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License.  For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n  11. Patents.\n\n  A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based.  The\nwork thus licensed is called the contributor's \"contributor version\".\n\n  A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version.  For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n  Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n  In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement).  To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n  If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients.  \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n  If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n  A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License.  You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n  Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n  12. No Surrender of Others' Freedom.\n\n  If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License.  If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all.  For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n  13. Use with the GNU Affero General Public License.\n\n  Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work.  The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n  14. Revised Versions of this License.\n\n  The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time.  Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n  Each version is given a distinguishing version number.  If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation.  If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n  If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n  Later license versions may give you additional or different\npermissions.  However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n  15. Disclaimer of Warranty.\n\n  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n  16. Limitation of Liability.\n\n  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n  17. Interpretation of Sections 15 and 16.\n\n  If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n                     END OF TERMS AND CONDITIONS\n\n            How to Apply These Terms to Your New Programs\n\n  If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n  To do so, attach the following notices to the program.  It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n    <one line to give the program's name and a brief idea of what it does.>\n    Copyright (C) <year>  <name of author>\n\n    This program is free software: you can redistribute it and/or modify\n    it under the terms of the GNU General Public License as published by\n    the Free Software Foundation, either version 3 of the License, or\n    (at your option) any later version.\n\n    This program is distributed in the hope that it will be useful,\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n    GNU General Public License for more details.\n\n    You should have received a copy of the GNU General Public License\n    along with this program.  If not, see <http://www.gnu.org/licenses/>.\n\nAlso add information on how to contact you by electronic and paper mail.\n\n  If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n    <program>  Copyright (C) <year>  <name of author>\n    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n    This is free software, and you are welcome to redistribute it\n    under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License.  Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n  You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n<http://www.gnu.org/licenses/>.\n\n  The GNU General Public License does not permit incorporating your program\ninto proprietary programs.  If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library.  If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License.  But first, please read\n<http://www.gnu.org/philosophy/why-not-lgpl.html>.\n"
  },
  {
    "path": "LICENSE_EXCEPTION",
    "content": "GCC RUNTIME LIBRARY EXCEPTION\n\nVersion 3.1, 31 March 2009\n\nCopyright (C) 2009 Free Software Foundation, Inc. <http://fsf.org/>\n\nEveryone is permitted to copy and distribute verbatim copies of this\nlicense document, but changing it is not allowed.\n\nThis GCC Runtime Library Exception (\"Exception\") is an additional\npermission under section 7 of the GNU General Public License, version\n3 (\"GPLv3\"). It applies to a given file (the \"Runtime Library\") that\nbears a notice placed by the copyright holder of the file stating that\nthe file is governed by GPLv3 along with this Exception.\n\nWhen you use GCC to compile a program, GCC may combine portions of\ncertain GCC header files and runtime libraries with the compiled\nprogram. The purpose of this Exception is to allow compilation of\nnon-GPL (including proprietary) programs to use, in this way, the\nheader files and runtime libraries covered by this Exception.\n\n0. Definitions.\n\nA file is an \"Independent Module\" if it either requires the Runtime\nLibrary for execution after a Compilation Process, or makes use of an\ninterface provided by the Runtime Library, but is not otherwise based\non the Runtime Library.\n\n\"GCC\" means a version of the GNU Compiler Collection, with or without\nmodifications, governed by version 3 (or a specified later version) of\nthe GNU General Public License (GPL) with the option of using any\nsubsequent versions published by the FSF.\n\n\"GPL-compatible Software\" is software whose conditions of propagation,\nmodification and use would permit combination with GCC in accord with\nthe license of GCC.\n\n\"Target Code\" refers to output from any compiler for a real or virtual\ntarget processor architecture, in executable form or suitable for\ninput to an assembler, loader, linker and/or execution\nphase. Notwithstanding that, Target Code does not include data in any\nformat that is used as a compiler intermediate representation, or used\nfor producing a compiler intermediate representation.\n\nThe \"Compilation Process\" transforms code entirely represented in\nnon-intermediate languages designed for human-written code, and/or in\nJava Virtual Machine byte code, into Target Code. Thus, for example,\nuse of source code generators and preprocessors need not be considered\npart of the Compilation Process, since the Compilation Process can be\nunderstood as starting with the output of the generators or\npreprocessors.\n\nA Compilation Process is \"Eligible\" if it is done using GCC, alone or\nwith other GPL-compatible software, or if it is done without using any\nwork based on GCC. For example, using non-GPL-compatible Software to\noptimize any GCC intermediate representations would not qualify as an\nEligible Compilation Process.\n\n1. Grant of Additional Permission.\n\nYou have permission to propagate a work of Target Code formed by\ncombining the Runtime Library with Independent Modules, even if such\npropagation would otherwise violate the terms of GPLv3, provided that\nall Target Code was generated by Eligible Compilation Processes. You\nmay then convey such a combination under terms of your choice,\nconsistent with the licensing of the Independent Modules.\n\n2. No Weakening of GCC Copyleft.\n\nThe availability of this Exception does not imply any general\npresumption that third-party software is unaffected by the copyleft\nrequirements of the license of GCC.\n\n"
  },
  {
    "path": "README-high-level.md",
    "content": "# gtk-fortran -- High level interfaces\n\nThe high level interface for gtk-fortran is in the source file\ngtk-hl.f90. This provides a number of higher level interfaces to the\nGTK widget system, with the intent of making GUI construction more\naccessible to scientific programmers (the feel should not be too alien\nto anyone who has developed GUIs in IDL). The routines make use of the\noptional arguments in Fortran>=90 to simplify creating and initializing widgets.\n\n## Modules list:\n\n* gtk_hl: A wrapper that includes all of the other modules.\n\n* gtk_hl_assistant: A bundled interface for the assistant widget.\n\n* gtk_hl_button: Implements interfaces to various kinds of button.\n\n* gtk_hl_chooser: Implements file choosers that do not need variadic\n       arguments.\n\n* gtk_hl_combobox: Implements interfaces to text comboboxes.\n\n* gtk_hl_container: Implements interfaces to: Window, box, table\n       (implemented as grid in GTK 3.x), notebook and scrolled window.\n\n* gtk_hl_dialog: Implements a message dialog widget that does not require\n       variadic calls.\n\n* gtk_hl_entry: Implements interfaces to entry and textview widgets.\n\n* gtk_hl_infobar: An interface to the infobar widget. Removes much of the\n       complexity of putting a message into the widget.\n\n* gtk_hl_misc: Miscellaneous interfaces, mostly used by other modules.\n\n* gtk_hl_progress: Implements progress bars, including \"m of n\" settings\n       and automated text addition.\n\n* gtk_hl_spin_slider: Implements spin boxes and sliders (including\n       convenient integer interfaces).\n\n* gtk_hl_tree: Implements interfaces to the list & tree widgets.\n\n\nIn addition two graphics modules are available, but are not automatically\nincluded with the gtk_hl module:\n\n* gtk_draw_hl: Implements interfaces to drawing areas and their\n       relationship to Cairo. (N.B. The reversed naming convention is a\n       historical accident). Drawing areas created with this module\n       have the necessary features to be used as drawing surfaces by\n       plplot.\n\n* gdk_pixbuf_hl: Implements convenient interfaces to GDK pixbufs and\n       formats.\n\nSeveral demos are provided in the examples/ directory: they have the\nprefix hl_.\n"
  },
  {
    "path": "README.md",
    "content": "# gtk-fortran\n\n**This branch is for GTK 4**\n\nThe gtk-fortran project aims to offer scientists programming in Fortran a cross-platform library to build Graphical User Interfaces (GUI). Gtk-fortran is a partial GTK / Fortran binding 100% written in Fortran, thanks to the C / Fortran interoperability features introduced in the Fortran 2003 standard.\n\nTo install gtk-fortran, you can follow the quick instructions in the `INSTALL` file or the more [detailed instructions](https://github.com/vmagnin/gtk-fortran/wiki/Installation) on the wiki documentation.\n\nFull documentation (wiki tab):\n[https://github.com/vmagnin/gtk-fortran/wiki](https://github.com/vmagnin/gtk-fortran/wiki)\n\nPlease post bugs on GitHub:\n[https://github.com/vmagnin/gtk-fortran/issues](https://github.com/vmagnin/gtk-fortran/issues)\n\n\n# Files in this directory\n\n* `README.md`: the present file.\n* `CHANGELOG.md`: list of the releases with main changes.\n* `CITATION.cff`: file used by the GitHub interface (button \"Cite this repository\").\n* `CMakeLists.txt`: main CMake instructions to build the project.\n* `codemeta.json`: metadata about the project.\n* `fpm.toml`: Fortran Package Manager manifest.\n* `INSTALL`: quick installation instructions (see the Wiki for more details).\n* `LICENSE`: text of the GNU GPL v3 license.\n* `LICENSE_EXCEPTION`: text of the GCC Runtime Library Exception version 3.1.\n* `README-high-level`: about the High Level part of the gtk-fortran library.\n* `VERSIONS`: a CSV file with the gtk-fortran, GTK, GLib and distribution versions.\n\n\n# Citing gtk-fortran\n\nPlease acknowledge the use of gtk-fortran by citing the following publication:\n\nVincent MAGNIN, James TAPPIN, Jens HUNGER, Jerry DE LISLE, \"gtk-fortran: a GTK+ binding to build Graphical User Interfaces in Fortran\", _Journal of Open Source Software,_ 4(34), 1109, 12th January 2019, [https://doi.org/10.21105/joss.01109](https://doi.org/10.21105/joss.01109)\n"
  },
  {
    "path": "VERSIONS",
    "content": "gtk-fortran;4.9.0\r\nGTK;4.20.2\r\nGLib;2.86.1\r\nFedora;43\r\n"
  },
  {
    "path": "cmake/DefaultFlags.cmake",
    "content": "# Copyright (C) 2011\n# Free Software Foundation, Inc.\n#\n# This file is part of the gtk-fortran GTK Fortran Interface library.\n#\n# This is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 3, or (at your option)\n# any later version.\n#\n# This software is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# Under Section 7 of GPL version 3, you are granted additional\n# permissions described in the GCC Runtime Library Exception, version\n# 3.1, as published by the Free Software Foundation.\n#\n# You should have received a copy of the GNU General Public License along with\n# this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n# If not, see <http://www.gnu.org/licenses/>.\n#===============================================================================\n# Contributed by @awvwgk (2022)\n# Last modifications: vmagnin 2025-05-28\n#===============================================================================\n\n# Linker flags:\nif(UNIX)\n  # GNU ld -rdynamic option:\n  # Pass the flag -export-dynamic to the ELF linker, on targets that support it.\n  # This instructs the linker to add all symbols, not only used ones, to the dynamic symbol table.\n  # It is especially needed for programs using the GtkBuilder API.\n  # Fails with LFortran at the moment.\n  if (NOT (CMAKE_Fortran_COMPILER_ID STREQUAL \"LFortran\"))\n    set(CMAKE_EXE_LINKER_FLAGS_INIT \"-rdynamic\")\n  endif()\nendif()\n\n# Compilers flags:\nif(CMAKE_Fortran_COMPILER_ID STREQUAL \"GNU\")\n  # gfortran compiler:\n  set(\n    CMAKE_Fortran_FLAGS_RELEASE_INIT\n    \"-O3\"\n    \"-mtune=native\"\n    \"-march=native\"\n  )\n  set(\n    CMAKE_Fortran_FLAGS_DEBUG_INIT\n    \"-g\"\n    \"-Wall\"\n    \"-Wextra\"\n    \"-fcheck=all\"\n    \"-fbacktrace\"\n    \"-Wno-unused-dummy-argument\"\n  )\nelseif((CMAKE_Fortran_COMPILER_ID STREQUAL \"Intel\") OR (CMAKE_Fortran_COMPILER_ID STREQUAL \"IntelLLVM\"))\n  # ifort and ifx compilers (OneAPI):\n  if(WIN32)\n    set(\n      CMAKE_Fortran_FLAGS_RELEASE_INIT\n      \"/O2\"\n    )\n    set(\n      CMAKE_Fortran_FLAGS_DEBUG_INIT\n      \"/debug:full\"\n      \"/Od\"\n      \"/warn:all\"\n      \"/warn:nounused\"\n    )\n  else()\n    set(\n      CMAKE_Fortran_FLAGS_RELEASE_INIT\n      \"-O3\"\n    )\n    set(\n      CMAKE_Fortran_FLAGS_DEBUG_INIT\n      \"-g\"\n      \"-O0\"\n      \"-warn all\"\n      \"-warn nounused\"\n    )\n  endif()\nelseif(CMAKE_Fortran_COMPILER_ID STREQUAL \"LLVMFlang\")\n  # -fPIC is necessary to avoid a linking error\n  set(\n    CMAKE_Fortran_FLAGS_RELEASE_INIT\n    \"-O3\"\n    \"-fPIC\"\n  )\n  set(\n    CMAKE_Fortran_FLAGS_DEBUG_INIT\n    \"-g\"\n    \"-fPIC\"\n    \"-Wall\"\n    \"-pedantic\"\n  )\nelse()\n  # Standard flags for all the other compilers:\n  set(\n    CMAKE_Fortran_FLAGS_RELEASE_INIT\n    \"-O3\"\n  )\n  set(\n    CMAKE_Fortran_FLAGS_DEBUG_INIT\n    \"-g\"\n  )\nendif()\n\nstring(REPLACE \";\" \" \" CMAKE_Fortran_FLAGS_RELEASE_INIT \"${CMAKE_Fortran_FLAGS_RELEASE_INIT}\")\nstring(REPLACE \";\" \" \" CMAKE_Fortran_FLAGS_DEBUG_INIT \"${CMAKE_Fortran_FLAGS_DEBUG_INIT}\")\nstring(REPLACE \";\" \" \" CMAKE_EXE_LINKER_FLAGS_INIT \"${CMAKE_EXE_LINKER_FLAGS_INIT}\")\n"
  },
  {
    "path": "cmake/README.md",
    "content": "# CMake additional modules\n\nThis directory contains the modules to be loaded by `include()` or `find_package()` before checking the default CMake modules:\n\n- `cmake_uninstall.cmake.in`: generic code from https://gitlab.kitware.com/cmake/community/-/wikis/FAQ#can-i-do-make-uninstall-with-cmake\n- `DefaultFlags.cmake`: defines default Release and Debug flags for compilers.\n"
  },
  {
    "path": "cmake/cmake_uninstall.cmake.in",
    "content": "# Source:\n# https://gitlab.kitware.com/cmake/community/-/wikis/FAQ#can-i-do-make-uninstall-with-cmake\n\nif(NOT EXISTS \"@CMAKE_BINARY_DIR@/install_manifest.txt\")\n    message(FATAL_ERROR \"Cannot find install manifest: @CMAKE_BINARY_DIR@/install_manifest.txt\")\nendif()\n\nfile(READ \"@CMAKE_BINARY_DIR@/install_manifest.txt\" files)\n# Building a list from the lines of the .txt file:\nstring(REGEX REPLACE \"\\n\" \";\" files \"${files}\")\n\nforeach(file ${files})\n    message(STATUS \"Uninstalling $ENV{DESTDIR}${file}\")\n\n    if(IS_SYMLINK \"$ENV{DESTDIR}${file}\" OR EXISTS \"$ENV{DESTDIR}${file}\")\n        exec_program(\n            \"@CMAKE_COMMAND@\" ARGS \"-E remove \\\"$ENV{DESTDIR}${file}\\\"\"\n            OUTPUT_VARIABLE rm_out\n            RETURN_VALUE rm_retval\n            )\n\n        if(NOT \"${rm_retval}\" STREQUAL 0)\n            message(FATAL_ERROR \"Problem when removing $ENV{DESTDIR}${file}\")\n        endif()\n    else()\n        message(STATUS \"File $ENV{DESTDIR}${file} does not exist.\")\n    endif()\nendforeach(file)\n"
  },
  {
    "path": "codemeta.json",
    "content": "{\n  \"@context\": \"https://raw.githubusercontent.com/codemeta/codemeta/master/codemeta.jsonld\",\n  \"@type\": \"Code\",\n  \"applicationCategory\": \"Graphical User Interface\",\n  \"author\": [\n    {\n      \"@id\": \"\",\n      \"@type\": \"Person\",\n      \"email\": \"\",\n      \"name\": \"Vincent Magnin\",\n      \"affiliation\": \"Univ. Lille, CNRS, Centrale Lille, ISEN, Univ. Valenciennes, UMR 8520 - IEMN, F-59000 Lille,France\"\n    },\n    {\n      \"@id\": \"\",\n      \"@type\": \"Person\",\n      \"email\": \"\",\n      \"name\": \"James Tappin\",\n      \"affiliation\": \"\"\n    },\n    {\n      \"@id\": \"\",\n      \"@type\": \"Person\",\n      \"email\": \"\",\n      \"name\": \"Jens Hunger\",\n      \"affiliation\": \"\"\n    },\n    {\n      \"@id\": \"\",\n      \"@type\": \"Person\",\n      \"email\": \"\",\n      \"name\": \"Jerry De Lisle\",\n      \"affiliation\": \"\"\n    }\n  ],\n  \"codeRepository\": \"https://github.com/vmagnin/gtk-fortran\",\n  \"buildInstructions\": \"https://github.com/vmagnin/gtk-fortran/wiki\",\n  \"issueTracker\": \"https://github.com/vmagnin/gtk-fortran/issues\",\n  \"copyrightYear\": \"2011\",\n  \"dateCreated\": \"2011-01-10\",\n  \"dateModified\": \"2025-11-20\",\n  \"developmentStatus\": \"Active\",\n  \"description\": \"The gtk-fortran project aims to offer scientists programming in Fortran a cross-platform library to build Graphical User Interfaces (GUI). Gtk-fortran is a partial GTK / Fortran binding 100% written in Fortran, thanks to the ISO_C_BINDING module for interoperability between C and Fortran, which is a part of the Fortran 2003 standard.\",\n  \"isAccessibleForFree\": true,\n  \"keywords\": \"GTK, Fortran, Graphical User Interface\",\n  \"license\": \"GPL-3.0-or-later WITH GCC-exception-3.1\",\n  \"name\": \"gtk-fortran\",\n  \"version\": \"4.9.0\",\n  \"operatingSystem\": \"Linux, MacOS, MSYS2/Windows, BSD...\",\n  \"programmingLanguage\": \"Fortran\",\n  \"softwareRequirements\": \"GTK, CMake\",\n  \"softwareSuggestions\": \"PLplot\",\n  \"referencePublication\": \"Vincent MAGNIN, James TAPPIN, Jens HUNGER, Jerry DE LISLE, 'gtk-fortran: a GTK+ binding to build Graphical User Interfaces in Fortran', Journal of Open Source Software, 4(34), 1109, 12th January 2019, [https://doi.org/10.21105/joss.01109](https://doi.org/10.21105/joss.01109)\",\n  \"datePublished\": \"2019-04-24\"\n}\n"
  },
  {
    "path": "examples/CMakeLists.txt",
    "content": "# This file is part of gtk-fortran, a GTK / Fortran interface library.\n# Copyright (C) 2011 The gtk-fortran team\n#\n# This is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 3, or (at your option)\n# any later version.\n#\n# This software is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# Under Section 7 of GPL version 3, you are granted additional\n# permissions described in the GCC Runtime Library Exception, version\n# 3.1, as published by the Free Software Foundation.\n#\n# You should have received a copy of the GNU General Public License along with\n# this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n# If not, see <http://www.gnu.org/licenses/>.\n#=============================================================================\n# Contributed by Kyle Horne: 05.11.2011\n# Tests redesigned, James Tappin 05/17/2011\n# Last modifications: Jens Hunger: 03/06/2013, Vincent Magnin: 2025-06-17\n#\n# CMAKE build file for gtk-fortran\n\ninclude_directories(\"${CMAKE_CURRENT_BINARY_DIR}/../src/modules\")\n\nif (NOT NO_BUILD_EXAMPLES)\n  #==========================\n  # Build the main examples:\n  #==========================\n  set(examples_list gtkzero_gapp gtkhello list_demo gio_demo tests tests_gtk_sup\n    notebooks julia_pixbuf  mandelbrot_pixbuf mandelbrot_pixbuf_zoom\n    menubar cairo-tests cairo-basics cairo-basics-click bazaar\n    pixbuf_without_gui regex\n  )\n\n  if(NOT NO_BUILD_HL)\n    set(examples_list ${examples_list}\n        hl_assistant hl_choosers hl_combo hl_containers hl_dialog hl_list1\n        hl_list_n hl_list_renderers hl_pbar\n        hl_sliders hl_sliders2 hl_textview hl_tree hl_cairo1 hl_cairo_clock\n        hl_cairo_viewer hl_infobar\n    )\n  endif(NOT NO_BUILD_HL)\n\n  foreach(example ${examples_list})\n    add_executable(${example} \"${example}.f90\")\n    target_link_libraries(${example} gtk-fortran_static ${GTK_LIBRARIES})\n    set_target_properties(${example} PROPERTIES Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${example}_mod/ )\n    add_test(${example} ./${example})\n  endforeach(example)\n\n  # Copy this media file that will be played by the bazaar.f90 example:\n  configure_file(demo_sound.ogg demo_sound.ogg COPYONLY)\n\n  #====================================\n  # Build the gtkbuilder example:\n  #====================================\n  # With this command, CMake will detect the updates of gtkbuilder.ui:\n  configure_file(gtkbuilder.ui gtkbuilder.ui COPYONLY)\n\n  add_executable(gtkbuilder2 \"gtkbuilder2.f90\")\n  target_link_libraries(gtkbuilder2 gtk-fortran_static ${GTK_LIBRARIES})\n  set_target_properties(gtkbuilder2 PROPERTIES Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/gtkbuilder2_mod/ )\n  # This test is excluded because the directories don't match up.\n  # add_test(gtkbuilder2 gtkbuilder2)\nendif(NOT NO_BUILD_EXAMPLES)\n\n# If the INSTALL_EXAMPLES variable is set, then copy the examples\n# to ${CMAKE_INSTALL_DATAROOTDIR/gtk-fortran/examples<gtkversion>\n# useful (e.g.) for building binary packages.\nif (INSTALL_EXAMPLES)\n  install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/\n    DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/gtk-fortran/examples${GTKv}\n    PATTERN \"CMakeLists.txt\" EXCLUDE\n    REGEX \"\\.backup$\" EXCLUDE\n    REGEX \"~$\" EXCLUDE\n    REGEX \"/Testing\" EXCLUDE\n  )\nendif(INSTALL_EXAMPLES)\n"
  },
  {
    "path": "examples/README.md",
    "content": "# Gtk-fortran Example Programs\n\nThis directory contains example programs for the GTK 4 version of gtk-fortran. They are automatically built by CMake but any example may also be individually built on a system with `gtk-4-fortran` installed with the command:\n\n```bash\n$ gfortran <name>.f90 -o <name> $(pkg-config --cflags --libs gtk-4-fortran)\n```\n\nAmong those examples:\n\n- `gtkzero_gapp.f90` just opens an empty GTK window. Based on GtkApplication and GApplication.\n- `gtkhello.f90` opens a window with two buttons.\n- The `*pixbuf*.f90` examples demonstrate pixel drawing (bitmap drawing). The `pixbuf_without_gui.f9`0 example draws a Sierpinski triangle in a PNG file, without using a GUI.\n- The `cairo*.f90` examples demonstrates vectorial drawing using Cairo. And `cairo-basics.f90` also saves the drawing in a SVG file and a PDF file.\n- `bazaar.f90` is used for testing various widgets and functions.\n    - `demo_sound.ogg` will be played when you click on Button1.\n- `gio_demo.f90`: this is a very basic demo to get started with GIO. It uses\nFortran I/O to read text from the keyboard & writes it to the file `gio_demo.dat` in the current directory.\n- `gtkbuilder2.f90` demonstrates how you can use an UI XML file to create your graphical user interface.\n- `list_demo.f90` demonstrates how to use GtkTreeView for displaying trees and lists.\n- `menubar.f90` demonstrates a menubar based on GMenu and GAction. It also uses CSS styles.\n- `notebooks.f90` demonstrates how to use GtkNotebook, a tabbed notebook container.\n- `regex.f90` (no GUI) demonstrates how to use GLib regular expressions functions.\n- `hl_*` examples use the \"high-level\" interface.\n    - `hl_pbar.f90`: a progress bar.\n    - ...\n- `tests.f90` (no GUI) is testing things about ISO_C_BINDING and the relations between Fortran types and GLib types.\n- `tests_gtk_sup.f90` (no GUI) is testing functions and structures defined in the `gtk_sup` module.\n"
  },
  {
    "path": "examples/bazaar.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2011 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!------------------------------------------------------------------------------\n! This program is used to test various GTK widgets and functions\n! Contributors: Vincent Magnin, James Tappin\n! GTK 4 version: vmagnin 2020-05-28, 2025-05-05\n!------------------------------------------------------------------------------\n\nmodule various_functions\n  use, intrinsic :: iso_c_binding\n  use gtk_sup, only: c_f_string_copy_alloc\n  implicit none\n\n  contains\n\n  subroutine some_glib_functions()\n    use g, only: g_get_user_name, g_get_application_name, g_get_host_name, &\n               & g_get_home_dir, g_get_current_dir, g_format_size, &\n               & g_get_os_info\n\n    ! Automatic reallocation is used for that string:\n    character(:), allocatable :: my_string\n    type(c_ptr) :: ret\n\n    call c_f_string_copy_alloc(g_get_user_name(), my_string)\n    print *, \"Hello \", my_string\n\n    call c_f_string_copy_alloc(g_get_host_name(), my_string)\n    print *, \"Host name: \", my_string\n\n    call c_f_string_copy_alloc(g_get_application_name(), my_string)\n    print *, \"Application name: \", my_string\n\n    call c_f_string_copy_alloc(g_get_home_dir(), my_string)\n    print *, \"Home dir: \", my_string\n\n    call c_f_string_copy_alloc(g_get_current_dir(), my_string)\n    print *, \"Current dir: \", my_string\n    if (my_string(1:1) == \"/\") then\n        print *, \"UNIX OS\"\n    else\n        print *, \"Not UNIX OS\"\n    endif\n\n    ! That function may return NULL with some OS:\n    ret = g_get_os_info(\"PRETTY_NAME\"//c_null_char)\n    if (c_associated(ret)) then\n      call c_f_string_copy_alloc(ret, my_string)\n    else\n      my_string = \"?\"\n    end if\n    print *, \"Your OS: \", my_string\n\n    call c_f_string_copy_alloc(g_format_size (123456789_c_int64_t), my_string)\n    print *, \"g_format_size: \", my_string\n  end subroutine some_glib_functions\nend module various_functions\n\n\nmodule my_widgets\n  use, intrinsic :: iso_c_binding\n\n  implicit none\n  type(c_ptr) :: window\n  type(c_ptr) :: box1, table\n  type(c_ptr) :: button1, button2, button3, button4, label1\n  type(c_ptr) :: entry1\n  type(c_ptr) :: progress\n  type(c_ptr) :: view, buffer, scrolled_window\n  type(c_ptr) :: my_drawing_area, my_pixbuf\n  type(c_ptr) :: dialog\n  type(c_ptr) :: media\nend module\n\n\nmodule handlers\n  use gtk, only: gtk_about_dialog_new, gtk_about_dialog_set_authors, &\n  & gtk_about_dialog_set_comments, &\n  & gtk_about_dialog_set_license_type, GTK_LICENSE_GPL_3_0, &\n  & gtk_about_dialog_set_program_name, gtk_application_window_new, &\n  & gtk_about_dialog_set_website, gtk_window_set_transient_for, &\n  & gtk_button_new, gtk_button_new_with_label, &\n  & gtk_window_set_child, gtk_scrolled_window_set_child, &\n  & gtk_drawing_area_new, gtk_drawing_area_set_draw_func, &\n  & gtk_entry_get_buffer, gtk_entry_buffer_get_text, gtk_entry_new, &\n  & gtk_label_new, &\n  & gtk_progress_bar_new, gtk_progress_bar_pulse, &\n  & gtk_progress_bar_set_fraction, gtk_progress_bar_set_text, &\n  & gtk_scrolled_window_new,&\n  & gtk_grid_attach, gtk_grid_new, gtk_text_buffer_set_text,&\n  & gtk_text_view_get_buffer, gtk_text_view_new, gtk_window_destroy, &\n  & gtk_widget_show, gtk_window_set_title, &\n  & g_signal_connect, g_signal_connect_swapped, &\n  & FALSE, TRUE, GDK_COLORSPACE_RGB, GDK_COLORSPACE_RGB,&\n  & gtk_grid_set_row_homogeneous, &\n  & gtk_grid_set_column_homogeneous, &\n  & gtk_widget_set_margin_start, gtk_widget_set_margin_end, &\n  & gtk_widget_set_margin_top, gtk_widget_set_margin_bottom, &\n  & gtk_get_major_version, gtk_get_minor_version, gtk_get_micro_version, &\n  & gtk_widget_set_name, gtk_css_provider_new, gtk_widget_get_display, &\n  & gtk_css_provider_load_from_data, gtk_style_context_add_provider_for_display\n\n  use g, only: g_object_unref\n\n  use cairo, only: cairo_create, cairo_curve_to, cairo_destroy, cairo_line_to, &\n  & cairo_move_to, cairo_paint, cairo_set_line_width, cairo_set_source, &\n  & cairo_set_source_rgb, cairo_stroke\n\n  use gdk, only: gdk_cairo_set_source_pixbuf\n\n  use gdk_pixbuf, only: gdk_pixbuf_get_has_alpha, gdk_pixbuf_get_n_channels, &\n  & gdk_pixbuf_get_pixels, gdk_pixbuf_get_rowstride, gdk_pixbuf_new\n\n  use my_widgets\n\n  implicit none\n\ncontains\n  !*************************************\n  ! User defined event handlers go here\n  !*************************************\n\n  ! Callback function for the signal \"activate\" emitted by g_application_run().\n  ! We use a subroutine because it should return void.\n  ! The GUI is defined here.\n  subroutine activate(app, gdata) bind(c)\n    use various_functions, only: some_glib_functions\n\n    type(c_ptr), value, intent(in)  :: app, gdata\n    type(c_ptr) :: css_provider, gdk_display\n\n    ! Create the window:\n    window = gtk_application_window_new(app)\n    ! Don't forget that C strings must end with a null char:\n    call gtk_window_set_title(window, \"A great bazaar to test widgets...\"//&\n                                     & c_null_char)\n\n    print '(A4,I0,A1,I0,A1,I0)', \"GTK \", gtk_get_major_version(),\".\", &\n         & gtk_get_minor_version(), \".\", gtk_get_micro_version()\n    call some_glib_functions()\n\n    !******************************************************************\n    ! Adding widgets in the window:\n    !******************************************************************\n    table = gtk_grid_new ()\n    call gtk_grid_set_column_homogeneous(table, TRUE)\n    call gtk_grid_set_row_homogeneous(table, TRUE)\n    ! Set the border width around the container:\n    call gtk_widget_set_margin_start (table, 10_c_int)\n    call gtk_widget_set_margin_end (table, 10_c_int)\n    call gtk_widget_set_margin_top (table, 10_c_int)\n    call gtk_widget_set_margin_bottom (table, 10_c_int)\n    call gtk_window_set_child(window, table)\n\n    button1 = gtk_button_new_with_label (\"Button1\"//c_null_char)\n    call gtk_grid_attach(table, button1, 0_c_int, 0_c_int, 1_c_int, 1_c_int)\n    call g_signal_connect (button1, \"clicked\"//c_null_char, c_funloc(firstbutton))\n\n    button2 = gtk_button_new_with_label (\"Button2\"//c_null_char)\n    call gtk_grid_attach(table, button2, 1_c_int, 0_c_int, 1_c_int, 1_c_int)\n    call g_signal_connect (button2, \"clicked\"//c_null_char, c_funloc(secondbutton))\n\n    button3 = gtk_button_new_with_label (\"Exit\"//c_null_char)\n    call gtk_grid_attach(table, button3, 2_c_int, 0_c_int, 1_c_int, 1_c_int)\n    call g_signal_connect (button3, \"clicked\"//c_null_char, c_funloc(destroy))\n\n    button4 = gtk_button_new_with_label (\"About\"//c_null_char)\n    call gtk_grid_attach(table, button4, 3_c_int, 0_c_int, 1_c_int, 1_c_int)\n    call g_signal_connect (button4, \"clicked\"//c_null_char, c_funloc(aboutbutton))\n\n    label1 = gtk_label_new(\"My label\"//c_null_char)\n    call gtk_grid_attach(table, label1, 0_c_int, 1_c_int, 1_c_int, 1_c_int)\n\n    entry1 = gtk_entry_new()\n    call gtk_grid_attach(table, entry1, 1_c_int, 1_c_int, 1_c_int, 1_c_int)\n\n    progress = gtk_progress_bar_new()\n    call gtk_progress_bar_set_fraction (progress, 0.15d0)\n    call gtk_progress_bar_set_text (progress, \"My progress bar\"//c_null_char)\n    call gtk_grid_attach(table, progress, 1_c_int, 2_c_int, 3_c_int, 1_c_int)\n\n    ! https://docs.gtk.org/gtk4/ctor.TextView.new.html\n    view = gtk_text_view_new()\n    buffer = gtk_text_view_get_buffer(view)\n    call gtk_text_buffer_set_text(buffer, &\n        & \"This is just a great bazaar where I can test widgets.\"//c_new_line//&\n        & \"Click on Button1 to hear a little melody\"//c_new_line//&\n        & \"composed with the ForSynth Fortran project:\"//c_new_line//&\n        & \"https://github.com/vmagnin/forsynth\"//c_new_line//c_new_line//&\n        & \"You can edit this text. And it is scrollable.\"//c_null_char, -1_c_int)\n\n    ! Let's change the background color and the font of the TextView:\n    call gtk_widget_set_name (view, \"my_TextView\"//c_null_char)\n    css_provider = gtk_css_provider_new()\n    gdk_display = gtk_widget_get_display(window)\n    call gtk_css_provider_load_from_data(css_provider, &\n        & \"textview#my_TextView {background-color: Ivory;font-family: monospace;font-size:14px;}\", -1_c_size_t)\n    call gtk_style_context_add_provider_for_display(gdk_display, css_provider, 800_c_int)\n\n    scrolled_window = gtk_scrolled_window_new()\n    call gtk_scrolled_window_set_child(scrolled_window, view)\n    call gtk_grid_attach(table, scrolled_window, 0_c_int, 3_c_int, 3_c_int, 3_c_int)\n\n    my_drawing_area = gtk_drawing_area_new()\n    ! https://docs.gtk.org/gtk4/method.DrawingArea.set_draw_func.html\n    call gtk_drawing_area_set_draw_func(my_drawing_area, &\n                     & c_funloc(my_draw_function), c_null_ptr, c_null_funptr)\n    call gtk_grid_attach(table, my_drawing_area, 0_c_int, 6_c_int, 3_c_int, 6_c_int)\n\n    call gtk_widget_show(window)\n  end subroutine activate\n\n  ! \"It is called whenever GTK needs to draw the contents of the drawing area\n  ! to the screen.\"\n  subroutine my_draw_function(widget, my_cairo_context, width, height, gdata) bind(c)\n    use, intrinsic :: iso_fortran_env, only: wp=>real64\n\n    type(c_ptr), value, intent(in)    :: widget, my_cairo_context, gdata\n    integer(c_int), value, intent(in) :: width, height\n    type(c_ptr) :: my_pixbuf\n    character(kind=c_char), dimension(:), pointer :: pixel\n    integer(c_int) :: i, nch, rowstride\n    integer :: j\n    integer :: x, y\n\n    print *, \"my_draw_function()\"\n\n    ! A black horizontal line:\n    call cairo_set_source_rgb(my_cairo_context, 0d0, 0d0, 0d0)\n    call cairo_set_line_width(my_cairo_context, 1d0)\n    call cairo_move_to(my_cairo_context, 100d0, 20d0)\n    call cairo_line_to(my_cairo_context, 300d0, 20d0)\n    call cairo_stroke(my_cairo_context)\n    ! A red diagonal line:\n    call cairo_set_source_rgb(my_cairo_context, 1d0, 0d0, 0d0)\n    call cairo_set_line_width(my_cairo_context, 0.5d0)\n    call cairo_move_to(my_cairo_context, 50d0, 0d0)\n    call cairo_line_to(my_cairo_context, 150d0, 100d0)\n    call cairo_stroke(my_cairo_context)\n\n    !*************\n    ! Pixbuffers :\n    !*************\n    my_pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8_c_int, width, height)\n    nch = gdk_pixbuf_get_n_channels(my_pixbuf)\n    rowstride = gdk_pixbuf_get_rowstride(my_pixbuf)\n    print *, rowstride, nch, gdk_pixbuf_get_has_alpha(my_pixbuf)\n    call c_f_pointer(gdk_pixbuf_get_pixels(my_pixbuf), pixel, [width*height*nch])\n\n    ! pixel is an array with 4 bytes per pixel (RGBA)\n    ! We use chars because we need unsigned integers\n    do i=1, width*height*nch, nch\n      pixel(i)   = char(0)    ! Red\n      pixel(i+1) = char(0)    ! Green\n      pixel(i+2) = char(255)  ! Blue\n      pixel(i+3) = char(100)  ! Opacity (Alpha channel)\n    end do\n\n    ! (0,0) is the top left corner\n    ! 0<=x<width, 0<=y<height\n\n    ! Green sinus:\n    do j=0, width-1\n      x = j\n      y = height/2 + int(50 * sin(j/10.0_wp))\n      i = x * nch + y * rowstride + 1\n      pixel(i)   = char(0)    ! Red\n      pixel(i+1) = char(255)  ! Green\n      pixel(i+2) = char(0)    ! Blue\n      pixel(i+3) = char(255)  ! Opacity (Alpha channel)\n    end do\n\n    ! We redraw the pixbuf:\n    call gdk_cairo_set_source_pixbuf(my_cairo_context, my_pixbuf, 20d0, 0d0)\n\n    ! Another Cairo element (will also appear below the pixbuf):\n    ! A red cubic Bézier spline:\n    ! https://cairographics.org/manual/cairo-Paths.html#cairo-curve-to\n    call cairo_set_line_width(my_cairo_context, 3d0)\n    call cairo_move_to(my_cairo_context, 360d0, 20d0)\n    call cairo_curve_to(my_cairo_context, 60d0, 50d0, 135d0, 45d0, 400d0, 150d0)\n    call cairo_stroke(my_cairo_context)\n\n    call cairo_paint(my_cairo_context)\n  end subroutine my_draw_function\n\n  ! GtkObject signal:\n  subroutine destroy (widget, gdata) bind(c)\n    use gtk_sup, only: c_f_string_copy_alloc\n\n    type(c_ptr), value, intent(in) :: widget, gdata\n    type(c_ptr) :: buffer\n    character(:), allocatable :: my_string\n\n    print *, \"my destroy\"\n\n    buffer = gtk_entry_get_buffer(entry1)\n    call c_f_string_copy_alloc(gtk_entry_buffer_get_text(buffer), my_string)\n    print *, \"Entry box: \", my_string\n\n    ! This is the end of the program:\n    call gtk_window_destroy(window)\n  end subroutine destroy\n\n  ! Callback function for the signal \"notify::ended\" emitted by the media stream.\n  ! We use a subroutine because it should return void.\n  subroutine sound_ended(object, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: object, gdata\n    ! Free the media pointer both on C and Fortran sides:\n    call g_object_unref(object)\n    media = c_null_ptr\n  end subroutine\n\n  ! GtkButton signal:\n  subroutine firstbutton (widget, gdata) bind(c)\n    use gtk, only: gtk_media_file_new_for_filename, gtk_media_stream_set_volume, gtk_media_stream_play, &\n                 & gtk_media_stream_get_playing\n    type(c_ptr), value, intent(in) :: widget, gdata\n\n    print *, \"Is there anybody in there? Just nod if you can hear me\"\n\n    if (.not.c_associated(media)) then\n      ! It plays a little melody\n      ! https://docs.gtk.org/gtk4/class.MediaFile.html\n      media = gtk_media_file_new_for_filename(\"demo_sound.ogg\"//c_null_char)\n      call gtk_media_stream_set_volume(media, 1.0_c_double)\n      call gtk_media_stream_play(media)\n      call g_signal_connect(media, \"notify::ended\"//c_null_char, c_funloc(sound_ended), c_null_ptr)\n\n      if (gtk_media_stream_get_playing(media) == FALSE) print *, \"ERROR: have you installed the libgtk-4-media-gstreamer backend?\"\n    else\n      print *, \"Be patient, the music is not yet ended!\"\n    end if\n  end subroutine firstbutton\n\n  ! GtkButton signal:\n  subroutine secondbutton (widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n\n    call gtk_progress_bar_pulse (progress)\n  end subroutine secondbutton\n\n  ! GtkButton signal:\n  subroutine aboutbutton (widget, gdata) bind(c)\n    use gtk_sup, only: convert_f_string\n\n    type(c_ptr), value, intent(in) :: widget, gdata\n    ! Authors of bazaar.f90 (list returned by git blame bazaar.f90):\n    character(len=14, kind=c_char), dimension(2), parameter :: authors = &\n                                          & [\"Vincent MAGNIN\", \"James TAPPIN  \"]\n    character(kind=c_char), dimension(:), allocatable :: string\n    character(kind=c_char), pointer, dimension(:) :: credit\n    type(c_ptr), dimension(:), allocatable :: c_ptr_array\n    integer :: i\n\n    dialog = gtk_about_dialog_new()\n    ! https://docs.gtk.org/gtk4/method.Window.set_transient_for.html\n    call gtk_window_set_transient_for(dialog, window)\n    call gtk_about_dialog_set_program_name(dialog, \"The gtk-fortran bazaar\"//c_null_char)\n    call gtk_about_dialog_set_license_type(dialog, GTK_LICENSE_GPL_3_0)\n    call gtk_about_dialog_set_comments(dialog, \"The gtk-fortran project &\n    & aims to offer scientists programming in Fortran a cross-platform library &\n    &to build Graphical User Interfaces (GUI).\"//c_new_line//\" Gtk-fortran&\n    & is a partial GTK / Fortran binding 100% written in Fortran, thanks&\n    & to the ISO_C_BINDING module for interoperability between C and Fortran,&\n    & which is a part of the Fortran 2003 standard.\"//c_new_line//\" GTK &\n    &is a free software cross-platform graphical library available for &\n    &Linux, UNIX, Windows and MacOs.\"//c_null_char)\n    call gtk_about_dialog_set_website(dialog, &\n                  & \"https://github.com/vmagnin/gtk-fortran/wiki\"//c_null_char)\n\n    ! To add authors we need a pointer toward a null terminated array of strings.\n    ! This code comes from src/gtk-hl-dialog.f90:\n    allocate(c_ptr_array(size(authors)+1))\n\n    do i = 1, size(authors)\n      call convert_f_string(authors(i), string)\n      allocate(credit(size(string)))\n      ! A Fortran pointer toward the Fortran string:\n      credit(:) = string(:)\n      ! Store the C address in the array:\n      c_ptr_array(i) = c_loc(credit(1))\n      nullify(credit)\n    end do\n    ! The array must be null terminated:\n    c_ptr_array(size(authors)+1) = c_null_ptr\n    ! https://docs.gtk.org/gtk4/method.AboutDialog.set_authors.html\n    call gtk_about_dialog_set_authors(dialog, c_ptr_array)\n    deallocate(c_ptr_array)\n\n    call gtk_widget_show(dialog)\n  end subroutine aboutbutton\nend module handlers\n\n!*******************************************************************************\n! In the main program, we declare the GTK application, connect it to its\n! \"activate\" function which will create the GUI,\n! and finally call the GLib main loop.\n!*******************************************************************************\nprogram bazaar\n  use, intrinsic :: iso_c_binding\n  use gtk, only: gtk_application_new, G_APPLICATION_FLAGS_NONE, g_signal_connect\n  use g, only: g_application_run, g_object_unref\n  use handlers, only: activate\n\n  implicit none\n  integer(c_int) :: status\n  type(c_ptr)    :: app\n\n  app = gtk_application_new(\"gtk-fortran.examples.bazaar\"//c_null_char, &\n                          & G_APPLICATION_FLAGS_NONE)\n  call g_signal_connect(app, \"activate\"//c_null_char, c_funloc(activate), &\n                      & c_null_ptr)\n  status = g_application_run(app, 0_c_int, [c_null_ptr])\n  call g_object_unref(app)\nend program bazaar\n"
  },
  {
    "path": "examples/cairo-basics-click.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2011 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!\n! GTK 4 version contributed by Vincent Magnin\n! Last modification: vmagnin 2020-05-28, 2022-04-05\n\nmodule handlers\n  use, intrinsic :: iso_fortran_env, only: wp=>real64\n  use, intrinsic :: iso_c_binding, only: c_int, c_ptr, c_null_ptr, c_null_funptr, &\n                         & c_funloc, c_null_char, c_double, c_bool\n\n  use gtk, only: gtk_application_window_new, gtk_drawing_area_new, &\n  & gtk_drawing_area_set_content_width, gtk_drawing_area_set_content_height, &\n  & gtk_drawing_area_set_draw_func, gtk_window_set_child, gtk_widget_show, &\n  & gtk_window_set_default_size, gtk_window_set_title, FALSE, &\n  & gtk_gesture_click_new, gtk_widget_add_controller, &\n  & gtk_event_controller_get_widget, g_signal_connect, &\n  & gtk_widget_get_width, gtk_widget_get_height, &\n  & gtk_gesture_single_get_current_button, gtk_gesture_single_set_button, &\n  & gtk_event_controller_scroll_new, GTK_EVENT_CONTROLLER_SCROLL_VERTICAL, &\n  & gtk_widget_queue_draw\n\n  use cairo, only: cairo_arc, cairo_line_to, cairo_move_to, &\n  & cairo_set_line_width, cairo_set_source_rgb, cairo_stroke, &\n  & cairo_get_target, cairo_surface_write_to_png\n\n  implicit none\n  ! Circle radius:\n  real(wp) :: radius = 100.0_wp\n\ncontains\n  ! The GUI is defined here:\n  subroutine activate(app, gdata) bind(c)\n    type(c_ptr), value, intent(in)  :: app, gdata\n    type(c_ptr)     :: window\n    type(c_ptr)     :: my_drawing_area, controller, controller2\n    integer(c_int)  :: width, height\n\n    window = gtk_application_window_new(app)\n    width  = 700\n    height = 700\n    call gtk_window_set_default_size(window, width, height)\n    call gtk_window_set_title(window, \"Click or scroll and I will tell you...\"//c_null_char)\n\n    my_drawing_area = gtk_drawing_area_new()\n    call gtk_drawing_area_set_content_width(my_drawing_area, width)\n    call gtk_drawing_area_set_content_height(my_drawing_area, height)\n    call gtk_drawing_area_set_draw_func(my_drawing_area, &\n                   & c_funloc(my_draw_function), c_null_ptr, c_null_funptr)\n\n    ! We need a gesture controller to detect mouse clicks:\n    ! https://developer.gnome.org/gtk4/stable/GtkGestureClick.html\n    ! https://developer.gnome.org/gtk4/stable/GtkWidget.html#gtk-widget-add-controller\n    controller = gtk_gesture_click_new()\n    ! 0 to listen to all buttons (button 1 by default):\n    call gtk_gesture_single_set_button (controller, 0_c_int)\n    call g_signal_connect(controller, \"pressed\"//c_null_char, &\n                                        & c_funloc(click_cb))\n    call gtk_widget_add_controller(my_drawing_area, controller)\n\n    ! And a controller for scrolling (modifies the circle radius):\n    ! https://developer.gnome.org/gtk4/stable/GtkEventControllerScroll.html\n    controller2 = gtk_event_controller_scroll_new (GTK_EVENT_CONTROLLER_SCROLL_VERTICAL)\n    call g_signal_connect(controller2, \"scroll\"//c_null_char, &\n                                        & c_funloc(scroll_cb))\n    call gtk_widget_add_controller(my_drawing_area, controller2)\n\n    call gtk_window_set_child(window, my_drawing_area)\n    call gtk_widget_show(window)\n  end subroutine activate\n\n  ! Click callback function (\"pressed\" signal):\n  subroutine click_cb(gesture, n_press, x, y, gdata) bind(c)\n    type(c_ptr), value, intent(in)    :: gesture, gdata\n    integer(c_int), value, intent(in) :: n_press\n    real(c_double), value, intent(in) :: x, y\n    type(c_ptr) :: widget\n    integer(c_int) :: width, height\n    real(wp) :: d\n\n    print *, \"Button \", gtk_gesture_single_get_current_button(gesture)\n\n    widget = gtk_event_controller_get_widget(gesture)\n    print *, n_press, \" click(s) at \", int(x), int(y)\n\n    width  = gtk_widget_get_width(widget)\n    height = gtk_widget_get_height(widget)\n    d = sqrt((x - width/2.0_wp)**2 + (y - height/2.0_wp)**2)\n    print *, \"Distance from the centre of the circle: \", d\n  end subroutine click_cb\n\n  ! Scroll callback function (\"scroll\" signal):\n  subroutine scroll_cb(controller, x, y, gdata) bind(c)\n    type(c_ptr), value, intent(in)    :: controller, gdata\n    real(c_double), value, intent(in) :: x, y\n    type(c_ptr) :: widget\n\n    radius = radius + y\n    print *, \"Scroll and new circle radius: \", x, y, radius\n    ! We need to redraw the area:\n    widget = gtk_event_controller_get_widget(controller)\n    call gtk_widget_queue_draw(widget)\n  end subroutine scroll_cb\n\n  ! \"It is called whenever GTK needs to draw the contents of the drawing area\n  ! to the screen.\"\n  ! https://developer.gnome.org/gtk4/stable/GtkDrawingArea.html#gtk-drawing-area-set-draw-func\n  subroutine my_draw_function(widget, my_cairo_context, width, height, gdata) bind(c)\n    type(c_ptr), value, intent(in)    :: widget, my_cairo_context, gdata\n    integer(c_int), value, intent(in) :: width, height\n    integer(c_int)                    :: cstatus\n    integer                           :: t\n    real(wp), parameter               :: pi = acos(-1.0_wp)\n\n    print *, \"draw\"\n\n    ! https://cairographics.org/manual/\n    ! Note that Cairo numerical parameters are generally doubles.\n\n    ! Horizontal and vertical thin blue lines:\n    call cairo_set_source_rgb(my_cairo_context, 0d0, 0d0, 1d0)\n    call cairo_set_line_width(my_cairo_context, 1d0)\n\n    do t = 0, height, +100\n      ! https://cairographics.org/manual/cairo-Paths.html#cairo-move-to\n      call cairo_move_to(my_cairo_context, 0d0,       t*1d0)\n      call cairo_line_to(my_cairo_context, width*1d0, t*1d0)\n      call cairo_stroke(my_cairo_context)\n    end do\n\n    do t = 0, width, +100\n      call cairo_move_to(my_cairo_context, t*1d0, 0d0)\n      call cairo_line_to(my_cairo_context, t*1d0, height*1d0)\n      call cairo_stroke(my_cairo_context)\n    end do\n\n    ! A thick red circle at the centre:\n    call cairo_set_source_rgb(my_cairo_context, 1d0, 0d0, 0d0)\n    call cairo_set_line_width(my_cairo_context, 5d0)\n    call cairo_arc(my_cairo_context, width/2d0, height/2d0, radius, 0d0, 2*pi)\n    call cairo_stroke(my_cairo_context)\n\n    ! Save the image as a PNG\n    ! https://cairographics.org/manual/cairo-PNG-Support.html#cairo-surface-write-to-png\n    cstatus = cairo_surface_write_to_png(cairo_get_target(my_cairo_context), &\n                                       & \"cairo-basics-click.png\"//c_null_char)\n  end subroutine my_draw_function\nend module handlers\n\n! We create a GtkApplication:\nprogram cairo_basics_click\n  use, intrinsic :: iso_c_binding, only: c_int, c_ptr, c_funloc, c_null_char, c_null_ptr\n  use gtk, only: gtk_application_new, g_signal_connect, G_APPLICATION_FLAGS_NONE\n  use g, only: g_application_run, g_object_unref\n  use handlers, only: activate\n\n  implicit none\n  integer(c_int) :: exit_status\n  type(c_ptr)    :: app\n\n  app = gtk_application_new(\"gtk-fortran.examples.cairo-basics-click\"//c_null_char, &\n                            & G_APPLICATION_FLAGS_NONE)\n  call g_signal_connect(app, \"activate\"//c_null_char, c_funloc(activate), &\n                      & c_null_ptr)\n  exit_status = g_application_run(app, 0_c_int, [c_null_ptr])\n  call g_object_unref(app)\nend program cairo_basics_click\n\n"
  },
  {
    "path": "examples/cairo-basics.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2011 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!\n! Contributed by Jerry DeLisle and Vincent Magnin\n! Last modification: vmagnin 2023-04-23\n\nmodule handlers\n  use, intrinsic :: iso_c_binding\n\n  use gtk, only: gtk_application_window_new, gtk_drawing_area_new, &\n  & gtk_drawing_area_set_content_width, gtk_drawing_area_set_content_height, &\n  & gtk_drawing_area_set_draw_func, gtk_window_set_child, gtk_widget_show, &\n  & gtk_window_set_default_size, gtk_window_set_title, CAIRO_SVG_VERSION_1_2, &\n  & FALSE, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL\n\n  use cairo, only: cairo_arc, cairo_create, cairo_curve_to, cairo_destroy, &\n  & cairo_get_target, cairo_line_to, cairo_move_to, cairo_new_sub_path, &\n  & cairo_select_font_face, cairo_set_font_size, cairo_set_line_width, &\n  & cairo_set_source, cairo_set_source_rgb, cairo_show_text, cairo_stroke, &\n  & cairo_surface_write_to_png, cairo_svg_surface_create, &\n  & cairo_svg_surface_restrict_to_version, cairo_surface_destroy, &\n  & cairo_pdf_surface_create\n\n  implicit none\n\ncontains\n  ! The GUI is defined here:\n  subroutine activate(app, gdata) bind(c)\n    type(c_ptr), value, intent(in)  :: app, gdata\n    type(c_ptr)     :: window\n    type(c_ptr)     :: my_drawing_area\n    integer(c_int)  :: width, height\n\n    window = gtk_application_window_new(app)\n    width  = 700\n    height = 700\n    call gtk_window_set_default_size(window, width, height)\n    call gtk_window_set_title(window, \"Cairo basics demo\"//c_null_char)\n\n    my_drawing_area = gtk_drawing_area_new()\n    call gtk_drawing_area_set_content_width(my_drawing_area, width)\n    call gtk_drawing_area_set_content_height(my_drawing_area, height)\n    call gtk_drawing_area_set_draw_func(my_drawing_area, &\n                   & c_funloc(my_draw_function), c_null_ptr, c_null_funptr)\n\n    call gtk_window_set_child(window, my_drawing_area)\n    call gtk_widget_show(window)\n  end subroutine activate\n\n  ! \"It is called whenever GTK needs to draw the contents of the drawing area\n  ! to the screen.\"\n  ! https://docs.gtk.org/gtk4/class.DrawingArea.html\n  subroutine my_draw_function(widget, my_cairo_context, width, height, gdata) bind(c)\n    use, intrinsic :: iso_c_binding, only: dp=>c_double\n    type(c_ptr), value, intent(in)    :: widget, my_cairo_context, gdata\n    integer(c_int), value, intent(in) :: width, height\n    integer :: cstatus\n    integer :: rendering\n    type(c_ptr) :: surface_svg, surface_pdf, cr_svg, cr_pdf\n\n    ! We will draw three times, once for screen, once in a SVG file, once in a PDF:\n    do rendering = 1, 3\n      if (rendering == 1) then\n        ! Rendering on screen:\n        call draw(my_cairo_context, width, height)\n        ! Save the image as a PNG:\n        cstatus = cairo_surface_write_to_png(cairo_get_target(my_cairo_context), &\n                                          & \"cairo-basics.png\"//c_null_char)\n        call cairo_destroy(my_cairo_context)\n        print *, \"Saved in cairo-basics.png\"\n      else if (rendering == 2) then\n        ! Rendering in a SVG file:\n        surface_svg = cairo_svg_surface_create(\"cairo-basics.svg\"//c_null_char, &\n                                  & real(width, KIND=dp), real(height, KIND=dp))\n        cr_svg = cairo_create(surface_svg)\n        call cairo_svg_surface_restrict_to_version(surface_svg, CAIRO_SVG_VERSION_1_2)\n        call draw(cr_svg, width, height)\n        call cairo_destroy(cr_svg)\n        call cairo_surface_destroy(surface_svg)\n        print *, \"Saved in cairo-basics.svg\"\n      else\n        ! Rendering in a PDF file:\n        surface_pdf = cairo_pdf_surface_create(\"cairo-basics.pdf\"//c_null_char, &\n                                  & real(width, KIND=dp), real(height, KIND=dp))\n        cr_pdf = cairo_create(surface_pdf)\n        call draw(cr_pdf, width, height)\n        call cairo_surface_destroy(surface_pdf)\n        print *, \"Saved in cairo-basics.pdf\"\n      end if\n    end do\n  end subroutine my_draw_function\n\n  ! It will be called two time, for screen and SVG file:\n  subroutine draw(cr, width, height)\n    use, intrinsic :: iso_c_binding, only: dp=>c_double\n\n    type(c_ptr), value, intent(in)    :: cr\n    integer(c_int), value, intent(in) :: width, height\n    integer                           :: t\n    real(dp), parameter               :: pi = acos(-1.0_dp)\n\n    ! Bezier curve:\n    call cairo_set_source_rgb(cr, 0.9_dp, 0.8_dp, 0.8_dp)\n    call cairo_set_line_width(cr, 4._dp)\n    call cairo_move_to(cr, 0._dp, 0._dp)\n    call cairo_curve_to(cr, 600._dp, 50._dp, 115._dp, 545._dp, &\n                      & width*1._dp, height*1._dp)\n    call cairo_stroke(cr)\n\n    ! Lines:\n    call cairo_set_source_rgb(cr, 0._dp, 0.5_dp, 0.5_dp)\n    call cairo_set_line_width(cr, 2._dp)\n    do t = 0, height, +20\n      call cairo_move_to(cr, 0._dp, t*1._dp)\n      call cairo_line_to(cr, t*1._dp, height*1._dp)\n      call cairo_stroke(cr)\n    end do\n\n    ! Text:\n    call cairo_set_source_rgb(cr, 0._dp, 0._dp, 1._dp)\n    call cairo_select_font_face(cr, \"Times\"//c_null_char, &\n                            & CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL)\n    call cairo_set_font_size (cr, 40._dp)\n    call cairo_move_to(cr, 100._dp, 30._dp)\n    call cairo_show_text (cr, \"gtk-fortran\"//c_null_char)\n    call cairo_move_to(cr, 100._dp, 75._dp)\n    call cairo_show_text (cr, &\n                        & \"Cairo & Fortran are good friends\"//c_null_char)\n\n    ! Circles:\n    call cairo_new_sub_path(cr)\n    do t = 1, 50\n        call cairo_set_source_rgb(cr, t/50._dp, 0._dp, 0._dp)\n        call cairo_set_line_width(cr, 5._dp*t/50._dp)\n        call cairo_arc(cr, 353._dp + 200._dp*cos(t*2._dp*pi/50), &\n                     & 350._dp + 200._dp*sin(t*2._dp*pi/50), 50._dp, 0._dp, 2*pi)\n        call cairo_stroke(cr)\n    end do\n  end subroutine draw\n\nend module handlers\n\n! We create a GtkApplication:\nprogram cairo_basics\n  use, intrinsic :: iso_c_binding\n  use gtk, only: gtk_application_new, g_signal_connect, G_APPLICATION_FLAGS_NONE\n  use g, only: g_application_run, g_object_unref\n  use handlers, only: activate\n\n  implicit none\n  integer(c_int) :: exit_status\n  type(c_ptr)    :: app\n\n  app = gtk_application_new(\"gtk-fortran.examples.cairo-basics\"//c_null_char, &\n                            & G_APPLICATION_FLAGS_NONE)\n  call g_signal_connect(app, \"activate\"//c_null_char, c_funloc(activate), &\n                      & c_null_ptr)\n  exit_status = g_application_run(app, 0_c_int, [c_null_ptr])\n  call g_object_unref(app)\nend program cairo_basics\n\n"
  },
  {
    "path": "examples/cairo-tests.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2011 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!------------------------------------------------------------------------------\n! Contributed by Jerry DeLisle and Vincent Magnin\n! GTK 4 version: vmagnin 2020-05-19\n! Last modifications: vmagnin 2023-04-25\n!------------------------------------------------------------------------------\n\nmodule handlers\n  use gtk, only: gtk_application_window_new, gtk_window_set_child, &\n  & gtk_drawing_area_set_content_width, gtk_drawing_area_set_content_height, &\n  & gtk_drawing_area_set_draw_func, gtk_drawing_area_new, &\n  & gtk_widget_queue_draw, gtk_widget_show, gtk_window_set_default_size, &\n  & gtk_window_set_title, gtk_window_set_resizable, &\n  & TRUE, FALSE, GDK_COLORSPACE_RGB, g_signal_connect, &\n  & CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL\n\n  use cairo, only: cairo_arc, cairo_create, cairo_curve_to, cairo_destroy, &\n  & cairo_get_target, cairo_line_to, cairo_move_to, cairo_new_sub_path, &\n  & cairo_paint, cairo_select_font_face, cairo_set_font_size, &\n  & cairo_set_line_width, cairo_set_source, cairo_set_source_rgb, &\n  & cairo_show_text, cairo_stroke, cairo_surface_write_to_png\n\n  use gdk, only: gdk_cairo_set_source_pixbuf\n\n  use gdk_pixbuf, only: gdk_pixbuf_get_n_channels, gdk_pixbuf_get_pixels, &\n  & gdk_pixbuf_get_rowstride, gdk_pixbuf_new\n\n  use g, only: g_main_context_iteration, g_main_context_pending\n\n  use, intrinsic :: iso_fortran_env, only: wp=>real64, dp=>real64, int8\n  use, intrinsic :: iso_c_binding\n\n  implicit none\n  type(c_ptr)    :: my_gmainloop\n  integer(c_int) :: run_status = TRUE\n  integer(c_int) :: boolresult\n  type(c_ptr)    :: my_pixbuf\n  character(kind=c_char), dimension(:), pointer :: pixel\n  integer(c_int) :: nch, rowstride, width, height, pwidth, pheight\n  logical :: write_png\n  ! Mathematical window:\n  real(wp), parameter :: xmin = -2.0_wp\n  real(wp), parameter :: xmax = +1.0_wp\n  real(wp), parameter :: ymin = -1.5_wp\n  real(wp), parameter :: ymax = +1.5_wp\n\ncontains\n  ! This function is needed to update the GUI during long computations.\n  ! https://docs.gtk.org/glib/main-loop.html\n  subroutine pending_events ()\n    do while(IAND(g_main_context_pending(c_null_ptr), run_status) /= FALSE)\n      ! FALSE for non-blocking:\n      boolresult = g_main_context_iteration(c_null_ptr, FALSE)\n    end do\n  end subroutine pending_events\n\n  ! \"It is called whenever GTK needs to draw the contents of the drawing area\n  ! to the screen.\"\n  ! https://docs.gtk.org/gtk4/method.DrawingArea.set_draw_func.html\n  subroutine my_draw_function(widget, my_cairo_context, width, height, gdata) bind(c)\n    type(c_ptr), value, intent(in)    :: widget, my_cairo_context, gdata\n    integer(c_int), value, intent(in) :: width, height\n    integer :: cstatus, i\n    real(dp), parameter :: pi = acos(-1._dp)\n    real(dp) :: Ox, Oy, X_circle\n    real(dp) :: X_cardio, teta, ro\n\n    print *, \"Entering my_draw_function()\"\n\n    ! Pixel coordinates of the mathematical origin:\n    Ox = width  * (0._dp - xmin) / (xmax - xmin)\n    Oy = height * (ymax - 0._dp) / (ymax - ymin)\n\n    ! We draw the Mandelbrot set pixbuf in the Cairo context, starting from\n    ! the top left corner:\n    call gdk_cairo_set_source_pixbuf(my_cairo_context, my_pixbuf, 0._dp, 0._dp)\n    call cairo_paint(my_cairo_context)\n\n    ! Text:\n    call cairo_select_font_face(my_cairo_context, \"Arial\"//c_null_char, &\n                            & CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL)\n\n    ! Draw cartesian axes, in white:\n    call cairo_set_source_rgb(my_cairo_context, 1._dp, 1._dp, 1._dp)\n    call cairo_set_line_width(my_cairo_context, 2._dp)\n    ! Horizontal axis:\n    call cairo_move_to(my_cairo_context, 0._dp,                Oy)\n    call cairo_line_to(my_cairo_context, real(width, KIND=dp), Oy)\n    ! Vertical axis:\n    call cairo_move_to(my_cairo_context, Ox, 0._dp)\n    call cairo_line_to(my_cairo_context, Ox, real(height, KIND=dp))\n    call cairo_stroke(my_cairo_context)\n    ! Texts on the axes:\n    call cairo_set_font_size (my_cairo_context, 20._dp)\n    call cairo_move_to(my_cairo_context, width - 20._wp, Oy - 10._dp)\n    call cairo_show_text (my_cairo_context, \"x\"//c_null_char)\n    call cairo_move_to(my_cairo_context, Ox - 20._wp, +20._dp)\n    call cairo_show_text (my_cairo_context, \"y\"//c_null_char)\n    call cairo_move_to(my_cairo_context, Ox - 20._wp, Oy + 20._dp)\n    call cairo_show_text (my_cairo_context, \"O\"//c_null_char)\n    call cairo_set_font_size (my_cairo_context, 32._dp)\n    call cairo_move_to(my_cairo_context, width / 10._dp, height / 10._dp)\n    call cairo_show_text (my_cairo_context, \"Mandelbrot set\"//c_null_char)\n\n    ! Circle of radius 1/4 centered around −1, in yellow:\n    call cairo_set_source_rgb(my_cairo_context, 1._dp, 1._dp, 0._dp)\n    call cairo_set_line_width(my_cairo_context, 3._dp)\n    call cairo_new_sub_path(my_cairo_context)\n    X_circle = width  * (-1._dp - xmin) / (xmax - xmin)\n    call cairo_arc(my_cairo_context, X_circle, Oy, width / (xmax-xmin) / 4._dp, 0._dp, 2._dp*pi)\n    call cairo_stroke(my_cairo_context)\n    call cairo_set_font_size (my_cairo_context, 20._dp)\n    call cairo_move_to(my_cairo_context, X_circle, Oy - 10._dp)\n    call cairo_show_text (my_cairo_context, \"circle\"//c_null_char)\n\n    ! Main cardioid centered on A(1/4, 0) with polar equation ro(teta) = 1/2*(1 − cos teta)\n    X_cardio = width  * (1._dp/4._dp - xmin) / (xmax - xmin)\n    call cairo_move_to(my_cairo_context, X_cardio, Oy)\n    do i = 1, 100\n      teta = (i * 2._dp * pi) / 100._dp\n      ro = (1._dp - cos(teta)) / 2._dp\n      ro = ro * width / (xmax - xmin)\n      call cairo_line_to(my_cairo_context, X_cardio + ro*cos(teta), Oy + ro*sin(teta))\n    end do\n    call cairo_stroke(my_cairo_context)\n    call cairo_move_to(my_cairo_context, Ox + 5._dp, Oy - 10._dp)\n    call cairo_show_text (my_cairo_context, \"cardioid\"//c_null_char)\n\n    ! The image is written to PNG only one time:\n    if (write_png) then\n      cstatus = cairo_surface_write_to_png(cairo_get_target(my_cairo_context),&\n                                         & \"cairo-tests.png\"//c_null_char)\n      print *, \"Writing cairo-tests.png: \", cstatus\n      write_png = .false.\n    end if\n  end subroutine my_draw_function\n\n  ! The GUI is defined here:\n  subroutine activate(app, gdata) bind(c)\n    type(c_ptr), value, intent(in)  :: app, gdata\n    type(c_ptr)     :: my_window\n    type(c_ptr)     :: my_drawing_area\n    integer(c_int)  :: width, height\n    integer         :: bytes\n\n    ! Properties of the main window:\n    my_window = gtk_application_window_new(app)\n    width  = 748\n    height = 748\n    call gtk_window_set_default_size(my_window, width, height)\n    call gtk_window_set_resizable(my_window, FALSE)\n    call gtk_window_set_title(my_window, \"Cairo tests: mixing vector graphics with a pixbuf (gtk-fortran)\"//c_null_char)\n\n    my_drawing_area = gtk_drawing_area_new()\n    call gtk_drawing_area_set_content_width(my_drawing_area, width)\n    call gtk_drawing_area_set_content_height(my_drawing_area, height)\n    call gtk_drawing_area_set_draw_func(my_drawing_area, &\n                        & c_funloc(my_draw_function), c_null_ptr, c_null_funptr)\n\n    ! Dimensions of the Mandelbrot set picture:\n    pwidth  = width\n    pheight = height\n    ! \"Creates a new GdkPixbuf structure and allocates a buffer for it\":\n    ! RGB, no alpha channel (FALSE), 8 bits per color sample, width, height\n    my_pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, FALSE, 8_c_int, pwidth, pheight)\n    ! Queries the number of channels of a pixbuf:\n    nch = gdk_pixbuf_get_n_channels(my_pixbuf)\n    print *, \"Number of channels of the pixbuf: \", nch\n    ! \"Queries the rowstride of a pixbuf, which is the number of bytes between\n    ! the start of a row and the start of the next row\":\n    rowstride = gdk_pixbuf_get_rowstride(my_pixbuf)\n    print *, \"Rowstride of the pixbuf: \", rowstride\n    bytes = pwidth * pheight * nch\n    print *, \"Size (bytes) of the pixbuf: \", bytes\n\n    call c_f_pointer(gdk_pixbuf_get_pixels(my_pixbuf), pixel, [bytes])\n    ! Drawing the whole set:\n    call Mandelbrot_set(my_drawing_area, 1000_4)\n    write_png = .true.\n\n    call gtk_window_set_child(my_window, my_drawing_area)\n\n    call gtk_widget_show(my_window)\n  end subroutine activate\n\n  !*********************************************\n  ! A tribute to Benoit MANDELBROT (1924-2010)\n  ! http://en.wikipedia.org/wiki/Mandelbrot_set\n  !*********************************************\n  subroutine Mandelbrot_set(my_drawing_area, itermax)\n    type(c_ptr)   :: my_drawing_area\n    integer       :: i, j, k, p, itermax\n    real(wp)      :: x, y    ! coordinates in the complex plane\n    complex(wp)   :: c, z\n    real(wp)      :: scx, scy             ! scales\n    real(wp)      :: t0, t1\n    integer(int8) :: red, green, blue     ! rgb color\n    integer, parameter :: factor = 8\n\n    print *, \"Entering Mandelbrot_set() subroutine\"\n\n    call cpu_time(t0)\n    scx = (xmax - xmin) / pwidth   ! x scale\n    scy = (ymax - ymin) / pheight  ! y scale\n\n    do i = 0, pwidth-1\n      x = xmin + scx * i\n\n      do j = 0, pheight-1\n        y = ymin + scy * j\n\n        c = cmplx(x, y, kind=wp)    ! Starting point\n        z = (0.0_wp, 0.0_wp)        ! z0\n        k = 1\n        do while ((k <= itermax) .and. ((z%re**2 + z%im**2) < 4.0_wp))\n          z = z*z + c\n          k = k + 1\n        end do\n\n        if (k > itermax) then\n          ! Black pixel:\n          red   = 0\n          green = 0\n          blue  = 0\n        else\n          ! Fortran purple is #734f96 : (115, 79, 150)\n          red   = int(min(255, factor*k),  int8)\n          green = int(min(255, nint(factor*k*79./115.)),  int8)\n          blue  = int(min(255, nint(factor*k*150./115.)), int8)\n        end if\n\n        p = i * nch + j * rowstride + 1\n        pixel(p)   = char(red)\n        pixel(p+1) = char(green)\n        pixel(p+2) = char(blue)\n      end do\n      ! This subroutine processes GTK events as needed during the computation\n      ! (not really useful in that fast computation example)\n      if (mod(i, 50) == 0) then\n        call pending_events()\n        if (run_status == FALSE) return   ! Exit if we had a delete event\n      end if\n    end do\n\n    ! We only draw the image at the end of that fast computation:\n    call gtk_widget_queue_draw(my_drawing_area)\n\n    call cpu_time(t1)\n    print '(A, F6.2, A)', \"System time = \", t1-t0, \" s\"\n  end subroutine mandelbrot_set\n\nend module handlers\n\n!***********************************************************\n! We create a GtkApplication:\n!***********************************************************\nprogram cairo_tests\n  use, intrinsic :: iso_c_binding\n  use gtk, only: gtk_application_new, g_signal_connect, G_APPLICATION_FLAGS_NONE\n  use g, only: g_application_run, g_object_unref\n  use handlers, only: activate\n\n  implicit none\n  integer(c_int) :: exit_status\n  type(c_ptr)    :: app\n\n  app = gtk_application_new(\"gtk-fortran.examples.cairo-tests\"//c_null_char, &\n                          & G_APPLICATION_FLAGS_NONE)\n  call g_signal_connect(app, \"activate\"//c_null_char, c_funloc(activate), &\n                      & c_null_ptr)\n  exit_status = g_application_run(app, 0_c_int, [c_null_ptr])\n  call g_object_unref(app)\nend program cairo_tests\n"
  },
  {
    "path": "examples/gio_demo.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2013 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!\n! Last modification: vmagnin 2023-03-14\n\nprogram g_io_demo\n\n  ! This is a very basic demo to get started with GIO. It uses Fortran I/O to\n  ! read text from the keyboard & writes it to the file gio_demo.dat in the\n  ! current directory.\n\n  use, intrinsic :: iso_c_binding\n  use gtk_sup\n\n  !********************************\n  ! Gtk modules for gio_demo.f90\n  use g, only: g_file_new_for_path, g_file_replace, g_object_unref, &\n       & g_output_stream_close, g_output_stream_write\n\n  use gtk, only: FALSE, G_FILE_CREATE_NONE\n\n\n  character(len=80) :: str\n  integer(c_int8_t), dimension(80), target :: istr\n\n  type(c_ptr) :: file, stream\n  type(gerror), target :: errmsg\n  character(len=120) :: errtxt\n  integer(4) :: ios, i\n  integer(c_size_t) :: ncput, nchars\n  integer(c_int) :: iok\n\n  file = g_file_new_for_path('gio_demo.dat'//c_null_char)\n\n  ! Use g_file_replace here so that it won't crash if the file exists.\n  stream = g_file_replace(file, c_null_char, FALSE, G_FILE_CREATE_NONE, &\n       & c_null_ptr, c_loc(errmsg))\n\n  if (.not. c_associated(stream)) then\n     call c_f_string(errmsg%message, errtxt)\n     print *, errtxt\n     stop\n  end if\n\n  do\n     write(*, \"(a)\", advance='no') \"Text> \"\n     read(*, \"(a)\", iostat=ios) str\n     if (ios /= 0) exit\n\n     nchars = len_trim(str)\n     do i = 1, int(nchars, kind=4)\n        istr(i) = int(ichar(str(i:i)), kind=c_int8_t)\n     end do\n     istr(nchars+1) = ichar(c_new_line)\n\n     ncput = g_output_stream_write(stream, c_loc(istr), &\n          & nchars+1, c_null_ptr, c_loc(errmsg))\n     if (ncput < 0_c_size_t) then\n        call c_f_string(errmsg%message, errtxt)\n        print *, errtxt\n        stop\n     end if\n  end do\n\n  iok = g_output_stream_close(stream, c_null_ptr, c_loc(errmsg))\n  call g_object_unref(stream)\n  if (.not. c_f_logical(iok)) then\n     call c_f_string(errmsg%message, errtxt)\n     print *, errtxt\n     stop\n  end if\n\n  call g_object_unref(file)\n  print *\nend program g_io_demo\n"
  },
  {
    "path": "examples/gtkbuilder.cmb",
    "content": "<?xml version='1.0' encoding='UTF-8' standalone='no'?>\n<!DOCTYPE cambalache-project SYSTEM \"cambalache-project.dtd\">\n<cambalache-project version=\"0.10.2\" target_tk=\"gtk-4.0\">\n  <ui>\n\t(1,None,\"gtkbuilder.ui\",\"gtkbuilder.ui\",None,None,None,None,None,None)\n  </ui>\n  <object>\n\t(1,1,\"GtkWindow\",\"window\",None,None,None,None,None),\n\t(1,2,\"GtkBox\",\"box1\",1,None,None,None,-1),\n\t(1,3,\"GtkButton\",\"button1\",2,None,None,None,None),\n\t(1,4,\"GtkButton\",\"button3\",2,None,None,None,2),\n\t(1,5,\"GtkButton\",\"button2\",2,None,None,None,1),\n\t(1,6,\"GtkLabel\",\"label1\",2,None,None,None,3)\n  </object>\n  <object_property>\n\t(1,1,\"GtkWindow\",\"title\",\"My title\",None,None,None,None,None),\n\t(1,3,\"GtkButton\",\"label\",\"Button1\",None,None,None,None,None),\n\t(1,3,\"GtkWidget\",\"has-tooltip\",\"True\",None,None,None,None,None),\n\t(1,3,\"GtkWidget\",\"tooltip-text\",\"I will say hello...\",None,None,None,None,None),\n\t(1,4,\"GtkButton\",\"label\",\"Exit\",None,None,None,None,None),\n\t(1,4,\"GtkWidget\",\"has-tooltip\",\"True\",None,None,None,None,None),\n\t(1,4,\"GtkWidget\",\"tooltip-text\",\"Not clear?\",None,None,None,None,None),\n\t(1,5,\"GtkButton\",\"label\",\"Button2\",None,None,None,None,None),\n\t(1,5,\"GtkWidget\",\"has-tooltip\",\"True\",None,None,None,None,None),\n\t(1,5,\"GtkWidget\",\"tooltip-text\",\"I will print 'Button 2 clicked!'\",None,None,None,None,None),\n\t(1,6,\"GtkLabel\",\"justify\",\"center\",None,None,None,None,None),\n\t(1,6,\"GtkLabel\",\"label\",\"This user interface was built with the new RAD software Cambalache (see &lt;a href=\\\"https://blogs.gnome.org/xjuan/\\\"&gt;https://blogs.gnome.org/xjuan/&lt;/a&gt;)\",None,None,None,None,None),\n\t(1,6,\"GtkLabel\",\"lines\",\"5\",None,None,None,None,None),\n\t(1,6,\"GtkLabel\",\"max-width-chars\",\"30\",None,None,None,None,None),\n\t(1,6,\"GtkLabel\",\"selectable\",\"True\",None,None,None,None,None),\n\t(1,6,\"GtkLabel\",\"use-markup\",\"True\",None,None,None,None,None),\n\t(1,6,\"GtkLabel\",\"wrap\",\"True\",None,None,None,None,None),\n\t(1,6,\"GtkLabel\",\"yalign\",\"0.4\",None,None,None,None,None),\n\t(1,6,\"GtkWidget\",\"halign\",\"center\",None,None,None,None,None),\n\t(1,6,\"GtkWidget\",\"margin-end\",\"10\",None,None,None,None,None),\n\t(1,6,\"GtkWidget\",\"margin-start\",\"10\",None,None,None,None,None),\n\t(1,6,\"GtkWidget\",\"margin-top\",\"4\",None,None,None,None,None),\n\t(1,6,\"GtkWidget\",\"overflow\",\"hidden\",None,None,None,None,None)\n  </object_property>\n  <object_signal>\n\t(1,1,4,\"GtkButton\",\"clicked\",\"destroy\",None,None,None,None,None),\n\t(2,1,3,\"GtkButton\",\"clicked\",\"hello\",None,None,None,None,None),\n\t(3,1,5,\"GtkButton\",\"clicked\",\"button2clicked\",None,None,None,None,None),\n\t(4,1,1,\"GtkWindow\",\"close-request\",\"destroy\",None,None,None,None,None)\n  </object_signal>\n</cambalache-project>\n"
  },
  {
    "path": "examples/gtkbuilder.ui",
    "content": "<?xml version='1.0' encoding='UTF-8'?>\n<!-- Created with Cambalache 0.10.2 -->\n<interface>\n  <!-- interface-name gtkbuilder.ui -->\n  <requires lib=\"gtk\" version=\"4.6\"/>\n  <object class=\"GtkWindow\" id=\"window\">\n    <property name=\"title\">My title</property>\n    <signal name=\"close-request\" handler=\"destroy\"/>\n    <child>\n      <object class=\"GtkBox\" id=\"box1\">\n        <child>\n          <object class=\"GtkButton\" id=\"button1\">\n            <property name=\"has-tooltip\">True</property>\n            <property name=\"label\">Button1</property>\n            <property name=\"tooltip-text\">I will say hello...</property>\n            <signal name=\"clicked\" handler=\"hello\"/>\n          </object>\n        </child>\n        <child>\n          <object class=\"GtkButton\" id=\"button2\">\n            <property name=\"has-tooltip\">True</property>\n            <property name=\"label\">Button2</property>\n            <property name=\"tooltip-text\">I will print 'Button 2 clicked!'</property>\n            <signal name=\"clicked\" handler=\"button2clicked\"/>\n          </object>\n        </child>\n        <child>\n          <object class=\"GtkButton\" id=\"button3\">\n            <property name=\"has-tooltip\">True</property>\n            <property name=\"label\">Exit</property>\n            <property name=\"tooltip-text\">Not clear?</property>\n            <signal name=\"clicked\" handler=\"destroy\"/>\n          </object>\n        </child>\n        <child>\n          <object class=\"GtkLabel\" id=\"label1\">\n            <property name=\"halign\">center</property>\n            <property name=\"justify\">center</property>\n            <property name=\"label\">This user interface was built with the new RAD software Cambalache (see &lt;a href=\"https://blogs.gnome.org/xjuan/\"&gt;https://blogs.gnome.org/xjuan/&lt;/a&gt;)</property>\n            <property name=\"lines\">5</property>\n            <property name=\"margin-end\">10</property>\n            <property name=\"margin-start\">10</property>\n            <property name=\"margin-top\">4</property>\n            <property name=\"max-width-chars\">30</property>\n            <property name=\"overflow\">hidden</property>\n            <property name=\"selectable\">True</property>\n            <property name=\"use-markup\">True</property>\n            <property name=\"wrap\">True</property>\n            <property name=\"yalign\">0.4</property>\n          </object>\n        </child>\n      </object>\n    </child>\n  </object>\n</interface>\n"
  },
  {
    "path": "examples/gtkbuilder2.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2011 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!\n! Example using GtkBuilder\n! Jens Hunger, 04-01-2011\n! Last modified: vmagnin 2020-06-20 (GTK 4 version), 2024-05-08\n\nmodule widgets\n  use, intrinsic :: iso_c_binding\n\n  implicit none\n  ! Declares the used GTK widgets:\n  type(c_ptr) :: window, builder\n  ! A GTK/GLib main loop:\n  type(c_ptr) :: my_gmainloop\nend module\n\n\nmodule handlers\n  use, intrinsic :: iso_c_binding\n  use g, only: g_main_loop_quit\n  use widgets, only: my_gmainloop\n\n  implicit none\n\ncontains\n  !*************************************\n  ! User defined event handlers go here\n  !*************************************\n\n  ! \"destroy\" is a GtkObject signal\n  subroutine destroy(widget, gdata) bind(c)\n    !GCC$ ATTRIBUTES DLLEXPORT :: destroy\n    type(c_ptr), value, intent(in) :: widget, gdata\n\n    print *, \"My destroy!\"\n    call g_main_loop_quit(my_gmainloop)\n  end subroutine destroy\n\n  ! \"clicked\" is a GtkButton signal\n  subroutine hello(widget, gdata) bind(c)\n    !GCC$ ATTRIBUTES DLLEXPORT :: hello\n    type(c_ptr), value, intent(in) :: widget, gdata\n\n    print *, \"Hello World!\"\n  end subroutine hello\n\n  subroutine button2clicked(widget, gdata) bind(c)\n    !GCC$ ATTRIBUTES DLLEXPORT :: button2clicked\n    type(c_ptr), value, intent(in) :: widget, gdata\n\n    print *, \"Button 2 clicked!\"\n  end subroutine button2clicked\nend module handlers\n\n\nprogram gtkbuilder\n  use gtk, only: gtk_init, gtk_builder_new_from_file, gtk_builder_get_object, gtk_widget_show, FALSE\n  use g, only: g_object_unref, g_main_loop_new, g_main_loop_run\n  use widgets\n\n  implicit none\n\n  ! Initialize the GTK Library:\n  call gtk_init()\n\n  ! Create a new GtkBuilder object, parse the file 'gtkbuilder.ui'\n  ! (generated with Cambalache) and add its content:\n  builder = gtk_builder_new_from_file(\"gtkbuilder.ui\"//c_null_char)\n\n  ! Get a pointer to the GObject \"window\" from GtkBuilder:\n  window = gtk_builder_get_object(builder, \"window\"//c_null_char)\n\n  ! Free all memory used by XML stuff:\n  call g_object_unref(builder)\n\n  ! Show the Application Window:\n  call gtk_widget_show(window)\n\n  ! Create and enter the GTK/GLib main loop:\n  my_gmainloop = g_main_loop_new(c_null_ptr, FALSE)\n  call g_main_loop_run(my_gmainloop)\n\nend program gtkbuilder\n"
  },
  {
    "path": "examples/gtkhello.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2020 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!-------------------------------------------------------------------------------\n! Vincent MAGNIN, 2020-05-12, based on gtkzero_gapp.f90\n! Last modified: 2021-01-22\n! A GTK application with two buttons.\n! https://developer.gnome.org/gtk4/unstable/gtk-getting-started.html\n! https://developer.gnome.org/gio/stable/GApplication.html\n!-------------------------------------------------------------------------------\n\n!*************************************\n! User defined event handlers go here\n!*************************************\n! Note that events are a special type of signals, coming from\n! the X Window system. Callback functions must have an event argument.\nmodule handlers\n\n  use, intrinsic :: iso_c_binding, only: c_ptr, c_int, c_funloc, c_null_char\n  use gtk, only: FALSE, gtk_window_set_default_size,  &\n               & gtk_window_set_title, gtk_window_destroy, &\n               & g_signal_connect, g_signal_connect_swapped, &\n               & gtk_widget_show, gtk_application_window_new, &\n               & gtk_box_new, gtk_box_append, gtk_window_set_child, &\n               & GTK_ORIENTATION_VERTICAL, GTK_ORIENTATION_HORIZONTAL, &\n               & gtk_button_new_with_label, gtk_button_new_with_mnemonic, &\n               & gtk_widget_set_margin_start, gtk_widget_set_margin_end, &\n               & gtk_widget_set_margin_top, gtk_widget_set_margin_bottom\n  implicit none\n\ncontains\n  ! Callback function for the signal \"activate\" emitted by g_application_run().\n  ! We use a subroutine because it should return void.\n  ! The GUI is defined here.\n  subroutine activate(app, gdata) bind(c)\n    type(c_ptr), value, intent(in)  :: app, gdata\n    ! Pointers toward our GTK widgets:\n    type(c_ptr) :: window\n    type(c_ptr) :: box\n    type(c_ptr) :: button1, button2\n\n    ! Create the window:\n    window = gtk_application_window_new(app)\n    ! Not compulsory, but can be used if you want a larger window:\n    !call gtk_window_set_default_size(window, 300, 200)\n    ! Don't forget that C strings must end with a null char:\n    call gtk_window_set_title(window, \"Hello GLib & GTK world!\"//c_null_char)\n\n    !******************************************************************\n    ! Adding widgets in the window:\n    !******************************************************************\n    ! You need a box where to arrange your buttons, separated by 10 pixels:\n    box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 10_c_int)\n    ! Perhaps you prefer a vertical organization:\n    !box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 10_c_int)\n    ! Set the border width (10 pixels) around the box:\n    call gtk_widget_set_margin_start (box, 10_c_int)\n    call gtk_widget_set_margin_end (box, 10_c_int)\n    call gtk_widget_set_margin_top (box, 10_c_int)\n    call gtk_widget_set_margin_bottom (box, 10_c_int)\n    ! You need a container where to put the box, it will manage layout:\n    call gtk_window_set_child(window, box)\n\n    ! It's easy to create a button:\n    button1 = gtk_button_new_with_label(\"I say hello\"//c_null_char)\n    ! Let's pack the button in the box:\n    call gtk_box_append(box, button1)\n    ! You can associate one or several callback functions with the button,\n    ! \"clicked\" is a GtkButton signal emitted when you click on it:\n    call g_signal_connect(button1, \"clicked\"//c_null_char, &\n                        & c_funloc(button1clicked))\n    call g_signal_connect(button1, \"clicked\"//c_null_char, c_funloc(hello))\n\n    ! For that second button, there is an ALT+g keyboard shortcut:\n    button2 = gtk_button_new_with_mnemonic(\"I don't know why you say _goodbye\"&\n                                          &//c_null_char)\n    ! Let's pack the second button in the box (from left to right):\n    call gtk_box_append(box, button2)\n    ! Let's associate one callback function when that button is clicked.\n    ! Here the gtk_window_destroy() function will be applied\n    ! to window instead of button2:\n    call g_signal_connect_swapped(button2, \"clicked\"//c_null_char, &\n                                & c_funloc(gtk_window_destroy), window)\n    !******************************************************************\n\n    ! If you don't show it, nothing will appear on screen...\n    call gtk_widget_show(window)\n\n  end subroutine activate\n\n  ! The two callback functions for the button1, here subroutines\n  ! because the C prototype returns void:\n  ! void user_function (GtkButton *button, gpointer   user_data)\n  ! https://developer.gnome.org/gtk4/stable/GtkButton.html#GtkButton-clicked\n  subroutine hello(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in)  :: widget, gdata\n\n    print *, \"So I say Hello GTK World!\"\n  end subroutine hello\n\n  subroutine button1clicked(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in)  :: widget, gdata\n\n    print *, \"Button 1 clicked!\"\n  end subroutine button1clicked\n\nend module handlers\n\n!*******************************************************************************\n! In the main program, we declare the GTK application, connect it to its\n! \"activate\" function where we will create the GUI,\n! and finally call the GLib main loop.\n!*******************************************************************************\nprogram gtkhello\n\n  use, intrinsic :: iso_c_binding, only: c_ptr, c_funloc, c_null_char, c_null_ptr\n  ! We will use those GTK functions and values. The \"only\" statement can improve\n  ! significantly the compilation time:\n  use gtk, only: gtk_application_new, G_APPLICATION_FLAGS_NONE\n  use g, only: g_application_run, g_object_unref\n  use handlers\n\n  implicit none\n  integer(c_int)     :: status\n  type(c_ptr)        :: app\n\n  ! First, let's create a GTK application (it will initialize GTK).\n  ! The application ID must contain at least one point:\n  ! https://developer.gnome.org/gio/stable/GApplication.html#g-application-id-is-valid\n  app = gtk_application_new(\"gtk-fortran.examples.gtkhello\"//c_null_char, &\n                            & G_APPLICATION_FLAGS_NONE)\n  ! The activate signal will be sent by g_application_run().\n  ! The c_funloc() function returns the C address of the callback function.\n  ! The c_null_ptr means no data is transfered to the callback function.\n  call g_signal_connect(app, \"activate\"//c_null_char, c_funloc(activate), &\n                      & c_null_ptr)\n  ! Now, the whole application will be managed by GLib (=> main loop).\n  ! Note that commandline arguments argc, argv are not passed.\n  ! https://developer.gnome.org/gio/stable/GApplication.html#g-application-run\n  status = g_application_run(app, 0_c_int, [c_null_ptr])\n\n  print *, \"You have exited the GLib main loop, bye, bye...\"\n\n  ! Memory is freed:\n  call g_object_unref(app)\n\nend program gtkhello\n\n"
  },
  {
    "path": "examples/gtkzero_gapp.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2020 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!-------------------------------------------------------------------------------\n! Vincent MAGNIN, 2020-02-18\n! Last modified: 2020-05-07\n! This example just creates a GTK application with an empty window.\n! https://developer.gnome.org/gtk4/unstable/gtk-getting-started.html\n! https://developer.gnome.org/gio/stable/GApplication.html\n!-------------------------------------------------------------------------------\n\n!*************************************\n! User defined event handlers go here\n!*************************************\nmodule handlers\n\n  use, intrinsic :: iso_c_binding, only: c_ptr, c_null_char\n  use gtk, only: gtk_window_set_default_size, gtk_window_set_title, &\n               & gtk_widget_show, gtk_application_window_new\n  implicit none\n\ncontains\n  ! Callback function for the signal \"activate\" emitted by g_application_run().\n  ! We use a subroutine because it should return void.\n  ! The GUI is defined here.\n  subroutine activate(app, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: app, gdata\n    type(c_ptr)                    :: window\n\n    ! Create the window:\n    window = gtk_application_window_new(app)\n    ! Not compulsory, but can be used if you want a larger window:\n    call gtk_window_set_default_size(window, 300, 200)\n    ! Don't forget that C strings must end with a null char:\n    call gtk_window_set_title(window, \"Hello GLib & GTK world!\"//c_null_char)\n    ! If you don't show it, nothing will appear on screen...\n    call gtk_widget_show(window)\n  end subroutine activate\n\nend module handlers\n\n!*********************************************************************************************\n! In the main program, we declare the GTK application, connect it to its \"activate\" function\n! where we will create the GUI, and finally call the GLib main loop.\n!*********************************************************************************************\nprogram gtkzero\n\n  use, intrinsic :: iso_c_binding, only: c_ptr, c_int, c_null_char, c_null_ptr, c_funloc\n  ! We will use those GTK functions and values. The \"only\" statement can improve\n  ! significantly the compilation time:\n  use gtk, only: gtk_application_new, g_signal_connect, G_APPLICATION_FLAGS_NONE\n  use g, only: g_application_run, g_object_unref\n\n  use handlers\n\n  implicit none\n  integer(c_int)     :: status\n  type(c_ptr)        :: app\n\n  ! First, let's create a GTK application (it will initialize GTK).\n  ! The application ID must contain at least one point:\n  ! https://developer.gnome.org/gio/stable/GApplication.html#g-application-id-is-valid\n  app = gtk_application_new(\"gtk-fortran.examples.gtkzero\"//c_null_char, &\n                            & G_APPLICATION_FLAGS_NONE)\n  ! The activate signal will be sent by g_application_run().\n  ! The c_funloc() function returns the C address of the callback function.\n  ! The c_null_ptr means no data is transfered to the callback function.\n  call g_signal_connect(app, \"activate\"//c_null_char, c_funloc(activate), c_null_ptr)\n  ! Now, the whole application will be managed by GLib (=> main loop).\n  ! Note that commandline arguments argc, argv are not passed.\n  ! https://developer.gnome.org/gio/stable/GApplication.html#g-application-run\n  status = g_application_run(app, 0_c_int, [c_null_ptr])\n\n  print *, \"You have exited the GLib main loop, bye, bye...\"\n\n  ! Memory is freed:\n  call g_object_unref(app)\n\nend program gtkzero\n"
  },
  {
    "path": "examples/hl_assistant.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2012 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!------------------------------------------------------------------------------\n! Contributed by James Tappin.\n! Last modification: vmagnin 2020-06-09 (GTK 4), 2022-05-06\n!\n! Based on the C example given in\"\n! https://www.linuxquestions.org/linux/articles/Technical/New_GTK_Widgets_GtkAssistant\n!------------------------------------------------------------------------------\n\nmodule as_handlers\n!  use gtk_hl\n  use gtk_hl_container\n  use gtk_hl_button\n  use gtk_hl_progress\n  use gtk_hl_entry\n  use gtk_hl_assistant\n  use gtk_sup\n  use, intrinsic :: iso_c_binding\n\n  !********************************\n  ! Gtk modules for hl_assistant.f90\n  !********************************\n  use g, only: g_usleep, g_main_loop_new, g_main_loop_quit, &\n             & g_main_loop_run, g_main_context_iteration, &\n             & g_main_context_pending\n  use gtk, only: gtk_entry_get_buffer, gtk_entry_buffer_get_text, &\n       & gtk_label_new, &\n       & gtk_check_button_get_active, gtk_window_destroy, &\n       & gtk_widget_set_sensitive, gtk_widget_show, gtk_init, TRUE, FALSE, &\n       & GTK_ASSISTANT_PAGE_CONTENT, GTK_ASSISTANT_PAGE_INTRO, &\n       & GTK_ASSISTANT_PAGE_CONFIRM, GTK_ASSISTANT_PAGE_PROGRESS, &\n       & gtk_widget_set_halign, gtk_widget_set_valign, gtk_widget_set_hexpand,&\n       & gtk_widget_set_vexpand, GTK_ALIGN_CENTER, GTK_ALIGN_FILL\n\n  implicit none\n  type(c_ptr) :: my_gmainloop\n  type(c_ptr) :: asstnt\n\ncontains\n  subroutine destroy_asstnt(widget, gdata) bind(c)\n    type(c_ptr), value :: widget, gdata\n\n    print *, \"Exit called\"\n    call g_main_loop_quit(my_gmainloop)\n  end subroutine destroy_asstnt\n\n  subroutine asstnt_close(widget, gdata) bind(c)\n    type(c_ptr), value :: widget, gdata\n\n    print *, \"Completed\"\n    call gtk_window_destroy(widget)\n  end subroutine asstnt_close\n\n  subroutine name_enter(widget, data) bind(c)\n    type(c_ptr), value :: widget, data\n    type(c_ptr) :: buffer\n    type(c_ptr) :: page, ebox\n    character(:), allocatable :: ftext\n\n    if (c_associated(data)) then\n       ebox = data\n    else\n       ebox = widget\n    end if\n\n     buffer = gtk_entry_get_buffer(ebox)\n    call c_f_string_copy_alloc(gtk_entry_buffer_get_text(buffer), ftext)\n    print *, \"Entered name as: \", ftext\n\n    page = hl_gtk_assistant_get_current_page(asstnt)\n    call hl_gtk_assistant_set_page_complete(asstnt, &\n         & f_c_logical(len(ftext) > 0))\n  end subroutine name_enter\n\n  subroutine check_tog(widget, data) bind(c)\n    type(c_ptr), value :: widget, data\n\n    call hl_gtk_assistant_set_page_complete(asstnt, &\n         & gtk_check_button_get_active(widget))\n  end subroutine check_tog\n\n  subroutine start_pb(widget, data) bind(c)\n    type(c_ptr), value :: widget, data\n\n    integer(c_int) :: i, iev\n    type(c_ptr) :: page\n\n    call gtk_widget_set_sensitive(widget, FALSE)\n\n    page = hl_gtk_assistant_get_current_page(asstnt)\n    do i = 1, 10\n       do\n          if (.not. c_f_logical(g_main_context_pending(c_null_ptr))) exit\n          iev = g_main_context_iteration(c_null_ptr, FALSE)\n       end do\n\n       call g_usleep(500000_c_long)\n       call hl_gtk_progress_bar_set(data, i, 10_c_int, string=TRUE)\n    end do\n    call hl_gtk_assistant_set_page_complete(asstnt, TRUE)\n\n  end subroutine start_pb\nend module as_handlers\n\nprogram hl_assistant\n\n  use as_handlers\n\n  implicit none\n  type(c_ptr) :: junk, jb, ebox, pbar\n\n  call gtk_init()\n\n  asstnt = hl_gtk_assistant_new(title=\"GtkAssistant Example\"//c_null_char, &\n       & destroy=c_funloc(destroy_asstnt), wsize=[450_c_int, 300_c_int], &\n       & close=c_funloc(asstnt_close))\n\n  ! Intro page\n  junk = gtk_label_new(\"This is an example of a GtkAssistant\"//c_new_line// &\n       & \"by clicking the forward button,\"//c_new_line// &\n       & \" you can continue to the next section!\"//c_null_char)\n\n  call hl_gtk_assistant_add_page(asstnt, junk, GTK_ASSISTANT_PAGE_INTRO, &\n       & page_title=\"Introduction\"//c_null_char)\n\n  ! Name entry\n  jb = hl_gtk_box_new(horizontal=TRUE, spacing=5_c_int)\n  call gtk_widget_set_halign (jb, GTK_ALIGN_FILL)\n  call gtk_widget_set_valign (jb, GTK_ALIGN_CENTER)\n  call gtk_widget_set_hexpand (jb, TRUE)\n  call gtk_widget_set_vexpand (jb, FALSE)\n\n  junk = gtk_label_new(\"Your name:\"//c_null_char)\n  call hl_gtk_box_pack(jb, junk, expand=FALSE)\n\n  ebox = hl_gtk_entry_new(editable=TRUE, activate=c_funloc(name_enter))\n  call hl_gtk_box_pack(jb, ebox)\n\n  junk = hl_gtk_button_new(\"Apply\"//c_null_char, clicked=c_funloc(name_enter), &\n       & data=ebox)\n  call hl_gtk_box_pack(jb, junk, expand=FALSE)\n\n  call hl_gtk_assistant_add_page(asstnt, jb, GTK_ASSISTANT_PAGE_CONTENT)\n\n  ! Check button\n  junk = hl_gtk_check_button_new(\"Click to continue\"//c_null_char, &\n       &toggled = c_funloc(check_tog))\n  call hl_gtk_assistant_add_page(asstnt, junk, GTK_ASSISTANT_PAGE_CONTENT, &\n       & page_title=\"Click the Check Button\"//c_null_char)\n\n  ! Progress\n  jb = hl_gtk_box_new(horizontal=TRUE)\n  call gtk_widget_set_halign (jb, GTK_ALIGN_FILL)\n  call gtk_widget_set_valign (jb, GTK_ALIGN_CENTER)\n  call gtk_widget_set_hexpand (jb, TRUE)\n  call gtk_widget_set_vexpand (jb, FALSE)\n\n  pbar = hl_gtk_progress_bar_new()\n  call hl_gtk_box_pack(jb, pbar)\n\n  junk = hl_gtk_button_new(\"Click to start\"//c_null_char, &\n       & clicked=c_funloc(start_pb), data=pbar)\n  call hl_gtk_box_pack(jb, junk, expand=false)\n  call hl_gtk_assistant_add_page(asstnt, jb, GTK_ASSISTANT_PAGE_PROGRESS, &\n       & page_title=\"Applying\"//c_null_char)\n\n  ! Confirmation page\n  junk = gtk_label_new (\"Text has been entered in the label and\"//c_new_line// &\n       & \"the combo box is clicked. If you are done, then\"//c_new_line// &\n       & \"it is time to leave!\"//c_null_char)\n  call hl_gtk_assistant_add_page(asstnt, junk, GTK_ASSISTANT_PAGE_CONFIRM, &\n       & page_title = \"Completed?\"//c_null_char)\n\n  call gtk_widget_show(asstnt)\n\n  ! Event loop\n  my_gmainloop = g_main_loop_new(c_null_ptr, FALSE)\n  call g_main_loop_run(my_gmainloop)\n\nend program hl_assistant\n"
  },
  {
    "path": "examples/hl_cairo1.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2011 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!------------------------------------------------------------------------------\n! Contributed by James Tappin,\n! originally derived from cairo_basics.f90 by Vincent Magnin & Jerry DeLisle\n! Last modifications: vmagnin 2020-06-17 (GTK 4), 2025-05-27\n!------------------------------------------------------------------------------\n\nmodule handlers\n  use, intrinsic :: iso_c_binding\n\n  !********************************\n  ! Gtk modules for hl_cairo1.f90\n  !********************************\n  use cairo, only: cairo_arc, cairo_curve_to, cairo_get_target, &\n       & cairo_line_to, cairo_move_to, cairo_new_sub_path, cairo_paint, &\n       & cairo_rectangle, cairo_select_font_face, cairo_set_font_size, &\n       & cairo_set_line_width, cairo_set_source_rgb, cairo_show_text, &\n       & cairo_stroke, cairo_surface_write_to_png\n  use gdk, only: gdk_device_get_name, gdk_keyval_from_name, gdk_keyval_name\n  use gtk, only: gtk_window_set_child, gtk_window_destroy, &\n       & gtk_widget_queue_draw, gtk_widget_show, gtk_init, TRUE, FALSE, &\n       & GDK_CONTROL_MASK, &\n       & CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL, &\n       & gtk_event_controller_get_current_event_device, &\n       & gtk_gesture_single_get_current_button\n  use gdk_events\n\n  use gdk_pixbuf_hl\n  use gtk_draw_hl\n  use gtk_hl_container\n  use gtk_sup\n\n  implicit none\n  type(c_ptr) :: my_window\n  type(c_ptr) :: my_cairo_context\n  integer(c_int) :: boolresult\n  logical :: boolevent\n  integer(c_int) :: width, height\n  logical :: rflag = .false.\n  integer(c_int) :: xp0, yp0\n\ncontains\n  ! User defined event handlers go here\n\n  ! GTK 4: Click callback function (\"pressed\" signal):\n  subroutine button_event_h(gesture, n_press, x, y, gdata) bind(c)\n    type(c_ptr), value, intent(in)    :: gesture, gdata\n    integer(c_int), value, intent(in) :: n_press\n    real(c_double), value, intent(in) :: x, y\n    type(c_ptr) :: device, dcname\n    character(len=80) :: dname\n\n    print *, \"Button \", gtk_gesture_single_get_current_button(gesture)\n    print *, n_press, \" click(s) at \", int(x), int(y)\n\n    if (n_press > 1) then\n      print *, \"Multiple clicks\"\n    end if\n\n    device = gtk_event_controller_get_current_event_device(gesture)\n    dcname = gdk_device_get_name(device)\n    call c_f_string(dcname, dname)\n    print *, \"Device: \",trim(dname)\n  end subroutine button_event_h\n\n  ! GTK 4: Click callback function (\"released\" signal):\n  subroutine button_release_h(gesture, n_press, x, y, gdata) bind(c)\n    type(c_ptr), value, intent(in)    :: gesture, gdata\n    integer(c_int), value, intent(in) :: n_press\n    real(c_double), value, intent(in) :: x, y\n\n    print *, \"Button released: \", gtk_gesture_single_get_current_button(gesture)\n  end subroutine button_release_h\n\n  ! GTK 4: Motion callback function (\"motion\" signal):\n  subroutine motion_event_h(controller, x, y, gdata) bind(c)\n    type(c_ptr), value, intent(in)    :: controller, gdata\n    real(c_double), value, intent(in) :: x, y\n\n    write(*, \"(2I5,A)\", advance='no') nint(x), nint(y), c_carriage_return\n  end subroutine motion_event_h\n\n  ! GTK 4 : Scroll callback function (\"scroll\" signal):\n  subroutine scroll_event_h(controller, x, y, gdata) bind(c)\n    type(c_ptr), value, intent(in)    :: controller, gdata\n    real(c_double), value, intent(in) :: x, y\n\n    print *, \"Scroll event detected : x,y= \", x, y\n  end subroutine scroll_event_h\n\n  ! GTK 4 : motion callback function (\"enter\" signal):\n  subroutine enter_event_h(controller, x, y, gdata) bind(c)\n    type(c_ptr), value, intent(in)    :: controller, gdata\n    real(c_double), value, intent(in) :: x, y\n\n    print *, \"Enter event detected : x,y= \", x, y\n  end subroutine enter_event_h\n\n  ! GTK 4 : motion callback function (\"leave\" signal):\n  subroutine leave_event_h(controller, gdata) bind(c)\n    type(c_ptr), value, intent(in)    :: controller, gdata\n    print *, \"Leave event detected\"\n  end subroutine leave_event_h\n\n  ! GTK 4 : key callback function (\"key-pressed\" signal):\n  ! https://developer.gnome.org/gdk4/stable/gdk4-Keyboard-Handling.html\n  function key_event_h(controller, keyval, keycode, state, gdata) result(ret) bind(c)\n    type(c_ptr), value, intent(in) :: controller, gdata\n    integer(c_int), value, intent(in) :: keyval, keycode, state\n    logical(c_bool) :: ret\n    character(len=20) :: keyname\n    integer(c_int) :: key_q\n\n    call convert_c_string(gdk_keyval_name(keyval), keyname)\n    print *, \"Keyval: \",keyval,\" Name: \", trim(keyname), \"      Keycode: \", &\n             & keycode, \" Modifier: \", state\n\n    key_q = gdk_keyval_from_name(\"q\"//c_null_char)\n    ! CTRL+Q will close the program:\n    if ((iand(state, GDK_CONTROL_MASK) /= 0).and.(keyval == key_q)) then\n      call gtk_window_destroy(my_window)\n    end if\n\n    ret = .true.\n  end function key_event_h\n\n\n  subroutine draw_pattern(widget)\n    type(c_ptr) :: widget\n    real(c_double), parameter :: pi = acos(-1.0_c_double)\n    integer :: cstatus\n    integer :: t\n\n    my_cairo_context = hl_gtk_drawing_area_cairo_new(widget)\n    if (.not. c_associated(my_cairo_context)) then\n       print *, \"ERROR failed to create cairo context\"\n       return\n    end if\n\n    ! Background\n    call cairo_set_source_rgb(my_cairo_context, 0.6_c_double, 0.6_c_double, &\n         & 0.6_c_double)\n    call cairo_rectangle(my_cairo_context, 0._c_double, 0._c_double,&\n         & real(width, c_double), real(height, c_double))\n    call cairo_paint(my_cairo_context)\n\n    ! Bezier curve:\n    call cairo_set_source_rgb(my_cairo_context, 0.9_c_double, 0.8_c_double, &\n         & 0.8_c_double)\n    call cairo_set_line_width(my_cairo_context, 4._c_double)\n    call cairo_move_to(my_cairo_context, 0._c_double, 0._c_double)\n    call cairo_curve_to(my_cairo_context, 600._c_double, 50._c_double, &\n         & 115._c_double, 545._c_double, &\n         & real(width, c_double), real(height, c_double))\n    call cairo_stroke(my_cairo_context)\n\n    ! Lines:\n    call cairo_set_source_rgb(my_cairo_context, 0._c_double, 0.5_c_double, &\n         & 0.5_c_double)\n    call cairo_set_line_width(my_cairo_context, 2._c_double)\n    do t = 0, int(height), +20\n       call cairo_move_to(my_cairo_context, 0._c_double, real(t, c_double))\n       call cairo_line_to(my_cairo_context, real(t, c_double), &\n            & real(height, c_double))\n       call cairo_stroke(my_cairo_context)\n    end do\n\n    ! Text:\n    call cairo_set_source_rgb(my_cairo_context, 0._c_double, 0._c_double, &\n         & 1._c_double)\n    call cairo_select_font_face(my_cairo_context, \"Times\"//c_null_char, &\n         & CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL)\n    call cairo_set_font_size (my_cairo_context, 40._c_double)\n    call cairo_move_to(my_cairo_context, 100._c_double, 30._c_double)\n    call cairo_show_text (my_cairo_context, \"gtk-fortran\"//c_null_char)\n    call cairo_move_to(my_cairo_context, 100._c_double, 75._c_double)\n    call cairo_show_text (my_cairo_context, \"Cairo & Fortran are good friends\"//c_null_char)\n\n    ! Circles:\n    call cairo_new_sub_path(my_cairo_context)\n    do t = 1, 50\n       call cairo_set_source_rgb(my_cairo_context, t/50._c_double, &\n            & 0._c_double, 0._c_double)\n       call cairo_set_line_width(my_cairo_context, 5._c_double*t/50._c_double)\n       call cairo_arc(my_cairo_context, 353._c_double+ &\n            & 200._c_double*cos(t*2_c_double*pi/50), &\n            & 350._c_double+200._c_double*sin(t*2._c_double*pi/50._c_double), &\n            & 50._c_double, 0._c_double, 2._c_double*pi)\n       call cairo_stroke(my_cairo_context)\n    end do\n\n    ! Save:\n    cstatus = cairo_surface_write_to_png(cairo_get_target(my_cairo_context), &\n         & \"cairo.png\"//c_null_char)\n\n    call gtk_widget_queue_draw(widget)\n    call hl_gtk_drawing_area_cairo_destroy(my_cairo_context)\n  end subroutine draw_pattern\n\n  subroutine activate(app, gdata) bind(c)\n    use, intrinsic :: iso_c_binding, only: c_ptr, c_funloc, c_null_char\n    use gtk, only: gtk_application_window_new, gtk_window_set_title\n    implicit none\n    type(c_ptr), value, intent(in)  :: app, gdata\n    ! Pointers toward our GTK widgets:\n    type(c_ptr) :: my_drawing_area\n    type(c_ptr) :: my_scroll_box\n\n    ! Properties of the main window :\n    width = 700\n    height = 700\n    ! Create the window:\n    my_window = gtk_application_window_new(app)\n    call gtk_window_set_title(my_window, \"Cairo events demo (CTRL+Q to quit)\"//c_null_char)\n\n    my_drawing_area = hl_gtk_drawing_area_new(&\n         & scroll=my_scroll_box, &\n         & size = [width, height ], &\n         & ssize = [ 400_c_int, 300_c_int ], &\n         & button_press_event=c_funloc(button_event_h), &\n         & button_release_event=c_funloc(button_release_h), &\n         & scroll_event=c_funloc(scroll_event_h), &\n         & enter_event=c_funloc(enter_event_h), &\n         & leave_event=c_funloc(leave_event_h), &\n         & key_press_event=c_funloc(key_event_h), &\n         & motion_event=c_funloc(motion_event_h))\n\n    call gtk_window_set_child(my_window, my_scroll_box)\n\n    call gtk_widget_show(my_window)\n    call draw_pattern(my_drawing_area)\n  end subroutine activate\nend module handlers\n\n\nprogram cairo_basics_click\n  use, intrinsic :: iso_c_binding, only: c_ptr, c_funloc, c_null_char, c_null_ptr\n  use handlers\n\n  implicit none\n  type(c_ptr)        :: app\n\n  app = hl_gtk_application_new(\"gtk-fortran.examples.hl_cairo1\"//c_null_char, &\n                             & c_funloc(activate))\nend program cairo_basics_click\n\n"
  },
  {
    "path": "examples/hl_cairo_clock.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2011 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!------------------------------------------------------------------------------\n! Contributed by: James Tappin\n! Last modifications: vmagnin 2020-06-17 (GTK 4), 2025-05-27\n!------------------------------------------------------------------------------\n\nmodule cl_handlers\n  !********************************\n  ! Gtk modules for hl_cairo_clock.f90\n  !********************************\n  use cairo, only: cairo_arc, cairo_fill, cairo_fill_preserve, cairo_line_to, &\n       & cairo_move_to, cairo_new_path, cairo_paint, cairo_rectangle, &\n       & cairo_select_font_face, cairo_set_font_size, cairo_set_line_cap, &\n       & cairo_set_line_width, cairo_set_source_rgb, cairo_set_source_rgba, &\n       & cairo_show_text, cairo_stroke\n  use g, only: g_timeout_add\n  use gdk, only: gdk_keyval_from_name\n  use gtk, only: gtk_window_set_child, gtk_window_destroy, &\n       & gtk_widget_get_allocation, gtk_widget_queue_draw, &\n       & gtk_widget_show, TRUE, FALSE, GDK_CONTROL_MASK, &\n       & CAIRO_LINE_CAP_ROUND, CAIRO_FONT_SLANT_NORMAL, &\n       & CAIRO_FONT_WEIGHT_BOLD\n  use gdk_pixbuf_hl\n  use gtk_draw_hl\n  use gtk_hl_container\n  use gdk_events\n  use, intrinsic :: iso_c_binding\n\n  implicit none\n  integer(c_int) :: height=250_c_int, width=250_c_int\n  real(c_double), parameter :: pi = acos(-1.0_c_double)\n  integer, dimension(8) :: t0 = 0\n  type(c_ptr) :: window\n  type(c_ptr) :: app\n\ncontains\n\n  function show_time(area) bind(c)\n    integer(c_int) :: show_time\n    type(c_ptr), value, intent(in) :: area\n\n    integer, dimension(8) :: dat\n    type(c_ptr) :: cr\n    character(len=3) :: sdate\n\n    character(len=4), parameter, dimension(12) :: mnames = &\n         & ['JAN'//c_null_char, 'FEB'//c_null_char, 'MAR'//c_null_char, &\n         &   'APR'//c_null_char, 'MAY'//c_null_char, 'JUN'//c_null_char, &\n         &   'JUL'//c_null_char, 'AUG'//c_null_char, 'SEP'//c_null_char, &\n         &   'OCT'//c_null_char, 'NOV'//c_null_char, 'DEC'//c_null_char ]\n    integer :: i\n    real(c_double) :: r0, r1, x0, x1, y0, y1, th, xc, yc, ycs\n    real(c_double) :: xb, xt, yb, yt, radius, scale_factor\n\n    show_time = TRUE\n\n    call date_and_time(values=dat)\n    if (all(dat(5:7) == t0(5:7))) return\n\n    t0 = dat\n\n    cr = hl_gtk_drawing_area_cairo_new(area)\n\n    xc = real(width, c_double) / 2._c_double\n    yc = real(height, c_double) / 2._c_double\n    radius = min(xc, yc)\n    scale_factor = radius/125._c_double\n\n    if (height > width) then\n       xb = 0._c_double\n       xt = real(width, c_double)\n       yt = yc - xc\n       yb = yc + xc\n    else if (height < width) then\n       xb = xc - yc\n       xt = xc + yc\n       yt = 0._c_double\n       yb = real(height, c_double)\n    else\n       xb = 0._c_double\n       xt = real(width, c_double)\n       yt = 0._c_double\n       yb = real(height, c_double)\n    end if\n\n    ! Background\n    call cairo_set_source_rgb(cr, 0.3_c_double, 0.0_c_double, &\n         & 0.0_c_double)\n    call cairo_rectangle(cr, 0._c_double, 0._c_double,&\n         & real(width, c_double), real(height, c_double))\n    call cairo_paint(cr)\n\n    ! Face\n    r0 = radius * 0.85_c_double\n    call cairo_set_source_rgb(cr, 0.3_c_double, 0.3_c_double, 0._c_double)\n    call cairo_new_path(cr)\n    call cairo_move_to(cr, xc+r0, yc)\n    call cairo_arc(cr, xc, yc, r0, 0._c_double, 2*pi)\n    call cairo_fill(cr)\n\n    ! Sub face\n    r0 =  radius * 0.25_c_double\n    call cairo_set_source_rgb(cr, 0.2_c_double, 0.7_c_double, 0.7_c_double)\n    ycs = yc + 0.375_c_double*radius\n    call cairo_new_path(cr)\n    call cairo_move_to(cr, xc+r0, ycs)\n    call cairo_arc(cr, xc, ycs, r0, 0._c_double, 2*pi)\n    call cairo_fill(cr)\n\n    ! Clock dials\n    ! Main\n    call cairo_set_source_rgb(cr, 1._c_double, 1._c_double, &\n         & 1._c_double)\n    call cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND)\n    do i = 1, 60\n       if (mod(i,15) == 0) then\n          call cairo_set_line_width(cr, 5._c_double)\n          r0 = radius * 0.75_c_double\n          r1 = radius * 0.9_c_double\n       else if (mod(i,5) == 0) then\n          call cairo_set_line_width(cr, 4._c_double)\n          r0 = radius * 0.8_c_double\n          r1 = radius * 0.9_c_double\n       else\n          call cairo_set_line_width(cr, 2._c_double)\n          r0 = radius * 0.8_c_double\n          r1 = radius * 0.85_c_double\n       end if\n       th = real(i,c_double)*pi/30._c_double\n\n       x0 = sin(th)*r0+xc\n       x1 = sin(th)*r1+xc\n       y0 = cos(th)*r0+yc\n       y1 = cos(th)*r1+yc\n\n       call cairo_move_to(cr, x0, y0)\n       call cairo_line_to(cr, x1, y1)\n       call cairo_stroke(cr)\n    end do\n\n    ! Seconds\n    do i = 1, 60\n       if (mod(i,15) == 0) then\n          call cairo_set_line_width(cr, 2._c_double)\n          r0 = radius * 0.2_c_double\n          r1 = radius * 0.275_c_double\n       else if (mod(i,5) == 0) then\n          call cairo_set_line_width(cr, 1._c_double)\n          r0 = radius * 0.225_c_double\n          r1 = radius * 0.275_c_double\n       else\n          call cairo_set_line_width(cr, 1._c_double)\n          r0 = radius * 0.225_c_double\n          r1 = radius * 0.25_c_double\n       end if\n       th = real(i,c_double)*pi/30._c_double\n\n       x0 = sin(th)*r0+xc\n       x1 = sin(th)*r1+xc\n       y0 = cos(th)*r0+ycs\n       y1 = cos(th)*r1+ycs\n\n       call cairo_move_to(cr, x0, y0)\n       call cairo_line_to(cr, x1, y1)\n       call cairo_stroke(cr)\n    end do\n\n    !  Date\n    if (dat(5) >= 12) then\n       call cairo_set_source_rgb(cr, 0._c_double, 0._c_double, 0._c_double)\n    else\n       call cairo_set_source_rgb(cr, 1._c_double, 1._c_double, 1._c_double)\n    end if\n    call cairo_select_font_face(cr, \"sans-serif\"//c_null_char, &\n         & CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD)\n    x0 = xc - 0.6_c_double*radius\n    call cairo_set_line_width(cr, 1._c_double)\n    call cairo_rectangle(cr, x0-2*scale_factor, yc+10*scale_factor, &\n         & 42*scale_factor,-16*scale_factor)\n    call cairo_fill_preserve(cr)\n    if (dat(5) < 12) then\n       call cairo_set_source_rgb(cr, 0._c_double, 0._c_double, 0._c_double)\n    else\n       call cairo_set_source_rgb(cr, 1._c_double, 1._c_double, 1._c_double)\n    end if\n    call cairo_stroke(cr)\n    call cairo_set_font_size (cr, 12._c_double*scale_factor)\n    write(sdate,\"(I2.2,a1)\") dat(3), char(0)\n    call cairo_move_to(cr, x0,yc+6*scale_factor)\n    call cairo_show_text(cr, sdate)\n    call cairo_set_font_size (cr, 9*scale_factor)\n    call cairo_show_text(cr, ' '//mnames(dat(2)))\n\n    ! Second hand\n    ! Trail\n    th = real(dat(7),c_double) * pi / 30._c_double - pi/2._c_double\n    r0 = radius * 0.24_c_double\n    do i = 1, 15\n       call cairo_set_source_rgba(cr, 1._c_double, 0.1_c_double, &\n            & 1._c_double, 1._c_double-real(i,c_double)/15._c_double)\n       call cairo_new_path(cr)\n       call cairo_move_to(cr, xc, ycs)\n       call cairo_arc(cr, xc, ycs, r0, th-pi/30._c_double, th)\n       call cairo_fill(cr)\n       th = th-pi/30._c_double\n    end do\n\n    ! Hand\n    call cairo_set_source_rgb(cr, .6_c_double, 0.1_c_double, &\n         & .6_c_double)\n    call cairo_set_line_width(cr, 2._c_double)\n\n    th = real(dat(7),c_double) * pi / 30._c_double\n    x1 = r0*sin(th) + xc\n    x0 = xc\n    y1 = -r0*cos(th) + ycs\n    y0 = ycs\n\n    call cairo_move_to(cr, x0, y0)\n    call cairo_line_to(cr, x1, y1)\n    call cairo_stroke(cr)\n\n    ! Hour hand\n    call cairo_set_source_rgb(cr, 0.1_c_double, 0.8_c_double, &\n         & 1._c_double)\n    call cairo_set_line_width(cr, 8._c_double)\n    r0 = radius * 0.6_c_double\n    th = (real(mod(dat(5),12),c_double) + &\n         & real(dat(6),c_double)/60._c_double + &\n         & real(dat(7), c_double)/3600._c_double) * pi / 6._c_double\n    x1 = r0*sin(th) + xc\n    x0 = -r0*sin(th)/10._c_double + xc\n    y1 = -r0*cos(th) + yc\n    y0 = r0*cos(th)/10._c_double + yc\n\n    call cairo_move_to(cr, x0, y0)\n    call cairo_line_to(cr, x1, y1)\n    call cairo_stroke(cr)\n\n    ! Minute hand\n    call cairo_set_source_rgba(cr, 1.0_c_double, 1._c_double, &\n         & 0.1_c_double, 0.9_c_double)\n    call cairo_set_line_width(cr, 3._c_double)\n    r0 = min(xc,yc) * 0.85_c_double\n\n    th = (real(dat(6),c_double) + &\n         & real(dat(7),c_double)/60._c_double) * pi / 30._c_double\n    x1 = r0*sin(th) + xc\n    x0 = -r0*sin(th)/10._c_double + xc\n    y1 = -r0*cos(th) + yc\n    y0 = r0*cos(th)/10._c_double + yc\n\n    call cairo_move_to(cr, x0, y0)\n    call cairo_line_to(cr, x1, y1)\n    call cairo_stroke(cr)\n\n    call hl_gtk_drawing_area_cairo_destroy(cr)\n    call gtk_widget_queue_draw(area)\n  end function show_time\n\n\n  subroutine clock_resize(area, data) bind(c)\n    type(c_ptr), value :: area, data\n\n    type(gtkallocation), target:: alloc\n    integer(c_int) :: irv\n\n    call gtk_widget_get_allocation(area,c_loc(alloc))\n    width = alloc%width\n    height = alloc%height\n\n    call hl_gtk_drawing_area_resize(area)\n\n    t0(:) = 0\n    irv = show_time(area)\n  end subroutine clock_resize\n\n\n  ! GTK 4 : key callback function (\"key-pressed\" signal):\n  ! https://developer.gnome.org/gdk4/stable/gdk4-Keyboard-Handling.html\n  function clock_key(controller, keyval, keycode, state, gdata) result(ret) bind(c)\n    type(c_ptr), value, intent(in) :: controller, gdata\n    integer(c_int), value, intent(in) :: keyval, keycode, state\n    logical(c_bool) :: ret\n    integer(c_int) :: key_q\n\n    key_q = gdk_keyval_from_name(\"q\"//c_null_char)\n    ! CTRL+Q will close the program:\n    if ((iand(state, GDK_CONTROL_MASK) /= 0).and.(keyval == key_q)) then\n      call gtk_window_destroy(window)\n    end if\n\n    ret = .true.\n  end function clock_key\n\n  subroutine activate(app, gdata) bind(c)\n    use, intrinsic :: iso_c_binding, only: c_ptr, c_funloc, c_null_char\n    use gtk, only: gtk_application_window_new, gtk_window_set_title\n    implicit none\n    type(c_ptr), value, intent(in)  :: app, gdata\n    ! Pointers toward our GTK widgets:\n    type(c_ptr) :: drawing\n    integer(c_int) :: icont, timeid\n\n    ! Create the window:\n    window = gtk_application_window_new(app)\n    call gtk_window_set_title(window, \"Cairo Clock (CTRL+Q to quit)\"//c_null_char)\n\n    drawing = hl_gtk_drawing_area_new(has_alpha = TRUE, &\n         & size_allocate=c_funloc(clock_resize), &\n         & key_press_event=c_funloc(clock_key))\n\n    call gtk_window_set_child(window, drawing)\n    call gtk_widget_show(window)\n\n    icont =  show_time(drawing)\n\n    timeid = g_timeout_add(300_c_int, c_funloc(show_time), drawing)\n  end subroutine activate\nend module cl_handlers\n\n\nprogram cairo_clock\n  use, intrinsic :: iso_c_binding, only: c_ptr, c_funloc, c_null_char, c_null_ptr\n  use cl_handlers\n  implicit none\n\n  app = hl_gtk_application_new(\"gtk-fortran.examples.hl_cairo_clock\"//c_null_char, &\n                             & c_funloc(activate))\nend program cairo_clock\n"
  },
  {
    "path": "examples/hl_cairo_viewer.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2013 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!------------------------------------------------------------------------------\n! Contributed by: James Tappin, 2013-01-26\n! Last modifications: vmagnin 2020-06-19 (GTK 4), 2025-05-13\n!------------------------------------------------------------------------------\n\nmodule v_handlers\n  use, intrinsic :: iso_c_binding\n\n  use gdk_pixbuf_hl\n  use gtk_draw_hl\n  use gtk_hl_chooser\n  use gtk_hl_combobox\n\n  !************************************\n  ! GTK modules for hl_cairo_viewer.f90\n  !************************************\n  use cairo, only: cairo_status, cairo_status_to_string\n  use gdk_pixbuf, only: gdk_pixbuf_get_height, gdk_pixbuf_get_width\n  use gtk, only: gtk_combo_box_get_active, gtk_combo_box_set_active, &\n       & gtk_widget_set_sensitive, gtk_window_set_child, &\n       & gtk_widget_show, gtk_window_destroy, TRUE, FALSE, &\n       & g_signal_connect, gtk_widget_get_name\n  use g, only: g_timeout_add\n  use gtk_sup, only: c_f_string_copy_alloc\n\n  implicit none\n  character(len=256), dimension(:), allocatable :: file_list\n  integer(c_int) :: current_file\n  type(c_ptr) :: tl_window, view, prev, next, selector\n\ncontains\n\n  ! Callback function of the \"Quit\" button:\n  subroutine delete_v (widget, gdata)  bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n\n    call gtk_window_destroy(tl_window)\n  end subroutine delete_v\n\n\n  function show_at_start(selector) bind(c)\n    ! This function is needed to show image passed as argument\n    ! in the command line.\n    ! See https://github.com/vmagnin/gtk-fortran/issues/224\n    integer(c_int) :: show_at_start\n    type(c_ptr), value, intent(in) :: selector\n\n    ! Will cause show_image() to be called by the combobox:\n    call gtk_combo_box_set_active(selector, current_file)\n    ! This function will be launched only once if it returns FALSE:\n    show_at_start = FALSE\n  end function\n\n\n  recursive subroutine show_image(widget, gdata)  bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n    integer(c_int), pointer :: istep\n    integer(c_int) :: nx, ny\n    type(c_ptr) :: pixbuf\n    character(len=120) :: errm=''\n    character(:), allocatable :: widget_name\n\n    call c_f_string_copy_alloc(gtk_widget_get_name(widget), widget_name)\n\n    if (widget_name == \"GtkApplicationWindow\") then\n       ! If the widget is the main window, it means\n       ! it has been resized. We redraw the same file.\n    else\n      ! When clicking on Prev and Next buttons, data -1 or +1 is passed:\n      if (c_associated(gdata)) then\n         call c_f_pointer(gdata, istep)\n         current_file = current_file + istep\n         call gtk_combo_box_set_active(selector, current_file)\n      else\n         current_file = gtk_combo_box_get_active(widget)\n         if (current_file < 0) return\n      end if\n    end if\n\n    ! Depending on the number of loaded images, the Next and Prev buttons\n    ! may be activated (sensitive) or not:\n    call gtk_widget_set_sensitive(prev, f_c_logical(current_file > 0))\n    call gtk_widget_set_sensitive(next, &\n         & f_c_logical(current_file < size(file_list)-1))\n\n    errm = ''\n    pixbuf = hl_gdk_pixbuf_new(trim(file_list(current_file+1))//c_null_char, &\n         & error=errm)\n    if (errm /= \"\") then\n       write(error_unit, \"(2A)\") \"Failed to open: \", &\n            & trim(file_list(current_file+1))\n       write(error_unit, \"(2A)\") \"        \", trim(errm)\n    else\n       nx = gdk_pixbuf_get_width(pixbuf)\n       ny = gdk_pixbuf_get_height(pixbuf)\n\n       call hl_gtk_drawing_area_resize(view, [nx, ny])\n       call hl_gtk_drawing_area_draw_pixbuf(view, pixbuf)\n    end if\n  end subroutine show_image\n\n\n  subroutine add_files(widget, gdata)  bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n    character(len=256), dimension(:), allocatable :: new_files, tmp\n    logical(c_bool), pointer :: idelete\n    integer(c_int) :: ipick, i\n\n    ipick = hl_gtk_file_chooser_show(new_files, &\n         & create=FALSE, multiple=TRUE, filter=[\"image/*\"], &\n         & parent=tl_window, all=TRUE)\n\n    if (.not. c_f_logical(ipick)) return\n\n    call c_f_pointer(gdata, idelete)\n\n    if (idelete) then\n       ! If idelete is .true., the file_list is reinitialized\n       ! (may happen at start or with the \"Replace files\" button):\n       if (allocated(file_list)) deallocate(file_list)\n       allocate(file_list(size(new_files)))\n       file_list(:) = new_files(:)\n       call hl_gtk_combo_box_delete(selector)\n    else\n       ! A file is added to the list:\n       allocate(tmp(size(file_list)))\n       tmp(:) = file_list(:)\n       if (allocated(file_list)) deallocate(file_list)\n       allocate(file_list(size(tmp)+size(new_files)))\n       file_list(:size(tmp)) = tmp(:)\n       file_list(size(tmp)+1:) = new_files(:)\n       if (current_file < 0) current_file = 0\n    end if\n\n    ! Update the combobox:\n    do i = 1, size(new_files)\n       call hl_gtk_combo_box_add_text(selector, trim(new_files(i))//c_null_char)\n    end do\n\n    if (current_file < 0 .and. size(file_list) > 0) current_file = 0\n\n    call gtk_combo_box_set_active(selector, current_file)\n    call gtk_widget_set_sensitive(selector, f_c_logical(size(file_list)>0))\n    call gtk_widget_set_sensitive(next, &\n                                & f_c_logical(current_file < size(file_list)-1))\n  end subroutine add_files\n\n  subroutine activate(app, gdata) bind(c)\n    use gtk, only: gtk_application_window_new, gtk_window_set_title\n\n    implicit none\n    type(c_ptr), value, intent(in)  :: app, gdata\n    integer(c_int) :: nfiles, i, istat\n    integer(c_int) :: timeid\n    integer(c_int), dimension(2), target :: direction = [-1, 1]\n    logical(c_bool), dimension(2), target :: iremove = [.false., .true.]\n    type(c_ptr) :: scroll, base, jb, junk, cmsg\n    character(len=120) :: err_msg\n\n    ! Do filenames were passed in the command line?\n    nfiles = command_argument_count()\n    allocate(file_list(nfiles))\n\n    if (nfiles > 0) then\n       do i = 1, nfiles\n          call get_command_argument(i, value=file_list(i))\n          print *, file_list(i)\n       end do\n       current_file = 0\n    else\n       current_file = -1\n    end if\n\n    tl_window = gtk_application_window_new(app)\n    call gtk_window_set_title(tl_window, \"Simple Image Viewer (gtk-fortran)\"//c_null_char)\n    print *, \"Note that you can pass filenames as arguments in the command line\"\n\n    base = hl_gtk_box_new()\n    call gtk_window_set_child(tl_window, base)\n\n    view = hl_gtk_drawing_area_new(scroll=scroll, ssize=[600_c_int, 600_c_int], &\n         & has_alpha=TRUE, cairo_status=istat)\n    if (istat /= 0) then\n       cmsg = cairo_status_to_string(istat)\n       call c_f_string(cmsg, err_msg)\n       write(error_unit, \"(2a)\") \"hl_cairo_viewer: \", trim(err_msg)\n       stop\n    end if\n\n    call hl_gtk_box_pack(base, scroll)\n\n    ! To contain buttons (except Quit):\n    jb = hl_gtk_box_new(horizontal=TRUE)\n    call hl_gtk_box_pack(base, jb)\n\n    prev = hl_gtk_button_new(\"< Prev\"//c_null_char, &\n         & clicked=c_funloc(show_image), data=c_loc(direction(1)), &\n         & tooltip=\"Go to the previous image.\"//c_null_char,&\n         & sensitive=FALSE)\n    call hl_gtk_box_pack(jb, prev, expand=FALSE)\n\n    selector = hl_gtk_combo_box_new(changed=c_funloc(show_image), &\n         & sensitive=f_c_logical(nfiles > 0), tooltip=&\n         & \"selector an image to show\"//c_null_char)\n    call hl_gtk_box_pack(jb, selector, expand=TRUE)\n\n    next = hl_gtk_button_new(\"Next >\"//c_null_char, &\n         & clicked=c_funloc(show_image), data=c_loc(direction(2)), &\n         & tooltip=\"Go to the next image.\"//c_null_char, &\n         & sensitive=f_c_logical(nfiles > 0))\n    call hl_gtk_box_pack(jb, next, expand=FALSE)\n\n    ! Filling the combobox with files:\n    if (nfiles > 0) then\n       do i = 1, nfiles\n          call hl_gtk_combo_box_add_text(selector, &\n               & trim(file_list(i))//c_null_char)\n       end do\n    end if\n\n    ! iremove(1) is .false. and iremove(2) is .true.:\n    junk = hl_gtk_button_new(\"Add files\"//c_null_char, &\n         & clicked=c_funloc(add_files), data=c_loc(iremove(1)), &\n         & tooltip=\"Pick files to add to the list.\"//c_null_char)\n    call hl_gtk_box_pack(jb, junk, expand=FALSE)\n\n    junk = hl_gtk_button_new(\"Replace files\"//c_null_char, &\n         & clicked=c_funloc(add_files), data=c_loc(iremove(2)), &\n         & tooltip=\"Pick files to replace the list.\"//c_null_char)\n    call hl_gtk_box_pack(jb, junk, expand=FALSE)\n\n    ! This button is in the first (vertical) box:\n    junk=hl_gtk_button_new(\"Quit\"//c_null_char, &\n         & clicked=c_funloc(delete_v), tooltip=&\n         & \"Quit the viewer.\"//c_null_char)\n    call hl_gtk_box_pack(base, junk)\n\n    call gtk_widget_show(tl_window)\n\n    ! At start, the Add window is opened if no filename was passed in the command line:\n    if (nfiles == 0) call add_files(tl_window, c_loc(iremove(2)))\n\n    ! Will show an image passed in the command line, after the\n    ! termination of the activate subroutine (100 ms):\n    if (current_file >= 0) timeid = g_timeout_add(100_c_int, c_funloc(show_at_start), selector)\n\n    ! If the window is resized, its default_width and/or default-height properties\n    ! are modified and the signal means the image needs to be redrawn:\n    call g_signal_connect(tl_window, \"notify::default-width\"//c_null_char,  c_funloc(show_image))\n    call g_signal_connect(tl_window, \"notify::default-height\"//c_null_char, c_funloc(show_image))\n  end subroutine activate\nend module v_handlers\n\n\nprogram hl_cairo_viewer\n  ! A very simple image viewer\n  use v_handlers\n\n  implicit none\n  type(c_ptr)        :: app\n\n  app = hl_gtk_application_new(\"gtk-fortran.examples.hl_cairo_viewer\"//c_null_char, &\n                             & c_funloc(activate))\nend program hl_cairo_viewer\n"
  },
  {
    "path": "examples/hl_choosers.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2011 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!------------------------------------------------------------------------------\n! Contributed by James Tappin.\n! Last modifications: vmagnin 2020-06-18 (GTK 4 version), 2020-12-17\n! Demo of file choosers.\n!------------------------------------------------------------------------------\n\nmodule handlers\n!  use gtk_hl\n  use gtk_hl_container\n  use gtk_hl_button\n  use gtk_hl_dialog\n  use gtk_hl_chooser\n  use gtk_hl_misc\n  use gtk_hl_entry\n  use gtk, only: gtk_button_new, gtk_window_set_child, &\n       & gtk_text_view_new, gtk_widget_set_sensitive, gtk_widget_show, &\n       & gtk_window_destroy, &\n       & TRUE, FALSE, GTK_BUTTONS_YES_NO, GTK_RESPONSE_NO\n  use g, only: alloca, g_file_get_path, g_object_unref\n\n  implicit none\n  ! Those widgets that need to be addressed explicitly in the handlers\n  type(c_ptr) :: window, sbut, sabut, tedit\n  ! Other variables that need to be shared between handlers\n  logical, private :: file_is_changed = .FALSE.\n  character(len=120), private :: filename=''\n\ncontains\n  subroutine my_destroy(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n    integer(c_int) :: ok\n    character(len=60), dimension(4) :: msg\n\n    msg(1) = \"File is changed\"\n    msg(2) = \"\"\n    msg(3) = \"Quitting now will destroy your changes\"\n    msg(4) = \"Do you really want to quit\"\n\n    if (file_is_changed) then\n       ok = hl_gtk_message_dialog_show(msg, GTK_BUTTONS_YES_NO, &\n            & \"Really Quit\"//c_null_char, parent=window)\n       if (ok == GTK_RESPONSE_NO) return\n    end if\n\n    print *, \"Exit called\"\n    call gtk_window_destroy(window)\n  end subroutine my_destroy\n\n  subroutine open_file(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n\n    integer(c_int) :: isel\n    character(len=120), dimension(:), allocatable :: chfile\n    character(len=30), dimension(2) :: filters\n    character(len=30), dimension(2) :: filtnames\n    character(len=200) :: inln\n    integer :: ios\n    integer :: idxs\n\n    filters(1) = \"*.txt,*.lis\"\n    filters(2) = \"*.f90\"\n    filtnames(1) = \"Text files\"\n    filtnames(2) = \"Fortran code\"\n\n    isel = hl_gtk_file_chooser_show(chfile, create=FALSE,&\n         & title=\"Select input file\"//c_null_char, filter=filters, &\n         & filter_name=filtnames, wsize=[ 600_c_int, 400_c_int ], &\n         & edit_filters=TRUE, &\n         & parent=window, all=TRUE)\n    print *, \"isel = hl_gtk_file_chooser_show=\", isel\n    if (isel == FALSE) return   ! No selection made\n\n    filename = chfile(1)\n    deallocate(chfile)\n\n    open(37, file=filename, action='read')\n    call hl_gtk_text_view_delete(tedit)\n    do\n       read(37,\"(A)\",iostat=ios) inln\n       if (ios /= 0) exit\n       call hl_gtk_text_view_insert(tedit, [ trim(inln)//c_new_line ])\n    end do\n    close(37)\n    idxs = index(filename, '/', .true.)+1\n    call gtk_window_set_title(window, trim(filename(idxs:))//c_null_char)\n\n    ! We manually reset the changed flag as the text box signal handler sets it.\n\n    file_is_changed = .FALSE.\n    call gtk_widget_set_sensitive(sabut, TRUE)\n    call gtk_widget_set_sensitive(sbut, FALSE)\n  end subroutine open_file\n\n\n  subroutine save_file(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n\n    character(len=200), dimension(:), allocatable :: text\n    integer :: i\n\n    call hl_gtk_text_view_get_text(tedit, text)\n\n    open(37, file=filename, action='write')\n    do i = 1, size(text)\n       write(37, '(A)') trim(text(i))\n    end do\n    close(37)\n    deallocate(text)\n\n    file_is_changed = .FALSE.\n    call gtk_widget_set_sensitive(widget, false)\n  end subroutine save_file\n\n  subroutine save_file_as(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n\n    integer(c_int) :: isel\n    character(len=120), dimension(:), allocatable :: chfile\n    character(len=20), dimension(2) :: filters\n    character(len=30), dimension(2) :: filtnames\n    integer :: i\n    character(len=200), dimension(:), allocatable :: text\n    integer :: idxs\n\n    filters(1) = \"*.txt,*.lis\"\n    filters(2) = \"*.f90\"\n    filtnames(1) = \"Text files\"\n    filtnames(2) = \"Fortran code\"\n\n    isel = hl_gtk_file_chooser_show(chfile, create=TRUE,&\n         & title=\"Select input file\"//c_null_char, filter=filters, &\n         & filter_name=filtnames, initial_file=trim(filename)//c_null_char, &\n         & confirm_overwrite=TRUE, all=TRUE, parent=window)\n\n    if (isel == FALSE) return   ! No selection made\n\n    filename = chfile(1)\n    deallocate(chfile)\n    idxs = index(filename, '/', .true.)+1\n    call gtk_window_set_title(window, trim(filename(idxs:))//c_null_char)\n    call hl_gtk_text_view_get_text(tedit, text)\n\n    open(37, file=filename, action='write')\n    do i = 1, size(text)\n       write(37, '(A)') trim(text(i))\n    end do\n    close(37)\n    deallocate(text)\n\n    file_is_changed = .FALSE.\n\n    call gtk_widget_set_sensitive(sbut, false)\n  end subroutine save_file_as\n\n  subroutine file_edited(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n\n    file_is_changed = .true.\n    if (filename == '') then\n       call gtk_widget_set_sensitive(sabut, TRUE)\n    else\n       call gtk_widget_set_sensitive(sbut, TRUE)\n    end if\n  end subroutine file_edited\n\n\n  subroutine activate(app, gdata) bind(c)\n    use, intrinsic :: iso_c_binding, only: c_ptr, c_funloc, c_null_char\n    use gtk, only: gtk_application_window_new, gtk_window_set_title\n    implicit none\n    type(c_ptr), value, intent(in)  :: app, gdata\n    ! Widgets that don't need to be global\n    type(c_ptr) :: base, jb, junk\n\n    ! Create a window and a column box\n    window = gtk_application_window_new(app)\n    call gtk_window_set_title(window, \"Choosers demo\"//c_null_char)\n\n    base = hl_gtk_box_new()\n    call gtk_window_set_child(window, base)\n\n    ! A row of buttons\n    jb = hl_gtk_box_new(horizontal=TRUE, homogeneous=TRUE)\n    call hl_gtk_box_pack(base, jb)\n    junk = hl_gtk_button_new(\"Open\"//c_null_char, clicked=c_funloc(open_file))\n    call hl_gtk_box_pack(jb, junk)\n    sbut = hl_gtk_button_new(\"Save\"//c_null_char, clicked=c_funloc(save_file),&\n         & sensitive=FALSE)\n    call hl_gtk_box_pack(jb, sbut)\n    sabut = hl_gtk_button_new(\"Save as\"//c_null_char, clicked=c_funloc(save_file_as), &\n         & sensitive=FALSE)\n    call hl_gtk_box_pack(jb, sabut)\n\n    ! A multiline text editor in which to display the file.\n    tedit = hl_gtk_text_view_new(jb, editable=TRUE, &\n         & changed=c_funloc(file_edited), ssize = [ 750_c_int, 400_c_int ] )\n    call hl_gtk_box_pack(base, jb)\n\n    ! A quit button\n    junk = hl_gtk_button_new(\"Quit\"//c_null_char, clicked=c_funloc(my_destroy))\n    call hl_gtk_box_pack(base, junk)\n\n    ! Realise & enter event loop\n    call gtk_widget_show(window)\n  end subroutine activate\nend module handlers\n\n\nprogram choosers_demo\n  use, intrinsic :: iso_c_binding, only: c_ptr, c_funloc, c_null_char\n  use handlers\n\n  implicit none\n  type(c_ptr)        :: app\n\n  app = hl_gtk_application_new(\"gtk-fortran.examples.hl_choosers\"//c_null_char, &\n                             & c_funloc(activate))\nend program choosers_demo\n\n"
  },
  {
    "path": "examples/hl_combo.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2011 The gtk-fortran team\n\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!------------------------------------------------------------------------------\n! Contributed by James Tappin.\n! Last modification: vmagnin 2020-05-28 (GTK 4 version), 2020-07-09\n!------------------------------------------------------------------------------\n\nmodule handlers\n  use gtk_hl_container\n  use gtk_hl_combobox\n  use gtk_hl_button\n  use gtk, only: gtk_button_new, gtk_combo_box_get_active, gtk_combo_box_new, &\n       & gtk_window_set_child, gtk_window_destroy, &\n       & gtk_widget_show, TRUE, FALSE\n\n  implicit none\n  type(c_ptr) :: win, box, c1, c2, qbut\n\ncontains\n\n  subroutine my_destroy(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n\n    print *, \"Exit called\"\n    call gtk_window_destroy(win)\n  end subroutine my_destroy\n\n  subroutine c_change(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n\n    integer, pointer :: index\n    integer(c_int) :: isel, nrow\n    character(len=40) :: value\n\n    if (c_associated(gdata)) then\n       call c_f_pointer(gdata, index)\n       print \"('Box:',I2)\", index\n    end if\n\n    isel = hl_gtk_combo_box_get_active(widget, ftext=value)\n    nrow = hl_gtk_combo_box_n_entries(widget)\n\n    print \"('Choice:',I2,' of ',i2,' Text:',a)\", isel, nrow, trim(value)\n  end subroutine c_change\n\n\n  subroutine activate(app, gdata) bind(c)\n    use, intrinsic :: iso_c_binding, only: c_ptr, c_funloc, c_null_char\n    use gtk, only: gtk_application_window_new, gtk_window_set_title\n    implicit none\n    type(c_ptr), value, intent(in)  :: app, gdata\n    character(len=20), dimension(8) :: list1\n    character(len=20) :: item2\n    integer :: i\n    integer, target :: d1=1, d2=2\n\n    ! Create the window:\n    win = gtk_application_window_new(app)\n    call gtk_window_set_title(win, \"Combo box demo\"//c_null_char)\n\n    ! Column box\n    box = hl_gtk_box_new()\n    call gtk_window_set_child(win, box)\n\n    ! A list with an entry box\n    do i = 1, 8\n       write(list1(i), \"('Item # ',I0)\") i-1\n    end do\n    c1 = hl_gtk_combo_box_new(has_entry=TRUE, changed=c_funloc(c_change), &\n         & initial_choices=list1, data=c_loc(d1))\n    call hl_gtk_box_pack(box, c1)\n\n    ! One without\n    c2 = hl_gtk_combo_box_new(changed=c_funloc(c_change), data=c_loc(d2))\n    call hl_gtk_box_pack(box, c2)\n\n    do i = 1, 5\n       write(item2, \"('Choice Number',I2)\") i\n       call hl_gtk_combo_box_add_text(c2, trim(item2)//c_null_char, at_start=TRUE)\n    end do\n\n    ! Quit button\n    qbut = hl_gtk_button_new(\"Quit\"//c_null_char, clicked=c_funloc(my_destroy))\n    call hl_gtk_box_pack(box, qbut)\n\n    ! Realize & enter event loop\n    call gtk_widget_show(win)\n  end subroutine activate\nend module handlers\n\n\nprogram combo_demo\n  use, intrinsic :: iso_c_binding, only: c_ptr, c_funloc, c_null_char\n  use handlers\n\n  implicit none\n  type(c_ptr)        :: app\n\n  app = hl_gtk_application_new(\"gtk-fortran.examples.hl_combo\"//c_null_char, &\n                             & c_funloc(activate))\nend program combo_demo\n\n"
  },
  {
    "path": "examples/hl_containers.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2011 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!------------------------------------------------------------------------------\n! Contributed by James Tappin.\n! Last modification: vmagnin 2020-06-03 (GTK 4 version), 2020-07-10\n!------------------------------------------------------------------------------\n\nmodule handlers\n  use, intrinsic :: iso_c_binding\n!  use gth_hl\n  use gtk_hl_container\n  use gtk_hl_button\n  use gtk, only: gtk_window_set_child, gtk_label_new, &\n       & gtk_widget_show, gtk_window_destroy, TRUE, FALSE\n\n  implicit none\n  type(c_ptr) :: win, base, nbook, qbut, table\n  type(c_ptr) :: my_gmainloop\n\ncontains\n\n  subroutine my_destroy(widget, gdata) bind(c)\n    type(c_ptr), value :: widget, gdata\n\n    print *, \"Exit called\"\n    call gtk_window_destroy(win)\n  end subroutine my_destroy\n\n  subroutine bpress(widget, gdata) bind(c)\n    type(c_ptr), value :: widget, gdata\n    integer(c_int), pointer :: fdata\n\n    call c_f_pointer(gdata, fdata)\n    print *, \"Pressed button \", fdata\n  end subroutine bpress\n\n\n  subroutine activate(app, gdata) bind(c)\n    use gtk, only: gtk_application_window_new, gtk_window_set_title\n    implicit none\n    type(c_ptr), value, intent(in)  :: app, gdata\n    integer(c_int) :: ipos\n    type(c_ptr) :: junk\n    integer(c_int) :: i\n    integer(c_int), dimension(6), target :: bval = [ (i, i = 1,6) ]\n    character(len=15) :: ltext\n\n    ! Create the window:\n    win = gtk_application_window_new(app)\n    call gtk_window_set_title(win, \"Table/notebook\"//c_null_char)\n\n    ! Now make a column box & put it into the window\n    base = hl_gtk_box_new()\n    call gtk_window_set_child(win, base)\n\n    ! Make a notebook container\n    nbook = hl_gtk_notebook_new()\n    call hl_gtk_box_pack(base, nbook)\n\n    ! First page is a 3x6 table\n    table=hl_gtk_table_new(homogeneous=TRUE)\n    ipos = hl_gtk_notebook_add_page(nbook, table, &\n         & label=\"Example table\"//c_null_char)\n\n    do i = 1, 6\n       write(ltext, \"('Table row',I2)\") i\n       junk = gtk_label_new(trim(ltext)//c_null_char)\n       call hl_gtk_table_attach(table, junk, 0_c_int, i-1_c_int, xspan=2_c_int)\n       junk = hl_gtk_button_new(\"Press\"//c_null_char, clicked=c_funloc(bpress), &\n            & data = c_loc(bval(i)))\n       call hl_gtk_table_attach(table, junk, 2_c_int, i-1_c_int)\n    end do\n\n    ! Then 4 relocatable dummy pages\n    do i = 1,4\n       write(ltext, \"('Dummy page',I2)\") i+1\n       junk = gtk_label_new(trim(ltext)//c_null_char)\n\n       ipos = hl_gtk_notebook_add_page(nbook, junk, label=trim(ltext)//c_null_char, &\n            & reorderable=TRUE)\n    end do\n\n    ! And a quit button\n    junk = hl_gtk_button_new(\"Quit\"//c_null_char, clicked=c_funloc(my_destroy))\n    call hl_gtk_box_pack(base, junk, expand=FALSE)\n\n    ! realize the window\n    call gtk_widget_show(win)\n  end subroutine activate\nend module handlers\n\nprogram containers\n  ! Containers\n  ! Test/demo of tables & notebooks.\n  use, intrinsic :: iso_c_binding, only: c_ptr, c_funloc, c_null_char\n  use handlers\n\n  implicit none\n  type(c_ptr)        :: app\n\n  app = hl_gtk_application_new(\"gtk-fortran.examples.hl_containers\"//c_null_char, &\n                             & c_funloc(activate))\nend program containers\n\n"
  },
  {
    "path": "examples/hl_dialog.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2011 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!------------------------------------------------------------------------------\n! Contributed by James Tappin.\n! GTK 4 version: vmagnin 2020-06-08, 2020-07-15\n! https://developer.gnome.org/gtk4/stable/GtkDialog.html\n!------------------------------------------------------------------------------\n\nmodule handlers\n!  use gtk_hl\n  use gtk_hl_container\n  use gtk_hl_button\n  use gtk_hl_dialog\n  use gtk, only: gtk_button_new, gtk_window_set_child, &\n       & gtk_widget_show, gtk_window_destroy\n\n  implicit none\n  type(c_ptr) :: win, box, label\n\ncontains\n  subroutine my_destroy(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n    print *, \"Exit called\"\n    call gtk_window_destroy(win)\n  end subroutine my_destroy\n\n  subroutine msg_alert(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n    integer(c_int) :: resp\n    character(len=40), dimension(5) :: msg\n\n    msg(1) = \"ALERT\"\n    msg(2) = \"\"\n    msg(3) = \"You have pressed an alert button\"\n    msg(4) = \"\"\n    msg(5) = \"You know that's dangerous\"\n\n    resp = hl_gtk_message_dialog_show(msg, GTK_BUTTONS_OK, &\n         & \"ALERT\"//c_null_char, &\n         & type=GTK_MESSAGE_WARNING, parent=win)\n    print *, \"hl_dialog.f90 resp=\", resp\n  end subroutine msg_alert\n\n  subroutine msg_quit(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n    integer(c_int) :: resp\n    character(len=40), dimension(3) :: msg\n\n    msg(1) =\"QUIT?\"\n    msg(2) = \"\"\n    msg(3) = \"Do you really want to quit?\"\n\n    resp = hl_gtk_message_dialog_show(msg, GTK_BUTTONS_YES_NO, &\n         & \"QUIT\"//c_null_char, parent=win)\n    if (resp == GTK_RESPONSE_YES) call gtk_window_destroy(win)\n  end subroutine msg_quit\n\n  subroutine msg_about(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n\n    call hl_gtk_about_dialog_gtk_fortran(win)\n  end subroutine msg_about\n\n\n  subroutine activate(app, gdata) bind(c)\n    use, intrinsic :: iso_c_binding, only: c_ptr, c_funloc, c_null_char\n    use gtk, only: gtk_application_window_new, gtk_window_set_title\n    implicit none\n    type(c_ptr), value, intent(in)  :: app, gdata\n    type(c_ptr) :: but\n\n    ! Make a window & put a horizontal box in it\n    win = gtk_application_window_new(app)\n    call gtk_window_set_title(win, \"Dialog demo\"//c_null_char)\n\n    box = hl_gtk_box_new(horizontal=TRUE, spacing=10_c_int)\n    call gtk_window_set_child(win, box)\n\n    ! 3 Buttons one shows a message, the next an about dialog and the\n    ! last a confirm exit dialog\n    but = hl_gtk_button_new('Alert'//c_null_char, clicked=c_funloc(msg_alert))\n    call hl_gtk_box_pack(box, but)\n\n    but = hl_gtk_button_new(\"About\"//c_null_char, clicked=c_funloc(msg_about))\n    call hl_gtk_box_pack(box, but)\n\n    but = hl_gtk_button_new('Quit'//c_null_char, clicked=c_funloc(msg_quit))\n    call hl_gtk_box_pack(box, but)\n\n    ! Display the window\n    call gtk_widget_show(win)\n    end subroutine activate\nend module handlers\n\n\nprogram dialog_demo\n  use, intrinsic :: iso_c_binding, only: c_ptr, c_funloc, c_null_char\n  use handlers\n\n  implicit none\n  type(c_ptr)        :: app\n\n  app = hl_gtk_application_new(\"gtk-fortran.examples.hl_dialog\"//c_null_char, &\n                             & c_funloc(activate))\nend program dialog_demo\n\n"
  },
  {
    "path": "examples/hl_infobar.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2012 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public\n!  License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!------------------------------------------------------------------------------\n! Contributed by James Tappin\n! Last modification: 2012-08-30, vmagnin 2020-06-04 (GTK 4), 2020-07-15\n!\n!! A demo of the HL infobar widget.\n!------------------------------------------------------------------------------\n\nmodule ib_handers\n!  use gth_hl\n  use gtk_hl_container\n  use gtk_hl_button\n  use gtk_hl_infobar\n  use gtk, only: gtk_window_set_child, gtk_window_destroy, &\n       & gtk_widget_show, TRUE, FALSE, &\n       & GTK_MESSAGE_INFO, GTK_MESSAGE_WARNING, &\n       & GTK_MESSAGE_QUESTION, GTK_MESSAGE_ERROR, GTK_MESSAGE_OTHER\n\n  implicit none\n  type(c_ptr) :: tlwindow, infobar\n  enum, bind(c)\n    enumerator :: my_quit\n    enumerator :: my_no\n    enumerator :: my_yes\n    enumerator :: my_ok\n    enumerator :: my_print\n    enumerator :: my_ignore\n  end enum\n\ncontains\n\n  subroutine delete_h(widget, data) bind(c)\n   type(c_ptr), value, intent(in) :: widget, data\n   print *, \"Exit called\"\n   call gtk_window_destroy(tlwindow)\n  end subroutine delete_h\n\n  subroutine response_h(widget, id, data) bind(c)\n   type(c_ptr), value, intent(in) :: widget, data\n   integer(c_int), value, intent(in) :: id\n\n   select case(id)\n   case(my_quit)\n      print *, \"Pressed 'QUIT'\"\n      call gtk_window_destroy(tlwindow)\n      return\n   case(my_yes)\n      print *, \"Pressed 'YES'\"\n   case(my_no)\n      print *, \"Pressed 'NO'\"\n   case(my_ok)\n      print *, \"Pressed 'OK'\"\n   case(my_ignore)\n   end select\n  end subroutine response_h\n\n  subroutine button_h(widget, data) bind(c)\n   type(c_ptr), value, intent(in) :: widget, data\n\n   integer(c_int), pointer :: index\n   integer(c_int), parameter, dimension(5) :: ids=[my_ok, my_yes, &\n        & my_no, my_ignore, my_quit]\n\n   call c_f_pointer(data, index)\n\n   select case (index)\n   case(0)\n      call hl_gtk_info_bar_message(infobar, &\n           & \"For your informatation\"//c_null_char, &\n           & type=GTK_MESSAGE_INFO, ids=ids, &\n           & state=[TRUE, FALSE, FALSE, TRUE, FALSE], &\n           & default=my_ok)\n   case(1)\n      call hl_gtk_info_bar_message(infobar, &\n           & \"Take care\"//c_null_char, &\n           & type=GTK_MESSAGE_WARNING, ids=ids, &\n           & state=[TRUE, FALSE, FALSE, TRUE, FALSE], &\n           & default=my_ignore)\n   case(2)\n      call hl_gtk_info_bar_message(infobar, &\n           & \"This is BAD!!!!\"//c_null_char, &\n           & type=GTK_MESSAGE_ERROR, ids=ids, &\n           & state=[FALSE, FALSE, FALSE, TRUE, TRUE], &\n           & default=my_quit)\n   case(3)\n      call hl_gtk_info_bar_message(infobar, &\n           & \"Are you certain\"//c_null_char, &\n           & type=GTK_MESSAGE_QUESTION, ids=ids, &\n           & state=[FALSE, TRUE, TRUE, TRUE, FALSE], &\n           & default=my_no)\n   case(4)\n      call hl_gtk_info_bar_message(infobar, &\n           & \"Something else again\"//c_null_char, &\n           & type=GTK_MESSAGE_OTHER, ids=ids, &\n           & state=[TRUE, FALSE, FALSE, TRUE, TRUE], &\n           & default=my_ignore)\n   end select\n  end subroutine button_h\n\n\n  subroutine activate(app, gdata) bind(c)\n    use, intrinsic :: iso_c_binding, only: c_ptr, c_funloc, c_null_char\n    use gtk, only: gtk_application_window_new, gtk_window_set_title\n    implicit none\n    type(c_ptr), value, intent(in)  :: app, gdata\n    integer(c_int), dimension(5), target :: button_states = &\n         & [0,1,2,3,4]\n    type(c_ptr) :: jb, junk\n\n    ! Create the window:\n    tlwindow = gtk_application_window_new(app)\n    call gtk_window_set_title(tlwindow, \"InfoBar demo\"//c_null_char)\n\n    jb = hl_gtk_table_new()\n    call gtk_window_set_child(tlwindow, jb)\n\n    junk=hl_gtk_button_new(\"Info\"//c_null_char, &\n         & clicked=c_funloc(button_h), data=c_loc(button_states(1)))\n    call hl_gtk_table_attach(jb, junk, 0_c_int, 0_c_int, yopts=0_c_int)\n    junk=hl_gtk_button_new(\"Warning\"//c_null_char, &\n         & clicked=c_funloc(button_h), data=c_loc(button_states(2)))\n    call hl_gtk_table_attach(jb, junk, 1_c_int, 0_c_int, yopts=0_c_int)\n    junk=hl_gtk_button_new(\"Error\"//c_null_char, &\n         & clicked=c_funloc(button_h), data=c_loc(button_states(3)))\n    call hl_gtk_table_attach(jb, junk, 2_c_int, 0_c_int, yopts=0_c_int)\n    junk=hl_gtk_button_new(\"Question\"//c_null_char, &\n         & clicked=c_funloc(button_h), data=c_loc(button_states(4)))\n    call hl_gtk_table_attach(jb, junk, 3_c_int, 0_c_int, yopts=0_c_int)\n    junk=hl_gtk_button_new(\"Other\"//c_null_char, &\n         & clicked=c_funloc(button_h), data=c_loc(button_states(5)))\n    call hl_gtk_table_attach(jb, junk, 4_c_int, 0_c_int, yopts=0_c_int)\n\n    infobar = hl_gtk_info_bar_new(buttons=&\n         & [character(len=6) :: 'OK','Yes','No','Ignore','Quit'], &\n         & ids=[my_ok, my_yes, my_no, my_ignore, my_quit], &\n         & response=c_funloc(response_h), horizontal=TRUE, buttons_below=TRUE)\n\n    call hl_gtk_table_attach(jb,infobar,0_c_int,1_c_int, &\n         & xspan=5_c_int, yopts=0_c_int)\n\n    ! Realize & enter event loop\n    call gtk_widget_show(tlwindow)\n    end subroutine activate\nend module ib_handers\n\n\nprogram hl_infobar\n  use, intrinsic :: iso_c_binding, only: c_ptr, c_funloc, c_null_char\n  use ib_handers\n\n  implicit none\n  type(c_ptr)        :: app\n\n  app = hl_gtk_application_new(\"gtk-fortran.examples.hl_infobar\"//c_null_char, &\n                             & c_funloc(activate))\nend program hl_infobar\n"
  },
  {
    "path": "examples/hl_list1.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2011 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!------------------------------------------------------------------------------\n! Contributed by James Tappin.\n! Last modifications: jerryd 2020-06-05 (GTK 4), vmagnin 2022-05-06\n!------------------------------------------------------------------------------\n\nmodule l1_handlers\n!  use gtk_hl\n  use gtk_hl_container\n  use gtk_hl_button\n  use gtk_hl_tree\n  use gtk_hl_entry\n  use gtk, only: gtk_button_new, gtk_check_button_new, &\n       & gtk_entry_get_text_length, gtk_entry_new, &\n       & gtk_entry_get_buffer, gtk_entry_buffer_get_text, &\n       & gtk_entry_buffer_set_text, &\n       & gtk_check_button_get_active,&\n       & gtk_check_button_set_active, gtk_widget_show, &\n       & gtk_window_destroy, gtk_window_set_child\n  use g, only: alloca\n\n  implicit none\n  ! The widgets. (Strictly only those that need to be accessed\n  ! by the handlers need to go here).\n  type(c_ptr) :: ihwin,ihscrollcontain,ihlist, base, &\n       & newline, qbut, dbut, dabut, jbox, jbox2, abut, swbut\n\ncontains\n  subroutine my_destroy(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n\n    print *, \"Exit called\"\n    call gtk_window_destroy(ihwin)\n  end subroutine my_destroy\n\n  recursive subroutine list_select(list, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: list, gdata\n\n    integer, pointer :: fdata\n    integer(c_int) :: nsel\n    integer(c_int), dimension(:), allocatable :: selections\n\n    if (c_associated(gdata)) then\n       call c_f_pointer(gdata, fdata)\n       nsel = hl_gtk_list1_get_selections(C_NULL_PTR, selections, list)\n       if (nsel == 0) return\n\n       if (fdata == 0) then\n          ! Find and print the selected row(s)\n          print *, nsel,\"Rows selected\"\n          print *, selections\n          deallocate(selections)\n       else    ! Delete the selected row\n          call gtk_check_button_set_active(dbut, FALSE)\n          fdata = 0\n          print *, \"Delete row:\", selections(1)\n          call hl_gtk_list1_rem(ihlist, selections(1))\n       end if\n    end if\n\n  end subroutine list_select\n\n  subroutine text_cr(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n\n    integer, pointer :: fdata\n\n    if (c_associated(gdata)) then\n       call c_f_pointer(gdata, fdata)\n       fdata = 1\n    end if\n  end subroutine text_cr\n\n  subroutine b_click(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n    integer, pointer :: fdata\n    type(c_ptr) :: buffer\n    integer(c_int16_t) :: ntext\n    character(:), allocatable :: ftext\n\n    if (c_associated(gdata)) then\n       call c_f_pointer(gdata, fdata)\n\n       if (fdata == 1) then\n          ntext = gtk_entry_get_text_length(newline)\n          buffer = gtk_entry_get_buffer(newline)\n          call c_f_string_copy_alloc(gtk_entry_buffer_get_text(buffer), ftext)\n\n          print *, len(ftext), ntext, ftext\n          ! Inserts at the end of the list:\n          call hl_gtk_list1_ins(ihlist, ftext//c_null_char)\n\n          ! Clears the buffer and the entry:\n          buffer = gtk_entry_get_buffer(newline)\n          ! number of caracters = -1 for automatic length:\n          call gtk_entry_buffer_set_text (buffer, \"\"//c_null_char, -1)\n       end if\n    end if\n  end subroutine b_click\n\n  subroutine del_toggle(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n\n    integer, pointer :: fdata\n\n    if (c_associated(gdata)) then\n       call c_f_pointer(gdata, fdata)\n       fdata = gtk_check_button_get_active(widget)\n    end if\n  end subroutine del_toggle\n\n  subroutine delete_all(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n\n    call hl_gtk_list1_rem(ihlist)\n  end subroutine delete_all\n\n  subroutine swap_rows(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n\n    integer(c_int) :: nsel, nrows\n    integer(c_int), dimension(:), allocatable :: selections\n    integer :: i\n\n    nsel = hl_gtk_list1_get_selections(ihlist, selections)\n    nrows = hl_gtk_list1_get_n_rows(ihlist)\n\n    select case(nsel)\n    case(0) ! No selected rows (roll the list)\n       allocate(selections(nrows))\n       selections = [ (i-1, i=1, nrows) ]\n       selections = cshift(selections, 1)\n       call hl_gtk_list1_reorder(ihlist, selections)\n    case(1) ! One row selected (move it up one unless it's the first)\n       if (selections(1) == 0) then\n          call hl_gtk_list1_move_row(ihlist, selections(1), 1_c_int, after=TRUE)\n       else\n          call hl_gtk_list1_move_row(ihlist, selections(1), &\n               & selections(1)-1_c_int)\n       end if\n    case default ! Multiple selections (swap first 2 selected rows)\n       call hl_gtk_list1_swap_rows(ihlist, selections(1), selections(2))\n    end select\n\n    deallocate(selections)\n  end subroutine swap_rows\n\n  subroutine activate(app, gdata) bind(c)\n    use, intrinsic :: iso_c_binding, only: c_ptr, c_funloc, c_null_char\n    use gtk, only: gtk_application_window_new, gtk_window_set_title\n    implicit none\n    type(c_ptr), value, intent(in)  :: app, gdata\n    character(len=35) :: line\n    integer :: i, ltr\n    integer, target :: iappend=1, idel=0\n\n    ! Create the window:\n    ihwin = gtk_application_window_new(app)\n    call gtk_window_set_title(ihwin, \"List demo\"//c_null_char)\n\n    ! Now make a column box & put it into the window\n    base = hl_gtk_box_new()\n    call gtk_window_set_child(ihwin, base)\n\n    ! Now make a single column list with multiple selections enabled\n    ihlist = hl_gtk_list1_new(ihscrollcontain, changed=c_funloc(list_select),&\n         & data=c_loc(idel), multiple=TRUE, height=400_c_int, &\n         & title=\"My list\"//c_null_char)\n\n    ! Now put 10 rows into it\n    do i=1,10\n       write(line,\"('List entry number ',I0)\") i\n       ltr=len_trim(line)+1\n       line(ltr:ltr)=c_null_char\n       print *, line\n       call hl_gtk_list1_ins(ihlist, line)\n    end do\n\n    ! It is the scrollcontainer that is placed into the box.\n    call hl_gtk_box_pack(base, ihscrollcontain)\n\n    ! Make row box put it in the column box and put an editable\n    ! 1-line text widget and a button in it\n    jbox = hl_gtk_box_new(horizontal=TRUE)\n    call hl_gtk_box_pack(base, jbox)\n\n    newline = hl_gtk_entry_new(len=35_c_int, editable=TRUE, &\n         & activate=c_funloc(text_cr), data=c_loc(iappend), &\n         & tooltip=\"Enter some text followed by <CR>\"//c_new_line//&\n         &\"then click 'Append' to add it to the list\"//c_null_char)\n    call hl_gtk_box_pack(jbox, newline)\n    abut = hl_gtk_button_new(\"Append\"//c_null_char, clicked=c_funloc(b_click),&\n         & data=c_loc(iappend))\n    call hl_gtk_box_pack(jbox, abut)\n\n    ! Make a row box and put it in the main box\n    jbox2 = hl_gtk_box_new(horizontal=TRUE)\n    call hl_gtk_box_pack(base, jbox2)\n    ! Make a checkbox button and put it in the row box\n    dbut = hl_gtk_check_button_new(\"Delete line\"//c_null_char,&\n         & toggled=c_funloc(del_toggle), initial_state=FALSE, &\n         & data=c_loc(idel), &\n         & tooltip=\"Set this then click on a line to delete it\"//c_null_char)\n    call hl_gtk_box_pack(jbox2, dbut)\n\n    ! And a delete all button.\n    dabut = hl_gtk_button_new(\"Clear\"//c_null_char, clicked=c_funloc(delete_all))\n    call hl_gtk_box_pack(jbox2, dabut)\n\n    ! And a swap rows button\n    swbut = hl_gtk_button_new(\"Swap rows\"//c_null_char, clicked=c_funloc(swap_rows))\n    call hl_gtk_box_pack(jbox2, swbut)\n\n    ! Also a quit button\n    qbut = hl_gtk_button_new(\"Quit\"//c_null_char, clicked=c_funloc(my_destroy))\n    call hl_gtk_box_pack(base,qbut)\n\n    ! realize the window\n    call gtk_widget_show(ihwin)\n  end subroutine activate\nend module l1_handlers\n\n\nprogram list1\n  ! LIST1\n  ! Demo of single column list\n  use, intrinsic :: iso_c_binding, only: c_ptr, c_funloc, c_null_char\n  use l1_handlers\n\n  implicit none\n  type(c_ptr)        :: app\n\n  app = hl_gtk_application_new(\"gtk-fortran.examples.hl_list1\"//c_null_char, &\n                             & c_funloc(activate))\nend program list1\n\n"
  },
  {
    "path": "examples/hl_list_n.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2011 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!------------------------------------------------------------------------------\n! Contributed by James Tappin.\n! Last modification: vmagnin 2020-06-12 (GTK 4), 2020-07-15\n!------------------------------------------------------------------------------\n\nmodule ln_handlers\n!  use gtk_hl\n  use gtk_hl_container\n  use gtk_hl_button\n  use gtk_hl_tree\n  use gtk_hl_entry\n  use gtk, only: gtk_button_new, gtk_window_set_child, gtk_widget_show, &\n               & gtk_window_destroy\n  use g, only: alloca, g_object_set_property\n\n  implicit none\n  ! The widgets. (Strictly only those that need to be accessed\n  ! by the handlers need to go here).\n  type(c_ptr) :: ihwin,ihscrollcontain,ihlist, base, &\n       &  qbut, lbl\n\ncontains\n  subroutine my_destroy(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n    print *, \"Exit called\"\n    call gtk_window_destroy(ihwin)\n  end subroutine my_destroy\n\n  subroutine list_select(list, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: list, gdata\n    integer(c_int) :: nsel\n    integer(c_int), dimension(:), allocatable :: selections\n    integer(c_int) :: n, n3\n    integer(c_int64_t) :: n4\n    real(c_float) :: nlog\n    character(len=30) :: name\n    character(len=10) :: nodd\n    character :: code, ucode\n    integer(c_int) :: icode, iucode\n\n    nsel = hl_gtk_listn_get_selections(C_NULL_PTR, selections, list)\n    if (nsel == 0) then\n       print *, \"No selection\"\n       return\n    end if\n\n    ! Find and print the selected row(s)\n    print *, nsel,\"Rows selected\"\n    print *, selections\n    if (nsel == 1) then\n       call hl_gtk_listn_get_cell(ihlist, selections(1), 0_c_int, svalue=name)\n       call hl_gtk_listn_get_cell(ihlist, selections(1), 1_c_int, ivalue=n)\n       call hl_gtk_listn_get_cell(ihlist, selections(1), 2_c_int, ivalue=n3)\n       call hl_gtk_listn_get_cell(ihlist, selections(1), 4_c_int, l64value=n4)\n       call hl_gtk_listn_get_cell(ihlist, selections(1), 3_c_int, fvalue=nlog)\n       call hl_gtk_listn_get_cell(ihlist, selections(1), 5_c_int, svalue=nodd)\n       call hl_gtk_listn_get_cell(ihlist, selections(1), 6_c_int, svalue=code)\n       call hl_gtk_listn_get_cell(ihlist, selections(1), 7_c_int, svalue=ucode)\n       call hl_gtk_listn_get_cell(ihlist, selections(1), 6_c_int, ivalue=icode)\n       call hl_gtk_listn_get_cell(ihlist, selections(1), 7_c_int, ivalue=iucode)\n       print \"('Row:',I3,' Name: ',a,' N:',I3,' 3N:',I4,' N**4:',I7,&\n            &' log(n):',F7.5,' Odd?: ',a, ' Code:',a,a)\", &\n            & selections(1), trim(name), n, n3, n4, nlog, nodd, code, ucode\n       print *, ichar(code), ichar(ucode)\n       print *, icode, iucode\n    end if\n\n    deallocate(selections)\n  end subroutine list_select\n\n  subroutine display_int(col, cell, model, iter, data) bind(c)\n    type(c_ptr), value, intent(in) :: col, cell, model, iter, data\n\n    ! Formatting routine attached via hl_gtk_listn_set_cell_data_func\n    ! Note that the column index is passed via the DATA argument, so\n    ! far as I can see the only other way is to use constants.\n    character(len=10) :: rstring\n    integer(c_int) :: ival\n    type(gvalue), target :: ivalue, svalue\n    type(c_ptr) :: val_ptr\n    integer(c_int), pointer :: colno\n\n    call c_f_pointer(data, colno)\n\n    call gtk_tree_model_get_value(model, iter, colno, c_loc(ivalue))\n    ival = g_value_get_int(c_loc(ivalue))\n\n    write(rstring, \"(I7.6)\") ival\n\n    val_ptr = c_loc(svalue)\n    val_ptr = g_value_init(val_ptr, G_TYPE_STRING)\n\n    call g_value_set_string(val_ptr, trim(rstring)//c_null_char)\n    call g_object_set_property(cell, \"text\"//c_null_char, val_ptr)\n  end subroutine display_int\n\n  subroutine cell_edited(renderer, path, text, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: renderer, path, text, gdata\n\n    ! Callback for edited cells.\n    character(len=200) :: fpath, ftext\n    integer(c_int) :: irow\n    integer(c_int), pointer :: icol\n    integer :: ios\n    type(c_ptr) :: pcol, list\n    integer(c_int) :: n\n\n    call convert_c_string(path, fpath)\n    read(fpath, *) irow\n    pcol = g_object_get_data(renderer, \"column-number\"//c_null_char)\n    call c_f_pointer(pcol, icol)\n    call convert_c_string(text, ftext)\n    list = g_object_get_data(renderer, \"view\"//c_null_char)\n\n    if (icol == 0) then\n       call hl_gtk_listn_set_cell(list, irow, icol, &\n            & svalue=trim(ftext))\n    else\n       read(ftext, *, iostat=ios) n\n       if (ios /= 0) return\n       call hl_gtk_listn_set_cell(ihlist, irow, 2_c_int, &\n            & ivalue=3_c_int*n)\n       call hl_gtk_listn_set_cell(ihlist, irow, 3_c_int, fvalue=log10(real(n)))\n       call hl_gtk_listn_set_cell(ihlist, irow, 4_c_int, &\n            & l64value=int(n,c_int64_t)**4)\n       call hl_gtk_listn_set_cell(ihlist, irow, 5_c_int, ivalue=mod(n,2_c_int))\n       ! Note we set the N value last as this is a sortable column, if we\n       ! are sorted on ODD/EVEN it will probably still go wrong.\n       call hl_gtk_listn_set_cell(ihlist, irow, 1_c_int, ivalue=n)\n    end if\n  end subroutine cell_edited\n\n  subroutine activate(app, gdata) bind(c)\n    use, intrinsic :: iso_c_binding, only: c_ptr, c_funloc, c_null_char\n    use gtk, only: gtk_application_window_new, gtk_window_set_title\n    implicit none\n    type(c_ptr), value, intent(in)  :: app, gdata\n    character(len=35) :: line\n    integer(c_int) :: i, ltr\n    integer(type_kind), dimension(8) :: ctypes\n    character(len=20), dimension(8) :: titles\n    integer(c_int), dimension(8) :: sortable, editable\n    integer(c_int), target :: fmt_col = 2\n    character(kind=c_char), dimension(10) :: codes\n\n    ! Create the window:\n    ihwin = gtk_application_window_new(app)\n    call gtk_window_set_title(ihwin, \"multi-column list demo\"//c_null_char)\n\n    ! Now make a column box & put it into the window\n    base = hl_gtk_box_new()\n    call gtk_window_set_child(ihwin, base)\n\n    ! Now make a multi column list with multiple selections enabled\n    ctypes = [ G_TYPE_STRING, G_TYPE_INT, G_TYPE_INT, G_TYPE_FLOAT, &\n         & G_TYPE_UINT64, G_TYPE_BOOLEAN, G_TYPE_CHAR, G_TYPE_UCHAR ]\n    sortable = [ FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, TRUE, FALSE ]\n    editable = [ TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE ]\n    codes = [ 'A', 'X', 'B', '?', 'A', 'C', char(185), 'u', '*', char(201)]\n\n    titles(1) = \"Name\"\n    titles(2) = \"N\"\n    titles(3) = \"3N\"\n    titles(4) = \"Log(n)\"\n    titles(5) = \"N**4\"\n    titles(6) = \"Odd?\"\n    titles(7) = \"Code\"\n    titles(8) = \"Ucode\"\n\n    ihlist = hl_gtk_listn_new(ihscrollcontain, types=ctypes, &\n         & changed=c_funloc(list_select),&\n         & multiple=TRUE, height=250_c_int, swidth=600_c_int, titles=titles, &\n         & sortable=sortable, editable=editable, &\n         & edited=c_funloc(cell_edited))\n\n    call hl_gtk_listn_set_cell_data_func(ihlist, fmt_col, &\n         & func=c_funloc(display_int), &\n         & data=c_loc(fmt_col))\n\n    ! Now put 10 rows into it\n    do i=1,10\n       call hl_gtk_listn_ins(ihlist)\n       write(line,\"('List entry number ',I0)\") i\n       ltr=len_trim(line)+1\n       line(ltr:ltr)=c_null_char\n       call hl_gtk_listn_set_cell(ihlist, i-1_c_int, 0_c_int, svalue=line)\n       call hl_gtk_listn_set_cell(ihlist, i-1_c_int, 1_c_int, ivalue=i)\n       call hl_gtk_listn_set_cell(ihlist, i-1_c_int, 2_c_int, ivalue=3_c_int*i)\n       call hl_gtk_listn_set_cell(ihlist, i-1_c_int, 3_c_int, &\n            & fvalue=log10(real(i)))\n       call hl_gtk_listn_set_cell(ihlist, i-1_c_int, 4_c_int, &\n            & l64value=int(i,c_int64_t)**4)\n       call hl_gtk_listn_set_cell(ihlist, i-1_c_int, 5_c_int, &\n            & ivalue=mod(i,2_c_int))\n       call hl_gtk_listn_set_cell(ihlist, i-1_c_int, 6_c_int, svalue=codes(i))\n       call hl_gtk_listn_set_cell(ihlist, i-1_c_int, 7_c_int, svalue=codes(i))\n    end do\n\n    ! A silly idea to test a hunch\n    print *, codes\n    codes = char(ichar(codes)-2)\n    print *, codes\n\n    ! It is the scrollcontainer that is placed into the box.\n    call hl_gtk_box_pack(base, ihscrollcontain)\n\n    ! Add a note about editable columns\n    lbl = gtk_label_new(\"The \"\"Name\"\" and \"\"N\"\" columns are editable\"//c_null_char)\n    call hl_gtk_box_pack(base, lbl)\n\n    ! Also a quit button\n    qbut = hl_gtk_button_new(\"Quit\"//c_null_char, clicked=c_funloc(my_destroy))\n    call hl_gtk_box_pack(base,qbut)\n\n    ! realize the window\n    print *, \"Created\"\n    call gtk_widget_show(ihwin)\n    print *, \"Realized\"\n    end subroutine activate\nend module ln_handlers\n\n\nprogram list_n\n  ! LIST_N\n  ! Demo of multi column list\n  use, intrinsic :: iso_c_binding, only: c_ptr, c_funloc, c_null_char\n  use ln_handlers\n\n  implicit none\n  type(c_ptr)        :: app\n\n  app = hl_gtk_application_new(\"gtk-fortran.examples.hl_list_n\"//c_null_char, &\n                             & c_funloc(activate))\nend program list_n\n"
  },
  {
    "path": "examples/hl_list_renderers.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2011 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!------------------------------------------------------------------------------\n! Contributed by James Tappin.\n! Last modifications: vmagnin 2020-06-12 (GTK 4), 2020-07-15\n!------------------------------------------------------------------------------\n\nmodule ln_handlers\n!  use gtk_hl\n  use gtk_hl_container\n  use gtk_hl_button\n  use gtk_hl_tree\n  use gtk_hl_entry\n  use gdk_pixbuf_hl\n\n  use gtk, only: gtk_button_new, gtk_window_set_child, &\n               & gtk_widget_show, gtk_window_destroy\n  use g, only: g_object_set_property\n  use gdk_pixbuf_hl\n\n  implicit none\n  ! The widgets. (Strictly only those that need to be accessed\n  ! by the handlers need to go here).\n  type(c_ptr) :: ihwin,ihscrollcontain,ihlist, base, qbut, lbl\n\ncontains\n  subroutine my_destroy(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n    print *, \"Exit called\"\n    call gtk_window_destroy(ihwin)\n  end subroutine my_destroy\n\n  subroutine list_select(list, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: list, gdata\n    integer(c_int) :: nsel\n    integer(c_int), dimension(:), allocatable :: selections\n    real(c_double) :: x, x3\n    integer(c_int64_t) :: n4\n    real(c_float) :: nlog\n    character(len=30) :: name\n    character(len=10) :: nodd\n    character :: code\n    type(c_ptr) :: pixbuf\n    integer(c_short), dimension(:,:,:), allocatable :: pixels\n\n    nsel = hl_gtk_listn_get_selections(C_NULL_PTR, selections, list)\n    if (nsel == 0) then\n       print *, \"No selection\"\n       return\n    end if\n\n    ! Find and print the selected row(s)\n    print *, nsel,\"Rows selected\"\n    print *, selections\n    if (nsel == 1) then\n       call hl_gtk_listn_get_cell(ihlist, selections(1), 0_c_int, svalue=name)\n       call hl_gtk_listn_get_cell(ihlist, selections(1), 1_c_int, dvalue=x)\n       call hl_gtk_listn_get_cell(ihlist, selections(1), 2_c_int, dvalue=x3)\n       call hl_gtk_listn_get_cell(ihlist, selections(1), 4_c_int, l64value=n4)\n       call hl_gtk_listn_get_cell(ihlist, selections(1), 3_c_int, fvalue=nlog)\n       call hl_gtk_listn_get_cell(ihlist, selections(1), 5_c_int, svalue=nodd)\n       call hl_gtk_listn_get_cell(ihlist, selections(1), 6_c_int, svalue=code)\n       call hl_gtk_listn_get_cell(ihlist, selections(1), 8_c_int, &\n            & pbvalue=pixbuf)\n       call hl_gdk_pixbuf_get_pixels(pixbuf, pixels)\n       print \"('Row:',I3,' Name: ',a,' X:',F7.2,' 3X:',F7.2,' X**4:',I7,&\n            &' log(n):',F7.5,' Odd?: ',a, ' Code:',a)\", &\n            & selections(1), trim(name), x, x3, n4, nlog, nodd, code\n       print *, \"Pixels: \", pixels(:,3,3)\n    end if\n\n    deallocate(selections)\n  end subroutine list_select\n\n  subroutine cell_edited(renderer, path, text, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: renderer, path, text, gdata\n\n    ! Callback for edited cells.\n    character(len=200) :: fpath, ftext\n    integer(c_int) :: irow\n    integer(c_int), pointer :: icol\n    integer :: ios\n    type(c_ptr) :: pcol, list\n    real(c_double) :: x\n\n    call convert_c_string(path, fpath)\n    read(fpath, *) irow\n    pcol = g_object_get_data(renderer, \"column-number\"//c_null_char)\n    call c_f_pointer(pcol, icol)\n    call convert_c_string(text, ftext)\n    list = g_object_get_data(renderer, \"view\"//c_null_char)\n\n    print *, \"Edit in column\", icol\n\n    if (icol == 0) then\n       call hl_gtk_listn_set_cell(list, irow, icol, &\n            & svalue=trim(ftext))\n    else\n       read(ftext, *, iostat=ios) x\n       if (ios /= 0) return\n       call hl_gtk_listn_set_cell(ihlist, irow, 2_c_int, dvalue=3*x)\n       call hl_gtk_listn_set_cell(ihlist, irow, 3_c_int, dvalue=log10(x))\n       call hl_gtk_listn_set_cell(ihlist, irow, 4_c_int, &\n            & l64value=int(x**4,c_int64_t))\n       call hl_gtk_listn_set_cell(ihlist, irow, 5_c_int, &\n            & ivalue=mod(int(x, c_int),2_c_int))\n       call hl_gtk_listn_set_cell(ihlist, irow, 7_c_int, &\n            & ivalue=mod(int(3*x, c_int),100_c_int))\n       call hl_gtk_listn_set_cell(ihlist, irow, 1_c_int, dvalue=x)\n    end if\n  end subroutine cell_edited\n\n  subroutine ccell_edit(renderer, path, text, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: renderer, path, text, gdata\n\n    ! Basic callback to report what's called\n    character(len=200) :: fpath, ftext\n    integer(c_int) :: irow\n\n    call c_f_string(path, fpath)\n    call c_f_string(text, ftext)\n    read(fpath, *) irow\n\n    print *, \"Combo sent edited signal from \", trim(fpath)\n    print *, \"Text was \", trim(ftext)\n    call hl_gtk_listn_set_cell(ihlist, irow, 9_c_int, svalue=trim(ftext))\n\n  end subroutine ccell_edit\n\n  subroutine ccell_changed(renderer, path, iter, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: renderer, path, iter, gdata\n\n    ! Basic callback to report what's called\n    character(len=200) :: fpath\n\n    call c_f_string(path, fpath)\n    print *, \"Combo sent changed signal from \", trim(fpath)\n\n  end subroutine ccell_changed\n\n  subroutine cell_clicked(renderer, path, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: renderer, path, gdata\n\n    character(len=200) :: fpath\n    integer(c_int) :: irow\n    integer(c_int), pointer :: icol\n    type(c_ptr) :: pcol, list\n    logical :: state\n\n    call convert_c_string(path, fpath)\n    read(fpath, *) irow\n\n    pcol = g_object_get_data(renderer, \"column-number\"//c_null_char)\n    call c_f_pointer(pcol, icol)\n\n    list = g_object_get_data(renderer, \"view\"//c_null_char)\n\n    state = c_f_logical(gtk_cell_renderer_toggle_get_active(renderer))\n\n    print *, \"Changed state in row\", irow, \" to \", .not. state\n\n    call hl_gtk_listn_set_cell(list, irow, icol, &\n         & logvalue= .not. state)\n\n  end subroutine cell_clicked\n\n  subroutine rcell_clicked(renderer, path, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: renderer, path, gdata\n\n    ! Default callback for a toggle button in a list\n    !\n    ! RENDERER |  c_ptr |  required |  The renderer which sent the signal\n    ! PATH |  c_ptr |  required |  The path at which to insert\n    ! GDATA |  c_ptr |  required |  User data, Not used.\n    !\n    ! The column number is passed via the \"column-number\" gobject data value.\n    ! The treeview containing the cell is passed via the \"view\" gobject\n    ! data value.\n    ! The row number is passed as a string in the PATH argument.\n    ! This routine is not normally called by the application developer.\n    !-\n    character(len=200) :: fpath\n    integer(c_int) :: irow\n    integer(c_int), pointer :: icol\n    integer(c_int) :: i\n    type(c_ptr) :: pcol, list\n    logical :: state\n    integer(c_int) :: nrows\n\n    call convert_c_string(path, fpath)\n    read(fpath, *) irow\n\n    pcol = g_object_get_data(renderer, \"column-number\"//c_null_char)\n    call c_f_pointer(pcol, icol)\n\n    list = g_object_get_data(renderer, \"view\"//c_null_char)\n\n    state = c_f_logical(gtk_cell_renderer_toggle_get_active(renderer))\n    print *, irow, state\n\n    if (state) return ! Don't act on an unset\n\n    ! Find the first iterator\n    nrows = gtk_tree_model_iter_n_children (gtk_tree_view_get_model(list), &\n         & c_null_ptr)\n    do i = 0,nrows-1\n       call hl_gtk_listn_set_cell(list, i, icol, &\n            & logvalue= i == irow)\n    end do\n  end subroutine rcell_clicked\n\n  subroutine display_dbl(col, cell, model, iter, data) bind(c)\n    type(c_ptr), value, intent(in) :: col, cell, model, iter, data\n\n    ! Formatting routine attached via hl_gtk_listn_set_cell_data_func\n    ! Note that the column index is passed via the DATA argument, so\n    ! far as I can see the only other way is to use constants.\n    character(len=20) :: rstring\n    real(c_double) :: dval\n    type(gvalue), target :: dvalue, svalue\n    type(c_ptr) :: val_ptr\n    integer(c_int), pointer :: colno\n\n    call c_f_pointer(data, colno)\n\n    call gtk_tree_model_get_value(model, iter, colno, c_loc(dvalue))\n    dval = g_value_get_double(c_loc(dvalue))\n\n    write(rstring, \"(f8.1)\") dval\n\n    val_ptr = c_loc(svalue)\n    val_ptr = g_value_init(val_ptr, G_TYPE_STRING)\n\n    call g_value_set_string(val_ptr, trim(rstring)//c_null_char)\n    call g_object_set_property(cell, \"text\"//c_null_char, val_ptr)\n  end subroutine display_dbl\n\n\n  subroutine activate(app, gdata) bind(c)\n    use, intrinsic :: iso_c_binding, only: c_ptr, c_funloc, c_null_char\n    use gtk, only: gtk_application_window_new, gtk_window_set_title\n    implicit none\n    type(c_ptr), value, intent(in)  :: app, gdata\n    integer, parameter :: ncols = 11, nrows=10\n    character(len=35) :: line\n    integer(c_int) :: i, ltr\n    integer(type_kind), dimension(ncols) :: ctypes\n    character(len=20), dimension(ncols) :: titles, renderers\n    integer(c_int), dimension(ncols) :: editable\n    integer(c_int), dimension(ncols) :: widths\n    integer(c_int), dimension(2), target :: fmt_col = [1, 2]\n    integer(c_short), dimension(3, 100, 24) :: image\n    integer(c_short), dimension(nrows) :: red, green, blue\n    type(c_ptr) :: pixbuf\n\n    red =   [0_c_short, 255_c_short, 255_c_short,   0_c_short,   0_c_short,&\n            &0_c_short, 255_c_short, 255_c_short, 85_c_short, 170_c_short]\n    green = [0_c_short, 255_c_short,   0_c_short, 255_c_short,   0_c_short,&\n            &255_c_short,   0_c_short, 255_c_short, 85_c_short, 170_c_short]\n    blue =  [0_c_short, 255_c_short,   0_c_short,   0_c_short, 255_c_short,&\n            &255_c_short, 255_c_short,   0_c_short, 85_c_short, 170_c_short]\n\n    ! Create the window:\n    ihwin = gtk_application_window_new(app)\n    call gtk_window_set_title(ihwin, \"Renderers list demo\"//c_null_char)\n\n    ! Now make a column box & put it into the window\n    base = hl_gtk_box_new()\n    call gtk_window_set_child(ihwin, base)\n\n    ! Now make a multi column list with multiple selections enabled\n    ctypes = [ G_TYPE_STRING, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, &\n         & G_TYPE_UINT64, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN, G_TYPE_INT,&\n         & gdk_pixbuf_get_type(), G_TYPE_STRING , G_TYPE_BOOLEAN ]\n    editable = [ TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, &\n         & FALSE, TRUE, TRUE ]\n    widths = [-1, -1, -1, -1, -1, -1, -1, 150, -1, -1, -1]\n\n    titles = [ character(len=20) :: \"Name\", \"N\", \"3N\", \"Log(n)\", &\n         & \"N**4\", \"Odd?\", \"Select?\", \"Fraction\", \"Colour\", \"Choose\", \"Pick\" ]\n    renderers = [ hl_gtk_cell_text, hl_gtk_cell_spin, hl_gtk_cell_text, &\n         & hl_gtk_cell_text, hl_gtk_cell_text, hl_gtk_cell_text,&\n         & hl_gtk_cell_toggle, hl_gtk_cell_progress, hl_gtk_cell_pixbuf, &\n         & hl_gtk_cell_combo, hl_gtk_cell_radio ]\n\n    ihlist = hl_gtk_listn_new(types=ctypes, &\n         & changed=c_funloc(list_select),&\n         & multiple=TRUE, titles=titles, width=widths, &\n         & renderers=renderers, editable=editable, &\n         & edited=c_funloc(cell_edited), toggled=c_funloc(cell_clicked), &\n         & toggled_radio=c_funloc(rcell_clicked), &\n         & edited_combo=c_funloc(ccell_edit), &\n         & changed_combo=c_funloc(ccell_changed))\n\n    call hl_gtk_listn_config_spin(ihlist, 1_c_int, vmax = huge(1._c_double), &\n         & step = 0.1_c_double, digits=1_c_int)\n    call hl_gtk_listn_config_combo(ihlist, 9_c_int, &\n         & vals=['one  ', 'two  ', 'three'], &\n         & has_entry=FALSE)\n\n    do i = 1, size(fmt_col)\n       call hl_gtk_listn_set_cell_data_func(ihlist, fmt_col(i), &\n            & func=c_funloc(display_dbl), &\n            & data=c_loc(fmt_col(i)))\n    end do\n    ! Now put <nrows> rows into it\n    call hl_gtk_listn_ins(ihlist, count=nrows)\n    do i=1,nrows\n       write(line,\"('List entry number ',I0)\") i\n       ltr=len_trim(line)+1\n       line(ltr:ltr)=c_null_char\n       call hl_gtk_listn_set_cell(ihlist, i-1_c_int, 0_c_int, svalue=line)\n       call hl_gtk_listn_set_cell(ihlist, i-1_c_int, 1_c_int, &\n            & dvalue=real(i, c_double))\n       call hl_gtk_listn_set_cell(ihlist, i-1_c_int, 2_c_int, &\n            & dvalue=real(3*i, c_double))\n       call hl_gtk_listn_set_cell(ihlist, i-1_c_int, 3_c_int, &\n            & fvalue=log10(real(i)))\n       call hl_gtk_listn_set_cell(ihlist, i-1_c_int, 4_c_int, &\n            & l64value=int(i, c_int64_t)**4)\n       call hl_gtk_listn_set_cell(ihlist, i-1_c_int, 5_c_int, &\n            & ivalue=mod(i,2_c_int))\n       call hl_gtk_listn_set_cell(ihlist, i-1_c_int, 6_c_int, &\n            & logvalue=mod(i,3_c_int) == 0)\n       call hl_gtk_listn_set_cell(ihlist, i-1_c_int, 7_c_int, &\n            & ivalue=mod(3_c_int*i, 100_c_int))\n       image(1,:,:) = red(i)\n       image(2,:,:) = green(i)\n       image(3,:,:) = blue(i)\n       pixbuf = hl_gdk_pixbuf_new(image)\n       call hl_gtk_listn_set_cell(ihlist, i-1_c_int, 8_c_int, pbvalue=pixbuf)\n       call hl_gtk_listn_combo_set_select(ihlist, i-1_c_int, 9_c_int, &\n            & selection=mod(i,3_c_int))\n       call hl_gtk_listn_set_cell(ihlist, i-1_c_int, 10_c_int, logvalue= i==4)\n    end do\n\n    ! It is the scrollcontainer that is placed into the box.\n    call hl_gtk_box_pack(base, ihlist)\n\n    ! Add a note about editable columns\n    lbl = gtk_label_new('The \"Name\", \"N\" and \"Select?\" columns are editable'&\n         &//c_null_char)\n    call hl_gtk_box_pack(base, lbl)\n\n    ! Also a quit button\n    qbut = hl_gtk_button_new(\"Quit\"//c_null_char, clicked=c_funloc(my_destroy))\n    call hl_gtk_box_pack(base,qbut)\n\n    ! realize the window\n    call gtk_widget_show(ihwin)\n    end subroutine activate\nend module ln_handlers\n\n\nprogram list_rend\n  ! LIST_REND\n  ! Demo of multi column list, with renderers\n  use, intrinsic :: iso_c_binding, only: c_ptr, c_funloc, c_null_char\n  use ln_handlers\n\n  implicit none\n  type(c_ptr)        :: app\n\n  app = hl_gtk_application_new(\"gtk-fortran.examples.hl_list_renderers\"//c_null_char, &\n                             & c_funloc(activate))\nend program list_rend\n"
  },
  {
    "path": "examples/hl_pbar.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2011 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!------------------------------------------------------------------------------\n! Contributed by James Tappin.\n! Last modification: vmagnin 2020-06-02 (GTK 4 version), 2025-05-27\n!------------------------------------------------------------------------------\n\nmodule handlers\n!  use gth_hl\n  use gtk_hl_container\n  use gtk_hl_progress\n  use gtk_hl_button\n  use gtk, only: gtk_button_new, gtk_window_set_child, gtk_window_destroy, &\n       & gtk_progress_bar_new, gtk_widget_show, gtk_window_new, &\n       & gtk_init\n  use g, only: g_usleep, g_main_context_iteration, g_main_context_pending\n\n  implicit none\n  type(c_ptr) :: win,bar,pbar,qbut, box\n  integer(c_int) :: run_status = TRUE\n  integer(c_int) :: boolresult\n\ncontains\n  subroutine my_destroy(widget, gdata) bind(c)\n    type(c_ptr), value :: widget, gdata\n    print *, \"Exit called\"\n    run_status = FALSE\n    call gtk_window_destroy(win)\n  end subroutine my_destroy\n\n  ! This function is needed to update the GUI during long computations.\n  ! https://developer.gnome.org/glib/stable/glib-The-Main-Event-Loop.html\n  subroutine pending_events ()\n    do while(IAND(g_main_context_pending(c_null_ptr), run_status) /= FALSE)\n      ! FALSE for non-blocking:\n      boolresult = g_main_context_iteration(c_null_ptr, FALSE)\n    end do\n  end subroutine pending_events\n\nend module handlers\n\nprogram progress\n  ! PROGRESS\n  ! Examples of progress bars\n\n  use handlers\n\n  implicit none\n  integer :: t0, t1, istep\n  real(c_double) :: bval\n\n  ! Initialize gtk & create a window for the heirarchy\n  call gtk_init()\n  win = hl_gtk_window_new(\"Progress\"//c_null_char, destroy=c_funloc(my_destroy))\n\n  ! Make a column box to contain our widgets and put it in the window\n  box = hl_gtk_box_new()\n  call gtk_window_set_child(win, box)\n\n  ! Make 2 horizontal progress bars and put them in the box\n  bar = hl_gtk_progress_bar_new()\n  call hl_gtk_box_pack(box, bar)\n  pbar = hl_gtk_progress_bar_new(step=0.05_c_double)\n  call hl_gtk_box_pack(box, pbar)\n\n  ! Make a quit button and put that in the box.\n  qbut = hl_gtk_button_new(\"Quit\"//c_null_char, clicked=c_funloc(my_destroy))\n  call hl_gtk_box_pack(box, qbut)\n\n  ! Display the window\n  call gtk_widget_show(win)\n\n  ! Get the epoch in milliseconds and start a counter\n  call system_clock(t0)\n  istep = 0\n\n  ! event loop\n  do\n     call pending_events()\n     if (run_status == FALSE) exit\n     call g_usleep(10000_c_long) ! So we don't burn CPU cycles\n     istep = istep+1\n     call system_clock(t1)\n     bval = real(t1-t0, c_double)/10000._c_double\n     if (bval > 1._c_double) exit\n     call hl_gtk_progress_bar_set(bar, bval, string=TRUE)\n     if (mod(istep, 20) == 0) &\n          & call hl_gtk_progress_bar_set(pbar, text=\"Working\"//c_null_char)\n     ! There's an issue with string arguments in overloaded procedures\n  end do\n\n  print *, \"Bye...\"\nend program progress\n"
  },
  {
    "path": "examples/hl_sliders.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2011 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!------------------------------------------------------------------------------\n! Contributed by James Tappin.\n! Last modification: vmagnin 2020-05-28 (GTK 4), 2020-07-14\n!------------------------------------------------------------------------------\n\nmodule handlers\n  use gtk_hl_container\n  use gtk_hl_button\n  use gtk_hl_spin_slider\n  use gtk, only: gtk_button_new, gtk_window_set_child, &\n       & gtk_spin_button_get_value, gtk_spin_button_new, &\n       & gtk_spin_button_set_value, gtk_window_destroy, &\n       & gtk_widget_show, TRUE, FALSE\n\n  implicit none\n  type(c_ptr) :: base, box, slid, islid, win, qbut, spin, ispin\n\ncontains\n  subroutine my_destroy(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n    print *, \"Exit called\"\n    call gtk_window_destroy(win)\n  end subroutine my_destroy\n\n  subroutine slider1(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n    ! Moved the float slider, set the int spinner and report\n    real(c_double) :: val\n\n    val = hl_gtk_slider_get_value(widget)\n    print *, \"FP slider moved to\", val\n    call hl_gtk_spin_button_set_value(spin, val)\n  end subroutine slider1\n\n  subroutine slider2(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n    ! Moved the int slider, set the int spinner and report\n    integer(c_int) :: ival\n\n    ival = nint(hl_gtk_slider_get_value(widget), c_int)\n    print *, 'INT slider moved to', ival\n    call hl_gtk_spin_button_set_value(ispin, ival)\n  end subroutine slider2\n\n  subroutine spinner1(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n    ! Moved the FP spinner, set the FP slider & report\n    real(c_double) :: val\n\n    val = hl_gtk_spin_button_get_value(widget)\n    print *, \"FP spinner moved to\", val\n    call hl_gtk_slider_set_value(slid, val)\n  end subroutine spinner1\n\n  subroutine spinner2(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n    ! Move the int spinner, set the int slider & report\n    integer(c_int) :: ival\n\n    ival = nint(hl_gtk_spin_button_get_value(widget), c_int)\n    print *, 'INT spinner moved to', ival\n    call hl_gtk_slider_set_value(islid, ival)\n  end subroutine spinner2\n\n  subroutine activate(app, gdata) bind(c)\n    use, intrinsic :: iso_c_binding, only: c_ptr, c_funloc, c_null_char\n    use gtk, only: gtk_application_window_new, gtk_window_set_title\n    implicit none\n    type(c_ptr), value, intent(in)  :: app, gdata\n\n    ! Create a window and 2 boxes, one horizontal,one vertical\n    win = gtk_application_window_new(app)\n    call gtk_window_set_title(win, \"Sliders demo\"//c_null_char)\n\n    base = hl_gtk_box_new()\n    call gtk_window_set_child(win, base)\n    box = hl_gtk_box_new(horizontal=TRUE, homogeneous=TRUE)\n    call hl_gtk_box_pack(base, box)\n\n    ! make a floating point vertical slider with a range 0-10 and step 0.1\n    ! put it in the horizontal box\n    slid = hl_gtk_slider_new(0._c_double, 10._c_double, 0.1_c_double, &\n         & vertical = TRUE, value_changed=c_funloc(slider1), length=200_c_int)\n    call hl_gtk_box_pack(box, slid)\n\n    ! Now an integer slider from 0-64 and put it in the horizontal box\n    islid = hl_gtk_slider_new(0_c_int, 64_c_int, vertical=TRUE, &\n         & value_changed=c_funloc(slider2), length=200_c_int)\n    call hl_gtk_box_pack(box, islid)\n\n    ! Make a spin button with range 0-10 and step 0.1 and put it in\n    ! the vertical box\n    spin = hl_gtk_spin_button_new(0._c_double, 10._c_double, 0.1_c_double, &\n         & value_changed=c_funloc(spinner1))\n    call hl_gtk_box_pack(base, spin)\n\n    ! Make an integer spin button with range from 0-64 and put it in the\n    ! vertical box\n    ispin = hl_gtk_spin_button_new(0_c_int, 64_c_int, &\n         & value_changed=c_funloc(spinner2), &\n         & wrap=TRUE)\n    call hl_gtk_box_pack(base, ispin)\n\n    ! Finally make a quit button, put that in the vertical box and put\n    ! the vertical box in the window.\n\n    qbut = hl_gtk_button_new(\"Quit\"//c_null_char, clicked=c_funloc(my_destroy))\n    call hl_gtk_box_pack(base, qbut)\n\n    ! Realize & enter event loop\n    call gtk_widget_show(win)\n  end subroutine activate\nend module handlers\n\n\nprogram sliders\n  ! SLIDERS\n  ! Demo of sliders & spin buttons\n  use, intrinsic :: iso_c_binding, only: c_ptr, c_funloc, c_null_char\n  use handlers\n\n  implicit none\n  type(c_ptr)        :: app\n\n  app = hl_gtk_application_new(\"gtk-fortran.examples.hl_sliders\"//c_null_char, &\n                             & c_funloc(activate))\nend program sliders\n\n"
  },
  {
    "path": "examples/hl_sliders2.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2011 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!------------------------------------------------------------------------------\n! Contributed by James Tappin.\n! Last modification: vmagnin 2020-05-28 (GTK 4), 2020-07-14\n!------------------------------------------------------------------------------\n\nmodule handlers\n  use gtk_hl_container\n  use gtk_hl_button\n  use gtk_hl_spin_slider\n  use gtk_hl_entry\n  use gtk, only: gtk_button_new, gtk_spin_button_get_value, &\n       & gtk_spin_button_new, gtk_widget_show, &\n       & gtk_window_set_child, TRUE, FALSE, gtk_window_destroy\n\n  implicit none\n  type(c_ptr) :: slid, win, qbut, spin\n\ncontains\n\n  subroutine my_destroy(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n    print *, \"Exit called\"\n    call gtk_window_destroy(win)\n  end subroutine my_destroy\n\n  subroutine slider1(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n    ! Moved the float slider\n    real(c_double) :: val\n\n    val = hl_gtk_slider_get_value(widget)\n    print *, \"Slider moved to\", val\n  end subroutine slider1\n\n  subroutine spin1(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n    ! Moved the spinner\n    real(c_double) :: val\n\n    val = hl_gtk_spin_button_get_value(widget)\n    print *, \"Spinner moved to\", val\n  end subroutine spin1\n\n  subroutine set_upper(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n    real(c_double) :: ulim\n    character(len=20)   :: slim\n    integer :: ios\n    call hl_gtk_entry_get_text(widget, slim)\n\n    read(slim, *, iostat=ios) ulim\n    if (ios /= 0) then\n       print *, \"Bad FP value: \", slim\n       return\n    else\n       print *, \"New upper limit:\", ulim\n    end if\n\n    call hl_gtk_slider_set_range(slid, upper=ulim)\n    call hl_gtk_spin_button_set_range(spin, upper=ulim)\n  end subroutine set_upper\n\n  subroutine set_lower(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n    real(c_double) :: llim\n    character(len=20)   :: slim\n    integer :: ios\n    call hl_gtk_entry_get_text(widget, slim)\n\n    read(slim, *, iostat=ios) llim\n    if (ios /= 0) then\n       print *, \"Bad FP value: \", slim\n       return\n    else\n       print *, \"New lower limit:\", llim\n    end if\n\n    call hl_gtk_slider_set_range(slid, lower=llim)\n    call hl_gtk_spin_button_set_range(spin, lower=llim)\n  end subroutine set_lower\n\n  subroutine activate(app, gdata) bind(c)\n    use, intrinsic :: iso_c_binding, only: c_ptr, c_funloc, c_null_char\n    use gtk, only: gtk_application_window_new, gtk_window_set_title\n    implicit none\n    type(c_ptr), value, intent(in)  :: app, gdata\n    type(c_ptr) :: base, box, junk\n\n    ! Create a window and 2 boxes, one horizontal,one vertical\n    win = gtk_application_window_new(app)\n    call gtk_window_set_title(win, \"Sliders demo 2\"//c_null_char)\n\n    base = hl_gtk_box_new()\n    call gtk_window_set_child(win, base)\n\n    ! make a floating point vertical slider with a range 0-10 and step 0.1\n    ! put it in the box\n    slid = hl_gtk_slider_new(0._c_double, 10._c_double, 0.1_c_double, &\n         & vertical = FALSE, value_changed=c_funloc(slider1), length=200_c_int)\n    call hl_gtk_box_pack(base, slid)\n\n    ! Make a spin button with range 0-10 and step 0.1 and put it in\n    ! the vertical box\n    spin = hl_gtk_spin_button_new(0._c_double, 10._c_double, 0.1_c_double, &\n         & value_changed=c_funloc(spin1))\n    call hl_gtk_box_pack(base, spin)\n\n    ! Upper and lower bound entry boxes\n    box = hl_gtk_box_new(horizontal=TRUE)\n    call hl_gtk_box_pack(base, box)\n\n    junk = gtk_label_new(\"Lower bound:\"//c_null_char)\n    call hl_gtk_box_pack(box, junk)\n    junk = hl_gtk_entry_new(value=\"0.\"//c_null_char, activate=c_funloc(set_lower))\n    call hl_gtk_box_pack(box, junk)\n\n    box = hl_gtk_box_new(horizontal=TRUE)\n    call hl_gtk_box_pack(base, box)\n\n    junk = gtk_label_new(\"Upper bound:\"//c_null_char)\n    call hl_gtk_box_pack(box, junk)\n    junk = hl_gtk_entry_new(value=\"10.\"//c_null_char, activate=c_funloc(set_upper))\n    call hl_gtk_box_pack(box, junk)\n\n    ! Finally make a quit button, put that in the vertical box and put\n    ! the vertical box in the window.\n    qbut = hl_gtk_button_new(\"Quit\"//c_null_char, clicked=c_funloc(my_destroy))\n    call hl_gtk_box_pack(base, qbut)\n\n    ! Realize:\n    call gtk_widget_show(win)\n  end subroutine activate\nend module handlers\n\nprogram sliders_2\n  ! SLIDERS\n  ! Demo of sliders & spin buttons\n  use, intrinsic :: iso_c_binding, only: c_ptr, c_funloc, c_null_char\n  use handlers\n\n  implicit none\n  type(c_ptr)        :: app\n\n  app = hl_gtk_application_new(\"gtk-fortran.examples.hl_sliders2\"//c_null_char, &\n                             & c_funloc(activate))\nend program sliders_2\n"
  },
  {
    "path": "examples/hl_textview.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2011 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!------------------------------------------------------------------------------\n! Contributed jtappin.\n! Last modifications: vmagnin+Ian Harvey, 2020-02-03\n! GTK 4 version: vmagnin 2020-06-02, 2022-05-06\n!------------------------------------------------------------------------------\n\nmodule handlers\n  use, intrinsic :: iso_c_binding\n!  use gtk_hl\n  use gtk_hl_container\n  use gtk_hl_button\n  use gtk_hl_entry\n  use gtk, only: gtk_window_set_child, &\n       & gtk_widget_show, gtk_entry_get_text_length, &\n       & gtk_entry_get_buffer, gtk_entry_buffer_get_text, &\n       & gtk_text_iter_get_text, gtk_window_destroy\n\n  implicit none\n  type(c_ptr) ::  win, zedt, contain, qbut, box, entry, box2, &\n                & abut, ibut, clbut, infobut\n\ncontains\n\n  subroutine my_destroy(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n    print *, \"Exit called\"\n    call gtk_window_destroy(win)\n  end subroutine my_destroy\n\n  subroutine tv_change(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n\n    integer(c_int) :: nl, nc\n    integer(c_int), dimension(:), allocatable :: ncl\n\n    print *, \"CHANGED event\"\n\n    call hl_gtk_text_view_get_info(C_NULL_PTR, buffer=widget, nlines=nl, &\n         & nchars=nc, ncline=ncl)\n    print *, nl, nc\n    print *, ncl\n    deallocate(ncl)\n  end subroutine tv_change\n\n  subroutine tv_ins(widget,iter, text, nins, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n    type(c_ptr), value :: iter, text\n    integer(c_int), value :: nins\n\n    integer(c_int) :: nl, nc\n    integer(c_int), dimension(:), allocatable :: ncl\n\n    character(kind=c_char), dimension(:), pointer :: cf_text\n    character(len=100), dimension(:), allocatable :: f_text\n\n    print *, \"INSERT event\", nins\n    call c_f_pointer(text, cf_text, [ int(nins) ])\n    call convert_c_string(cf_text, f_text)\n\n    print \"(a)\", f_text\n\n    call hl_gtk_text_view_get_info(C_NULL_PTR, buffer=widget, nlines=nl, &\n         & nchars=nc, ncline=ncl)\n    print *, nl, nc\n    print *, ncl\n  end subroutine tv_ins\n\n  subroutine tv_del(widget, s_iter, e_iter, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n    type(c_ptr), value :: s_iter, e_iter\n\n    type(c_ptr) :: ctext\n    character(len=100), dimension(:), allocatable :: ftext\n    integer(c_int) :: dlen\n\n    print *, \"DELETE event\"\n    dlen = gtk_text_iter_get_offset(e_iter) - &\n         & gtk_text_iter_get_offset(s_iter)\n\n    ctext = gtk_text_iter_get_text(s_iter, e_iter)\n    call convert_c_string(ctext, ftext)\n\n    print \"(A)\", ftext(:)(:dlen)\n    deallocate(ftext)\n  end subroutine tv_del\n\n  subroutine tv_append(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n    type(c_ptr) :: buffer\n    character(:), allocatable :: ftext\n\n    buffer = gtk_entry_get_buffer(entry)\n    call c_f_string_copy_alloc(gtk_entry_buffer_get_text(buffer), ftext)\n\n    call hl_gtk_text_view_insert(zedt, [ ftext ])\n  end subroutine tv_append\n\n  subroutine tv_insert(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n    type(c_ptr) :: buffer\n    character(:), allocatable :: ftext\n\n    buffer = gtk_entry_get_buffer(entry)\n    call c_f_string_copy_alloc(gtk_entry_buffer_get_text(buffer), ftext)\n\n    call hl_gtk_text_view_insert(zedt, [ ftext ], at_cursor=TRUE)\n  end subroutine tv_insert\n\n  subroutine tv_clr(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n\n    call hl_gtk_text_view_delete(zedt)\n  end subroutine tv_clr\n\n  subroutine tv_info(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n\n    integer(c_int), dimension(3) :: cursor, s_start, s_end\n    integer(c_int) :: is_modified, has_select\n\n    cursor = hl_gtk_text_view_get_cursor(zedt)\n    has_select = hl_gtk_text_view_get_selection(zedt, &\n         & s_start, s_end)\n    is_modified = hl_gtk_text_view_get_modified(zedt)\n\n    print *, \"Cursor: Line\",cursor(1),\"Column\",cursor(2),\"Offset\",cursor(3)\n    if (has_select == TRUE) then\n       print *, \"Selection Start: Line\",s_start(1),\"Column\",s_start(2), &\n            & \"Offset\",s_start(3)\n       print *, \"Selection End: Line\",s_end(1),\"Column\",s_end(2),\"Offset\", &\n            & s_end(3)\n    else\n       print *, \"No Selection\"\n    end if\n    if (is_modified == TRUE) then\n       print *, \"Modified\"\n    else\n       print *, \"Not modified\"\n    end if\n    call hl_gtk_text_view_set_modified(zedt, FALSE)\n  end subroutine tv_info\n\n  subroutine entry_text(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n\n    integer(c_int16_t) :: ntext\n\n    ntext = gtk_entry_get_text_length(widget)\n    if (ntext > 0) then\n       call gtk_widget_set_sensitive(abut, TRUE)\n       call gtk_widget_set_sensitive(ibut, TRUE)\n    else\n       call gtk_widget_set_sensitive(abut, FALSE)\n       call gtk_widget_set_sensitive(ibut, FALSE)\n    end if\n  end subroutine entry_text\n\n  subroutine activate(app, gdata) bind(c)\n    use, intrinsic :: iso_c_binding, only: c_ptr, c_funloc, c_null_char\n    use gtk, only: gtk_application_window_new, gtk_window_set_title\n    implicit none\n    type(c_ptr), value, intent(in)  :: app, gdata\n\n    ! Make a window and a vertical box\n    win = gtk_application_window_new(app)\n    call gtk_window_set_title(win, \"Scrolling text\"//c_null_char)\n\n    box = hl_gtk_box_new()\n    call gtk_window_set_child(win, box)\n\n    ! Make a scrolling text box and put it in the box\n    zedt = hl_gtk_text_view_new(contain, editable=TRUE, &\n         & changed=c_funloc(tv_change), &\n         & insert_text=c_funloc(tv_ins), &\n         & delete_range=c_funloc(tv_del), &\n         & ssize=[350_c_int, 200_c_int], tooltip = &\n         & \"Try typing, pasting or cutting text in here\"//c_null_char)\n    call hl_gtk_box_pack(box, contain)\n\n    ! Make a single line text entry, and buttons to append or place at cursor.\n    entry = hl_gtk_entry_new(60_c_int, editable=TRUE, tooltip = &\n         & \"Enter text here, then click 'append' or 'insert'\"//c_null_char, &\n         & changed=c_funloc(entry_text))\n    call hl_gtk_box_pack(box, entry, expand=FALSE)\n\n    box2 = hl_gtk_box_new(horizontal=TRUE)\n    call hl_gtk_box_pack(box, box2, expand=FALSE)\n\n    abut = hl_gtk_button_new(\"Append\"//c_null_char, clicked=c_funloc(tv_append), &\n         & tooltip = \"Add contents of entry box at end\"//c_null_char, sensitive=FALSE)\n    call hl_gtk_box_pack(box2, abut)\n    ibut = hl_gtk_button_new(\"Insert\"//c_null_char, clicked=c_funloc(tv_insert), &\n         & tooltip = \"Add contents of entry box at cursor\"//c_null_char, &\n         & sensitive=FALSE)\n    call hl_gtk_box_pack(box2, ibut)\n\n    ! And a clear button, and an info button\n    infobut = hl_gtk_button_new(\"Information\"//c_null_char, clicked=c_funloc(tv_info))\n    call hl_gtk_box_pack(box, infobut, expand=FALSE)\n    clbut = hl_gtk_button_new(\"Clear\"//c_null_char, clicked=c_funloc(tv_clr))\n    call hl_gtk_box_pack(box, clbut, expand=FALSE)\n\n    ! Make a quit button and put that in the box, then\n    ! put the box in the window.\n    qbut = hl_gtk_button_new(\"Quit\"//c_null_char, clicked=c_funloc(my_destroy))\n    call hl_gtk_box_pack(box, qbut, expand=FALSE)\n\n    ! Realize the window\n    call gtk_widget_show(win)\n  end subroutine activate\nend module handlers\n\n\nprogram ztext\n  ! ZTEXT\n  ! Simple multiline text box example\n  use, intrinsic :: iso_c_binding, only: c_ptr, c_funloc, c_null_char\n  use handlers\n\n  implicit none\n  type(c_ptr)        :: app\n\n  app = hl_gtk_application_new(\"gtk-fortran.examples.hl_textview\"//c_null_char, &\n                             & c_funloc(activate))\nend program ztext\n"
  },
  {
    "path": "examples/hl_tree.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2011 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!------------------------------------------------------------------------------\n! Contributed by James Tappin.\n! Last modification: vmagnin 02-20-2019, 2020-07-14\n!------------------------------------------------------------------------------\n\nmodule tr_handlers\n  use gtk_hl_container\n  use gtk_hl_button\n  use gtk_hl_tree\n  use gtk, only: gtk_button_new, gtk_widget_show, gtk_window_destroy, &\n               & gtk_window_set_child\n  use g, only: alloca\n\n  implicit none\n  ! The widgets. (Strictly only those that need to be accessed\n  ! by the handlers need to go here).\n  type(c_ptr) :: ihwin,ihscrollcontain,ihlist, base, &\n       &  qbut, dbut, lbl\n\ncontains\n\n  subroutine my_destroy(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n    print *, \"Exit called\"\n    call gtk_window_destroy(ihwin)\n  end subroutine my_destroy\n\n  subroutine del_row(but, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: but, gdata\n    integer(c_int), dimension(:,:), allocatable :: selections\n    integer(c_int), dimension(:), allocatable :: dep\n    integer(c_int) :: nsel\n\n    nsel = hl_gtk_tree_get_selections(ihlist, selections, &\n         & depths=dep)\n\n    if (nsel /= 1) then\n       print *, \"Not a single selection\"\n       return\n    end if\n\n    call hl_gtk_tree_rem(ihlist, selections(:dep(1),1))\n\n    call gtk_widget_set_sensitive(but, FALSE)\n  end subroutine del_row\n\n  subroutine list_select(list, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: list, gdata\n    integer(c_int) :: nsel\n    integer(c_int), dimension(:,:), allocatable :: selections\n    integer(c_int), dimension(:), allocatable :: dep\n    integer(c_int) :: n, n3\n    integer(c_int64_t) :: n4\n    real(c_float) :: nlog\n    character(len=30) :: name\n    character(len=10) :: nodd\n    integer :: i\n    nsel = hl_gtk_tree_get_selections(C_NULL_PTR, selections, selection=list, &\n         & depths=dep)\n    if (nsel == 0) then\n       print *, \"No selection\"\n       return\n    end if\n\n    ! Find and print the selected row(s)\n    print *, nsel,\"Rows selected\"\n    print *, \"Depths\", dep\n    print *, \"Rows\"\n    do i = 1, nsel\n       print *, selections(:dep(i),i)\n    end do\n\n    if (nsel == 1) then\n       call hl_gtk_tree_get_cell(ihlist, selections(:dep(1),1), 0_c_int, &\n            & svalue=name)\n       call hl_gtk_tree_get_cell(ihlist, selections(:dep(1),1), 1_c_int, &\n            & ivalue=n)\n       call hl_gtk_tree_get_cell(ihlist, selections(:dep(1),1), 2_c_int, &\n            & ivalue=n3)\n       call hl_gtk_tree_get_cell(ihlist, selections(:dep(1),1), 4_c_int, &\n            & l64value=n4)\n       call hl_gtk_tree_get_cell(ihlist, selections(:dep(1),1), 3_c_int, &\n            & fvalue=nlog)\n       call hl_gtk_tree_get_cell(ihlist, selections(:dep(1),1), 5_c_int,&\n            & svalue=nodd)\n       print \"('Name: ',a,' N:',I3,' 3N:',I4,' N**4:',I7,&\n            &' log(n):',F7.5,' Odd?: ',a)\", trim(name), &\n            & n, n3, n4, nlog, nodd\n       call gtk_widget_set_sensitive(dbut, TRUE)\n    else\n       call gtk_widget_set_sensitive(dbut, FALSE)\n    end if\n\n    deallocate(selections)\n  end subroutine list_select\n\n  subroutine activate(app, gdata) bind(c)\n    use, intrinsic :: iso_c_binding, only: c_ptr, c_funloc, c_null_char\n    use gtk, only: gtk_application_window_new, gtk_window_set_title\n    implicit none\n    type(c_ptr), value, intent(in)  :: app, gdata\n    character(len=35) :: line\n    integer(c_int) :: i, ltr, j\n    integer(type_kind), dimension(6) :: ctypes\n    character(len=20), dimension(6) :: titles\n    integer(c_int), dimension(6) :: sortable, editable\n\n    ! Create a window that will hold the widget system\n    ihwin = gtk_application_window_new(app)\n    call gtk_window_set_title(ihwin, \"Tree view demo\"//c_null_char)\n\n    ! Now make a column box & put it into the window\n    base = hl_gtk_box_new()\n    call gtk_window_set_child(ihwin, base)\n\n    ! Now make a multi column list with multiple selections enabled\n    ctypes = [ G_TYPE_STRING, G_TYPE_INT, G_TYPE_INT, G_TYPE_FLOAT, &\n         & G_TYPE_UINT64, G_TYPE_BOOLEAN ]\n    sortable = [ FALSE, TRUE, FALSE, FALSE, FALSE, TRUE ]\n    editable = [ TRUE, FALSE, TRUE, FALSE, FALSE, FALSE ]\n\n    titles(1) = \"Name\"\n    titles(2) = \"N\"\n    titles(3) = \"3N\"\n    titles(4) = \"Log(n)\"\n    titles(5) = \"N**4\"\n    titles(6) = \"Odd?\"\n\n    ihlist = hl_gtk_tree_new(ihscrollcontain, types=ctypes, &\n         & changed=c_funloc(list_select),&\n         &  multiple=TRUE, height=250_c_int, swidth=400_c_int, titles=titles, &\n         & sortable=sortable, editable=editable)\n\n    ! Now put 10 top level rows into it\n    do i=1,10\n       call hl_gtk_tree_ins(ihlist, row = [ -1_c_int ])\n       write(line,\"('List entry number ',I0)\") i\n       ltr=len_trim(line)+1\n       line(ltr:ltr)=c_null_char\n       call hl_gtk_tree_set_cell(ihlist, absrow=i-1_c_int, col=0_c_int, &\n            & svalue=line)\n       call hl_gtk_tree_set_cell(ihlist, absrow=i-1_c_int, col=1_c_int, &\n            & ivalue=i)\n       call hl_gtk_tree_set_cell(ihlist, absrow=i-1_c_int, col=2_c_int, &\n            & ivalue=3_c_int*i)\n       call hl_gtk_tree_set_cell(ihlist, absrow=i-1_c_int, col=3_c_int, &\n            & fvalue=log10(real(i)))\n       call hl_gtk_tree_set_cell(ihlist, absrow=i-1_c_int, col=4_c_int, &\n            & l64value=int(i,c_int64_t)**4)\n       call hl_gtk_tree_set_cell(ihlist, absrow=i-1_c_int, col=5_c_int, &\n            & ivalue=mod(i,2_c_int))\n    end do\n\n    ! Add some child rows\n    do j = 2, 6, 2\n       call hl_gtk_tree_ins(ihlist, row = [ j, -1_c_int ], count=5)\n       do i = 1, 5\n          write(line,\"('List entry number',I0,':',I0)\") j+1,i\n          ltr=len_trim(line)+1\n          line(ltr:ltr)=c_null_char\n          call hl_gtk_tree_set_cell(ihlist, row=[ j, i-1_c_int], col=0_c_int, &\n               & svalue=line)\n          call hl_gtk_tree_set_cell(ihlist, row=[ j, i-1_c_int], col=1_c_int, &\n               & ivalue=i)\n          call hl_gtk_tree_set_cell(ihlist, row=[ j, i-1_c_int], col=2_c_int, &\n               & ivalue=3_c_int*i)\n          call hl_gtk_tree_set_cell(ihlist, row=[ j, i-1_c_int], col=3_c_int, &\n               & fvalue=log10(real(i)))\n          call hl_gtk_tree_set_cell(ihlist, row=[ j, i-1_c_int], col=4_c_int, &\n               & l64value=int(i,c_int64_t)**4)\n          call hl_gtk_tree_set_cell(ihlist, row=[ j, i-1_c_int], col=5_c_int, &\n               & ivalue=mod(i,2_c_int))\n       end do\n    end do\n\n    ! It is the scrollcontainer that is placed into the box.\n    call hl_gtk_box_pack(base, ihscrollcontain)\n\n    ! Add a note about editable columns\n    lbl = gtk_label_new(\"The \"\"Name\"\" and \"\"3N\"\" columns are editable\"&\n         & //c_null_char)\n    call hl_gtk_box_pack(base, lbl)\n\n    ! Delete selected row\n    dbut = hl_gtk_button_new(\"Delete selected row\"//c_null_char, &\n         & clicked=c_funloc(del_row), &\n         & tooltip=\"Delete the selected row\"//c_null_char, sensitive=FALSE)\n\n    call hl_gtk_box_pack(base, dbut)\n\n    ! Also a quit button\n    qbut = hl_gtk_button_new(\"Quit\"//c_null_char, clicked=c_funloc(my_destroy))\n    call hl_gtk_box_pack(base,qbut)\n\n    ! realize the window\n    call gtk_widget_show(ihwin)\n  end subroutine activate\nend module tr_handlers\n\nprogram tree\n  ! TREE\n  ! Demo of a tree\n  use, intrinsic :: iso_c_binding, only: c_ptr, c_funloc, c_null_char\n  use tr_handlers\n\n  implicit none\n  type(c_ptr)        :: app\n\n  app = hl_gtk_application_new(\"gtk-fortran.examples.hl_tree\"//c_null_char, &\n                             & c_funloc(activate))\nend program tree\n"
  },
  {
    "path": "examples/julia_pixbuf.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2011 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!------------------------------------------------------------------------------\n! Contributed by Vincent Magnin and Jerry DeLisle\n! Last modifications: vmagnin+Ian Harvey 2019-02-21, vmagnin 2025-05-18\n!------------------------------------------------------------------------------\n\nmodule global_widgets\n  use, intrinsic :: iso_c_binding, only: c_ptr, c_char, c_int\n  type(c_ptr) :: my_pixbuf, my_drawing_area, spinButton1, spinButton2, spinButton3\n  type(c_ptr) :: textView, buffer, scrolled_window, statusBar, combo1\n  character(kind=c_char), dimension(:), pointer :: pixel\n  integer(c_int) :: nch, rowstride, width, height, pixwidth, pixheight\n  logical :: computing = .false.\n  character(len=80) :: string\nend module global_widgets\n\nmodule handlers\n  use gtk, only: gtk_application_window_new, gtk_window_destroy, &\n  & g_signal_connect, g_signal_connect_swapped, &\n  & gtk_window_set_child, gtk_expander_set_child, gtk_box_append, &\n  & gtk_scrolled_window_set_child, gtk_drawing_area_new, &\n  & gtk_drawing_area_set_content_width, gtk_drawing_area_set_content_height, &\n  & gtk_drawing_area_set_draw_func, &\n  & gtk_widget_queue_draw, gtk_widget_show, &\n  & gtk_window_set_default_size, gtk_window_set_title, &\n  & TRUE, FALSE, GDK_COLORSPACE_RGB, &\n  & gtk_grid_new, gtk_grid_attach, gtk_button_new_with_label,&\n  & gtk_box_new, gtk_spin_button_new,&\n  & gtk_adjustment_new, gtk_spin_button_get_value, gtk_label_new, &\n  & gtk_expander_new_with_mnemonic, gtk_expander_set_expanded, &\n  & gtk_toggle_button_new_with_label, gtk_toggle_button_get_active, gtk_notebook_new,&\n  & gtk_notebook_append_page, gtk_text_view_new, gtk_text_view_get_buffer, &\n  & gtk_text_buffer_set_text, gtk_scrolled_window_new, &\n  & gtk_text_buffer_insert_at_cursor, gtk_statusbar_new, &\n  & gtk_statusbar_push, gtk_statusbar_pop, gtk_statusbar_get_context_id, &\n  & gtk_button_new_with_mnemonic, gtk_link_button_new_with_label, &\n  & gtk_toggle_button_new_with_mnemonic, gtk_label_new_with_mnemonic, &\n  & gtk_window_set_mnemonics_visible, gtk_combo_box_text_new, &\n  & gtk_combo_box_text_append_text, gtk_combo_box_text_get_active_text, &\n  & gtk_combo_box_text_insert_text, gtk_spin_button_set_value, gtk_spin_button_update,&\n  & GTK_ORIENTATION_VERTICAL, gtk_grid_set_column_homogeneous, &\n  & gtk_grid_set_row_homogeneous, gtk_statusbar_remove_all, &\n  & gtk_widget_set_vexpand\n\n  use g, only: g_usleep, g_main_context_iteration, g_main_context_pending\n  use, intrinsic :: iso_c_binding, only: c_int, c_ptr, c_null_ptr, c_null_char, C_NEW_LINE\n  use, intrinsic :: iso_fortran_env, only: wp=>real64, int8\n\n  implicit none\n  type(c_ptr)    :: my_window\n  ! run_status is TRUE until the user closes the top window:\n  integer(c_int) :: run_status = TRUE\n  integer(c_int) :: boolresult\n\ncontains\n  ! Our callback function before destroying the window:\n  recursive subroutine destroy_signal(widget, event, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, event, gdata\n\n    print *, \"Your destroy_signal() function has been invoked !\"\n    ! Some functions and subroutines need to know that it's finished:\n    run_status = FALSE\n    call gtk_window_destroy(my_window)\n  end subroutine destroy_signal\n\n  ! This function is needed to update the GUI during long computations.\n  ! https://developer.gnome.org/glib/stable/glib-The-Main-Event-Loop.html\n  recursive subroutine pending_events ()\n    do while(IAND(g_main_context_pending(c_null_ptr), run_status) /= FALSE)\n      ! FALSE for non-blocking:\n      boolresult = g_main_context_iteration(c_null_ptr, FALSE)\n    end do\n  end subroutine pending_events\n\n  ! \"It is called whenever GTK needs to draw the contents of the drawing area\n  ! to the screen.\"\n  ! https://developer.gnome.org/gtk4/stable/GtkDrawingArea.html#gtk-drawing-area-set-draw-func\n  subroutine my_draw_function(widget, my_cairo_context, width, height, gdata) bind(c)\n    use cairo, only: cairo_paint\n    use gdk, only: gdk_cairo_set_source_pixbuf\n    use global_widgets, only: my_pixbuf\n\n    type(c_ptr), value, intent(in)    :: widget, my_cairo_context, gdata\n    integer(c_int), value, intent(in) :: width, height\n\n    ! We redraw the pixbuf:\n    call gdk_cairo_set_source_pixbuf(my_cairo_context, my_pixbuf, 0d0, 0d0)\n    call cairo_paint(my_cairo_context)\n  end subroutine my_draw_function\n\n  ! GtkButton signal emitted by the \"Compute\" button\n  ! In this example, this function is declared recursive because it can be\n  ! called a second time from the Julia_set() subroutine:\n  recursive subroutine firstbutton (widget, gdata ) bind(c)\n    use global_widgets\n\n    integer(c_int)                 :: message_id\n    type(c_ptr), value, intent(in) :: widget, gdata\n    complex(wp)                    :: c\n    integer                        :: iterations\n\n    if (.not. computing) then\n      ! Get computation parameters:\n      c = gtk_spin_button_get_value (spinButton1) + &\n          & (0.0_wp, 1.0_wp)*gtk_spin_button_get_value (spinButton2)\n      iterations = INT(gtk_spin_button_get_value (spinButton3))\n\n      ! Print them in the text buffer:\n      write(string, '(\"c=\",F9.6,\"+i*\",F9.6,\"   \", I8, \" iterations\")') c, iterations\n      call gtk_text_buffer_insert_at_cursor (buffer, string//C_NEW_LINE &\n                                           & //c_null_char, -1_c_int)\n\n      message_id = gtk_statusbar_push (statusBar, gtk_statusbar_get_context_id(&\n                                     & statusBar, \"Julia\"//c_null_char),&\n                                     & \"Computing...\"//c_null_char)\n\n      ! Compute the image:\n      call Julia_set(-2.0_wp, +2.0_wp, -2.0_wp, +2.0_wp, c, iterations)\n\n      ! If Julia_set() was quitted because of a delete_event, we can not use\n      ! the statusBar because it has been destroyed:\n      if (run_status == TRUE) then\n        message_id = gtk_statusbar_push (statusBar, gtk_statusbar_get_context_id(&\n                                       & statusBar, \"Julia\"//c_null_char),&\n                                       & \"Finished.\"//c_null_char)\n      end if\n    else\n      print *, \"Already computing !\"\n    end if\n  end subroutine firstbutton\n\n  ! GtkComboBox signal emitted when the user selects predifined c values of\n  ! interesting Julia sets in the combo box:\n  subroutine firstCombo (widget, gdata ) bind(c)\n    use, intrinsic :: iso_c_binding, only: c_double, c_f_pointer\n    use gtk_sup, only: c_f_string_copy_alloc\n    use global_widgets\n\n    type(c_ptr), value, intent(in) :: widget, gdata\n    real(c_double)                 :: x, y\n    integer                        :: choice\n    character(:), allocatable      :: my_string\n\n    ! Get the value selected by the user:\n    call c_f_string_copy_alloc( gtk_combo_box_text_get_active_text(combo1), my_string)\n    read(my_string, *) choice\n\n    select case (choice)\n    case(1)\n      x = +0.0_wp\n      y = +1.0_wp\n    case(2)\n      x = -1.0_wp\n      y = +0.0_wp\n    case(3)\n      x = -0.8_wp\n      y = +0.2_wp\n    case(4)\n      x = +0.39_wp\n      y = +0.60_wp\n    case(5)\n      x = -0.2_wp\n      y = +0.8_wp\n    case(6)\n      x = -0.8_wp\n      y = +0.4_wp\n    case(7)\n      x = +0.39_wp\n      y = +0.00_wp\n    end select\n\n    ! Update the spin buttons real(c) and imag(c):\n    call gtk_spin_button_set_value (spinButton1, x)\n    call gtk_spin_button_set_value (spinButton2, y)\n  end subroutine firstCombo\n\n  ! GtkButton signal emitted by the button \"Save as PNG\":\n  subroutine secondbutton (widget, gdata) bind(c)\n    use gdk_pixbuf, only: gdk_pixbuf_savev\n    use global_widgets\n\n    type(c_ptr), value, intent(in) :: widget, gdata\n    integer(c_int)                 :: cstatus, message_id\n    type(c_ptr), dimension(1), parameter :: empty_array_of_C_strings=[c_null_ptr]\n\n    ! Save the picture if the computation is finished:\n    if (.not. computing) then\n      ! https://developer.gnome.org/gdk-pixbuf/stable/gdk-pixbuf-File-saving.html\n      ! https://mail.gnome.org/archives/gtk-list/2004-October/msg00186.html\n\n      cstatus = gdk_pixbuf_savev(my_pixbuf, \"julia.png\"//c_null_char, &\n                & \"png\"//c_null_char, empty_array_of_C_strings, &\n                & empty_array_of_C_strings, c_null_ptr)\n\n      if (cstatus == TRUE) then\n        string = \"Successfully saved: julia.png\"//c_null_char\n      else\n        string = \"Failed\"//c_null_char\n      end if\n\n      message_id = gtk_statusbar_push (statusBar, gtk_statusbar_get_context_id(&\n                         & statusBar, \"Julia\"//c_null_char), TRIM(string))\n    end if\n  end subroutine secondbutton\n\n  ! GtkToggleButton signal emitted when the \"Pause\" button is clicked.\n  ! This function is declared recursive because it will be pressed a first time\n  ! to pause and a second time to end pause (from the \"do while\" loop):\n  recursive subroutine firstToggle (widget, gdata) bind(c)\n    use, intrinsic :: iso_c_binding, only: c_long\n    use global_widgets\n\n    type(c_ptr), value, intent(in) :: widget, gdata\n    integer(c_int)                 :: message_id\n\n    ! The button is pressed:\n    if (gtk_toggle_button_get_active(widget) == TRUE) then\n      ! Print messages:\n      call gtk_text_buffer_insert_at_cursor (buffer, &\n              & \"In pause\"//C_NEW_LINE//c_null_char, -1_c_int)\n      message_id = gtk_statusbar_push (statusBar, gtk_statusbar_get_context_id(&\n                                      &statusBar, \"Julia\"//c_null_char), &\n                                      &\"In pause...\"//c_null_char)\n      ! The Pause loop must handle events in order to avoid the blocking of\n      ! the GUI:\n      do while (gtk_toggle_button_get_active(widget) == TRUE)\n        call pending_events\n        if (run_status == FALSE) exit ! Exit if we had a destroy signal\n        call g_usleep(50000_c_long)   ! In microseconds\n      end do\n    else  ! The button is raised:\n      call gtk_text_buffer_insert_at_cursor (buffer, &\n                            & \"Not in pause\"//C_NEW_LINE//c_null_char, -1_c_int)\n      ! Remove the \"In pause...\" message from the status bar:\n      call gtk_statusbar_pop (statusBar, gtk_statusbar_get_context_id(statusBar,&\n                            & \"Julia\"//c_null_char))\n    end if\n  end subroutine firstToggle\n\n  ! Callback function for the signal \"activate\" emitted by g_application_run().\n  ! We use a subroutine because it should return void.\n  ! The GUI is defined here.\n  subroutine activate(app, gdata) bind(c)\n    use, intrinsic :: iso_c_binding, only: c_ptr, c_funloc, c_f_pointer, c_null_funptr\n    use gdk_pixbuf, only: gdk_pixbuf_get_n_channels, gdk_pixbuf_get_pixels, &\n                      & gdk_pixbuf_get_rowstride, gdk_pixbuf_new\n    use global_widgets\n    implicit none\n    type(c_ptr), value, intent(in)  :: app, gdata\n    ! Pointers toward our GTK widgets:\n    type(c_ptr)    :: table, button1, button2, button3, box1\n    type(c_ptr)    :: label1, label2, label3, label4\n    type(c_ptr)    :: toggle1, expander, notebook, notebookLabel1, notebookLabel2\n    type(c_ptr)    :: linkButton\n    integer(c_int) :: message_id, firstTab, secondTab\n\n    ! Create the window:\n    my_window = gtk_application_window_new(app)\n    call g_signal_connect(my_window, \"destroy\"//c_null_char, &\n                        & c_funloc(destroy_signal))\n   ! Don't forget that C strings must end with a null char:\n    call gtk_window_set_title(my_window, \"Julia Set\"//c_null_char)\n    ! Properties of the main window :\n    width  = 700\n    height = 700\n    call gtk_window_set_default_size(my_window, width, height)\n\n    !******************************************************************\n    ! Adding widgets in the window:\n    !******************************************************************\n    ! The four buttons:\n    button1 = gtk_button_new_with_mnemonic (\"_Compute\"//c_null_char)\n    call g_signal_connect (button1, \"clicked\"//c_null_char, c_funloc(firstbutton))\n    button2 = gtk_button_new_with_mnemonic (\"_Save as PNG\"//c_null_char)\n    call g_signal_connect (button2, \"clicked\"//c_null_char, c_funloc(secondbutton))\n    button3 = gtk_button_new_with_mnemonic (\"_Exit\"//c_null_char)\n    call g_signal_connect (button3, \"clicked\"//c_null_char, c_funloc(destroy_signal))\n    toggle1 = gtk_toggle_button_new_with_mnemonic (\"_Pause\"//c_null_char)\n    call g_signal_connect (toggle1, \"toggled\"//c_null_char, c_funloc(firstToggle))\n\n    ! The spin buttons to set the parameters:\n    label1 = gtk_label_new(\"real(c)\"//c_null_char)\n    spinButton1 = gtk_spin_button_new (gtk_adjustment_new(-0.835d0,-2d0,+2d0,0.05d0,0.5d0,0d0),0.05d0, 7_c_int)\n    label2 = gtk_label_new(\"imag(c) \"//c_null_char)\n    spinButton2 = gtk_spin_button_new (gtk_adjustment_new(-0.2321d0, -2d0,+2d0,0.05d0,0.5d0,0d0),0.05d0, 7_c_int)\n    label3 = gtk_label_new(\"iterations\"//c_null_char)\n    spinButton3 = gtk_spin_button_new (gtk_adjustment_new(100000d0,1d0,+1000000d0,10d0,100d0,0d0),10d0, 0_c_int)\n\n    ! The combo box with predifined values of interesting Julia sets:\n    label4 = gtk_label_new(\"Predefined values:\"//c_null_char)\n    combo1 = gtk_combo_box_text_new()\n    call gtk_combo_box_text_append_text(combo1, \"1\"//c_null_char)\n    call gtk_combo_box_text_append_text(combo1, \"2\"//c_null_char)\n    call gtk_combo_box_text_append_text(combo1, \"3\"//c_null_char)\n    call gtk_combo_box_text_append_text(combo1, \"4\"//c_null_char)\n    call gtk_combo_box_text_append_text(combo1, \"5\"//c_null_char)\n    call gtk_combo_box_text_append_text(combo1, \"6\"//c_null_char)\n    call gtk_combo_box_text_append_text(combo1, \"7\"//c_null_char)\n    call g_signal_connect (combo1, \"changed\"//c_null_char, c_funloc(firstCombo))\n\n    ! A clickable URL link:\n    linkButton = gtk_link_button_new_with_label ( &\n                          &\"http://en.wikipedia.org/wiki/Julia_set\"//c_null_char,&\n                          &\"More on Julia sets\"//c_null_char)\n\n    ! A table container will contain buttons and labels:\n    table = gtk_grid_new ()\n    call gtk_grid_set_column_homogeneous(table, TRUE)\n    call gtk_grid_set_row_homogeneous(table, TRUE)\n    call gtk_grid_attach(table, button1, 0_c_int, 3_c_int, 1_c_int, 1_c_int)\n    call gtk_grid_attach(table, button2, 1_c_int, 3_c_int, 1_c_int, 1_c_int)\n    call gtk_grid_attach(table, button3, 3_c_int, 3_c_int, 1_c_int, 1_c_int)\n    call gtk_grid_attach(table, label1, 0_c_int, 0_c_int, 1_c_int, 1_c_int)\n    call gtk_grid_attach(table, label2, 0_c_int, 1_c_int, 1_c_int, 1_c_int)\n    call gtk_grid_attach(table, label3, 0_c_int, 2_c_int, 1_c_int, 1_c_int)\n    call gtk_grid_attach(table, spinButton1, 1_c_int, 0_c_int, 1_c_int, 1_c_int)\n    call gtk_grid_attach(table, spinButton2, 1_c_int, 1_c_int, 1_c_int, 1_c_int)\n    call gtk_grid_attach(table, spinButton3, 1_c_int, 2_c_int, 1_c_int, 1_c_int)\n    call gtk_grid_attach(table, linkButton, 3_c_int, 0_c_int, 1_c_int, 1_c_int)\n    call gtk_grid_attach(table, label4, 2_c_int, 0_c_int, 1_c_int, 1_c_int)\n    call gtk_grid_attach(table, combo1, 2_c_int, 1_c_int, 1_c_int,1_c_int)\n    call gtk_grid_attach(table, toggle1, 2_c_int, 3_c_int, 1_c_int,1_c_int)\n\n    ! The table is contained in an expander, which is contained in the vertical box:\n    expander = gtk_expander_new_with_mnemonic (\"_The parameters:\"//c_null_char)\n    call gtk_expander_set_child(expander, table)\n    call gtk_expander_set_expanded(expander, TRUE)\n\n    ! We create a vertical box container:\n    box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10_c_int)\n    call gtk_box_append(box1, expander)\n\n    ! We need a widget where to draw our pixbuf.\n    ! The drawing area is contained in the vertical box:\n    pixwidth  = 500\n    pixheight = 500\n    my_drawing_area = gtk_drawing_area_new()\n    call gtk_drawing_area_set_content_width(my_drawing_area, pixwidth)\n    call gtk_drawing_area_set_content_height(my_drawing_area, pixheight)\n    call gtk_drawing_area_set_draw_func(my_drawing_area, &\n                     & c_funloc(my_draw_function), c_null_ptr, c_null_funptr)\n\n    ! We define a notebook with two tabs \"Graphics\" and \"Messages\":\n    notebook = gtk_notebook_new ()\n    call gtk_widget_set_vexpand (notebook, TRUE)\n    notebookLabel1 = gtk_label_new_with_mnemonic(\"_Graphics\"//c_null_char)\n    firstTab = gtk_notebook_append_page (notebook, my_drawing_area, notebookLabel1)\n\n    textView = gtk_text_view_new ()\n    buffer = gtk_text_view_get_buffer (textView)\n    call gtk_text_buffer_set_text (buffer, \"Julia Set\"//C_NEW_LINE// &\n        & \"You can copy this text and even edit it !\"//C_NEW_LINE//c_null_char,&\n        & -1_c_int)\n    scrolled_window = gtk_scrolled_window_new()\n    notebookLabel2 = gtk_label_new_with_mnemonic(\"_Messages\"//c_null_char)\n    call gtk_scrolled_window_set_child(scrolled_window, textView)\n    secondTab = gtk_notebook_append_page (notebook, scrolled_window, notebookLabel2)\n\n    call gtk_box_append(box1, notebook)\n    call gtk_widget_set_vexpand (box1, TRUE)\n\n    ! The window status bar can be used to print messages:\n    statusBar = gtk_statusbar_new ()\n    message_id = gtk_statusbar_push (statusBar, gtk_statusbar_get_context_id(statusBar, &\n                & \"Julia\"//c_null_char), \"Waiting...\"//c_null_char)\n    call gtk_box_append(box1, statusBar)\n\n    ! Let's finalize the GUI:\n    call gtk_window_set_child(my_window, box1)\n    call gtk_window_set_mnemonics_visible (my_window, TRUE)\n    call gtk_widget_show(my_window)\n\n    ! We create a \"pixbuffer\" to store the pixels of the image:\n    my_pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, FALSE, 8_c_int, pixwidth, pixheight)\n    nch = gdk_pixbuf_get_n_channels(my_pixbuf)\n    rowstride = gdk_pixbuf_get_rowstride(my_pixbuf)\n    call c_f_pointer(gdk_pixbuf_get_pixels(my_pixbuf), pixel, [pixwidth*pixheight*nch])\n    ! We use char() for \"pixel\" because we need unsigned integers.\n    ! This pixbuffer has no Alpha channel (15% faster), only RGB.\n    pixel = char(0)\n    !******************************************************************\n\n    ! If you don't show it, nothing will appear on screen...\n    call gtk_widget_show(my_window)\n  end subroutine activate\n\n  !*********************************************\n  ! Julia Set\n  ! http://en.wikipedia.org/wiki/Julia_set\n  ! The scientific computing is done here\n  !*********************************************\n  subroutine Julia_set(xmin, xmax, ymin, ymax, c, itermax)\n    use, intrinsic :: iso_c_binding\n    use global_widgets\n\n    integer     :: i, j, k, p, itermax\n    real(wp)    :: x, y, xmin, xmax, ymin, ymax ! coordinates in the complex plane\n    complex(wp) :: c, z\n    real(wp)    :: scx, scy       ! scales\n    integer(int8)  :: red, green, blue     ! rgb color\n    real(wp)    :: t0, t1\n\n    computing = .true.\n    call cpu_time(t0)\n\n    scx = ((xmax - xmin) / pixwidth)   ! x scale\n    scy = ((ymax - ymin) / pixheight)  ! y scale\n\n    ! We compute the colour of each pixel (i,j):\n    do i=0, pixwidth-1\n      ! We provoke a draw event only once in a while to improve performances:\n      if (mod(i,10) == 0) then\n        call gtk_widget_queue_draw(my_drawing_area)\n      end if\n\n      x = xmin + scx * i\n      do j=0, pixheight-1\n        y = ymin + scy * j\n        z = cmplx(x, y, kind=wp)   ! Starting point\n        k = 1\n        do while ((k <= itermax) .and. ((z%re**2 + z%im**2)<4.0_wp))\n          z = z*z + c\n          k = k + 1\n        end do\n\n        if (k>itermax) then\n          ! Black pixel:\n          red   = 0\n          green = 0\n          blue  = 0\n        else\n          ! Colour palette:\n          red   = int(min(255, k*2),  int8)\n          green = int(min(255, k*5),  int8)\n          blue  = int(min(255, k*10), int8)\n        end if\n\n        ! We write in the pixbuffer:\n        p = i * nch + j * rowstride + 1\n        pixel(p)   = char(red)\n        pixel(p+1) = char(green)\n        pixel(p+2) = char(blue)\n\n        ! This subroutine processes GTK events that occurs during the computation:\n        call pending_events()\n        if (run_status == FALSE) return ! Exit subroutine if we had a delete event.\n      end do\n    end do\n\n    ! Final update of the display:\n    call gtk_widget_queue_draw(my_drawing_area)\n\n    computing = .false.\n\n    call cpu_time(t1)\n    write(string, '(\"System time = \",F8.3, \" s\")') t1-t0\n    call gtk_text_buffer_insert_at_cursor (buffer, &\n                                      & string//C_NEW_LINE//c_null_char, -1_c_int)\n  end subroutine Julia_set\n\nend module handlers\n\n!*******************************************************************************\n! In the main program, we declare the GTK application, connect it to its\n! \"activate\" function where we will create the GUI,\n! and finally call the GLib main loop.\n!*******************************************************************************\nprogram julia_pixbuf\n\n  use, intrinsic :: iso_c_binding, only: c_ptr, c_funloc, c_null_char, c_null_ptr\n  ! We will use those GTK functions and values. The \"only\" statement can improve\n  ! significantly the compilation time:\n  use gtk, only: gtk_application_new, G_APPLICATION_FLAGS_NONE\n  use g, only: g_application_run, g_object_unref\n  use handlers\n\n  implicit none\n  integer(c_int)     :: status\n  type(c_ptr)        :: app\n\n  ! First, let's create a GTK application (it will initialize GTK).\n  ! The application ID must contain at least one point:\n  ! https://developer.gnome.org/gio/stable/GApplication.html#g-application-id-is-valid\n  app = gtk_application_new(\"gtk-fortran.examples.julia_pixbuf\"//c_null_char, &\n                            & G_APPLICATION_FLAGS_NONE)\n  ! The activate signal will be sent by g_application_run().\n  ! The c_funloc() function returns the C address of the callback function.\n  ! The c_null_ptr means no data is transfered to the callback function.\n  call g_signal_connect(app, \"activate\"//c_null_char, c_funloc(activate), &\n                      & c_null_ptr)\n  ! Now, the whole application will be managed by GLib (=> main loop).\n  ! Note that commandline arguments argc, argv are not passed.\n  ! https://developer.gnome.org/gio/stable/GApplication.html#g-application-run\n  status = g_application_run(app, 0_c_int, [c_null_ptr])\n\n  print *, \"You have exited the GLib main loop, bye, bye...\"\n\n  ! Memory is freed:\n  call g_object_unref(app)\n\nend program julia_pixbuf\n\n"
  },
  {
    "path": "examples/list_demo.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2011 The gtk-fortran team\n!\n! A translation into Fortran of the \"hello_world\" tree demo from\n! the GTK TreeView Tutorial.\n! Original version by: Tim-Philipp Müller (2005)\n! http://scentric.net/tutorial/ch-treeview.html#sec-TreeView-HelloWorld\n! varargs calls replaced & translated into Fortran: James Tappin 21-Mar-2011\n! GTK 4 version: vmagnin 2020-05-28\n\nmodule handlers\n  use, intrinsic :: iso_c_binding, only: c_null_char, c_null_ptr\n  use gtk_sup  ! Contains iter structure and gtypes definitions\n  use gtk, only: gtk_cell_renderer_text_new, gtk_window_set_child, &\n  & gtk_list_store_append, gtk_list_store_newv, gtk_list_store_set_value,&\n  & gtk_tree_view_column_add_attribute, gtk_tree_view_column_new, &\n  & gtk_tree_view_column_pack_start, gtk_tree_view_column_set_title, &\n  & gtk_tree_view_insert_column, gtk_tree_view_new, gtk_tree_view_set_model, &\n  & gtk_widget_show, gtk_window_new, gtk_window_set_title, FALSE, &\n  & gtk_application_window_new, g_signal_connect\n  use g, only: g_object_unref, g_value_init, g_value_set_static_string, &\n             & g_value_set_uint\n\n  implicit none\n\n  enum, bind(c)\n     enumerator :: COL_NAME = 0\n     enumerator :: COL_AGE\n     enumerator :: NUM_COLS\n  end enum\n\ncontains\n  ! Callback function for the signal \"activate\" emitted by g_application_run().\n  ! We use a subroutine because it should return void.\n  ! The GUI is defined here.\n  subroutine activate(app, gdata) bind(c)\n    type(c_ptr), value, intent(in)  :: app, gdata\n    ! Pointers toward our GTK widgets:\n    type(c_ptr) :: window, view\n\n    ! Create the window:\n    window = gtk_application_window_new(app)\n    ! Don't forget that C strings must end with a null char:\n    call gtk_window_set_title(window, \"List Demo\"//c_null_char)\n\n    !******************************************************************\n    ! Adding widgets in the window:\n    !******************************************************************\n    view = create_view_and_model ()\n    call gtk_window_set_child(window, view)\n    !******************************************************************\n\n    ! If you don't show it, nothing will appear on screen...\n    call gtk_widget_show(window)\n  end subroutine activate\n\n\n  function create_and_fill_model() result(store)\n    type(c_ptr) :: store\n    integer(type_kind), dimension(2), target :: ctypes = &\n         & [g_type_string, g_type_uint]\n    type(gtktreeiter), target :: iter\n    type(gvalue), target :: valt, vali\n    type(c_ptr) :: val\n\n    ! Initialize the GValues\n    val = c_loc(valt)\n    val = g_value_init(val, G_TYPE_STRING)\n    val = c_loc(vali)\n    val = g_value_init(val, G_TYPE_UINT)\n\n    ! Create the list store\n    store = gtk_list_store_newv(NUM_COLS, c_loc(ctypes))\n\n    ! Append row 1 and add data\n    call gtk_list_store_append(store, c_loc(iter))\n    call g_value_set_static_string(c_loc(valt), \"Heinz El-Mann\"//c_null_char)\n    call gtk_list_store_set_value(store, c_loc(iter), COL_NAME, &\n         & c_loc(valt))\n    call g_value_set_uint(c_loc(vali), 51_c_int)\n    call gtk_list_store_set_value(store, c_loc(iter), COL_AGE, c_loc(vali))\n\n    ! append another row and fill in some data\n    call gtk_list_store_append (store, c_loc(iter))\n    call g_value_set_static_string(c_loc(valt), \"Jane Doe\"//c_null_char)\n    call gtk_list_store_set_value(store, c_loc(iter), COL_NAME, c_loc(valt))\n    call g_value_set_uint(c_loc(vali), 23_c_int)\n    call gtk_list_store_set_value(store, c_loc(iter), COL_AGE, c_loc(vali))\n\n    ! And a third\n    call gtk_list_store_append (store, c_loc(iter))\n    call g_value_set_static_string(c_loc(valt), \"Joe Bungop\"//c_null_char)\n    call gtk_list_store_set_value(store, c_loc(iter), COL_NAME, c_loc(valt))\n    call g_value_set_uint(c_loc(vali), 91_c_int)\n    call gtk_list_store_set_value(store, c_loc(iter), COL_AGE, c_loc(vali))\n  end function create_and_fill_model\n\n\n  function create_view_and_model() result(view)\n    type(c_ptr) :: view\n\n    type(c_ptr) :: col, renderer, model\n    integer(c_int) :: ncol\n\n    view = gtk_tree_view_new ()\n\n    ! --- Column #1 ---\n    renderer = gtk_cell_renderer_text_new ()\n    col = gtk_tree_view_column_new()\n    call gtk_tree_view_column_pack_start(col, renderer, FALSE)\n    ncol= gtk_tree_view_insert_column(view, col, -1_c_int)\n    call gtk_tree_view_column_add_attribute(col, renderer, &\n         & \"text\"//c_null_char, COL_NAME)\n    call gtk_tree_view_column_set_title(col, \"Name\"//c_null_char)\n\n    ! --- Column #2 ---\n    col = gtk_tree_view_column_new()\n    renderer = gtk_cell_renderer_text_new ()\n    call gtk_tree_view_column_pack_start(col, renderer, FALSE)\n    ncol = gtk_tree_view_insert_column(view, col, -1_c_int)\n    call gtk_tree_view_column_set_title(col, \"Age\"//c_null_char)\n    call gtk_tree_view_column_add_attribute(col, renderer, &\n         & \"text\"//c_null_char, COL_AGE)\n\n    model = create_and_fill_model ()\n    call gtk_tree_view_set_model (view, model)\n    call g_object_unref (model)  ! destroy model automatically with view\n  end function create_view_and_model\nend module handlers\n\n!*******************************************************************************\n! In the main program, we declare the GTK application, connect it to its\n! \"activate\" function where we will create the GUI,\n! and finally call the GLib main loop.\n!*******************************************************************************\nprogram list_demo\n\n  use, intrinsic :: iso_c_binding, only: c_ptr, c_funloc, c_null_char, c_null_ptr\n  ! We will use those GTK functions and values. The \"only\" statement can improve\n  ! significantly the compilation time:\n  use gtk, only: gtk_application_new, G_APPLICATION_FLAGS_NONE\n  use g, only: g_application_run, g_object_unref\n  use handlers\n\n  implicit none\n  integer(c_int)     :: status\n  type(c_ptr)        :: app\n\n  ! First, let's create a GTK application (it will initialize GTK).\n  ! The application ID must contain at least one point:\n  ! https://developer.gnome.org/gio/stable/GApplication.html#g-application-id-is-valid\n  app = gtk_application_new(\"gtk-fortran.examples.list_demo\"//c_null_char, &\n                            & G_APPLICATION_FLAGS_NONE)\n  ! The activate signal will be sent by g_application_run().\n  ! The c_funloc() function returns the C address of the callback function.\n  ! The c_null_ptr means no data is transfered to the callback function.\n  call g_signal_connect(app, \"activate\"//c_null_char, c_funloc(activate), &\n                      & c_null_ptr)\n  ! Now, the whole application will be managed by GLib (=> main loop).\n  ! Note that commandline arguments argc, argv are not passed.\n  ! https://developer.gnome.org/gio/stable/GApplication.html#g-application-run\n  status = g_application_run(app, 0_c_int, [c_null_ptr])\n\n  print *, \"You have exited the GLib main loop, bye, bye...\"\n\n  ! Memory is freed:\n  call g_object_unref(app)\n\nend program list_demo\n\n"
  },
  {
    "path": "examples/mandelbrot_pixbuf.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2011 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!\n! Contributed by Jerry DeLisle and Vincent Magnin\n! Last modification: vmagnin 2022-04-05\n\nmodule handlers\n  use gtk, only: gtk_window_set_child, gtk_drawing_area_new, &\n  & gtk_drawing_area_set_content_width, gtk_drawing_area_set_content_height, &\n  & gtk_drawing_area_set_draw_func, &\n  & gtk_widget_queue_draw, gtk_widget_show, gtk_window_new, &\n  & gtk_window_set_default_size, gtk_window_set_title, &\n  & GDK_COLORSPACE_RGB, gtk_init, g_signal_connect, FALSE, TRUE\n\n  use cairo, only: cairo_create, cairo_destroy, cairo_paint, cairo_set_source\n\n  use gdk, only: gdk_cairo_set_source_pixbuf\n\n  use g, only: g_main_loop_new, g_main_loop_run, g_main_context_iteration, &\n             & g_main_context_pending, g_main_loop_quit\n\n  use gdk_pixbuf, only: gdk_pixbuf_get_n_channels, gdk_pixbuf_get_pixels, &\n                      & gdk_pixbuf_get_rowstride, gdk_pixbuf_new\n  use, intrinsic :: iso_c_binding, only: c_int, c_ptr, c_char, c_null_ptr, c_null_char\n\n  implicit none\n  type(c_ptr)    :: my_gmainloop\n  ! run_status is TRUE until the user closes the top window:\n  integer(c_int) :: run_status = TRUE\n  integer(c_int) :: boolresult\n  type(c_ptr)    :: my_pixbuf\n  character(kind=c_char), dimension(:), pointer :: pixel\n  integer(c_int) :: nch, rowstride, width, height\n  logical :: computing = .false.\n\ncontains\n  ! Our callback function before destroying the window:\n  subroutine destroy_signal(widget, event, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, event, gdata\n\n    print *, \"Your destroy_signal() function has been invoked !\"\n    ! Some functions and subroutines need to know that it's finished:\n    run_status = FALSE\n    ! Makes the innermost invocation of the main loop return when it regains control:\n    if (.not. computing)   call g_main_loop_quit(my_gmainloop)\n  end subroutine destroy_signal\n\n  ! This function is needed to update the GUI during long computations.\n  ! https://developer.gnome.org/glib/stable/glib-The-Main-Event-Loop.html\n  subroutine pending_events ()\n    do while(IAND(g_main_context_pending(c_null_ptr), run_status) /= FALSE)\n      ! FALSE for non-blocking:\n      boolresult = g_main_context_iteration(c_null_ptr, FALSE)\n    end do\n  end subroutine pending_events\n\n  ! \"It is called whenever GTK needs to draw the contents of the drawing area\n  ! to the screen.\"\n  ! https://developer.gnome.org/gtk4/stable/GtkDrawingArea.html#gtk-drawing-area-set-draw-func\n  subroutine my_draw_function(widget, my_cairo_context, width, height, gdata) bind(c)\n    type(c_ptr), value, intent(in)    :: widget, my_cairo_context, gdata\n    integer(c_int), value, intent(in) :: width, height\n\n    ! We redraw the pixbuf:\n    call gdk_cairo_set_source_pixbuf(my_cairo_context, my_pixbuf, 0d0, 0d0)\n    call cairo_paint(my_cairo_context)\n  end subroutine my_draw_function\n\nend module handlers\n\n\nmodule scientific_computation\n  use, intrinsic :: iso_fortran_env, only: wp=>real64, int8\n\n  implicit none\n\ncontains\n  !*********************************************\n  ! A tribute to Benoit MANDELBROT (1924-2010)\n  ! http://en.wikipedia.org/wiki/Mandelbrot_set\n  !*********************************************\n  subroutine Mandelbrot_set(my_drawing_area, xmin, xmax, ymin, ymax, itermax)\n    ! Whole set: xmin=-2.0_wp, xmax=+1.0_wp, ymin=-1.5_wp, ymax=+1.5_wp, itermax=1000\n    ! Seahorse valley:  around x=-0.743643887037151, y=+0.13182590420533, itermax=5000\n    use handlers\n\n    type(c_ptr)   :: my_drawing_area\n    integer       :: i, j, k, p, itermax\n    real(wp)      :: x, y, xmin, xmax, ymin, ymax ! coordinates in the complex plane\n    complex(wp)   :: c, z\n    real(wp)      :: scx, scy             ! scales\n    integer(int8) :: red, green, blue     ! rgb color\n    real(wp)      :: t0, t1\n\n    computing = .true.\n    call cpu_time(t0)\n    scx = (xmax-xmin) / width   ! x scale\n    scy = (ymax-ymin) / height  ! y scale\n\n    do i=0, width-1\n      ! **************************************************************************\n      ! Needed if you want to display progressively the result during computation.\n      ! We provoke a draw event only once in a while to avoid degrading\n      ! the performances:\n      ! **************************************************************************\n      if (mod(i, 10_c_int) == 0) then\n        call gtk_widget_queue_draw(my_drawing_area)\n      end if\n\n      x = xmin + scx * i\n      do j=0, height-1\n        y = ymin + scy * j\n        c = cmplx(x, y, kind=wp)    ! Starting point\n        z = (0.0_wp, 0.0_wp)        ! z0\n        k = 1\n        do while ((k <= itermax) .and. ((z%re**2 + z%im**2) < 4.0_wp))\n          z = z*z + c\n          k = k + 1\n        end do\n\n        if (k > itermax) then\n          ! Black pixel:\n          red   = 0\n          green = 0\n          blue  = 0\n        else\n          ! Colour palette:\n          red   = int(min(255, k*2),  int8)\n          green = int(min(255, k*5),  int8)\n          blue  = int(min(255, k*10), int8)\n        end if\n\n        ! We write in the pixbuffer, using char() because we need unsigned integers:\n        p = i * nch + j * rowstride + 1\n        pixel(p)   = char(red)\n        pixel(p+1) = char(green)\n        pixel(p+2) = char(blue)\n\n      end do\n      ! **************************************************************************\n      ! You need to manage the GTK events during computation:\n      ! **************************************************************************\n      call pending_events()\n      if (run_status == FALSE) return ! Exit if we had a destroy signal.\n    end do\n\n    ! Final update of the display:\n    call gtk_widget_queue_draw(my_drawing_area)\n\n    call cpu_time(t1)\n    print '(A, F6.2, A)', \"CPU time = \", t1-t0, \" s\"\n\n    computing = .false.\n  end subroutine mandelbrot_set\nend module scientific_computation\n\n\n!***********************************************\n! We define the GUI and then call the main loop:\n!***********************************************\nprogram mandelbrot\n  use, intrinsic :: iso_c_binding, only: c_ptr, c_null_funptr, c_funloc, c_f_pointer\n  use handlers\n  use scientific_computation\n\n  implicit none\n  type(c_ptr) :: my_window\n  type(c_ptr) :: my_drawing_area\n\n  call gtk_init()\n\n  ! Properties of the main window :\n  width  = 700\n  height = 700\n  my_window = gtk_window_new()\n  call gtk_window_set_default_size(my_window, width, height)\n  call gtk_window_set_title(my_window, &\n                    & \"A tribute to Benoit MANDELBROT (1924-2010)\"//c_null_char)\n  call g_signal_connect(my_window, \"destroy\"//c_null_char, &\n                      & c_funloc(destroy_signal))\n\n  ! We need a widget where to draw our pixbuf:\n  my_drawing_area = gtk_drawing_area_new()\n  call gtk_drawing_area_set_content_width(my_drawing_area, width)\n  call gtk_drawing_area_set_content_height(my_drawing_area, height)\n  call gtk_drawing_area_set_draw_func(my_drawing_area, &\n                   & c_funloc(my_draw_function), c_null_ptr, c_null_funptr)\n\n  call gtk_window_set_child(my_window, my_drawing_area)\n\n  call gtk_widget_show(my_window)\n\n  ! We create a pixbuffer to store the pixels of the image:\n  ! \"Creates a new GdkPixbuf structure and allocates a buffer for it\":\n  ! RGB, no alpha channel (FALSE), 8 bits per color sample, width, height\n  my_pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, FALSE, 8_c_int, width, height)\n  ! Queries the number of channels of a pixbuf:\n  nch = gdk_pixbuf_get_n_channels(my_pixbuf)\n  print *, \"Number of channels of the pixbuf: \", nch\n  ! \"Queries the rowstride of a pixbuf, which is the number of bytes between\n  ! the start of a row and the start of the next row\":\n  rowstride = gdk_pixbuf_get_rowstride(my_pixbuf)\n  print *, \"Rowstride of the pixbuf: \", rowstride\n\n  ! We need a pointer toward the pixel buffer:\n  call c_f_pointer(gdk_pixbuf_get_pixels(my_pixbuf), pixel, [width*height*nch])\n\n  ! Scientific computing:\n  call Mandelbrot_set(my_drawing_area, -2.0_wp, +1.0_wp, -1.5_wp, +1.5_wp, 10000_4)\n\n  ! The window will stay opened after the computation, but we need to verify\n  ! that the user has not closed the window during the computation.\n  ! https://developer.gnome.org/glib/stable/glib-The-Main-Event-Loop.html\n  if (run_status /= FALSE) then\n    my_gmainloop = g_main_loop_new(c_null_ptr, FALSE)\n    call g_main_loop_run(my_gmainloop)\n  end if\n\n  print *, \"All done\"\nend program mandelbrot\n"
  },
  {
    "path": "examples/mandelbrot_pixbuf_zoom.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2011 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!------------------------------------------------------------------------------\n! Contributed by Jerry DeLisle and Vincent Magnin\n! Event handling & Zoom : James Tappin\n! Last modifications: vmagnin 2020-12-18, 2021-01-22\n!------------------------------------------------------------------------------\n\nmodule handlers\n  use cairo, only: cairo_paint\n  use gdk, only: gdk_cairo_set_source_pixbuf\n  use gdk_pixbuf, only: gdk_pixbuf_get_n_channels, gdk_pixbuf_get_pixels, &\n       & gdk_pixbuf_get_rowstride, gdk_pixbuf_new\n  use gtk, only: gtk_application_window_new, gtk_application_new, &\n       & gtk_window_set_default_size, gtk_box_new, &\n       & gtk_window_set_child, gtk_box_append, gtk_drawing_area_new,  &\n       & gtk_label_new, gtk_label_set_text, &\n       & gtk_statusbar_new, gtk_statusbar_push, &\n       & gtk_widget_queue_draw, &\n       & gtk_drawing_area_set_draw_func, &\n       & gtk_widget_set_size_request, gtk_widget_show, gtk_window_new, &\n       & gtk_window_set_title, gtk_init, g_signal_connect, TRUE, FALSE, &\n       & GTK_ORIENTATION_VERTICAL, GDK_COLORSPACE_RGB, &\n       & gtk_gesture_click_new, gtk_widget_add_controller, &\n       & gtk_event_controller_get_widget, gtk_event_controller_motion_new, &\n       & gtk_gesture_single_get_current_button, &\n       & gtk_gesture_single_set_button, gtk_event_controller_scroll_new, &\n       & GTK_EVENT_CONTROLLER_SCROLL_VERTICAL\n  use g, only: g_main_context_iteration, &\n             & g_main_context_pending, &\n             & g_application_run, g_object_unref\n  use, intrinsic :: iso_c_binding\n\n  implicit none\n  integer(c_int) :: run_status = TRUE\n  integer(c_int) :: boolresult\n  type(c_ptr) :: my_pixbuf, status_bar, rangeid\n  character(kind=c_char), dimension(:,:,:), pointer :: pixel\n  integer(c_int) :: nch, rowstride, width, height\n  logical :: need_point     ! even/odd point flag\n  logical :: computing_flag\n  character(len=120) :: rangestr\n  real(c_double) :: mxmin, mxmax, mymin, mymax\n  integer(c_int) :: mouse_x, mouse_y\n\ncontains\n  ! User defined event handlers go here\n\n  ! This function is needed to update the GUI during long computations.\n  ! https://developer.gnome.org/glib/stable/glib-The-Main-Event-Loop.html\n  subroutine pending_events ()\n    do while(IAND(g_main_context_pending(c_null_ptr), run_status) /= FALSE)\n      ! FALSE for non-blocking:\n      boolresult = g_main_context_iteration(c_null_ptr, FALSE)\n    end do\n  end subroutine pending_events\n\n  ! \"It is called whenever GTK needs to draw the contents of the drawing area\n  ! to the screen.\"\n  ! https://developer.gnome.org/gtk4/stable/GtkDrawingArea.html#gtk-drawing-area-set-draw-func\n  subroutine draw(widget, my_cairo_context, width, height, gdata) bind(c)\n    type(c_ptr), value, intent(in)    :: widget, my_cairo_context, gdata\n    integer(c_int), value, intent(in) :: width, height\n\n    ! We redraw the pixbuf:\n    call gdk_cairo_set_source_pixbuf(my_cairo_context, my_pixbuf, 0d0, 0d0)\n    call cairo_paint(my_cairo_context)\n  end subroutine draw\n\n  ! Click callback function (\"pressed\" signal):\n  subroutine click_cb(gesture, n_press, x, y, gdata) bind(c)\n    type(c_ptr), value, intent(in)    :: gesture, gdata\n    integer(c_int), value, intent(in) :: n_press\n    real(c_double), value, intent(in) :: x, y\n    real(c_double), save :: x0, y0\n    real(c_double) :: x1, y1\n    type(c_ptr) :: drawing_area\n    integer(c_int) :: id\n\n    print *, \"Button \", gtk_gesture_single_get_current_button(gesture)\n    print *, n_press, \" click(s) at \", int(x), int(y)\n\n    if (n_press > 1) then\n      print *, \"Double clicks have no effect!\"\n      return\n    end if\n\n    if (computing_flag) then\n      print *, \"Be patient...\"\n      return\n    end if\n\n    drawing_area = gtk_event_controller_get_widget(gesture)\n\n    if (gtk_gesture_single_get_current_button(gesture) == 3) then\n       ! Right button => reset to full set\n       need_point=.false.\n       call set_limits\n       call mandelbrot_set(drawing_area, 1000_c_int)\n       id = gtk_statusbar_push(status_bar, 0_c_int, &\n            & \"Left|Centre mark: region corner, Right: Reset, \"//&\n            & \"Wheel: Zoom in/out\"//c_null_char)\n    else if (.not. need_point) then\n       need_point=.true.\n       print *, \"First point\"\n       call mand_xy(int(x, c_int), int(y, c_int), x0, y0)\n       id = gtk_statusbar_push(status_bar, 0_c_int, &\n            & \"Click the opposite corner of the region\"//c_null_char)\n    else if (need_point) then ! Already have one point\n       need_point=.false.\n       print *, \"Second point\"\n\n       call mand_xy(int(x, c_int), int(y, c_int), x1, y1)\n       ! If it is not a double-click, we zoom:\n       if ((min(x0,x1)/=max(x0,x1)).and.(min(y0,y1)/=max(y0,y1))) then\n         mxmin=min(x0,x1)\n         mxmax=max(x0,x1)\n         mymin=min(y0,y1)\n         mymax=max(y0,y1)\n       end if\n\n       write(rangestr, &\n            & \"('Xmin: ',g11.4,' Xmax: ',g11.4,' Range: ',g11.4,' Ymin: '\"//&\n            & \",g11.4,' Ymax: ', g11.4,' Range: ',g11.4)\") &\n            & mxmin, mxmax, mxmax-mxmin, mymin, mymax, mymax-mymin\n       call gtk_label_set_text(rangeid, trim(rangestr)//c_null_char)\n\n       call mandelbrot_set(drawing_area, 1000_c_int)\n       id = gtk_statusbar_push(status_bar, 0_c_int, &\n            & \"Left|Centre: mark region corner, \"//&\n            & \"Right: Reset, Wheel: Zoom in/out\"//c_null_char)\n    end if\n  end subroutine click_cb\n\n  ! Scroll callback function (\"scroll\" signal):\n  recursive subroutine scroll_cb(controller, x, y, gdata) bind(c)\n    type(c_ptr), value, intent(in)    :: controller, gdata\n    real(c_double), value, intent(in) :: x, y\n    type(c_ptr) :: drawing_area\n    ! Mathematical coordinates:\n    real(c_double) :: xr, yr, xx, yy\n    integer(c_int) :: id\n\n    print *, \"Scroll x,y= \", x, y\n    ! We need to redraw the area:\n    drawing_area = gtk_event_controller_get_widget(controller)\n\n    if (computing_flag) return             ! One wheel step at a time !\n\n    if (y > 0) then ! Zoom out\n       call mand_xy(mouse_x, mouse_y, xx, yy)\n       xr=min(mxmax-mxmin, 1.5_c_double)\n       yr=min(mymax-mymin, 1.5_c_double)\n    else ! Zoom in\n       call mand_xy(mouse_x, mouse_y, xx, yy)\n       xr = (mxmax-mxmin)/4._c_double\n       yr = (mymax-mymin)/4._c_double\n    end if\n\n    mxmax=xx+xr\n    mxmin=xx-xr\n    if (mxmax > 1._c_double) then\n       mxmax = 1._c_double\n       mxmin = mxmax - 2._c_double * xr\n    else if (mxmin < -2._c_double) then\n       mxmin = -2._c_double\n       mxmax = mxmin + 2._c_double * xr\n    end if\n\n    mymin = yy-yr\n    mymax = yy+yr\n    if (mymax > 1.5_c_double) then\n       mymax = 1.5_c_double\n       mymin = mymax - 2._c_double * yr\n    else if (mymin < -1.5_c_double) then\n       mymin = -1.5_c_double\n       mymax = mymin + 2._c_double * yr\n    end if\n\n    write(rangestr, &\n         & \"('Xmin: ',g11.4,' Xmax: ',g11.4,' Range: ',g11.4,' Ymin: ',\"//&\n         & \"g11.4,' Ymax: ', g11.4,' Range: ',g11.4)\") &\n         & mxmin, mxmax, mxmax-mxmin, mymin, mymax, mymax-mymin\n    call gtk_label_set_text(rangeid, trim(rangestr)//c_null_char)\n    print *, \"Window:\", mxmin,mxmax,mymin, mymax\n\n    call mandelbrot_set(drawing_area, 1000_c_int)\n\n    id = gtk_statusbar_push(status_bar, 0_c_int, &\n         & \"Left|Centre: mark region corner, \"//&\n         & \"Right: Reset, Wheel: Zoom in/out\"//c_null_char)\n  end subroutine scroll_cb\n\n  ! Motion callback function (\"motion\" signal):\n  subroutine motion_cb(controller, x, y, gdata) bind(c)\n    type(c_ptr), value, intent(in)    :: controller, gdata\n    real(c_double), value, intent(in) :: x, y\n\n    print *, \"Motion x,y= \", x, y\n    mouse_x = nint(x)\n    mouse_y = nint(y)\n  end subroutine motion_cb\n\n  subroutine set_limits()\n    mxmin = -2.0_c_double\n    mxmax = 1.0_c_double\n    mymin = -1.5_c_double\n    mymax = 1.5_c_double\n  end subroutine set_limits\n\n  subroutine mand_xy(ix, iy, x, y)\n    integer(c_int), intent(in) :: ix, iy\n    real(c_double), intent(out) :: x, y\n    real(c_double) :: scx, scy\n\n    scx = (mxmax-mxmin)/real(width, c_double)   ! x scale\n    scy = (mymax-mymin)/real(height, c_double)  ! y scale\n\n    x = mxmin + scx * real(ix, c_double)\n    y = mymin + scy * real(iy, c_double)\n  end subroutine mand_xy\n\n  !*********************************************\n  ! A tribute to Benoit MANDELBROT (1924-2010)\n  ! http://en.wikipedia.org/wiki/Mandelbrot_set\n  !*********************************************\n  subroutine mandelbrot_set(my_drawing_area, itermax)\n    ! Whole set: xmin=-2.0_wp, xmax=+1.0_wp, ymin=-1.5_wp, ymax=+1.5_wp, itermax=1000\n    ! Seahorse valley:  around x=-0.743643887037151, y=+0.13182590420533, itermax=5000\n    type(c_ptr), intent(in) :: my_drawing_area\n    integer(c_int), intent(in) :: itermax\n    integer(c_int)    :: i, j, k\n    real(c_double)    :: x, y ! coordinates in the complex plane\n    complex(c_double) :: c, z\n    integer(c_int8_t) :: red, green, blue     ! rgb color\n    real(c_double)    :: t0, t1\n    integer :: it\n\n    computing_flag = .true.\n\n    call system_clock(it)\n    t0=real(it, c_double)/1000._c_double\n\n    do i=0, width-1\n       ! **************************************************************************\n       ! Needed if you want to display progressively the result during computation.\n       ! We provoke a draw event only once in a while to avoid degrading\n       ! the performances:\n       ! **************************************************************************\n       if (mod(i, 10_c_int) == 0) then\n         call gtk_widget_queue_draw(my_drawing_area)\n       end if\n\n       do j=0, height-1\n          call mand_xy(i, j, x, y)\n          c = cmplx(x, y, kind=c_double)          ! Starting point\n          z = (0.0_c_double, 0.0_c_double)        ! z0\n          k = 1\n          do while ((k <= itermax) .and. ((z%re**2 + z%im**2)<4.0_c_double))\n             z = z*z+c\n             k = k+1\n          end do\n\n          if (k>itermax) then\n             ! Black pixel:\n             red   = 0\n             green = 0\n             blue  = 0\n          else\n             red   = int(min(255, k*2),  KIND=c_int8_t)\n             green = int(min(255, k*5),  KIND=c_int8_t)\n             blue  = int(min(255, k*10), KIND=c_int8_t)\n          end if\n\n          ! We write in the pixbuffer:\n          pixel(1,i+1,j+1)=char(red)\n          pixel(2,i+1,j+1)=char(green)\n          pixel(3,i+1,j+1)=char(blue)\n          pixel(4,i+1,j+1)=char(255)  ! Opacity (alpha channel)\n\n       end do\n       ! **************************************************************************\n       ! You need to manage the GTK events during computation:\n       ! **************************************************************************\n       call pending_events()\n       if (run_status == FALSE) return ! Exit if we had a delete event.\n    end do\n\n    call gtk_widget_queue_draw(my_drawing_area)\n\n    call system_clock(it)\n    t1=real(it, c_double)/1000._c_double\n    print *, \"System time = \", t1-t0\n\n    computing_flag = .false.\n    need_point     = .false.\n  end subroutine mandelbrot_set\n\n  ! The GUI is defined here:\n  subroutine activate(app, gdata) bind(c)\n    implicit none\n    type(c_ptr), value, intent(in)  :: app, gdata\n    type(c_ptr) :: my_window, jb\n    type(c_ptr) :: my_drawing_area, controller, controller2, controller3\n    integer :: i, j\n    integer(c_int) :: id\n\n    my_window = gtk_application_window_new(app)\n\n    ! Properties of the main window :\n    width = 700\n    height = 700\n    call gtk_window_set_default_size(my_window, width, height)\n    call gtk_window_set_title(my_window, &\n         & \"A tribute to Benoit MANDELBROT (1924-2010)\"//c_null_char)\n\n    jb = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0_c_int)\n    call gtk_window_set_child(my_window, jb)\n\n    my_drawing_area = gtk_drawing_area_new()\n    call gtk_widget_set_size_request(my_drawing_area, &\n         & width, height)\n\n    call gtk_drawing_area_set_draw_func(my_drawing_area, &\n                     & c_funloc(draw), c_null_ptr, c_null_funptr)\n\n    ! We need a gesture controller to detect mouse clicks:\n    ! https://developer.gnome.org/gtk4/stable/GtkGestureClick.html\n    ! https://developer.gnome.org/gtk4/stable/GtkWidget.html#gtk-widget-add-controller\n    controller = gtk_gesture_click_new()\n    ! 0 to listen to all buttons (button 1 by default):\n    call gtk_gesture_single_set_button (controller, 0_c_int)\n    call g_signal_connect(controller, \"pressed\"//c_null_char, &\n                                        & c_funloc(click_cb))\n    call gtk_widget_add_controller(my_drawing_area, controller)\n\n    ! And a controller for scrolling:\n    ! https://developer.gnome.org/gtk4/stable/GtkEventControllerScroll.html\n    controller2 = gtk_event_controller_scroll_new (GTK_EVENT_CONTROLLER_SCROLL_VERTICAL)\n    call g_signal_connect(controller2, \"scroll\"//c_null_char, &\n                                        & c_funloc(scroll_cb))\n    call gtk_widget_add_controller(my_drawing_area, controller2)\n    ! And a controller to detect motion and know where is the mouse:\n    ! https://developer.gnome.org/gtk4/stable/GtkEventControllerMotion.html\n    controller3 = gtk_event_controller_motion_new ()\n    call g_signal_connect(controller3, \"motion\"//c_null_char, &\n                                        & c_funloc(motion_cb))\n    call gtk_widget_add_controller(my_drawing_area, controller3)\n    mouse_x = 0\n    mouse_y = 0\n\n    call gtk_box_append(jb, my_drawing_area)\n\n    ! Set the initial view\n    call set_limits()\n    write(rangestr, &\n         & \"('Xmin: ',g11.4,' Xmax: ',g11.4,' Range: ',g11.4,' Ymin: ',g11.4,' Ymax: ', g11.4,' Range: ',g11.4)\") &\n         & mxmin,  mxmax, mxmax-mxmin, mymin, mymax, mymax-mymin\n    rangeid = gtk_label_new(trim(rangestr)//c_null_char)\n    call gtk_box_append(jb, rangeid)\n\n    status_bar = gtk_statusbar_new()\n    call gtk_box_append(jb, status_bar)\n    id = gtk_statusbar_push(status_bar, 0_c_int, &\n         & \"Left|Centre: mark region corner, \"//&\n         & \"Right: Reset, Wheel: Zoom in/out\"//c_null_char)\n\n    call gtk_widget_show(my_window)\n\n    ! We create a pixbuffer to store the pixels of the image:\n    my_pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8_c_int, width, height)\n    nch = gdk_pixbuf_get_n_channels(my_pixbuf)\n    call c_f_pointer(gdk_pixbuf_get_pixels(my_pixbuf), pixel, &\n         &int([nch, width, height]))\n    rowstride = gdk_pixbuf_get_rowstride(my_pixbuf)\n\n    ! We use char() because we need unsigned integers.\n    ! Our pixbuffer has an Alpha channel but is possible to create a pixbuffer\n    ! with only Red, Green, Blue.\n    do i=1, height\n       do j=1, width\n          pixel(1,j,i)=char(0)     ! Red\n          pixel(2,j,i)=char(0)     ! Green\n          pixel(3,j,i)=char(0)     ! Blue\n          pixel(4,j,i)=char(255)   ! Opacity (Alpha channel)\n       end do\n    end do\n\n    call Mandelbrot_set(my_drawing_area, 1000_c_int)\n\n  end subroutine activate\nend module handlers\n\n! We create a GtkApplication:\nprogram mandelbrot_pixbuf_zoom\n  use, intrinsic :: iso_c_binding, only: c_int, c_ptr, c_funloc, c_null_char, c_null_ptr\n  use gtk, only: gtk_application_new, g_signal_connect, G_APPLICATION_FLAGS_NONE\n  use g, only: g_application_run, g_object_unref\n  use handlers, only: activate\n\n  implicit none\n  integer(c_int) :: exit_status\n  type(c_ptr)    :: app\n\n  app = gtk_application_new(\"gtk-fortran.examples.mandelbrot-pixbuf-zoom\"//c_null_char, &\n                            & G_APPLICATION_FLAGS_NONE)\n  call g_signal_connect(app, \"activate\"//c_null_char, c_funloc(activate), &\n                      & c_null_ptr)\n  exit_status = g_application_run(app, 0_c_int, [c_null_ptr])\n  call g_object_unref(app)\nend program mandelbrot_pixbuf_zoom\n\n"
  },
  {
    "path": "examples/menubar.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2021 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!-------------------------------------------------------------------------------\n! Contributed by: Jerry DeLisle, 2021-02-24\n! Last modifications: vmagnin 2025-05-05\n! This example demonstrates a menu bar and is based on:\n!   https://github.com/ToshioCP/Gtk4-tutorial/blob/main/src/menu/menu2.c\n!-------------------------------------------------------------------------------\n\nmodule handlers\n  use gtk, only: gtk_application_new, g_signal_connect, FALSE, TRUE, &\n               & gtk_window_maximize, gtk_window_unmaximize, &\n               & gtk_css_provider_load_from_data, gtk_application_window_new, &\n               & gtk_window_set_title, gtk_window_set_default_size, &\n               & gtk_label_new, gtk_widget_set_name, gtk_window_set_child, &\n               & gtk_application_set_menubar, &\n               & gtk_application_window_set_show_menubar, &\n               & gtk_application_set_accels_for_action, &\n               & gtk_css_provider_new, gtk_widget_get_display, &\n               & gtk_css_provider_load_from_data, g_application_flags_none, &\n               & gtk_style_context_add_provider_for_display, gtk_window_present\n  use gtk_sup, only: convert_c_string, convert_f_string\n  use g, only: g_variant_new_boolean, g_variant_get_boolean, &\n             & g_variant_new_string, g_variant_get_string, g_variant_type_new, &\n             & g_simple_action_set_state, g_action_change_state, &\n             & g_application_run, g_application_quit, &\n             & g_simple_action_new_stateful, &\n             & g_simple_action_new, g_menu_new, g_menu_item_new, &\n             & g_action_map_add_action, g_menu_append_item, &\n             & g_object_unref, g_menu_append_section, g_menu_append_submenu\n  use, intrinsic :: iso_c_binding, only: c_null_ptr, c_null_char, c_ptr, c_int, c_char, &\n                         & c_funloc, c_loc, c_size_t\n\n  implicit none\n  type(c_ptr) :: app, provider\n\ncontains\n\n  !*************************************************\n  ! The three callback functions of the menu items:\n  !*************************************************\n  subroutine fullscreen_changed (act, avalue, win) bind(c)\n    type(c_ptr), value, intent(in) :: act, avalue, win\n    logical :: state\n\n    ! This is the correct way to convert a boolean integer to logical.\n    state = transfer(g_variant_get_boolean (avalue), state)\n\n    if (state) then\n      call gtk_window_maximize (win)\n    else\n      call gtk_window_unmaximize (win)\n    end if\n    call g_simple_action_set_state (act, avalue)\n  end subroutine\n\n  subroutine color_activated (act, param, win) bind(c)\n    type(c_ptr), value, intent(in) :: act, param, win\n    type(c_ptr) :: param_string\n    character(kind=c_char, len=40):: color, color_str\n\n    ! Get the C string from param\n    param_string = g_variant_get_string (param, c_null_ptr)\n\n    ! Convert it to a Fortran string\n    call convert_c_string(param_string, color_str)\n    print *, \"The color will be: \"//trim(color_str)//\"!\"\n\n    color = \"label#lb {background-color: \"//trim(color_str)//\"; }\"//c_null_char\n\n    print *, \"Let's change the color!\"\n    call gtk_css_provider_load_from_data (provider, color, -1_c_size_t)\n    call g_action_change_state (act, param)\n  end subroutine\n\n  subroutine quit_activated (act, param, win) bind(c)\n    type(c_ptr), value, intent(in) :: act, param, win\n\n    print *, \"QUIT!\"\n    call g_application_quit (app)\n  end subroutine\n\n  !*******************************************************\n  ! The activate callback function of the GtkApplication:\n  !*******************************************************\n  subroutine activate (app, user_data) bind(c)\n    type(c_ptr), value, intent(in)  :: app, user_data\n    type(c_ptr) :: win, display, lb, act_fullscreen, &\n                 & act_color, act_quit\n    type(c_ptr) :: menubar, menu, section1, section2, section3, &\n      & menu_item_red, menu_item_green, &\n      & menu_item_blue, menu_item_quit, menu_item_fullscreen\n    integer(c_size_t) :: length = -1_c_size_t\n    character(kind=c_char), dimension(:), allocatable :: stringtmp\n    character(kind=c_char), pointer, dimension(:) :: accels\n    type(c_ptr), dimension(:), allocatable :: c_ptr_array\n\n    win = gtk_application_window_new (app)\n    call gtk_window_set_title (win, \"menubar\"//c_null_char)\n    call gtk_window_set_default_size (win, 400, 300)\n\n    lb = gtk_label_new (\"\"//c_null_char)\n    call gtk_widget_set_name (lb, \"lb\"//c_null_char)  ! the name is used by CSS Selector.\n    call gtk_window_set_child (win, lb)\n\n    act_fullscreen = g_simple_action_new_stateful (\"fullscreen\"//c_null_char, &\n                                  & c_null_ptr, g_variant_new_boolean (FALSE))\n    act_color = g_simple_action_new_stateful (\"color\"//c_null_char, &\n                                  & g_variant_type_new(\"s\"//c_null_char), &\n                                  & g_variant_new_string (\"red\"//c_null_char))\n    act_quit = g_simple_action_new (\"quit\"//c_null_char, c_null_ptr)\n  \n    ! To add an accelerator we need a pointer toward a null terminated array\n    ! of strings, but in the present case the array will contain only one string\n    ! (it is possible to have several accelerators for the same action): \n    allocate(c_ptr_array(1+1))\n    call convert_f_string(\"<Ctrl>q\"//c_null_char, stringtmp)\n    allocate(accels(size(stringtmp)))\n    ! A Fortran pointer toward the Fortran string:\n    accels(:) = stringtmp(:)\n    ! Store the C address in the array:\n    c_ptr_array(1) = c_loc(accels(1))\n    nullify(accels)\n    ! The array must be null terminated:\n    c_ptr_array(2) = c_null_ptr\n    ! https://docs.gtk.org/gtk4/method.Application.set_accels_for_action.html\n    call gtk_application_set_accels_for_action(app, \"app.quit\"//c_null_char, c_ptr_array)\n    deallocate(c_ptr_array)\n\n    menubar = g_menu_new ()\n    menu = g_menu_new ()\n    section1 = g_menu_new ()\n    section2 = g_menu_new ()\n    section3 = g_menu_new ()\n    menu_item_fullscreen = g_menu_item_new (\"Full Screen\"//c_null_char, \"win.fullscreen\"//c_null_char)\n    menu_item_red = g_menu_item_new (\"Red\"//c_null_char, \"win.color::red\"//c_null_char)\n    menu_item_green = g_menu_item_new (\"Green\"//c_null_char, \"win.color::green\"//c_null_char)\n    menu_item_blue = g_menu_item_new (\"Blue\"//c_null_char, \"win.color::blue\"//c_null_char)\n    menu_item_quit = g_menu_item_new (\"Quit\"//c_null_char, \"app.quit\"//c_null_char)\n\n    call g_signal_connect (act_fullscreen, \"change-state\"//c_null_char, c_funloc(fullscreen_changed), win)\n    call g_signal_connect (act_color, \"activate\"//c_null_char, c_funloc (color_activated), win)\n    call g_signal_connect (act_quit, \"activate\"//c_null_char, c_funloc (quit_activated), app)\n    call g_action_map_add_action (win, act_fullscreen)\n    call g_action_map_add_action (win, act_color)\n    call g_action_map_add_action (app, act_quit)\n\n    call g_menu_append_item (section1, menu_item_fullscreen)\n    call g_menu_append_item (section2, menu_item_red)\n    call g_menu_append_item (section2, menu_item_green)\n    call g_menu_append_item (section2, menu_item_blue)\n    call g_menu_append_item (section3, menu_item_quit)\n    call g_object_unref (menu_item_red)\n    call g_object_unref (menu_item_green)\n    call g_object_unref (menu_item_blue)\n    call g_object_unref (menu_item_fullscreen)\n    call g_object_unref (menu_item_quit)\n\n    call g_menu_append_section (menu, c_null_char, section1)\n    call g_menu_append_section (menu, \"Color\"//c_null_char, section2)\n    call g_menu_append_section (menu, c_null_char, section3)\n    call g_menu_append_submenu (menubar, \"Menu\"//c_null_char, menu)\n\n    call gtk_application_set_menubar (app, menubar)\n    call gtk_application_window_set_show_menubar (win, TRUE)\n\n    provider = gtk_css_provider_new ()\n    display = gtk_widget_get_display (win)\n    call gtk_css_provider_load_from_data (provider, \"label#lb {background-color: red;}\"//c_null_char, length)\n    call gtk_style_context_add_provider_for_display (display, provider, 800)\n\n    call gtk_window_present (win)\n  end subroutine\nend module handlers\n\nprogram menu_example\n  use handlers\n\n  implicit none\n\n  integer(c_int) :: app_stat\n\n  app = gtk_application_new (\"gtk-fortran.examples.menubar\"//c_null_char, &\n                          & G_APPLICATION_FLAGS_NONE)\n  call g_signal_connect(app, \"activate\"//c_null_char, &\n                      & c_funloc(activate), c_null_ptr)\n\n  app_stat = g_application_run(app, 0_c_int, [c_null_ptr])\n  call g_object_unref (app)\nend program\n"
  },
  {
    "path": "examples/notebooks.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2011 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!\n! Contributed by Jens Hunger, vmagnin\n! Last modifications: vmagnin 2020-05-28, 2022-07-20\n\nmodule widgets\n  use, intrinsic :: iso_c_binding\n\n  implicit none\n  type(c_ptr) :: mainwindow\n  type(c_ptr) :: button\n  type(c_ptr) :: table\n  type(c_ptr) :: notebook_1, notebook_2\n  type(c_ptr) :: frame\n  type(c_ptr) :: label\n  type(c_ptr) :: checkbutton\nend module\n\n\nmodule handlers\n  use, intrinsic :: iso_c_binding\n\n  use gtk, only: gtk_window_set_title, gtk_notebook_popup_enable, &\n  & g_signal_connect, g_signal_connect_swapped, gtk_notebook_set_scrollable, &\n  & gtk_window_destroy, gtk_widget_show, gtk_application_window_new, &\n  & FALSE, TRUE, GTK_POS_TOP, &\n  & gtk_button_new, gtk_button_new_with_label, &\n  & gtk_check_button_new, gtk_check_button_new_with_label, &\n  & gtk_window_set_child, gtk_frame_set_child, &\n  & gtk_frame_new, gtk_label_new, gtk_notebook_append_page, &\n  & gtk_notebook_get_current_page, gtk_notebook_get_n_pages, &\n  & gtk_notebook_get_show_border, &\n  & gtk_notebook_get_show_tabs, gtk_notebook_get_tab_pos, &\n  & gtk_notebook_insert_page, gtk_notebook_new, gtk_notebook_next_page, &\n  & gtk_notebook_prepend_page, gtk_notebook_prev_page, &\n  & gtk_notebook_remove_page, &\n  & gtk_notebook_set_current_page, gtk_notebook_set_show_border, &\n  & gtk_notebook_set_show_tabs, gtk_notebook_set_tab_detachable, &\n  & gtk_notebook_set_tab_pos, &\n  & gtk_notebook_set_tab_reorderable, gtk_grid_attach, &\n  & gtk_grid_new, gtk_widget_queue_draw, gtk_widget_set_size_request, &\n  & gtk_notebook_set_group_name, gtk_notebook_get_group_name, &\n  & gtk_widget_set_margin_start, gtk_widget_set_margin_end, &\n  & gtk_widget_set_margin_top, gtk_widget_set_margin_bottom\n\n  use gtk_sup, only: convert_c_string_scalar\n\n  use widgets\n\n  implicit none\n\ncontains\n  !*************************************\n  ! User defined event handlers go here\n  !*************************************\n\n  ! Next page\n  subroutine next_page_book(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n\n    if (gtk_notebook_get_current_page(notebook_1) == gtk_notebook_get_n_pages(notebook_1) - 1) then\n      call gtk_notebook_set_current_page(notebook_1, 0_c_int)\n    else\n      call gtk_notebook_next_page(notebook_1)\n    endif\n  end subroutine next_page_book\n\n  ! Previous page\n  subroutine prev_page_book(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n\n    if (gtk_notebook_get_current_page(notebook_1) == 0) then\n      call gtk_notebook_set_current_page(notebook_1, -1_c_int)\n    else\n      call gtk_notebook_prev_page(notebook_1)\n    endif\n  end subroutine prev_page_book\n\n  ! Rotate the position of the tabs\n  subroutine rotate_book(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n\n    call gtk_notebook_set_tab_pos(notebook_1, gtk_notebook_get_tab_pos(notebook_1) + 1_c_int)\n  end subroutine rotate_book\n\n  ! Add/Remove the page tabs and the borders of notebook 1:\n  subroutine tabsborder_book(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n\n    if (gtk_notebook_get_show_tabs(notebook_1) == FALSE) then\n      call gtk_notebook_set_show_tabs(notebook_1, TRUE)\n    else\n      call gtk_notebook_set_show_tabs(notebook_1, FALSE)\n    end if\n\n    if (gtk_notebook_get_show_border(notebook_1) == FALSE) then\n      call gtk_notebook_set_show_border(notebook_1, TRUE)\n    else\n      call gtk_notebook_set_show_border(notebook_1, FALSE)\n    end if\n  end subroutine tabsborder_book\n\n  ! Remove a page from the notebook\n  subroutine remove_book(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n    integer(c_int) :: page\n\n    page = gtk_notebook_get_current_page(notebook_1)\n\n    if (page >= 0) then\n      call gtk_notebook_remove_page(notebook_1, page)\n      ! Need to refresh the widget -- This forces the widget to redraw itself.\n      call gtk_widget_queue_draw(notebook_1)\n    end if\n  end subroutine remove_book\n\n  ! Callback function for the signal \"activate\" emitted by g_application_run().\n  ! We use a subroutine because it should return void.\n  ! The GUI is defined here.\n  subroutine activate(app, gdata) bind(c)\n    type(c_ptr), value, intent(in)  :: app, gdata\n    ! Pointer toward our GTK window\n    type(c_ptr) :: mainwindow\n    ! Other variables\n    integer :: i\n    ! A string version of the i counter:\n    character(kind=c_char, len=12) :: istr\n    integer(c_int) :: nb\n    character(kind=c_char), dimension(:), pointer :: textptr\n    character(len=512) :: my_string\n\n    ! Create the window:\n    mainwindow = gtk_application_window_new(app)\n    ! Don't forget that C strings must end with a null char:\n    call gtk_window_set_title(mainwindow, \"Notebooks Example\"//c_null_char)\n\n    !******************************************************************\n    ! Adding widgets in the window:\n    !******************************************************************\n    ! Container for notebook\n    table = gtk_grid_new()\n    ! Set the border width (10 pixels) around the container:\n    call gtk_widget_set_margin_start(table, 10_c_int)\n    call gtk_widget_set_margin_end(table, 10_c_int)\n    call gtk_widget_set_margin_top(table, 10_c_int)\n    call gtk_widget_set_margin_bottom(table, 10_c_int)\n\n    call gtk_window_set_child(mainwindow, table)\n\n    ! Create a new notebook, place the position of the tabs\n    ! https://docs.gtk.org/gtk4/class.Notebook.html\n    notebook_1 = gtk_notebook_new()\n    call gtk_notebook_set_tab_pos(notebook_1, GTK_POS_TOP)\n    call gtk_grid_attach(table, notebook_1, 0_c_int, 0_c_int, 6_c_int, 1_c_int)\n\n    ! Attach notebook to group, necessary to enable drag and drop\n    ! between the two notebooks\n    call gtk_notebook_set_group_name(notebook_1,\"group\"//c_null_char)\n    call c_f_pointer(gtk_notebook_get_group_name(notebook_1), textptr, [64])\n    call convert_c_string_scalar(textptr, my_string)\n    print *, \"group name = <\"//trim(my_string)//\">\"\n\n    !append a bunch of pages to the notebook\n    do i = 1, 3\n      write(istr,*) i\n\n      frame = gtk_frame_new(\"Append Frame \"//trim(adjustl(istr))//c_null_char)\n      ! Set the border width (10 pixels) around the frame:\n      call gtk_widget_set_margin_start(frame, 10_c_int)\n      call gtk_widget_set_margin_end(frame, 10_c_int)\n      call gtk_widget_set_margin_top(frame, 10_c_int)\n      call gtk_widget_set_margin_bottom(frame, 10_c_int)\n\n      call gtk_widget_set_size_request(frame, 100_c_int, 75_c_int)\n\n      label = gtk_label_new(\"Append Frame \"//trim(adjustl(istr))//c_null_char)\n      call gtk_frame_set_child(frame, label)\n\n      label = gtk_label_new(\"Page \"//trim(adjustl(istr))//c_null_char)\n      nb = gtk_notebook_append_page(notebook_1, frame, label)\n      call gtk_notebook_set_tab_reorderable(notebook_1, frame, TRUE)\n      call gtk_notebook_set_tab_detachable(notebook_1, frame, TRUE)\n    end do\n\n    call gtk_notebook_popup_enable(notebook_1)\n    call gtk_notebook_set_scrollable(notebook_1, TRUE)\n\n    ! Add a page to a specific spot\n    checkbutton = gtk_check_button_new_with_label(\"Check me please!\"//c_null_char)\n    call gtk_widget_set_size_request(checkbutton, 20_c_int, 75_c_int)\n\n    label = gtk_label_new(\"Add page\"//c_null_char)\n    nb = gtk_notebook_insert_page(notebook_1, checkbutton, label, 2_c_int)\n    call gtk_notebook_set_tab_reorderable(notebook_1, checkbutton, TRUE)\n    call gtk_notebook_set_tab_detachable(notebook_1, checkbutton, TRUE)\n\n    ! Prepend pages to the notebook\n    do i = 1, 3\n      write(istr,*) i\n\n      frame = gtk_frame_new(\"Prepend Frame \"//trim(adjustl(istr))//c_null_char)\n      ! Set the border width (10 pixels) around the frame:\n      call gtk_widget_set_margin_start(frame, 10_c_int)\n      call gtk_widget_set_margin_end(frame, 10_c_int)\n      call gtk_widget_set_margin_top(frame, 10_c_int)\n      call gtk_widget_set_margin_bottom(frame, 10_c_int)\n\n      call gtk_widget_set_size_request(frame, 100_c_int, 75_c_int)\n\n      label = gtk_label_new(\"Prepend Frame \"//trim(adjustl(istr))//c_null_char)\n      call gtk_frame_set_child(frame, label)\n\n      label = gtk_label_new(\"PPage \"//trim(adjustl(istr))//c_null_char)\n      nb = gtk_notebook_prepend_page(notebook_1, frame, label)\n      call gtk_notebook_set_tab_reorderable(notebook_1, frame, TRUE)\n      call gtk_notebook_set_tab_detachable(notebook_1, frame, TRUE)\n    end do\n\n    ! Set what page to start at (page 4)\n    call gtk_notebook_set_current_page(notebook_1, 4_c_int)\n\n    ! Create a bunch of buttons\n    button = gtk_button_new_with_label(\"close\"//c_null_char)\n    ! Here the gtk_window_destroy() function will be applied\n    ! to the window instead of the 'close' button:\n    call g_signal_connect_swapped(button, \"clicked\"//c_null_char, &\n                                & c_funloc(gtk_window_destroy), mainwindow)\n\n    call gtk_grid_attach(table, button, 0_c_int, 1_c_int, 1_c_int, 1_c_int)\n\n    button = gtk_button_new_with_label(\"next page\"//c_null_char)\n    call g_signal_connect(button, \"clicked\"//c_null_char, c_funloc(next_page_book))\n    call gtk_grid_attach(table, button, 1_c_int, 1_c_int, 1_c_int, 1_c_int)\n\n    button = gtk_button_new_with_label(\"prev page\"//c_null_char)\n    call g_signal_connect(button, \"clicked\"//c_null_char, c_funloc(prev_page_book))\n    call gtk_grid_attach(table, button, 2_c_int, 1_c_int, 1_c_int, 1_c_int)\n\n    button = gtk_button_new_with_label(\"tab position\"//c_null_char)\n    call g_signal_connect(button, \"clicked\"//c_null_char, c_funloc(rotate_book))\n    call gtk_grid_attach(table, button, 3_c_int, 1_c_int, 1_c_int, 1_c_int)\n\n    button = gtk_button_new_with_label(\"tabs/border on/off\"//c_null_char)\n    call g_signal_connect(button, \"clicked\"//c_null_char, c_funloc(tabsborder_book))\n    call gtk_grid_attach(table, button, 4_c_int, 1_c_int, 1_c_int, 1_c_int)\n\n    button = gtk_button_new_with_label(\"remove page\"//c_null_char)\n    call g_signal_connect(button, \"clicked\"//c_null_char, c_funloc(remove_book))\n    call gtk_grid_attach(table, button, 5_c_int, 1_c_int, 1_c_int, 1_c_int)\n\n    ! Create second notebook, place the position of the tabs\n    notebook_2 = gtk_notebook_new()\n    call gtk_notebook_set_tab_pos(notebook_2, GTK_POS_TOP)\n    call gtk_grid_attach(table, notebook_2, 0_c_int, 2_c_int, 6_c_int, 1_c_int)\n\n    ! Attach notebook to group, necessary to enable drag and drop\n    ! between the two notebooks\n    call gtk_notebook_set_group_name(notebook_2,\"group\"//c_null_char)\n\n    ! Append a bunch of pages to the second notebook\n    do i = 1, 3\n      write(istr,*) i\n\n      frame = gtk_frame_new(\"Notebook 2 - Frame \"//trim(adjustl(istr))//c_null_char)\n      ! Set the border width (10 pixels) around the frame:\n      call gtk_widget_set_margin_start(frame, 10_c_int)\n      call gtk_widget_set_margin_end(frame, 10_c_int)\n      call gtk_widget_set_margin_top(frame, 10_c_int)\n      call gtk_widget_set_margin_bottom(frame, 10_c_int)\n\n      call gtk_widget_set_size_request(frame, 100_c_int, 75_c_int)\n\n      label = gtk_label_new(\"Notebook 2 - Frame \"//trim(adjustl(istr))//c_null_char)\n      call gtk_frame_set_child(frame, label)\n\n      label = gtk_label_new(\"Notebook 2 - Page \"//trim(adjustl(istr))//c_null_char)\n      nb = gtk_notebook_append_page(notebook_2, frame, label)\n      call gtk_notebook_set_tab_reorderable(notebook_2, frame, TRUE)\n      call gtk_notebook_set_tab_detachable(notebook_2, frame, TRUE)\n    end do\n\n    call gtk_notebook_popup_enable(notebook_2)\n    call gtk_notebook_set_scrollable(notebook_2, TRUE)\n\n    ! If you don't show it, nothing will appear on screen...\n    call gtk_widget_show(mainwindow)\n\n  end subroutine activate\nend module handlers\n\n!*******************************************************************************\n! In the main program, we declare the GTK application, connect it to its\n! \"activate\" function where we will create the GUI,\n! and finally call the GLib main loop.\n!*******************************************************************************\nprogram notebooks\n  use, intrinsic :: iso_c_binding\n  ! We will use those GTK functions and values. The \"only\" statement can improve\n  ! significantly the compilation time:\n  use gtk, only: gtk_application_new, G_APPLICATION_FLAGS_NONE\n  use g, only: g_application_run, g_object_unref\n  use handlers\n\n  implicit none\n  integer(c_int) :: status\n  type(c_ptr)    :: app\n\n  ! First, let's create a GTK application (it will initialize GTK).\n  ! The application ID must contain at least one point:\n  ! https://docs.gtk.org/gio/type_func.Application.id_is_valid.html\n  app = gtk_application_new(\"gtk-fortran.examples.notebooks\"//c_null_char, &\n                            & G_APPLICATION_FLAGS_NONE)\n  ! The activate signal will be sent by g_application_run().\n  ! The c_funloc() function returns the C address of the callback function.\n  ! The c_null_ptr means no data is transfered to the callback function.\n  call g_signal_connect(app, \"activate\"//c_null_char, c_funloc(activate), &\n                      & c_null_ptr)\n  ! Now, the whole application will be managed by GLib (=> main loop).\n  ! Note that commandline arguments argc, argv are not passed.\n  ! https://docs.gtk.org/gio/method.Application.run.html\n  status = g_application_run(app, 0_c_int, [c_null_ptr])\n\n  print *, \"You have exited the GLib main loop, bye, bye...\"\n\n  ! Memory is freed:\n  call g_object_unref(app)\nend program notebooks\n\n"
  },
  {
    "path": "examples/pixbuf_without_gui.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2020 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http:!www.gnu.org/licenses/>.\n!------------------------------------------------------------------------------\n! Draw a Sierpinski triangle in a PNG file, without any GUI\n! https://en.wikipedia.org/wiki/Sierpi%C5%84ski_triangle#Chaos_game\n! Contributed by Vincent Magnin, 2025-05-19\n!------------------------------------------------------------------------------\n\nprogram pixbuf_without_gui\n  use, intrinsic :: iso_fortran_env, only: wp=>real64\n  use, intrinsic :: iso_c_binding, only: c_ptr, c_null_char, c_null_ptr, &\n                         & c_f_pointer, c_char, c_int\n  use gdk_pixbuf, only: gdk_pixbuf_get_n_channels, gdk_pixbuf_get_pixels, &\n                      & gdk_pixbuf_get_rowstride, gdk_pixbuf_new, gdk_pixbuf_savev\n  use gtk, only: GDK_COLORSPACE_RGB, FALSE\n\n  implicit none\n  type(c_ptr) :: my_pixbuf\n  ! We use chars because we need unsigned integers:\n  character(c_char), dimension(:), pointer :: pixel\n  integer(c_int) :: nch, rowstride, pixwidth, pixheight\n  integer(c_int) :: cstatus   ! Command status\n  type(c_ptr), dimension(1), parameter :: empty_array_of_C_strings=[c_null_ptr]\n  real(wp), dimension(1:3) :: x, y\n  real(wp) :: xx, yy, diag, r\n  integer  :: s            ! Triangle vertex number\n  integer  :: n = 300000   ! Number of points\n  integer  :: i, p\n\n  ! We create a \"pixbuffer\" to store the pixels of the image.\n  ! This pixbuffer has no Alpha channel (15% faster), only RGB.\n  ! https://developer.gnome.org/gdk-pixbuf/stable/gdk-pixbuf-The-GdkPixbuf-Structure.html\n  pixwidth  = 800\n  pixheight = 800\n  my_pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, FALSE, 8_c_int, &\n                           & pixwidth, pixheight)\n  nch = gdk_pixbuf_get_n_channels(my_pixbuf)\n  rowstride = gdk_pixbuf_get_rowstride(my_pixbuf)\n  print *, \"Channels= \", nch, \"      Rowstride=\", rowstride\n  call c_f_pointer(gdk_pixbuf_get_pixels(my_pixbuf), pixel, &\n                 & [pixwidth*pixheight*nch])\n\n  ! The background is black (red=0, green=0, blue=0):\n  pixel = char(0)\n  ! Diagonal of the image:\n  diag = sqrt(real(pixwidth*pixwidth + pixheight*pixheight, kind(0.0_wp)))\n  ! Coordinates of the triangle vertices:\n  x = [ pixwidth/2.0_wp,  0.0_wp,                      (pixwidth-1)*1.0_wp        ]\n  y = [ 0.0_wp,           pixheight*sqrt(3.0_wp)/2.0_wp,  pixheight*sqrt(3.0_wp)/2.0_wp ]\n  ! We start at an arbitrary position:\n  xx = (x(1) + x(2)) / 2.0_wp\n  yy = (y(1) + y(2)) / 2.0_wp\n\n  do i = 1, n\n      ! We choose randomly a vertex number (1, 2 or 3):\n      call random_number(r)\n      s = 1 + int(3*r)\n      ! We compute the coordinates of the new point:\n      xx = (xx + x(s)) / 2.0_wp\n      yy = (yy + y(s)) / 2.0_wp\n      ! Position of the corresponding pixel in the pixbuffer:\n      p = 1 + nint(xx)*nch + nint(yy)*rowstride\n      ! Red, Green, Blue values computed from the distances to vertices:\n      pixel(p)   = char(int(255 * sqrt((xx-x(1))**2 + (yy-y(1))**2) / diag))\n      pixel(p+1) = char(int(255 * sqrt((xx-x(2))**2 + (yy-y(2))**2) / diag))\n      pixel(p+2) = char(int(255 * sqrt((xx-x(3))**2 + (yy-y(3))**2) / diag))\n  end do\n\n  ! Save the picture as a PNG:\n  ! https://developer.gnome.org/gdk-pixbuf/stable/gdk-pixbuf-File-saving.html\n  ! https://mail.gnome.org/archives/gtk-list/2004-October/msg00186.html\n  cstatus = gdk_pixbuf_savev(my_pixbuf, \"sierpinski_triangle.png\"//c_null_char,&\n              & \"png\"//c_null_char, empty_array_of_C_strings, &\n              & empty_array_of_C_strings, c_null_ptr)\nend program pixbuf_without_gui\n\n"
  },
  {
    "path": "examples/regex.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2021 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!\n!-------------------------------------------------------------------------------\n! Contributed by Vincent Magnin, 2021-03-03\n! Last modifications: 2021-03-04\n!-------------------------------------------------------------------------------\n! This example desmonstrates how to use GLib regular expressions to search a\n! pattern in a text, and make replacements. That GLib part is based on the PCRE\n! library: http://www.pcre.org/\n! https://developer.gnome.org/glib/stable/glib-Perl-compatible-regular-expressions.html\n\nprogram glib_regex\n    use, intrinsic :: iso_c_binding\n    use g, only: g_regex_new, g_regex_match, g_match_info_matches, &\n               & g_match_info_fetch, g_match_info_next, g_free, g_regex_unref, &\n               & g_match_info_free, g_regex_replace\n    use gtk_sup, only: c_f_logical, convert_c_string\n\n    implicit none\n    logical :: found, matched\n    type(c_ptr) :: regex, a_result\n    type(c_ptr), target :: matchInfo\n    character(*), parameter :: content= &\n        &\"Our first widget in our app is an empty window: we have defined a C &\n        &pointer toward that object and we have created it using &\n        &gtk_application_window_new(app). Don't forget to call the &\n        &gtk_widget_show_all() function if you want your window to appear on &\n        &screen! Note that in GTK 3, all widgets are hidden by default and that&\n        & is why we use _show_all(). In GTK 4, on the contrary, the widgets &\n        &inside a window are all shown by default and the gtk_widget_show_all()&\n        & function was removed: you will use instead call gtk_widget_show(window).\"\n    character(200) :: fstring\n    character(1000) :: modified_text\n\n    print *, \"ORIGINAL TEXT:\"\n    print *, content\n    print *\n    print *, \"LET'S LOOK FOR THE FUNCTIONS CITED IN THE TEXT:\"\n    regex = g_regex_new(\"(\\w+)\\(([a-zA-Z0-9_, ]*)\\)\"//c_null_char, 0, 0, c_null_ptr)\n    found = c_f_logical(g_regex_match(regex, content//c_null_char, 0, c_loc(matchInfo)))\n\n    if (.not. found) then\n        print *, \"NO MATCH.\"\n    else\n        print *, \"SOME MATCHES WERE FOUND:\"\n        do while (c_f_logical(g_match_info_matches(matchInfo)))\n            a_result = g_match_info_fetch(matchInfo, 0)\n            call convert_c_string(a_result, fstring)\n            print *, trim(fstring)\n            call g_free(a_result)\n\n            matched = c_f_logical(g_match_info_next(matchInfo, c_null_ptr))\n        end do\n\n        print *\n        print *, \"LET'S REPLACE THOSE FUNCTIONS BY 6 STARS IN THE TEXT:\"\n        call convert_c_string(g_regex_replace(regex, content//c_null_char, &\n         & -1_c_size_t, 0, \"******\"//c_null_char, 0, c_null_ptr), modified_text)\n        print *, trim(modified_text)\n    end if\n\n    call g_match_info_free(matchInfo)\n    call g_regex_unref(regex)\nend program glib_regex\n"
  },
  {
    "path": "examples/tests.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2011 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!\n! Contributed by Vincent MAGNIN, 02-24-2011, last modified: 2025-05-18\n! ****************\n! Automated tests\n! ****************\n! This program is testing things about ISO_C_BINDING and the relations\n! between Fortran types and GLib types. If it generates errors, post\n! an issue on GitHub with information on your system\n! (OS version, GTK version, compiler...) and the error message.\n\nmodule tests\n  use gtk, only: TRUE, FALSE, gtk_get_major_version, gtk_get_minor_version, &\n                 gtk_get_micro_version\n  use gtk_sup, only: c_f_string_copy_alloc\n  use g, only: g_ascii_tolower, g_bit_storage, g_hostname_is_ip_address, &\n    g_random_double, g_random_double_range, g_random_int, &\n    g_random_int_range, g_variant_get_boolean, g_variant_get_byte, g_variant_get_double,&\n    g_variant_get_int16, g_variant_get_int32, &\n    g_variant_get_uint16, g_variant_get_uint32, &\n    g_variant_new_boolean, g_variant_new_byte, g_variant_new_double, g_variant_new_int16,&\n    g_variant_new_int32, g_variant_new_uint16,&\n    g_variant_new_uint32, g_variant_unref, g_get_os_info, g_strv_length\n  use, intrinsic :: iso_fortran_env, only: compiler_version\n  use, intrinsic :: iso_c_binding\n\n  implicit none\n\ncontains\n  integer function test_iso_c_binding()\n    integer :: errors\n\n    errors = 0\n    if (C_SIGNED_CHAR < 0) then\n      print *, \"C_SIGNED_CHAR\", C_SIGNED_CHAR\n      errors = errors + 1\n    end if\n    if (C_SHORT < 0) then\n      print *, \"C_SHORT\", C_SHORT\n      errors = errors + 1\n    end if\n    if (C_INT < 0) then\n      print *, \"C_INT\", C_INT\n      errors = errors + 1\n    end if\n    if (C_LONG < 0) then\n      print *, \"C_LONG\", C_LONG\n      errors = errors + 1\n    end if\n    if (C_LONG_LONG < 0) then\n      print *, \"C_LONG_LONG\", C_LONG_LONG\n      errors = errors + 1\n    end if\n    if (C_SIZE_T < 0) then\n      print *, \"C_SIZE_T\", C_SIZE_T\n      errors = errors + 1\n    end if\n    if (C_INTPTR_T < 0) then\n      print *, \"C_INTPTR_T\", C_INTPTR_T\n      errors = errors + 1\n    end if\n    if (C_INTMAX_T < 0) then\n      print *, \"C_INTMAX_T\", C_INTMAX_T\n      errors = errors + 1\n    end if\n    if (C_INT8_T < 0) then\n      print *, \"C_INT8_T\", C_INT8_T\n      errors = errors + 1\n    end if\n    if (C_INT16_T < 0) then\n      print *, \"C_INT16_T\", C_INT16_T\n      errors = errors + 1\n    end if\n    if (C_INT32_T < 0) then\n      print *, \"C_INT32_T\", C_INT32_T\n      errors = errors + 1\n    end if\n    if (C_INT64_T < 0) then\n      print *, \"C_INT64_T\", C_INT64_T\n      errors = errors + 1\n    end if\n    if (C_INT_LEAST8_T < 0) then\n      print *, \"C_INT_LEAST8_T\", C_INT_LEAST8_T\n      errors = errors + 1\n    end if\n    if (C_INT_LEAST16_T < 0) then\n      print *, \"C_INT_LEAST16_T\", C_INT_LEAST16_T\n      errors = errors + 1\n    end if\n    if (C_INT_LEAST32_T < 0) then\n      print *, \"C_INT_LEAST32_T\", C_INT_LEAST32_T\n      errors = errors + 1\n    end if\n    if (C_INT_LEAST64_T < 0) then\n      print *, \"C_INT_LEAST64_T\", C_INT_LEAST64_T\n      errors = errors + 1\n    end if\n    if (C_INT_FAST8_T < 0) then\n      print *, \"C_INT_FAST8_T\", C_INT_FAST8_T\n      errors = errors + 1\n    end if\n    if (C_INT_FAST16_T < 0) then\n      print *, \"C_INT_FAST16_T\", C_INT_FAST16_T\n      errors = errors + 1\n    end if\n    if (C_INT_FAST32_T < 0) then\n      print *, \"C_INT_FAST32_T\", C_INT_FAST32_T\n      errors = errors + 1\n    end if\n    if (C_INT_FAST64_T < 0) then\n      print *, \"C_INT_FAST64_T\", C_INT_FAST64_T\n      errors = errors + 1\n    end if\n    if (C_FLOAT < 0) then\n      print *, \"C_FLOAT\", C_FLOAT\n      errors = errors + 1\n    end if\n    if (C_DOUBLE < 0) then\n      print *, \"C_DOUBLE\", C_DOUBLE\n      errors = errors + 1\n    end if\n    if (C_LONG_DOUBLE < 0) then\n      print *, \"C_LONG_DOUBLE\", C_LONG_DOUBLE\n      errors = errors + 1\n    end if\n    if (C_FLOAT_COMPLEX < 0) then\n      print *, \"C_FLOAT_COMPLEX\", C_FLOAT_COMPLEX\n      errors = errors + 1\n    end if\n    if (C_DOUBLE_COMPLEX < 0) then\n      print *, \"C_DOUBLE_COMPLEX\", C_DOUBLE_COMPLEX\n      errors = errors + 1\n    end if\n    if (C_LONG_DOUBLE_COMPLEX < 0) then\n      print *, \"C_LONG_DOUBLE_COMPLEX\", C_LONG_DOUBLE_COMPLEX\n      errors = errors + 1\n    end if\n    if (C_BOOL < 0) then\n      print *, \"C_BOOL\", C_BOOL\n      errors = errors + 1\n    end if\n    if (C_CHAR < 0) then\n      print *, \"C_CHAR\", C_CHAR\n      errors = errors + 1\n    end if\n\n    test_iso_c_binding = errors\n  end function test_iso_c_binding\n\n\n  integer function test_c_char_in_out()\n    integer :: i\n    integer :: errors\n    character(kind=c_char) :: c\n\n    errors = 0\n    do i=0, 64, +1\n      c = char(i)\n      if (g_ascii_tolower(int(i,c_int8_t)) /= int(i,c_int8_t)) then\n        print *, \"ERROR gchar g_ascii_tolower (gchar c): \", i, g_ascii_tolower(int(i,c_int8_t))\n        errors = errors + 1\n      end if\n    end do\n\n    do i=65, 90, +1\n      c = char(i)\n      if (g_ascii_tolower(int(i,c_int8_t)) /= int(i,c_int8_t)+32) then\n        print *, \"ERROR gchar g_ascii_tolower (gchar c): \", i, g_ascii_tolower(int(i,c_int8_t))\n        errors = errors + 1\n      end if\n    end do\n\n    do i=91, 255, +1\n      c = char(i)\n      if (g_ascii_tolower(int(i,c_int8_t)) /= int(i,c_int8_t)) then\n        print *, \"ERROR gchar g_ascii_tolower (gchar c): \", i, g_ascii_tolower(int(i,c_int8_t))\n        errors = errors + 1\n      end if\n    end do\n\n    test_c_char_in_out = errors\n  end function test_c_char_in_out\n\n\n  integer function test_gdouble_in_out()\n    integer :: i\n    integer :: errors\n    real(c_double) :: a, b, r, rmin, rmax\n    type(c_ptr) :: gv\n    !See the official documentation:\n    !http://library.gnome.org/devel/glib/stable/glib-GVariant.html\n    !http://library.gnome.org/devel/glib/stable/glib-GVariantType.html\n    !GVariant *          g_variant_new_double   (gdouble value);\n    !gdouble             g_variant_get_double   (GVariant *value);\n    errors = 0\n    do i = -308, +308\n      a = 10.0_c_double ** i\n      gv = g_variant_new_double(a)\n      b = g_variant_get_double(gv)\n      if (a /= b) then\n        print *, \"ERROR g_random_double_range:\", i, a, b\n        errors = errors + 1\n      end if\n      call g_variant_unref(gv)\n    end do\n    !    ! gdouble g_random_double_range (gdouble begin, gdouble end);\n    !    function g_random_double_range(begin, end) bind(c)\n    !      use, intrinsic :: iso_c_binding, only: c_double\n    !      real(c_double) :: g_random_double_range\n    !      real(c_double), value :: begin\n    !      real(c_double), value :: end\n    !    end function\n    rmin = -10.0_c_double\n    rmax = +100.0_c_double\n    do i = 1, 10000, +1\n      r = g_random_double_range(rmin, rmax)\n      if ((r<rmin).or.(r>rmax)) then\n        print *, \"ERROR g_random_double_range:\", r\n        errors = errors + 1\n      end if\n    end do\n\n    test_gdouble_in_out = errors\n  end function test_gdouble_in_out\n\n\n  integer function test_gulong_in()\n    integer :: i\n    integer :: errors\n    integer(c_long) :: nb\n    integer(c_int) :: r\n    !    ! guint g_bit_storage (gulong number) G_GNUC_CONST;\n    !    function g_bit_storage(number) bind(c)\n    !      use, intrinsic :: iso_c_binding, only: c_int, c_long\n    !      integer(c_int) :: g_bit_storage\n    !      integer(c_long), value :: number\n    !    end function\n    errors = 0\n    ! Fortran integers are signed. 32 bits integers are in [-2147483648, +2147483647],\n    ! and the C language guarantee [-2147483647, +2147483647] for long.\n    ! C language: typedef unsigned long   gulong;\n    do i = 1, 31, +1\n      ! Writing 2**i - 1 could overflow with some compilers (ifort):\n      nb = 2_c_long**i - 1\n      r = g_bit_storage(nb)\n      if (i /= r) then\n        print *, \"ERROR g_bit_storage:\", i, nb, r\n        errors = errors + 1\n      end if\n    end do\n\n    test_gulong_in = errors\n  end function test_gulong_in\n\n\n  integer function test_uint16_in_out()\n    integer :: i\n    integer :: errors\n    integer(c_int16_t) :: a, b\n    integer(c_int32_t) :: c, d\n    type(c_ptr) :: gv\n    !! GVariant * g_variant_new_uint16 (guint16 uint16);\n    !function g_variant_new_uint16(uint16) bind(c)\n    !  use, intrinsic :: iso_c_binding, only: c_ptr, c_int16_t\n    !  type(c_ptr) :: g_variant_new_uint16\n    !  integer(c_int16_t), value :: uint16\n    !end function\n\n    !! guint16 g_variant_get_uint16 (GVariant *value);\n    !function g_variant_get_uint16(value) bind(c)\n    !  use, intrinsic :: iso_c_binding, only: c_int16_t, c_ptr\n    !  integer(c_int16_t) :: g_variant_get_uint16\n    !  type(c_ptr), value :: value\n    !end function\n\n    ! INTEGER(2) ranges from -32768 to 32767\n    ! uint16 ranges from 0 to 65535.\n    !***********************************\n    ! We must be careful because the following loop is undefined in the Fortran Standard:\n    ! do a = 0, 32767\n    !                 1\n    ! Warning: DO loop at (1) is undefined as it overflows [-Wundefined-do-loop]\n    ! With some compilers, it will run OK, with others a will become <0 and the\n    ! loop will never end...\n    !***********************************\n    errors = 0\n    do a = 0, 32766\n      gv = g_variant_new_uint16(a)\n      b = g_variant_get_uint16(gv)\n      if (a /= b) then\n        print *, \"ERROR g_variant_get_uint16:\", a, b\n        errors = errors + 1\n      end if\n      call g_variant_unref(gv)\n    end do\n\n    a = 32767\n    gv = g_variant_new_uint16(a)\n    b = g_variant_get_uint16(gv)\n    if (a /= b) then\n      print *, \"ERROR g_variant_get_uint16:\", a, b\n      errors = errors + 1\n    end if\n    call g_variant_unref(gv)\n\n    do c = 32768, 65535\n      a = transfer(c, a)\n      gv = g_variant_new_uint16(a)\n      b = g_variant_get_uint16(gv)\n      d = transfer(b, d)\n      do i = bit_size(b),  bit_size(d)-1\n        d= ibclr(d, i)\n      end do\n\n      if (a /= b) then\n        print *, \"ERROR g_variant_get_uint16:\", a, b\n        errors = errors + 1\n      end if\n      call g_variant_unref(gv)\n    end do\n\n    test_uint16_in_out = errors\n  end function test_uint16_in_out\n\n\n  integer function test_int16_in_out()\n    integer(c_int16_t) :: a, b\n    integer :: errors, i\n    type(c_ptr) :: gv\n\n    errors = 0\n\n    do i = -32768, 32767\n       a = int(i,c_int16_t)\n       gv = g_variant_new_int16(a)\n       b = g_variant_get_int16(gv)\n       if (a /= b) then\n          print *, \"ERROR g_variant_get_int16:\", a, b\n          errors = errors + 1\n       end if\n       call g_variant_unref(gv)\n    end do\n\n    test_int16_in_out = errors\n  end function test_int16_in_out\n\n\n  integer function test_int32_in_out()\n    integer :: i\n    integer :: errors\n    integer(c_int32_t) :: r, rmin, rmax\n    integer(c_int32_t) :: a, b\n    type(c_ptr) :: gv\n    !GVariant *          g_variant_new_int32    (gint32 value);\n    !gint32              g_variant_get_int32    (GVariant *value);\n    errors = 0\n    !***********************************\n    ! We must be careful because the following loop is undefined in the Fortran Standard:\n    ! do a = -huge(b), huge(b), +65536\n    !\n    ! Warning: DO loop at is undefined as it overflows [-Wundefined-do-loop]\n    ! With some compilers, it will run OK (GFortran), with others a will become <0 and the\n    ! loop will never end (ifort)...\n    !***********************************\n    do a = -huge(b), huge(b)-65536, +65536\n      gv = g_variant_new_int32(a)\n      b = g_variant_get_int32(gv)\n      if (a /= b) then\n        print *, \"ERROR g_variant_get_int32:\", a, b\n        errors = errors + 1\n      end if\n      call g_variant_unref(gv)\n    end do\n\n    !    ! gint32 g_random_int_range (gint32 begin, gint32 end);\n    !    function g_random_int_range(begin, end) bind(c)\n    !      use, intrinsic :: iso_c_binding, only: c_int32_t\n    !      integer(c_int32_t) :: g_random_int_range\n    !      integer(c_int32_t), value :: begin\n    !      integer(c_int32_t), value :: end\n    !    end function\n    rmin = -10\n    rmax = +100\n    do i = 1, 10000, +1\n      ! Returns a random number over the range [rmin..rmax-1]:\n      r = g_random_int_range(rmin, rmax)\n      if ((r < rmin).or.(r >= rmax)) then\n        print *, \"ERROR g_random_double_range:\", r\n        errors = errors + 1\n      end if\n    end do\n\n    test_int32_in_out = errors\n  end function test_int32_in_out\n\n\n  integer function test_uint32_in_out()\n    integer :: i\n    integer :: errors\n    integer(c_int32_t) :: a, b\n    integer(c_int64_t) :: c, d\n    type(c_ptr) :: gv\n\n    errors = 0\n    ! INTEGER(4) ranges from -2147483648 to +2147483647\n    ! uint32 ranges from 0 to 4294967295\n    !***********************************\n    ! We must be careful because the following loop is undefined in the Fortran Standard:\n    ! do a = 0, 2147483647, +65536\n    !\n    ! With some compilers, it will run OK, with others a will become <0 and the\n    ! loop will never end...\n    !***********************************\n    do a = 0, 2147483647-65536, +65536\n      gv = g_variant_new_uint32(a)\n      b = g_variant_get_uint32(gv)\n      if (a /= b) then\n        print *, \"ERROR g_variant_get_uint32:\", a, b\n        errors = errors + 1\n      end if\n      call g_variant_unref(gv)\n    end do\n\n    a = 2147483647\n    gv = g_variant_new_uint32(a)\n    b = g_variant_get_uint32(gv)\n    if (a /= b) then\n      print *, \"ERROR g_variant_get_uint32:\", a, b\n      errors = errors + 1\n    end if\n    call g_variant_unref(gv)\n\n    do c = 2147483648_8, 4294967295_8, +65536\n      a = transfer(c, a)\n      gv = g_variant_new_uint32(a)\n      b = g_variant_get_uint32(gv)\n      d = transfer(b, d)\n      do i = bit_size(b),  bit_size(d)-1\n        d= ibclr(d, i)\n      end do\n\n      if (a /= b) then\n        print *, \"ERROR g_variant_get_uint32:\", a, b\n        errors = errors + 1\n      end if\n      call g_variant_unref(gv)\n    end do\n\n    test_uint32_in_out = errors\n  end function test_uint32_in_out\n\n\n  integer function test_guchar_in_out()\n    integer(c_int16_t) :: i, j\n    integer :: errors\n    character(kind=c_char) :: a, b\n    type(c_ptr) :: gv\n    !GVariant *          g_variant_new_byte     (guchar value);\n    !guchar              g_variant_get_byte     (GVariant *value);\n    errors = 0\n    do i = 0, 255, +1\n      a = char(i)\n      gv = g_variant_new_byte(int(i,c_int8_t))\n      j = g_variant_get_byte(gv)\n      b = achar(j)\n      if ((a /= b) .or. (iand(i,255_c_int16_t) /= iand(j, 255_c_int16_t))) then\n        print *, \"ERROR test_guchar_in_out:\", a, b, i, j\n        errors = errors + 1\n      end if\n      call g_variant_unref(gv)\n    end do\n\n    test_guchar_in_out = errors\n  end function test_guchar_in_out\n\n\n integer function test_C_string_in_out()\n    integer :: errors\n    integer(c_int) :: length\n    ! An empty NULL terminated array of C strings:\n    type(c_ptr), dimension(1), parameter :: empty_array_of_C_strings=[c_null_ptr]\n\n    ! https://github.com/vmagnin/gtk-fortran/issues/300\n    ! The following line is accepted by GFortran and ifx, but not by Flang:\n    ! length = g_strv_length(c_null_ptr)\n    !   error: Whole scalar actual argument may not be associated with a dummy argument 'str_array=' array\n    ! https://docs.gtk.org/glib/func.strv_length.html\n    !   guint g_strv_length (gchar** str_array)\n    ! This line is accepted by the three compilers:\n    length = g_strv_length(empty_array_of_C_strings)\n\n    errors = 0\n    test_C_string_in_out = errors\n  end function test_C_string_in_out\n\n\n  integer function test_gboolean_in_out()\n    integer(c_int) :: l1, l2, l3, l4\n    integer :: errors\n    type(c_ptr) :: gv\n    !GVariant *          g_variant_new_boolean  (gboolean value);\n    !gboolean            g_variant_get_boolean               (GVariant *value);\n    errors = 0\n    l1 = TRUE\n    gv = g_variant_new_boolean(l1)\n    l2 = g_variant_get_boolean(gv)\n    print *, l1, l2\n    if (l1 /= l2) then\n        print *, \"ERROR g_variant_get_boolean:\", l1, l2\n        errors = errors + 1\n    end if\n    call g_variant_unref(gv)\n\n    l1 = FALSE\n    gv = g_variant_new_boolean(l1)\n    l2 = g_variant_get_boolean(gv)\n    print *, l1, l2\n    if (l1 /= l2) then\n        print *, \"ERROR g_variant_get_boolean:\", l1, l2\n        errors = errors + 1\n    end if\n\n  !      ! gboolean g_hostname_is_ip_address (const gchar *hostname);\n  !    function g_hostname_is_ip_address(hostname) bind(c)\n  !      use, intrinsic :: iso_c_binding, only: c_bool, c_char\n  !      logical(c_bool) :: g_hostname_is_ip_address\n  !      character(kind=c_char), dimension(*) :: hostname\n  !    end function\n    l1 = g_hostname_is_ip_address(\"192.168.0.1\"//c_null_char)\n    l2 = g_hostname_is_ip_address(\"1AA.168.0.1\"//c_null_char)\n    l3 = g_hostname_is_ip_address(\"blabla\"//c_null_char)\n    l4 = g_hostname_is_ip_address(\"192.168,0.1\"//c_null_char)\n    if ((l1 /= TRUE) .or. (l2 /= FALSE) .or. (l3 /= FALSE) .or. (l4 /= FALSE)) then\n      print *, \"ERROR g_hostname_is_ip_address:\", l1, l2, l3, l4\n      errors = errors + 1\n    end if\n    call g_variant_unref(gv)\n\n    test_gboolean_in_out = errors\n  end function test_gboolean_in_out\n\nend module tests\n\n\nprogram gtk_fortran_test\n  use tests\n\n  implicit none\n  integer :: errors\n  character(:), allocatable :: os_string\n  type(c_ptr) :: ret\n\n  print '(A)', \"Testing iso_c_binding with GTK and GLib...\"\n\n  ! That function may return NULL with some OS:\n  ret = g_get_os_info(\"PRETTY_NAME\"//c_null_char)\n  if (c_associated(ret)) then\n    call c_f_string_copy_alloc(ret, os_string)\n  else\n    os_string = \"?\"\n  end if\n\n  print '(3A,I0,A1,I0,A1,I0)', \"Compiled with \"//compiler_version()//\" on \", os_string, &\n      & \", linked to GTK \", gtk_get_major_version(),\".\", gtk_get_minor_version(), \".\", gtk_get_micro_version()\n\n  print '(A)', \"test_iso_c_binding()\"\n  errors = test_iso_c_binding()\n  print '(A)', \"test_c_char_in_out()\"\n  errors = errors +  test_c_char_in_out()\n  print '(A)', \"test_guchar_in_out()\"\n  errors = errors +  test_guchar_in_out()\n  print '(A)', \"test_C_string_in_out()\"\n  errors = errors +  test_C_string_in_out()\n  print '(A)', \"test_gdouble_in_out()\"\n  errors = errors +  test_gdouble_in_out()\n  print '(A)', \"test_gulong_in()\"\n  errors = errors +  test_gulong_in()\n  print '(A)', \"test_int16_in_out()\"\n  errors = errors +  test_int16_in_out()\n  print '(A)', \"test_uint16_in_out()\"\n  errors = errors +  test_uint16_in_out()\n  print '(A)', \"test_int32_in_out()\"\n  errors = errors +  test_int32_in_out()\n  print '(A)', \"test_uint32_in_out()\"\n  errors = errors +  test_uint32_in_out()\n  print '(A)', \"test_gboolean_in_out()\"\n  errors = errors +  test_gboolean_in_out()\n\n  print *\n  print '(I3, A)', errors, \" errors\"\n\nend program gtk_fortran_test\n"
  },
  {
    "path": "examples/tests_gtk_sup.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2022 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!\n!==============================================================================\n! Contributed by Vincent MAGNIN, 2022-05-06, last modified: 2025-05-25\n!\n! This program is testing functions of the gtk_sup module.\n!==============================================================================\n\nmodule tests\n  use gtk_sup\n  use, intrinsic :: iso_c_binding\n  use gtk, only: TRUE, FALSE, gtk_init, gtk_label_new, gtk_label_get_text\n  use g, only: g_value_init, g_value_unset, g_value_set_int, g_value_get_int, &\n             & g_value_set_double, g_value_get_double, g_value_get_pointer, &\n             & g_value_set_pointer, g_value_copy\n\n  implicit none\n\ncontains\n\n  integer function test_string_conversion_routines() result(errors)\n    type(c_ptr) :: str_ptr, widget_ptr\n    integer :: status\n    character(len=128) :: fortran_string\n    character(len=2)   :: short_fortran_string\n    character(:), allocatable :: allocatable_fortran_string\n\n    errors = 0\n\n    widget_ptr = gtk_label_new(\"A label string\"//c_null_char)\n    str_ptr = gtk_label_get_text(widget_ptr)\n\n    ! ------------------------------------------------\n    print '(A)', \">> c_f_string_copy()\"\n\n    call c_f_string_copy(str_ptr, fortran_string, status)\n\n    if (trim(fortran_string) /= \"A label string\") then\n      print '(A)', \"c_f_string_copy() does not return the expected Fortran string 'A label string'\"\n      errors = errors + 1\n    end if\n\n    if (len(trim(fortran_string)) /= strlen(str_ptr)) then\n      print '(A)', \"c_f_string_copy(): len() Fortran function and strlen() C function does not return the same value\"\n      errors = errors + 1\n    end if\n\n    call c_f_string_copy(str_ptr, short_fortran_string, status)\n\n    if (status /= -1) then\n      print '(A)', \"c_f_string_copy() should have return status=-1 (Fortran string too short)\"\n      errors = errors + 1\n    end if\n\n    if (trim(short_fortran_string) /= \"A \") then\n      print '(A)', \"c_f_string_copy() does not return the expected Fortran string 'A '\"\n      errors = errors + 1\n    end if\n\n    ! ------------------------------------------------\n    print '(A)', \">> c_f_string_copy_alloc()\"\n\n    call c_f_string_copy_alloc(str_ptr, allocatable_fortran_string)\n\n    if (trim(allocatable_fortran_string) /= \"A label string\") then\n      print '(A)', \"c_f_string_copy_alloc() does not return the expected Fortran string 'A label string'\"\n      errors = errors + 1\n    end if\n\n    if (len(trim(allocatable_fortran_string)) /= strlen(str_ptr)) then\n      print '(A)', \"c_f_string_copy_alloc(): len() Fortran function and strlen() C function does not return the same value\"\n      errors = errors + 1\n    end if\n\n  end function test_string_conversion_routines\n\n\n  integer function test_date_routines() result(errors)\n    character(:), allocatable :: today\n\n    print '(A)', \">> fmt_date()\"\n    today = fmt_date()\n    print '(A)', today\n\n    errors = 0\n  end function test_date_routines\n\n  ! https://docs.gtk.org/gobject/method.Value.init.html\n  integer function test_gvalue_routines() result(errors)\n    type(gvalue), target :: val, val2   ! GValue (opaque) structures\n    type(c_ptr) :: p_val, p_val2        ! C pointers toward GValue structures\n\n    errors = 0\n\n    print '(A)', \">> g_value_init(), g_value_set_int(), g_value_get_int()\"\n    ! Initialize the GValue:\n    p_val = c_loc(val)\n    p_val = g_value_init(p_val, G_TYPE_INT)\n    call g_value_set_int(p_val, 1234_c_int)\n\n    if (g_value_get_int(p_val) /= 1234_c_int) then\n      print '(A)', \"Problem!\"\n      errors = errors + 1\n    end if\n\n    print '(A)', \">> g_value_copy()\"\n    p_val2 = c_loc(val2)\n    p_val2 = g_value_init(p_val2, G_TYPE_INT)\n    call g_value_copy(p_val, p_val2)\n\n    if (g_value_get_int(p_val2) /= g_value_get_int(p_val)) then\n      print '(A)', \"Problem!\"\n      errors = errors + 1\n    end if\n\n    print '(A)', \">> g_value_unset(), g_value_set_double(), g_value_get_double()\"\n    ! Changing the type of the GValue:\n    call g_value_unset(p_val)\n    p_val = g_value_init(p_val, G_TYPE_DOUBLE)\n\n    call g_value_set_double(p_val, 3.14_c_double)\n    if (g_value_get_double(p_val) /= 3.14_c_double) then\n      print '(A)', \"Problem!\"\n      errors = errors + 1\n    end if\n\n    print '(A)', \">> g_value_set_pointer(), g_value_get_pointer()\"\n    ! Changing the type of the GValue:\n    call g_value_unset(p_val)\n    p_val = g_value_init(p_val, G_TYPE_POINTER)\n\n    call g_value_set_pointer(p_val, c_loc(val))\n    p_val2 = g_value_get_pointer(p_val)\n    ! FIXME: the following lines compiles with Intel ifx but causes an internal\n    ! error with GFortran 14.2.0:\n!    if (.not.c_associated(p_val2, c_loc(val))) then\n!      print '(A)', \"Problem!\"\n!      errors = errors + 1\n!    end if\n\n  end function test_gvalue_routines\n\nend module tests\n\n\nprogram tests_gtk_sup\n  use tests\n\n  implicit none\n  integer :: errors = 0\n\n  call gtk_init()\n\n  print '(A)', \"Testing some gtk_sup functions...\"\n  print *\n  print '(A)', \"> test_string_conversion_routines()\"\n  errors = errors + test_string_conversion_routines()\n  print *\n  print '(A)', \"> test_date_routines()\"\n  errors = errors + test_date_routines()\n  print *\n  print '(A)', \"> test_gvalue_routines()\"\n  errors = errors + test_gvalue_routines()\n\n  print *\n  if (errors == 0) then\n    print '(A)', \"No error\"\n  else\n    print *, errors, \"errors\"\n    print '(A)', \"See the 'tests_errors.txt' file\"\n  end if\nend program tests_gtk_sup\n"
  },
  {
    "path": "fpm.toml",
    "content": "name = \"gtk-fortran\"\ndescription = \"With this file gtk-fortran can be used as a fpm dependency. But if you want a full build and install of gtk-fortran on your system, you must use CMake for the moment.\"\nversion = \"4.9.0\"\nlicense = \"GPL-3.0-or-later WITH GCC-exception-3.1\"\nauthor = \"Vincent Magnin et al.\"\nmaintainer = \"https://github.com/vmagnin/gtk-fortran/issues\"\ncopyright = \"2011 Vincent Magnin et al.\"\nhomepage = \"https://github.com/vmagnin/gtk-fortran/wiki\"\ncategories = [\"graphics\", \"GUI\"]\nkeywords = [\"gtk-fortran\", \"GUI\", \"GTK\", \"fpm\"]\n\n# When gtk-fortran is used as a fpm dependency, fpm will automatically discover\n# the gtk-fortran modules in the gtk-fortran/src/ directory.\n\n[build]\nauto-executables = false\nauto-tests = false\nauto-examples = false\nmodule-naming = false\n\nlink = [\n  \"gtk-4\",\n  \"pangocairo-1.0\",\n  \"pango-1.0\",\n  \"harfbuzz\",\n  \"gdk_pixbuf-2.0\",\n  \"cairo-gobject\",\n  \"cairo\",\n  \"graphene-1.0\",\n  \"gio-2.0\",\n  \"gobject-2.0\",\n  \"glib-2.0\" ]\n\n[install]\nlibrary = false\ntest = false\n\n[fortran]\nimplicit-typing = false\nimplicit-external = false\nsource-form = \"free\"\n"
  },
  {
    "path": "logo/README.md",
    "content": "# gtk-fortran logo\n\n## Contains\nIn this directory, you will find:\n\n- `gtk-fortran-logo.svg`: the logo created with Inkscape. The blue color of the GTK cube, which HSL (hue, saturation, lightness) values are (211, 49, 63), was replaced in 2023 by a purple whose hue (270) is the same as the hue of the Fortran logo.\n- The logo in PNG format, in three sizes:\n  - `logo-gtk-fortran-small.png`: 99x38 pixels.\n  - `logo-gtk-fortran.png`: 299x115 pixels.\n  - `logo-gtk-fortran-big.png`: 799x307 pixels.\n\n## Licenses\n\nThe gtk-fortran logo uses the GTK logo (by Andreas Nilsson) and so is also under GNU Free Documentation License Version 1.2 or later & Creative Commons Attribution-Share Alike 3.0 Unported license. Its font is DejaVu Sans, a font under a free license.\n"
  },
  {
    "path": "plplot/CMakeLists.txt",
    "content": "# This file is part of gtk-fortran, a GTK / Fortran interface library.\n# Copyright (C) 2012 The gtk-fortran team\n#\n# This is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 3, or (at your option)\n# any later version.\n#\n# This software is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# Under Section 7 of GPL version 3, you are granted additional\n# permissions described in the GCC Runtime Library Exception, version\n# 3.1, as published by the Free Software Foundation.\n#\n# You should have received a copy of the GNU General Public License along with\n# this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n# If not, see <http://www.gnu.org/licenses/>.\n#===============================================================================\n# Contributed by James Tappin\n# Last updated: vmagnin 2019-03-14 (PLplot>=5.13), 2025-06-17\n#===============================================================================\n# PLplot integration (>=5.13 needed)\n# ----------------------------------\n# A lot of changes have occured in PLplot 5.11, 5.12 and 5.13: the libraries\n# have been renamed (plplot and plplot-fortran) and the ISO_C_BINDING has been\n# adopted.\n# By now (March 2019), the find_package(plplot) command gives a lot of errors\n# in Debian/Ubuntu distributions because of some renaming in Debian packages.\n# As a temporary (?) workaround, we are now using pkg-config.\n# If a CMake error occurs, add -D EXCLUDE_PLPLOT=true to your CMake command.\n#===============================================================================\n\ninclude_directories(\"${CMAKE_CURRENT_BINARY_DIR}/../plplot\")\ninclude_directories(\"${CMAKE_CURRENT_BINARY_DIR}/../src/modules\")\n\n#===============================================================================\n# PLplot extra for accessing the pl_cmd() routine:\n#===============================================================================\nset(extra_file \"../src/plplot_extra.f90\")\n\nadd_custom_command(\n  OUTPUT plplot_extra.mod\n  COMMAND ${CMAKE_Fortran_COMPILER} -c ${CMAKE_CURRENT_SOURCE_DIR}/${extra_file}\n  DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${extra_file}\n)\n\nadd_custom_target(plplot_extra_module ALL DEPENDS plplot_extra.mod)\n\ninstall(FILES\n  \"${CMAKE_CURRENT_BINARY_DIR}/plplot_extra.mod\"\n  DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${gtk_V_fortran}\n)\n\n#===============================================================================\n# Build PLplot examples:\n#===============================================================================\nif (NOT NO_BUILD_EXAMPLES)\n  foreach(example hl_plplot8e hl_plplot17e hl_plplot17e_gto hl_plplot30e\n          hl_plplot1e hl_plplot4e)\n    add_executable(${example} \"${example}.f90\")\n    add_dependencies(${example} plplot_extra_module)\n    target_link_libraries(${example} gtk-fortran_static ${GTK_LIBRARIES}\n                          ${PLPLOT-FORTRAN_LIBRARIES} ${PLPLOT_LIBRARIES})\n    add_test(${example} ./${example})\n  endforeach(example)\nendif (NOT NO_BUILD_EXAMPLES)\n\n#===============================================================================\n# If the INSTALL_EXAMPLES variable is set, then copy the examples\n# to ${CMAKE_INSTALL_DATAROOTDIR/gtk-fortran/examples<gtkversion>\n# useful (e.g.) for building binary packages.\n#===============================================================================\nif (INSTALL_EXAMPLES)\n  install(FILES\n    \"${CMAKE_CURRENT_SOURCE_DIR}/hl_plplot1e.f90\"\n    \"${CMAKE_CURRENT_SOURCE_DIR}/hl_plplot4e.f90\"\n    \"${CMAKE_CURRENT_SOURCE_DIR}/hl_plplot8e.f90\"\n    \"${CMAKE_CURRENT_SOURCE_DIR}/hl_plplot17e.f90\"\n    \"${CMAKE_CURRENT_SOURCE_DIR}/hl_plplot17e_gto.f90\"\n    \"${CMAKE_CURRENT_SOURCE_DIR}/hl_plplot30e.f90\"\n    DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/gtk-fortran/examples${GTKv}\n  )\nendif(INSTALL_EXAMPLES)\n"
  },
  {
    "path": "plplot/README.md",
    "content": "# gtk-fortran & PLplot\n\nIn this directory there are a few examples of using the [PLplot library](http://plplot.sourceforge.net/) in conjunction with gtk-fortran. PLplot is a scientific graphics library that has a modern Fortran binding.\n\n## Requirements\n\n- Either CMake and pkg-config, or fpm (Fortran Package Manager).\n- gtk-fortran: including for these examples the high-level modules gtk\\_hl and gtk\\_draw\\_hl.\n- PLplot>=5.13: including the Cairo drivers.\n\nA wrapper module `plplot_extra.mod` is created by the gtk-fortran system to allow access to the `pl_cmd()` routine in PLplot which is not in its Fortran binding. It provides low-level access to the system and is needed to correctly configure the \"extcairo\" driver.\n\n## Concept\n\nThe example codes here use the \"extcairo\" driver in PLplot to write to the backing surface of a GTK drawable created by `hl_gtk_drawing_area_new`.\n\nThe typical program structure is summarized as:\n\n### Main:\n\n- Create the GTK widgets, including a drawing area.\n- Realize the widget hierarchy.\n- Call the PLplot drawing routine(s).\n- Enter the event loop.\n\n### Handlers:\n\n- Handle events and if needed, call the PLplot drawing routine(s) with updated settings.\n\n### PLplot drawing:\n\n- Connect PLplot's output to the backing surface (see below).\n- Make the plot(s).\n- Call `gtk_widget_queue_draw` on the drawing area to force a redraw.\n\n### Globals:\n\n- For convenience in all examples I've put all the `use` statements and any global variables into a separate module that can be used by all of the other units.\n\n###  In the example codes these are:\n\n* The main program (called `cairo_plplot_ex<n>`).\n* The common module (`common_ex<n>`).\n* The drawing module (`plplot_code_ex<n>`).\n* The handlers (`handlers_ex<n>`).\n\n\n## Connecting PLplot's output to the drawing area\n\nFor the \"extcairo\" driver, output is to an externally-created cairo context. So here you need to create a cairo context connected to the backing surface (this is most easily done with\n`hl_gtk_drawing_area_cairo_new`). And then use `pl_cmd` to connect PLplot's output to the context.  To do this the following code needs to precede the call to `plinit` (or `plstar`):\n\n    ! Get a cairo context from the drawing area.\n    cc = hl_gtk_drawing_area_cairo_new(area)\n\n    !  Initialize plplot\n    call plsdev(\"extcairo\")\n\n    ! By default the \"extcairo\" driver does not reset the background\n    ! This is equivalent to the command line option \"-drvopt set_background=1\"\n    plsetopt_rc = plsetopt(\"drvopt\", \"set_background=1\")\n    if (plsetopt_rc /= 0) stop \"plsetopt error\"\n\n    ! The \"extcairo\" device doesn't read the size from the context.\n    write(geometry, \"(I0,'x',I0)\") width, height\n    plsetopt_rc = plsetopt( 'geometry', geometry)\n    if (plsetopt_rc /= 0) stop \"plsetopt error\"\n\nAnd then after `plinit` you need:\n\n    call pl_cmd(PLESC_DEVINIT, cc)\n\nA Fortran interface to `pl_cmd` is provided by the `plplot_extra` module.\n\n\n## Building the examples\n\nIf PLplot is found when building gtk-fortran, then the interface module for `pl_cmd` will be built and installed and the examples will be built by CMake. The instructions that follow are therefore only needed if you want to build them manually for some reason.\n\nThe PLplot example(s) are most easily built if gtk-fortran has been installed. Then it is simply a matter of:\n\n    gfortran -o hl_plplot<x>e hl_plplot<x>e.f90 $(pkg-config --cflags --libs \\\n             gtk-<n>-fortran  plplot-fortran plplot)\n\nwhere `<x>` is the number of the example, and `<n>` is the GTK major version you are using.\n\nThe examples are derived from the Fortran versions of examples 1, 4, 8, 30 and 17 on the PLplot web site:\n\n- hl_plplot1e: Basic x-y plots on multiple pages.\n- hl_plplot4e: Log plots, using 2 drawing areas.\n- hl_plplot8e: 3-D data display.\n- hl_plplot17e: Strip charts, shows continuous updating.\n- hl_plplot30e: Transparency.\n\n## Known issues\n\nDifferent releases of GFortran, let alone different fortran compilers, may not read each other's module files, therefore PLplot must be built with the same compiler as gtk-fortran.\n\nIf you wish to explicitly exclude building and installing PLplot support, then when running cmake, include the option `-D\nEXCLUDE_PLPLOT=true` (e.g.: `cmake -D EXCLUDE_PLPLOT=true ..`)\n\n## When using gtk-fortran as a fpm dependency\n\nPut in the `fpm.toml` manifest of your project:\n\n```toml\n[dependencies]\ngtk-fortran = { git = \"https://github.com/vmagnin/gtk-fortran.git\", branch = \"gtk4\" }\n\n[build]\nlink = [\"plplot\", \"plplotfortran\"]\nexternal-modules = [\"plplot\"]\n```\n\nand build and run your project with:\n\n```bash\n$  fpm run --flag '$(pkg-config --cflags --libs plplot plplot-fortran)'\n```\n"
  },
  {
    "path": "plplot/hl_plplot17e.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2012 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!------------------------------------------------------------------------------\n! Contributed by: James Tappin\n! PLplot code derived from PLplot's example 17 by Alan W. Irwin\n! Last modifications: vmagnin 2020-06-10 (GTK 4), 2022-06-09\n!------------------------------------------------------------------------------\n\nmodule common_ex17\n  use gtk, only: gtk_button_new, gtk_drawing_area_new, &\n       & gtk_widget_show, gtk_window_new, gtk_init, &\n       & gtk_widget_queue_draw, gtk_window_set_child\n  use g, only: g_usleep, g_main_context_iteration, g_main_context_pending\n\n  use gtk_draw_hl\n  use plplot_extra\n\n  implicit none\n  integer(c_int) :: height, width\n  integer(c_int) :: run_status = TRUE\n  type(c_ptr) :: window\n  type(c_ptr) :: my_gmainloop\nend module common_ex17\n\n\nmodule plplot_code_ex17\n  use plplot, PI => PL_PI\n  use common_ex17\n\n  implicit none\n  integer, save :: id1, n=0\n  logical :: autoy, acc\n  real(plflt) :: y1, y2, y3, y4, ymin, ymax, xlab, ylab\n  real(plflt) :: t, tmin, tmax, tjump, dt, noise\n  type(c_ptr) :: cc\n  integer :: colbox, collab, colline(4), styline(4)\n  character(len=20) :: legline(4)\n  character(len=20) :: toplab\n\ncontains\n\n  subroutine x17f95(area)\n    type(c_ptr), intent(in) :: area\n    character(len=20) :: geometry\n    ! Needed for use as functions instead of subroutines\n    integer :: plparseopts_rc\n    integer :: plsetopt_rc\n    ! Define colour map 0 to match the \"GRAFFER\" colour table in\n    ! place of the PLPLOT default.\n    integer, parameter, dimension(16) :: rval = [255, 0, 255, &\n         & 0, 0, 0, 255, 255, 255, 127, 0, 0, 127, 255, 85, 170], &\n         & gval = [ 255, 0, 0, 255, 0, 255, 0, 255, 127, 255, 255, 127, &\n         & 0, 0, 85, 170], &\n         & bval = [ 255, 0, 0, 0, 255, 255, 255, 0, 0, 0, 127, 255, 255, &\n         & 127, 85, 170]\n\n    ! Process command-line arguments\n    plparseopts_rc = plparseopts(PL_PARSE_FULL)\n    if (plparseopts_rc /= 0) stop \"plparseopts error\"\n\n    ! Get a cairo context from the drawing area.\n    cc = hl_gtk_drawing_area_cairo_new(area)\n\n    ! Initialize plplot\n    call plscmap0(rval, gval, bval)\n    call plsdev(\"extcairo\")\n\n    ! By default the \"extcairo\" driver does not reset the background\n    ! This is equivalent to the command line option \"-drvopt set_background=1\"\n    plsetopt_rc = plsetopt(\"drvopt\", \"set_background=1\")\n    if (plsetopt_rc /= 0) stop \"plsetopt error\"\n\n    ! The \"extcairo\" device doesn't read the size from the context.\n    write(geometry, \"(I0,'x',I0)\") width, height\n    plsetopt_rc = plsetopt( 'geometry', geometry)\n    if (plsetopt_rc /= 0) stop \"plsetopt error\"\n\n    ! Specify some reasonable defaults for ymin and ymax\n    ! The plot will grow automatically if needed (but not shrink)\n    ymin = -0.1_plflt\n    ymax = 0.1_plflt\n\n    ! Specify initial tmin and tmax -- this determines length of window.\n    ! Also specify maximum jump in t\n    ! This can accomodate adaptive timesteps\n    tmin = 0._plflt\n    tmax = 50._plflt\n    ! percentage of plot to jump\n    tjump = 0.3_plflt\n\n    ! Axes options same as plbox.\n    ! Only automatic tick generation and label placement allowed\n    ! Eventually I'll make this fancier\n    colbox = 1\n    collab = 1\n    ! pens color and line style\n    styline(1) = 1\n    colline(1) = 1\n    styline(2) = 3\n    colline(2) = 3\n    styline(3) = 4\n    colline(3) = 4\n    styline(4) = 5\n    colline(4) = 5\n\n    ! pens legend\n    legline(1) = 'sum'\n    legline(2) = 'sin'\n    legline(3) = 'sin*noi'\n    legline(4) = 'sin+noi'\n\n    ! legend position\n    xlab = 0._plflt\n    ylab = 0.25_plflt\n\n    ! autoscale y\n    autoy = .true.\n    ! scrip, don't accumulate\n    acc = .false.\n\n    ! Initialize plplot\n    call plinit()\n    ! Tell the \"extcairo\" driver where the context is located.\n    call pl_cmd(PLESC_DEVINIT, cc)\n\n    call pladv(0)\n    call plvsta()\n\n    ! Create a 4-pen strip chart\n    call plstripc(id1, 'bcnst', 'bcnstv', &\n         tmin, tmax, tjump, ymin, ymax, &\n         xlab, ylab, &\n         autoy, acc, &\n         colbox, collab, &\n         colline, styline, legline, &\n         't', '', 'Strip chart demo')\n\n    ! autoscale y\n    autoy = .false.\n    ! accumulate\n    acc = .true.\n\n    ! This is to represent a loop over time\n    ! Let's try a random walk process\n    y1 = 0.0_plflt\n    y2 = 0.0_plflt\n    y3 = 0.0_plflt\n    y4 = 0.0_plflt\n    dt = 0.1_plflt\n\n    call gtk_widget_queue_draw(area)\n  end subroutine x17f95\n\n\n  subroutine add_point(area)\n    type(c_ptr), intent(in) :: area\n\n    n = n + 1\n\n    t = dble(n) * dt\n    noise = plrandd() - 0.5_plflt\n    y1 = y1 + noise\n    y2 = sin(t*PI/18._plflt)\n    y3 = y2 * noise\n    y4 = y2 + noise/3._plflt\n\n    ! There is no need for all pens to have the same number of\n    ! points or being equally time spaced.\n    if ( mod(n,2) /= 0 ) then\n       call plstripa(id1, 0, t, y1)\n    endif\n    if ( mod(n,3) /= 0 ) then\n       call plstripa(id1, 1, t, y2)\n    endif\n    if ( mod(n,4) /= 0 ) then\n       call plstripa(id1, 2, t, y3)\n    endif\n    if ( mod(n,5) /= 0 ) then\n       call plstripa(id1, 3, t, y4)\n    end if\n\n    call gtk_widget_queue_draw(area)\n  end subroutine add_point\n\n\n  subroutine close_strip\n    ! Destroy strip chart and its memory\n    call plstripd(id1)\n    call plend()\n    call hl_gtk_drawing_area_cairo_destroy(cc)\n  end subroutine close_strip\n\nend module plplot_code_ex17\n\n\nmodule handlers_ex17\n  use, intrinsic :: iso_c_binding\n  use plplot_code_ex17\n\n  implicit none\n\ncontains\n\n  subroutine delete_cb (widget, event, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, event, gdata\n\n    call close_strip()\n    run_status = FALSE\n  end subroutine delete_cb\n\n  subroutine quit_cb(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n\n    call close_strip()\n    run_status = FALSE\n  end subroutine quit_cb\n\n  subroutine pending_events ()\n    integer(c_int) :: boolresult\n    do while(IAND(g_main_context_pending(c_null_ptr), run_status) /= FALSE)\n       ! False for non-blocking:\n       boolresult = g_main_context_iteration(c_null_ptr, FALSE)\n    end do\n  end subroutine pending_events\nend module handlers_ex17\n\n\nprogram cairo_plplot_ex17\n  use handlers_ex17\n  use gtk_hl_container\n  use gtk_hl_button\n  use gtk_draw_hl\n\n  implicit none\n  type(c_ptr) :: drawing, base, qbut\n\n  height = 500\n  width = 1000\n\n  call gtk_init()\n\n  window = hl_gtk_window_new(\"PLplot x17 / gtk-fortran (extcairo)\"//c_null_char, &\n       & destroy = c_funloc(delete_cb))\n  base = hl_gtk_box_new()\n  call gtk_window_set_child(window, base)\n\n  drawing = hl_gtk_drawing_area_new(size=[width, height], &\n       & has_alpha = FALSE)\n\n  call hl_gtk_box_pack(base, drawing)\n\n  qbut = hl_gtk_button_new(\"Quit\"//c_null_char, clicked=c_funloc(quit_cb))\n  call hl_gtk_box_pack(base, qbut, expand=FALSE)\n\n  call gtk_widget_show(window)\n\n  ! Preparing the plot:\n  call x17f95(drawing)\n\n  ! Note that here rather than using g_main_loop_run we look for events ourselves\n  ! this makes it easy to add a point every 1/10s.\n  ! An alternative would be to use g_timeout_add to control the updates\n  ! (see the hl_plplot17e_gto.f90 example).\n\n  do\n     call pending_events()\n     if (run_status == FALSE) exit\n     call g_usleep(100000_c_long) ! So we don't burn CPU cycles\n     call add_point(drawing)\n  end do\n\n  print *, \"All done\"\nend program cairo_plplot_ex17\n"
  },
  {
    "path": "plplot/hl_plplot17e_gto.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2012 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!------------------------------------------------------------------------------\n! Contributed by: James Tappin\n! PLplot code derived from PLplot's example 17 by Alan W. Irwin\n! Last modifications: vmagnin 2020-06-10 (GTK 4), 2020-07-14\n!------------------------------------------------------------------------------\n\nmodule common_ex17_gto\n  use, intrinsic :: iso_c_binding\n  use gtk_draw_hl\n  use g, only: g_timeout_add, g_main_context_pending\n  use gtk, only: gtk_window_set_child, gtk_widget_queue_draw, gtk_widget_show, &\n               & gtk_window_destroy, TRUE, FALSE\n  use plplot_extra\n\n  implicit none\n  integer(c_int) :: height, width\n  integer(c_int) :: run_status = TRUE\n  type(c_ptr) :: window\nend module common_ex17_gto\n\nmodule plplot_code_ex17_gto\n  use plplot, PI => PL_PI\n  use common_ex17_gto\n\n  implicit none\n  integer, save :: id1, n=0\n  logical :: autoy, acc\n\n  real(plflt) :: y1, y2, y3, y4, ymin, ymax, xlab, ylab\n  real(plflt) :: t, tmin, tmax, tjump, dt, noise\n  type(c_ptr) :: cc\n  integer :: colbox, collab, colline(4), styline(4)\n  character(len=20) :: legline(4)\n\ncontains\n\n  subroutine x17f95(area)\n    type(c_ptr), intent(in) :: area\n    character(len=20) :: geometry\n    ! needed for use as functions instead of subroutines\n    integer :: plparseopts_rc\n    integer :: plsetopt_rc\n    ! Define colour map 0 to match the \"GRAFFER\" colour table in\n    ! place of the PLPLOT default.\n    integer, parameter, dimension(16) :: rval = [255, 0, 255, &\n         & 0, 0, 0, 255, 255, 255, 127, 0, 0, 127, 255, 85, 170],&\n         & gval = [ 255, 0, 0, 255, 0, 255, 0, 255, 127, 255, 255, 127,&\n         & 0, 0, 85, 170], &\n         & bval = [ 255, 0, 0, 0, 255, 255, 255, 0, 0, 0, 127, 255, 255,&\n         & 127, 85, 170]\n\n    !  Process command-line arguments\n    plparseopts_rc = plparseopts(PL_PARSE_FULL)\n    if (plparseopts_rc /= 0) stop \"plparseopts error\"\n\n    ! Get a cairo context from the drawing area.\n    cc = hl_gtk_drawing_area_cairo_new(area)\n\n    !  Initialize plplot\n    call plscmap0(rval, gval, bval)\n    call plsdev(\"extcairo\")\n\n    ! By default the \"extcairo\" driver does not reset the background\n    ! This is equivalent to the command line option \"-drvopt set_background=1\"\n    plsetopt_rc = plsetopt(\"drvopt\", \"set_background=1\")\n    if (plsetopt_rc /= 0) stop \"plsetopt error\"\n\n    ! The \"extcairo\" device doesn't read the size from the context.\n    call hl_gtk_drawing_area_get_size(area, width=width, height=height)\n    write(geometry, \"(I0,'x',I0)\") width, height\n    plsetopt_rc = plsetopt( 'geometry', geometry)\n    if (plsetopt_rc /= 0) stop \"plsetopt error\"\n\n    ! Specify some reasonable defaults for ymin and ymax\n    ! The plot will grow automatically if needed (but not shrink)\n    ymin = -0.1_plflt\n    ymax = 0.1_plflt\n\n    ! Specify initial tmin and tmax -- this determines length of window.\n    ! Also specify maximum jump in t\n    ! This can accomodate adaptive timesteps\n    tmin = 0._plflt\n    tmax = 50._plflt\n    ! percentage of plot to jump\n    tjump = 0.3_plflt\n\n    ! Axes options same as plbox.\n    ! Only automatic tick generation and label placement allowed\n    ! Eventually I'll make this fancier\n    colbox = 1\n    collab = 1\n    ! pens color and line style\n    styline(1) = 1\n    colline(1) = 1\n    styline(2) = 3\n    colline(2) = 3\n    styline(3) = 4\n    colline(3) = 4\n    styline(4) = 5\n    colline(4) = 5\n\n    ! pens legend\n    legline(1) = 'sum'\n    legline(2) = 'sin'\n    legline(3) = 'sin*noi'\n    legline(4) = 'sin+noi'\n\n    ! legend position\n    xlab = 0._plflt\n    ylab = 0.25_plflt\n\n    ! autoscale y\n    autoy = .true.\n    ! scrip, don't accumulate\n    acc = .false.\n\n    ! Initialize plplot\n    call plinit()\n    ! Tell the \"extcairo\" driver where the context is located.\n    call pl_cmd(PLESC_DEVINIT, cc)\n\n    call pladv(0)\n    call plvsta()\n\n    ! Create a 4-pen strip chart\n    call plstripc(id1, 'bcnst', 'bcnstv', &\n         tmin, tmax, tjump, ymin, ymax, &\n         xlab, ylab, &\n         autoy, acc, &\n         colbox, collab, &\n         colline, styline, legline, &\n         't', '', 'Strip chart demo')\n\n    ! autoscale y\n    autoy = .false.\n    ! accumulate\n    acc = .true.\n\n    ! This is to represent a loop over time\n    ! Let's try a random walk process\n    y1 = 0.0_plflt\n    y2 = 0.0_plflt\n    y3 = 0.0_plflt\n    y4 = 0.0_plflt\n    dt = 0.1_plflt\n\n    call gtk_widget_queue_draw(area)\n\n  end subroutine x17f95\n\n  function add_point(area) bind(c)\n    integer(c_int) :: add_point\n    type(c_ptr), intent(in) :: area\n\n    n = n + 1\n\n    t = dble(n) * dt\n    noise = plrandd() - 0.5_plflt\n    y1 = y1 + noise\n    y2 = sin(t*PI/18._plflt)\n    y3 = y2 * noise\n    y4 = y2 + noise/3._plflt\n\n    if (c_f_logical(g_main_context_pending(c_null_ptr))) add_point = FALSE   ! Exit\n\n    ! There is no need for all pens to have the same number of\n    ! points or being equally time spaced.\n    if ( mod(n,2) /= 0 ) then\n       call plstripa(id1, 0, t, y1)\n    endif\n    if ( mod(n,3) /= 0 ) then\n       call plstripa(id1, 1, t, y2)\n    endif\n    if ( mod(n,4) /= 0 ) then\n       call plstripa(id1, 2, t, y3)\n    endif\n    if ( mod(n,5) /= 0 ) then\n       call plstripa(id1, 3, t, y4)\n    end if\n\n    call gtk_widget_queue_draw(area)\n\n    add_point = TRUE\n  end function add_point\n\n  subroutine close_strip\n    ! Destroy strip chart and its memory\n    call plstripd(id1)\n    call plend()\n    call hl_gtk_drawing_area_cairo_destroy(cc)\n  end subroutine close_strip\nend module plplot_code_ex17_gto\n\n\nmodule handlers_ex17_gto\n  use gtk_hl_container\n  use gtk_hl_button\n  use plplot_code_ex17_gto\n\n  implicit none\n\ncontains\n\n  subroutine quit_cb(widget, gdata) bind(c)\n    type(c_ptr), value :: widget, gdata\n\n    call close_strip()\n    call gtk_window_destroy(window)\n  end subroutine quit_cb\n\n  subroutine activate(app, gdata) bind(c)\n    use gtk, only: gtk_application_window_new, gtk_window_set_title\n\n    type(c_ptr), value, intent(in)  :: app, gdata\n    ! Pointers toward our GTK widgets:\n    type(c_ptr) :: drawing, base, qbut\n    integer(c_int) :: timeid\n\n    ! Create the window:\n    window = gtk_application_window_new(app)\n    call gtk_window_set_title(window, \"PLplot x17 / gtk-fortran (extcairo) g_timeout version\"//c_null_char)\n\n    base = hl_gtk_box_new()\n    call gtk_window_set_child(window, base)\n\n    drawing = hl_gtk_drawing_area_new(size=[1000_c_int, 500_c_int], &\n         & has_alpha = FALSE)\n\n    call hl_gtk_box_pack(base, drawing)\n\n    qbut = hl_gtk_button_new(\"Quit\"//c_null_char, clicked=c_funloc(quit_cb))\n    call hl_gtk_box_pack(base, qbut, expand=FALSE)\n\n    call gtk_widget_show(window)\n\n    call x17f95(drawing)\n\n    timeid = g_timeout_add(100_c_int, c_funloc(add_point), drawing)\n  end subroutine activate\nend module handlers_ex17_gto\n\n\nprogram cairo_plplot_ex17_gto\n  use, intrinsic :: iso_c_binding\n  use handlers_ex17_gto, only: activate\n  use gtk_hl_container, only: hl_gtk_application_new\n\n  implicit none\n  type(c_ptr) :: my_app\n\n  my_app = hl_gtk_application_new(\"gtk-fortran.plplot.hl_plplot17e_gto\"//c_null_char, &\n                             & c_funloc(activate))\nend program cairo_plplot_ex17_gto\n"
  },
  {
    "path": "plplot/hl_plplot1e.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2012 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!------------------------------------------------------------------------------\n! Contributed by: James Tappin\n! PLplot code derived from PLplot's example 1 by Alan W. Irwin\n! Last modifications: vmagnin 2020-06-10 (GTK 4), 2022-04-20\n!------------------------------------------------------------------------------\n\nmodule common_ex1\n  use, intrinsic :: iso_c_binding      ! Enable the c-binding routines & constants\n  ! These are the gtk & glib routines used explicitly in the code:\n  use gtk, only: gtk_widget_show, gtk_window_set_child, gtk_window_destroy\n  ! These are the high-level drawing area modules:\n  use gtk_draw_hl\n  ! This makes the low-level pl_cmd routine accessible:\n  use plplot_extra\n\n  ! The size of the drawing area:\n  integer(c_int) :: height, width\n  ! The top-level window must be here as its destroy signal need not come from it:\n  type(c_ptr) :: window\nend module common_ex1\n\nmodule plplot_code_ex1\n  use plplot, PI => PL_PI\n  use common_ex1\n\n  implicit none\n  real(plflt) :: xscale, yscale, xoff, yoff\n\ncontains\n  subroutine x01f95(area)\n\n    type(c_ptr), intent(in) :: area\n    type(c_ptr) :: cc\n    character(len=80) :: version\n    character(len=20) :: geometry\n    integer :: digmax\n\n    ! needed for use as functions instead of subroutines\n    integer :: plparseopts_rc\n    integer :: plsetopt_rc\n\n    ! Define colour map 0 to match the \"GRAFFER\" colour table in\n    ! place of the PLPLOT default.\n    integer, parameter, dimension(16) :: &\n      & rval = [255, 0, 255, 0, 0, 0, 255, 255, 255, 127, 0, 0, 127, 255, 85, 170],&\n      & gval = [ 255, 0, 0, 255, 0, 255, 0, 255, 127, 255, 255, 127, 0, 0, 85, 170],&\n      & bval = [ 255, 0, 0, 0, 255, 255, 255, 0, 0, 0, 127, 255, 255, 127, 85, 170]\n\n    !  Process command-line arguments\n    plparseopts_rc = plparseopts(PL_PARSE_FULL)\n    if (plparseopts_rc /= 0) stop \"plparseopts error\"\n\n    !  Print plplot version\n    call plgver(version)\n    write (*,'(a,a)') 'PLplot library version: ', trim(version)\n\n    ! Get a cairo context from the drawing area.\n    cc = hl_gtk_drawing_area_cairo_new(area)\n\n    !  Initialize plplot\n    call plscmap0(rval, gval, bval)\n    call plsdev(\"extcairo\")\n\n    ! By default the \"extcairo\" driver does not reset the background\n    ! This is equivalent to the command line option \"-drvopt set_background=1\"\n    plsetopt_rc = plsetopt(\"drvopt\", \"set_background=1\")\n    if (plsetopt_rc /= 0) stop \"plsetopt error\"\n\n    ! The \"extcairo\" device doesn't read the size from the context.\n    write(geometry, \"(I0,'x',I0)\") width, height\n    plsetopt_rc = plsetopt( 'geometry', geometry)\n    if (plsetopt_rc /= 0) stop \"plsetopt error\"\n\n    !  Divide page into 2x2 plots\n    call plstar(2,2)\n\n    ! Tell the \"extcairo\" driver where the context is located. This must be\n    ! done AFTER the plstar or plinit call.\n    call pl_cmd(PLESC_DEVINIT, cc)\n\n    !  Set up the data\n    !  Original case\n    xscale = 6._plflt\n    yscale = 1._plflt\n    xoff = 0._plflt\n    yoff = 0._plflt\n\n    !  Do a plot\n    call plot1()\n\n    !  Set up the data\n    xscale = 1._plflt\n    yscale = 0.0014_plflt\n    yoff = 0.0185_plflt\n\n    !  Do a plot\n    digmax = 5\n    call plsyax(digmax,  0)\n    call plot1()\n\n    call plot2()\n    call plot3()\n\n    !  Don't forget to call PLEND to finish off, and then delete the\n    !  cairo context.\n    call plend()\n    call hl_gtk_drawing_area_cairo_destroy(cc)\n\n  end subroutine x01f95\n\n  !======================================================================\n  subroutine plot1()\n\n    real(plflt), dimension(1:60) :: x, y\n    real(plflt), dimension(1:6)  :: xs, ys\n    real(plflt) :: xmin, xmax, ymin, ymax\n    integer :: i\n\n    do i = 1, 60\n       x(i) = xoff + xscale * dble(i)/60.0_plflt\n       y(i) = yoff + yscale * x(i)**2\n    enddo\n\n    xmin = x(1)\n    xmax = x(60)\n    ymin = y(1)\n    ymax = y(60)\n\n    do i = 1, 6\n       xs(i) = x((i-1)*10+4)\n       ys(i) = y((i-1)*10+4)\n    enddo\n\n    !   Set up the viewport and window using PLENV. The range in X is\n    !   0.0 to 6.0, and the range in Y is 0.0 to 30.0. The axes are\n    !   scaled separately (just = 0), and we just draw a labelled\n    !   box (axis = 0).\n\n    call plcol0(1)\n    call plenv( xmin, xmax, ymin, ymax, 0, 0 )\n    call plcol0(2)\n    call pllab( '(x)', '(y)', '#frPLplot Example 1 - y=x#u2' )\n\n    !   Plot the data points\n    call plcol0(4)\n    call plpoin( xs, ys, 9 )\n\n    !   Draw the line through the data\n    call plcol0(3)\n    call plline( x, y )\n\n  end subroutine plot1\n\n  !======================================================================\n  subroutine plot2()\n\n    real(plflt), dimension(1:100) :: x, y\n    integer :: i\n    !\n    !   Set up the viewport and window using PLENV. The range in X is\n    !   -2.0 to 10.0, and the range in Y is -0.4 to 2.0. The axes are\n    !   scaled separately (just = 0), and we draw a box with axes\n    !   (axis = 1).\n    call plcol0(1)\n    call plenv(-2.0_plflt, 10.0_plflt, -0.4_plflt, 1.2_plflt, 0, 1 )\n    call plcol0(2)\n    call pllab( '(x)', 'sin(x)/x', '#frPLplot Example 1 - Sinc Function' )\n\n    !   Fill up the arrays\n    do i = 1, 100\n       x(i) = (i-20.0_plflt)/6.0_plflt\n       y(i) = 1.0_plflt\n       if (x(i) /= 0.0_plflt) y(i) = sin(x(i)) / x(i)\n    enddo\n\n    !   Draw the line\n    call plcol0(3)\n    call plwidth(2.0_plflt)\n    call plline( x, y )\n    call plwidth(1.0_plflt)\n\n  end subroutine plot2\n\n  !======================================================================\n  subroutine plot3()\n    !\n    !   For the final graph we wish to override the default tick intervals,\n    !   and so do not use_ PLENV\n    real(plflt), dimension(1:101) :: x, y\n\n    integer i\n    call pladv(0)\n\n    !   Use_ standard viewport, and define X range from 0 to 360 degrees,\n    !   Y range from -1.2 to 1.2.\n    call plvsta()\n    call plwind( 0.0_plflt, 360.0_plflt, -1.2_plflt, 1.2_plflt )\n\n    !   Draw a box with ticks spaced 60 degrees apart in X, and 0.2 in Y.\n    call plcol0(1)\n    call plbox( 'bcnst', 60.0_plflt, 2, 'bcnstv', 0.2_plflt, 2 )\n\n    !   Superimpose a dashed line grid, with 1.5 mm marks and spaces. With\n    !   only a single mark and space element, we do not need arrays\n    call plstyl( [1500], [1500] )\n    call plcol0(2)\n    call plbox( 'g', 30.0_plflt, 0, 'g', 0.2_plflt, 0 )\n    !   remember from the error message:\n    !   plstyl: At least one mark or space must be > 0, aborting operation\n    call plstyl( [0], [1] )\n\n    call plcol0(3)\n    call pllab( 'Angle (degrees)', 'sine', '#frPLplot Example 1 - Sine function' )\n\n    do i = 1, 101\n       x(i) = 3.6_plflt * (i-1)\n       y(i) = sin( x(i) * PI/180.0_plflt )\n    enddo\n\n    call plcol0(4)\n    call plline( x, y )\n  end subroutine plot3\nend module plplot_code_ex1\n\nmodule handlers_ex1\n  use common_Ex1\n  use gtk_hl_container\n  use gtk_hl_button\n  use gtk_draw_hl\n  use, intrinsic :: iso_c_binding\n\n  implicit none\n  integer(c_int) :: run_status = TRUE\n  real(c_double), parameter :: pi = acos(-1.0_c_double)\n\ncontains\n\n  subroutine quit_cb(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n    call gtk_window_destroy(window)\n  end subroutine quit_cb\n\n  subroutine activate(app, gdata) bind(c)\n    ! This gives the main program access to the plotting code\n    use plplot_code_ex1\n    use gtk, only: gtk_application_window_new, gtk_window_set_title\n    implicit none\n    type(c_ptr), value, intent(in)  :: app, gdata\n    ! Pointers toward our GTK widgets:\n    type(c_ptr) :: drawing, scroll_w, base, qbut\n\n    ! Set the size of the drawing area (these are global variables)\n    height = 1000\n    width = 1200\n\n    ! Create a top-level window and then pack a column box into it:\n    window = gtk_application_window_new(app)\n    call gtk_window_set_title(window, \"PLplot x01 / gtk-fortran (extcairo)\"//c_null_char)\n\n    base = hl_gtk_box_new()\n    call gtk_window_set_child(window, base)\n\n    ! Create a drawing area, in a 600x500 scrolled window.\n    ! The high-level drawing area creator automatically adds a cairo surface as\n    ! backing store. Here we use the default expose/draw callback which\n    ! just copies the backing store to the drawing surface.\n    ! Pack it into the vertical box.\n    drawing = hl_gtk_drawing_area_new(size=[width, height], &\n         & has_alpha = FALSE, &\n         & scroll = scroll_w, &\n         & ssize=[ 600, 500 ])\n    call hl_gtk_box_pack(base, scroll_w)\n\n    ! Add a quit button, and pack that into the box as well:\n    qbut = hl_gtk_button_new(\"Quit\"//c_null_char, clicked=c_funloc(quit_cb))\n    call hl_gtk_box_pack(base, qbut, expand=FALSE)\n\n    ! Display the widgets:\n    call gtk_widget_show(window)\n\n    ! Call the plotting routine:\n    call x01f95(drawing)\n  end subroutine activate\nend module handlers_ex1\n\n\nprogram cairo_plplot_ex1\n  use, intrinsic :: iso_c_binding, only: c_ptr, c_funloc, c_null_char\n  ! Set the size of the drawing area (these are global variables)\n  use handlers_ex1\n  use gtk_hl_container, only: hl_gtk_application_new\n  implicit none\n  type(c_ptr) :: my_app\n\n  ! Initalize GTK, create the GUI and launch the main loop:\n  my_app = hl_gtk_application_new(\"gtk-fortran.plplot.hl_plplot1e\"//c_null_char, &\n                             & c_funloc(activate))\nend program cairo_plplot_ex1\n\n"
  },
  {
    "path": "plplot/hl_plplot30e.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2012 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!------------------------------------------------------------------------------\n! Contributed by: James Tappin\n! PLplot code derived from PLplot's example 30 by Hazen Babcock and Andrew Ross\n! Last modifications: vmagnin 2020-06-10 (GTK 4), 2020-07-13\n!------------------------------------------------------------------------------\n\nmodule common_ex30\n  use, intrinsic :: iso_c_binding\n  use gtk, only: gtk_window_set_child, gtk_widget_queue_draw, &\n       & gtk_widget_show, gtk_window_destroy\n  use gtk_draw_hl\n  use plplot_extra\n\n  implicit none\n  integer(c_int) :: height, width\n  type(c_ptr) :: window\n  type(c_ptr) :: my_gmainloop\nend module common_ex30\n\nmodule plplot_code_ex30\n  use plplot, PI => PL_PI\n  use common_ex30\n\n  implicit none\n  real(plflt) :: xscale, yscale, xoff, yoff\n\ncontains\n  subroutine x30f95(area)\n\n    type(c_ptr), intent(in) :: area\n    type(c_ptr) :: cc\n    character(len=20) :: geometry\n\n    ! needed for use as functions instead of subroutines\n    integer :: plparseopts_rc\n    integer :: plsetopt_rc\n\n    integer, dimension(4) ::  red, green, blue\n    real(plflt), dimension (4) :: alpha, px, py\n    real(plflt), dimension (2) :: pos, rcoord, gcoord, bcoord, acoord\n    logical, dimension(1) :: rev\n\n    data red   / 127, 255, 0, 0 /\n    data green / 127, 0, 255, 0 /\n    data blue  / 127, 0, 0, 255 /\n    data alpha / 1.0_plflt, 1.0_plflt, 1.0_plflt, 1.0_plflt /\n    data px / 0.1_plflt, 0.5_plflt, 0.5_plflt, 0.1_plflt /\n    data py / 0.1_plflt, 0.1_plflt, 0.5_plflt, 0.5_plflt /\n    data pos / 0.0_plflt, 1.0_plflt /\n    data rcoord / 1.0_plflt, 1.0_plflt /\n    data gcoord / 0.0_plflt, 0.0_plflt /\n    data bcoord / 0.0_plflt, 0.0_plflt /\n    data acoord / 0.0_plflt, 1.0_plflt /\n    data rev / .false. /\n\n    integer i, j\n    integer icol, r, g, b\n    real(plflt) :: a\n\n    !  Process command-line arguments\n    plparseopts_rc = plparseopts(PL_PARSE_FULL)\n    if (plparseopts_rc /= 0) stop \"plparseopts error\"\n\n    ! Get a cairo context from the drawing area.\n    cc = hl_gtk_drawing_area_cairo_new(area)\n\n    !  Initialize plplot\n    call plsdev(\"extcairo\")\n\n    ! By default the \"extcairo\" driver does not reset the background\n    ! This is equivalent to the command line option \"-drvopt set_background=1\"\n    plsetopt_rc = plsetopt(\"drvopt\", \"set_background=1\")\n    if (plsetopt_rc /= 0) stop \"plsetopt error\"\n\n    ! The \"extcairo\" device doesn't read the size from the context.\n    write(geometry, \"(I0,'x',I0)\") width, height\n    plsetopt_rc = plsetopt( 'geometry', geometry)\n    if (plsetopt_rc /= 0) stop \"plsetopt error\"\n\n    call plscmap0n(4)\n\n    call plscmap0a (red, green, blue, alpha)\n\n    !  Divide page into 2 plots\n    call plstar(2,1)\n\n    ! Tell the \"extcairo\" driver where the context is located.\n    call pl_cmd(PLESC_DEVINIT, cc)\n    !\n    ! Page 1:\n    !\n    ! This is a series of red, green and blue rectangles overlaid\n    ! on each other with gradually increasing transparency.\n    !\n\n    ! Set up the window\n    call pladv (0)\n    call plvpor (0.0_plflt, 1.0_plflt, 0.0_plflt, 1.0_plflt)\n    call plwind (0.0_plflt, 1.0_plflt, 0.0_plflt, 1.0_plflt)\n    call plcol0 (0)\n    call plbox (\"\", 1.0_plflt, 0, \"\", 1.0_plflt, 0)\n\n    ! Draw the boxes\n    do i = 1,9\n       icol = mod(i-1,3) + 1\n\n       ! Get a color, change its transparency and\n       ! set it as the current color.\n       call plgcol0a (icol, r, g, b, a)\n       call plscol0a (icol, r, g, b, 1.0_plflt - dble(i-1)/9.0_plflt)\n       call plcol0 (icol)\n\n       ! Draw the rectangle\n       call plfill (px, py)\n\n       ! Shift the rectangles coordinates\n       do j = 1,4\n          px(j) = px(j) + 0.5_plflt/9.0_plflt\n          py(j) = py(j) + 0.5_plflt/9.0_plflt\n       enddo\n    enddo\n    !\n    ! Page 2:\n    !\n    ! This is a bunch of boxes colored red, green or blue with a single\n    ! large (red) box of linearly varying transparency overlaid. The\n    ! overlaid box is completely transparent at the bottom and completely\n    ! opaque at the top.\n    !\n\n    ! Set up the window\n    call pladv(0)\n    call plvpor(0.1_plflt, 0.9_plflt, 0.1_plflt, 0.9_plflt)\n    call plwind(0.0_plflt, 1.0_plflt, 0.0_plflt, 1.0_plflt)\n\n    ! Draw the boxes. There are 25 of them drawn on a 5 x 5 grid.\n    do i = 1,5\n       ! Set box X position\n       px(1) = 0.05_plflt + 0.2_plflt * dble(i-1)\n       px(2) = px(1) + 0.1_plflt\n       px(3) = px(2)\n       px(4) = px(1)\n\n       ! We don't want the boxes to be transparent, so since we changed\n       ! the colors transparencies in the first example we have to change\n       ! the transparencies back to completely opaque.\n       icol = mod(i-1,3) + 1\n       call plgcol0a (icol, r, g, b, a)\n       call plscol0a (icol, r, g, b, 1.0_plflt)\n       call plcol0 (icol)\n       do j = 1, 5\n          ! Set box y position and draw the box.\n          py(1) = 0.05_plflt + 0.2_plflt * dble(j-1)\n          py(2) = py(1)\n          py(3) = py(1) + 0.1_plflt\n          py(4) = py(3)\n          call plfill(px, py)\n       enddo\n    enddo\n\n    ! Create the color map with 128 colors and call plscmap1la to initialize\n    ! the color values with a linearly varying red transparency (or alpha)\n    call plscmap1n(128)\n    call plscmap1la(.true., pos, rcoord, gcoord, bcoord, acoord, rev)\n\n    ! Use that cmap1 to create a transparent red gradient for the whole\n    ! window.\n    px(1) = 0._plflt\n    px(2) = 1._plflt\n    px(3) = 1._plflt\n    px(4) = 0._plflt\n\n    py(1) = 0._plflt\n    py(2) = 0._plflt\n    py(3) = 1._plflt\n    py(4) = 1._plflt\n\n    call plgradient( px, py, 90._plflt )\n\n    !  Don't forget to call PLEND to finish off!\n    call plend()\n    call gtk_widget_queue_draw(area)\n    call hl_gtk_drawing_area_cairo_destroy(cc)\n\n  end subroutine x30f95\nend module plplot_code_ex30\n\nmodule handlers_ex30\n\n  use common_ex30\n  use gtk_hl_container\n  use gtk_hl_button\n  use gtk_draw_hl\n  use, intrinsic :: iso_c_binding\n\n  implicit none\n  real(c_double), parameter :: pi = acos(-1.0_c_double)\n\ncontains\n\n  subroutine quit_cb(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n\n    call gtk_window_destroy(window)\n  end subroutine quit_cb\n\n\n  subroutine activate(app, gdata) bind(c)\n    use plplot_code_ex30\n    use gtk, only: gtk_application_window_new\n    implicit none\n    type(c_ptr), value, intent(in)  :: app, gdata\n    ! Pointers toward our GTK widgets:\n    type(c_ptr) :: drawing, scroll_w, base, qbut\n\n    height = 600\n    width = 1200\n\n    ! Create the window:\n    window = gtk_application_window_new(app)\n\n    base = hl_gtk_box_new()\n    call gtk_window_set_child(window, base)\n\n    drawing = hl_gtk_drawing_area_new(size=[width, height], &\n         & has_alpha = TRUE, &\n         & scroll = scroll_w, &\n         & ssize=[ 650, 600 ])\n    call hl_gtk_box_pack(base, scroll_w)\n\n    qbut = hl_gtk_button_new(\"Quit\"//c_null_char, clicked=c_funloc(quit_cb))\n    call hl_gtk_box_pack(base, qbut, expand=FALSE)\n\n    call gtk_widget_show(window)\n\n    call x30f95(drawing)\n  end subroutine activate\nend module handlers_ex30\n\nprogram cairo_plplot_ex30\n  use, intrinsic :: iso_c_binding, only: c_ptr, c_funloc, c_null_char\n  use handlers_ex30\n  use gtk_hl_container, only: hl_gtk_application_new\n  implicit none\n  type(c_ptr) :: my_app\n\n  my_app = hl_gtk_application_new(\"gtk-fortran.plplot.hl_plplot30e\"//c_null_char, &\n                             & c_funloc(activate))\nend program cairo_plplot_ex30\n\n"
  },
  {
    "path": "plplot/hl_plplot4e.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2012 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!------------------------------------------------------------------------------\n! Contributed by: James Tappin\n! PLplot code derived from PLplot's example 4 by Alan W. Irwin\n! Last modifications: vmagnin 2020-06-10 (GTK 4), 2020-07-14\n!------------------------------------------------------------------------------\n\nmodule common_ex4\n  use, intrinsic :: iso_c_binding\n  use cairo, only: cairo_get_target, cairo_image_surface_get_height, &\n       & cairo_image_surface_get_width\n  use gtk, only: gtk_window_destroy, gtk_widget_show, FALSE, &\n               & gtk_window_set_child\n  use gtk_draw_hl\n  use plplot_extra\n  use gtk_hl_container\n  use gtk_hl_button\n\n  implicit none\n  type(c_ptr) :: window\nend module common_ex4\n\nmodule plplot_code_ex4\n  use plplot, PI => PL_PI\n  use common_ex4\n\n  implicit none\n\ncontains\n\n  subroutine plot_04(area)\n    type(c_ptr), intent(in), dimension(2) :: area\n\n    type(c_ptr), dimension(2) :: cc, cs\n    integer :: i\n    character(len=25) :: geometry\n\n    ! needed for use as functions instead of subroutines\n    integer :: plparseopts_rc\n    integer :: plsetopt_rc\n\n    ! Define colour map 0 to match the \"GRAFFER\" colour table in\n    ! place of the PLPLOT default.\n    integer, parameter, dimension(16) :: rval = [255, 0, 255, &\n         & 0, 0, 0, 255, 255, 255, 127, 0, 0, 127, 255, 85, 170],&\n         & gval = [ 255, 0, 0, 255, 0, 255, 0, 255, 127, 255, 255, 127,&\n         & 0, 0, 85, 170], &\n         & bval = [ 255, 0, 0, 0, 255, 255, 255, 0, 0, 0, 127, 255, 255,&\n         & 127, 85, 170]\n\n    !  Process command-line arguments\n    plparseopts_rc = plparseopts(PL_PARSE_FULL)\n    if (plparseopts_rc /= 0) stop \"plparseopts error\"\n\n\n    ! Get a cairo context from the drawing area.\n    do i=1,2\n       cc(i) = hl_gtk_drawing_area_cairo_new(area(i))\n       cs(i) = cairo_get_target(cc(i))\n    end do\n\n    !  Initialize plplot\n    call plscmap0(rval, gval, bval)\n    call plsdev(\"extcairo\")\n\n    ! By default the \"extcairo\" driver does not reset the background\n    ! This is equivalent to the command line option \"-drvopt set_background=1\"\n    plsetopt_rc = plsetopt(\"drvopt\", \"set_background=1\")\n    if (plsetopt_rc /= 0) stop \"plsetopt error\"\n\n    ! The \"extcairo\" device doesn't read the size from the context.\n    write(geometry, \"(I0,'x',I0)\") cairo_image_surface_get_width(cs(1)), &\n         & cairo_image_surface_get_height(cs(1))\n    plsetopt_rc = plsetopt( 'geometry', geometry)\n    if (plsetopt_rc /= 0) stop \"plsetopt error\"\n\n    ! Initialize\n    call plinit\n\n    ! Tell the \"extcairo\" driver where the context is located. This must be\n    ! done AFTER the plstar or plinit call.\n    call pl_cmd(PLESC_DEVINIT, cc(1))\n\n    call plfont(2)   ! Roman font\n    call plot1(0)\n\n    ! Now continue the plot on the other surface\n    call pl_cmd(PLESC_DEVINIT, cc(2))\n\n    call plot1(1)\n\n    call plend\n\n    call hl_gtk_drawing_area_cairo_destroy(cc(1))\n    call hl_gtk_drawing_area_cairo_destroy(cc(2))\n\n  end subroutine plot_04\n\n  subroutine plot1(type)\n    use plplot, PI => PL_PI\n    implicit none\n    integer, parameter :: MAX_NLEGEND = 2\n\n    real(plflt) :: freql(0:100),ampl(0:100),phase(0:100), freq, f0\n    integer          :: i, type\n    integer          :: nlegend\n\n    real(plflt) :: legend_width, legend_height\n    integer          :: opt_array(MAX_NLEGEND), text_colors(MAX_NLEGEND), line_colors(MAX_NLEGEND), &\n         line_styles(MAX_NLEGEND), symbol_colors(MAX_NLEGEND), symbol_numbers(MAX_NLEGEND)\n\n    ! For plplot 5.9.9 or lower the next declarations should be integers\n    ! For 5.9.10 or higher they should be reals\n!    real(plflt) :: symbol_scales(MAX_NLEGEND), box_scales(0)\n!    integer :: line_widths(MAX_NLEGEND), box_line_widths(0)\n    real(plflt) :: symbol_scales(MAX_NLEGEND), box_scales(MAX_NLEGEND)\n\n!    real(plflt) :: line_widths(MAX_NLEGEND), box_line_widths(0)\n!    integer          :: box_colors(0), box_patterns(0)\n\n    real(plflt) :: line_widths(MAX_NLEGEND), box_line_widths(MAX_NLEGEND)\n    integer          :: box_colors(MAX_NLEGEND), box_patterns(MAX_NLEGEND)\n\n    character(len=20):: text(MAX_NLEGEND)\n    character(len=1) :: symbols(MAX_NLEGEND)\n\n    call pladv(0)\n    !      Set up data for log plot.\n    f0 = 1._plflt\n    do i=0,100\n       freql(i)= -2.0_plflt + dble (i)/20.0_plflt\n       freq=10.0_plflt**freql(i)\n       ampl(i)=20.0_plflt*log10(1.0_plflt/sqrt(1.0_plflt+(freq/f0)**2))\n       phase(i)=-(180.0_plflt/PI)*atan(freq/f0)\n    enddo\n    call plvpor(0.15_plflt, 0.85_plflt, 0.1_plflt, 0.9_plflt)\n    call plwind(-2.0_plflt, 3.0_plflt, -80.0_plflt, 0.0_plflt)\n    call plcol0(1)\n    !      Try different axis and labelling styles.\n    if (type == 0) then\n       call plbox('bclnst', 0.0_plflt, 0, 'bnstv', 0.0_plflt, 0)\n    elseif (type == 1) then\n       call plbox('bcfghlnst', 0.0_plflt, 0, 'bcghnstv', 0.0_plflt, 0)\n    else\n       stop 'plot1: invalid type'\n    endif\n    !      Plot ampl vs freq.\n    call plcol0(2)\n    call plline(freql,ampl)\n    call plcol0(2)\n    call plptex(1.6_plflt, -30.0_plflt, 1.0_plflt, -20.0_plflt, 0.5_plflt, &\n         '-20 dB/decade')\n    !      Put labels on.\n    call plcol0(1)\n    call plmtex('b', 3.2_plflt, 0.5_plflt, 0.5_plflt, 'Frequency')\n    call plmtex('t', 2.0_plflt, 0.5_plflt, 0.5_plflt, &\n         'Single Pole Low-Pass Filter')\n    call plcol0(2)\n    call plmtex('l', 5.0_plflt, 0.5_plflt, 0.5_plflt, 'Amplitude (dB)')\n    nlegend = 1\n    !      For the gridless case, put phase vs freq on same plot.\n    if (type == 0) then\n       call plcol0(1)\n       call plwind(-2.0_plflt, 3.0_plflt, -100.0_plflt, 0.0_plflt)\n       call plbox(' ', 0.0_plflt, 0, 'cmstv', 30.0_plflt, 3)\n       call plcol0(3)\n       call plline(freql, phase)\n       call plstring(freql, phase, '*')\n       call plcol0(3)\n       call plmtex('r', 5.0_plflt, 0.5_plflt, 0.5_plflt, &\n            'Phase shift (degrees)')\n       nlegend = 2\n    endif\n\n    !     Draw a legend\n    !     First legend entry.\n    opt_array(1)   = PL_LEGEND_LINE\n    text_colors(1) = 2\n    text(1)        = 'Amplitude'\n    line_colors(1) = 2\n    line_styles(1) = 1\n    ! For plplot 5.9.9 or lower comment out the real assignment,\n    ! for 5.9.10 or higher, comment out the integer assignment.\n!    line_widths(1) = 1\n    line_widths(1) = 1.0_plflt\n    !     note from the above opt_array the first symbol (and box) indices\n    !     do not have to be specified\n\n    !     Second legend entry.\n    opt_array(2)      = PL_LEGEND_LINE + PL_LEGEND_SYMBOL\n    text_colors(2)    = 3\n    text(2)           = 'Phase shift'\n    line_colors(2)    = 3\n    line_styles(2)    = 1\n    ! For plplot 5.9.9 or lower comment out the real assignment,\n    ! for 5.9.10 or higher, comment out the integer assignment.\n!    line_widths(2)    = 1\n    line_widths(2)    = 1.0_plflt\n    symbol_colors(2)  = 3\n    symbol_scales(2)  = 1.0\n    symbol_numbers(2) = 4\n    symbols(2)        = '*'\n\n    !     from the above opt_arrays we can completely ignore everything\n    !     to do with boxes. (Hence the size 0 for the associated arrays)\n    !     (note: use the argument nlegend explicitly)\n\n    call plscol0a( 15, 32, 32, 32, 0.70_plflt )\n    call pllegend( legend_width, legend_height, &\n         PL_LEGEND_BOUNDING_BOX, 0, &\n         0.0_plflt, 0.0_plflt, 0.1_plflt, 15, &\n         1, 1, 0, 0, &\n         opt_array, &\n         1.0_plflt, 1.0_plflt, 2.0_plflt, &\n         1.0_plflt, &           !\n         text_colors, text, &\n         box_colors, box_patterns, box_scales, box_line_widths, &\n         line_colors, line_styles, line_widths, &\n         symbol_colors, symbol_scales, symbol_numbers, symbols )\n  end subroutine plot1\nend module plplot_code_ex4\n\n\nmodule handlers_ex4\n  use common_ex4\n  implicit none\n\ncontains\n\n  subroutine quit_cb(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n    call gtk_window_destroy(window)\n  end subroutine quit_cb\n\n  subroutine activate(app, gdata) bind(c)\n    use plplot_code_ex4\n    use common_ex4\n    use gtk, only: gtk_application_window_new, gtk_window_set_title\n    implicit none\n    type(c_ptr), value, intent(in)  :: app, gdata\n    ! Pointers toward our GTK widgets:\n    type(c_ptr), dimension(2) :: drawing\n    type(c_ptr) :: base, nbook, qbut\n    integer :: pno\n\n    ! Create the window:\n    window = gtk_application_window_new(app)\n    call gtk_window_set_title(window, \"PLplot x04 / gtk-fortran (extcairo)\"//c_null_char)\n\n    base = hl_gtk_box_new()\n    call gtk_window_set_child(window, base)\n\n    nbook = hl_gtk_notebook_new()\n    call hl_gtk_box_pack(base, nbook)\n    drawing(1) = hl_gtk_drawing_area_new(size=[800,600], &\n         & has_alpha=FALSE)\n\n    pno = hl_gtk_notebook_add_page(nbook, drawing(1), &\n         & label=\"Plot 1 (No grid)\"//c_null_char)\n\n    drawing(2) = hl_gtk_drawing_area_new(size=[800,600], &\n         & has_alpha=FALSE)\n\n    pno= hl_gtk_notebook_add_page(nbook, drawing(2), &\n         & label=\"Plot 2 (With grid)\"//c_null_char)\n\n    qbut = hl_gtk_button_new(\"Quit\"//c_null_char, clicked=c_funloc(quit_cb))\n    call hl_gtk_box_pack(base, qbut, expand=FALSE)\n\n    call gtk_widget_show(window)\n\n    call plot_04(drawing)\n  end subroutine activate\nend module handlers_ex4\n\n\nprogram cairo_plplot_ex4\n  use, intrinsic :: iso_c_binding, only: c_ptr, c_funloc, c_null_char\n  use handlers_ex4\n  use gtk_hl_container, only: hl_gtk_application_new\n  implicit none\n  type(c_ptr) :: my_app\n\n  my_app = hl_gtk_application_new(\"gtk-fortran.plplot.hl_plplot4e\"//c_null_char, &\n                             & c_funloc(activate))\nend program cairo_plplot_ex4\n\n"
  },
  {
    "path": "plplot/hl_plplot8e.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2012 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!------------------------------------------------------------------------------\n! Contributed by: James Tappin\n! PLplot code derived from PLplot's example 8 by Alan W. Irwin\n! Last modifications: vmagnin 2020-06-24 (GTK 4), 2020-12-20\n!------------------------------------------------------------------------------\n\nmodule common_ex8\n  use, intrinsic :: iso_c_binding\n  ! Gtk includes\n  use gtk, only: gtk_application_window_new, &\n       & gtk_label_new, gtk_window_set_child, &\n       & gtk_check_button_get_active, gtk_window_destroy, &\n       & gtk_widget_get_allocation, gtk_widget_queue_draw, &\n       & gtk_widget_show, FALSE, g_signal_connect_swapped\n\n  use gtk_hl_container\n  use gtk_hl_button\n  use gtk_hl_spin_slider\n  use gtk_hl_chooser\n  use gtk_draw_hl\n  use gdk_pixbuf_hl\n  use plplot_extra\n\n  implicit none\n  type(c_ptr) :: window, draw, alt_sl, az_sl, fun_but, col_but, &\n       & facet_but, scont_but, bcont_but, qbut\n  integer(c_int) :: disp_type=0, ifun=1\n  real(c_double) :: alt=30._c_double, az=60._c_double\n  integer(c_int) :: width, height\n  type(c_ptr) :: my_app\nend module common_ex8\n\n\nmodule plplot_code_ex8\n  use plplot, PI => PL_PI\n  use common_ex8\n\n  implicit none\n\ncontains\n  subroutine draw_08(area, type, alt, az, rosen)\n    type(c_ptr), intent(in) :: area\n    integer, intent(in) :: type, rosen\n    real(plflt), intent(in) :: alt, az\n    integer i, j, xpts, ypts, xdim, ydim\n    !      xdim is the leading dimension of z, xpts <= xdim is the leading\n    !      dimension of z that is defined.\n    parameter (xdim=99, ydim=100, xpts=35, ypts=46)\n    real(plflt) x(xdim), y(ydim), z(xdim,ypts), xx, yy, r\n\n    character(len=80) :: title\n    character(len=20) :: geometry\n    type(c_ptr) :: cc\n\n    ! needed for use as functions instead of subroutines\n    integer :: plparseopts_rc\n    integer :: plsetopt_rc\n\n    integer nlevel\n    parameter (nlevel = 10)\n    real(plflt) zmin, zmax, step, clevel(nlevel)\n    ! Process command-line arguments\n    plparseopts_rc = plparseopts(PL_PARSE_FULL)\n    if (plparseopts_rc /= 0) stop \"plparseopts error\"\n\n    write(title, \"('#frPLplot Example 8 - Alt=',I3,', Az=',I3)\")&\n         & nint(alt), nint(az)\n\n    do i = 1,xpts\n       x(i) = dble(i-1-(xpts/2))/dble (xpts/2)\n       if (rosen == 1) x(i) = 1.5_plflt*x(i)\n    enddo\n    do j = 1,ypts\n       y(j) = dble(j-1-(ypts/2))/dble (ypts/2)\n       if (rosen == 1) y(j) = y(j) + 0.5_plflt\n    enddo\n\n    do i=1,xpts\n       xx = x(i)\n       do j=1,ypts\n          yy = y(j)\n          if (rosen == 1) then\n             z(i,j) = (1._plflt - xx)**2 + 100._plflt*(yy - xx**2)**2\n             !            The log argument may be zero for just the right grid.\n             if (z(i,j) > 0._plflt) then\n                z(i,j) = log(z(i,j))\n             else\n                z(i,j) = -5._plflt\n             endif\n          else\n             !            sombrero function\n             r = sqrt(xx*xx + yy*yy)\n             z(i,j) = exp(-r*r) * cos(2.0_plflt*PI*r)\n          endif\n       enddo\n    enddo\n    call a2mnmx(z, xpts, ypts, zmin, zmax, xdim)\n    step = (zmax-zmin)/(nlevel+1)\n    do i = 1, nlevel\n       clevel(i) = zmin + step*i\n    enddo\n\n    ! Get a cairo context from the drawing area.\n    cc = hl_gtk_drawing_area_cairo_new(area)\n\n    !  Initialize plplot\n    call plsdev(\"extcairo\")\n\n    ! By default the \"extcairo\" driver does not reset the background\n    ! This is equivalent to the command line option \"-drvopt set_background=1\"\n    plsetopt_rc = plsetopt(\"drvopt\", \"set_background=1\")\n    if (plsetopt_rc /= 0) stop \"plsetopt error\"\n\n    ! The \"extcairo\" device doesn't read the size from the context.\n    write(geometry, \"(I0,'x',I0)\") width, height\n    plsetopt_rc = plsetopt( 'geometry', geometry)\n    if (plsetopt_rc /= 0) stop \"plsetopt error\"\n\n    call plinit\n\n    ! Tell the \"extcairo\" driver where the context is located.\n    call pl_cmd(PLESC_DEVINIT, cc)\n\n    call pllightsource(1._plflt, 1._plflt, 1._plflt)\n\n    call pladv(0)\n    call plclear()\n    call plvpor(0.0_plflt, 1.0_plflt, 0.0_plflt, 0.9_plflt )\n    call plwind(-1.0_plflt, 1.0_plflt, -0.9_plflt, 1.1_plflt )\n    call plcol0(3)\n    call plmtex('t', 1.0_plflt, 0.5_plflt, 0.5_plflt, title)\n    call plcol0(1)\n    if (rosen == 1) then\n       call plw3d(1.0_plflt, 1.0_plflt, 1.0_plflt, -1.5_plflt, &\n            1.5_plflt, -0.5_plflt, 1.5_plflt, zmin, zmax, alt,az)\n    else\n       call plw3d(1.0_plflt, 1.0_plflt, 1.0_plflt, -1.0_plflt, &\n            1.0_plflt, -1.0_plflt, 1.0_plflt, zmin, zmax, alt,az)\n    endif\n    call plbox3('bnstu','x axis', 0.0_plflt, 0, &\n         'bnstu', 'y axis', 0.0_plflt, 0, &\n         'bcdmnstuv','z axis', 0.0_plflt, 0)\n    call plcol0(2)\n\n    if (type == 0) then\n       call cmap1_init(1)\n    else\n       call cmap1_init(0)\n    end if\n\n    if (iand(type, ior(ior(BASE_CONT, SURF_CONT), TOP_CONT)) /= 0) then\n       call plsurf3d(x(:xpts), y(:ypts), z(:xpts,:ypts), &\n            type, clevel)\n    else\n       call plsurf3d(x(:xpts), y(:ypts), z(:xpts,:ypts), &\n            type, clevel(nlevel:1))\n    end if\n    call plend\n\n    call gtk_widget_queue_draw(area)\n    call hl_gtk_drawing_area_cairo_destroy(cc)\n\n  end subroutine draw_08\n\n  !----------------------------------------------------------------------------\n  subroutine cmap1_init(gray)\n    !      For gray == 1, basic grayscale variation from half-dark\n    !      to light.  Otherwise, hue variations around the front of the\n    !      colour wheel from blue to green to red with constant lightness\n    !      and saturation.\n\n    use plplot\n    implicit none\n    integer gray\n    real(plflt) i(0:1), h(0:1), l(0:1), s(0:1)\n    !      left boundary\n    i(0) = 0._plflt\n    !      right boundary\n    i(1) = 1._plflt\n    if (gray == 1) then\n       !        hue -- low: red (arbitrary if s=0)\n       h(0) = 0.0_plflt\n       !        hue -- high: red (arbitrary if s=0)\n       h(1) = 0.0_plflt\n       !        lightness -- low: half-dark\n       l(0) = 0.5_plflt\n       !        lightness -- high: light\n       l(1) = 1.0_plflt\n       !        minimum saturation\n       s(0) = 0.0_plflt\n       !        minimum saturation\n       s(1) = 0.0_plflt\n    else\n       !        This combination of hues ranges from blue to cyan to green to yellow\n       !        to red (front of colour wheel) with constant lightness = 0.6\n       !        and saturation = 0.8.\n\n       !        hue -- low: blue\n       h(0) = 240._plflt\n       !        hue -- high: red\n       h(1) = 0.0_plflt\n       !        lightness -- low:\n       l(0) = 0.6_plflt\n       !        lightness -- high:\n       l(1) = 0.6_plflt\n       !        saturation\n       s(0) = 0.8_plflt\n       !        minimum saturation\n       s(1) = 0.8_plflt\n    endif\n    call plscmap1n(256)\n    call plscmap1l(.false., i, h, l, s)\n  end subroutine cmap1_init\n\n  !----------------------------------------------------------------------------\n  !      Subroutine a2mnmx\n  !      Minimum and the maximum elements of a 2-d array.\n\n  subroutine a2mnmx(f, nx, ny, fmin, fmax, xdim)\n    use plplot\n    implicit none\n\n    integer   i, j, nx, ny, xdim\n    real(plflt)    f(xdim, ny), fmin, fmax\n\n    fmax = f(1, 1)\n    fmin = fmax\n    do j = 1, ny\n       do  i = 1, nx\n          fmax = max(fmax, f(i, j))\n          fmin = min(fmin, f(i, j))\n       enddo\n    enddo\n  end subroutine a2mnmx\nend module plplot_code_ex8\n\n\nmodule handlers_ex8\n  use plplot_code_ex8\n  implicit none\n\ncontains\n\n  ! Callback function for quitting the application:\n  subroutine my_destroy (window, gdata) bind(c)\n    use, intrinsic :: iso_c_binding, only: c_ptr\n    type(c_ptr), value, intent(in) :: window, gdata\n\n    print *, \"my_destroy()\"\n    call gtk_window_destroy(window)\n  end subroutine my_destroy\n\n  subroutine set_azimuth(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n\n    az = real(hl_gtk_slider_get_value(widget), c_double)\n    call draw_08(draw, disp_type, alt, az, ifun)\n  end subroutine set_azimuth\n\n  subroutine set_altitude(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n\n    alt = real(hl_gtk_slider_get_value(widget), c_double)\n    call draw_08(draw, disp_type, alt, az, ifun)\n  end subroutine set_altitude\n\n  subroutine set_rosen(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n\n    ifun = gtk_check_button_get_active(widget)\n    call draw_08(draw, disp_type, alt, az, ifun)\n  end subroutine set_rosen\n\n  subroutine set_colour(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n\n    if (gtk_check_button_get_active(widget) == 1) then\n       disp_type = ior(disp_type, MAG_COLOR)\n    else\n       disp_type = iand(disp_type, not(MAG_COLOR))\n    end if\n    call draw_08(draw, disp_type, alt, az, ifun)\n  end subroutine set_colour\n\n  subroutine set_facet(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n\n    if (gtk_check_button_get_active(widget) == 1) then\n       disp_type = ior(disp_type, FACETED)\n    else\n       disp_type = iand(disp_type, not(FACETED))\n    end if\n    call draw_08(draw, disp_type, alt, az, ifun)\n  end subroutine set_facet\n\n  subroutine set_scont(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n\n    if (gtk_check_button_get_active(widget) == 1) then\n       disp_type = ior(disp_type, SURF_CONT)\n    else\n       disp_type = iand(disp_type, not(SURF_CONT))\n    end if\n    call draw_08(draw, disp_type, alt, az, ifun)\n  end subroutine set_scont\n\n  subroutine set_bcont(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n\n    if (gtk_check_button_get_active(widget) == 1) then\n       disp_type = ior(disp_type, BASE_CONT)\n    else\n       disp_type = iand(disp_type, not(BASE_CONT))\n    end if\n    call draw_08(draw, disp_type, alt, az, ifun)\n  end subroutine set_bcont\n\n  subroutine resize_area(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n\n    type(gtkallocation), target:: alloc\n\n    call gtk_widget_get_allocation(draw,c_loc(alloc))\n    call hl_gtk_drawing_area_resize(draw)\n    print *, \"resize\", alloc%width, alloc%height\n    width=alloc%width\n    height=alloc%height\n\n    call draw_08(draw, disp_type, alt, az, ifun)\n  end subroutine resize_area\n\n  subroutine dump_screen(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n    type(c_ptr) :: pixb\n    character(len=120), dimension(:), allocatable :: files\n    character(len=120) :: the_file\n    integer(c_int) :: ipick\n\n     ipick = hl_gtk_file_chooser_show(files, create=TRUE, current=TRUE, &\n         & title=\"Output image file\"//c_null_char, &\n         & filter=['image/png ', 'image/jpeg', 'image/tiff'], &\n         & parent=window)\n\n    if (c_f_logical(ipick)) then\n       the_file = files(1)\n       print *, \"File: \", the_file\n       pixb = hl_gtk_drawing_area_get_gdk_pixbuf(draw)\n       call hl_gdk_pixbuf_save(pixb, file=the_file)\n    end if\n  end subroutine dump_screen\n\n\n  subroutine activate(app, gdata) bind(c)\n    type(c_ptr), value, intent(in)  :: app, gdata\n    ! Pointers toward our GTK widgets:\n    type(c_ptr) :: base, btable, junk\n\n    ! Create the window:\n    window = gtk_application_window_new(app)\n\n    height = 600\n    width = 600  ! Must be a multiple of 4\n\n    base = hl_gtk_box_new()\n    call gtk_window_set_child(window, base)\n\n    ! The drawing area for the plot\n    draw = hl_gtk_drawing_area_new(size=[width, height], &\n         & has_alpha = FALSE, size_allocate=c_funloc(resize_area))\n    call hl_gtk_box_pack(base, draw)\n\n    ! Put the direction settings in a table.\n    btable=hl_gtk_table_new(2,2, homogeneous=FALSE)\n    call hl_gtk_box_pack(base, btable, expand=FALSE)\n\n    junk=gtk_label_new(\"Azimuth:\"//c_null_char)\n    call hl_gtk_table_attach(btable, junk, 0, 0, xopts=0, yopts=0)\n    az_sl = hl_gtk_slider_new(0, 360, initial_value=int(az), &\n         & value_changed=c_funloc(set_azimuth))\n    call hl_gtk_table_attach(btable, az_sl, 1, 0, yopts=0)\n\n    ! N.B. Elevation <0 doesn't seem to work.\n    junk=gtk_label_new(\"Elevation:\"//c_null_char)\n    call hl_gtk_table_attach(btable, junk, 0, 1, xopts=0, yopts=0)\n    alt_sl = hl_gtk_slider_new(0, 90, initial_value=int(alt), &\n         & value_changed=c_funloc(set_altitude))\n    call hl_gtk_table_attach(btable, alt_sl, 1, 1, yopts=0)\n\n    ! And another table for the selectors\n    btable=hl_gtk_table_new(homogeneous=TRUE)\n    call hl_gtk_box_pack(base, btable, expand=FALSE)\n\n    fun_but = hl_gtk_check_button_new(\"Rosen\"//c_null_char, &\n         & toggled=c_funloc(set_rosen), initial_state=ifun)\n    call hl_gtk_table_attach(btable, fun_but, 0, 0, yopts=0, xopts=0)\n\n    col_but=hl_gtk_check_button_new(\"Colour level\"//c_null_char, &\n         & toggled=c_funloc(set_colour))\n    call hl_gtk_table_attach(btable,col_but, 1, 0, yopts=0, xopts=0)\n\n    facet_but=hl_gtk_check_button_new(\"Facets\"//c_null_char, &\n         & toggled=c_funloc(set_facet))\n    call hl_gtk_table_attach(btable,facet_but, 2, 0, yopts=0, xopts=0)\n\n    scont_but=hl_gtk_check_button_new(\"Surface contours\"//c_null_char, &\n         & toggled=c_funloc(set_scont))\n    call hl_gtk_table_attach(btable, scont_but, 0, 1, yopts=0, xopts=0)\n\n    bcont_but=hl_gtk_check_button_new(\"Base contours\"//c_null_char, &\n         & toggled=c_funloc(set_bcont))\n    call hl_gtk_table_attach(btable, bcont_but, 1, 1, yopts=0, xopts=0)\n\n    junk = hl_gtk_button_new(\"Dump\"//c_new_line//\"Screen\"//c_null_char, &\n         & clicked=c_funloc(dump_screen))\n    call hl_gtk_table_attach(btable, junk, 3, 0, yopts=0, &\n         & xopts=0, yspan=2)\n\n    qbut=hl_gtk_button_new(\"Quit\"//c_null_char)\n    call g_signal_connect_swapped(qbut, \"clicked\"//c_null_char, &\n                                & c_funloc(my_destroy), window)\n\n    call hl_gtk_box_pack(base, qbut, expand=FALSE)\n\n    call gtk_widget_show(window)\n\n    call draw_08(draw, disp_type, alt, az, ifun)\n  end subroutine activate\nend module handlers_ex8\n\n\nprogram cairo_plplot_ex8\n  use, intrinsic :: iso_c_binding, only: c_ptr, c_funloc, c_null_char, c_null_ptr\n  use handlers_ex8\n  implicit none\n\n  my_app = hl_gtk_application_new(\"gtk-fortran.plplot.hl_plplot8e\"//c_null_char, &\n                             & c_funloc(activate))\nend program cairo_plplot_ex8\n\n"
  },
  {
    "path": "screenshots/README.md",
    "content": "# Examples screenshots\n\nIn this directory, you will find screenshots of the gtk-fortran examples, obtained with various operating systems.\n"
  },
  {
    "path": "sketcher/CMakeLists.txt",
    "content": "# This file is part of gtk-fortran, a GTK / Fortran interface library.\n# Copyright (C) 2011 The gtk-fortran team\n#\n# This is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 3, or (at your option)\n# any later version.\n#\n# This software is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# Under Section 7 of GPL version 3, you are granted additional\n# permissions described in the GCC Runtime Library Exception, version\n# 3.1, as published by the Free Software Foundation.\n#\n# You should have received a copy of the GNU General Public License along with\n# this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n# If not, see <http://www.gnu.org/licenses/>.\n#=============================================================================\n# Contributed by James Tappin 05/20/2011\n# Last modifications: Jens Hunger: 03/07/2013, vmagnin 2025-06-17\n#\n# CMAKE build file for gtkf-sketcher\n\ninclude_directories(\"${CMAKE_CURRENT_BINARY_DIR}/../src/modules\")\n\n# configure_file() copies and renames a file and substitutes @VAR@ or ${VAR}\n# https://cmake.org/cmake/help/latest/command/configure_file.html\nset(GTKF_PROG_PREFIX \"${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}/${gtk_V_fortran}\")\nconfigure_file(gtkf-sketcher.f90 gtkf-sketcher.out.f90)\n\nadd_executable(gtkf-sketcher \"gtkf-sketcher.out.f90\")\ntarget_link_libraries(gtkf-sketcher gtk-fortran_static ${GTK_LIBRARIES})\n# No test as the glade stuff is too sensitive to location\n\n#==========================================\n# Copy other files needed by gtkf-sketcher\n#==========================================\nconfigure_file(gtkf-sketcher.glade gtkf-sketcher.glade COPYONLY)\nconfigure_file(example.glade example.glade COPYONLY)\nconfigure_file(default.options default.options COPYONLY)\n# Copy the directory 'data' (configure_file() works only with files):\nfile(COPY data DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )\n\nconfigure_file(${CMAKE_CURRENT_SOURCE_DIR}/../src/usemodules.py ${CMAKE_CURRENT_BINARY_DIR}/example/usemodules.py COPYONLY)\nconfigure_file(${CMAKE_CURRENT_SOURCE_DIR}/../src/tools.py ${CMAKE_CURRENT_BINARY_DIR}/example/tools.py COPYONLY)\nconfigure_file(${CMAKE_CURRENT_SOURCE_DIR}/../src/gtk-fortran-index.csv ${CMAKE_CURRENT_BINARY_DIR}/example/gtk-fortran-index.csv COPYONLY)\n"
  },
  {
    "path": "sketcher/README.md",
    "content": "# gtkf-sketcher\n\nA gtk-fortran Code Sketcher using UI XML definitions. It will automatically generate gtk-fortran code to accelerate your development.\n\nThis directory contains:\n- `gtkf-sketcher.f90`\n- `gtkf-sketcher.glade`: the UI XML definitions for `gtkf-sketcher.f90`\n- `example.glade`: a UI XML file you can use as an example to test gtkf-sketcher.\n- `default.options`: the options used in `gtkf-sketcher.f90`.\n- `data`: this directory contains the text licenses proposed by the sketcher.\n"
  },
  {
    "path": "sketcher/data/apache2.0.lic",
    "content": "Apache License v2.0\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n   http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License."
  },
  {
    "path": "sketcher/data/bsd.lic",
    "content": "BSD License\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n* Redistributions of source code must retain the above copyright\n  notice, this list of conditions and the following disclaimer.\n* Redistributions in binary form must reproduce the above\n  copyright notice, this list of conditions and the following disclaimer\n  in the documentation and/or other materials provided with the\n  distribution.\n* Neither the name of the author nor the names of its\n  contributors may be used to endorse or promote products derived from\n  this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
  },
  {
    "path": "sketcher/data/freeware.lic",
    "content": "Freeware\nThis program is FREEWARE. The author takes no responsibility for any\r\ndamage or loss of data that may occur by installing/using this\r\nsoftware. As FREEWARE, The author offers no liability to provide\r\nmaintenance of the software or technical support. You are allowed\r\nto share this software in its original state but are not allowed to\r\nmake money on it.\n"
  },
  {
    "path": "sketcher/data/gnu-gpl-v2.lic",
    "content": "GNU General Public License v2\nThis program is free software; you can redistribute it and/or modify\r\nit under the terms of the GNU General Public License as published by\r\nthe Free Software Foundation; either version 2 of the License, or\r\n(at your option) any later version.\r\n\r\nThis program is distributed in the hope that it will be useful,\r\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\r\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\nGNU General Public License for more details.\r\n\r\nYou should have received a copy of the GNU General Public License along\r\nwith this program; if not, write to the Free Software Foundation, Inc.,\r\n51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n"
  },
  {
    "path": "sketcher/data/gnu-gpl-v3.lic",
    "content": "GNU General Public License v3\nThis program is free software: you can redistribute it and/or modify it under\r\nthe terms of the GNU General Public License as published by the Free Software\r\nFoundation, either version 3 of the License, or (at your option) any later\r\nversion.\r\n\r\nThis program is distributed in the hope that it will be useful, but WITHOUT\r\nANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r\nFOR A PARTICULAR PURPOSE.  See the GNU General Public License for more\r\ndetails.\r\n\r\nYou should have received a copy of the GNU General Public License along with\r\nthis program.  If not, see <http://www.gnu.org/licenses/>.\n"
  },
  {
    "path": "sketcher/data/gnu-lgpl-v2.1.lic",
    "content": "GNU Lesser General Public License v2.1\nThis program is free software; you can redistribute it and/or\nmodify it under the terms of the GNU Lesser General Public\nLicense as published by the Free Software Foundation; either\nversion 2.1 of the License, or (at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\nLesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public\nLicense along with this library; if not, write to the Free Software\nFoundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA\n"
  },
  {
    "path": "sketcher/data/gnu-lgpl-v2.lic",
    "content": "GNU Library General Public License v2\nThis library is free software; you can redistribute it and/or\nmodify it under the terms of the GNU Library General Public\nLicense as published by the Free Software Foundation; either\nversion 2 of the License, or (at your option) any later version.\n\nThis library is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\nLibrary General Public License for more details.\n\nYou should have received a copy of the GNU Library General Public\nLicense along with this library; if not, write to the Free Software\nFoundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA  02110-1301 USA"
  },
  {
    "path": "sketcher/data/zlib.lic",
    "content": "Zlib License\nThis software is provided 'as-is', without any express or implied\nwarranty.  In no event will the authors be held liable for any damages\narising from the use of this software.\n\nPermission is granted to anyone to use this software for any purpose,\nincluding commercial applications, and to alter it and redistribute it\nfreely, subject to the following restrictions:\n\n1. The origin of this software must not be misrepresented; you must not\n   claim that you wrote the original software. If you use this software\n   in a product, an acknowledgment in the product documentation would be\n   appreciated but is not required.\n2. Altered source versions must be plainly marked as such, and must not be\n   misrepresented as being the original software.\n3. This notice may not be removed or altered from any source distribution.\n"
  },
  {
    "path": "sketcher/default.options",
    "content": "TTFTTTTF\n 4\n"
  },
  {
    "path": "sketcher/example.glade",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<interface>\n  <requires lib=\"gtk\" version=\"4.0\"/>\n  <object class=\"GtkWindow\" id=\"window\">\n    <property name=\"title\" translatable=\"yes\">My title</property>\n    <signal name=\"close-request\" handler=\"destroy\" swapped=\"no\"/>\n    <property name=\"child\">\n      <object class=\"GtkBox\" id=\"box1\">\n        <child>\n          <object class=\"GtkButton\" id=\"button1\">\n            <property name=\"hexpand\">1</property>\n            <property name=\"label\" translatable=\"yes\">Button1</property>\n            <property name=\"receives_default\">1</property>\n            <signal name=\"clicked\" handler=\"hello\" swapped=\"no\"/>\n          </object>\n        </child>\n        <child>\n          <object class=\"GtkButton\" id=\"button2\">\n            <property name=\"hexpand\">1</property>\n            <property name=\"label\" translatable=\"yes\">Button2</property>\n            <property name=\"receives_default\">1</property>\n            <signal name=\"clicked\" handler=\"button2clicked\" swapped=\"no\"/>\n          </object>\n        </child>\n        <child>\n          <object class=\"GtkButton\" id=\"button3\">\n            <property name=\"hexpand\">1</property>\n            <property name=\"label\" translatable=\"yes\">Exit</property>\n            <property name=\"receives_default\">1</property>\n            <signal name=\"clicked\" handler=\"destroy\" swapped=\"no\"/>\n          </object>\n        </child>\n      </object>\n    </property>\n  </object>\n</interface>\n"
  },
  {
    "path": "sketcher/gtkf-sketcher.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2011 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!------------------------------------------------------------------------------\n! GTK Fortran Code Sketcher using UI definitions\n! Contributed by Jens Hunger\n! Last modifications: Harris Snyder 2020-07-11\n! vmagnin 2020-10-16, 2025-05-25\n\nmodule widgets\n  ! declares the used GTK widgets\n  use, intrinsic :: iso_c_binding\n\n  implicit none\n  type(c_ptr) :: window\n  type(c_ptr) :: builder\n  type(c_ptr) :: textbuffer\n  type(c_ptr) :: license_selector\n  type(c_ptr) :: appwindow_selector\n  type(c_ptr) :: toplevel_widgets\n  type(c_ptr) :: create_subdir_button\n  type(c_ptr) :: create_handlerfiles_button\n  type(c_ptr) :: overwrite_handlerfiles_button\n  type(c_ptr) :: widget_symbols_button\n  type(c_ptr) :: update_used_functions_button\n  type(c_ptr) :: use_hl_gtk_button\n  type(c_ptr) :: include_files_button\n  type(c_ptr) :: widgetshandlers_button\n  type(c_ptr) :: about_dialog\n  type(c_ptr) :: my_gmainloop\n\n  character(len=256,kind=c_char)::filename\n  character(len=256,kind=c_char)::working_dir, base_dir\n  character(len=65000,kind=c_char)::fileinfo\n  logical::files_written=.false.\n  logical::file_loaded=.false.\n\n! options\n  logical::create_subdir=.true.\n  logical::create_handlerfiles=.true.\n  logical::overwrite_handlerfiles=.false.\n  logical::widget_symbols=.false.\n  logical::update_used_functions=.false.\n  logical::use_hl_gtk=.true.\n  logical::include_files=.true.\n  logical::widgetshandlers=.false.\nend module\n\n\nmodule connect\n  use widgets\n\n  use gtk, only: gtk_builder_add_from_file, gtk_builder_get_object, &\n  & gtk_builder_new, gtk_widget_show, gtk_widget_hide, &\n  & FALSE, c_null_char, c_null_ptr, TRUE, gtk_init, gtk_builder_get_objects, &\n  & gtk_buildable_get_buildable_id, gtk_text_buffer_set_text,&\n  & gtk_combo_box_get_active, gtk_combo_box_set_active, &\n  & gtk_combo_box_get_model, gtk_widget_get_root, &\n  & gtk_tree_model_get_value, gtk_tree_model_iter_nth_child,&\n  & gtk_check_button_get_active, gtk_check_button_set_active,GTK_BUTTONS_OK,&\n  & gtk_list_store_append, gtk_list_store_set_value, gtk_list_store_clear,&\n  & gtk_window_destroy, g_signal_connect_swapped, g_signal_connect\n\n  use g, only: g_object_unref, g_slist_length, g_slist_nth_data, &\n  & g_value_get_string, g_slist_free, g_chdir, &\n  & g_mkdir_with_parents, g_value_init, &\n  & g_value_set_string, g_value_unset, &\n  & g_main_loop_new, g_main_loop_run, g_main_loop_quit\n\n  use gtk_hl, only: hl_gtk_file_chooser_show, hl_gtk_message_dialog_show\n\n  use gtk_sup, only: gtktreeiter, gvalue, G_TYPE_STRING, c_f_logical, &\n  & f_c_logical, fmt_date, copy_file, C_F_string_chars, C_F_string_ptr\n\n  implicit none\n\n  type signal_connection\n    character(len=64)::object_name\n    character(len=64)::signal_name\n    character(len=64)::handler_name\n  end type signal_connection\n\n  integer::n_connections\n  type(signal_connection), dimension(:), allocatable::connections\n  type(c_ptr) :: gslist !list containing the widgets\n\n  contains\n\n! FIXME: In GTK 3, those two callback functions were used with gtk_builder_connect_signals_full()\n! to obtain informations about signals defined in the UI file.\n! In GTK 4, gtk_builder_connect_signals_full() is gone. We have not yet found a solution\n! to replace it.\n  subroutine count_connections (builder, object, signal_name, handler_name, connect_object, flags, user_data) bind(c)\n    use, intrinsic :: iso_c_binding, only: c_ptr, c_char, c_int\n    type(c_ptr), value                     :: builder        !a GtkBuilder\n    type(c_ptr), value                     :: object         !object to connect a signal to\n    character(kind=c_char), dimension(*)   :: signal_name    !name of the signal\n    character(kind=c_char), dimension(*)   :: handler_name   !name of the handler\n    type(c_ptr), value                     :: connect_object !a GObject, if non-NULL, use g_signal_connect_object()\n    integer(c_int), value                  :: flags          !GConnectFlags to use\n    type(c_ptr), value                     :: user_data      !user data\n\n    n_connections=n_connections+1\n  end subroutine count_connections\n\n  subroutine get_connections (builder, object, signal_name, handler_name, connect_object, flags, user_data) bind(c)\n    use, intrinsic :: iso_c_binding, only: c_ptr, c_char, c_int\n    type(c_ptr), value                     :: builder        !a GtkBuilder\n    type(c_ptr), value                     :: object         !object to connect a signal to\n    character(kind=c_char), dimension(*)   :: signal_name    !name of the signal\n    character(kind=c_char), dimension(*)   :: handler_name   !name of the handler\n    type(c_ptr), value                     :: connect_object !a GObject, if non-NULL, use g_signal_connect_object()\n    integer(c_int), value                  :: flags          !GConnectFlags to use\n    type(c_ptr), value                     :: user_data      !user data\n\n    character(len=64)                      :: sname\n    character(len=64)                      :: hname\n    type(c_ptr)                            :: object_name_ptr\n    character(len=64)                      :: oname\n\n    call C_F_string_chars(signal_name, sname)\n    call C_F_string_chars(handler_name, hname)\n    object_name_ptr=gtk_buildable_get_buildable_id (object)\n    if (.not. C_associated(object_name_ptr)) then\n      oname=\"unknown\"\n    else\n      call C_F_string_ptr(object_name_ptr, oname)\n    endif\n    fileinfo=fileinfo(1:len_trim(fileinfo))//c_new_line//\"object: \"//trim(adjustl(oname))//\"  signal: \"//&\n       trim(adjustl(sname))//\"  handler: \"//trim(adjustl(hname))\n    n_connections=n_connections+1\n    connections(n_connections)%object_name=oname\n    connections(n_connections)%signal_name=sname\n    connections(n_connections)%handler_name=hname\n  end subroutine get_connections\nend module connect\n\n\nmodule handlers\n  use connect\n\n  implicit none\n  integer :: log_unit\n\ncontains\n\n  subroutine destroy (widget, gdata) bind(c)\n    use, intrinsic :: iso_c_binding, only: c_ptr\n    !GCC$ ATTRIBUTES DLLEXPORT :: destroy\n    type(c_ptr), value :: widget, gdata\n    logical::lopened\n\n    if (allocated(connections)) deallocate(connections)\n\n    ! Closes the gtkf-sketcher.log file if necessary:\n    inquire(unit=log_unit,opened=lopened)\n    if (lopened) close(log_unit)\n\n    call g_slist_free(gslist)\n\n    print *, \"my destroy\"\n    call g_main_loop_quit (my_gmainloop)\n  end subroutine destroy\n\n\n  subroutine create_subdir_toggled (widget, gdata) bind(c)\n    use, intrinsic :: iso_c_binding, only: c_ptr\n    !GCC$ ATTRIBUTES DLLEXPORT :: create_subdir_toggled\n    type(c_ptr), value :: widget, gdata\n    create_subdir=c_f_logical(gtk_check_button_get_active(create_subdir_button))\n    write(*,*)\"subdir creation = \",create_subdir\n  end subroutine create_subdir_toggled\n\n\n  subroutine create_handlerfiles_toggled (widget, gdata) bind(c)\n    use, intrinsic :: iso_c_binding, only: c_ptr\n    !GCC$ ATTRIBUTES DLLEXPORT :: create_handlerfiles_toggled\n    type(c_ptr), value :: widget, gdata\n    create_handlerfiles=c_f_logical(gtk_check_button_get_active(create_handlerfiles_button))\n    write(*,*)\"handlerfiles creation = \",create_handlerfiles\n  end subroutine create_handlerfiles_toggled\n\n\n  subroutine overwrite_handlerfiles_toggled (widget, gdata) bind(c)\n    use, intrinsic :: iso_c_binding, only: c_ptr\n    !GCC$ ATTRIBUTES DLLEXPORT :: overwrite_handlerfiles_toggled\n    type(c_ptr), value :: widget, gdata\n    overwrite_handlerfiles=c_f_logical(gtk_check_button_get_active(overwrite_handlerfiles_button))\n    write(*,*)\"handlerfiles overwrite = \",overwrite_handlerfiles\n  end subroutine overwrite_handlerfiles_toggled\n\n\n  subroutine widget_symbols_toggled (widget, gdata) bind(c)\n    use, intrinsic :: iso_c_binding, only: c_ptr\n    !GCC$ ATTRIBUTES DLLEXPORT :: widget_symbols_toggled\n    type(c_ptr), value :: widget, gdata\n    widget_symbols=c_f_logical(gtk_check_button_get_active(widget_symbols_button))\n    write(*,*)\"symbols for all widgets = \",widget_symbols\n  end subroutine widget_symbols_toggled\n\n\n  subroutine update_used_functions_toggled (widget, gdata) bind(c)\n    use, intrinsic :: iso_c_binding, only: c_ptr\n    !GCC$ ATTRIBUTES DLLEXPORT :: update_used_functions_toggled\n    type(c_ptr), value :: widget, gdata\n    update_used_functions=c_f_logical(gtk_check_button_get_active(update_used_functions_button))\n    write(*,*)\"update used functions = \",update_used_functions\n  end subroutine update_used_functions_toggled\n\n\n  subroutine use_hl_gtk_toggled (widget, gdata) bind(c)\n    use, intrinsic :: iso_c_binding, only: c_ptr\n    !GCC$ ATTRIBUTES DLLEXPORT :: use_hl_gtk_toggled\n    type(c_ptr), value :: widget, gdata\n    use_hl_gtk=c_f_logical(gtk_check_button_get_active(use_hl_gtk_button))\n    write(*,*)\"use high level interface = \",use_hl_gtk\n  end subroutine use_hl_gtk_toggled\n\n\n  subroutine include_files_toggled (widget, gdata) bind(c)\n    use, intrinsic :: iso_c_binding, only: c_ptr\n    !GCC$ ATTRIBUTES DLLEXPORT :: include_files_toggled\n    type(c_ptr), value :: widget, gdata\n    include_files=c_f_logical(gtk_check_button_get_active(include_files_button))\n    write(*,*)\"generate include files = \",include_files\n  end subroutine include_files_toggled\n\n\n  subroutine widgetshandlers_toggled (widget, gdata) bind(c)\n    use, intrinsic :: iso_c_binding, only: c_ptr\n    !GCC$ ATTRIBUTES DLLEXPORT :: widgetshandlers_toggled\n    type(c_ptr), value :: widget, gdata\n    widgetshandlers=c_f_logical(gtk_check_button_get_active(widgetshandlers_button))\n    write(*,*)\"generate separate files for widgets and handlers = \",widgetshandlers\n  end subroutine widgetshandlers_toggled\n\n\n  subroutine file_open (widget, gdata ) bind(c)\n    use, intrinsic :: iso_c_binding, only: c_ptr, c_int\n    use gtk_sup, only: is_UNIX_OS\n    !GCC$ ATTRIBUTES DLLEXPORT :: file_open\n    type(c_ptr), value :: widget, gdata\n\n    integer(c_int) :: isel\n    character(len=120), dimension(:), allocatable :: chfile\n    character(len=30), dimension(2) :: filters\n    character(len=30), dimension(2) :: filtnames\n\n    integer(c_int) :: guint, i\n    type(c_ptr) :: error = c_null_ptr\n    type(c_ptr) :: gpointer,object_name_ptr, root\n    type(c_ptr) :: b\n    character(len=128) :: f_string, last_root\n    type(c_ptr) :: val\n    type(gtktreeiter), target :: iter\n    type(gvalue), target :: value\n\n    filters(1) = \"*.glade\"\n    filtnames(1) = \"Glade UI file\"\n    filters(2) = \"*.ui\"\n    filtnames(2) = \"UI file\"\n\n    isel = hl_gtk_file_chooser_show(chfile, cdir=working_dir, create=FALSE,&\n         & title=\"Select input file\"//c_null_char, filter=filters, &\n         & filter_name=filtnames, wsize=[ 600_c_int, 400_c_int ], edit_filters=TRUE, &\n         & parent=window)\n    if (.not. is_UNIX_OS()) then\n        do i = 1, len(working_dir)\n            if( working_dir(i:i)==\"\\\" ) working_dir(i:i)=\"/\"\n        end do\n    end if\n\n    if (isel == FALSE) return   ! No selection made\n\n    filename = chfile(1)\n    deallocate(chfile)\n\n    if (.not. is_UNIX_OS()) then\n        do i = 1, len(filename)\n            if( filename(i:i)==\"\\\" ) filename(i:i)=\"/\"\n        end do\n    end if\n\n    files_written=.false.\n\n    val = c_loc(value)\n    val = g_value_init(val, G_TYPE_STRING)\n    call gtk_list_store_clear(toplevel_widgets)\n\n    ! Will contain the text to show in the gtk_text_buffer:\n    fileinfo=filename(1:len_trim(filename))\n\n    b = gtk_builder_new ()\n    guint = gtk_builder_add_from_file (b, filename(1:len_trim(filename))//c_null_char, error)\n\n    ! We count and print the list of objects found in the UI file:\n    gslist = gtk_builder_get_objects(b)\n    write(f_string,*) g_slist_length(gslist),\" objects found\"\n    fileinfo=fileinfo(1:len_trim(fileinfo))//c_new_line//f_string\n    last_root=\"\"\n    do i=0, g_slist_length(gslist)-1\n      gpointer=g_slist_nth_data (gslist,i)\n      object_name_ptr=gtk_buildable_get_buildable_id (gpointer)\n      call C_F_string_ptr(object_name_ptr, f_string)\n      fileinfo=fileinfo(1:len_trim(fileinfo))//c_new_line//f_string\n      ! We add the names of the toplevel widgets in a list:\n      root =  gtk_buildable_get_buildable_id(gtk_widget_get_root(gpointer))\n      call C_F_string_ptr(root, f_string)\n      if ((f_string /= last_root).and.(f_string /= \"\")) then\n        call gtk_list_store_append (toplevel_widgets,c_loc(iter))\n        call g_value_set_string(val, f_string(1:len_trim(f_string))//c_null_char)\n        call gtk_list_store_set_value (toplevel_widgets,c_loc(iter),0_c_int,val)\n      end if\n      if (f_string /= \"\") last_root = f_string\n    enddo\n\n    n_connections=0\n    ! FIXME: here, we need to count connections for the allocation of the connections array\n    ! But in GTK 4, gtk_builder_connect_signals_full() is gone.\n    write(f_string,*) n_connections,\" signal connections found\"\n    fileinfo=fileinfo(1:len_trim(fileinfo))//c_new_line//f_string\n    ! Need to be unreferenced because b will be used a second time:\n    call g_object_unref (b)\n\n    ! Necessary if file_open() is called several times:\n    if (allocated(connections)) deallocate(connections)\n\n    allocate(connections(n_connections))\n\n    ! Connections will be recounted as they are put into the connections array:\n    n_connections=0\n\n    b = gtk_builder_new ()\n    guint = gtk_builder_add_from_file (b, filename(1:len_trim(filename))//c_null_char, error)\n    ! FIXME: here, we must get connections.\n    ! But in GTK 4, gtk_builder_connect_signals_full() is gone.\n    fileinfo=fileinfo(1:len_trim(fileinfo))//c_new_line//\"The GTK 4 version of gtkf-sketcher&\n                     & can not detect signals in the UI file,\"//c_new_line//\" for the moment!\"\n    call g_object_unref (b)\n\n    ! All the infos are printed in the GtkTextBuffer:\n    call gtk_text_buffer_set_text (textbuffer, fileinfo(1:len_trim(fileinfo))//c_null_char, -1_c_int)\n\n    call gtk_combo_box_set_active(appwindow_selector,0_c_int)\n    call g_value_unset(val)\n\n    file_loaded=.true.\n  end subroutine file_open\n\n\n  subroutine combobox_get_active_string_value(combobox,column,text)\n    type(c_ptr)       :: combobox\n    integer(c_int)    :: column\n    character(len=256,kind=c_char)::text\n\n    type(c_ptr):: model, val, textptr\n    type(gtktreeiter), target :: iter\n    integer(c_int) :: valid\n    type(gvalue), target :: value\n\n    model = gtk_combo_box_get_model(combobox)\n    valid = gtk_tree_model_iter_nth_child(model, c_loc(iter), c_null_ptr, gtk_combo_box_get_active (combobox))\n    val = c_loc(value)\n    call gtk_tree_model_get_value(model, c_loc(iter), column, val)\n    textptr = g_value_get_string(val)\n    call C_F_string_ptr(textptr, text)\n  end subroutine combobox_get_active_string_value\n\n\n  subroutine write_files (widget, gdata ) bind(c)\n    use, intrinsic :: iso_c_binding, only: c_ptr, c_int\n    !GCC$ ATTRIBUTES DLLEXPORT :: write_files\n    type(c_ptr), value :: widget, gdata\n    integer(c_int) :: valid\n    character(len=256,kind=c_char)::subdir, license_file, line, &\n         & handlerfile, appwindow\n    integer::status_read, wunit, hunit, shellout_err\n    integer(c_int)::i,j\n    logical::already_used, lexist\n    type(c_ptr) :: gpointer,object_name_ptr\n    character(len=128) :: f_string, f_string_ori\n    ! The text between \"at signs\" will be repplaced by CMake before compiling:\n    character(len=*), parameter :: gtkf_prog_prefix= &\n    &\"@GTKF_PROG_PREFIX@\"\n\n    if (.not.file_loaded) then\n      status_read=hl_gtk_message_dialog_show([\"Please load some UI file first!\"],&\n        & GTK_BUTTONS_OK, title=\"No UI file loaded yet\"//c_null_char, &\n        & parent=window)\n      return\n    else\n      print *, \"1) Working dir: \", TRIM(ADJUSTL(working_dir))\n      valid = g_chdir(TRIM(ADJUSTL(working_dir))//c_null_char)\n      if (valid /= 0) print *, \"1) g_chdir() problem <= \", valid\n\n      subdir=filename(index(filename,\"/\",.true.)+1:index(filename,\".\",.true.)-1)\n      if (create_subdir) then\n        if (g_mkdir_with_parents (subdir(1:len_trim(subdir))//c_null_char,488_c_int) >= 0) then\n          working_dir=working_dir(1:len_trim(working_dir))//\"/\"//subdir\n\n          print *, \"2) Working dir: \", TRIM(ADJUSTL(working_dir))\n          valid = g_chdir(TRIM(ADJUSTL(working_dir))//c_null_char)\n          if (valid /= 0) print *, \"2) g_chdir() problem <= \", valid\n\n          call copy_file(filename(1:len_trim(filename)),filename(index(filename,\"/\",.true.)+1:len_trim(filename)))\n        else\n          print *,\"Unable to create subdirectory \"//subdir\n        endif\n      endif\n\n      print *, \"Generating the .f90 files...\"\n      call combobox_get_active_string_value(license_selector, 1_c_int, license_file)\n      license_file=adjustl(license_file)\n\n      open(50, file=subdir(1:len_trim(subdir))//\".f90\", action='write')\n      open(60, file=base_dir(1:len_trim(base_dir))//\"/data/\"//license_file(1:len_trim(license_file)), action='read')\n      if (widgetshandlers) then\n        wunit=80\n        open(wunit, file=subdir(1:len_trim(subdir))//\"_widgets.f90\", action='write')\n        write(wunit,'(A)')\"! \"//subdir(1:len_trim(subdir))//\" widget module generated by gtkf-sketcher, \"//fmt_date()\n        write(wunit,'(A)')\"!\"\n        write(wunit,'(A)')\"! gtkf-sketcher is part of the gtk-fortran GTK Fortran Interface Library.\"\n        write(wunit,'(A)')\"!\"\n        write(wunit,'(A)')\"!\"\n        rewind(60)\n        do\n          read(60,'(A)',iostat=status_read) line\n          if ( status_read /= 0 ) exit\n          write(wunit,'(A)')\"! \"//line(1:len_trim(line))\n        enddo\n        hunit=90\n        open(hunit, file=subdir(1:len_trim(subdir))//\"_handlers.f90\", action='write')\n        write(hunit,'(A)')\"! \"//subdir(1:len_trim(subdir))//\" handler module generated by gtkf-sketcher, \"//fmt_date()\n        write(hunit,'(A)')\"!\"\n        write(hunit,'(A)')\"! gtkf-sketcher is part of the gtk-fortran GTK Fortran Interface Library.\"\n        write(hunit,'(A)')\"!\"\n        write(hunit,'(A)')\"!\"\n        rewind(60)\n        do\n          read(60,'(A)',iostat=status_read) line\n          if ( status_read /= 0 ) exit\n          write(hunit,'(A)')\"! \"//line(1:len_trim(line))\n        enddo\n      else\n        wunit=50\n        hunit=50\n      endif\n\n      write(50,'(A)')\"! \"//subdir(1:len_trim(subdir))//\" main program generated by gtkf-sketcher, \"//fmt_date()\n      write(50,'(A)')\"!\"\n      write(50,'(A)')\"! gtkf-sketcher is part of the gtk-fortran GTK Fortran Interface Library.\"\n      write(50,'(A)')\"!\"\n      write(50,'(A)')\"!\"\n      rewind(60)\n      do\n        read(60,'(A)',iostat=status_read) line\n        if ( status_read /= 0 ) exit\n        write(50,'(A)')\"! \"//line(1:len_trim(line))\n      enddo\n      close(60)\n\n      write(50,'(A)')\"!\"\n      write(50,'(A)')\"!\"\n      write(50,'(A)')\"! Compile with:\"\n      write(50,'(A)')\"! $ gfortran \"//&\n        subdir(1:len_trim(subdir))//\".f90 -o \"//subdir(1:len_trim(subdir))//&\n        \" $(pkg-config --cflags --libs gtk-4-fortran)\"\n      write(50,'(A)')\"! With some systems, you may also need to export the PKG_CONFIG_PATH, for example in Fedora:\"\n      write(50,'(A)')\"! $ export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig/\"\n      write(50,'(A)')\"!\"\n\n      write(wunit,'(A)')\"\"\n      write(wunit,'(A)')\"module widgets\"\n      write(wunit,'(A)')\"! declares the used GTK widgets\"\n      write(wunit,'(A)')\"  use, intrinsic :: iso_c_binding\"\n      write(wunit,'(A)')\"  implicit none\"\n      write(wunit,'(A)')\"\"\n      if (widget_symbols) then\n        do i=0, g_slist_length(gslist)-1\n          gpointer=g_slist_nth_data (gslist,i)\n          object_name_ptr=gtk_buildable_get_buildable_id (gpointer)\n          call C_F_string_ptr(object_name_ptr, F_string)\n          if (len_trim(f_string) > 0) then\n            do\n              j=index(f_string,\"-\")\n              if (j > 0) then\n                f_string(j:j)=\"_\"\n              else\n                exit\n              endif\n            enddo\n            write(wunit,'(A)')\"  type(c_ptr) :: \"//f_string(1:len_trim(f_string))\n          endif\n        enddo\n      else\n        write(wunit,'(A)')\"  type(c_ptr) :: window\"\n      endif\n      write(wunit,'(A)')\"  type(c_ptr) :: builder\"\n      write(wunit,'(A)')\"\"\n      write(wunit,'(A)')\"end module\"\n      write(wunit,'(A)')\"\"\n\n      write(hunit,'(A)')\"\"\n      write(hunit,'(A)')\"module handlers\"\n      write(hunit,'(A)')\"  use gtk, only: gtk_builder_add_from_file, &\"\n      write(hunit,'(A)')\"  & gtk_builder_get_object, gtk_builder_new, &\"\n      write(hunit,'(A)')\"  & gtk_widget_show, FALSE, c_null_char, c_null_ptr, gtk_init\"\n      write(hunit,'(A)')\"  use g, only: g_object_unref, g_main_loop_new, g_main_loop_run, g_main_loop_quit\"\n\n      if (update_used_functions) then\n\n        write(*,*)working_dir\n\n        call execute_command_line(\"python3 usemodules.py .\", exitstat=shellout_err)\n        if(shellout_err /= 0) then\n            write(*,*) \"usemodules.py failed or not found, trying \"//gtkf_prog_prefix//\"-pymodscan\"\n            call execute_command_line(\"python3 \"//gtkf_prog_prefix//\"-pymodscan .\", exitstat=shellout_err)\n            if(shellout_err /= 0) then\n                write(*,*) gtkf_prog_prefix//\"-pymodscan failed or not found, aborting\"\n                stop\n            end if\n        end if\n\n        open (40, file=\"usemodules.txt\", action='read')\n        do\n          read(40,'(A)',iostat=status_read) line\n          if ( status_read /= 0 ) exit\n          if (index(line,\"handler\") > 0) then\n            read(40,'(A)',iostat=status_read) line\n            do\n              read(40,'(A)',iostat=status_read) line\n              if ((status_read /= 0).or.(len_trim(line) == 0)) exit\n              write(hunit,'(A)')\"  \"//line(1:len_trim(line))\n            enddo\n          endif\n        enddo\n        close (40)\n\n        print *, \"4) Working dir: \", TRIM(ADJUSTL(working_dir))\n        valid = g_chdir(TRIM(ADJUSTL(working_dir))//c_null_char)\n        if (valid /= 0) print *, \"4) g_chdir() problem <= \", valid\n      endif\n\n      if (use_hl_gtk) then\n        write(hunit,'(A)')\"  use gtk_hl\"\n      endif\n\n      if (include_files) then\n        inquire(file=subdir(1:len_trim(subdir))//\"_used_modules.inc\",exist=lexist)\n        if ((.not.lexist).or.(overwrite_handlerfiles)) then\n          open(70,file=subdir(1:len_trim(subdir))//\"_used_modules.inc\",action='write')\n          write(70,'(A)')\"! Additionally used modules for \"//subdir(1:len_trim(subdir))\n          write(70,'(A)')\"!########## INSERT YOUR USE STATEMENTS HERE ##########\"\n          write(70,'(A)')\"\"\n          write(70,'(A)')\"!#####################################################\"\n          close(70)\n        endif\n        write(hunit,'(A)')\"  include \"\"\"//subdir(1:len_trim(subdir))//\"_used_modules.inc\"\"\"\n      endif\n\n      write(hunit,'(A)')\"  use widgets\"\n      write(hunit,'(A)')\"  implicit none\"\n      write(hunit,'(A)')\"  type(c_ptr) :: my_gmainloop\"\n      write(hunit,'(A)')\"\"\n\n      if (include_files) then\n        inquire(file=subdir(1:len_trim(subdir))//\"_global_variables.inc\",exist=lexist)\n        if ((.not.lexist).or.(overwrite_handlerfiles)) then\n          open(70,file=subdir(1:len_trim(subdir))//\"_global_variables.inc\",action='write')\n          write(70,'(A)')\"! Global variables for \"//subdir(1:len_trim(subdir))\n          write(70,'(A)')\"!########## INSERT YOUR DECLARATIONS HERE ##########\"\n          write(70,'(A)')\"\"\n          write(70,'(A)')\"!###################################################\"\n          close(70)\n        endif\n        write(hunit,'(A)')\"  include \"\"\"//subdir(1:len_trim(subdir))//\"_global_variables.inc\"\"\"\n      endif\n\n      write(hunit,'(A)')\"\"\n      write(hunit,'(A)')\"contains\"\n      write(hunit,'(A)')\"  !*************************************\"\n      write(hunit,'(A)')\"  ! User defined event handlers go here\"\n      write(hunit,'(A)')\"  !*************************************\"\n\n      do i=1,n_connections\n        already_used=.false.\n        if (i > 1) then\n          do j=1,i-1\n            if (connections(i)%handler_name == connections(j)%handler_name) then\n              already_used=.true.\n              exit\n            endif\n          enddo\n        endif\n        if (.not.already_used) then\n          write(hunit,'(A)')\"! handler function for signal \"//connections(i)%signal_name(1:len_trim(connections(i)%signal_name))//&\n            \" (\"//connections(i)%object_name(1:len_trim(connections(i)%object_name))//\")\"\n          if (index(connections(i)%signal_name,\"event\") > 0) then\n            write(hunit,'(A)')\"  function \"//connections(i)%handler_name(1:len_trim(connections(i)%handler_name))//&\n              \" (widget, event, gdata) result(ret) bind(c)\"\n            write(hunit,'(A)')\"    use, intrinsic :: iso_c_binding, only: c_ptr, c_int\"\n            write(hunit,'(A)')\"    !GCC$ ATTRIBUTES DLLEXPORT :: \"//&\n              connections(i)%handler_name(1:len_trim(connections(i)%handler_name))\n            write(hunit,'(A)')\"    integer(c_int)     :: ret\"\n            write(hunit,'(A)')\"    type(c_ptr), value :: widget, event, gdata\"\n          else\n            write(hunit,'(A)')\"  function \"//connections(i)%handler_name(1:len_trim(connections(i)%handler_name))//&\n              \" (widget, gdata) result(ret) bind(c)\"\n            write(hunit,'(A)')\"    use, intrinsic :: iso_c_binding, only: c_ptr, c_int\"\n            write(hunit,'(A)')\"    !GCC$ ATTRIBUTES DLLEXPORT :: \"//&\n              connections(i)%handler_name(1:len_trim(connections(i)%handler_name))\n            write(hunit,'(A)')\"    integer(c_int)     :: ret\"\n            write(hunit,'(A)')\"    type(c_ptr), value :: widget, gdata\"\n          endif\n          if (create_handlerfiles) then\n            handlerfile=\"handler_\"//connections(i)%handler_name(1:len_trim(connections(i)%handler_name))//\".f90\"\n            write(hunit,'(A)')\"!########## INSERT YOUR HANDLER CODE IN FILE \"//handlerfile(1:len_trim(handlerfile))//\" ##########\"\n            write(hunit,'(A)')\"    INCLUDE '\"//handlerfile(1:len_trim(handlerfile))//\"'\"\n            inquire(file=handlerfile,exist=lexist)\n            if ((.not.lexist).or.(overwrite_handlerfiles)) then\n              open(70,file=handlerfile,action='write')\n              write(70,'(A)')\"! handler for signal \"//connections(i)%signal_name(1:len_trim(connections(i)%signal_name))//&\n                \" (\"//connections(i)%object_name(1:len_trim(connections(i)%object_name))//\")\"\n              write(70,'(A)')\"!########## INSERT YOUR HANDLER CODE HERE ##########\"\n              write(70,'(A)')\"print*,\"\"handler function: \"//connections(i)%handler_name(1:len_trim(connections(i)%handler_name))//&\n                \"\"\"\"\n              write(70,'(A)')\"!###################################################\"\n              close(70)\n            endif\n          else\n            write(hunit,'(A)')\"!########## INSERT YOUR HANDLER CODE HERE ##########\"\n            write(hunit,'(A)')\"print*,\"\"handler function: \"//connections(i)%handler_name(1:len_trim(connections(i)%handler_name))//&\n              \"\"\"\"\n            write(hunit,'(A)')\"!###################################################\"\n          endif\n          write(hunit,'(A)')\"    ret = FALSE\"\n          write(hunit,'(A)')\"  end function \"//connections(i)%handler_name(1:len_trim(connections(i)%handler_name))\n          write(hunit,'(A)')\"\"\n        endif\n      enddo\n      write(hunit,'(A)')\"end module handlers\"\n      write(hunit,'(A)')\"\"\n\n      write(50,'(A)')\"\"\n      write(50,'(A)')\"program \"//subdir(1:len_trim(subdir))\n      write(50,'(A)')\"\"\n      write(50,'(A)')\"  use handlers\"\n      write(50,'(A)')\"\"\n      write(50,'(A)')\"  implicit none\"\n      write(50,'(A)')\"\"\n      write(50,'(A)')\"  integer(c_int) :: guint\"\n      write(50,'(A)')\"  type(c_ptr) :: error\"\n      write(50,'(A)')\"  error = c_null_ptr\"\n      write(50,'(A)')\"\"\n      write(50,'(A)')\"  ! Initialize the GTK Library\"\n      write(50,'(A)')\"  call gtk_init ()\"\n      write(50,'(A)')\"\"\n      write(50,'(A)')\"  ! create a new GtkBuilder object\"\n      write(50,'(A)')\"  builder = gtk_builder_new ()\"\n      write(50,'(A)')\"\"\n      write(50,'(A)')\"  ! parse the UI XML file 'gtkbuilder.glade' and add it's contents to the GtkBuilder object\"\n      write(50,'(A)')\"  guint = gtk_builder_add_from_file (builder, \"\"\"//subdir(1:len_trim(subdir))//\".glade\"\"//c_null_char, error)\"\n      write(50,'(A)')\"\"\n      call combobox_get_active_string_value(appwindow_selector, 0_c_int, appwindow)\n      if (widget_symbols) then\n        write(50,'(A)')\"  ! get pointers to all GObjects from GtkBuilder\"\n        do i=0, g_slist_length(gslist)-1\n          gpointer=g_slist_nth_data (gslist,i)\n          object_name_ptr=gtk_buildable_get_buildable_id (gpointer)\n          call C_F_string_ptr(object_name_ptr, F_string)\n          if (len_trim(f_string) > 0) then\n            f_string_ori=f_string\n            do\n              j=index(f_string,\"-\")\n              if (j > 0) then\n                f_string(j:j)=\"_\"\n              else\n                exit\n              endif\n            enddo\n            write(50,'(A)')\"  \"//f_string(1:len_trim(f_string))//\"&\"\n            write(50,'(A)')\"    = gtk_builder_get_object (builder, \"\"\"//f_string_ori(1:len_trim(f_string_ori))//\"\"\"//c_null_char)\"\n          endif\n        enddo\n      else\n        write(50,'(A)')\"  ! get a pointer to the application window \"\"\"//appwindow(1:len_trim(appwindow))//&\n          \"\"\" from GtkBuilder\"\n        write(50,'(A)')\"  \"//appwindow(1:len_trim(appwindow))//\" = gtk_builder_get_object (builder, \"\"\"//&\n          appwindow(1:len_trim(appwindow))//\"\"\"//c_null_char)\"\n      endif\n      write(50,'(A)')\"\"\n      write(50,'(A)')\"  ! use GModule to look at the applications symbol table to find the function name\"\n      write(50,'(A)')\"  ! that matches the handler name specified in the UI file\"\n      write(50,'(A)')\"\"\n      write(50,'(A)')\"  ! free all memory used by XML stuff\"\n      write(50,'(A)')\"  call g_object_unref (builder)\"\n      write(50,'(A)')\"\"\n      write(50,'(A)')\"  ! show the application window\"\n      write(50,'(A)')\"  call gtk_widget_show (\"//appwindow(1:len_trim(appwindow))//\")\"\n      write(50,'(A)')\"\"\n      write(50,'(A)')\"  ! enter the GTK main loop\"\n      write(50,'(A)')\"  my_gmainloop = g_main_loop_new(c_null_ptr, FALSE)\"\n      write(50,'(A)')\"  call g_main_loop_run(my_gmainloop)\"\n      write(50,'(A)')\"\"\n      write(50,'(A)')\"end program \"//subdir(1:len_trim(subdir))\n      close(50)\n      if (widgetshandlers) then\n        close(wunit)\n        close(hunit)\n      endif\n\n      files_written=.true.\n    endif\n  end subroutine write_files\n\n\n  subroutine save_default_options (widget, gdata ) bind(c)\n    use, intrinsic :: iso_c_binding, only: c_ptr, c_int\n    !GCC$ ATTRIBUTES DLLEXPORT :: save_default_options\n    type(c_ptr), value :: widget, gdata\n    character(len=20)::defaultsfile=\"default.options\"\n\n    open(111,file=base_dir(1:len_trim(base_dir))//\"/\"//defaultsfile, action='write')\n    write(111,'(8L1)')create_subdir,create_handlerfiles,overwrite_handlerfiles,widget_symbols,update_used_functions,&\n      use_hl_gtk,include_files,widgetshandlers\n    write(111,'(I2)')gtk_combo_box_get_active(license_selector)\n    close(111)\n  end subroutine save_default_options\n\n\n  subroutine load_default_options\n    character(len=20)::defaultsfile=\"default.options\"\n    integer(c_int) ::license_no\n\n    open(111,file=base_dir(1:len_trim(base_dir))//\"/\"//defaultsfile, action='read')\n    read(111,'(8L1)')create_subdir,create_handlerfiles,overwrite_handlerfiles,widget_symbols,update_used_functions,&\n      use_hl_gtk,include_files,widgetshandlers\n    read(111,'(I2)')license_no\n    call gtk_combo_box_set_active(license_selector,license_no)\n    close(111)\n  end subroutine load_default_options\n\n\n  subroutine default_options (widget, gdata ) bind(c)\n    use, intrinsic :: iso_c_binding, only: c_ptr, c_int\n    use gtk_sup, only: is_UNIX_OS\n    !GCC$ ATTRIBUTES DLLEXPORT :: default_options\n    type(c_ptr), value :: widget, gdata\n    integer :: i\n\n    call get_environment_variable(\"PWD\", working_dir)\n    if (.not. is_UNIX_OS()) then\n        do i = 1, len(working_dir)\n            if( working_dir(i:i)==\"\\\" ) working_dir(i:i)=\"/\"\n        end do\n    end if\n    print *, \"PWD: \", TRIM(ADJUSTL(working_dir))\n\n    call load_default_options\n    call gtk_check_button_set_active (create_subdir_button, f_c_logical(create_subdir))\n    call gtk_check_button_set_active (create_handlerfiles_button, f_c_logical(create_handlerfiles))\n    call gtk_check_button_set_active (overwrite_handlerfiles_button, f_c_logical(overwrite_handlerfiles))\n    call gtk_check_button_set_active (widget_symbols_button, f_c_logical(widget_symbols))\n    call gtk_check_button_set_active (update_used_functions_button, f_c_logical(update_used_functions))\n    call gtk_check_button_set_active (use_hl_gtk_button, f_c_logical(use_hl_gtk))\n    call gtk_check_button_set_active (include_files_button, f_c_logical(include_files))\n    call gtk_check_button_set_active (widgetshandlers_button, f_c_logical(widgetshandlers))\n  end subroutine default_options\n\n\n  subroutine show_about_dialog (widget, gdata) bind(c)\n    use, intrinsic :: iso_c_binding, only: c_ptr\n    !GCC$ ATTRIBUTES DLLEXPORT :: show_about_dialog\n    type(c_ptr), value :: widget, gdata\n\n    call gtk_widget_show(about_dialog)\n    call g_signal_connect(about_dialog, \"close-request\"//c_null_char, &\n                                    & c_funloc(gtk_widget_hide))\n  end subroutine show_about_dialog\nend module handlers\n\n\nprogram gtkfsketcher\n  use handlers\n\n  implicit none\n  integer(c_int) :: guint\n  type(c_ptr) :: error\n  error = c_null_ptr\n\n  call get_environment_variable(\"PWD\", base_dir)\n  open(newunit=log_unit, file=\"gtkf-sketcher.log\", action='write')\n\n  ! Initialize the GTK Library\n  call gtk_init ()\n\n  ! create a new GtkBuilder object\n  builder = gtk_builder_new ()\n\n  ! parse the UI XML file 'gtkbuilder.glade' and add it's contents to the GtkBuilder object\n  guint = gtk_builder_add_from_file (builder, \"gtkf-sketcher.glade\"//c_null_char, error)\n  if (guint == 0) then\n     print *, \"Could not open gtkf-sketcher.glade\"\n     stop\n  end if\n\n  ! get a pointer to the GObject \"window\" from GtkBuilder\n  window = gtk_builder_get_object (builder, \"window\"//c_null_char)\n\n  ! get a pointer to the file info text field buffer\n  textbuffer = gtk_builder_get_object (builder, \"fileinfo_buffer\"//c_null_char)\n\n  ! get a pointer to the selection combo boxes\n  license_selector = gtk_builder_get_object (builder, \"license\"//c_null_char)\n  appwindow_selector = gtk_builder_get_object (builder, \"appwindow\"//c_null_char)\n  toplevel_widgets = gtk_builder_get_object (builder, \"toplevel_widgets\"//c_null_char)\n\n  ! get pointers to the option check buttons\n  create_subdir_button = gtk_builder_get_object (builder, \"create_subdir\"//c_null_char)\n  create_handlerfiles_button = gtk_builder_get_object (builder, \"create_handlerfiles\"//c_null_char)\n  overwrite_handlerfiles_button = gtk_builder_get_object (builder, \"overwrite_handlerfiles\"//c_null_char)\n  widget_symbols_button = gtk_builder_get_object (builder, \"widget_symbols\"//c_null_char)\n  update_used_functions_button = gtk_builder_get_object (builder, \"update_used_functions\"//c_null_char)\n  use_hl_gtk_button = gtk_builder_get_object (builder, \"use_hl_gtk\"//c_null_char)\n  include_files_button = gtk_builder_get_object (builder, \"include_files\"//c_null_char)\n  widgetshandlers_button = gtk_builder_get_object (builder, \"widgetshandlers\"//c_null_char)\n\n  ! get pointers to the about dialog\n  about_dialog = gtk_builder_get_object (builder, \"about\"//c_null_char)\n\n  ! get default options\n  call default_options (builder, error)\n\n  ! free all memory used by XML stuff\n  call g_object_unref (builder)\n\n  ! Show the Application Window\n  call gtk_widget_show (window)\n\n  ! Enter the GTK Main Loop\n  my_gmainloop = g_main_loop_new(c_null_ptr, FALSE)\n  call g_main_loop_run(my_gmainloop)\nend program gtkfsketcher\n\n"
  },
  {
    "path": "sketcher/gtkf-sketcher.glade",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<interface>\n  <requires lib=\"gtk\" version=\"4.0\"/>\n  <object class=\"GtkTextBuffer\" id=\"fileinfo_buffer\">\n    <property name=\"text\" translatable=\"yes\">No UI file loaded yet.</property>\n  </object>\n  <object class=\"GtkListStore\" id=\"licenses\">\n    <columns>\n      <column type=\"gchararray\"/>\n      <column type=\"gchararray\"/>\n    </columns>\n    <data>\n      <row>\n        <col id=\"0\" translatable=\"yes\">Apache License v2.0</col>\n        <col id=\"1\" translatable=\"yes\">apache2.0.lic</col>\n      </row>\n      <row>\n        <col id=\"0\" translatable=\"yes\">BSD License</col>\n        <col id=\"1\" translatable=\"yes\">bsd.lic</col>\n      </row>\n      <row>\n        <col id=\"0\" translatable=\"yes\">Freeware</col>\n        <col id=\"1\" translatable=\"yes\">freeware.lic</col>\n      </row>\n      <row>\n        <col id=\"0\" translatable=\"yes\">GNU General Public License v2</col>\n        <col id=\"1\" translatable=\"yes\">gnu-gpl-v2.lic</col>\n      </row>\n      <row>\n        <col id=\"0\" translatable=\"yes\">GNU General Public License v3</col>\n        <col id=\"1\" translatable=\"yes\">gnu-gpl-v3.lic</col>\n      </row>\n      <row>\n        <col id=\"0\" translatable=\"yes\">GNU Lesser General Public License v2.1</col>\n        <col id=\"1\" translatable=\"yes\">gnu-lgpl-v2.1.lic</col>\n      </row>\n      <row>\n        <col id=\"0\" translatable=\"yes\">GNU Library General Public License v2</col>\n        <col id=\"1\" translatable=\"yes\">gnu-lgpl-v2.lic</col>\n      </row>\n      <row>\n        <col id=\"0\" translatable=\"yes\">Zlib License</col>\n        <col id=\"1\" translatable=\"yes\">zlib.lic</col>\n      </row>\n    </data>\n  </object>\n  <object class=\"GtkTreeStore\" id=\"licenses_treestore\">\n    <columns>\n      <column type=\"gchararray\"/>\n      <column type=\"gchararray\"/>\n    </columns>\n  </object>\n  <object class=\"GtkListStore\" id=\"toplevel_widgets\">\n    <columns>\n      <column type=\"gchararray\"/>\n    </columns>\n  </object>\n  <object class=\"GtkApplicationWindow\" id=\"window\">\n    <property name=\"title\" translatable=\"yes\">GTK Fortran Code Sketcher</property>\n    <property name=\"icon_name\">text-x-script</property>\n    <signal name=\"destroy\" handler=\"destroy\" swapped=\"no\"/>\n    <child>\n      <object class=\"GtkBox\" id=\"box1\">\n        <property name=\"orientation\">vertical</property>\n        <child>\n          <object class=\"GtkBox\" id=\"box_menu\">\n            <property name=\"orientation\">horizontal</property>\n            <property name=\"spacing\">20</property>\n            <child>\n              <object class=\"GtkButton\" id=\"open_button\">\n                <property name=\"label\" translatable=\"yes\">Open file</property>\n                <property name=\"receives_default\">1</property>\n                <signal name=\"clicked\" handler=\"file_open\" swapped=\"no\"/>\n              </object>\n            </child>\n            <child>\n              <object class=\"GtkButton\" id=\"about_button\">\n                <property name=\"label\" translatable=\"yes\">About</property>\n                <property name=\"receives_default\">1</property>\n                <signal name=\"clicked\" handler=\"show_about_dialog\" swapped=\"no\"/>\n              </object>\n            </child>\n          </object>\n        </child>\n        <child>\n          <object class=\"GtkNotebook\" id=\"notebook1\">\n            <child>\n              <object class=\"GtkNotebookPage\">\n                <property name=\"child\">\n                  <object class=\"GtkBox\" id=\"box2\">\n                    <property name=\"orientation\">vertical</property>\n                    <child>\n                      <object class=\"GtkScrolledWindow\" id=\"scrolledwindow2\">\n                        <property name=\"vexpand\">1</property>\n                        <property name=\"child\">\n                          <object class=\"GtkTextView\" id=\"textview1\">\n                            <property name=\"width_request\">350</property>\n                            <property name=\"height_request\">250</property>\n                            <property name=\"left_margin\">2</property>\n                            <property name=\"right_margin\">2</property>\n                            <property name=\"buffer\">fileinfo_buffer</property>\n                          </object>\n                        </property>\n                      </object>\n                    </child>\n                  </object>\n                </property>\n                <property name=\"tab\">\n                  <object class=\"GtkLabel\" id=\"file_info\">\n                    <property name=\"label\" translatable=\"yes\">File Info</property>\n                  </object>\n                </property>\n              </object>\n            </child>\n            <child>\n              <object class=\"GtkNotebookPage\">\n                <property name=\"child\">\n                  <object class=\"GtkBox\" id=\"box3\">\n                    <property name=\"orientation\">vertical</property>\n                    <child>\n                      <object class=\"GtkCheckButton\" id=\"create_subdir\">\n                        <property name=\"label\" translatable=\"yes\">Create subdirectory</property>\n                        <property name=\"active\">1</property>\n                        <signal name=\"toggled\" handler=\"create_subdir_toggled\" swapped=\"no\"/>\n                      </object>\n                    </child>\n                    <child>\n                      <object class=\"GtkCheckButton\" id=\"create_handlerfiles\">\n                        <property name=\"label\" translatable=\"yes\">Create file for each handler function</property>\n                        <property name=\"active\">1</property>\n                        <signal name=\"toggled\" handler=\"create_handlerfiles_toggled\" swapped=\"no\"/>\n                      </object>\n                    </child>\n                    <child>\n                      <object class=\"GtkCheckButton\" id=\"overwrite_handlerfiles\">\n                        <property name=\"label\" translatable=\"yes\">Overwrite existing handler files</property>\n                        <signal name=\"toggled\" handler=\"overwrite_handlerfiles_toggled\" swapped=\"no\"/>\n                      </object>\n                    </child>\n                    <child>\n                      <object class=\"GtkCheckButton\" id=\"update_used_functions\">\n                        <property name=\"label\" translatable=\"yes\">Update used GTK functions in USE statements</property>\n                        <property name=\"active\">1</property>\n                        <signal name=\"toggled\" handler=\"update_used_functions_toggled\" swapped=\"no\"/>\n                      </object>\n                    </child>\n                    <child>\n                      <object class=\"GtkCheckButton\" id=\"use_hl_gtk\">\n                        <property name=\"label\" translatable=\"yes\">Insert USE statement for GTK Fortran high level interface</property>\n                        <signal name=\"toggled\" handler=\"use_hl_gtk_toggled\" swapped=\"no\"/>\n                      </object>\n                    </child>\n                    <child>\n                      <object class=\"GtkCheckButton\" id=\"include_files\">\n                        <property name=\"label\" translatable=\"yes\">Generate include files for additionally used modules and global variables</property>\n                        <property name=\"active\">1</property>\n                        <signal name=\"toggled\" handler=\"include_files_toggled\" swapped=\"no\"/>\n                      </object>\n                    </child>\n                    <child>\n                      <object class=\"GtkCheckButton\" id=\"widget_symbols\">\n                        <property name=\"label\" translatable=\"yes\">Create Fortran symbols for all widgets</property>\n                        <signal name=\"toggled\" handler=\"widget_symbols_toggled\" swapped=\"no\"/>\n                      </object>\n                    </child>\n                    <child>\n                      <object class=\"GtkCheckButton\" id=\"widgetshandlers\">\n                        <property name=\"label\" translatable=\"yes\">Generate separate files for widgets and handlers</property>\n                        <signal name=\"toggled\" handler=\"widgetshandlers_toggled\" swapped=\"no\"/>\n                      </object>\n                    </child>\n                    <child>\n                      <object class=\"GtkBox\" id=\"hbox2\">\n                        <child>\n                          <object class=\"GtkLabel\" id=\"label_appwindow\">\n                            <property name=\"label\" translatable=\"yes\">Application window</property>\n                          </object>\n                        </child>\n                        <child>\n                          <object class=\"GtkComboBox\" id=\"appwindow\">\n                            <property name=\"hexpand\">1</property>\n                            <property name=\"model\">toplevel_widgets</property>\n                            <property name=\"has_entry\">1</property>\n                            <property name=\"entry_text_column\">0</property>\n                            <property name=\"id_column\">0</property>\n                          </object>\n                        </child>\n                      </object>\n                    </child>\n                    <child>\n                      <object class=\"GtkBox\" id=\"hbox1\">\n                        <child>\n                          <object class=\"GtkLabel\" id=\"label_license\">\n                            <property name=\"label\" translatable=\"yes\">License</property>\n                          </object>\n                        </child>\n                        <child>\n                          <object class=\"GtkComboBox\" id=\"license\">\n                            <property name=\"hexpand\">1</property>\n                            <property name=\"model\">licenses</property>\n                            <property name=\"has_entry\">1</property>\n                            <property name=\"entry_text_column\">0</property>\n                            <property name=\"id_column\">0</property>\n                            <property name=\"active_id\">GNU General Public License v3</property>\n                          </object>\n                        </child>\n                      </object>\n                    </child>\n                    <child>\n                      <object class=\"GtkBox\" id=\"buttonbox1\">\n                        <property name=\"orientation\">horizontal</property>\n                        <property name=\"spacing\">20</property>\n                        <child>\n                          <object class=\"GtkButton\" id=\"load_defaults\">\n                            <property name=\"label\" translatable=\"yes\">Load defaults</property>\n                            <property name=\"receives_default\">1</property>\n                            <signal name=\"clicked\" handler=\"default_options\" swapped=\"no\"/>\n                          </object>\n                        </child>\n                        <child>\n                          <object class=\"GtkButton\" id=\"save_as_defaults\">\n                            <property name=\"label\" translatable=\"yes\">Save as defaults</property>\n                            <property name=\"receives_default\">1</property>\n                            <signal name=\"clicked\" handler=\"save_default_options\" swapped=\"no\"/>\n                          </object>\n                        </child>\n                      </object>\n                    </child>\n                  </object>\n                </property>\n                <property name=\"tab\">\n                  <object class=\"GtkLabel\" id=\"options\">\n                    <property name=\"label\" translatable=\"yes\">Options</property>\n                  </object>\n                </property>\n              </object>\n            </child>\n            <child>\n              <object class=\"GtkNotebookPage\">\n                <property name=\"child\">\n                  <object class=\"GtkBox\" id=\"box4\">\n                    <property name=\"orientation\">vertical</property>\n                    <child>\n                      <object class=\"GtkButton\" id=\"button_write\">\n                        <property name=\"label\" translatable=\"yes\">Write Files</property>\n                        <property name=\"receives_default\">1</property>\n                        <signal name=\"clicked\" handler=\"write_files\" swapped=\"no\"/>\n                      </object>\n                    </child>\n                  </object>\n                </property>\n                <property name=\"tab\">\n                  <object class=\"GtkLabel\" id=\"output\">\n                    <property name=\"label\" translatable=\"yes\">Output</property>\n                  </object>\n                </property>\n              </object>\n            </child>\n          </object>\n        </child>\n        <child>\n          <object class=\"GtkStatusbar\" id=\"statusbar1\">\n          </object>\n        </child>\n      </object>\n    </child>\n  </object>\n  <object class=\"GtkAboutDialog\" id=\"about\">\n    <property name=\"transient_for\">window</property>\n    <property name=\"program_name\">gtkf-sketcher</property>\n    <property name=\"authors\">Jens Hunger (main author), James Tappin, Vincent Magnin, Harris Snyder</property>\n    <property name=\"version\">GTK 4</property>\n    <property name=\"comments\" translatable=\"yes\">GTK Fortran Code Sketcher</property>\n    <property name=\"logo_icon_name\">text-x-script</property>\n    <property name=\"license_type\">gpl-3-0</property>\n  </object>\n</interface>\n"
  },
  {
    "path": "src/CMakeLists.txt",
    "content": "# This file is part of gtk-fortran, a GTK / Fortran interface library.\n# Copyright (C) 2011 The gtk-fortran team\n#\n# This is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 3, or (at your option)\n# any later version.\n#\n# This software is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# Under Section 7 of GPL version 3, you are granted additional\n# permissions described in the GCC Runtime Library Exception, version\n# 3.1, as published by the Free Software Foundation.\n#\n# You should have received a copy of the GNU General Public License along with\n# this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n# If not, see <http://www.gnu.org/licenses/>.\n#=============================================================================\n# Contributed by Kyle Horne: 05.11.2011\n# Last modifications: Jens Hunger: 03/06/2013, ArmstrongJ: 07/04/2016,\n#   vmagnin: 2021-05-13, 2022-10-05\n#\n# CMAKE build file for gtk-fortran\n\n#=================================================\n# Fortran files composing the gtk-fortran library:\n#=================================================\n\n# Main files (gtk.f90 includes gtk-auto.* and gtkenums-auto.* files):\nset(sources\n    \"cairo-auto.f90\"\n    \"gdk-auto.f90\"\n    \"gdk-pixbuf-auto.f90\"\n    \"glib-auto.f90\"\n    \"gtk.f90\"\n    \"gtk-sup.f90\"\n    \"pango-auto.f90\"\n    \"gdkevents-auto.f90\"\n    \"gsk-auto.f90\"\n    \"graphene-auto.f90\"\n    \"api_compatibility.f90\"\n)\n\nif(NOT NO_BUILD_HL)\n    set(sources ${sources}\n        \"gtk-hl.f90\"\n        \"gtk-hl-container.f90\"\n        \"gtk-hl-button.f90\"\n        \"gtk-hl-entry.f90\"\n        \"gtk-hl-tree.f90\"\n        \"gtk-hl-combobox.f90\"\n        \"gtk-hl-spin-slider.f90\"\n        \"gtk-hl-chooser.f90\"\n        \"gtk-hl-dialog.f90\"\n        \"gtk-hl-progress.f90\"\n        \"gtk-hl-infobar.f90\"\n        \"gtk-hl-assistant.f90\"\n        \"gtk-hl-misc.f90\"\n        \"gtk-draw-hl.f90\"\n        \"gdk-pixbuf-hl.f90\"\n    )\nendif(NOT NO_BUILD_HL)\n\n#======================================================\n# Defining the static and shared gtk-fortran libraries:\n#======================================================\nadd_library(gtk-fortran_object OBJECT ${sources})\n# To build position independent shared libraries:\nset_property(TARGET gtk-fortran_object PROPERTY POSITION_INDEPENDENT_CODE TRUE)\n\nadd_library(gtk-fortran_static STATIC $<TARGET_OBJECTS:gtk-fortran_object>)\nadd_library(gtk-fortran_shared SHARED $<TARGET_OBJECTS:gtk-fortran_object>)\ntarget_link_libraries(gtk-fortran_shared ${GTK_LIBRARIES})\n\nset_target_properties(gtk-fortran_static gtk-fortran_shared PROPERTIES\n  OUTPUT_NAME ${gtk_V_fortran}\n  VERSION ${SEMANTIC_VERSION})\n\nset_target_properties(gtk-fortran_object PROPERTIES\n  Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/modules/ )\n\n#======================================================\n# The gtk-?-fortran command\n# @VAR@ are susbtituted using configure_file()\n#======================================================\nconfigure_file(gtk-fortran.f90 gtk-fortran.out.f90)\nadd_executable(${gtk_V_fortran} \"gtk-fortran.out.f90\")\ntarget_link_libraries(${gtk_V_fortran} gtk-fortran_static ${GTK_LIBRARIES})\nset_target_properties(${gtk_V_fortran} PROPERTIES\n  Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/modules/ )\nadd_test(${gtk_V_fortran} ./${gtk_V_fortran})\n\n#==========================\n# Copy some specific files:\n#==========================\n# Copy gtk-fortran.pc.in and replace strings @.*@ by their values:\nfile(READ ${CMAKE_CURRENT_SOURCE_DIR}/gtk-fortran.pc.in GTK${GTKv}PCIN)\nstring(REPLACE \"@gtkfortranname@\" \"${gtk_V_fortran}\" GTK${GTKv}PCOUT1 \"${GTK${GTKv}PCIN}\")\nstring(REPLACE \"@prefix@\" \"${CMAKE_INSTALL_PREFIX}\" GTK${GTKv}PCOUT2 \"${GTK${GTKv}PCOUT1}\")\nstring(REPLACE \"@CMAKE_INSTALL_LIBDIR@\" \"${CMAKE_INSTALL_LIBDIR}\" GTK${GTKv}PCOUT3 \"${GTK${GTKv}PCOUT2}\")\nstring(REPLACE \"@CMAKE_INSTALL_INCLUDEDIR@\" \"${CMAKE_INSTALL_INCLUDEDIR}\" GTK${GTKv}PCOUT4 \"${GTK${GTKv}PCOUT3}\")\nstring(REPLACE \"@version@\" \"${CPACK_PACKAGE_VERSION}\" GTK${GTKv}PCOUT5 \"${GTK${GTKv}PCOUT4}\")\nstring(REPLACE \"@gtkname@\" \"${GTKname}\" GTK${GTKv}PCOUT6 \"${GTK${GTKv}PCOUT5}\")\nstring(REPLACE \"@linkerflags@\" \"${CMAKE_EXE_LINKER_FLAGS}\" GTK${GTKv}PCOUT7 \"${GTK${GTKv}PCOUT6}\")\nfile(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${gtk_V_fortran}.pc \"${GTK${GTKv}PCOUT7}\")\nadd_custom_target(pkgconfig ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${gtk_V_fortran}.pc)\n\n# The USE generator system. Copy usemodules.pl and replace strings @PREFIX@, @SHARE@\n# and @GTK@ by their values:\nfile(READ ${CMAKE_CURRENT_SOURCE_DIR}/usemodules.pl USERMODULE_IN)\nstring(REPLACE \"@PREFIX@\" \"${CMAKE_INSTALL_PREFIX}\" USERMODULE_OUT1 \"${USERMODULE_IN}\")\nstring(REPLACE \"@SHARE@\" \"${CMAKE_INSTALL_DATAROOTDIR}\" USERMODULE_OUT2 \"${USERMODULE_OUT1}\")\nstring(REPLACE \"@GTK@\" \"${GTKv}\" USERMODULE_OUT3 \"${USERMODULE_OUT2}\")\nfile(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${gtk_V_fortran}-modscan \"${USERMODULE_OUT3}\")\n\n# Add the install path to usemodules.py as one of the places it will search for the gtk-fortran csv.\nfile(READ ${CMAKE_CURRENT_SOURCE_DIR}/usemodules.py PYUSERMODULE_IN)\nstring(REPLACE \"@PATH_TO_CSV@\" \"${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/gtk-fortran/${gtk_V_fortran}-index.csv\" PYUSERMODULE_OUT \"${PYUSERMODULE_IN}\")\nfile(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${gtk_V_fortran}-pymodscan \"${PYUSERMODULE_OUT}\")\n\n# Copy and rename those two files in the current binary dir:\nconfigure_file(gtk-fortran-index.csv ${gtk_V_fortran}-index.csv COPYONLY)\nconfigure_file(gtk-enumerators.lis gtk-${GTKv}-enumerators.lis COPYONLY)\n\nadd_custom_target(usemodules ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${gtk_V_fortran}-modscan\n  ${CMAKE_CURRENT_BINARY_DIR}/${gtk_V_fortran}-index.csv ${CMAKE_CURRENT_BINARY_DIR}/gtk-${GTKv}-enumerators.lis )\n\n# Man page(s)\nfile(READ ${CMAKE_CURRENT_SOURCE_DIR}/gtk-fortran-modscan.man MODSCAN_IN)\nstring(REPLACE \"@GTK@\" \"${GTKv}\" MODSCAN_OUT \"${MODSCAN_IN}\")\nfile(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${gtk_V_fortran}-modscan.1 \"${MODSCAN_OUT}\")\nadd_custom_target(manpage ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${gtk_V_fortran}-modscan.1)\n\n#==================\n# Files to install:\n#==================\ninstall(TARGETS gtk-fortran_static gtk-fortran_shared\n  ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}\n  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}\n  RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}\n)\n\ninstall(DIRECTORY\n  ${CMAKE_CURRENT_BINARY_DIR}/modules/\n  DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${gtk_V_fortran}\n  PATTERN \"handlers_gtk_fortran.mod\" EXCLUDE\n)\n\ninstall(PROGRAMS\n  \"${CMAKE_CURRENT_BINARY_DIR}/${gtk_V_fortran}-modscan\"\n  DESTINATION ${CMAKE_INSTALL_BINDIR}\n  PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE\n)\n\ninstall(PROGRAMS\n  \"${CMAKE_CURRENT_BINARY_DIR}/${gtk_V_fortran}-pymodscan\"\n  DESTINATION ${CMAKE_INSTALL_BINDIR}\n  PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE\n)\n\ninstall(TARGETS ${gtk_V_fortran}\n  DESTINATION ${CMAKE_INSTALL_BINDIR}\n  PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE\n)\n\ninstall(FILES\n  \"${CMAKE_CURRENT_BINARY_DIR}/${gtk_V_fortran}-index.csv\"\n  \"${CMAKE_CURRENT_BINARY_DIR}/gtk-${GTKv}-enumerators.lis\"\n  DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/gtk-fortran\n)\n\ninstall(FILES\n  \"${CMAKE_CURRENT_BINARY_DIR}/${gtk_V_fortran}.pc\"\n  DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig\n)\n\ninstall(FILES\n  \"${CMAKE_CURRENT_BINARY_DIR}/${gtk_V_fortran}-modscan.1\"\n  DESTINATION ${CMAKE_INSTALL_MANDIR}/man1\n)\n"
  },
  {
    "path": "src/README.md",
    "content": "# gtk-fortran source files\n\nIn the following filenames, the ? character is the GTK major version.\n\n## gtk-fortran core\n\n- `gtk-fortran.f90`: a `gtk-?-fortran` command to show information about the library.\n- `*-auto.f90` and `*-auto.in`: these files contains the Fortran interfaces to the C functions of the various GTK libraries. They are generated by the `cfwrapper/cfwrapper.py` script.\n- `api_compability.f90`: contains the `gtk_os_dependent` module to keep API compatibility, following some changes in GTK 4.2.0.\n- `gtk-fortran-index.csv`: list of all the interfaces generated in the `*-auto.f90` files, with the name of the library, the name of the function, its status (deprecated or not), the names of the `.f90` file and the `.h` file, the C prototype of the function and the Fortran definition. Generated by the `cfwrapper/cfwrapper.py` script.\n- `gtk-fortran_types.csv`: list of all the GLib / GTK types used in the prototypes of the C functions. Generated by the `cfwrapper/cfwrapper.py` script.\n- `gtk-fortran_funptr.csv`: list of all the funptr types used in the prototypes of the C functions. Generated by the `cfwrapper/cfwrapper.py` script.\n- `gtk.f90`: it contains the gtk module, which will be used by every GTK program. The `g_signal_connect()` and `gtk_init()` subroutines are defined here. The `gtkenums-auto.*` and `gtk-auto.*` files are automatically included.\n- `gtk-sup.f90`: this module contains some supplementary material useful for writing GTK programs in Fortran.\n- `gtk-fortran.pc.in`: template used by CMake to generate the `gtk-?-fortran.pc` pkg-config file.\n- `extract_events.pl`: extracts the structure definitions for GDK events from the GDK header files.\n  - `gdkevents-auto.f90`: Fortran GDK events structures generated by `extract_events.pl`.\n- `extract_enums.pl`: find the enumerator constants in a Fortran source file and write them out to a simple list.\n  - `gtk-enumerators.lis`: list generated by `extract_enums.pl`.\n\n## High Level interface\n\n- `gtk_hl.f90`: the `gtk_hl` main Fortran module, which includes the other `gtk-hl-*` modules:\n  - `gtk-*hl-*.f90`\n- `gdk-pixbuf-hl.f90`: some routines to facilitate the use of GDK pixbufs from Fortran.\n\n## Various scripts\n\n- `show_versions.sh`: shows the versions of the main tools and libraries used in gtk-fortran.\n- `screenshots.sh`: automatically launches each gtk-fortran example and take a PNG screenshot using the `scrot` command. A suffix is added to the name of the example.\n- `build.sh`: an interactive script to build, install and test gtk-fortran using CMake. It can be called by `cfwrapper.py` with the `-b` option.\n- `test_extra.sh`: an interactive script to test projects gtk-fortran-extra and gtkzero_fpm before gtk-fortran release.\n- `alt_build_test.sh`: an alternative simple build system, using the directory `../build/byscript` and finally launching one by one the examples for testing.\n- `usemodules.pl`: scan a Fortran source file or files for GTK (etc.) routines. This is a somewhat 'tighter' replacement for `usemodules.py`.\n  - `gtk-modules.txt`: the `USE` statements to copy/paste in your programs, generated by `usemodules.pl`.\n  - `gtk-fortran-modscan.man`: man page of the `gtk-?-fortran-modscan` command (`usemodules.pl`).\n- `usemodules.py`: this program scan all the Fortran files in the given directory and subdirectories to generate `USE` statements you can paste in your gtk-fortran programs. It also print warnings if you use deprecated GTK functions, and finally displays all the GTK functions used in a directory. It generates:\n  - `usemodules.txt`: the `USE` statements to copy/paste in your programs, generated by `usemodules.py`.\n- `tools.py`: that module contains functions used by `usemodules.py` and `cfwrapper/cfwrapper.py`.\n- `extract_hl_doc.py`: generates markdown files for the HL gtk-fortran documentation.\n\n"
  },
  {
    "path": "src/alt_build_test.sh",
    "content": "#! /bin/sh\n# This file is part of gtk-fortran, a GTK / Fortran interface library.\n# Copyright (C) 2011 The gtk-fortran team\n#\n# An alternative simple build system, using the directory ../build/byscript\n# and finally launching one by one the examples for testing.\n# - It does not substitute the @..@ strings in gtkf-sketcher.f90,\n# and gtk-fortran.f90, unlike CMake.\n# - It does not build the PLplot examples.\n#\n# GNU GPL v3\n# Contributed by Vincent MAGNIN\n# 2011-04-08, last updated 2025-05-25\n\n# For a safer script:\nset -eu\n\nreadonly BUILD_DIR='../build/byscript'\n\n# The default compiler is:\n: ${FC=\"gfortran\"}\n# You can override the default by setting the FC environment variable like this:\n#  FC='ifx' ./alt_build_test.sh\n\n# Major version of GTK for the current branch (from VERSIONS file):\nreadonly GTKv=$(sed -n -E 's/gtk-fortran;([0-9]+).*/\\1/p' ../VERSIONS)\necho \">>> Building gtk-${GTKv}-fortran in the directory ${BUILD_DIR}\"\necho \">>>   with the compiler ${FC} and these options:\"\n\n# Compiler and linker options:\nreadonly pkgc=\"$(pkg-config --cflags --libs gtk\"${GTKv}\")\"\n\nif [ \"$FC\" = \"flang\" ]; then\n  # Removing options not accepted by Flang compiler:\n  readonly gtkoptions=\"$(echo \"$pkgc\" | sed -e 's/ -msse2//g' | sed -e 's/ -msse//g' | sed -e 's/ -mfpmath=sse//g')\"\nelif [ \"$FC\" = \"lfortran\" ]; then\n  # Removing options not accepted by LFortran compiler:\n  readonly gtkoptions=\"$(echo \"$pkgc\" | sed -e 's/ -msse2//g' | sed -e 's/ -msse//g' | sed -e 's/ -mfpmath=sse//g' | sed -e 's/ -pthread//g')\"\nelse\n  # Other compilers, including GFortran:\n  readonly gtkoptions=\"$pkgc\"\nfi\necho $gtkoptions\necho\n\n# Go to the top of the project:\ncd ..\n\n# Create (if needed) the build/byscript directory and go there:\nif [ ! -d build ]; then\n    mkdir build\nfi\ncd build\n\nif [ ! -d byscript ]; then\n    mkdir byscript\nfi\ncd byscript\nif [ $? = 0 ]; then\n    echo \">>> Cleaning the ${BUILD_DIR} directory\"\n    rm -f ./*.o ./*.mod ./*.out\nfi\n\n# Needed to compile High-Level examples:\nreadonly gtk_hl_obj=\"gtk-hl-misc.o gtk-hl-button.o gtk-hl-combobox.o gtk-hl-container.o gtk-hl-entry.o gtk-hl-progress.o gtk-hl-spin-slider.o gtk-hl-tree.o  gtk-hl-chooser.o gtk-hl-dialog.o gtk-hl-infobar.o gtk-hl-assistant.o gdk-pixbuf-hl.o\"\n\necho\necho \">>> Compiling the GTK libraries and gtk_hl using ${FC}\"\nfor file in \"gdk-auto.f90\" \"glib-auto.f90\" \"gtk.f90\" \"unix-print-auto.f90\" \"cairo-auto.f90\" \"gdk-pixbuf-auto.f90\" \"api_compatibility.f90\" \"pango-auto.f90\" \"gsk-auto.f90\" \"graphene-auto.f90\" \"gtk-sup.f90\" \"gtk-hl-misc.f90\" \"gtk-hl-button.f90\" \"gtk-hl-combobox.f90\" \"gtk-hl-container.f90\" \"gtk-hl-entry.f90\" \"gtk-hl-infobar.f90\" \"gtk-hl-assistant.f90\" \"gtk-hl-progress.f90\" \"gtk-hl-spin-slider.f90\" \"gtk-hl-tree.f90\" \"gtk-hl-chooser.f90\" \"gtk-hl-dialog.f90\" \"gtk-hl.f90\" \"gdkevents-auto.f90\" \"gtk-draw-hl.f90\" \"gdk-pixbuf-hl.f90\"; do\n  echo \"${file}\"\n  #compile that file:\n  \"${FC}\" -c ../../src/${file} ${gtkoptions}\ndone\n\necho\necho \">>> Compiling the examples...\"\nfor i in ../../examples/*.f90 ; do\n  #remove the 15th first characters '../../examples/':\n  f=$(echo \"${i}\"|sed 's/^.\\{15\\}//')\n  #remove the .f90 extension:\n  e=$(echo \"${f}\"|sed 's/\\.f90//')\n  echo \"${e}\"\n  #compile that file:\n  \"${FC}\" gtk.o gtk-sup.o gtk-hl.o ${gtk_hl_obj} gtk-draw-hl.o \"${i}\" ${gtkoptions} -o \"${e}.out\"\ndone\n# Other examples:\n\"${FC}\" gtk.o ../../examples/gtkbuilder2.f90 -o gtkbuilder2.out ${gtkoptions} $(pkg-config --cflags --libs gmodule-2.0)\n\n\"${FC}\" gtk.o gtk-sup.o gtk-hl.o ${gtk_hl_obj} ../../sketcher/gtkf-sketcher.f90 ${gtkoptions} $(pkg-config --cflags --libs gmodule-2.0) -o gtkf-sketcher.out\n\n# List the executables:\necho\necho \">>> Executables in ${BUILD_DIR}\"\nls ./*.out\necho\n\n# Copy directories and files needed to run the programs:\ncp -r ../../sketcher/data/ ../../sketcher/default.options ../../sketcher/*.glade .\ncp ../../examples/gtkbuilder.ui .\n\necho \">>> Running each example (CTRL+C to exit)...\"\nfor i in *.out ; do\n  if [ ! \"${i}\" = \"gio_demo.out\" ]; then\n    echo \"${i}\"\n    ./\"${i}\"\n  fi\ndone\n\n"
  },
  {
    "path": "src/api_compatibility.f90",
    "content": "! This gtk_os_dependent module is present only for API compatibility,\n! as the mswindowsonly-auto.f90 and unixonly-auto.f90 files were\n! removed in GTK 4.2.0 (in 2022). These functions are now declared\n! in the gdk_pixbuf module (gdk-pixbuf-auto.f90 file).\n\n! This file is part of the gtk-fortran library, distributed under\n! GNU General Public License version 3.\n\nmodule gtk_os_dependent\n  use gdk_pixbuf, only: gdk_pixbuf_new_from_file, gdk_pixbuf_new_from_file_at_size, &\n                        gdk_pixbuf_new_from_file_at_scale, gdk_pixbuf_savev\nend module gtk_os_dependent\n\n"
  },
  {
    "path": "src/build.sh",
    "content": "#!/bin/sh\n# This file is part of gtk-fortran, a GTK / Fortran interface library.\n# Copyright (C) 2016 The gtk-fortran team\n#\n# Interactive script to build and test gtk-fortran with GFortran and Intel ifx\n# before release\n# Vincent MAGNIN, 2016-06-19\n# Last modification: 2023-03-20\n\n# For a safer script:\nset -u\n\n# Go to the top of the project:\ncd ..\n\n# Does the build directory already exists ?\nif [ ! -d build ]; then\n    mkdir build\n    cd build\nelse\n    cd build\n    make clean\nfi\n\necho '-------------------------------------------------------------------------'\necho 'Do you want to build gtk-fortran with the default Fortran compiler? (y/N)'\nread -r answer\ncase ${answer} in\n'Y' | 'y')\n    cmake -D CMAKE_BUILD_TYPE=debug .. && make -j\n    ;;\n*)\n    echo 'No building'\n    ;;\nesac\n\necho '-----------------------------------------------'\necho 'Do you want to launch the tests examples? (y/N)'\nread -r answer\ncase ${answer} in\n'Y' | 'y')\n    # Launch all the examples, four at at time:\n    ctest --timeout 5 -j 4 -VV\n    ;;\n*)\n    echo 'Not testing'\n    ;;\nesac\n\necho '--------------------------------------------------------------------'\necho 'Do you want to install the gtk-fortran library on your system? (y/N)'\nread -r answer\ncase ${answer} in\n'Y' | 'y')\n    sudo make install\n    ;;\n*)\n    echo 'No installation'\n    ;;\nesac\n\necho '--------------------------------------------------------------------'\n# Is Intel ifx installed on the system?\nif ifx --version; then\n    echo 'Do you want to build and test gtk-fortran with Intel ifx? (y/N)'\n    read -r answer\n    case ${answer} in\n    'Y' | 'y')\n        # Does that directory already exist?\n        if [ ! -d /tmp/gtk-fortran/ ]; then\n            mkdir /tmp/gtk-fortran/\n        fi\n        # Copy the gtk-fortran directory in /tmp/\n        cp -r ../* /tmp/gtk-fortran/\n        cd /tmp/gtk-fortran/build\n        rm CMakeCache.txt\n        make clean\n        cmake -D CMAKE_BUILD_TYPE=debug -D EXCLUDE_PLPLOT=true -D CMAKE_Fortran_COMPILER:FILEPATH=\"$(which ifx)\" .. && make -j && ctest --timeout 5 -j 4 -VV\n        ;;\n    *)\n        echo 'No ifx build'\n        ;;\n    esac\nfi\n"
  },
  {
    "path": "src/cairo-auto.f90",
    "content": "! Do not modify this file automatically generated by cfwrapper.py using:\n! gtk-fortran 4.9.0, GTK 4.20.2, GLib 2.86.1, Fedora 43 x86_64\n! This file is part of the gtk-fortran library, distributed under\n! GNU General Public License version 3.\n\nmodule cairo\nuse, intrinsic :: iso_c_binding\nimplicit none\ninterface\n\n!--------------------------------------------------\n! /usr/include/cairo/cairo-deprecated.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/cairo/cairo-features.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/cairo/cairo-ft.h\n!--------------------------------------------------\n! \n!cairo_font_face_t * cairo_ft_font_face_create_for_ft_face (FT_Face face, int load_flags);\nfunction cairo_ft_font_face_create_for_ft_face(face, load_flags) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: cairo_ft_font_face_create_for_ft_face\n  type(c_ptr), value :: face\n  integer(c_int), value :: load_flags\nend function\n\n! \n!void cairo_ft_font_face_set_synthesize (cairo_font_face_t *font_face, unsigned int synth_flags);\nsubroutine cairo_ft_font_face_set_synthesize(font_face, synth_flags) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: font_face\n  integer(c_int), value :: synth_flags\nend subroutine\n\n! \n!void cairo_ft_font_face_unset_synthesize (cairo_font_face_t *font_face, unsigned int synth_flags);\nsubroutine cairo_ft_font_face_unset_synthesize(font_face, synth_flags) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: font_face\n  integer(c_int), value :: synth_flags\nend subroutine\n\n! \n!unsigned int cairo_ft_font_face_get_synthesize (cairo_font_face_t *font_face);\nfunction cairo_ft_font_face_get_synthesize(font_face) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_ft_font_face_get_synthesize\n  type(c_ptr), value :: font_face\nend function\n\n! \n!FT_Face cairo_ft_scaled_font_lock_face (cairo_scaled_font_t *scaled_font);\nfunction cairo_ft_scaled_font_lock_face(scaled_font) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_ft_scaled_font_lock_face\n  type(c_ptr), value :: scaled_font\nend function\n\n! \n!void cairo_ft_scaled_font_unlock_face (cairo_scaled_font_t *scaled_font);\nsubroutine cairo_ft_scaled_font_unlock_face(scaled_font) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: scaled_font\nend subroutine\n\n! \n!cairo_font_face_t * cairo_ft_font_face_create_for_pattern (FcPattern *pattern);\nfunction cairo_ft_font_face_create_for_pattern(pattern) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_ft_font_face_create_for_pattern\n  type(c_ptr), value :: pattern\nend function\n\n! \n!void cairo_ft_font_options_substitute (const cairo_font_options_t *options, FcPattern *pattern);\nsubroutine cairo_ft_font_options_substitute(options, pattern) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: options\n  type(c_ptr), value :: pattern\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/cairo/cairo-pdf.h\n!--------------------------------------------------\n! \n!cairo_surface_t * cairo_pdf_surface_create (const char *filename, double width_in_points, double height_in_points);\nfunction cairo_pdf_surface_create(filename, width_in_points, height_in_points)&\n& bind(c)\n  import :: c_ptr, c_char, c_double\n  implicit none\n  type(c_ptr) :: cairo_pdf_surface_create\n  character(kind=c_char), dimension(*) :: filename\n  real(c_double), value :: width_in_points\n  real(c_double), value :: height_in_points\nend function\n\n! \n!cairo_surface_t * cairo_pdf_surface_create_for_stream (cairo_write_func_t write_func, void *closure, double width_in_points, double height_in_points);\nfunction cairo_pdf_surface_create_for_stream(write_func, closure,&\n& width_in_points, height_in_points) bind(c)\n  import :: c_ptr, c_funptr, c_double\n  implicit none\n  type(c_ptr) :: cairo_pdf_surface_create_for_stream\n  type(c_funptr), value :: write_func\n  type(c_ptr), value :: closure\n  real(c_double), value :: width_in_points\n  real(c_double), value :: height_in_points\nend function\n\n! \n!void cairo_pdf_surface_restrict_to_version (cairo_surface_t *surface, cairo_pdf_version_t version);\nsubroutine cairo_pdf_surface_restrict_to_version(surface, version) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: surface\n  integer(c_int), value :: version\nend subroutine\n\n! \n!void cairo_pdf_get_versions (cairo_pdf_version_t const **versions, int *num_versions);\nsubroutine cairo_pdf_get_versions(versions, num_versions) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: versions\n  type(c_ptr), value :: num_versions\nend subroutine\n\n! \n!const char * cairo_pdf_version_to_string (cairo_pdf_version_t version);\nfunction cairo_pdf_version_to_string(version) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: cairo_pdf_version_to_string\n  integer(c_int), value :: version\nend function\n\n! \n!void cairo_pdf_surface_set_size (cairo_surface_t *surface, double width_in_points, double height_in_points);\nsubroutine cairo_pdf_surface_set_size(surface, width_in_points,&\n& height_in_points) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: surface\n  real(c_double), value :: width_in_points\n  real(c_double), value :: height_in_points\nend subroutine\n\n! \n!int cairo_pdf_surface_add_outline (cairo_surface_t *surface, int parent_id, const char *utf8, const char *link_attribs, cairo_pdf_outline_flags_t flags);\nfunction cairo_pdf_surface_add_outline(surface, parent_id, utf8, link_attribs,&\n& flags) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: cairo_pdf_surface_add_outline\n  type(c_ptr), value :: surface\n  integer(c_int), value :: parent_id\n  character(kind=c_char), dimension(*) :: utf8\n  character(kind=c_char), dimension(*) :: link_attribs\n  integer(c_int), value :: flags\nend function\n\n! \n!void cairo_pdf_surface_set_metadata (cairo_surface_t *surface, cairo_pdf_metadata_t metadata, const char *utf8);\nsubroutine cairo_pdf_surface_set_metadata(surface, metadata, utf8) bind(c)\n  import :: c_ptr, c_int, c_char\n  implicit none\n  type(c_ptr), value :: surface\n  integer(c_int), value :: metadata\n  character(kind=c_char), dimension(*) :: utf8\nend subroutine\n\n! \n!void cairo_pdf_surface_set_custom_metadata (cairo_surface_t *surface, const char *name, const char *value);\nsubroutine cairo_pdf_surface_set_custom_metadata(surface, name, value) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: surface\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: value\nend subroutine\n\n! \n!void cairo_pdf_surface_set_page_label (cairo_surface_t *surface, const char *utf8);\nsubroutine cairo_pdf_surface_set_page_label(surface, utf8) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: surface\n  character(kind=c_char), dimension(*) :: utf8\nend subroutine\n\n! \n!void cairo_pdf_surface_set_thumbnail_size (cairo_surface_t *surface, int width, int height);\nsubroutine cairo_pdf_surface_set_thumbnail_size(surface, width, height) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: surface\n  integer(c_int), value :: width\n  integer(c_int), value :: height\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/cairo/cairo-ps.h\n!--------------------------------------------------\n! \n!cairo_surface_t * cairo_ps_surface_create (const char *filename, double width_in_points, double height_in_points);\nfunction cairo_ps_surface_create(filename, width_in_points, height_in_points)&\n& bind(c)\n  import :: c_ptr, c_char, c_double\n  implicit none\n  type(c_ptr) :: cairo_ps_surface_create\n  character(kind=c_char), dimension(*) :: filename\n  real(c_double), value :: width_in_points\n  real(c_double), value :: height_in_points\nend function\n\n! \n!cairo_surface_t * cairo_ps_surface_create_for_stream (cairo_write_func_t write_func, void *closure, double width_in_points, double height_in_points);\nfunction cairo_ps_surface_create_for_stream(write_func, closure,&\n& width_in_points, height_in_points) bind(c)\n  import :: c_ptr, c_funptr, c_double\n  implicit none\n  type(c_ptr) :: cairo_ps_surface_create_for_stream\n  type(c_funptr), value :: write_func\n  type(c_ptr), value :: closure\n  real(c_double), value :: width_in_points\n  real(c_double), value :: height_in_points\nend function\n\n! \n!void cairo_ps_surface_restrict_to_level (cairo_surface_t *surface, cairo_ps_level_t level);\nsubroutine cairo_ps_surface_restrict_to_level(surface, level) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: surface\n  integer(c_int), value :: level\nend subroutine\n\n! \n!void cairo_ps_get_levels (cairo_ps_level_t const **levels, int *num_levels);\nsubroutine cairo_ps_get_levels(levels, num_levels) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: levels\n  type(c_ptr), value :: num_levels\nend subroutine\n\n! \n!const char * cairo_ps_level_to_string (cairo_ps_level_t level);\nfunction cairo_ps_level_to_string(level) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: cairo_ps_level_to_string\n  integer(c_int), value :: level\nend function\n\n! \n!void cairo_ps_surface_set_eps (cairo_surface_t *surface, cairo_bool_t eps);\nsubroutine cairo_ps_surface_set_eps(surface, eps) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: surface\n  integer(c_int), value :: eps\nend subroutine\n\n! \n!cairo_bool_t cairo_ps_surface_get_eps (cairo_surface_t *surface);\nfunction cairo_ps_surface_get_eps(surface) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_ps_surface_get_eps\n  type(c_ptr), value :: surface\nend function\n\n! \n!void cairo_ps_surface_set_size (cairo_surface_t *surface, double width_in_points, double height_in_points);\nsubroutine cairo_ps_surface_set_size(surface, width_in_points,&\n& height_in_points) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: surface\n  real(c_double), value :: width_in_points\n  real(c_double), value :: height_in_points\nend subroutine\n\n! \n!void cairo_ps_surface_dsc_comment (cairo_surface_t *surface, const char *comment);\nsubroutine cairo_ps_surface_dsc_comment(surface, comment) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: surface\n  character(kind=c_char), dimension(*) :: comment\nend subroutine\n\n! \n!void cairo_ps_surface_dsc_begin_setup (cairo_surface_t *surface);\nsubroutine cairo_ps_surface_dsc_begin_setup(surface) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: surface\nend subroutine\n\n! \n!void cairo_ps_surface_dsc_begin_page_setup (cairo_surface_t *surface);\nsubroutine cairo_ps_surface_dsc_begin_page_setup(surface) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: surface\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/cairo/cairo-script-interpreter.h\n!--------------------------------------------------\n! \n!cairo_script_interpreter_t * cairo_script_interpreter_create (void);\nfunction cairo_script_interpreter_create() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_script_interpreter_create\nend function\n\n! \n!void cairo_script_interpreter_install_hooks (cairo_script_interpreter_t *ctx, const cairo_script_interpreter_hooks_t *hooks);\nsubroutine cairo_script_interpreter_install_hooks(ctx, hooks) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: ctx\n  type(c_ptr), value :: hooks\nend subroutine\n\n! \n!cairo_status_t cairo_script_interpreter_run (cairo_script_interpreter_t *ctx, const char *filename);\nfunction cairo_script_interpreter_run(ctx, filename) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: cairo_script_interpreter_run\n  type(c_ptr), value :: ctx\n  character(kind=c_char), dimension(*) :: filename\nend function\n\n! \n!cairo_status_t cairo_script_interpreter_feed_stream (cairo_script_interpreter_t *ctx, FILE *stream);\nfunction cairo_script_interpreter_feed_stream(ctx, stream) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_script_interpreter_feed_stream\n  type(c_ptr), value :: ctx\n  type(c_ptr), value :: stream\nend function\n\n! \n!cairo_status_t cairo_script_interpreter_feed_string (cairo_script_interpreter_t *ctx, const char *line, int len);\nfunction cairo_script_interpreter_feed_string(ctx, line, len) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: cairo_script_interpreter_feed_string\n  type(c_ptr), value :: ctx\n  character(kind=c_char), dimension(*) :: line\n  integer(c_int), value :: len\nend function\n\n! \n!unsigned int cairo_script_interpreter_get_line_number (cairo_script_interpreter_t *ctx);\nfunction cairo_script_interpreter_get_line_number(ctx) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_script_interpreter_get_line_number\n  type(c_ptr), value :: ctx\nend function\n\n! \n!cairo_script_interpreter_t * cairo_script_interpreter_reference (cairo_script_interpreter_t *ctx);\nfunction cairo_script_interpreter_reference(ctx) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_script_interpreter_reference\n  type(c_ptr), value :: ctx\nend function\n\n! \n!cairo_status_t cairo_script_interpreter_finish (cairo_script_interpreter_t *ctx);\nfunction cairo_script_interpreter_finish(ctx) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_script_interpreter_finish\n  type(c_ptr), value :: ctx\nend function\n\n! \n!cairo_status_t cairo_script_interpreter_destroy (cairo_script_interpreter_t *ctx);\nfunction cairo_script_interpreter_destroy(ctx) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_script_interpreter_destroy\n  type(c_ptr), value :: ctx\nend function\n\n! \n!cairo_status_t cairo_script_interpreter_translate_stream (FILE *stream, cairo_write_func_t write_func, void *closure);\nfunction cairo_script_interpreter_translate_stream(stream, write_func, closure)&\n& bind(c)\n  import :: c_int, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: cairo_script_interpreter_translate_stream\n  type(c_ptr), value :: stream\n  type(c_funptr), value :: write_func\n  type(c_ptr), value :: closure\nend function\n\n!--------------------------------------------------\n! /usr/include/cairo/cairo-script.h\n!--------------------------------------------------\n! \n!cairo_device_t * cairo_script_create (const char *filename);\nfunction cairo_script_create(filename) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: cairo_script_create\n  character(kind=c_char), dimension(*) :: filename\nend function\n\n! \n!cairo_device_t * cairo_script_create_for_stream (cairo_write_func_t write_func, void *closure);\nfunction cairo_script_create_for_stream(write_func, closure) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: cairo_script_create_for_stream\n  type(c_funptr), value :: write_func\n  type(c_ptr), value :: closure\nend function\n\n! \n!void cairo_script_write_comment (cairo_device_t *script, const char *comment, int len);\nsubroutine cairo_script_write_comment(script, comment, len) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: script\n  character(kind=c_char), dimension(*) :: comment\n  integer(c_int), value :: len\nend subroutine\n\n! \n!void cairo_script_set_mode (cairo_device_t *script, cairo_script_mode_t mode);\nsubroutine cairo_script_set_mode(script, mode) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: script\n  integer(c_int), value :: mode\nend subroutine\n\n! \n!cairo_script_mode_t cairo_script_get_mode (cairo_device_t *script);\nfunction cairo_script_get_mode(script) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_script_get_mode\n  type(c_ptr), value :: script\nend function\n\n! \n!cairo_surface_t * cairo_script_surface_create (cairo_device_t *script, cairo_content_t content, double width, double height);\nfunction cairo_script_surface_create(script, content, width, height) bind(c)\n  import :: c_ptr, c_int, c_double\n  implicit none\n  type(c_ptr) :: cairo_script_surface_create\n  type(c_ptr), value :: script\n  integer(c_int), value :: content\n  real(c_double), value :: width\n  real(c_double), value :: height\nend function\n\n! \n!cairo_surface_t * cairo_script_surface_create_for_target (cairo_device_t *script, cairo_surface_t *target);\nfunction cairo_script_surface_create_for_target(script, target) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_script_surface_create_for_target\n  type(c_ptr), value :: script\n  type(c_ptr), value :: target\nend function\n\n! \n!cairo_status_t cairo_script_from_recording_surface (cairo_device_t *script, cairo_surface_t *recording_surface);\nfunction cairo_script_from_recording_surface(script, recording_surface) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_script_from_recording_surface\n  type(c_ptr), value :: script\n  type(c_ptr), value :: recording_surface\nend function\n\n!--------------------------------------------------\n! /usr/include/cairo/cairo-svg.h\n!--------------------------------------------------\n! \n!cairo_surface_t * cairo_svg_surface_create (const char *filename, double width_in_points, double height_in_points);\nfunction cairo_svg_surface_create(filename, width_in_points, height_in_points)&\n& bind(c)\n  import :: c_ptr, c_char, c_double\n  implicit none\n  type(c_ptr) :: cairo_svg_surface_create\n  character(kind=c_char), dimension(*) :: filename\n  real(c_double), value :: width_in_points\n  real(c_double), value :: height_in_points\nend function\n\n! \n!cairo_surface_t * cairo_svg_surface_create_for_stream (cairo_write_func_t write_func, void *closure, double width_in_points, double height_in_points);\nfunction cairo_svg_surface_create_for_stream(write_func, closure,&\n& width_in_points, height_in_points) bind(c)\n  import :: c_ptr, c_funptr, c_double\n  implicit none\n  type(c_ptr) :: cairo_svg_surface_create_for_stream\n  type(c_funptr), value :: write_func\n  type(c_ptr), value :: closure\n  real(c_double), value :: width_in_points\n  real(c_double), value :: height_in_points\nend function\n\n! \n!void cairo_svg_surface_restrict_to_version (cairo_surface_t *surface, cairo_svg_version_t version);\nsubroutine cairo_svg_surface_restrict_to_version(surface, version) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: surface\n  integer(c_int), value :: version\nend subroutine\n\n! \n!void cairo_svg_get_versions (cairo_svg_version_t const **versions, int *num_versions);\nsubroutine cairo_svg_get_versions(versions, num_versions) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: versions\n  type(c_ptr), value :: num_versions\nend subroutine\n\n! \n!const char * cairo_svg_version_to_string (cairo_svg_version_t version);\nfunction cairo_svg_version_to_string(version) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: cairo_svg_version_to_string\n  integer(c_int), value :: version\nend function\n\n! \n!void cairo_svg_surface_set_document_unit (cairo_surface_t *surface, cairo_svg_unit_t unit);\nsubroutine cairo_svg_surface_set_document_unit(surface, unit) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: surface\n  integer(c_int), value :: unit\nend subroutine\n\n! \n!cairo_svg_unit_t cairo_svg_surface_get_document_unit (cairo_surface_t *surface);\nfunction cairo_svg_surface_get_document_unit(surface) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_svg_surface_get_document_unit\n  type(c_ptr), value :: surface\nend function\n\n!--------------------------------------------------\n! /usr/include/cairo/cairo-tee.h\n!--------------------------------------------------\n! \n!cairo_surface_t * cairo_tee_surface_create (cairo_surface_t *primary);\nfunction cairo_tee_surface_create(primary) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_tee_surface_create\n  type(c_ptr), value :: primary\nend function\n\n! \n!void cairo_tee_surface_add (cairo_surface_t *abstract_surface, cairo_surface_t *target);\nsubroutine cairo_tee_surface_add(abstract_surface, target) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: abstract_surface\n  type(c_ptr), value :: target\nend subroutine\n\n! \n!void cairo_tee_surface_remove (cairo_surface_t *abstract_surface, cairo_surface_t *target);\nsubroutine cairo_tee_surface_remove(abstract_surface, target) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: abstract_surface\n  type(c_ptr), value :: target\nend subroutine\n\n! \n!cairo_surface_t * cairo_tee_surface_index (cairo_surface_t *abstract_surface, unsigned int index);\nfunction cairo_tee_surface_index(abstract_surface, index) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: cairo_tee_surface_index\n  type(c_ptr), value :: abstract_surface\n  integer(c_int), value :: index\nend function\n\n!--------------------------------------------------\n! /usr/include/cairo/cairo-version.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/cairo/cairo-xcb.h\n!--------------------------------------------------\n! \n!cairo_surface_t * cairo_xcb_surface_create (xcb_connection_t *connection, xcb_drawable_t drawable, xcb_visualtype_t *visual, int width, int height);\nfunction cairo_xcb_surface_create(connection, drawable, visual, width, height)&\n& bind(c)\n  import :: c_ptr, c_int32_t, c_int\n  implicit none\n  type(c_ptr) :: cairo_xcb_surface_create\n  type(c_ptr), value :: connection\n  integer(c_int32_t), value :: drawable\n  type(c_ptr), value :: visual\n  integer(c_int), value :: width\n  integer(c_int), value :: height\nend function\n\n! \n!cairo_surface_t * cairo_xcb_surface_create_for_bitmap (xcb_connection_t *connection, xcb_screen_t *screen, xcb_pixmap_t bitmap, int width, int height);\nfunction cairo_xcb_surface_create_for_bitmap(connection, screen, bitmap, width,&\n& height) bind(c)\n  import :: c_ptr, c_int32_t, c_int\n  implicit none\n  type(c_ptr) :: cairo_xcb_surface_create_for_bitmap\n  type(c_ptr), value :: connection\n  type(c_ptr), value :: screen\n  integer(c_int32_t), value :: bitmap\n  integer(c_int), value :: width\n  integer(c_int), value :: height\nend function\n\n! \n!cairo_surface_t * cairo_xcb_surface_create_with_xrender_format (xcb_connection_t *connection, xcb_screen_t *screen, xcb_drawable_t drawable, xcb_render_pictforminfo_t *format, int width, int height);\nfunction cairo_xcb_surface_create_with_xrender_format(connection, screen,&\n& drawable, format, width, height) bind(c)\n  import :: c_ptr, c_int32_t, c_int\n  implicit none\n  type(c_ptr) :: cairo_xcb_surface_create_with_xrender_format\n  type(c_ptr), value :: connection\n  type(c_ptr), value :: screen\n  integer(c_int32_t), value :: drawable\n  type(c_ptr), value :: format\n  integer(c_int), value :: width\n  integer(c_int), value :: height\nend function\n\n! \n!void cairo_xcb_surface_set_size (cairo_surface_t *surface, int width, int height);\nsubroutine cairo_xcb_surface_set_size(surface, width, height) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: surface\n  integer(c_int), value :: width\n  integer(c_int), value :: height\nend subroutine\n\n! \n!void cairo_xcb_surface_set_drawable (cairo_surface_t *surface, xcb_drawable_t drawable, int width, int height);\nsubroutine cairo_xcb_surface_set_drawable(surface, drawable, width, height)&\n& bind(c)\n  import :: c_ptr, c_int32_t, c_int\n  implicit none\n  type(c_ptr), value :: surface\n  integer(c_int32_t), value :: drawable\n  integer(c_int), value :: width\n  integer(c_int), value :: height\nend subroutine\n\n! \n!xcb_connection_t * cairo_xcb_device_get_connection (cairo_device_t *device);\nfunction cairo_xcb_device_get_connection(device) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_xcb_device_get_connection\n  type(c_ptr), value :: device\nend function\n\n! \n!void cairo_xcb_device_debug_cap_xshm_version (cairo_device_t *device, int major_version, int minor_version);\nsubroutine cairo_xcb_device_debug_cap_xshm_version(device, major_version,&\n& minor_version) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: device\n  integer(c_int), value :: major_version\n  integer(c_int), value :: minor_version\nend subroutine\n\n! \n!void cairo_xcb_device_debug_cap_xrender_version (cairo_device_t *device, int major_version, int minor_version);\nsubroutine cairo_xcb_device_debug_cap_xrender_version(device, major_version,&\n& minor_version) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: device\n  integer(c_int), value :: major_version\n  integer(c_int), value :: minor_version\nend subroutine\n\n! \n!void cairo_xcb_device_debug_set_precision (cairo_device_t *device, int precision);\nsubroutine cairo_xcb_device_debug_set_precision(device, precision) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: device\n  integer(c_int), value :: precision\nend subroutine\n\n! \n!int cairo_xcb_device_debug_get_precision (cairo_device_t *device);\nfunction cairo_xcb_device_debug_get_precision(device) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_xcb_device_debug_get_precision\n  type(c_ptr), value :: device\nend function\n\n!--------------------------------------------------\n! /usr/include/cairo/cairo-xlib-xrender.h\n!--------------------------------------------------\n! \n!cairo_surface_t * cairo_xlib_surface_create_with_xrender_format (Display *dpy, Drawable drawable, Screen *screen, XRenderPictFormat *format, int width, int height);\nfunction cairo_xlib_surface_create_with_xrender_format(dpy, drawable, screen,&\n& format, width, height) bind(c)\n  import :: c_ptr, c_long, c_int\n  implicit none\n  type(c_ptr) :: cairo_xlib_surface_create_with_xrender_format\n  type(c_ptr), value :: dpy\n  integer(c_long), value :: drawable\n  type(c_ptr), value :: screen\n  type(c_ptr), value :: format\n  integer(c_int), value :: width\n  integer(c_int), value :: height\nend function\n\n! \n!XRenderPictFormat * cairo_xlib_surface_get_xrender_format (cairo_surface_t *surface);\nfunction cairo_xlib_surface_get_xrender_format(surface) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_xlib_surface_get_xrender_format\n  type(c_ptr), value :: surface\nend function\n\n!--------------------------------------------------\n! /usr/include/cairo/cairo-xlib.h\n!--------------------------------------------------\n! \n!cairo_surface_t * cairo_xlib_surface_create (Display *dpy, Drawable drawable, Visual *visual, int width, int height);\nfunction cairo_xlib_surface_create(dpy, drawable, visual, width, height)&\n& bind(c)\n  import :: c_ptr, c_long, c_int\n  implicit none\n  type(c_ptr) :: cairo_xlib_surface_create\n  type(c_ptr), value :: dpy\n  integer(c_long), value :: drawable\n  type(c_ptr), value :: visual\n  integer(c_int), value :: width\n  integer(c_int), value :: height\nend function\n\n! \n!cairo_surface_t * cairo_xlib_surface_create_for_bitmap (Display *dpy, Pixmap bitmap, Screen *screen, int width, int height);\nfunction cairo_xlib_surface_create_for_bitmap(dpy, bitmap, screen, width,&\n& height) bind(c)\n  import :: c_ptr, c_long, c_int\n  implicit none\n  type(c_ptr) :: cairo_xlib_surface_create_for_bitmap\n  type(c_ptr), value :: dpy\n  integer(c_long), value :: bitmap\n  type(c_ptr), value :: screen\n  integer(c_int), value :: width\n  integer(c_int), value :: height\nend function\n\n! \n!void cairo_xlib_surface_set_size (cairo_surface_t *surface, int width, int height);\nsubroutine cairo_xlib_surface_set_size(surface, width, height) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: surface\n  integer(c_int), value :: width\n  integer(c_int), value :: height\nend subroutine\n\n! \n!void cairo_xlib_surface_set_drawable (cairo_surface_t *surface, Drawable drawable, int width, int height);\nsubroutine cairo_xlib_surface_set_drawable(surface, drawable, width, height)&\n& bind(c)\n  import :: c_ptr, c_long, c_int\n  implicit none\n  type(c_ptr), value :: surface\n  integer(c_long), value :: drawable\n  integer(c_int), value :: width\n  integer(c_int), value :: height\nend subroutine\n\n! \n!Display * cairo_xlib_surface_get_display (cairo_surface_t *surface);\nfunction cairo_xlib_surface_get_display(surface) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_xlib_surface_get_display\n  type(c_ptr), value :: surface\nend function\n\n! \n!Drawable cairo_xlib_surface_get_drawable (cairo_surface_t *surface);\nfunction cairo_xlib_surface_get_drawable(surface) bind(c)\n  import :: c_long, c_ptr\n  implicit none\n  integer(c_long) :: cairo_xlib_surface_get_drawable\n  type(c_ptr), value :: surface\nend function\n\n! \n!Screen * cairo_xlib_surface_get_screen (cairo_surface_t *surface);\nfunction cairo_xlib_surface_get_screen(surface) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_xlib_surface_get_screen\n  type(c_ptr), value :: surface\nend function\n\n! \n!Visual * cairo_xlib_surface_get_visual (cairo_surface_t *surface);\nfunction cairo_xlib_surface_get_visual(surface) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_xlib_surface_get_visual\n  type(c_ptr), value :: surface\nend function\n\n! \n!int cairo_xlib_surface_get_depth (cairo_surface_t *surface);\nfunction cairo_xlib_surface_get_depth(surface) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_xlib_surface_get_depth\n  type(c_ptr), value :: surface\nend function\n\n! \n!int cairo_xlib_surface_get_width (cairo_surface_t *surface);\nfunction cairo_xlib_surface_get_width(surface) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_xlib_surface_get_width\n  type(c_ptr), value :: surface\nend function\n\n! \n!int cairo_xlib_surface_get_height (cairo_surface_t *surface);\nfunction cairo_xlib_surface_get_height(surface) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_xlib_surface_get_height\n  type(c_ptr), value :: surface\nend function\n\n! \n!void cairo_xlib_device_debug_cap_xrender_version (cairo_device_t *device, int major_version, int minor_version);\nsubroutine cairo_xlib_device_debug_cap_xrender_version(device, major_version,&\n& minor_version) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: device\n  integer(c_int), value :: major_version\n  integer(c_int), value :: minor_version\nend subroutine\n\n! \n!void cairo_xlib_device_debug_set_precision (cairo_device_t *device, int precision);\nsubroutine cairo_xlib_device_debug_set_precision(device, precision) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: device\n  integer(c_int), value :: precision\nend subroutine\n\n! \n!int cairo_xlib_device_debug_get_precision (cairo_device_t *device);\nfunction cairo_xlib_device_debug_get_precision(device) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_xlib_device_debug_get_precision\n  type(c_ptr), value :: device\nend function\n\n!--------------------------------------------------\n! /usr/include/cairo/cairo.h\n!--------------------------------------------------\n! \n!int cairo_version (void);\nfunction cairo_version() bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: cairo_version\nend function\n\n! \n!const char* cairo_version_string (void);\nfunction cairo_version_string() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_version_string\nend function\n\n! \n!void cairo_pattern_set_dither (cairo_pattern_t *pattern, cairo_dither_t dither);\nsubroutine cairo_pattern_set_dither(pattern, dither) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: pattern\n  integer(c_int), value :: dither\nend subroutine\n\n! \n!cairo_dither_t cairo_pattern_get_dither (cairo_pattern_t *pattern);\nfunction cairo_pattern_get_dither(pattern) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_pattern_get_dither\n  type(c_ptr), value :: pattern\nend function\n\n! \n!cairo_t * cairo_create (cairo_surface_t *target);\nfunction cairo_create(target) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_create\n  type(c_ptr), value :: target\nend function\n\n! \n!cairo_t * cairo_reference (cairo_t *cr);\nfunction cairo_reference(cr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_reference\n  type(c_ptr), value :: cr\nend function\n\n! \n!void cairo_destroy (cairo_t *cr);\nsubroutine cairo_destroy(cr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\nend subroutine\n\n! \n!unsigned int cairo_get_reference_count (cairo_t *cr);\nfunction cairo_get_reference_count(cr) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_get_reference_count\n  type(c_ptr), value :: cr\nend function\n\n! \n!void * cairo_get_user_data (cairo_t *cr, const cairo_user_data_key_t *key);\nfunction cairo_get_user_data(cr, key) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_get_user_data\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: key\nend function\n\n! \n!cairo_status_t cairo_set_user_data (cairo_t *cr, const cairo_user_data_key_t *key, void *user_data, cairo_destroy_func_t destroy);\nfunction cairo_set_user_data(cr, key, user_data, destroy) bind(c)\n  import :: c_int, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: cairo_set_user_data\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: key\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: destroy\nend function\n\n! \n!void cairo_save (cairo_t *cr);\nsubroutine cairo_save(cr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\nend subroutine\n\n! \n!void cairo_restore (cairo_t *cr);\nsubroutine cairo_restore(cr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\nend subroutine\n\n! \n!void cairo_push_group (cairo_t *cr);\nsubroutine cairo_push_group(cr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\nend subroutine\n\n! \n!void cairo_push_group_with_content (cairo_t *cr, cairo_content_t content);\nsubroutine cairo_push_group_with_content(cr, content) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: cr\n  integer(c_int), value :: content\nend subroutine\n\n! \n!cairo_pattern_t * cairo_pop_group (cairo_t *cr);\nfunction cairo_pop_group(cr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_pop_group\n  type(c_ptr), value :: cr\nend function\n\n! \n!void cairo_pop_group_to_source (cairo_t *cr);\nsubroutine cairo_pop_group_to_source(cr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\nend subroutine\n\n! \n!void cairo_set_operator (cairo_t *cr, cairo_operator_t op);\nsubroutine cairo_set_operator(cr, op) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: cr\n  integer(c_int), value :: op\nend subroutine\n\n! \n!void cairo_set_source (cairo_t *cr, cairo_pattern_t *source);\nsubroutine cairo_set_source(cr, source) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: source\nend subroutine\n\n! \n!void cairo_set_source_rgb (cairo_t *cr, double red, double green, double blue);\nsubroutine cairo_set_source_rgb(cr, red, green, blue) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: cr\n  real(c_double), value :: red\n  real(c_double), value :: green\n  real(c_double), value :: blue\nend subroutine\n\n! \n!void cairo_set_source_rgba (cairo_t *cr, double red, double green, double blue, double alpha);\nsubroutine cairo_set_source_rgba(cr, red, green, blue, alpha) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: cr\n  real(c_double), value :: red\n  real(c_double), value :: green\n  real(c_double), value :: blue\n  real(c_double), value :: alpha\nend subroutine\n\n! \n!void cairo_set_source_surface (cairo_t *cr, cairo_surface_t *surface, double x, double y);\nsubroutine cairo_set_source_surface(cr, surface, x, y) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: surface\n  real(c_double), value :: x\n  real(c_double), value :: y\nend subroutine\n\n! \n!void cairo_set_tolerance (cairo_t *cr, double tolerance);\nsubroutine cairo_set_tolerance(cr, tolerance) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: cr\n  real(c_double), value :: tolerance\nend subroutine\n\n! \n!void cairo_set_antialias (cairo_t *cr, cairo_antialias_t antialias);\nsubroutine cairo_set_antialias(cr, antialias) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: cr\n  integer(c_int), value :: antialias\nend subroutine\n\n! \n!void cairo_set_fill_rule (cairo_t *cr, cairo_fill_rule_t fill_rule);\nsubroutine cairo_set_fill_rule(cr, fill_rule) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: cr\n  integer(c_int), value :: fill_rule\nend subroutine\n\n! \n!void cairo_set_line_width (cairo_t *cr, double width);\nsubroutine cairo_set_line_width(cr, width) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: cr\n  real(c_double), value :: width\nend subroutine\n\n! \n!void cairo_set_hairline (cairo_t *cr, cairo_bool_t set_hairline);\nsubroutine cairo_set_hairline(cr, set_hairline) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: cr\n  integer(c_int), value :: set_hairline\nend subroutine\n\n! \n!void cairo_set_line_cap (cairo_t *cr, cairo_line_cap_t line_cap);\nsubroutine cairo_set_line_cap(cr, line_cap) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: cr\n  integer(c_int), value :: line_cap\nend subroutine\n\n! \n!void cairo_set_line_join (cairo_t *cr, cairo_line_join_t line_join);\nsubroutine cairo_set_line_join(cr, line_join) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: cr\n  integer(c_int), value :: line_join\nend subroutine\n\n! \n!void cairo_set_dash (cairo_t *cr, const double *dashes, int num_dashes, double offset);\nsubroutine cairo_set_dash(cr, dashes, num_dashes, offset) bind(c)\n  import :: c_ptr, c_int, c_double\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: dashes\n  integer(c_int), value :: num_dashes\n  real(c_double), value :: offset\nend subroutine\n\n! \n!void cairo_set_miter_limit (cairo_t *cr, double limit);\nsubroutine cairo_set_miter_limit(cr, limit) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: cr\n  real(c_double), value :: limit\nend subroutine\n\n! \n!void cairo_translate (cairo_t *cr, double tx, double ty);\nsubroutine cairo_translate(cr, tx, ty) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: cr\n  real(c_double), value :: tx\n  real(c_double), value :: ty\nend subroutine\n\n! \n!void cairo_scale (cairo_t *cr, double sx, double sy);\nsubroutine cairo_scale(cr, sx, sy) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: cr\n  real(c_double), value :: sx\n  real(c_double), value :: sy\nend subroutine\n\n! \n!void cairo_rotate (cairo_t *cr, double angle);\nsubroutine cairo_rotate(cr, angle) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: cr\n  real(c_double), value :: angle\nend subroutine\n\n! \n!void cairo_transform (cairo_t *cr, const cairo_matrix_t *matrix);\nsubroutine cairo_transform(cr, matrix) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: matrix\nend subroutine\n\n! \n!void cairo_set_matrix (cairo_t *cr, const cairo_matrix_t *matrix);\nsubroutine cairo_set_matrix(cr, matrix) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: matrix\nend subroutine\n\n! \n!void cairo_identity_matrix (cairo_t *cr);\nsubroutine cairo_identity_matrix(cr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\nend subroutine\n\n! \n!void cairo_user_to_device (cairo_t *cr, double *x, double *y);\nsubroutine cairo_user_to_device(cr, x, y) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: x\n  type(c_ptr), value :: y\nend subroutine\n\n! \n!void cairo_user_to_device_distance (cairo_t *cr, double *dx, double *dy);\nsubroutine cairo_user_to_device_distance(cr, dx, dy) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: dx\n  type(c_ptr), value :: dy\nend subroutine\n\n! \n!void cairo_device_to_user (cairo_t *cr, double *x, double *y);\nsubroutine cairo_device_to_user(cr, x, y) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: x\n  type(c_ptr), value :: y\nend subroutine\n\n! \n!void cairo_device_to_user_distance (cairo_t *cr, double *dx, double *dy);\nsubroutine cairo_device_to_user_distance(cr, dx, dy) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: dx\n  type(c_ptr), value :: dy\nend subroutine\n\n! \n!void cairo_new_path (cairo_t *cr);\nsubroutine cairo_new_path(cr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\nend subroutine\n\n! \n!void cairo_move_to (cairo_t *cr, double x, double y);\nsubroutine cairo_move_to(cr, x, y) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: cr\n  real(c_double), value :: x\n  real(c_double), value :: y\nend subroutine\n\n! \n!void cairo_new_sub_path (cairo_t *cr);\nsubroutine cairo_new_sub_path(cr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\nend subroutine\n\n! \n!void cairo_line_to (cairo_t *cr, double x, double y);\nsubroutine cairo_line_to(cr, x, y) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: cr\n  real(c_double), value :: x\n  real(c_double), value :: y\nend subroutine\n\n! \n!void cairo_curve_to (cairo_t *cr, double x1, double y1, double x2, double y2, double x3, double y3);\nsubroutine cairo_curve_to(cr, x1, y1, x2, y2, x3, y3) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: cr\n  real(c_double), value :: x1\n  real(c_double), value :: y1\n  real(c_double), value :: x2\n  real(c_double), value :: y2\n  real(c_double), value :: x3\n  real(c_double), value :: y3\nend subroutine\n\n! \n!void cairo_arc (cairo_t *cr, double xc, double yc, double radius, double angle1, double angle2);\nsubroutine cairo_arc(cr, xc, yc, radius, angle1, angle2) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: cr\n  real(c_double), value :: xc\n  real(c_double), value :: yc\n  real(c_double), value :: radius\n  real(c_double), value :: angle1\n  real(c_double), value :: angle2\nend subroutine\n\n! \n!void cairo_arc_negative (cairo_t *cr, double xc, double yc, double radius, double angle1, double angle2);\nsubroutine cairo_arc_negative(cr, xc, yc, radius, angle1, angle2) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: cr\n  real(c_double), value :: xc\n  real(c_double), value :: yc\n  real(c_double), value :: radius\n  real(c_double), value :: angle1\n  real(c_double), value :: angle2\nend subroutine\n\n! \n!void cairo_rel_move_to (cairo_t *cr, double dx, double dy);\nsubroutine cairo_rel_move_to(cr, dx, dy) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: cr\n  real(c_double), value :: dx\n  real(c_double), value :: dy\nend subroutine\n\n! \n!void cairo_rel_line_to (cairo_t *cr, double dx, double dy);\nsubroutine cairo_rel_line_to(cr, dx, dy) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: cr\n  real(c_double), value :: dx\n  real(c_double), value :: dy\nend subroutine\n\n! \n!void cairo_rel_curve_to (cairo_t *cr, double dx1, double dy1, double dx2, double dy2, double dx3, double dy3);\nsubroutine cairo_rel_curve_to(cr, dx1, dy1, dx2, dy2, dx3, dy3) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: cr\n  real(c_double), value :: dx1\n  real(c_double), value :: dy1\n  real(c_double), value :: dx2\n  real(c_double), value :: dy2\n  real(c_double), value :: dx3\n  real(c_double), value :: dy3\nend subroutine\n\n! \n!void cairo_rectangle (cairo_t *cr, double x, double y, double width, double height);\nsubroutine cairo_rectangle(cr, x, y, width, height) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: cr\n  real(c_double), value :: x\n  real(c_double), value :: y\n  real(c_double), value :: width\n  real(c_double), value :: height\nend subroutine\n\n! \n!void cairo_close_path (cairo_t *cr);\nsubroutine cairo_close_path(cr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\nend subroutine\n\n! \n!void cairo_path_extents (cairo_t *cr, double *x1, double *y1, double *x2, double *y2);\nsubroutine cairo_path_extents(cr, x1, y1, x2, y2) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: x1\n  type(c_ptr), value :: y1\n  type(c_ptr), value :: x2\n  type(c_ptr), value :: y2\nend subroutine\n\n! \n!void cairo_paint (cairo_t *cr);\nsubroutine cairo_paint(cr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\nend subroutine\n\n! \n!void cairo_paint_with_alpha (cairo_t *cr, double alpha);\nsubroutine cairo_paint_with_alpha(cr, alpha) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: cr\n  real(c_double), value :: alpha\nend subroutine\n\n! \n!void cairo_mask (cairo_t *cr, cairo_pattern_t *pattern);\nsubroutine cairo_mask(cr, pattern) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: pattern\nend subroutine\n\n! \n!void cairo_mask_surface (cairo_t *cr, cairo_surface_t *surface, double surface_x, double surface_y);\nsubroutine cairo_mask_surface(cr, surface, surface_x, surface_y) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: surface\n  real(c_double), value :: surface_x\n  real(c_double), value :: surface_y\nend subroutine\n\n! \n!void cairo_stroke (cairo_t *cr);\nsubroutine cairo_stroke(cr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\nend subroutine\n\n! \n!void cairo_stroke_preserve (cairo_t *cr);\nsubroutine cairo_stroke_preserve(cr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\nend subroutine\n\n! \n!void cairo_fill (cairo_t *cr);\nsubroutine cairo_fill(cr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\nend subroutine\n\n! \n!void cairo_fill_preserve (cairo_t *cr);\nsubroutine cairo_fill_preserve(cr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\nend subroutine\n\n! \n!void cairo_copy_page (cairo_t *cr);\nsubroutine cairo_copy_page(cr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\nend subroutine\n\n! \n!void cairo_show_page (cairo_t *cr);\nsubroutine cairo_show_page(cr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\nend subroutine\n\n! \n!cairo_bool_t cairo_in_stroke (cairo_t *cr, double x, double y);\nfunction cairo_in_stroke(cr, x, y) bind(c)\n  import :: c_int, c_ptr, c_double\n  implicit none\n  integer(c_int) :: cairo_in_stroke\n  type(c_ptr), value :: cr\n  real(c_double), value :: x\n  real(c_double), value :: y\nend function\n\n! \n!cairo_bool_t cairo_in_fill (cairo_t *cr, double x, double y);\nfunction cairo_in_fill(cr, x, y) bind(c)\n  import :: c_int, c_ptr, c_double\n  implicit none\n  integer(c_int) :: cairo_in_fill\n  type(c_ptr), value :: cr\n  real(c_double), value :: x\n  real(c_double), value :: y\nend function\n\n! \n!cairo_bool_t cairo_in_clip (cairo_t *cr, double x, double y);\nfunction cairo_in_clip(cr, x, y) bind(c)\n  import :: c_int, c_ptr, c_double\n  implicit none\n  integer(c_int) :: cairo_in_clip\n  type(c_ptr), value :: cr\n  real(c_double), value :: x\n  real(c_double), value :: y\nend function\n\n! \n!void cairo_stroke_extents (cairo_t *cr, double *x1, double *y1, double *x2, double *y2);\nsubroutine cairo_stroke_extents(cr, x1, y1, x2, y2) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: x1\n  type(c_ptr), value :: y1\n  type(c_ptr), value :: x2\n  type(c_ptr), value :: y2\nend subroutine\n\n! \n!void cairo_fill_extents (cairo_t *cr, double *x1, double *y1, double *x2, double *y2);\nsubroutine cairo_fill_extents(cr, x1, y1, x2, y2) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: x1\n  type(c_ptr), value :: y1\n  type(c_ptr), value :: x2\n  type(c_ptr), value :: y2\nend subroutine\n\n! \n!void cairo_reset_clip (cairo_t *cr);\nsubroutine cairo_reset_clip(cr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\nend subroutine\n\n! \n!void cairo_clip (cairo_t *cr);\nsubroutine cairo_clip(cr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\nend subroutine\n\n! \n!void cairo_clip_preserve (cairo_t *cr);\nsubroutine cairo_clip_preserve(cr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\nend subroutine\n\n! \n!void cairo_clip_extents (cairo_t *cr, double *x1, double *y1, double *x2, double *y2);\nsubroutine cairo_clip_extents(cr, x1, y1, x2, y2) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: x1\n  type(c_ptr), value :: y1\n  type(c_ptr), value :: x2\n  type(c_ptr), value :: y2\nend subroutine\n\n! \n!cairo_rectangle_list_t * cairo_copy_clip_rectangle_list (cairo_t *cr);\nfunction cairo_copy_clip_rectangle_list(cr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_copy_clip_rectangle_list\n  type(c_ptr), value :: cr\nend function\n\n! \n!void cairo_rectangle_list_destroy (cairo_rectangle_list_t *rectangle_list);\nsubroutine cairo_rectangle_list_destroy(rectangle_list) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: rectangle_list\nend subroutine\n\n! \n!void cairo_tag_begin (cairo_t *cr, const char *tag_name, const char *attributes);\nsubroutine cairo_tag_begin(cr, tag_name, attributes) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: cr\n  character(kind=c_char), dimension(*) :: tag_name\n  character(kind=c_char), dimension(*) :: attributes\nend subroutine\n\n! \n!void cairo_tag_end (cairo_t *cr, const char *tag_name);\nsubroutine cairo_tag_end(cr, tag_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: cr\n  character(kind=c_char), dimension(*) :: tag_name\nend subroutine\n\n! \n!cairo_glyph_t * cairo_glyph_allocate (int num_glyphs);\nfunction cairo_glyph_allocate(num_glyphs) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: cairo_glyph_allocate\n  integer(c_int), value :: num_glyphs\nend function\n\n! \n!void cairo_glyph_free (cairo_glyph_t *glyphs);\nsubroutine cairo_glyph_free(glyphs) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: glyphs\nend subroutine\n\n! \n!cairo_text_cluster_t * cairo_text_cluster_allocate (int num_clusters);\nfunction cairo_text_cluster_allocate(num_clusters) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: cairo_text_cluster_allocate\n  integer(c_int), value :: num_clusters\nend function\n\n! \n!void cairo_text_cluster_free (cairo_text_cluster_t *clusters);\nsubroutine cairo_text_cluster_free(clusters) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: clusters\nend subroutine\n\n! \n!cairo_font_options_t * cairo_font_options_create (void);\nfunction cairo_font_options_create() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_font_options_create\nend function\n\n! \n!cairo_font_options_t * cairo_font_options_copy (const cairo_font_options_t *original);\nfunction cairo_font_options_copy(original) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_font_options_copy\n  type(c_ptr), value :: original\nend function\n\n! \n!void cairo_font_options_destroy (cairo_font_options_t *options);\nsubroutine cairo_font_options_destroy(options) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: options\nend subroutine\n\n! \n!cairo_status_t cairo_font_options_status (cairo_font_options_t *options);\nfunction cairo_font_options_status(options) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_font_options_status\n  type(c_ptr), value :: options\nend function\n\n! \n!void cairo_font_options_merge (cairo_font_options_t *options, const cairo_font_options_t *other);\nsubroutine cairo_font_options_merge(options, other) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: options\n  type(c_ptr), value :: other\nend subroutine\n\n! \n!cairo_bool_t cairo_font_options_equal (const cairo_font_options_t *options, const cairo_font_options_t *other);\nfunction cairo_font_options_equal(options, other) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_font_options_equal\n  type(c_ptr), value :: options\n  type(c_ptr), value :: other\nend function\n\n! \n!unsigned long cairo_font_options_hash (const cairo_font_options_t *options);\nfunction cairo_font_options_hash(options) bind(c)\n  import :: c_long, c_ptr\n  implicit none\n  integer(c_long) :: cairo_font_options_hash\n  type(c_ptr), value :: options\nend function\n\n! \n!void cairo_font_options_set_antialias (cairo_font_options_t *options, cairo_antialias_t antialias);\nsubroutine cairo_font_options_set_antialias(options, antialias) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: options\n  integer(c_int), value :: antialias\nend subroutine\n\n! \n!cairo_antialias_t cairo_font_options_get_antialias (const cairo_font_options_t *options);\nfunction cairo_font_options_get_antialias(options) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_font_options_get_antialias\n  type(c_ptr), value :: options\nend function\n\n! \n!void cairo_font_options_set_subpixel_order (cairo_font_options_t *options, cairo_subpixel_order_t subpixel_order);\nsubroutine cairo_font_options_set_subpixel_order(options, subpixel_order)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: options\n  integer(c_int), value :: subpixel_order\nend subroutine\n\n! \n!cairo_subpixel_order_t cairo_font_options_get_subpixel_order (const cairo_font_options_t *options);\nfunction cairo_font_options_get_subpixel_order(options) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_font_options_get_subpixel_order\n  type(c_ptr), value :: options\nend function\n\n! \n!void cairo_font_options_set_hint_style (cairo_font_options_t *options, cairo_hint_style_t hint_style);\nsubroutine cairo_font_options_set_hint_style(options, hint_style) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: options\n  integer(c_int), value :: hint_style\nend subroutine\n\n! \n!cairo_hint_style_t cairo_font_options_get_hint_style (const cairo_font_options_t *options);\nfunction cairo_font_options_get_hint_style(options) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_font_options_get_hint_style\n  type(c_ptr), value :: options\nend function\n\n! \n!void cairo_font_options_set_hint_metrics (cairo_font_options_t *options, cairo_hint_metrics_t hint_metrics);\nsubroutine cairo_font_options_set_hint_metrics(options, hint_metrics) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: options\n  integer(c_int), value :: hint_metrics\nend subroutine\n\n! \n!cairo_hint_metrics_t cairo_font_options_get_hint_metrics (const cairo_font_options_t *options);\nfunction cairo_font_options_get_hint_metrics(options) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_font_options_get_hint_metrics\n  type(c_ptr), value :: options\nend function\n\n! \n!const char * cairo_font_options_get_variations (cairo_font_options_t *options);\nfunction cairo_font_options_get_variations(options) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_font_options_get_variations\n  type(c_ptr), value :: options\nend function\n\n! \n!void cairo_font_options_set_variations (cairo_font_options_t *options, const char *variations);\nsubroutine cairo_font_options_set_variations(options, variations) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: options\n  character(kind=c_char), dimension(*) :: variations\nend subroutine\n\n! \n!void cairo_font_options_set_color_mode (cairo_font_options_t *options, cairo_color_mode_t color_mode);\nsubroutine cairo_font_options_set_color_mode(options, color_mode) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: options\n  integer(c_int), value :: color_mode\nend subroutine\n\n! \n!cairo_color_mode_t cairo_font_options_get_color_mode (const cairo_font_options_t *options);\nfunction cairo_font_options_get_color_mode(options) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_font_options_get_color_mode\n  type(c_ptr), value :: options\nend function\n\n! \n!unsigned int cairo_font_options_get_color_palette (const cairo_font_options_t *options);\nfunction cairo_font_options_get_color_palette(options) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_font_options_get_color_palette\n  type(c_ptr), value :: options\nend function\n\n! \n!void cairo_font_options_set_color_palette (cairo_font_options_t *options, unsigned int palette_index);\nsubroutine cairo_font_options_set_color_palette(options, palette_index) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: options\n  integer(c_int), value :: palette_index\nend subroutine\n\n! \n!void cairo_font_options_set_custom_palette_color (cairo_font_options_t *options, unsigned int index, double red, double green, double blue, double alpha);\nsubroutine cairo_font_options_set_custom_palette_color(options, index, red,&\n& green, blue, alpha) bind(c)\n  import :: c_ptr, c_int, c_double\n  implicit none\n  type(c_ptr), value :: options\n  integer(c_int), value :: index\n  real(c_double), value :: red\n  real(c_double), value :: green\n  real(c_double), value :: blue\n  real(c_double), value :: alpha\nend subroutine\n\n! \n!cairo_status_t cairo_font_options_get_custom_palette_color (cairo_font_options_t *options, unsigned int index, double *red, double *green, double *blue, double *alpha);\nfunction cairo_font_options_get_custom_palette_color(options, index, red,&\n& green, blue, alpha) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_font_options_get_custom_palette_color\n  type(c_ptr), value :: options\n  integer(c_int), value :: index\n  type(c_ptr), value :: red\n  type(c_ptr), value :: green\n  type(c_ptr), value :: blue\n  type(c_ptr), value :: alpha\nend function\n\n! \n!void cairo_select_font_face (cairo_t *cr, const char *family, cairo_font_slant_t slant, cairo_font_weight_t weight);\nsubroutine cairo_select_font_face(cr, family, slant, weight) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: cr\n  character(kind=c_char), dimension(*) :: family\n  integer(c_int), value :: slant\n  integer(c_int), value :: weight\nend subroutine\n\n! \n!void cairo_set_font_size (cairo_t *cr, double size);\nsubroutine cairo_set_font_size(cr, size) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: cr\n  real(c_double), value :: size\nend subroutine\n\n! \n!void cairo_set_font_matrix (cairo_t *cr, const cairo_matrix_t *matrix);\nsubroutine cairo_set_font_matrix(cr, matrix) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: matrix\nend subroutine\n\n! \n!void cairo_get_font_matrix (cairo_t *cr, cairo_matrix_t *matrix);\nsubroutine cairo_get_font_matrix(cr, matrix) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: matrix\nend subroutine\n\n! \n!void cairo_set_font_options (cairo_t *cr, const cairo_font_options_t *options);\nsubroutine cairo_set_font_options(cr, options) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: options\nend subroutine\n\n! \n!void cairo_get_font_options (cairo_t *cr, cairo_font_options_t *options);\nsubroutine cairo_get_font_options(cr, options) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: options\nend subroutine\n\n! \n!void cairo_set_font_face (cairo_t *cr, cairo_font_face_t *font_face);\nsubroutine cairo_set_font_face(cr, font_face) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: font_face\nend subroutine\n\n! \n!cairo_font_face_t * cairo_get_font_face (cairo_t *cr);\nfunction cairo_get_font_face(cr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_get_font_face\n  type(c_ptr), value :: cr\nend function\n\n! \n!void cairo_set_scaled_font (cairo_t *cr, const cairo_scaled_font_t *scaled_font);\nsubroutine cairo_set_scaled_font(cr, scaled_font) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: scaled_font\nend subroutine\n\n! \n!cairo_scaled_font_t * cairo_get_scaled_font (cairo_t *cr);\nfunction cairo_get_scaled_font(cr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_get_scaled_font\n  type(c_ptr), value :: cr\nend function\n\n! \n!void cairo_show_text (cairo_t *cr, const char *utf8);\nsubroutine cairo_show_text(cr, utf8) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: cr\n  character(kind=c_char), dimension(*) :: utf8\nend subroutine\n\n! \n!void cairo_show_glyphs (cairo_t *cr, const cairo_glyph_t *glyphs, int num_glyphs);\nsubroutine cairo_show_glyphs(cr, glyphs, num_glyphs) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: glyphs\n  integer(c_int), value :: num_glyphs\nend subroutine\n\n! \n!void cairo_show_text_glyphs (cairo_t *cr, const char *utf8, int utf8_len, const cairo_glyph_t *glyphs, int num_glyphs, const cairo_text_cluster_t *clusters, int num_clusters, cairo_text_cluster_flags_t cluster_flags);\nsubroutine cairo_show_text_glyphs(cr, utf8, utf8_len, glyphs, num_glyphs,&\n& clusters, num_clusters, cluster_flags) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: cr\n  character(kind=c_char), dimension(*) :: utf8\n  integer(c_int), value :: utf8_len\n  type(c_ptr), value :: glyphs\n  integer(c_int), value :: num_glyphs\n  type(c_ptr), value :: clusters\n  integer(c_int), value :: num_clusters\n  integer(c_int), value :: cluster_flags\nend subroutine\n\n! \n!void cairo_text_path (cairo_t *cr, const char *utf8);\nsubroutine cairo_text_path(cr, utf8) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: cr\n  character(kind=c_char), dimension(*) :: utf8\nend subroutine\n\n! \n!void cairo_glyph_path (cairo_t *cr, const cairo_glyph_t *glyphs, int num_glyphs);\nsubroutine cairo_glyph_path(cr, glyphs, num_glyphs) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: glyphs\n  integer(c_int), value :: num_glyphs\nend subroutine\n\n! \n!void cairo_text_extents (cairo_t *cr, const char *utf8, cairo_text_extents_t *extents);\nsubroutine cairo_text_extents(cr, utf8, extents) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: cr\n  character(kind=c_char), dimension(*) :: utf8\n  type(c_ptr), value :: extents\nend subroutine\n\n! \n!void cairo_glyph_extents (cairo_t *cr, const cairo_glyph_t *glyphs, int num_glyphs, cairo_text_extents_t *extents);\nsubroutine cairo_glyph_extents(cr, glyphs, num_glyphs, extents) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: glyphs\n  integer(c_int), value :: num_glyphs\n  type(c_ptr), value :: extents\nend subroutine\n\n! \n!void cairo_font_extents (cairo_t *cr, cairo_font_extents_t *extents);\nsubroutine cairo_font_extents(cr, extents) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: extents\nend subroutine\n\n! \n!cairo_font_face_t * cairo_font_face_reference (cairo_font_face_t *font_face);\nfunction cairo_font_face_reference(font_face) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_font_face_reference\n  type(c_ptr), value :: font_face\nend function\n\n! \n!void cairo_font_face_destroy (cairo_font_face_t *font_face);\nsubroutine cairo_font_face_destroy(font_face) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: font_face\nend subroutine\n\n! \n!unsigned int cairo_font_face_get_reference_count (cairo_font_face_t *font_face);\nfunction cairo_font_face_get_reference_count(font_face) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_font_face_get_reference_count\n  type(c_ptr), value :: font_face\nend function\n\n! \n!cairo_status_t cairo_font_face_status (cairo_font_face_t *font_face);\nfunction cairo_font_face_status(font_face) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_font_face_status\n  type(c_ptr), value :: font_face\nend function\n\n! \n!cairo_font_type_t cairo_font_face_get_type (cairo_font_face_t *font_face);\nfunction cairo_font_face_get_type(font_face) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_font_face_get_type\n  type(c_ptr), value :: font_face\nend function\n\n! \n!void * cairo_font_face_get_user_data (cairo_font_face_t *font_face, const cairo_user_data_key_t *key);\nfunction cairo_font_face_get_user_data(font_face, key) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_font_face_get_user_data\n  type(c_ptr), value :: font_face\n  type(c_ptr), value :: key\nend function\n\n! \n!cairo_status_t cairo_font_face_set_user_data (cairo_font_face_t *font_face, const cairo_user_data_key_t *key, void *user_data, cairo_destroy_func_t destroy);\nfunction cairo_font_face_set_user_data(font_face, key, user_data, destroy)&\n& bind(c)\n  import :: c_int, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: cairo_font_face_set_user_data\n  type(c_ptr), value :: font_face\n  type(c_ptr), value :: key\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: destroy\nend function\n\n! \n!cairo_scaled_font_t * cairo_scaled_font_create (cairo_font_face_t *font_face, const cairo_matrix_t *font_matrix, const cairo_matrix_t *ctm, const cairo_font_options_t *options);\nfunction cairo_scaled_font_create(font_face, font_matrix, ctm, options) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_scaled_font_create\n  type(c_ptr), value :: font_face\n  type(c_ptr), value :: font_matrix\n  type(c_ptr), value :: ctm\n  type(c_ptr), value :: options\nend function\n\n! \n!cairo_scaled_font_t * cairo_scaled_font_reference (cairo_scaled_font_t *scaled_font);\nfunction cairo_scaled_font_reference(scaled_font) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_scaled_font_reference\n  type(c_ptr), value :: scaled_font\nend function\n\n! \n!void cairo_scaled_font_destroy (cairo_scaled_font_t *scaled_font);\nsubroutine cairo_scaled_font_destroy(scaled_font) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: scaled_font\nend subroutine\n\n! \n!unsigned int cairo_scaled_font_get_reference_count (cairo_scaled_font_t *scaled_font);\nfunction cairo_scaled_font_get_reference_count(scaled_font) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_scaled_font_get_reference_count\n  type(c_ptr), value :: scaled_font\nend function\n\n! \n!cairo_status_t cairo_scaled_font_status (cairo_scaled_font_t *scaled_font);\nfunction cairo_scaled_font_status(scaled_font) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_scaled_font_status\n  type(c_ptr), value :: scaled_font\nend function\n\n! \n!cairo_font_type_t cairo_scaled_font_get_type (cairo_scaled_font_t *scaled_font);\nfunction cairo_scaled_font_get_type(scaled_font) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_scaled_font_get_type\n  type(c_ptr), value :: scaled_font\nend function\n\n! \n!void * cairo_scaled_font_get_user_data (cairo_scaled_font_t *scaled_font, const cairo_user_data_key_t *key);\nfunction cairo_scaled_font_get_user_data(scaled_font, key) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_scaled_font_get_user_data\n  type(c_ptr), value :: scaled_font\n  type(c_ptr), value :: key\nend function\n\n! \n!cairo_status_t cairo_scaled_font_set_user_data (cairo_scaled_font_t *scaled_font, const cairo_user_data_key_t *key, void *user_data, cairo_destroy_func_t destroy);\nfunction cairo_scaled_font_set_user_data(scaled_font, key, user_data, destroy)&\n& bind(c)\n  import :: c_int, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: cairo_scaled_font_set_user_data\n  type(c_ptr), value :: scaled_font\n  type(c_ptr), value :: key\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: destroy\nend function\n\n! \n!void cairo_scaled_font_extents (cairo_scaled_font_t *scaled_font, cairo_font_extents_t *extents);\nsubroutine cairo_scaled_font_extents(scaled_font, extents) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: scaled_font\n  type(c_ptr), value :: extents\nend subroutine\n\n! \n!void cairo_scaled_font_text_extents (cairo_scaled_font_t *scaled_font, const char *utf8, cairo_text_extents_t *extents);\nsubroutine cairo_scaled_font_text_extents(scaled_font, utf8, extents) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: scaled_font\n  character(kind=c_char), dimension(*) :: utf8\n  type(c_ptr), value :: extents\nend subroutine\n\n! \n!void cairo_scaled_font_glyph_extents (cairo_scaled_font_t *scaled_font, const cairo_glyph_t *glyphs, int num_glyphs, cairo_text_extents_t *extents);\nsubroutine cairo_scaled_font_glyph_extents(scaled_font, glyphs, num_glyphs,&\n& extents) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: scaled_font\n  type(c_ptr), value :: glyphs\n  integer(c_int), value :: num_glyphs\n  type(c_ptr), value :: extents\nend subroutine\n\n! \n!cairo_status_t cairo_scaled_font_text_to_glyphs (cairo_scaled_font_t *scaled_font, double x, double y, const char *utf8, int utf8_len, cairo_glyph_t **glyphs, int *num_glyphs, cairo_text_cluster_t **clusters, int *num_clusters, cairo_text_cluster_flags_t *cluster_flags);\nfunction cairo_scaled_font_text_to_glyphs(scaled_font, x, y, utf8, utf8_len,&\n& glyphs, num_glyphs, clusters, num_clusters, cluster_flags) bind(c)\n  import :: c_int, c_ptr, c_double, c_char\n  implicit none\n  integer(c_int) :: cairo_scaled_font_text_to_glyphs\n  type(c_ptr), value :: scaled_font\n  real(c_double), value :: x\n  real(c_double), value :: y\n  character(kind=c_char), dimension(*) :: utf8\n  integer(c_int), value :: utf8_len\n  type(c_ptr), value :: glyphs\n  type(c_ptr), value :: num_glyphs\n  type(c_ptr), value :: clusters\n  type(c_ptr), value :: num_clusters\n  type(c_ptr), value :: cluster_flags\nend function\n\n! \n!cairo_font_face_t * cairo_scaled_font_get_font_face (cairo_scaled_font_t *scaled_font);\nfunction cairo_scaled_font_get_font_face(scaled_font) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_scaled_font_get_font_face\n  type(c_ptr), value :: scaled_font\nend function\n\n! \n!void cairo_scaled_font_get_font_matrix (cairo_scaled_font_t *scaled_font, cairo_matrix_t *font_matrix);\nsubroutine cairo_scaled_font_get_font_matrix(scaled_font, font_matrix) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: scaled_font\n  type(c_ptr), value :: font_matrix\nend subroutine\n\n! \n!void cairo_scaled_font_get_ctm (cairo_scaled_font_t *scaled_font, cairo_matrix_t *ctm);\nsubroutine cairo_scaled_font_get_ctm(scaled_font, ctm) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: scaled_font\n  type(c_ptr), value :: ctm\nend subroutine\n\n! \n!void cairo_scaled_font_get_scale_matrix (cairo_scaled_font_t *scaled_font, cairo_matrix_t *scale_matrix);\nsubroutine cairo_scaled_font_get_scale_matrix(scaled_font, scale_matrix)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: scaled_font\n  type(c_ptr), value :: scale_matrix\nend subroutine\n\n! \n!void cairo_scaled_font_get_font_options (cairo_scaled_font_t *scaled_font, cairo_font_options_t *options);\nsubroutine cairo_scaled_font_get_font_options(scaled_font, options) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: scaled_font\n  type(c_ptr), value :: options\nend subroutine\n\n! \n!cairo_font_face_t * cairo_toy_font_face_create (const char *family, cairo_font_slant_t slant, cairo_font_weight_t weight);\nfunction cairo_toy_font_face_create(family, slant, weight) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: cairo_toy_font_face_create\n  character(kind=c_char), dimension(*) :: family\n  integer(c_int), value :: slant\n  integer(c_int), value :: weight\nend function\n\n! \n!const char * cairo_toy_font_face_get_family (cairo_font_face_t *font_face);\nfunction cairo_toy_font_face_get_family(font_face) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_toy_font_face_get_family\n  type(c_ptr), value :: font_face\nend function\n\n! \n!cairo_font_slant_t cairo_toy_font_face_get_slant (cairo_font_face_t *font_face);\nfunction cairo_toy_font_face_get_slant(font_face) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_toy_font_face_get_slant\n  type(c_ptr), value :: font_face\nend function\n\n! \n!cairo_font_weight_t cairo_toy_font_face_get_weight (cairo_font_face_t *font_face);\nfunction cairo_toy_font_face_get_weight(font_face) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_toy_font_face_get_weight\n  type(c_ptr), value :: font_face\nend function\n\n! \n!cairo_font_face_t * cairo_user_font_face_create (void);\nfunction cairo_user_font_face_create() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_user_font_face_create\nend function\n\n! \n!void cairo_user_font_face_set_init_func (cairo_font_face_t *font_face, cairo_user_scaled_font_init_func_t init_func);\nsubroutine cairo_user_font_face_set_init_func(font_face, init_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: font_face\n  type(c_funptr), value :: init_func\nend subroutine\n\n! \n!void cairo_user_font_face_set_render_glyph_func (cairo_font_face_t *font_face, cairo_user_scaled_font_render_glyph_func_t render_glyph_func);\nsubroutine cairo_user_font_face_set_render_glyph_func(font_face,&\n& render_glyph_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: font_face\n  type(c_funptr), value :: render_glyph_func\nend subroutine\n\n! \n!void cairo_user_font_face_set_render_color_glyph_func (cairo_font_face_t *font_face, cairo_user_scaled_font_render_glyph_func_t render_glyph_func);\nsubroutine cairo_user_font_face_set_render_color_glyph_func(font_face,&\n& render_glyph_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: font_face\n  type(c_funptr), value :: render_glyph_func\nend subroutine\n\n! \n!void cairo_user_font_face_set_text_to_glyphs_func (cairo_font_face_t *font_face, cairo_user_scaled_font_text_to_glyphs_func_t text_to_glyphs_func);\nsubroutine cairo_user_font_face_set_text_to_glyphs_func(font_face,&\n& text_to_glyphs_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: font_face\n  type(c_funptr), value :: text_to_glyphs_func\nend subroutine\n\n! \n!void cairo_user_font_face_set_unicode_to_glyph_func (cairo_font_face_t *font_face, cairo_user_scaled_font_unicode_to_glyph_func_t unicode_to_glyph_func);\nsubroutine cairo_user_font_face_set_unicode_to_glyph_func(font_face,&\n& unicode_to_glyph_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: font_face\n  type(c_funptr), value :: unicode_to_glyph_func\nend subroutine\n\n! \n!cairo_user_scaled_font_init_func_t cairo_user_font_face_get_init_func (cairo_font_face_t *font_face);\nfunction cairo_user_font_face_get_init_func(font_face) bind(c)\n  import :: c_funptr, c_ptr\n  implicit none\n  type(c_funptr) :: cairo_user_font_face_get_init_func\n  type(c_ptr), value :: font_face\nend function\n\n! \n!cairo_user_scaled_font_render_glyph_func_t cairo_user_font_face_get_render_glyph_func (cairo_font_face_t *font_face);\nfunction cairo_user_font_face_get_render_glyph_func(font_face) bind(c)\n  import :: c_funptr, c_ptr\n  implicit none\n  type(c_funptr) :: cairo_user_font_face_get_render_glyph_func\n  type(c_ptr), value :: font_face\nend function\n\n! \n!cairo_user_scaled_font_render_glyph_func_t cairo_user_font_face_get_render_color_glyph_func (cairo_font_face_t *font_face);\nfunction cairo_user_font_face_get_render_color_glyph_func(font_face) bind(c)\n  import :: c_funptr, c_ptr\n  implicit none\n  type(c_funptr) :: cairo_user_font_face_get_render_color_glyph_func\n  type(c_ptr), value :: font_face\nend function\n\n! \n!cairo_user_scaled_font_text_to_glyphs_func_t cairo_user_font_face_get_text_to_glyphs_func (cairo_font_face_t *font_face);\nfunction cairo_user_font_face_get_text_to_glyphs_func(font_face) bind(c)\n  import :: c_funptr, c_ptr\n  implicit none\n  type(c_funptr) :: cairo_user_font_face_get_text_to_glyphs_func\n  type(c_ptr), value :: font_face\nend function\n\n! \n!cairo_user_scaled_font_unicode_to_glyph_func_t cairo_user_font_face_get_unicode_to_glyph_func (cairo_font_face_t *font_face);\nfunction cairo_user_font_face_get_unicode_to_glyph_func(font_face) bind(c)\n  import :: c_funptr, c_ptr\n  implicit none\n  type(c_funptr) :: cairo_user_font_face_get_unicode_to_glyph_func\n  type(c_ptr), value :: font_face\nend function\n\n! \n!cairo_pattern_t * cairo_user_scaled_font_get_foreground_marker (cairo_scaled_font_t *scaled_font);\nfunction cairo_user_scaled_font_get_foreground_marker(scaled_font) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_user_scaled_font_get_foreground_marker\n  type(c_ptr), value :: scaled_font\nend function\n\n! \n!cairo_pattern_t * cairo_user_scaled_font_get_foreground_source (cairo_scaled_font_t *scaled_font);\nfunction cairo_user_scaled_font_get_foreground_source(scaled_font) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_user_scaled_font_get_foreground_source\n  type(c_ptr), value :: scaled_font\nend function\n\n! \n!cairo_operator_t cairo_get_operator (cairo_t *cr);\nfunction cairo_get_operator(cr) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_get_operator\n  type(c_ptr), value :: cr\nend function\n\n! \n!cairo_pattern_t * cairo_get_source (cairo_t *cr);\nfunction cairo_get_source(cr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_get_source\n  type(c_ptr), value :: cr\nend function\n\n! \n!double cairo_get_tolerance (cairo_t *cr);\nfunction cairo_get_tolerance(cr) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: cairo_get_tolerance\n  type(c_ptr), value :: cr\nend function\n\n! \n!cairo_antialias_t cairo_get_antialias (cairo_t *cr);\nfunction cairo_get_antialias(cr) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_get_antialias\n  type(c_ptr), value :: cr\nend function\n\n! \n!cairo_bool_t cairo_has_current_point (cairo_t *cr);\nfunction cairo_has_current_point(cr) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_has_current_point\n  type(c_ptr), value :: cr\nend function\n\n! \n!void cairo_get_current_point (cairo_t *cr, double *x, double *y);\nsubroutine cairo_get_current_point(cr, x, y) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: x\n  type(c_ptr), value :: y\nend subroutine\n\n! \n!cairo_fill_rule_t cairo_get_fill_rule (cairo_t *cr);\nfunction cairo_get_fill_rule(cr) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_get_fill_rule\n  type(c_ptr), value :: cr\nend function\n\n! \n!double cairo_get_line_width (cairo_t *cr);\nfunction cairo_get_line_width(cr) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: cairo_get_line_width\n  type(c_ptr), value :: cr\nend function\n\n! \n!cairo_bool_t cairo_get_hairline (cairo_t *cr);\nfunction cairo_get_hairline(cr) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_get_hairline\n  type(c_ptr), value :: cr\nend function\n\n! \n!cairo_line_cap_t cairo_get_line_cap (cairo_t *cr);\nfunction cairo_get_line_cap(cr) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_get_line_cap\n  type(c_ptr), value :: cr\nend function\n\n! \n!cairo_line_join_t cairo_get_line_join (cairo_t *cr);\nfunction cairo_get_line_join(cr) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_get_line_join\n  type(c_ptr), value :: cr\nend function\n\n! \n!double cairo_get_miter_limit (cairo_t *cr);\nfunction cairo_get_miter_limit(cr) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: cairo_get_miter_limit\n  type(c_ptr), value :: cr\nend function\n\n! \n!int cairo_get_dash_count (cairo_t *cr);\nfunction cairo_get_dash_count(cr) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_get_dash_count\n  type(c_ptr), value :: cr\nend function\n\n! \n!void cairo_get_dash (cairo_t *cr, double *dashes, double *offset);\nsubroutine cairo_get_dash(cr, dashes, offset) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: dashes\n  type(c_ptr), value :: offset\nend subroutine\n\n! \n!void cairo_get_matrix (cairo_t *cr, cairo_matrix_t *matrix);\nsubroutine cairo_get_matrix(cr, matrix) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: matrix\nend subroutine\n\n! \n!cairo_surface_t * cairo_get_target (cairo_t *cr);\nfunction cairo_get_target(cr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_get_target\n  type(c_ptr), value :: cr\nend function\n\n! \n!cairo_surface_t * cairo_get_group_target (cairo_t *cr);\nfunction cairo_get_group_target(cr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_get_group_target\n  type(c_ptr), value :: cr\nend function\n\n! \n!cairo_path_t * cairo_copy_path (cairo_t *cr);\nfunction cairo_copy_path(cr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_copy_path\n  type(c_ptr), value :: cr\nend function\n\n! \n!cairo_path_t * cairo_copy_path_flat (cairo_t *cr);\nfunction cairo_copy_path_flat(cr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_copy_path_flat\n  type(c_ptr), value :: cr\nend function\n\n! \n!void cairo_append_path (cairo_t *cr, const cairo_path_t *path);\nsubroutine cairo_append_path(cr, path) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: path\nend subroutine\n\n! \n!void cairo_path_destroy (cairo_path_t *path);\nsubroutine cairo_path_destroy(path) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: path\nend subroutine\n\n! \n!cairo_status_t cairo_status (cairo_t *cr);\nfunction cairo_status(cr) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_status\n  type(c_ptr), value :: cr\nend function\n\n! \n!const char * cairo_status_to_string (cairo_status_t status);\nfunction cairo_status_to_string(status) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: cairo_status_to_string\n  integer(c_int), value :: status\nend function\n\n! \n!cairo_device_t * cairo_device_reference (cairo_device_t *device);\nfunction cairo_device_reference(device) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_device_reference\n  type(c_ptr), value :: device\nend function\n\n! \n!cairo_device_type_t cairo_device_get_type (cairo_device_t *device);\nfunction cairo_device_get_type(device) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_device_get_type\n  type(c_ptr), value :: device\nend function\n\n! \n!cairo_status_t cairo_device_status (cairo_device_t *device);\nfunction cairo_device_status(device) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_device_status\n  type(c_ptr), value :: device\nend function\n\n! \n!cairo_status_t cairo_device_acquire (cairo_device_t *device);\nfunction cairo_device_acquire(device) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_device_acquire\n  type(c_ptr), value :: device\nend function\n\n! \n!void cairo_device_release (cairo_device_t *device);\nsubroutine cairo_device_release(device) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: device\nend subroutine\n\n! \n!void cairo_device_flush (cairo_device_t *device);\nsubroutine cairo_device_flush(device) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: device\nend subroutine\n\n! \n!void cairo_device_finish (cairo_device_t *device);\nsubroutine cairo_device_finish(device) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: device\nend subroutine\n\n! \n!void cairo_device_destroy (cairo_device_t *device);\nsubroutine cairo_device_destroy(device) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: device\nend subroutine\n\n! \n!unsigned int cairo_device_get_reference_count (cairo_device_t *device);\nfunction cairo_device_get_reference_count(device) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_device_get_reference_count\n  type(c_ptr), value :: device\nend function\n\n! \n!void * cairo_device_get_user_data (cairo_device_t *device, const cairo_user_data_key_t *key);\nfunction cairo_device_get_user_data(device, key) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_device_get_user_data\n  type(c_ptr), value :: device\n  type(c_ptr), value :: key\nend function\n\n! \n!cairo_status_t cairo_device_set_user_data (cairo_device_t *device, const cairo_user_data_key_t *key, void *user_data, cairo_destroy_func_t destroy);\nfunction cairo_device_set_user_data(device, key, user_data, destroy) bind(c)\n  import :: c_int, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: cairo_device_set_user_data\n  type(c_ptr), value :: device\n  type(c_ptr), value :: key\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: destroy\nend function\n\n! \n!cairo_surface_t * cairo_surface_create_similar (cairo_surface_t *other, cairo_content_t content, int width, int height);\nfunction cairo_surface_create_similar(other, content, width, height) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: cairo_surface_create_similar\n  type(c_ptr), value :: other\n  integer(c_int), value :: content\n  integer(c_int), value :: width\n  integer(c_int), value :: height\nend function\n\n! \n!cairo_surface_t * cairo_surface_create_similar_image (cairo_surface_t *other, cairo_format_t format, int width, int height);\nfunction cairo_surface_create_similar_image(other, format, width, height)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: cairo_surface_create_similar_image\n  type(c_ptr), value :: other\n  integer(c_int), value :: format\n  integer(c_int), value :: width\n  integer(c_int), value :: height\nend function\n\n! \n!cairo_surface_t * cairo_surface_map_to_image (cairo_surface_t *surface, const cairo_rectangle_int_t *extents);\nfunction cairo_surface_map_to_image(surface, extents) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_surface_map_to_image\n  type(c_ptr), value :: surface\n  type(c_ptr), value :: extents\nend function\n\n! \n!void cairo_surface_unmap_image (cairo_surface_t *surface, cairo_surface_t *image);\nsubroutine cairo_surface_unmap_image(surface, image) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: surface\n  type(c_ptr), value :: image\nend subroutine\n\n! \n!cairo_surface_t * cairo_surface_create_for_rectangle (cairo_surface_t *target, double x, double y, double width, double height);\nfunction cairo_surface_create_for_rectangle(target, x, y, width, height)&\n& bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr) :: cairo_surface_create_for_rectangle\n  type(c_ptr), value :: target\n  real(c_double), value :: x\n  real(c_double), value :: y\n  real(c_double), value :: width\n  real(c_double), value :: height\nend function\n\n! \n!cairo_surface_t * cairo_surface_create_observer (cairo_surface_t *target, cairo_surface_observer_mode_t mode);\nfunction cairo_surface_create_observer(target, mode) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: cairo_surface_create_observer\n  type(c_ptr), value :: target\n  integer(c_int), value :: mode\nend function\n\n! \n!cairo_status_t cairo_surface_observer_add_paint_callback (cairo_surface_t *abstract_surface, cairo_surface_observer_callback_t func, void *data);\nfunction cairo_surface_observer_add_paint_callback(abstract_surface, func,&\n& data) bind(c)\n  import :: c_int, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: cairo_surface_observer_add_paint_callback\n  type(c_ptr), value :: abstract_surface\n  type(c_funptr), value :: func\n  type(c_ptr), value :: data\nend function\n\n! \n!cairo_status_t cairo_surface_observer_add_mask_callback (cairo_surface_t *abstract_surface, cairo_surface_observer_callback_t func, void *data);\nfunction cairo_surface_observer_add_mask_callback(abstract_surface, func, data)&\n& bind(c)\n  import :: c_int, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: cairo_surface_observer_add_mask_callback\n  type(c_ptr), value :: abstract_surface\n  type(c_funptr), value :: func\n  type(c_ptr), value :: data\nend function\n\n! \n!cairo_status_t cairo_surface_observer_add_fill_callback (cairo_surface_t *abstract_surface, cairo_surface_observer_callback_t func, void *data);\nfunction cairo_surface_observer_add_fill_callback(abstract_surface, func, data)&\n& bind(c)\n  import :: c_int, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: cairo_surface_observer_add_fill_callback\n  type(c_ptr), value :: abstract_surface\n  type(c_funptr), value :: func\n  type(c_ptr), value :: data\nend function\n\n! \n!cairo_status_t cairo_surface_observer_add_stroke_callback (cairo_surface_t *abstract_surface, cairo_surface_observer_callback_t func, void *data);\nfunction cairo_surface_observer_add_stroke_callback(abstract_surface, func,&\n& data) bind(c)\n  import :: c_int, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: cairo_surface_observer_add_stroke_callback\n  type(c_ptr), value :: abstract_surface\n  type(c_funptr), value :: func\n  type(c_ptr), value :: data\nend function\n\n! \n!cairo_status_t cairo_surface_observer_add_glyphs_callback (cairo_surface_t *abstract_surface, cairo_surface_observer_callback_t func, void *data);\nfunction cairo_surface_observer_add_glyphs_callback(abstract_surface, func,&\n& data) bind(c)\n  import :: c_int, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: cairo_surface_observer_add_glyphs_callback\n  type(c_ptr), value :: abstract_surface\n  type(c_funptr), value :: func\n  type(c_ptr), value :: data\nend function\n\n! \n!cairo_status_t cairo_surface_observer_add_flush_callback (cairo_surface_t *abstract_surface, cairo_surface_observer_callback_t func, void *data);\nfunction cairo_surface_observer_add_flush_callback(abstract_surface, func,&\n& data) bind(c)\n  import :: c_int, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: cairo_surface_observer_add_flush_callback\n  type(c_ptr), value :: abstract_surface\n  type(c_funptr), value :: func\n  type(c_ptr), value :: data\nend function\n\n! \n!cairo_status_t cairo_surface_observer_add_finish_callback (cairo_surface_t *abstract_surface, cairo_surface_observer_callback_t func, void *data);\nfunction cairo_surface_observer_add_finish_callback(abstract_surface, func,&\n& data) bind(c)\n  import :: c_int, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: cairo_surface_observer_add_finish_callback\n  type(c_ptr), value :: abstract_surface\n  type(c_funptr), value :: func\n  type(c_ptr), value :: data\nend function\n\n! \n!cairo_status_t cairo_surface_observer_print (cairo_surface_t *abstract_surface, cairo_write_func_t write_func, void *closure);\nfunction cairo_surface_observer_print(abstract_surface, write_func, closure)&\n& bind(c)\n  import :: c_int, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: cairo_surface_observer_print\n  type(c_ptr), value :: abstract_surface\n  type(c_funptr), value :: write_func\n  type(c_ptr), value :: closure\nend function\n\n! \n!double cairo_surface_observer_elapsed (cairo_surface_t *abstract_surface);\nfunction cairo_surface_observer_elapsed(abstract_surface) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: cairo_surface_observer_elapsed\n  type(c_ptr), value :: abstract_surface\nend function\n\n! \n!cairo_status_t cairo_device_observer_print (cairo_device_t *abstract_device, cairo_write_func_t write_func, void *closure);\nfunction cairo_device_observer_print(abstract_device, write_func, closure)&\n& bind(c)\n  import :: c_int, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: cairo_device_observer_print\n  type(c_ptr), value :: abstract_device\n  type(c_funptr), value :: write_func\n  type(c_ptr), value :: closure\nend function\n\n! \n!double cairo_device_observer_elapsed (cairo_device_t *abstract_device);\nfunction cairo_device_observer_elapsed(abstract_device) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: cairo_device_observer_elapsed\n  type(c_ptr), value :: abstract_device\nend function\n\n! \n!double cairo_device_observer_paint_elapsed (cairo_device_t *abstract_device);\nfunction cairo_device_observer_paint_elapsed(abstract_device) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: cairo_device_observer_paint_elapsed\n  type(c_ptr), value :: abstract_device\nend function\n\n! \n!double cairo_device_observer_mask_elapsed (cairo_device_t *abstract_device);\nfunction cairo_device_observer_mask_elapsed(abstract_device) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: cairo_device_observer_mask_elapsed\n  type(c_ptr), value :: abstract_device\nend function\n\n! \n!double cairo_device_observer_fill_elapsed (cairo_device_t *abstract_device);\nfunction cairo_device_observer_fill_elapsed(abstract_device) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: cairo_device_observer_fill_elapsed\n  type(c_ptr), value :: abstract_device\nend function\n\n! \n!double cairo_device_observer_stroke_elapsed (cairo_device_t *abstract_device);\nfunction cairo_device_observer_stroke_elapsed(abstract_device) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: cairo_device_observer_stroke_elapsed\n  type(c_ptr), value :: abstract_device\nend function\n\n! \n!double cairo_device_observer_glyphs_elapsed (cairo_device_t *abstract_device);\nfunction cairo_device_observer_glyphs_elapsed(abstract_device) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: cairo_device_observer_glyphs_elapsed\n  type(c_ptr), value :: abstract_device\nend function\n\n! \n!cairo_surface_t * cairo_surface_reference (cairo_surface_t *surface);\nfunction cairo_surface_reference(surface) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_surface_reference\n  type(c_ptr), value :: surface\nend function\n\n! \n!void cairo_surface_finish (cairo_surface_t *surface);\nsubroutine cairo_surface_finish(surface) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: surface\nend subroutine\n\n! \n!void cairo_surface_destroy (cairo_surface_t *surface);\nsubroutine cairo_surface_destroy(surface) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: surface\nend subroutine\n\n! \n!cairo_device_t * cairo_surface_get_device (cairo_surface_t *surface);\nfunction cairo_surface_get_device(surface) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_surface_get_device\n  type(c_ptr), value :: surface\nend function\n\n! \n!unsigned int cairo_surface_get_reference_count (cairo_surface_t *surface);\nfunction cairo_surface_get_reference_count(surface) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_surface_get_reference_count\n  type(c_ptr), value :: surface\nend function\n\n! \n!cairo_status_t cairo_surface_status (cairo_surface_t *surface);\nfunction cairo_surface_status(surface) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_surface_status\n  type(c_ptr), value :: surface\nend function\n\n! \n!cairo_surface_type_t cairo_surface_get_type (cairo_surface_t *surface);\nfunction cairo_surface_get_type(surface) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_surface_get_type\n  type(c_ptr), value :: surface\nend function\n\n! \n!cairo_content_t cairo_surface_get_content (cairo_surface_t *surface);\nfunction cairo_surface_get_content(surface) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_surface_get_content\n  type(c_ptr), value :: surface\nend function\n\n! \n!cairo_status_t cairo_surface_write_to_png (cairo_surface_t *surface, const char *filename);\nfunction cairo_surface_write_to_png(surface, filename) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: cairo_surface_write_to_png\n  type(c_ptr), value :: surface\n  character(kind=c_char), dimension(*) :: filename\nend function\n\n! \n!cairo_status_t cairo_surface_write_to_png_stream (cairo_surface_t *surface, cairo_write_func_t write_func, void *closure);\nfunction cairo_surface_write_to_png_stream(surface, write_func, closure)&\n& bind(c)\n  import :: c_int, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: cairo_surface_write_to_png_stream\n  type(c_ptr), value :: surface\n  type(c_funptr), value :: write_func\n  type(c_ptr), value :: closure\nend function\n\n! \n!void * cairo_surface_get_user_data (cairo_surface_t *surface, const cairo_user_data_key_t *key);\nfunction cairo_surface_get_user_data(surface, key) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_surface_get_user_data\n  type(c_ptr), value :: surface\n  type(c_ptr), value :: key\nend function\n\n! \n!cairo_status_t cairo_surface_set_user_data (cairo_surface_t *surface, const cairo_user_data_key_t *key, void *user_data, cairo_destroy_func_t destroy);\nfunction cairo_surface_set_user_data(surface, key, user_data, destroy) bind(c)\n  import :: c_int, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: cairo_surface_set_user_data\n  type(c_ptr), value :: surface\n  type(c_ptr), value :: key\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: destroy\nend function\n\n! \n!void cairo_surface_get_mime_data (cairo_surface_t *surface, const char *mime_type, const unsigned char **data, unsigned long *length);\nsubroutine cairo_surface_get_mime_data(surface, mime_type, data, length)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: surface\n  character(kind=c_char), dimension(*) :: mime_type\n  type(c_ptr), value :: data\n  type(c_ptr), value :: length\nend subroutine\n\n! \n!cairo_status_t cairo_surface_set_mime_data (cairo_surface_t *surface, const char *mime_type, const unsigned char *data, unsigned long length, cairo_destroy_func_t destroy, void *closure);\nfunction cairo_surface_set_mime_data(surface, mime_type, data, length, destroy,&\n& closure) bind(c)\n  import :: c_int, c_ptr, c_char, c_long, c_funptr\n  implicit none\n  integer(c_int) :: cairo_surface_set_mime_data\n  type(c_ptr), value :: surface\n  character(kind=c_char), dimension(*) :: mime_type\n  type(c_ptr), value :: data\n  integer(c_long), value :: length\n  type(c_funptr), value :: destroy\n  type(c_ptr), value :: closure\nend function\n\n! \n!cairo_bool_t cairo_surface_supports_mime_type (cairo_surface_t *surface, const char *mime_type);\nfunction cairo_surface_supports_mime_type(surface, mime_type) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: cairo_surface_supports_mime_type\n  type(c_ptr), value :: surface\n  character(kind=c_char), dimension(*) :: mime_type\nend function\n\n! \n!void cairo_surface_get_font_options (cairo_surface_t *surface, cairo_font_options_t *options);\nsubroutine cairo_surface_get_font_options(surface, options) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: surface\n  type(c_ptr), value :: options\nend subroutine\n\n! \n!void cairo_surface_flush (cairo_surface_t *surface);\nsubroutine cairo_surface_flush(surface) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: surface\nend subroutine\n\n! \n!void cairo_surface_mark_dirty (cairo_surface_t *surface);\nsubroutine cairo_surface_mark_dirty(surface) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: surface\nend subroutine\n\n! \n!void cairo_surface_mark_dirty_rectangle (cairo_surface_t *surface, int x, int y, int width, int height);\nsubroutine cairo_surface_mark_dirty_rectangle(surface, x, y, width, height)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: surface\n  integer(c_int), value :: x\n  integer(c_int), value :: y\n  integer(c_int), value :: width\n  integer(c_int), value :: height\nend subroutine\n\n! \n!void cairo_surface_set_device_scale (cairo_surface_t *surface, double x_scale, double y_scale);\nsubroutine cairo_surface_set_device_scale(surface, x_scale, y_scale) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: surface\n  real(c_double), value :: x_scale\n  real(c_double), value :: y_scale\nend subroutine\n\n! \n!void cairo_surface_get_device_scale (cairo_surface_t *surface, double *x_scale, double *y_scale);\nsubroutine cairo_surface_get_device_scale(surface, x_scale, y_scale) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: surface\n  type(c_ptr), value :: x_scale\n  type(c_ptr), value :: y_scale\nend subroutine\n\n! \n!void cairo_surface_set_device_offset (cairo_surface_t *surface, double x_offset, double y_offset);\nsubroutine cairo_surface_set_device_offset(surface, x_offset, y_offset) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: surface\n  real(c_double), value :: x_offset\n  real(c_double), value :: y_offset\nend subroutine\n\n! \n!void cairo_surface_get_device_offset (cairo_surface_t *surface, double *x_offset, double *y_offset);\nsubroutine cairo_surface_get_device_offset(surface, x_offset, y_offset) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: surface\n  type(c_ptr), value :: x_offset\n  type(c_ptr), value :: y_offset\nend subroutine\n\n! \n!void cairo_surface_set_fallback_resolution (cairo_surface_t *surface, double x_pixels_per_inch, double y_pixels_per_inch);\nsubroutine cairo_surface_set_fallback_resolution(surface, x_pixels_per_inch,&\n& y_pixels_per_inch) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: surface\n  real(c_double), value :: x_pixels_per_inch\n  real(c_double), value :: y_pixels_per_inch\nend subroutine\n\n! \n!void cairo_surface_get_fallback_resolution (cairo_surface_t *surface, double *x_pixels_per_inch, double *y_pixels_per_inch);\nsubroutine cairo_surface_get_fallback_resolution(surface, x_pixels_per_inch,&\n& y_pixels_per_inch) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: surface\n  type(c_ptr), value :: x_pixels_per_inch\n  type(c_ptr), value :: y_pixels_per_inch\nend subroutine\n\n! \n!void cairo_surface_copy_page (cairo_surface_t *surface);\nsubroutine cairo_surface_copy_page(surface) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: surface\nend subroutine\n\n! \n!void cairo_surface_show_page (cairo_surface_t *surface);\nsubroutine cairo_surface_show_page(surface) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: surface\nend subroutine\n\n! \n!cairo_bool_t cairo_surface_has_show_text_glyphs (cairo_surface_t *surface);\nfunction cairo_surface_has_show_text_glyphs(surface) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_surface_has_show_text_glyphs\n  type(c_ptr), value :: surface\nend function\n\n! \n!cairo_surface_t * cairo_image_surface_create (cairo_format_t format, int width, int height);\nfunction cairo_image_surface_create(format, width, height) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: cairo_image_surface_create\n  integer(c_int), value :: format\n  integer(c_int), value :: width\n  integer(c_int), value :: height\nend function\n\n! \n!int cairo_format_stride_for_width (cairo_format_t format, int width);\nfunction cairo_format_stride_for_width(format, width) bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: cairo_format_stride_for_width\n  integer(c_int), value :: format\n  integer(c_int), value :: width\nend function\n\n! \n!cairo_surface_t * cairo_image_surface_create_for_data (unsigned char *data, cairo_format_t format, int width, int height, int stride);\nfunction cairo_image_surface_create_for_data(data, format, width, height,&\n& stride) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: cairo_image_surface_create_for_data\n  type(c_ptr), value :: data\n  integer(c_int), value :: format\n  integer(c_int), value :: width\n  integer(c_int), value :: height\n  integer(c_int), value :: stride\nend function\n\n! \n!unsigned char * cairo_image_surface_get_data (cairo_surface_t *surface);\nfunction cairo_image_surface_get_data(surface) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_image_surface_get_data\n  type(c_ptr), value :: surface\nend function\n\n! \n!cairo_format_t cairo_image_surface_get_format (cairo_surface_t *surface);\nfunction cairo_image_surface_get_format(surface) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_image_surface_get_format\n  type(c_ptr), value :: surface\nend function\n\n! \n!int cairo_image_surface_get_width (cairo_surface_t *surface);\nfunction cairo_image_surface_get_width(surface) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_image_surface_get_width\n  type(c_ptr), value :: surface\nend function\n\n! \n!int cairo_image_surface_get_height (cairo_surface_t *surface);\nfunction cairo_image_surface_get_height(surface) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_image_surface_get_height\n  type(c_ptr), value :: surface\nend function\n\n! \n!int cairo_image_surface_get_stride (cairo_surface_t *surface);\nfunction cairo_image_surface_get_stride(surface) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_image_surface_get_stride\n  type(c_ptr), value :: surface\nend function\n\n! \n!cairo_surface_t * cairo_image_surface_create_from_png (const char *filename);\nfunction cairo_image_surface_create_from_png(filename) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: cairo_image_surface_create_from_png\n  character(kind=c_char), dimension(*) :: filename\nend function\n\n! \n!cairo_surface_t * cairo_image_surface_create_from_png_stream (cairo_read_func_t read_func, void *closure);\nfunction cairo_image_surface_create_from_png_stream(read_func, closure) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: cairo_image_surface_create_from_png_stream\n  type(c_funptr), value :: read_func\n  type(c_ptr), value :: closure\nend function\n\n! \n!cairo_surface_t * cairo_recording_surface_create (cairo_content_t content, const cairo_rectangle_t *extents);\nfunction cairo_recording_surface_create(content, extents) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: cairo_recording_surface_create\n  integer(c_int), value :: content\n  type(c_ptr), value :: extents\nend function\n\n! \n!void cairo_recording_surface_ink_extents (cairo_surface_t *surface, double *x0, double *y0, double *width, double *height);\nsubroutine cairo_recording_surface_ink_extents(surface, x0, y0, width, height)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: surface\n  type(c_ptr), value :: x0\n  type(c_ptr), value :: y0\n  type(c_ptr), value :: width\n  type(c_ptr), value :: height\nend subroutine\n\n! \n!cairo_bool_t cairo_recording_surface_get_extents (cairo_surface_t *surface, cairo_rectangle_t *extents);\nfunction cairo_recording_surface_get_extents(surface, extents) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_recording_surface_get_extents\n  type(c_ptr), value :: surface\n  type(c_ptr), value :: extents\nend function\n\n! \n!cairo_pattern_t * cairo_pattern_create_raster_source (void *user_data, cairo_content_t content, int width, int height);\nfunction cairo_pattern_create_raster_source(user_data, content, width, height)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: cairo_pattern_create_raster_source\n  type(c_ptr), value :: user_data\n  integer(c_int), value :: content\n  integer(c_int), value :: width\n  integer(c_int), value :: height\nend function\n\n! \n!void cairo_raster_source_pattern_set_callback_data (cairo_pattern_t *pattern, void *data);\nsubroutine cairo_raster_source_pattern_set_callback_data(pattern, data) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: pattern\n  type(c_ptr), value :: data\nend subroutine\n\n! \n!void * cairo_raster_source_pattern_get_callback_data (cairo_pattern_t *pattern);\nfunction cairo_raster_source_pattern_get_callback_data(pattern) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_raster_source_pattern_get_callback_data\n  type(c_ptr), value :: pattern\nend function\n\n! \n!void cairo_raster_source_pattern_set_acquire (cairo_pattern_t *pattern, cairo_raster_source_acquire_func_t acquire, cairo_raster_source_release_func_t release);\nsubroutine cairo_raster_source_pattern_set_acquire(pattern, acquire, release)&\n& bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: pattern\n  type(c_funptr), value :: acquire\n  type(c_funptr), value :: release\nend subroutine\n\n! \n!void cairo_raster_source_pattern_get_acquire (cairo_pattern_t *pattern, cairo_raster_source_acquire_func_t *acquire, cairo_raster_source_release_func_t *release);\nsubroutine cairo_raster_source_pattern_get_acquire(pattern, acquire, release)&\n& bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: pattern\n  type(c_funptr), value :: acquire\n  type(c_funptr), value :: release\nend subroutine\n\n! \n!void cairo_raster_source_pattern_set_snapshot (cairo_pattern_t *pattern, cairo_raster_source_snapshot_func_t snapshot);\nsubroutine cairo_raster_source_pattern_set_snapshot(pattern, snapshot) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: pattern\n  type(c_funptr), value :: snapshot\nend subroutine\n\n! \n!cairo_raster_source_snapshot_func_t cairo_raster_source_pattern_get_snapshot (cairo_pattern_t *pattern);\nfunction cairo_raster_source_pattern_get_snapshot(pattern) bind(c)\n  import :: c_funptr, c_ptr\n  implicit none\n  type(c_funptr) :: cairo_raster_source_pattern_get_snapshot\n  type(c_ptr), value :: pattern\nend function\n\n! \n!void cairo_raster_source_pattern_set_copy (cairo_pattern_t *pattern, cairo_raster_source_copy_func_t copy);\nsubroutine cairo_raster_source_pattern_set_copy(pattern, copy) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: pattern\n  type(c_funptr), value :: copy\nend subroutine\n\n! \n!cairo_raster_source_copy_func_t cairo_raster_source_pattern_get_copy (cairo_pattern_t *pattern);\nfunction cairo_raster_source_pattern_get_copy(pattern) bind(c)\n  import :: c_funptr, c_ptr\n  implicit none\n  type(c_funptr) :: cairo_raster_source_pattern_get_copy\n  type(c_ptr), value :: pattern\nend function\n\n! \n!void cairo_raster_source_pattern_set_finish (cairo_pattern_t *pattern, cairo_raster_source_finish_func_t finish);\nsubroutine cairo_raster_source_pattern_set_finish(pattern, finish) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: pattern\n  type(c_funptr), value :: finish\nend subroutine\n\n! \n!cairo_raster_source_finish_func_t cairo_raster_source_pattern_get_finish (cairo_pattern_t *pattern);\nfunction cairo_raster_source_pattern_get_finish(pattern) bind(c)\n  import :: c_funptr, c_ptr\n  implicit none\n  type(c_funptr) :: cairo_raster_source_pattern_get_finish\n  type(c_ptr), value :: pattern\nend function\n\n! \n!cairo_pattern_t * cairo_pattern_create_rgb (double red, double green, double blue);\nfunction cairo_pattern_create_rgb(red, green, blue) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr) :: cairo_pattern_create_rgb\n  real(c_double), value :: red\n  real(c_double), value :: green\n  real(c_double), value :: blue\nend function\n\n! \n!cairo_pattern_t * cairo_pattern_create_rgba (double red, double green, double blue, double alpha);\nfunction cairo_pattern_create_rgba(red, green, blue, alpha) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr) :: cairo_pattern_create_rgba\n  real(c_double), value :: red\n  real(c_double), value :: green\n  real(c_double), value :: blue\n  real(c_double), value :: alpha\nend function\n\n! \n!cairo_pattern_t * cairo_pattern_create_for_surface (cairo_surface_t *surface);\nfunction cairo_pattern_create_for_surface(surface) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_pattern_create_for_surface\n  type(c_ptr), value :: surface\nend function\n\n! \n!cairo_pattern_t * cairo_pattern_create_linear (double x0, double y0, double x1, double y1);\nfunction cairo_pattern_create_linear(x0, y0, x1, y1) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr) :: cairo_pattern_create_linear\n  real(c_double), value :: x0\n  real(c_double), value :: y0\n  real(c_double), value :: x1\n  real(c_double), value :: y1\nend function\n\n! \n!cairo_pattern_t * cairo_pattern_create_radial (double cx0, double cy0, double radius0, double cx1, double cy1, double radius1);\nfunction cairo_pattern_create_radial(cx0, cy0, radius0, cx1, cy1, radius1)&\n& bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr) :: cairo_pattern_create_radial\n  real(c_double), value :: cx0\n  real(c_double), value :: cy0\n  real(c_double), value :: radius0\n  real(c_double), value :: cx1\n  real(c_double), value :: cy1\n  real(c_double), value :: radius1\nend function\n\n! \n!cairo_pattern_t * cairo_pattern_create_mesh (void);\nfunction cairo_pattern_create_mesh() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_pattern_create_mesh\nend function\n\n! \n!cairo_pattern_t * cairo_pattern_reference (cairo_pattern_t *pattern);\nfunction cairo_pattern_reference(pattern) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_pattern_reference\n  type(c_ptr), value :: pattern\nend function\n\n! \n!void cairo_pattern_destroy (cairo_pattern_t *pattern);\nsubroutine cairo_pattern_destroy(pattern) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: pattern\nend subroutine\n\n! \n!unsigned int cairo_pattern_get_reference_count (cairo_pattern_t *pattern);\nfunction cairo_pattern_get_reference_count(pattern) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_pattern_get_reference_count\n  type(c_ptr), value :: pattern\nend function\n\n! \n!cairo_status_t cairo_pattern_status (cairo_pattern_t *pattern);\nfunction cairo_pattern_status(pattern) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_pattern_status\n  type(c_ptr), value :: pattern\nend function\n\n! \n!void * cairo_pattern_get_user_data (cairo_pattern_t *pattern, const cairo_user_data_key_t *key);\nfunction cairo_pattern_get_user_data(pattern, key) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_pattern_get_user_data\n  type(c_ptr), value :: pattern\n  type(c_ptr), value :: key\nend function\n\n! \n!cairo_status_t cairo_pattern_set_user_data (cairo_pattern_t *pattern, const cairo_user_data_key_t *key, void *user_data, cairo_destroy_func_t destroy);\nfunction cairo_pattern_set_user_data(pattern, key, user_data, destroy) bind(c)\n  import :: c_int, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: cairo_pattern_set_user_data\n  type(c_ptr), value :: pattern\n  type(c_ptr), value :: key\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: destroy\nend function\n\n! \n!cairo_pattern_type_t cairo_pattern_get_type (cairo_pattern_t *pattern);\nfunction cairo_pattern_get_type(pattern) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_pattern_get_type\n  type(c_ptr), value :: pattern\nend function\n\n! \n!void cairo_pattern_add_color_stop_rgb (cairo_pattern_t *pattern, double offset, double red, double green, double blue);\nsubroutine cairo_pattern_add_color_stop_rgb(pattern, offset, red, green, blue)&\n& bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: pattern\n  real(c_double), value :: offset\n  real(c_double), value :: red\n  real(c_double), value :: green\n  real(c_double), value :: blue\nend subroutine\n\n! \n!void cairo_pattern_add_color_stop_rgba (cairo_pattern_t *pattern, double offset, double red, double green, double blue, double alpha);\nsubroutine cairo_pattern_add_color_stop_rgba(pattern, offset, red, green, blue,&\n& alpha) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: pattern\n  real(c_double), value :: offset\n  real(c_double), value :: red\n  real(c_double), value :: green\n  real(c_double), value :: blue\n  real(c_double), value :: alpha\nend subroutine\n\n! \n!void cairo_mesh_pattern_begin_patch (cairo_pattern_t *pattern);\nsubroutine cairo_mesh_pattern_begin_patch(pattern) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: pattern\nend subroutine\n\n! \n!void cairo_mesh_pattern_end_patch (cairo_pattern_t *pattern);\nsubroutine cairo_mesh_pattern_end_patch(pattern) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: pattern\nend subroutine\n\n! \n!void cairo_mesh_pattern_curve_to (cairo_pattern_t *pattern, double x1, double y1, double x2, double y2, double x3, double y3);\nsubroutine cairo_mesh_pattern_curve_to(pattern, x1, y1, x2, y2, x3, y3) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: pattern\n  real(c_double), value :: x1\n  real(c_double), value :: y1\n  real(c_double), value :: x2\n  real(c_double), value :: y2\n  real(c_double), value :: x3\n  real(c_double), value :: y3\nend subroutine\n\n! \n!void cairo_mesh_pattern_line_to (cairo_pattern_t *pattern, double x, double y);\nsubroutine cairo_mesh_pattern_line_to(pattern, x, y) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: pattern\n  real(c_double), value :: x\n  real(c_double), value :: y\nend subroutine\n\n! \n!void cairo_mesh_pattern_move_to (cairo_pattern_t *pattern, double x, double y);\nsubroutine cairo_mesh_pattern_move_to(pattern, x, y) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: pattern\n  real(c_double), value :: x\n  real(c_double), value :: y\nend subroutine\n\n! \n!void cairo_mesh_pattern_set_control_point (cairo_pattern_t *pattern, unsigned int point_num, double x, double y);\nsubroutine cairo_mesh_pattern_set_control_point(pattern, point_num, x, y)&\n& bind(c)\n  import :: c_ptr, c_int, c_double\n  implicit none\n  type(c_ptr), value :: pattern\n  integer(c_int), value :: point_num\n  real(c_double), value :: x\n  real(c_double), value :: y\nend subroutine\n\n! \n!void cairo_mesh_pattern_set_corner_color_rgb (cairo_pattern_t *pattern, unsigned int corner_num, double red, double green, double blue);\nsubroutine cairo_mesh_pattern_set_corner_color_rgb(pattern, corner_num, red,&\n& green, blue) bind(c)\n  import :: c_ptr, c_int, c_double\n  implicit none\n  type(c_ptr), value :: pattern\n  integer(c_int), value :: corner_num\n  real(c_double), value :: red\n  real(c_double), value :: green\n  real(c_double), value :: blue\nend subroutine\n\n! \n!void cairo_mesh_pattern_set_corner_color_rgba (cairo_pattern_t *pattern, unsigned int corner_num, double red, double green, double blue, double alpha);\nsubroutine cairo_mesh_pattern_set_corner_color_rgba(pattern, corner_num, red,&\n& green, blue, alpha) bind(c)\n  import :: c_ptr, c_int, c_double\n  implicit none\n  type(c_ptr), value :: pattern\n  integer(c_int), value :: corner_num\n  real(c_double), value :: red\n  real(c_double), value :: green\n  real(c_double), value :: blue\n  real(c_double), value :: alpha\nend subroutine\n\n! \n!void cairo_pattern_set_matrix (cairo_pattern_t *pattern, const cairo_matrix_t *matrix);\nsubroutine cairo_pattern_set_matrix(pattern, matrix) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: pattern\n  type(c_ptr), value :: matrix\nend subroutine\n\n! \n!void cairo_pattern_get_matrix (cairo_pattern_t *pattern, cairo_matrix_t *matrix);\nsubroutine cairo_pattern_get_matrix(pattern, matrix) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: pattern\n  type(c_ptr), value :: matrix\nend subroutine\n\n! \n!void cairo_pattern_set_extend (cairo_pattern_t *pattern, cairo_extend_t extend);\nsubroutine cairo_pattern_set_extend(pattern, extend) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: pattern\n  integer(c_int), value :: extend\nend subroutine\n\n! \n!cairo_extend_t cairo_pattern_get_extend (cairo_pattern_t *pattern);\nfunction cairo_pattern_get_extend(pattern) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_pattern_get_extend\n  type(c_ptr), value :: pattern\nend function\n\n! \n!void cairo_pattern_set_filter (cairo_pattern_t *pattern, cairo_filter_t filter);\nsubroutine cairo_pattern_set_filter(pattern, filter) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: pattern\n  integer(c_int), value :: filter\nend subroutine\n\n! \n!cairo_filter_t cairo_pattern_get_filter (cairo_pattern_t *pattern);\nfunction cairo_pattern_get_filter(pattern) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_pattern_get_filter\n  type(c_ptr), value :: pattern\nend function\n\n! \n!cairo_status_t cairo_pattern_get_rgba (cairo_pattern_t *pattern, double *red, double *green, double *blue, double *alpha);\nfunction cairo_pattern_get_rgba(pattern, red, green, blue, alpha) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_pattern_get_rgba\n  type(c_ptr), value :: pattern\n  type(c_ptr), value :: red\n  type(c_ptr), value :: green\n  type(c_ptr), value :: blue\n  type(c_ptr), value :: alpha\nend function\n\n! \n!cairo_status_t cairo_pattern_get_surface (cairo_pattern_t *pattern, cairo_surface_t **surface);\nfunction cairo_pattern_get_surface(pattern, surface) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_pattern_get_surface\n  type(c_ptr), value :: pattern\n  type(c_ptr), value :: surface\nend function\n\n! \n!cairo_status_t cairo_pattern_get_color_stop_rgba (cairo_pattern_t *pattern, int index, double *offset, double *red, double *green, double *blue, double *alpha);\nfunction cairo_pattern_get_color_stop_rgba(pattern, index, offset, red, green,&\n& blue, alpha) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_pattern_get_color_stop_rgba\n  type(c_ptr), value :: pattern\n  integer(c_int), value :: index\n  type(c_ptr), value :: offset\n  type(c_ptr), value :: red\n  type(c_ptr), value :: green\n  type(c_ptr), value :: blue\n  type(c_ptr), value :: alpha\nend function\n\n! \n!cairo_status_t cairo_pattern_get_color_stop_count (cairo_pattern_t *pattern, int *count);\nfunction cairo_pattern_get_color_stop_count(pattern, count) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_pattern_get_color_stop_count\n  type(c_ptr), value :: pattern\n  type(c_ptr), value :: count\nend function\n\n! \n!cairo_status_t cairo_pattern_get_linear_points (cairo_pattern_t *pattern, double *x0, double *y0, double *x1, double *y1);\nfunction cairo_pattern_get_linear_points(pattern, x0, y0, x1, y1) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_pattern_get_linear_points\n  type(c_ptr), value :: pattern\n  type(c_ptr), value :: x0\n  type(c_ptr), value :: y0\n  type(c_ptr), value :: x1\n  type(c_ptr), value :: y1\nend function\n\n! \n!cairo_status_t cairo_pattern_get_radial_circles (cairo_pattern_t *pattern, double *x0, double *y0, double *r0, double *x1, double *y1, double *r1);\nfunction cairo_pattern_get_radial_circles(pattern, x0, y0, r0, x1, y1, r1)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_pattern_get_radial_circles\n  type(c_ptr), value :: pattern\n  type(c_ptr), value :: x0\n  type(c_ptr), value :: y0\n  type(c_ptr), value :: r0\n  type(c_ptr), value :: x1\n  type(c_ptr), value :: y1\n  type(c_ptr), value :: r1\nend function\n\n! \n!cairo_status_t cairo_mesh_pattern_get_patch_count (cairo_pattern_t *pattern, unsigned int *count);\nfunction cairo_mesh_pattern_get_patch_count(pattern, count) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_mesh_pattern_get_patch_count\n  type(c_ptr), value :: pattern\n  type(c_ptr), value :: count\nend function\n\n! \n!cairo_path_t * cairo_mesh_pattern_get_path (cairo_pattern_t *pattern, unsigned int patch_num);\nfunction cairo_mesh_pattern_get_path(pattern, patch_num) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: cairo_mesh_pattern_get_path\n  type(c_ptr), value :: pattern\n  integer(c_int), value :: patch_num\nend function\n\n! \n!cairo_status_t cairo_mesh_pattern_get_corner_color_rgba (cairo_pattern_t *pattern, unsigned int patch_num, unsigned int corner_num, double *red, double *green, double *blue, double *alpha);\nfunction cairo_mesh_pattern_get_corner_color_rgba(pattern, patch_num,&\n& corner_num, red, green, blue, alpha) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_mesh_pattern_get_corner_color_rgba\n  type(c_ptr), value :: pattern\n  integer(c_int), value :: patch_num\n  integer(c_int), value :: corner_num\n  type(c_ptr), value :: red\n  type(c_ptr), value :: green\n  type(c_ptr), value :: blue\n  type(c_ptr), value :: alpha\nend function\n\n! \n!cairo_status_t cairo_mesh_pattern_get_control_point (cairo_pattern_t *pattern, unsigned int patch_num, unsigned int point_num, double *x, double *y);\nfunction cairo_mesh_pattern_get_control_point(pattern, patch_num, point_num, x,&\n& y) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_mesh_pattern_get_control_point\n  type(c_ptr), value :: pattern\n  integer(c_int), value :: patch_num\n  integer(c_int), value :: point_num\n  type(c_ptr), value :: x\n  type(c_ptr), value :: y\nend function\n\n! \n!void cairo_matrix_init (cairo_matrix_t *matrix, double xx, double yx, double xy, double yy, double x0, double y0);\nsubroutine cairo_matrix_init(matrix, xx, yx, xy, yy, x0, y0) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: matrix\n  real(c_double), value :: xx\n  real(c_double), value :: yx\n  real(c_double), value :: xy\n  real(c_double), value :: yy\n  real(c_double), value :: x0\n  real(c_double), value :: y0\nend subroutine\n\n! \n!void cairo_matrix_init_identity (cairo_matrix_t *matrix);\nsubroutine cairo_matrix_init_identity(matrix) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: matrix\nend subroutine\n\n! \n!void cairo_matrix_init_translate (cairo_matrix_t *matrix, double tx, double ty);\nsubroutine cairo_matrix_init_translate(matrix, tx, ty) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: matrix\n  real(c_double), value :: tx\n  real(c_double), value :: ty\nend subroutine\n\n! \n!void cairo_matrix_init_scale (cairo_matrix_t *matrix, double sx, double sy);\nsubroutine cairo_matrix_init_scale(matrix, sx, sy) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: matrix\n  real(c_double), value :: sx\n  real(c_double), value :: sy\nend subroutine\n\n! \n!void cairo_matrix_init_rotate (cairo_matrix_t *matrix, double radians);\nsubroutine cairo_matrix_init_rotate(matrix, radians) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: matrix\n  real(c_double), value :: radians\nend subroutine\n\n! \n!void cairo_matrix_translate (cairo_matrix_t *matrix, double tx, double ty);\nsubroutine cairo_matrix_translate(matrix, tx, ty) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: matrix\n  real(c_double), value :: tx\n  real(c_double), value :: ty\nend subroutine\n\n! \n!void cairo_matrix_scale (cairo_matrix_t *matrix, double sx, double sy);\nsubroutine cairo_matrix_scale(matrix, sx, sy) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: matrix\n  real(c_double), value :: sx\n  real(c_double), value :: sy\nend subroutine\n\n! \n!void cairo_matrix_rotate (cairo_matrix_t *matrix, double radians);\nsubroutine cairo_matrix_rotate(matrix, radians) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: matrix\n  real(c_double), value :: radians\nend subroutine\n\n! \n!cairo_status_t cairo_matrix_invert (cairo_matrix_t *matrix);\nfunction cairo_matrix_invert(matrix) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_matrix_invert\n  type(c_ptr), value :: matrix\nend function\n\n! \n!void cairo_matrix_multiply (cairo_matrix_t *result, const cairo_matrix_t *a, const cairo_matrix_t *b);\nsubroutine cairo_matrix_multiply(result, a, b) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: result\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\nend subroutine\n\n! \n!void cairo_matrix_transform_distance (const cairo_matrix_t *matrix, double *dx, double *dy);\nsubroutine cairo_matrix_transform_distance(matrix, dx, dy) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: matrix\n  type(c_ptr), value :: dx\n  type(c_ptr), value :: dy\nend subroutine\n\n! \n!void cairo_matrix_transform_point (const cairo_matrix_t *matrix, double *x, double *y);\nsubroutine cairo_matrix_transform_point(matrix, x, y) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: matrix\n  type(c_ptr), value :: x\n  type(c_ptr), value :: y\nend subroutine\n\n! \n!cairo_region_t * cairo_region_create (void);\nfunction cairo_region_create() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_region_create\nend function\n\n! \n!cairo_region_t * cairo_region_create_rectangle (const cairo_rectangle_int_t *rectangle);\nfunction cairo_region_create_rectangle(rectangle) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_region_create_rectangle\n  type(c_ptr), value :: rectangle\nend function\n\n! \n!cairo_region_t * cairo_region_create_rectangles (const cairo_rectangle_int_t *rects, int count);\nfunction cairo_region_create_rectangles(rects, count) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: cairo_region_create_rectangles\n  type(c_ptr), value :: rects\n  integer(c_int), value :: count\nend function\n\n! \n!cairo_region_t * cairo_region_copy (const cairo_region_t *original);\nfunction cairo_region_copy(original) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_region_copy\n  type(c_ptr), value :: original\nend function\n\n! \n!cairo_region_t * cairo_region_reference (cairo_region_t *region);\nfunction cairo_region_reference(region) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: cairo_region_reference\n  type(c_ptr), value :: region\nend function\n\n! \n!void cairo_region_destroy (cairo_region_t *region);\nsubroutine cairo_region_destroy(region) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: region\nend subroutine\n\n! \n!cairo_bool_t cairo_region_equal (const cairo_region_t *a, const cairo_region_t *b);\nfunction cairo_region_equal(a, b) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_region_equal\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\nend function\n\n! \n!cairo_status_t cairo_region_status (const cairo_region_t *region);\nfunction cairo_region_status(region) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_region_status\n  type(c_ptr), value :: region\nend function\n\n! \n!void cairo_region_get_extents (const cairo_region_t *region, cairo_rectangle_int_t *extents);\nsubroutine cairo_region_get_extents(region, extents) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: region\n  type(c_ptr), value :: extents\nend subroutine\n\n! \n!int cairo_region_num_rectangles (const cairo_region_t *region);\nfunction cairo_region_num_rectangles(region) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_region_num_rectangles\n  type(c_ptr), value :: region\nend function\n\n! \n!void cairo_region_get_rectangle (const cairo_region_t *region, int nth, cairo_rectangle_int_t *rectangle);\nsubroutine cairo_region_get_rectangle(region, nth, rectangle) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: region\n  integer(c_int), value :: nth\n  type(c_ptr), value :: rectangle\nend subroutine\n\n! \n!cairo_bool_t cairo_region_is_empty (const cairo_region_t *region);\nfunction cairo_region_is_empty(region) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_region_is_empty\n  type(c_ptr), value :: region\nend function\n\n! \n!cairo_region_overlap_t cairo_region_contains_rectangle (const cairo_region_t *region, const cairo_rectangle_int_t *rectangle);\nfunction cairo_region_contains_rectangle(region, rectangle) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_region_contains_rectangle\n  type(c_ptr), value :: region\n  type(c_ptr), value :: rectangle\nend function\n\n! \n!cairo_bool_t cairo_region_contains_point (const cairo_region_t *region, int x, int y);\nfunction cairo_region_contains_point(region, x, y) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_region_contains_point\n  type(c_ptr), value :: region\n  integer(c_int), value :: x\n  integer(c_int), value :: y\nend function\n\n! \n!void cairo_region_translate (cairo_region_t *region, int dx, int dy);\nsubroutine cairo_region_translate(region, dx, dy) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: region\n  integer(c_int), value :: dx\n  integer(c_int), value :: dy\nend subroutine\n\n! \n!cairo_status_t cairo_region_subtract (cairo_region_t *dst, const cairo_region_t *other);\nfunction cairo_region_subtract(dst, other) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_region_subtract\n  type(c_ptr), value :: dst\n  type(c_ptr), value :: other\nend function\n\n! \n!cairo_status_t cairo_region_subtract_rectangle (cairo_region_t *dst, const cairo_rectangle_int_t *rectangle);\nfunction cairo_region_subtract_rectangle(dst, rectangle) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_region_subtract_rectangle\n  type(c_ptr), value :: dst\n  type(c_ptr), value :: rectangle\nend function\n\n! \n!cairo_status_t cairo_region_intersect (cairo_region_t *dst, const cairo_region_t *other);\nfunction cairo_region_intersect(dst, other) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_region_intersect\n  type(c_ptr), value :: dst\n  type(c_ptr), value :: other\nend function\n\n! \n!cairo_status_t cairo_region_intersect_rectangle (cairo_region_t *dst, const cairo_rectangle_int_t *rectangle);\nfunction cairo_region_intersect_rectangle(dst, rectangle) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_region_intersect_rectangle\n  type(c_ptr), value :: dst\n  type(c_ptr), value :: rectangle\nend function\n\n! \n!cairo_status_t cairo_region_union (cairo_region_t *dst, const cairo_region_t *other);\nfunction cairo_region_union(dst, other) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_region_union\n  type(c_ptr), value :: dst\n  type(c_ptr), value :: other\nend function\n\n! \n!cairo_status_t cairo_region_union_rectangle (cairo_region_t *dst, const cairo_rectangle_int_t *rectangle);\nfunction cairo_region_union_rectangle(dst, rectangle) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_region_union_rectangle\n  type(c_ptr), value :: dst\n  type(c_ptr), value :: rectangle\nend function\n\n! \n!cairo_status_t cairo_region_xor (cairo_region_t *dst, const cairo_region_t *other);\nfunction cairo_region_xor(dst, other) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_region_xor\n  type(c_ptr), value :: dst\n  type(c_ptr), value :: other\nend function\n\n! \n!cairo_status_t cairo_region_xor_rectangle (cairo_region_t *dst, const cairo_rectangle_int_t *rectangle);\nfunction cairo_region_xor_rectangle(dst, rectangle) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: cairo_region_xor_rectangle\n  type(c_ptr), value :: dst\n  type(c_ptr), value :: rectangle\nend function\n\n! \n!void cairo_debug_reset_static_data (void);\nsubroutine cairo_debug_reset_static_data() bind(c)\n  implicit none\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/cairo/cairo-gobject.h\n!--------------------------------------------------\n! \n!GType cairo_gobject_context_get_type (void);\nfunction cairo_gobject_context_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: cairo_gobject_context_get_type\nend function\n\n! \n!GType cairo_gobject_device_get_type (void);\nfunction cairo_gobject_device_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: cairo_gobject_device_get_type\nend function\n\n! \n!GType cairo_gobject_matrix_get_type (void);\nfunction cairo_gobject_matrix_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: cairo_gobject_matrix_get_type\nend function\n\n! \n!GType cairo_gobject_pattern_get_type (void);\nfunction cairo_gobject_pattern_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: cairo_gobject_pattern_get_type\nend function\n\n! \n!GType cairo_gobject_surface_get_type (void);\nfunction cairo_gobject_surface_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: cairo_gobject_surface_get_type\nend function\n\n! \n!GType cairo_gobject_rectangle_get_type (void);\nfunction cairo_gobject_rectangle_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: cairo_gobject_rectangle_get_type\nend function\n\n! \n!GType cairo_gobject_scaled_font_get_type (void);\nfunction cairo_gobject_scaled_font_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: cairo_gobject_scaled_font_get_type\nend function\n\n! \n!GType cairo_gobject_font_face_get_type (void);\nfunction cairo_gobject_font_face_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: cairo_gobject_font_face_get_type\nend function\n\n! \n!GType cairo_gobject_font_options_get_type (void);\nfunction cairo_gobject_font_options_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: cairo_gobject_font_options_get_type\nend function\n\n! \n!GType cairo_gobject_rectangle_int_get_type (void);\nfunction cairo_gobject_rectangle_int_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: cairo_gobject_rectangle_int_get_type\nend function\n\n! \n!GType cairo_gobject_region_get_type (void);\nfunction cairo_gobject_region_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: cairo_gobject_region_get_type\nend function\n\n! \n!GType cairo_gobject_glyph_get_type (void);\nfunction cairo_gobject_glyph_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: cairo_gobject_glyph_get_type\nend function\n\n! \n!GType cairo_gobject_text_cluster_get_type (void);\nfunction cairo_gobject_text_cluster_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: cairo_gobject_text_cluster_get_type\nend function\n\n! \n!GType cairo_gobject_status_get_type (void);\nfunction cairo_gobject_status_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: cairo_gobject_status_get_type\nend function\n\n! \n!GType cairo_gobject_content_get_type (void);\nfunction cairo_gobject_content_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: cairo_gobject_content_get_type\nend function\n\n! \n!GType cairo_gobject_operator_get_type (void);\nfunction cairo_gobject_operator_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: cairo_gobject_operator_get_type\nend function\n\n! \n!GType cairo_gobject_antialias_get_type (void);\nfunction cairo_gobject_antialias_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: cairo_gobject_antialias_get_type\nend function\n\n! \n!GType cairo_gobject_fill_rule_get_type (void);\nfunction cairo_gobject_fill_rule_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: cairo_gobject_fill_rule_get_type\nend function\n\n! \n!GType cairo_gobject_line_cap_get_type (void);\nfunction cairo_gobject_line_cap_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: cairo_gobject_line_cap_get_type\nend function\n\n! \n!GType cairo_gobject_line_join_get_type (void);\nfunction cairo_gobject_line_join_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: cairo_gobject_line_join_get_type\nend function\n\n! \n!GType cairo_gobject_text_cluster_flags_get_type (void);\nfunction cairo_gobject_text_cluster_flags_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: cairo_gobject_text_cluster_flags_get_type\nend function\n\n! \n!GType cairo_gobject_font_slant_get_type (void);\nfunction cairo_gobject_font_slant_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: cairo_gobject_font_slant_get_type\nend function\n\n! \n!GType cairo_gobject_font_weight_get_type (void);\nfunction cairo_gobject_font_weight_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: cairo_gobject_font_weight_get_type\nend function\n\n! \n!GType cairo_gobject_subpixel_order_get_type (void);\nfunction cairo_gobject_subpixel_order_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: cairo_gobject_subpixel_order_get_type\nend function\n\n! \n!GType cairo_gobject_hint_style_get_type (void);\nfunction cairo_gobject_hint_style_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: cairo_gobject_hint_style_get_type\nend function\n\n! \n!GType cairo_gobject_hint_metrics_get_type (void);\nfunction cairo_gobject_hint_metrics_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: cairo_gobject_hint_metrics_get_type\nend function\n\n! \n!GType cairo_gobject_font_type_get_type (void);\nfunction cairo_gobject_font_type_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: cairo_gobject_font_type_get_type\nend function\n\n! \n!GType cairo_gobject_path_data_type_get_type (void);\nfunction cairo_gobject_path_data_type_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: cairo_gobject_path_data_type_get_type\nend function\n\n! \n!GType cairo_gobject_device_type_get_type (void);\nfunction cairo_gobject_device_type_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: cairo_gobject_device_type_get_type\nend function\n\n! \n!GType cairo_gobject_surface_type_get_type (void);\nfunction cairo_gobject_surface_type_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: cairo_gobject_surface_type_get_type\nend function\n\n! \n!GType cairo_gobject_format_get_type (void);\nfunction cairo_gobject_format_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: cairo_gobject_format_get_type\nend function\n\n! \n!GType cairo_gobject_pattern_type_get_type (void);\nfunction cairo_gobject_pattern_type_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: cairo_gobject_pattern_type_get_type\nend function\n\n! \n!GType cairo_gobject_extend_get_type (void);\nfunction cairo_gobject_extend_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: cairo_gobject_extend_get_type\nend function\n\n! \n!GType cairo_gobject_filter_get_type (void);\nfunction cairo_gobject_filter_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: cairo_gobject_filter_get_type\nend function\n\n! \n!GType cairo_gobject_region_overlap_get_type (void);\nfunction cairo_gobject_region_overlap_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: cairo_gobject_region_overlap_get_type\nend function\n\nend interface\nend module cairo\n"
  },
  {
    "path": "src/cfwrapper/README.md",
    "content": "# cfwrapper source files\n\n- `cfwrapper/cfwrapper.py`: this is the precious heart of gtk-fortran. Developers use it to automatically parse the GTK libraries header files. It generates:\n  - `../*-auto.f90`: these files contains the Fortran interfaces to the C functions of the various GTK libraries.\n  - `../gtk-fortran-index.csv`: list of all the interfaces generated in the `*-auto.f90` files, with the name of the library, the name of the function, its status (deprecated or not), the names of the `.f90` file and the `.h` file, the C prototype of the function and the Fortran definition.\n  - `cfwrapper/gtk-fortran-hash.pkl`: the SHA1 hash of all `*-auto.f90` files. Useful for the development of `cfwrapper.py` to detect modifications in the resulting `.f90` files.\n  - `cfwrapper/cfwrapper-errors.csv`: for the developers, a list of problems encountered by the `cfwrapper.py` script when parsing the `.h` files. Not pushed in GitHub.\n  - `../../VERSIONS`: a CSV file with the gtk-fortran, GTK, GLib and distribution versions used to generate the library. It is used by the build system.\n- `cfwrapper/run_tests.py`: for testing some functions of the cfwrapper.\n- Other `*.py` files: the modules used by `cfwrapper.py`.\n"
  },
  {
    "path": "src/cfwrapper/analyze.py",
    "content": "#!/usr/bin/env python3\n# -*- coding: utf-8 -*-\n\n# This file is part of gtk-fortran, a GTK / Fortran interface library.\n# Copyright (C) 2011 The gtk-fortran team\n#\n# This is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 3, or (at your option)\n# any later version.\n#\n# This software is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# Under Section 7 of GPL version 3, you are granted additional\n# permissions described in the GCC Runtime Library Exception, version\n# 3.1, as published by the Free Software Foundation.\n#\n# You should have received a copy of the GNU General Public License along with\n# this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n# If not, see <http://www.gnu.org/licenses/>.\n#\n# Contributed by Vincent Magnin, 01.28.2011\n# Last modifications: 2025-02-19\n\n\"\"\" This module contains functions to analyze C prototypes\n    and generate Fortran interfaces.\n\"\"\"\n\nimport re           # Regular expression library\n\n# Project modules:\nfrom tools import multiline\nfrom globals_const import TAB\nfrom fortran import iso_c_binding\n\n#---------------------------------------------------------------------------\n# Regular expressions used to identify the different parts of a C prototype:\n#---------------------------------------------------------------------------\n# Type of a function: at the start of the line, possibly a few spaces, a few\n# words possibly followed by a few spaces and/or a few stars (pointers)\nRGX_RETURNED_TYPE = re.compile(r\"^ *([_0-9a-zA-Z ]+ *\\**)\")\n# Name of the function: a word, possibly between parentheses, possibly followed\n# by a few spaces, and a final opening parenthesis\nRGX_FUNCTION_NAME = re.compile(r\"\\(?([0-9a-zA-Z_]+)\\)? *\\($\")\n# All the arguments of the function: parentheses at the end of the line,\n# possibly preceded by a function name between parentheses,\n# possibly followed by characters, inside the parentheses possibly a few\n# words separated by commas and possibly followed by stars and/or [] (arrays)\nRGX_ARGUMENTS = re.compile(r\"\\(?.*\\)? *\\(([0-9a-zA-Z_ ,\\*\\[\\]]*)\\).*;$\")\n# To list each argument: possibly a few spaces, a word possibly followed by\n# stars (pointer) and/or [] (arrays), possibly followed by a comma\nRGX_ARGS = re.compile(r\" *([0-9a-zA-Z_ \\*\\[\\]]+),?\")\n# To find the type of an argument: possibly a few spaces, a word followed by\n# a space or a star\nRGX_VAR_TYPE = re.compile(r\" *([_0-9a-zA-Z]+)[ |\\*]\")\n# To find the name of an argument: space or a star, a word, possibly followed\n# by [], at the end of the string\nRGX_VAR_NAME = re.compile(r\"[ |\\*]([_0-9a-zA-Z]+)(?:\\[\\])?$\")\n# Function name beginning by an underscore:\nRGX_UNDERSCORE = re.compile(r\"^_\\w+$\")\n\n\ndef split_prototype(prototype):\n    \"\"\"The prototype string is splitted into three parts: the returned type, the name of the\n       function and the list of arguments. If a problem occurs, an exception is raised\n       with an error message.\n    \"\"\"\n\n    arguments = RGX_ARGUMENTS.search(prototype)\n    try:\n        args = RGX_ARGS.findall(arguments.group(1))\n    except AttributeError as ex:\n        raise Exception(\"Arguments not found\") from ex\n\n    # The name is before arguments. The right bound of a string is excluded.\n    function_name = RGX_FUNCTION_NAME.search(prototype[0:arguments.start(1)])\n    try:\n        f_name = function_name.group(1)\n    except AttributeError as ex:\n        raise Exception(\"Function name not found\") from ex\n\n    # The returned type is before the name. The right bound is excluded.\n    type_returned = RGX_RETURNED_TYPE.search(prototype[0:function_name.start(1)])\n    try:\n        function_type = type_returned.group(1)\n    except AttributeError as ex:\n        raise Exception(\"Returned type not found\") from ex\n\n    return function_type, f_name, args\n\n\ndef analyze_prototypes(index, module_name, f_file_name, f_file, preprocessed_list,\n                       whole_file_original, c_dir, c_file_name,\n                       my_stats, my_errors, ARGS):\n    \"\"\"Each prototype of the preprocessed list is now analyzed.\n    \"\"\"\n\n    for proto in preprocessed_list:\n        # C functions must have parentheses:\n        if not \"(\" in proto:\n            my_errors.new_error(c_dir, c_file_name,\n                                \"Not a function (no parentheses)\", proto, False)\n            continue    # Go to next prototype in the list\n\n        # Do not treat variadic C functions:\n        if \"...\" in proto:\n            my_stats.inc_nb_variadic()\n            my_errors.new_error(c_dir, c_file_name,\n                                \"Variadic function\", proto, False)\n            continue    # Go to next prototype in the list\n\n        # Split the prototype into its three parts:\n        try:\n            function_type, f_name, args = split_prototype(proto)\n        except Exception as exc:\n            my_errors.new_error(c_dir, c_file_name, str(exc), proto, False)\n            continue    # Go to next prototype in the list\n\n        # gtk_init() is already defined in gtk.f90. Other functions\n        # can be excluded here in case of problem:\n        if f_name in [\"gtk_init\", \"g_io_channel_win32_new_messages\"]:\n            continue    # Go to next prototype in the list\n\n        # Functions beginning by an underscore will be excluded:\n        if RGX_UNDERSCORE.match(f_name) is not None:\n            my_errors.new_error(c_dir, c_file_name,\n                                \"Function name beginning by underscore\", proto, False)\n            continue    # Go to next prototype in the list\n\n        # Will it be a Fortran function or a subroutine ?\n        if (\"void\" in function_type) and (\"*\" not in function_type):\n            f_procedure = \"subroutine \"\n            f_the_end = \"end subroutine\"\n            isfunction = False\n            f_use = \"\"\n            returned_type = \"\"\n        else:\n            f_procedure = \"function \"\n            f_the_end = \"end function\"\n            isfunction = True\n            # The function iso_c_binding() is working on a declaration\n            # comprising the type and the name of the entity:\n            declaration = function_type + \" \" + f_name\n            returned_type, iso_c = iso_c_binding(declaration, True)\n            f_use = iso_c\n            if \"?\" in returned_type:    # Function type not found\n                my_errors.new_error(c_dir, c_file_name, \"Unknown function type:  \"\n                                    + function_type, proto, True)\n                continue    # Go to next prototype in the list\n\n        # What is the status of that function ? (Is the C prototype preceded\n        # on the previous line by a DEPRECATED or AVAILABLE statement ?)\n        status = re.search(r\"(?m)^(.*?(DEPRECATED|AVAILABLE).*?)\\n.*?\" + f_name\n                           + r\"\\W\", whole_file_original)\n        if status:\n            function_status = status.group(1)\n            if \"DEPRECATED\" in function_status:\n                my_stats.inc_nb_deprecated_functions()\n                # The `-d` argument can be useful to adapt gtk-fortran for\n                # major updates. The `make -i` command will then generate errors\n                # when a deprecated function is not found:\n                if ARGS.deprecated:\n                    continue    # Go to next prototype in the list\n        else:\n            function_status = \"\"\n\n        # The list `args` of the function arguments is now analyzed:\n        args_list, f_use, declarations, error_flag = analyze_arguments(args, f_use, proto, c_dir, c_file_name, my_stats, my_errors)\n        # Write the Fortran interface in the .f90 file:\n        if not error_flag:\n            write_fortran_interface(index, module_name, f_file_name, f_file,\n                                    c_dir, c_file_name,\n                                    function_status, proto, f_procedure, f_name,\n                                    args_list, f_use, declarations, isfunction,\n                                    returned_type, f_the_end, my_stats, ARGS)\n\n\n\ndef analyze_arguments(args, f_use, proto, c_dir, c_file_name, my_stats, my_errors):\n    \"\"\"This function analyzes the list of arguments `args` of the C function.\n       It returns the list of Fortran arguments, the iso_c_binding types needed,\n       the Fortran declarations of the arguments and an error_flag.\n    \"\"\"\n    error_flag = False\n    declarations = \"\"\n    args_list = \"\"\n\n    for arg in args:\n        if arg == \"void\":\n            continue    # Next argument in the list\n\n        # Can we find the type of the argument ? The var_type variable is\n        # not used elsewhere, but this test is compulsory. Do not remove.\n        try:\n            var_type = RGX_VAR_TYPE.search(arg).group(1)\n        except AttributeError:\n            error_flag = True\n            my_errors.new_error(c_dir, c_file_name,\n                                \"Variable type not found\", proto, True)\n            continue    # Next argument in the list\n\n        # Corresponding Fortran type of the argument:\n        f_type, iso_c = iso_c_binding(arg, False)\n        if iso_c not in my_stats.used_types:\n            my_stats.append_type(iso_c)\n\n        if \"c_\" in f_type:\n            # Determine iso_c type to use:\n            if f_use == \"\":\n                f_use = iso_c\n            else:\n                # Verify that each iso_c appears only once:\n                RGX_ISO_C = re.compile(\"(\"+iso_c+\")\"+r\"([^\\w]|$)\")\n                if RGX_ISO_C.search(f_use) is None:\n                    f_use += \", \" + iso_c\n        elif \"?\" in f_type:\n            error_flag = True\n            my_errors.new_error(c_dir, c_file_name, \"Unknown type:  \" + arg,\n                                proto, True)\n            continue    # Next argument in the list\n\n        # Unknown dimension arrays are passed by address, others by value:\n        if \"(*)\" in f_type:\n            passvar = \"\"\n        else:\n            passvar = \", value\"\n\n        # Search the variable name:\n        try:\n            var_name = RGX_VAR_NAME.search(arg).group(1)\n        except AttributeError:\n            error_flag = True\n            my_errors.new_error(c_dir, c_file_name,\n                                \"Variable name not found\", proto, False)\n            continue    # Next argument in the list\n\n        # Add this variable:\n        if args_list == \"\":\n            args_list = var_name\n        else:\n            args_list += \", \" + var_name\n\n        declarations += 1*TAB + f_type + passvar + \" :: \" + var_name + \"\\n\"\n\n    return args_list, f_use, declarations, error_flag\n\n\ndef write_fortran_interface(index, module_name, f_file_name, f_file,\n                            c_dir, c_file_name, function_status, prototype,\n                            f_procedure, f_name, args_list, f_use, declarations,\n                            isfunction, returned_type, f_the_end, my_stats, ARGS):\n    \"\"\"Write the Fortran interface of a function in the *-auto.f90 file\n    \"\"\"\n    interface1 = 0*TAB + \"! \" + function_status + \"\\n\"\n    interface1 += 0*TAB + \"!\" + prototype + \"\\n\"\n    if not ARGS.suffix:\n        first_line = 0*TAB + f_procedure + f_name + \"(\" + args_list + \") bind(c)\"\n    else:\n        first_line = 0*TAB + f_procedure + f_name+ARGS.suffix[0] + \"(\" + args_list + ') bind(c, name=\"'+f_name+'\")'\n\n    interface2 = multiline(first_line, 80) + \"\\n\"\n    if f_use != \"\":\n        interface3 = 1*TAB + \"import :: \" + f_use + \"\\n\"\n    else:\n        interface3 = \"\"\n    # The 'implicit none' of the Fortran module does not apply to the interfaces,\n    # we therefore harden the code by putting one into each interface:\n    interface3 += 1*TAB + \"implicit none\\n\"\n\n    if isfunction:\n        if not ARGS.suffix:\n            interface3 += 1*TAB + returned_type + \" :: \" + f_name + \"\\n\"\n        else:\n            interface3 += 1*TAB + returned_type + \" :: \" + f_name+ARGS.suffix[0] + \"\\n\"\n    interface3 += declarations\n    interface3 += 0*TAB + f_the_end + \"\\n\\n\"\n    interface = interface1+interface2+interface3\n\n    # Names for the gtk-fortran-index.csv file:\n    my_module_name = module_name\n    my_f_file_name = f_file_name\n    my_first_line = first_line\n\n    f_file.write(interface)\n    my_stats.inc_nb_generated_interfaces(1)\n\n    # Adds the function in the gtk-fortran-index.csv file:\n    index.append([my_module_name, f_name, function_status, my_f_file_name,\n                  c_dir+\"/\"+c_file_name, prototype, my_first_line])\n"
  },
  {
    "path": "src/cfwrapper/cfwrapper.py",
    "content": "#!/usr/bin/env python3\n# -*- coding: utf-8 -*-\n\n# This file is part of gtk-fortran, a GTK / Fortran interface library.\n# Copyright (C) 2011 The gtk-fortran team\n#\n# This is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 3, or (at your option)\n# any later version.\n#\n# This software is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# Under Section 7 of GPL version 3, you are granted additional\n# permissions described in the GCC Runtime Library Exception, version\n# 3.1, as published by the Free Software Foundation.\n#\n# You should have received a copy of the GNU General Public License along with\n# this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n# If not, see <http://www.gnu.org/licenses/>.\n#\n# Contributed by Vincent Magnin, 01.28.2011\n# Last modification: 2024-05-08\n# $ pylint *.py ../tools.py    => 8.65/10\n\n\"\"\" Generates the *-auto.* files from the C header files of GLib and GTK.\nFor help, type: ./cfwrapper.py -h\n\"\"\"\n\nimport re           # Regular expression library\nimport os\nimport time\nimport csv          # To write .csv files\nimport subprocess   # To launch a shell command\nimport argparse     # To parse command line\nfrom collections import OrderedDict\nimport sys\nimport textwrap\n\n# Wrapper modules:\nfrom globals_const import SRC_DIR\nfrom lib_versions import Version\nfrom errors import Errors\nfrom stats import Statistics\n# To use ../tools.py which contains the multiline() function\n# (needed to import cleaning and analyze):\nsys.path.append('../')\nfrom cleaning import clean_header_file, preprocess_prototypes\nfrom analyze import analyze_prototypes\nfrom scan_types_and_enums import types_enums\n\n\n# Definition of command line options:\nPARSARG = argparse.ArgumentParser(description=\"Generate gtk-fortran files (can also be tried on other libraries)\",\n                formatter_class=argparse.RawDescriptionHelpFormatter,\n                epilog=textwrap.dedent('''\\\n                Examples:\n                $ ./cfwrapper.py -g 4 -v 4.4.0 -b\n                For libraries other than GTK:\n                $ ./cfwrapper.py -l /usr/include/foo1 /usr/include/foo2 -m my_foo1 my_foo2\n\n                GPLv3 license with RLE exception 3.1, https://github.com/vmagnin/gtk-fortran'''))\ngroup_lib = PARSARG.add_mutually_exclusive_group()\ngroup_lib.add_argument(\"-g\", \"--gtk\", action=\"store\", type=int, choices=[2, 3, 4],\n                     metavar=\"2|3|4\", nargs=1, help=\"GTK major version\")\ngroup_lib.add_argument(\"-l\", \"--library\", action=\"store\", nargs='+',\n                     help=\"Directory containing the header files\")\nPARSARG.add_argument(\"-m\", \"--module\", action=\"store\", nargs='+',\n                     help=\"Name of the corresponding Fortran module (must be used with -l)\")\nPARSARG.add_argument(\"-v\", \"--version\", action=\"store\", nargs=1,\n                     help=\"gtk-fortran semantic versioning\")\nPARSARG.add_argument(\"-b\", \"--build\", action=\"store_true\",\n                     help=\"Build gtk-fortran libraries and examples\")\nPARSARG.add_argument(\"-d\", \"--deprecated\", action=\"store_true\",\n                     help=\"Remove deprecated functions\")\nPARSARG.add_argument(\"-s\", \"--suffix\", action=\"store\", nargs=1,\n                     help=\"Add a suffix to the functions names\")\nARGS = PARSARG.parse_args()\n\n# Just print the help if no argument is passed to cfwrapper:\nif len(sys.argv)==1:\n    PARSARG.print_help(sys.stderr)\n    sys.exit(5)\n\nif ARGS.gtk:\n    GTK_VERSION = \"gtk\" + str(ARGS.gtk[0])\n    if not ARGS.version:\n        print(\"ERROR: -v is required with -g\")\n        sys.exit(1)\n    else:\n        GTK_FORTRAN_VERSION = ARGS.version[0]\nelse:\n    GTK_VERSION = \"not_GTK\"\n    GTK_FORTRAN_VERSION = \"0.0.0\"\n\n# An instance of the Version class:\nmy_versions = Version(GTK_VERSION, GTK_FORTRAN_VERSION)\n\n# Define libraries paths and corresponding *-auto.* files.\nif ARGS.gtk:\n    # For the GTK / GLib libraries (gtk-fortran).\n    # Do not change the order of the dictionary keys.\n    # Common libraries:\n    PATH_DICT = OrderedDict([\n        (\"/usr/include/cairo\", \"cairo-auto.f90\"),\n        (\"/usr/include/gdk-pixbuf-2.0\", \"gdk-pixbuf-auto.f90\"),\n        (\"/usr/include/glib-2.0\", \"glib-auto.f90\")])\n    # Version specific libraries:\n    if GTK_VERSION == \"gtk4\":\n        GTKENUMS_FILE = \"gtkenums-auto.in\"\n        PATH_DICT.update([\n            (\"/usr/include/gtk-4.0/gdk\", \"gdk-auto.f90\"),\n            (\"/usr/include/gtk-4.0/gsk\", \"gsk-auto.f90\"),\n            (\"/usr/include/gtk-4.0/gtk\", \"gtk-auto.in\"),\n            (\"/usr/include/gtk-4.0/unix-print\", \"unix-print-auto.f90\"),\n            (\"/usr/include/graphene-1.0\", \"graphene-auto.f90\")])\n    elif GTK_VERSION == \"gtk3\":\n        GTKENUMS_FILE = \"gtkenums-auto.in\"\n        PATH_DICT.update([\n            (\"/usr/include/atk-1.0\", \"atk-auto.f90\"),\n            (\"/usr/include/gtk-3.0/gdk\", \"gdk-auto.f90\"),\n            (\"/usr/include/gtk-3.0/gtk\", \"gtk-auto.in\"),\n            (\"/usr/include/gtk-3.0/unix-print\", \"unix-print-auto.f90\")])\n    elif GTK_VERSION == \"gtk2\":\n        GTKENUMS_FILE = \"gtkenums-auto.f90\"\n        PATH_DICT.update([\n            (\"/usr/include/atk-1.0\", \"atk-auto.f90\"),\n            (\"/usr/include/gtk-2.0/gdk\", \"gdk-auto.f90\"),\n            (\"/usr/include/gtk-2.0/gtk\", \"gtk-auto.f90\")])\n    PATH_DICT.update([(\"/usr/include/pango-1.0\", \"pango-auto.f90\")])\nelse:\n    # For other C libraries:\n    if ARGS.build:\n        print(\"ERROR: -b is only for gtk-fortran\")\n        sys.exit(2)\n    if not ARGS.module:\n        print(\"ERROR: with -l you must use also -m\")\n        sys.exit(3)\n    elif len(ARGS.library) != len(ARGS.module):\n        print(\"ERROR: -l and -m must have the same number of arguments\")\n        sys.exit(4)\n    else:\n        PATH_DICT = OrderedDict({(key, value+\"-auto.f90\") for (key, value) in zip(ARGS.library, ARGS.module)})\n        GTKENUMS_FILE = \"other_enums-auto.f90\"\n\n# To calculate computing time:\nT0 = time.time()\n# An instance of the Statistics class:\nmy_stats = Statistics()\n# An instance of the Errors class:\nmy_errors = Errors()\n\n#*************************************************************************\n# Pass 1: scan all header files to find all enum types, all pointers to\n# functions (funptr) and add derived GTK types\n#*************************************************************************\nprint(\"\\033[1m Pass 1: looking for enumerators, funptr and derived types...\\033[0m\")\n# Just for initializing the class:\ntypes_enums_initialisation = types_enums(PATH_DICT)\n\n#**************************************************************************\n# Pass 2: Scan of all header files in the directories and subdirectories to\n# generate interfaces\n#**************************************************************************\nif ARGS.gtk:\n    FILE_HEADER = \"\"\"! Do not modify this file automatically generated by cfwrapper.py using:\n! \"\"\" + my_versions.string() + \"\"\"\\n! This file is part of the gtk-fortran library, distributed under\n! GNU General Public License version 3.\n\"\"\"\nelse:\n    FILE_HEADER = \"\"\"! This file was automatically generated by the Python cfwrapper\n! of the gtk-fortran project\"\"\"\n\n# All enums are written in this file:\nenums_file = open(SRC_DIR+GTKENUMS_FILE, \"w\", encoding='utf-8')\nenums_file.write(FILE_HEADER+\"\\n\")\n\n# Index of all the generated Fortran interfaces:\nindex = []\n\nprint(\"\\033[1m Pass 2: looking for C functions...\\033[0m \")\n\n# Note that PATH_DICT is an OrderedDict:\nfor library_path in PATH_DICT:\n    # Name of the *-auto.* file:\n    f_file_name = PATH_DICT[library_path]\n    print(f\"{library_path:<32} =>  {f_file_name:<20}\", end=\"\")\n\n    # Create the *-auto.* file with its module declaration:\n    f_file = open(SRC_DIR+f_file_name, \"w\", encoding='utf-8')\n\n    # The gtk-auto.* file is a special case, it will be included in\n    # the already existing gtk.f90 by an include statement:\n    if \"gtk-auto.\" in f_file_name:\n        module_name = \"gtk\"\n    else:\n        # The module name is derived from the Fortran file name:\n        module_name = re.search(r\"^(.+)-auto\\.f90\", f_file_name).group(1)\n        module_name = module_name.replace(\"-\", \"_\")\n        # GLib functions are prefixed by the g_, therefore the module is g:\n        if module_name == \"glib\":\n            module_name = \"g\"\n        # Write the beginning of the .f90 file:\n        f_file.write(FILE_HEADER+\"\\nmodule \" + module_name +\n                        \"\\nuse, intrinsic :: iso_c_binding\\nimplicit none\\ninterface\\n\\n\")\n\n    # Analyze each C header file in each subdirectory of that library:\n    for directory in os.walk(library_path):\n        for c_file_name in directory[2]:\n            # Only C header files must be considered:\n            if not c_file_name.endswith(\".h\"):\n                continue    # Go to next file\n            # Problematic files can be excluded here:\n            if c_file_name in []:\n                continue    # Go to next file\n\n            # Write the file name in comments:\n            f_file.write(\"!\" + 50*\"-\" + \"\\n\")\n            f_file.write(\"! \" + directory[0] + \"/\" + c_file_name + \"\\n\")\n            f_file.write(\"!\" + 50*\"-\" + \"\\n\")\n\n            my_stats.inc_nb_files()\n            whole_file_original = open(directory[0] + \"/\" + c_file_name, 'r',\n                                       errors='replace', encoding='utf-8').read()\n            # The original file will be used for WIN32 functions\n            whole_file = whole_file_original\n\n            # Preprocessing and cleaning of the header file. Also gathers the enums:\n            whole_file, nb_enums = clean_header_file(c_file_name, whole_file, enums_file)\n            my_stats.inc_nb_enumerators(nb_enums)\n\n            # From now each line will be treated separately:\n            lines_list = whole_file.splitlines(True)\n            preprocessed_list = []\n            # Is there any function in lines_list ?\n            try:\n                preprocessed_list.append(lines_list[0])\n            except IndexError:\n                my_errors.new_error(directory[0], c_file_name,\n                                    \"No function to implement in this file\", \"\",\n                                    False)\n                continue    # Go to next file\n\n            # If true, we process these functions:\n            preprocessed_list, nb = preprocess_prototypes(preprocessed_list,\n                                                          lines_list)\n            my_stats.inc_nb_lines(nb)\n\n            if c_file_name in [\"gstdio.h\"]:\n                # Removes duplicated prototypes (Unix and non-Unix):\n                preprocessed_list = list(set(preprocessed_list))\n                preprocessed_list.sort()\n\n            # The preprocessed list is now ready for deep analyzing:\n            analyze_prototypes(index, module_name, f_file_name, f_file, preprocessed_list,\n                               whole_file_original, directory[0], c_file_name,\n                               my_stats, my_errors, ARGS)\n\n    # Close that *-auto.f90 file:\n    if module_name != \"gtk\":    # gtk module is included in gtk.f90\n        f_file.write(\"end interface\\nend module \"+module_name+\"\\n\")\n        f_file.close()\n    print(f\"{os.stat(SRC_DIR+f_file_name).st_size:>10} bytes\")\n    # Next *-auto.* file\n\n#------------------------------------------------------------------------------\n\n# Close global files:\nenums_file.close()\n\n# Write the list of all GTK functions in the index CSV file:\nindex.sort()\nwith open(SRC_DIR+\"gtk-fortran-index.csv\", \"w\", newline=\"\", encoding=\"utf-8\") as csvfile1:\n    index_file = csv.writer(csvfile1, delimiter=\";\", dialect='excel')\n    index_file.writerows(index)\n\n# Write errors in a CSV file:\nmy_errors.sort()\nwith open(\"cfwrapper-errors.csv\", \"w\", newline=\"\", encoding=\"utf-8\") as csvfile2:\n    errors_file = csv.writer(csvfile2, delimiter=\";\", dialect='excel')\n    errors_file.writerows(my_errors.errors_list)\n\nprint()\n\n# Write the VERSIONS file in the top directory,\n# and update the codemeta.json and fpm.toml files:\nmy_versions.create_file()\nmy_versions.update_json_file()\nmy_versions.update_fpm_file()\n\n# Extracts the structure definitions for Gdk events\n# and generate gdkevents_auto?.f90:\nif GTK_VERSION != \"gtk2\":\n    subprocess.call([\"./extract_events.pl\"], cwd=SRC_DIR)\n\n# Print the final statistics:\nmy_stats.inc_nb_funptr_types(len(types_enums.gtk_funptr))\nmy_stats.print(T0, my_versions.string(), PATH_DICT, GTKENUMS_FILE, my_errors)\n\n# Option -b: build and test gtk-fortran with that interactive script:\nif ARGS.build:\n    subprocess.run([\"cd .. && ./build.sh\"], shell=True)\n"
  },
  {
    "path": "src/cfwrapper/cleaning.py",
    "content": "#!/usr/bin/env python3\n# -*- coding: utf-8 -*-\n\n# This file is part of gtk-fortran, a GTK / Fortran interface library.\n# Copyright (C) 2011 The gtk-fortran team\n#\n# This is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 3, or (at your option)\n# any later version.\n#\n# This software is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# Under Section 7 of GPL version 3, you are granted additional\n# permissions described in the GCC Runtime Library Exception, version\n# 3.1, as published by the Free Software Foundation.\n#\n# You should have received a copy of the GNU General Public License along with\n# this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n# If not, see <http://www.gnu.org/licenses/>.\n#\n# Contributed by Vincent Magnin, 01.28.2011\n# Last modification: 2023-04-07\n\n\"\"\" This module contains functions used to clean header files in the cfwrapper.\n\"\"\"\n\nimport re           # Regular expression library\n\n# Project modules:\nfrom enums import translate_enums\n\n\ndef clean_header_file(c_file_name, whole_file, enums_file):\n    \"\"\"Preprocessing and cleaning of the header file. It also gathers the enums.\n       Do not change the order of the regular expressions!\n    \"\"\"\n\n    nb_enums = 0\n\n    # Remove C commentaries:\n    whole_file = re.sub(r\"(?s)/\\*.*?\\*/\", \"\", whole_file)\n\n    # Remove static inline functions, because it causes problems\n    # to the wrapper (which is looking for prototypes until a \";\"):\n    whole_file = re.sub(r\"(?m)^static inline(.*?\\n)+?}\", \"\", whole_file)\n\n    # Remove Deprecated statements (necessary before treating enumerators):\n    whole_file = re.sub(r\"[ ]\\w*_DEPRECATED_TYPE_[\\w()]*;\", \";\", whole_file)\n    whole_file = re.sub(r\"[ ]\\w*_DEPRECATED_ENUMERATOR_IN_[\\w()]*[ ]\", \" \", whole_file)\n\n    # Gather and translate C enumerators to Fortran enumerators,\n    # and write them to gtkenums-auto.* file:\n    enum_types = re.findall(r\"(?ms)^(typedef enum\\s*?(?:\\w+)?\\s*?{.*?})\\s*?(\\w+);\", whole_file)\n    f_enum, nb = translate_enums(c_file_name, enum_types)\n    nb_enums += nb\n    enums_file.write(f_enum)\n\n    # Removing multilines typedef:\n    whole_file = re.sub(r\"(?m)^typedef([^;]*?\\n)+?[^;]*?;$\", \"\", whole_file)\n    # Remove C directives (multilines then monoline):\n    whole_file = re.sub(r\"(?m)^#(.*[\\\\][\\n])+.*?$\", \"\", whole_file)\n    whole_file = re.sub(r\"(?m)^#.*$\", \"\", whole_file)\n    # Remove TABs and overnumerous spaces:\n    whole_file = whole_file.replace(\"\\t\", \" \")\n    whole_file = re.sub(r\"[ ]{2,}\", \" \", whole_file)\n    # Remove two levels of { } structures:\n    for i in [1, 2]:\n        whole_file = re.sub(r\"(?ms){[^{]*?}$\", \"\", whole_file)\n    # Remove structures like: { } a_name;\n    whole_file = re.sub(r\"(?ms){[^{]*?}[ \\w]*?;\", \"\", whole_file)\n    # Remove \"available_in\" and \"deprecated\" directives:\n    whole_file = re.sub(r\"(?m)^.*(_AVAILABLE_IN_|_DEPRECATED).*$\", \"\", whole_file)\n    whole_file = re.sub(r\"G_GNUC_(BEGIN|END)_IGNORE_DEPRECATIONS\", \"\", whole_file)\n    # Remove different kind of declarations:\n    whole_file = re.sub(r\"(?m)^(extern|enum|typedef|union|struct).*$\", \"\", whole_file)\n    whole_file = re.sub(r\"(?m)^.*(G|CAIRO|GRAPHENE)_(BEGIN|END)_DECLS *$\", \"\", whole_file)\n    whole_file = re.sub(r\"(?m)^.*(G_UNLOCK|G_LOCK|G_LOCK_DEFINE_STATIC)\\(.*;$\", \"\", whole_file)\n    whole_file = re.sub(r\"(?m)^.*(cairo_public) \", \"\", whole_file)\n    whole_file = re.sub(r\"(?m)^(GLIB_VAR|GTKVAR|GDKVAR|GDK_PIXBUF_VAR|GTKMAIN_C_VAR|G_INLINE_FUNC|G_GNUC_WARN_UNUSED_RESULT|_GDK_PIXBUF_EXTERN)\"\n                        , \"\", whole_file)   # extern\n    whole_file = re.sub(r\"(?ms)^(G_DECLARE_INTERFACE|G_DECLARE_DERIVABLE_TYPE) ?\\(.*?\\)\", \"\", whole_file)\n    # Remove GNU macros at the end of declarations (functions prototypes):\n    whole_file = re.sub(r\"G_GNUC_[\\w (),]*;\", \";\", whole_file)\n    whole_file = re.sub(r\"G_ANALYZER_NORETURN *;\", \";\", whole_file)\n    # Remove some GNU macros at the beginning of functions prototypes:\n    whole_file = re.sub(r\"(G_DECLARE_FINAL_TYPE|G_DEFINE_AUTOPTR_CLEANUP_FUNC|GDK_DECLARE_INTERNAL_TYPE) ?\\(.*?\\)\", \"\", whole_file)\n    # Remove empty lines:\n    whole_file = re.sub(r\"(?m)^\\n$\", \"\", whole_file)\n\n    return whole_file, nb_enums\n\n\ndef preprocess_prototypes(preprocessed_list, lines_list):\n    \"\"\"Clean the list of prototypes before analysis\n    \"\"\"\n    nb = 0\n    i = 0\n\n    for prototype in lines_list:\n        nb += 1\n        # remove leading and trailing spaces:\n        prototype2 = prototype.strip()\n\n        if \";\" not in preprocessed_list[i]:\n            # Remove line feeds inside a prototype:\n            preprocessed_list[i] = preprocessed_list[i].replace(\"\\n\", \"\").strip()\n            preprocessed_list[i] += \" \"+prototype2\n        else:\n            preprocessed_list.append(prototype2)\n            i += 1\n\n        preprocessed_list[i] = preprocessed_list[i].strip()\n\n    return preprocessed_list, nb\n"
  },
  {
    "path": "src/cfwrapper/enums.py",
    "content": "#!/usr/bin/env python3\n# -*- coding: utf-8 -*-\n\n# This file is part of gtk-fortran, a GTK / Fortran interface library.\n# Copyright (C) 2011 The gtk-fortran team\n#\n# This is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 3, or (at your option)\n# any later version.\n#\n# This software is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# Under Section 7 of GPL version 3, you are granted additional\n# permissions described in the GCC Runtime Library Exception, version\n# 3.1, as published by the Free Software Foundation.\n#\n# You should have received a copy of the GNU General Public License along with\n# this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n# If not, see <http://www.gnu.org/licenses/>.\n#\n# Contributed by Vincent Magnin, 01.28.2011\n# Last modification: 2025-09-10\n\n\"\"\" This module contains functions to determine the versions of the libraries\nand programs used in gkt-fortran.\n\"\"\"\n\nimport re           # Regular expression library\n\n# Project modules:\nfrom tools import multiline\nfrom globals_const import TAB\n\n\ndef set_bit_field(match):\n    \"\"\" Returns the Fortran bitfield from a C enum flag\n    \"\"\"\n    return \"ISHFTC(1, \" + str(int(match.group(1))) + \")\"\n\n\ndef translate_enums(c_file_name, enum_list):\n    \"\"\"Receive a list of C enums and returns a text variable containing the\n    Fortran enums.\n    \"\"\"\n    bit_fields = re.compile(r\"1 *<< *(\\d+)\")\n\n    f_enum = \"! \" + c_file_name + \"\\n\"\n    nb = 0\n\n    for item in enum_list:\n        enum = item[0]\n        name = item[1]\n\n        # These enums are excluded for some problems... For example,\n        # GDBusInterfaceSkeletonFlags contains an item with a too long name :\n        if name in [\"GSocketFamily\", \"GSocketMsgFlags\", \"GdkPixdataType\",\n                    \"GIOCondition\", \"GDBusInterfaceSkeletonFlags\",\n                    \"GdkSeatCapabilities\", \"GdkAxisFlags\"]:\n            continue    # Go to next enum\n\n        parameters = re.findall(r\"(?ms){(.*)}\", enum)\n\n        # ********** Cleaning **********\n        # Remove lines beginning by #:\n        parameters[0] = re.sub(r\"(?m)^#.*$\", \"\", parameters[0])\n        # Remove TABs and overnumerous spaces:\n        parameters[0] = parameters[0].replace(\"\\t\", \" \")\n        parameters[0] = re.sub(r\"[ ]{2,}\", \" \", parameters[0])\n        parameters[0] = re.sub(r\"(?m) +$\", \"\", parameters[0])\n        # Delete characters (   ) and , if they are not between quotes:\n        parameters[0] = re.sub(r\"(?<!')(\\()(?!')\", \"\", parameters[0])\n        parameters[0] = re.sub(r\"(?<!')(\\))(?!')\", \"\", parameters[0])\n        parameters[0] = re.sub(r\"(?<!')(,)(?!')\", \"\", parameters[0])\n        parameters[0] = re.sub(r\"(?m),$\", \"\", parameters[0])\n        # Remove the u for unsigned numbers (rare)\n        parameters[0] = re.sub(r\"1u[ ]<<\", r\"1 <<\", parameters[0])\n        # Remove those preprocessor constants. The first word is a library name, like GLIB|GI|GIO|GOBJECT|GDK|PANGO:\n        parameters[0] = re.sub(r\"[A-Z]+_AVAILABLE_ENUMERATOR_IN_\\d_[\\d]+\", \"\", parameters[0])\n        parameters[0] = re.sub(r\"[A-Z]+_DEPRECATED_ENUMERATOR_IN_\\d_[\\d]+_FOR.*\", \"\", parameters[0])\n\n        # ********** Refactoring **********\n        # Is it a char ?\n        parameters[0] = re.sub(r\"('.?')\", r\"iachar(\\1)\", parameters[0])\n        # Is it in hexadecimal ?\n        parameters[0] = re.sub(r\"0x([0-9A-Fa-f]+)\", r\"INT(z'\\1')\",\n                               parameters[0])\n        # Is it a bit field ?\n        parameters[0] = bit_fields.sub(set_bit_field, parameters[0])\n        # complement\n        parameters[0] = re.sub(r\"~(\\w+)\", r\"not(\\1)\", parameters[0])\n        # logical or\n        parameters[0] = re.sub(r\"([\\w\\(\\)]+)\\s*\\|\\s*([\\w\\(\\), \\d]+)\",\n                               r\"ior(\\1 , \\2)\", parameters[0])\n\n        # Renamed flags (have the same name as a GTK function):\n        for flag in [\"ATK_HYPERLINK_IS_INLINE\", \"GDK_PROPERTY_DELETE\",\n                     \"GDK_DRAG_STATUS\", \"GDK_DRAG_MOTION\"]:\n            parameters[0] = re.sub(r\"(?m)^\\s*\"+flag, flag+\"_F\", parameters[0])\n\n        # Integer size problem:\n        parameters[0] = re.sub(r\"(?m)^\\s*G_PARAM_DEPRECATED.*$\",\n                               \"\", parameters[0])\n\n        # Resulting Fortran enumerator:\n        f_enum += \"enum, bind(c)    !\" + name + \"\\n\"\n        enumerators = re.sub(r\"(?m)^\\s*(\\w+)\", 1*TAB + r\"enumerator :: \\1\", parameters[0])\n        for line in enumerators.splitlines():\n            f_enum += multiline(line, 80) + \"\\n\"\n        f_enum += \"end enum\\n\\n\"\n        nb += 1\n\n    # Remove empty lines:\n    f_enum = re.sub(r\"(?m)^ *\\n$\", \"\", f_enum)\n\n    # If enums has been found:\n    if f_enum != \"! \" + c_file_name + \"\\n\":\n        f_enum += \"\\n\"\n\n    return f_enum, nb\n"
  },
  {
    "path": "src/cfwrapper/errors.py",
    "content": "#!/usr/bin/env python3\n# -*- coding: utf-8 -*-\n\n# This file is part of gtk-fortran, a GTK / Fortran interface library.\n# Copyright (C) 2011 The gtk-fortran team\n#\n# This is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 3, or (at your option)\n# any later version.\n#\n# This software is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# Under Section 7 of GPL version 3, you are granted additional\n# permissions described in the GCC Runtime Library Exception, version\n# 3.1, as published by the Free Software Foundation.\n#\n# You should have received a copy of the GNU General Public License along with\n# this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n# If not, see <http://www.gnu.org/licenses/>.\n#\n# Contributed by Vincent Magnin, 01.28.2011\n# Last modification: 2019-04-02\n\n\"\"\" This module contains the class Errors used in the cfwrapper.\n\"\"\"\n\nclass Errors():\n    \"\"\"This class is used to manage the errors that occurs when scannning the\n    C header files.\n    \"\"\"\n\n    def __init__(self):\n        self.nb_errors = 0\n        self.nb_type_errors = 0\n        self.errors_list = []\n\n    def inc_nb_errors(self):\n        self.nb_errors += 1\n\n    def inc_nb_type_errors(self):\n        self.nb_type_errors += 1\n\n    def append_error(self, error):\n        self.errors_list.append(error)\n\n    def new_error(self, direc, filename, message, proto, type_error):\n        \"\"\"Write errors in the list and increments the counters.\n        \"\"\"\n        self.append_error([direc + \"/\" + filename, message, proto])\n\n        if type_error:\n            self.inc_nb_type_errors()\n        else:\n            self.inc_nb_errors()\n\n    def sort(self):\n        self.errors_list.sort()\n"
  },
  {
    "path": "src/cfwrapper/fortran.py",
    "content": "#!/usr/bin/env python3\n# -*- coding: utf-8 -*-\n\n# This file is part of gtk-fortran, a GTK / Fortran interface library.\n# Copyright (C) 2011 The gtk-fortran team\n#\n# This is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 3, or (at your option)\n# any later version.\n#\n# This software is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# Under Section 7 of GPL version 3, you are granted additional\n# permissions described in the GCC Runtime Library Exception, version\n# 3.1, as published by the Free Software Foundation.\n#\n# You should have received a copy of the GNU General Public License along with\n# this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n# If not, see <http://www.gnu.org/licenses/>.\n#\n# Contributed by Vincent Magnin, 01.28.2011\n# Last modification: 2025-02-24\n\n\"\"\" This module contains a function to translate C types to Fortran types.\n\"\"\"\n\nimport re           # Regular expression library\n\nfrom scan_types_and_enums import types_enums\n\n# The regex used to identify a C type:\nRGX_TYPE = re.compile(r\"^ *((const )?\\w+)[ \\*]?\")\n# beginning by zero or several spaces,\n# possibly by a \"const \" statement,\n# followed by the name of the type,\n# and possibly ending by a space or a star.\n\ndef iso_c_binding(declaration, isReturned):\n    \"\"\" Returns the Fortran type corresponding to a C type in the ISO_C_BINDING\n        module (limited to C types used in GTK), and the KIND type,\n        for example 'integer(c_int)', 'c_int'.\n        The declaration contains the type and the name of the entity,\n        for example 'GVariant *value'\n        The isReturned flag argument distinguishes types returned by a \n        function (true) or arguments types (false).\n    \"\"\"\n    \n    # Try to find a C type in the declaration:\n    try:\n        c_type = RGX_TYPE.search(declaration).group(1)\n    except AttributeError:\n        return \"?\", \"?\"    # No C type found => error\n\n    # Remove a possible \"const \" statement:\n    declaration = re.sub(r\"^(const )\", \"\", declaration)\n\n    # Is it a pointer toward a function?\n    for item in types_enums.gtk_funptr:\n        if item in c_type:\n            return \"type(c_funptr)\", \"c_funptr\"\n\n    # Is it a gpointer? (an untyped pointer equivalent to void*)\n    if (\"gpointer\" in c_type) or (\"gconstpointer\" in c_type):\n        return \"type(c_ptr)\", \"c_ptr\"\n\n    # Is it a C pointer? (one or more stars)\n    if \"*\" in declaration:\n        # GVariant and GVariantType are structures, generally used via pointers\n        if (\"GVariant\" in c_type):\n            if declaration.count('*') >= 2:\n                return \"type(c_ptr), dimension(*)\", \"c_ptr\"\n            else:\n                return \"type(c_ptr)\", \"c_ptr\"\n        # Is it a string (char or gchar array) or a list of strings?\n        elif (\"char\" in c_type) and (not isReturned):\n            if declaration.count('*') >= 2:\n                # An array of C strings:\n                return \"type(c_ptr), dimension(*)\", \"c_ptr\"\n            else:\n                return \"character(kind=c_char), dimension(*)\", \"c_char\"\n        # Other cases:\n        else:\n            return \"type(c_ptr)\", \"c_ptr\"\n\n    # Is it an array?\n    if \"[\" in declaration:\n        array = \", dimension(*)\"\n    else:\n        array = \"\"\n\n    # Other cases defined in the TYPES dictionaries:\n    if len(declaration.split()) >= 3:  # Two words type + the name of the entity\n        # The TYPES2_DICT contains a list of two words type\n        for item in types_enums.TYPES2_DICT:\n            # A Python set is an unordered collection of distinct hashable objects\n            if set(item.split()).issubset(set(declaration.split())):\n                return types_enums.TYPES2_DICT[item][0] + array, types_enums.TYPES2_DICT[item][1]\n    else:  # It is therefore a one word type\n        for item in types_enums.TYPES_DICT:\n            if item in c_type.split():\n                return types_enums.TYPES_DICT[item][0] + array, types_enums.TYPES_DICT[item][1]\n\n    # Is it a \"typedef enum\"?\n    # This treatment must be made at the end of this function (see Issue #290).\n    for item in types_enums.gtk_enums:\n        if item in c_type:\n            return \"integer(c_int)\", \"c_int\"\n\n    # We failed to identify the C type.\n    # This print can be used for debugging those cases:\n    # print(declaration)\n    return \"?\", \"?\"\n    \n"
  },
  {
    "path": "src/cfwrapper/globals_const.py",
    "content": "#!/usr/bin/env python3\n# -*- coding: utf-8 -*-\n\n# This file is part of gtk-fortran, a GTK / Fortran interface library.\n# Copyright (C) 2011 The gtk-fortran team\n#\n# This is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 3, or (at your option)\n# any later version.\n#\n# This software is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# Under Section 7 of GPL version 3, you are granted additional\n# permissions described in the GCC Runtime Library Exception, version\n# 3.1, as published by the Free Software Foundation.\n#\n# You should have received a copy of the GNU General Public License along with\n# this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n# If not, see <http://www.gnu.org/licenses/>.\n#\n# Contributed by Vincent Magnin, 2011-01-28\n# Last modification: 2020-02-10\n\n\"\"\" This module contains globals constants used in the cfwrapper.\n\"\"\"\n\n# Define the tabulation in the *-auto.f90 files:\nTAB = \"  \"\n\n# Path to the top directory of the project:\nTOP_DIR = \"../../\"\n\n# Path to directory src/ where the *-auto.f90 files will be written:\nSRC_DIR = \"../\"\n"
  },
  {
    "path": "src/cfwrapper/lib_versions.py",
    "content": "#!/usr/bin/env python3\n# -*- coding: utf-8 -*-\n\n# This file is part of gtk-fortran, a GTK / Fortran interface library.\n# Copyright (C) 2011 The gtk-fortran team\n#\n# This is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 3, or (at your option)\n# any later version.\n#\n# This software is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# Under Section 7 of GPL version 3, you are granted additional\n# permissions described in the GCC Runtime Library Exception, version\n# 3.1, as published by the Free Software Foundation.\n#\n# You should have received a copy of the GNU General Public License along with\n# this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n# If not, see <http://www.gnu.org/licenses/>.\n#\n# Contributed by Vincent Magnin, 2011-01-28\n# Last modification: 2023-04-08\n\nimport os\nimport re           # Regular expression library\nimport platform     # To obtain platform informations\nimport subprocess   # To launch a shell command\nimport csv          # To write .csv files\nimport datetime\n\nfrom globals_const import TOP_DIR\n\n\nclass Version():\n    \"\"\" This class contains functions to determine the versions of the libraries\n    and programs used in gkt-fortran, and procedures to write them in various files.\n    \"\"\"\n\n    def __init__(self, GTK_VERSION, GTK_FORTRAN_VERSION):\n        # Packages in Ubuntu, Arch/Manjaro, Fedora, Mageia (you can add the\n        # names in you distro and the command in the function find_library):\n        pack_gtk4 = ((\"libgtk-4-1\", \"deb\"), (\"gtk4\", \"pacman\"),\n                    (\"gtk4\", \"rpm\"), (\"gtk4.0\", \"rpm\"))\n        pack_gtk3 = ((\"libgtk-3-0\", \"deb\"), (\"gtk3\", \"pacman\"),\n                    (\"gtk3\", \"rpm\"), (\"gtk+3.0\", \"rpm\"))\n        pack_gtk2 = ((\"libgtk2.0-0\", \"deb\"), (\"gtk2\", \"pacman\"),\n                    (\"gtk2\", \"rpm\"), (\"gtk+2.0\", \"rpm\"))\n        pack_glib = ((\"libglib2.0-0\", \"deb\"), (\"glib2\", \"pacman\"),\n                    (\"glib2\", \"rpm\"), (\"libglib2.0_0\", \"rpm\"))\n\n        if GTK_VERSION == \"gtk4\":\n            self.gtk = self.library(pack_gtk4)\n        elif GTK_VERSION == \"gtk3\":\n            self.gtk = self.library(pack_gtk3)\n        elif GTK_VERSION == \"gtk2\":\n            self.gtk = self.library(pack_gtk2)\n        else:\n            self.gtk = \"not_GTK\"\n\n        self.gtk_fortran = GTK_FORTRAN_VERSION\n        self.glib = self.library(pack_glib)\n        self.distro_version = subprocess.getoutput(\"lsb_release -rs\")\n        self.distro_name = subprocess.getoutput(\"lsb_release -is\")\n\n\n    def find_library(self, lib_name, psys):\n        \"\"\" Receive the name of a library package and the packaging system, and\n        returns the version of the library if found, else returns ?.?.?\n        \"\"\"\n        common = lib_name + \" 2>/dev/null | grep Version\"\n\n        if psys == \"deb\":        # Debian/Ubuntu command line:\n            # Try first APT:\n            libversion = os.popen(\"apt-cache show \" + common, mode='r').read()\n            if libversion == \"\": # then dpkg:\n                libversion = os.popen(\"dpkg -p \" + common, mode='r').read()\n        elif psys == \"pacman\":   # Arch/Manjaro command line\n            libversion = os.popen(\"pacman -Qi \" + common, mode='r').read()\n        elif psys == \"rpm\":      # Mageia (& Fedora?) command line\n            libversion = os.popen(\"rpm -qi \" + common, mode='r').read()\n        else:\n            print(\"Unknown package system: (\", psys, \"): \", lib_name)\n            libversion = \"\"\n\n        if libversion == \"\":       # package not found\n            # Uncomment the following line and change the command line for the\n            # packaging system of your Linux distribution:\n            # libversion = os.popen(\"dpkg -p \" + common, mode='r').read()\n            pass     # no operation instruction to avoid an empty if statement\n\n        try:\n            libversion = re.search(r\"(\\d{1,2}\\.\\d{1,2}\\.\\d{1,2})\",\n                                   libversion).group(1)\n        except AttributeError:\n            libversion = \"?.?.?\"\n\n        return libversion\n\n\n    def library(self, tuple_packages):\n        \"\"\"Search and return the version of the library on your system, trying\n        several packaging systems, or returns ?.?.? if not found. Each item in\n        tuple_packages is a tuple (package name, packaging system).\n        \"\"\"\n        for item in tuple_packages:\n            libver = self.find_library(item[0], item[1])\n            if libver != \"?.?.?\":\n                break\n\n        return libver\n\n\n    def string(self):\n        \"\"\"Returns a string containing the gtk-fortran semantic version and GTK, GLib\n           and distribution versions used to generate the library, for example :\n           gtk-fortran 4.0.0, GTK 4.0.0, GLib 2.67.1, Fedora 34 x86_64\n        \"\"\"\n        return (\"gtk-fortran \" + self.gtk_fortran + \", GTK \" + self.gtk + \", GLib \"+ self.glib\n                + \", \" + self.distro_name + \" \" + self.distro_version + \" \" + platform.machine())\n\n\n    def create_file(self):\n        \"\"\"Create the VERSIONS file a the top of the project. This file is used\n        by other parts of the build system.\n        \"\"\"\n        all_versions = []\n        all_versions.append([\"gtk-fortran\", self.gtk_fortran])\n        all_versions.append([\"GTK\", self.gtk])\n        all_versions.append([\"GLib\", self.glib])\n        all_versions.append([self.distro_name, self.distro_version])\n\n        with open(TOP_DIR+'VERSIONS', 'w', newline='', encoding='utf-8') as csvfile:\n            VERSIONS_file = csv.writer(csvfile, delimiter=';', dialect='excel')\n            VERSIONS_file.writerows(all_versions)\n\n\n    def update_json_file(self):\n        \"\"\"Update the codemeta.json file a the top of the project.\n        \"\"\"\n        with open('../../codemeta.json', 'r+', encoding='utf-8') as json_file:\n            content = json_file.read()\n            json_file.seek(0)\n            json_file.truncate()\n            content = re.sub(r'\"dateModified\": \"(.*)\"', r'\"dateModified\": \"'+datetime.date.today().isoformat()+'\"', content)\n            content = re.sub(r'\"version\": \"(.*)\"', r'\"version\": \"'+self.gtk_fortran+'\"', content)\n            json_file.write(content)\n\n    def update_fpm_file(self):\n        \"\"\"Update the fpm.toml file a the top of the project.\n        \"\"\"\n        with open('../../fpm.toml', 'r+', encoding='utf-8') as fpm_file:\n            content = fpm_file.read()\n            fpm_file.seek(0)\n            fpm_file.truncate()\n            content = re.sub(r'version = \"(.*)\"', r'version = \"'+self.gtk_fortran+'\"', content)\n            fpm_file.write(content)\n"
  },
  {
    "path": "src/cfwrapper/run_tests.py",
    "content": "#!/usr/bin/env python3\n# -*- coding: utf-8 -*-\n\n# This file is part of gtk-fortran, a GTK / Fortran interface library.\n# Copyright (C) 2023 The gtk-fortran team\n#\n# This is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 3, or (at your option)\n# any later version.\n#\n# This software is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# Under Section 7 of GPL version 3, you are granted additional\n# permissions described in the GCC Runtime Library Exception, version\n# 3.1, as published by the Free Software Foundation.\n#\n# You should have received a copy of the GNU General Public License along with\n# this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n# If not, see <http://www.gnu.org/licenses/>.\n#\n# Contributed by Vincent Magnin 2023-03-16\n# Last modifications: 2023-03-17\n\n\"\"\" This script if for testing some functions of the cfwrapper\n\"\"\"\n\nimport sys\n# To use ../tools.py which contains the multiline() function\n# (needed to import cleaning and analyze):\nsys.path.append('../')\n\n# Modules of the cfwrapper:\nfrom analyze import split_prototype\n\n#-------------------------------------\n# Testing the analyze of C prototypes:\n#-------------------------------------\nprototype_list = [\"gboolean g_module_close (GModule *module);\"]\nprototype_list.append(\"void g_scanner_unexp_token (GScanner *scanner, GTokenType expected_token, const gchar *identifier_spec, const gchar *symbol_spec, const gchar *symbol_name, const gchar *message, gint is_error);\")\nprototype_list.append(\"GOBJECT_VAR GType *g_param_spec_types;\")\nprototype_list.append(\"const GtkCssLocation * gtk_css_section_get_start_location (const GtkCssSection *section);\")\nprototype_list.append(\"gboolean (g_str_has_suffix) (const gchar *str, const gchar *suffix);\")\nprototype_list.append(\"GdkPixbufAnimation *gdk_pixbuf_animation_new_from_resource(const char *resource_path, GError **error);\")\nprototype_list.append(\"unsigned int cairo_device_get_reference_count (cairo_device_t *device);\")\n\nfor prototype in prototype_list:\n    print(prototype)\n    try:\n        function_type, f_name, args = split_prototype(prototype)\n        print(function_type, \" | \", f_name, \" | \", args)\n    except Exception as exc:\n        print(\">>> \" + str(exc))\n    finally:\n        print()\n"
  },
  {
    "path": "src/cfwrapper/scan_types_and_enums.py",
    "content": "#!/usr/bin/env python3\n# -*- coding: utf-8 -*-\n\n# This file is part of gtk-fortran, a GTK / Fortran interface library.\n# Copyright (C) 2011 The gtk-fortran team\n#\n# This is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 3, or (at your option)\n# any later version.\n#\n# This software is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# Under Section 7 of GPL version 3, you are granted additional\n# permissions described in the GCC Runtime Library Exception, version\n# 3.1, as published by the Free Software Foundation.\n#\n# You should have received a copy of the GNU General Public License along with\n# this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n# If not, see <http://www.gnu.org/licenses/>.\n#\n# Contributed by Vincent Magnin, 2023-03-21\n# Last modification: 2025-02-19\n\nimport os\nimport re           # Regular expression library\nimport csv          # To write .csv files\n\n# Project modules:\nfrom globals_const import SRC_DIR\n\n\nclass types_enums():\n    \"\"\" This class contains two dictionaries with the GLib/GTK types,\n    a list of the enums and a list of funptr types. They are class attributes\n    but dynamically completed when an instance is created.\n    \"\"\"\n    # -------------------------------------------------------------------------\n    # These dictionaries give the Fortran type and its KIND for each GTK type.\n    # TYPES_DICT will be completed with other types detected by the algorithm.\n    # -------------------------------------------------------------------------\n    # One word types:\n    TYPES_DICT = {\n        \"int\":(\"integer(c_int)\", \"c_int\"),\n        \"gint\":(\"integer(c_int)\", \"c_int\"),\n        \"guint\":(\"integer(c_int)\", \"c_int\"),\n        #define Bool int    => Xlib.h\n        \"Bool\":(\"integer(c_int)\", \"c_int\"),\n        \"gboolean\":(\"integer(c_int)\", \"c_int\"),\n        \"GPid\":(\"integer(c_int)\", \"c_int\"),\n        \"gint64\":(\"integer(c_int64_t)\", \"c_int64_t\"),\n        \"goffset\":(\"integer(c_int64_t)\", \"c_int64_t\"),\n        \"guint64\":(\"integer(c_int64_t)\", \"c_int64_t\"),\n        \"gint32\":(\"integer(c_int32_t)\", \"c_int32_t\"),\n        \"guint32\":(\"integer(c_int32_t)\", \"c_int32_t\"),\n        \"uint32_t\":(\"integer(c_int32_t)\", \"c_int32_t\"),\n        #typedef guint32 GdkWChar;\n        \"GdkWChar\":(\"integer(c_int32_t)\", \"c_int32_t\"),\n        #typedef uint32_t xcb_drawable_t;\n        \"xcb_drawable_t\":(\"integer(c_int32_t)\", \"c_int32_t\"),\n        #typedef uint32_t xcb_pixmap_t;\n        \"xcb_pixmap_t\":(\"integer(c_int32_t)\", \"c_int32_t\"),\n        #typedef __uid_t uid_t;\n        \"uid_t\":(\"integer(c_int32_t)\", \"c_int32_t\"),\n        \"gint16\":(\"integer(c_int16_t)\", \"c_int16_t\"),\n        \"guint16\":(\"integer(c_int16_t)\", \"c_int16_t\"),\n        \"gint8\": (\"integer(c_int8_t)\", \"c_int8_t\"),\n        \"guint8\": (\"integer(c_int8_t)\", \"c_int8_t\"),\n        \"long\":(\"integer(c_long)\", \"c_long\"),\n        \"gulong\":(\"integer(c_long)\", \"c_long\"),\n        #typedef __time_t time_t;\n        \"time_t\":(\"integer(c_long)\", \"c_long\"),\n        \"short\":(\"integer(c_short)\", \"c_short\"),\n        \"boolean\":(\"logical(c_bool)\", \"c_bool\"),\n        \"char\":(\"character(kind=c_char)\", \"c_char\"),\n        # For gchar & guchar,\n        # see https://github.com/vmagnin/gtk-fortran/issues/41#issuecomment-7337877\n        \"gchar\":(\"integer(kind=c_int8_t)\", \"c_int8_t\"),\n        \"guchar\":(\"integer(kind=c_int8_t)\", \"c_int8_t\"),\n        # typedef gchar** GStrv\n        \"GStrv\":(\"type(c_ptr)\", \"c_ptr\"),\n        # GVariant and GVariantType are structures, generally used with pointers.\n        # We don't define the types and kinds but this declaration is\n        # needed for GVariant and GVariantType to be treated in Fortran.py:\n        \"GVariant\":(\"\", \"\"),\n        \"GVariantType\":(\"\", \"\"),\n        \"double\": (\"real(c_double)\", \"c_double\"),\n        \"gdouble\": (\"real(c_double)\", \"c_double\"),\n        \"float\":(\"real(c_float)\", \"c_float\"),\n        \"gfloat\":(\"real(c_float)\", \"c_float\"),\n        \"size_t\":  (\"integer(c_size_t)\", \"c_size_t\"),\n        # gsize is the same size than size_t:\n        \"gsize\":  (\"integer(c_size_t)\", \"c_size_t\"),\n        # GLib asserts that gssize is the same size as gsize (size_t) but signed:\n        # see https://discourse.gnome.org/t/where-are-defined-glib-types-in-the-new-doc/14473/4\n        \"gssize\":  (\"integer(c_size_t)\", \"c_size_t\"),\n        # typedef gsize GType;\n        \"GType\":  (\"integer(c_size_t)\", \"c_size_t\"),\n        \"va_list\":(\"type(c_ptr)\", \"c_ptr\"),\n        #typedef struct _GdkAtom *GdkAtom;\n        \"GdkAtom\":(\"type(c_ptr)\", \"c_ptr\"),\n        # GC (Xlib) is it a pointer ?\n        \"GC\":(\"type(c_ptr)\", \"c_ptr\"),\n        #typedef struct _GIConv *GIConv;\n        \"GIConv\":(\"type(c_ptr)\", \"c_ptr\"),\n        \"GSignalCMarshaller\":(\"type(c_ptr)\", \"c_ptr\"),\n        # typedef gint32 GTime (Deprecated since: 2.62)\n        \"GTime\":(\"integer(c_int32_t)\", \"c_int32_t\"),\n        \"GQuark\":(\"integer(c_int32_t)\", \"c_int32_t\"),\n        #typedef struct FT_FaceRec_*  FT_Face;\n        \"FT_Face\":(\"type(c_ptr)\", \"c_ptr\"),\n        # X11 types (See /usr/include/X11/Xmd.h), unsigned int (64 bits archi.)\n        # or unsigned long (32 bits architecture):\n        \"Window\":(\"integer(c_long)\", \"c_long\"),\n        #define Drawable CARD32\n        \"Drawable\":(\"integer(c_long)\", \"c_long\"),\n        \"Font\":(\"integer(c_long)\", \"c_long\"),\n        \"Pixmap\":(\"integer(c_long)\", \"c_long\"),\n        \"Cursor\":(\"integer(c_long)\", \"c_long\"),\n        \"Colormap\":(\"integer(c_long)\", \"c_long\"),\n        \"GContext\":(\"integer(c_long)\", \"c_long\"),\n        \"Atom\":(\"integer(c_long)\", \"c_long\"),\n        \"Picture\":(\"integer(c_long)\", \"c_long\"),\n        \"XID\":(\"integer(c_long)\", \"c_long\"),\n        \"VisualID\":(\"integer(c_long)\", \"c_long\"),\n        \"Time\":(\"integer(c_long)\", \"c_long\"),\n        #define KeyCode CARD8   => unsigned char\n        \"KeyCode\":(\"character(kind=c_char)\", \"c_char\"),\n        \"KeySym\":(\"integer(c_long)\", \"c_long\"),\n        # enums:\n        \"GWin32OSType\":(\"integer(c_int)\", \"c_int\")\n    }\n\n    # Two words types:\n    TYPES2_DICT = {\n        \"long double\": (\"real(c_long_double)\", \"c_long_double\"),\n        \"unsigned long\":(\"integer(c_long)\", \"c_long\"),\n        \"unsigned short\":(\"integer(c_short)\", \"c_short\"),\n        \"unsigned int\":(\"integer(c_int)\", \"c_int\")\n    }\n\n    # These lists will be used by the iso_c_binding() function:\n    gtk_enums = []\n    gtk_funptr = [\"GDestroyNotify\", \"GAsyncReadyCallback\"]\n\n\n    def __init__(self, PATH_DICT):\n        \"\"\" When an instance is created in cfwrapper.py, the class\n            dictionnaries and lists are filled or completed by\n            this constructor.\n        \"\"\"\n        gtk_types = []\n\n        # Scan all header files to find all enum types, all pointers to\n        # functions (funptr) and add derived GTK types:\n        for library_path in PATH_DICT:\n            for directory in os.walk(library_path):\n                for c_file_name in directory[2]:\n                    whole_file = open(directory[0] + \"/\" + c_file_name, 'r',\n                                    errors='replace', encoding='utf-8').read()\n                    types_enums.gtk_enums += re.findall(r\"(?ms)^typedef enum.*?}\\s?(\\w+);\", whole_file)\n                    types_enums.gtk_funptr += re.findall(r\"(?m)^typedef[ \\t]*(?:const)?[ \\t]*\\w+[ \\t]*\\*?\\s*\\(\\* ?([\\w]*?)\\)\",\n                                            whole_file)\n                    gtk_types += re.findall(r\"(?m)^typedef *?(?:const)? *?(\\w+) *\\*? *([\\w]+);\",\n                                            whole_file)\n\n        # Remove duplicated items in types_enums.gtk_funptr:\n        converted_to_set = set(types_enums.gtk_funptr)\n        types_enums.gtk_funptr = list(converted_to_set)\n\n        # Add one word derived types in the TYPES_DICT:\n        for each in gtk_types:\n            # Is it already in the dictionnary?\n            if each[1] not in types_enums.TYPES_DICT:\n                # Is it a variable type or a pointer to a function?\n                if each[0] in types_enums.TYPES_DICT:\n                    types_enums.TYPES_DICT[each[1]] = types_enums.TYPES_DICT[each[0]]\n                elif each[0] in types_enums.gtk_funptr:\n                    types_enums.TYPES_DICT[each[1]] = (\"type(c_funptr)\", \"c_funptr\")\n\n        # Write all the types in a CSV file:\n        with open(SRC_DIR+\"gtk-fortran_types.csv\", \"w\", newline=\"\", encoding=\"utf-8\") as csvfile3:\n            index_file = csv.writer(csvfile3, delimiter=\";\", dialect='excel')\n            index_file.writerow([\"C type\", \"Fortran type\", \"Fortran KIND\"])\n            for each in types_enums.TYPES_DICT:\n                index_file.writerow([each, types_enums.TYPES_DICT[each][0], types_enums.TYPES_DICT[each][1]])\n            for each in types_enums.TYPES2_DICT:\n                index_file.writerow([each, types_enums.TYPES2_DICT[each][0], types_enums.TYPES2_DICT[each][1]])\n\n        # Write all the funptr in a CSV file:\n        types_enums.gtk_funptr.sort()\n        with open(SRC_DIR+\"gtk-fortran_funptr.csv\", \"w\", newline=\"\", encoding=\"utf-8\") as csvfile4:\n            index_file = csv.writer(csvfile4, delimiter=\";\", dialect='excel')\n            index_file.writerow([\"C type\"])\n            for each in types_enums.gtk_funptr:\n                index_file.writerow([each])\n"
  },
  {
    "path": "src/cfwrapper/stats.py",
    "content": "#!/usr/bin/env python3\n# -*- coding: utf-8 -*-\n\n# This file is part of gtk-fortran, a GTK / Fortran interface library.\n# Copyright (C) 2011 The gtk-fortran team\n#\n# This is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 3, or (at your option)\n# any later version.\n#\n# This software is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# Under Section 7 of GPL version 3, you are granted additional\n# permissions described in the GCC Runtime Library Exception, version\n# 3.1, as published by the Free Software Foundation.\n#\n# You should have received a copy of the GNU General Public License along with\n# this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n# If not, see <http://www.gnu.org/licenses/>.\n#\n# Contributed by Vincent Magnin, 01.28.2011\n# Last modification: 2023-03-22\n\n\"\"\" This module contains functions for printing statistics at the end of the\ngtk-fortran generation process.\n\"\"\"\n\nimport hashlib      # To dectect modifications in gtk-fortran files\nimport pickle       # To save the hash in a persistent way\nimport platform     # To obtain platform informations\nimport time\nimport getpass      # To obtain the login with getuser()\n\n# Project modules:\nfrom globals_const import SRC_DIR\nfrom scan_types_and_enums import types_enums\n\n\ndef hash_gtk_fortran(PATH_DICT, GTKENUMS_FILE):\n    \"\"\"Compute the SHA1 hash of all *-auto.* files to detect\n    modifications in gtk-fortran (useful during development)\n    \"\"\"\n    hasher = hashlib.sha1()\n\n    files_list = list(PATH_DICT.values())\n    files_list.extend([GTKENUMS_FILE])\n\n    for file_name in files_list:\n        with open(SRC_DIR+file_name, 'rb') as auto_file:\n            whole = auto_file.read()\n            hasher.update(whole)\n\n    new_hash = hasher.hexdigest()\n    # Read previous hash:\n    try:\n        with open(\"gtk-fortran-hash.pkl\", 'rb') as hash_file:\n            previous_hash = pickle.load(hash_file)\n    except FileNotFoundError:\n        previous_hash = \"\"\n    # Then save the new hash in a file:\n    with open(\"gtk-fortran-hash.pkl\", 'wb') as hash_file:\n        pickle.dump(new_hash, hash_file)\n\n    # Print new hash and compare with previous hash:\n    print(\"* SHA1: \", new_hash)\n    if new_hash != previous_hash:\n        print(\"\\033[31m >>>>>> SHA 1 HAS BEEN MODIFIED ! It was \", previous_hash, \" <<<<<< \\033[0m\")\n        print()\n\n\nclass Statistics():\n    \"\"\"This class is used to manage the gtk-fortran statistics.\n    \"\"\"\n    def __init__(self):\n        self.nb_lines = 0\n        self.nb_generated_interfaces = 0\n        self.nb_deprecated_functions = 0\n        self.nb_variadic = 0\n        self.nb_files = 0\n        self.nb_enumerators = 0\n        self.nb_win32_utf8 = 0\n        self.used_types = []\n        self.nb_funptr_types = 0\n\n    def inc_nb_lines(self, n):\n        self.nb_lines += n\n\n    def inc_nb_generated_interfaces(self, n):\n        self.nb_generated_interfaces += n\n\n    def inc_nb_deprecated_functions(self):\n        self.nb_deprecated_functions += 1\n\n    def inc_nb_variadic(self):\n        self.nb_variadic += 1\n\n    def inc_nb_files(self):\n        self.nb_files += 1\n\n    def inc_nb_enumerators(self, n):\n        self.nb_enumerators += n\n\n    def inc_nb_win32_utf8(self):\n        self.nb_win32_utf8 += 1\n\n    def append_type(self, iso_c):\n        self.used_types.append(iso_c)\n\n    def inc_nb_funptr_types(self, n):\n        self.nb_funptr_types += n\n\n    def print(self, T0, versions, PATH_DICT, GTKENUMS_FILE, my_errors):\n        \"\"\"Print various statistics about the generation of gtk-fortran\n        \"\"\"\n\n        print(\"\\033[1m\\n=== Statistics (ready to paste in the Status wiki page) ===\\n\\033[0m\")\n\n        print(\"\\033[34m## \" + versions + \", Python \" + platform.python_version())\n        print(getpass.getuser() + \", \"\n              + time.strftime(\"%a, %d %b %Y %H:%M:%S +0000\", time.gmtime()) + \"\\033[0m\")\n\n        print(f\"* nb_files scanned =        {self.nb_files:>6}\")\n        print(f\"* nb_generated_interfaces = {self.nb_generated_interfaces:>6}\")\n        print(f\"* nb_deprecated_functions = {self.nb_deprecated_functions:>6}\")\n        print(f\"* nb_type_errors =          {my_errors.nb_type_errors:>6}\")\n        print(f\"* nb_errors (others) =      {my_errors.nb_errors:>6}\")\n        print(f\"* nb_lines treated =        {self.nb_lines:>6}\")\n        print(f\"* nb_variadic functions =   {self.nb_variadic:>6}\")\n        print(f\"* nb_enumerators =          {self.nb_enumerators:>6}\")\n        print(f\"* nb_win32_utf8 =           {self.nb_win32_utf8:>6}\")\n        print(f\"* Number of types =         {len(types_enums.TYPES_DICT) + len(types_enums.TYPES2_DICT):>6}\")\n        print(f\"* Number of funptr types =  {self.nb_funptr_types:>6}\")\n\n        print(f\"* Computing time: {time.time()-T0:.2f} s\")\n\n        # Print the SHA1 of all *-auto.* files and look for modification:\n        hash_gtk_fortran(PATH_DICT, GTKENUMS_FILE)\n\n        print(\"\\n\\033[1m Used types:\", self.used_types, \"\\033[0m\")\n"
  },
  {
    "path": "src/extract_enums.pl",
    "content": "#!/usr/bin/env perl\n\n# This file is part of gtk-fortran, a GTK / Fortran interface library.\n# Copyright (C) 2012 The gtk-fortran team\n#\n# This is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 3, or (at your option)\n# any later version.\n#\n# This software is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU General Public License for more details.\n#\n# Under Section 7 of GPL version 3, you are granted additional\n# permissions described in the GCC Runtime Library Exception, version\n# 3.1, as published by the Free Software Foundation.\n#\n# You should have received a copy of the GNU General Public License along with\n# this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n# If not, see <http://www.gnu.org/licenses/>.\n#\n# Contributed by James Tappin 2012-08-14.\n# Vincent Magnin, last modification: 2022-09-29\n\n\n# Find the enumerator constants in gtkenums-auto.in and write\n# them out to a simple list.\n\nuse strict ;\nuse warnings ;\nuse Getopt::Long;\n\nmy $infile=\"gtkenums-auto.in\";\nmy $outfile=\"gtk-enumerators.lis\";\n\nmy $str;\nmy $count = 0;\n\nGetOptions('in=s' => \\$infile,\n\t   'out=s' => \\$outfile);\n\nopen(IN, $infile) || die \"Failed to open input $infile: $!\\n\";\nopen(OUT, \">$outfile\") || die \"Failed to open output $outfile: $!\\n\";\n\nwhile (<IN>) {\n    chomp;\n    $_ = lc;\n    /\\s*enumerator\\s*::\\s*(\\w+).*/ || next;\n    $count++;\n    print OUT \"$1\\n\";\n}\n\nprint \"Found $count enumerator constants\\n\";\n\nclose(OUT);\nclose(IN);\n"
  },
  {
    "path": "src/extract_events.pl",
    "content": "#!/usr/bin/env perl\n\n# This file is part of gtk-fortran, a GTK / Fortran interface library.\n# Copyright (C) 2011 The gtk-fortran team\n#\n# This is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 3, or (at your option)\n# any later version.\n#\n# This software is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# Under Section 7 of GPL version 3, you are granted additional\n# permissions described in the GCC Runtime Library Exception, version\n# 3.1, as published by the Free Software Foundation.\n#\n# You should have received a copy of the GNU General Public License along with\n# this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n# If not, see <http://www.gnu.org/licenses/>.\n#\n# Contributed by James Tappin 05/11/2011, vmagnin 2021-05-13\n\n# Extracts the structure definitions for Gdk events from the gdk\n# header files.\n\nuse strict ;\nuse warnings ;\nuse IO::File ;\n\n# Getting major version of GTK for the current branch (from VERSIONS file):\nmy $versions_file = IO::File->new('../VERSIONS', '<') ;\nmy @lines = $versions_file->getlines ;\nmy @match = grep { /^gtk-fortran;([0-9]+)/m } @lines ;\nmy ($name, $semantic) = split /;/, $match[0] ;\nmy ($major, $minor, $patch) = split /\\./, $semantic ;\nmy $gdkvers = \"$major\" ;\n$gdkvers =~ s/\\R// ;\n\nprint \"Extracting GDK events for gtk-\".$gdkvers.\"-fortran\\n\" ;\n\nmy $gdktypes=\"/usr/include/gtk-\".$gdkvers.\".0/gdk/gdktypes.h\";\nmy $gdkevents=\"/usr/include/gtk-\".$gdkvers.\".0/gdk/gdkevents.h\";\nmy $ftninterface=\"gdkevents-auto.f90\";\n\n# Type conversions.\n# Defaults are pointers \"type(c_ptr)\", actual objects \"integer(kind=c_int)\"\n# (i.e. enumeration) (We assume that gdk-auto.f90 contains the actual\n# enumerations). As structures are defined, they are added to the hash.\n\nmy %conversions = (\"GdkAtom\" => \"type(c_ptr)\",\n\t\t   \"GdkNativeWindow\" => \"type(c_ptr)\",\n\t\t   \"cairo_region_t\" => \"type(c_ptr)\",\n\t\t   \"gint\" => \"integer(kind=c_int)\",\n\t\t   \"guint\" => \"integer(kind=c_int)\",\n\t\t   \"gint8\" => \"integer(kind=c_int8_t)\",\n\t\t   \"guint8\" => \"integer(kind=c_int8_t)\",\n\t\t   \"gint16\" => \"integer(kind=c_int16_t)\",\n\t\t   \"guint16\" => \"integer(kind=c_int16_t)\",\n\t\t   \"guint32\" => \"integer(kind=c_int32_t)\",\n\t\t   \"gdouble\" => \"real(kind=c_double)\",\n\t\t   \"gboolean\" => \"integer(kind=c_int)\",\n\t\t   \"gshort\" => \"integer(kind=c_short)\",\n\t\t   \"gushort\" => \"integer(kind=c_short)\",\n\t\t   \"char\" => \"character(kind=c_char)\",\n\t\t   \"short\" => \"integer(kind=c_short)\",\n\t\t   \"long\" => \"integer(kind=c_long)\");\n\n# GDK structure declarations have the form:\n# struct _Name\n# {\n#   type name;\n#   ...\n# }\n\nmy $sspattern = \"^struct _([a-zA-Z]+)\";\nmy $sepattern = \"};\";\nmy $sflag = 0;\nmy $dpattern = \"^ +([a-zA-Z0-9_]+) +(.+);\";  # A \"direct\" type\nmy $dppattern = \"^ +([a-zA-Z0-9_]+) +\\\\*(.+);\"; # A pointer to something\nmy $tname;\nmy $now = gmtime;\nmy $hfile = \"\" ;\nmy $list = \"\" ;\n\nrename($ftninterface, \"${ftninterface}.old\") if ( -f $ftninterface);\n\nopen(FGDKE, \">\", $ftninterface) || die \"Failed to open $ftninterface:$!\\n\";\nprint FGDKE \"! Automatically generated by extract_events.pl on $now Z\\n\";\nprint FGDKE \"! Please do not modify (unless you really know what you're doing).\\n\";\nprint FGDKE \"! This file is part of the gtk-fortran GTK+ Fortran Interface library.\\n\";\nprint FGDKE \"! GNU General Public License version 3\\n\\n\";\n\nprint FGDKE \"module gdk_events\\n\";\nprint FGDKE \"  ! GDK events and related structures\\n\";\nprint FGDKE \"  ! Automatically extracted from gdktypes.h & gdkevents.h\\n\";\nprint FGDKE \"  use, intrinsic :: iso_c_binding\\n\\n\";\nprint FGDKE \"  implicit none\\n\\n\";\n\nforeach $hfile ($gdktypes, $gdkevents) {\n    open(GDKE, \"<\", $hfile) || die \"Failed to open $hfile:$!\\n\";\n  LINE:\n    while (<GDKE>) {\n\tchop();\n\tif ( /$sspattern/ ) {  # Start a new definition\n\t    print FGDKE \"  type, bind(c) :: $1\\n\";\n\t    $sflag = 1;\n\t    $tname = $1;\n\t    $conversions{$1} = \"type($1)\";\n\t    next LINE;\n\t}\n\tif ( $sflag ) {  # We are defining a structure\n\t    next LINE  if ($_ eq \"{\"); # Skip the starting delimiter\n\t    next LINE if ($_ eq \"\"); # Skip blank lines\n\n\t    if ($_ eq $sepattern) { # Ending delimiter close out the definition\n\t\t$sflag = 0;\n\t\tprint FGDKE \"  end type $tname\\n\\n\";\n\t\tnext LINE;\n\t    }\n\t    if ( /$dppattern/ ) { # A pointer to something\n                                           #-- always a c_ptr\n\t\t$list = $2;\n\t\t$list =~ tr/:/=/;\n\t\tprint FGDKE \"    type(c_ptr) :: $list   ! -> $1\\n\";\n\t    }\n\t    elsif ( /$dpattern/ ) { # A direct declaration\n\t\t$list = $2;\n\t\t$list =~ tr/:/=/;\n\t\tif (defined($conversions{$1})) { # A known type\n\t\t    print FGDKE \"    $conversions{$1} :: $list  ! $1\\n\";\n\t\t} else { # Unknown type assume it's an enum\n\t\t    print FGDKE \"    integer(kind=c_int) :: $list    ! enum $1\\n\";\n\t\t}\n\t    } else {\n\t\tprint FGDKE \"!$_ ******\\n\";\n\t\tprint \"Unrecognized construct in $tname\\n$_\\n\";\n\t\tprint \"You may need to edit $ftninterface to resolve this\\n\";\n\t    }\n\t}\n    }\n    close GDKE;\n}\n\nprint FGDKE \"end module gdk_events\\n\";\n"
  },
  {
    "path": "src/extract_hl_doc.py",
    "content": "#!/usr/bin/env python3\n# -*- coding: utf-8 -*-\n\n# This file is part of gtk-fortran, a GTK / Fortran interface library.\n# Copyright (C) 2022 The gtk-fortran team\n#\n# This is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 3, or (at your option)\n# any later version.\n#\n# This software is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# Under Section 7 of GPL version 3, you are granted additional\n# permissions described in the GCC Runtime Library Exception, version\n# 3.1, as published by the Free Software Foundation.\n#\n# You should have received a copy of the GNU General Public License along with\n# this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n# If not, see <http://www.gnu.org/licenses/>.\n#-------------------------------------------------------------------------------\n# Contributed by Vincent Magnin, 2022-04-26\n# Last modification: 2022-04-28\n# Tested with Python 3.10.4, Kubuntu 22.04\n# Pylint rate: 9.30/10\n#-------------------------------------------------------------------------------\n\n\"\"\" Generates markdown files for the HL gtk-fortran documentation.\n    Usage: ./extract_hl_doc.py\n\"\"\"\n\n# Regular expression library:\nimport re\n\ndef write_in_adequate_file(source_file_name, string):\n    \"\"\" Writes the string in the adequate markdown file\n    \"\"\"\n    if source_file_name == \"gtk-sup.f90\":\n        sup_routines_file.write(string)\n    elif source_file_name in [\"gtk-draw-hl.f90\", \"gdk-pixbuf-hl.f90\"]:\n        hl_drawing_api_file.write(string)\n    else:\n        hl_api_file.write(string)\n\n#*************************************************************************\n# Main program\n#*************************************************************************\n\n# Note: the content of gtk-hl.f90 is not used in the documentation.\nFILES_LIST = [  \"gtk-hl-container.f90\",\n                \"gtk-hl-button.f90\",\n                \"gtk-hl-combobox.f90\",\n                \"gtk-hl-entry.f90\",\n                \"gtk-hl-spin-slider.f90\",\n                \"gtk-hl-infobar.f90\",\n                \"gtk-hl-dialog.f90\",\n                \"gtk-hl-progress.f90\",\n                \"gtk-hl-assistant.f90\",\n                \"gtk-hl-chooser.f90\",\n                \"gtk-hl-tree.f90\",\n                \"gtk-hl-misc.f90\",\n                \"gtk-draw-hl.f90\",\n                \"gdk-pixbuf-hl.f90\",\n                \"gtk-sup.f90\"]\n\nINPUT_DIR = \"./\"\nOUTPUT_DIR = \"../../gtk-fortran.wiki/\"\n\nhl_api_file = open(OUTPUT_DIR+\"Highlevel-api.md\", \"w\", encoding='utf-8')\nhl_api_file.write(\"# gtk-fortran High Level API\\n\\n\")\n\nhl_drawing_api_file = open(OUTPUT_DIR+\"High-level-drawing-api.md\", \"w\", encoding='utf-8')\nhl_drawing_api_file.write(\"\"\"\\\n# gtk-fortran High Level API\n\nThe graphics specific modules provide a high level interface to the\nGtkDrawingArea widget which is compatible with the `plplot` library and\nat least in simple cases relieves the user of the hassle of managing\nredraws. There is also a high level interface to the gdk-pixbuf library\nthat allows the easy mapping of 2 and 3 dimensional Fortran arrays to\nGdkPixbuf objects.\n\"\"\")\n\nsup_routines_file = open(OUTPUT_DIR+\"Supplementary-routines.md\", \"w\", encoding='utf-8')\nsup_routines_file.write(\"# gtk-fortran High Level API\\n\\n\")\n\n#*************************************************************************\n# Regular expressions for parsing the Fortran files\n#*************************************************************************\n# There should be only one module header per file,\n# delimited by the !* and !/ tags:\nSECTION_HEADER = re.compile(r\"(?ms)!\\*.*!/\")\n# Fortran code lines are beginning with spaces and an alphabetic character:\nFORTRAN_BLOCK = re.compile(r\"(?m)^[ \\t]*[a-z]+.*$\")\n# Finds both !* and !/ tags for deletion:\nHEADER_START_AND_END = re.compile(r\"(?m)^[ \\t]*(!\\*|!/)\")\n# The routines interaces are delimited by !+ and !-\nSECTION_ROUTINE = re.compile(r\"(?ms)!\\+.*?!-\")\n# Fortran routines lines are beginning by an alphabetic character after spaces\n# and should not contain comments :\nFORTRAN_ROUTINE = re.compile(r\"[ \\t]*[a-z]+[^!]*\")\n# Finds both !+ and !- tags for deletion:\nROUTINE_START_AND_END = re.compile(r\"(?m)^[ \\t]*(!\\+|!-)\")\n# Finds the ! introducing Fortran comments:\nUNCOMMENT = re.compile(r\"[ \\t]*!\")\n# Finds the first line of a table:\nTABLE_1ST_LINE = re.compile(r\"[ \\t]*!.+\\|.+\\|.+\\|\")\n# Finds the first line of a Fortran routine or a type declaration:\nROUTINE_NAME = re.compile(r\".*(subroutine|function|type, bind\\(c\\) ::)([^(]*)\\(\")\n\nprint(\"\\033[1m Scanning and parsing HL files... \\033[0m\")\n\nfor fortran_file in FILES_LIST:\n    print(INPUT_DIR+fortran_file)\n\n    whole_file = open(INPUT_DIR+fortran_file, 'r', errors='replace',\n                      encoding='utf-8').read()\n\n    #***************************************\n    # Fortran module header\n    #***************************************\n    headers = SECTION_HEADER.search(whole_file).group()\n    # Fortran module declaration:\n    header1 = FORTRAN_BLOCK.search(headers).group()\n    # Fortran code block in markdown:\n    header2 = headers.replace(header1, \"\\n```fortran\\n\"+header1+\"\\n```\\n\\n\")\n    header3 = HEADER_START_AND_END.sub(\"\", header2)\n    # The first line will be the title:\n    header4 = UNCOMMENT.sub(\"##\", header3, 1)\n    # Uncomment also the other lines:\n    header5 = UNCOMMENT.sub(\"\", header4)\n\n    write_in_adequate_file(fortran_file, header5)\n\n    #***************************************\n    # Fortran routines\n    #***************************************\n    routines = SECTION_ROUTINE.findall(whole_file)\n\n    for routine in routines:\n        routine1 = FORTRAN_ROUTINE.search(routine).group()\n\n        try_to_find_name = ROUTINE_NAME.search(routine1)\n        if try_to_find_name is not None:\n            name = try_to_find_name.group(2)\n            # The title is the name of the routine, then comes the code:\n            routine2 =  routine.replace(routine1, \"\\n### \"+name+\n                            \"\\n\\n```fortran\\n\"+routine1.rstrip()+\"\\n```\\n\\n\")\n            routine3 = ROUTINE_START_AND_END.sub(\"\", routine2)\n        else:\n            # This it not a routine but a type declaration\n            routine2 = ROUTINE_START_AND_END.sub(\"\", routine)\n            # Adds a markdown section tag and removes the character zero \"\\n\" of routine2:\n            routine3 = \"\\n### \" + routine2[1:] + \"\\n\"\n\n        # Is there a dummy arguments table to transform in markdown?\n        try_table_first_line = TABLE_1ST_LINE.search(routine3)\n        if try_table_first_line is not None:\n            table_first_line = try_table_first_line.group()\n            routine4 = routine3.replace(table_first_line,\n                                        \"\\nArgument | Type | Required? | Description\\n\"+\n                                        \"---------|------|-----------|------------\\n\"+\n                                        table_first_line)\n        else:\n            routine4 = routine3\n\n        # Uncomment and write in the markdown file:\n        routine5 = UNCOMMENT.sub(\"\", routine4)\n        write_in_adequate_file(fortran_file, routine5)\n\n# Closing all files:\nhl_api_file.close()\nhl_drawing_api_file.close()\nsup_routines_file.close()\n\nprint(\"\\n \\033[1m The .md files have been written in the \"+OUTPUT_DIR+\" directory \\033[0m\")\n"
  },
  {
    "path": "src/gdk-auto.f90",
    "content": "! Do not modify this file automatically generated by cfwrapper.py using:\n! gtk-fortran 4.9.0, GTK 4.20.2, GLib 2.86.1, Fedora 43 x86_64\n! This file is part of the gtk-fortran library, distributed under\n! GNU General Public License version 3.\n\nmodule gdk\nuse, intrinsic :: iso_c_binding\nimplicit none\ninterface\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdk.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkapplaunchcontext.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_app_launch_context_get_type (void);\nfunction gdk_app_launch_context_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_app_launch_context_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDisplay * gdk_app_launch_context_get_display (GdkAppLaunchContext *context);\nfunction gdk_app_launch_context_get_display(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_app_launch_context_get_display\n  type(c_ptr), value :: context\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_app_launch_context_set_desktop (GdkAppLaunchContext *context, int desktop);\nsubroutine gdk_app_launch_context_set_desktop(context, desktop) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: context\n  integer(c_int), value :: desktop\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_app_launch_context_set_timestamp (GdkAppLaunchContext *context, guint32 timestamp);\nsubroutine gdk_app_launch_context_set_timestamp(context, timestamp) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr), value :: context\n  integer(c_int32_t), value :: timestamp\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_app_launch_context_set_icon (GdkAppLaunchContext *context, GIcon *icon);\nsubroutine gdk_app_launch_context_set_icon(context, icon) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: icon\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_app_launch_context_set_icon_name (GdkAppLaunchContext *context, const char *icon_name);\nsubroutine gdk_app_launch_context_set_icon_name(context, icon_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: context\n  character(kind=c_char), dimension(*) :: icon_name\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkcairo.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!void gdk_cairo_set_source_rgba (cairo_t *cr, const GdkRGBA *rgba);\nsubroutine gdk_cairo_set_source_rgba(cr, rgba) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: rgba\nend subroutine\n\n! GDK_DEPRECATED_IN_4_20\n!void gdk_cairo_set_source_pixbuf (cairo_t *cr, const GdkPixbuf *pixbuf, double pixbuf_x, double pixbuf_y);\nsubroutine gdk_cairo_set_source_pixbuf(cr, pixbuf, pixbuf_x, pixbuf_y) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: pixbuf\n  real(c_double), value :: pixbuf_x\n  real(c_double), value :: pixbuf_y\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_cairo_rectangle (cairo_t *cr, const GdkRectangle *rectangle);\nsubroutine gdk_cairo_rectangle(cr, rectangle) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: rectangle\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_cairo_region (cairo_t *cr, const cairo_region_t *region);\nsubroutine gdk_cairo_region(cr, region) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: region\nend subroutine\n\n! \n!cairo_region_t * gdk_cairo_region_create_from_surface (cairo_surface_t *surface);\nfunction gdk_cairo_region_create_from_surface(surface) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_cairo_region_create_from_surface\n  type(c_ptr), value :: surface\nend function\n\n! GDK_DEPRECATED_IN_4_6_FOR(gdk_gl_texture_new)\n!void gdk_cairo_draw_from_gl (cairo_t *cr, GdkSurface *surface, int source, int source_type, int buffer_scale, int x, int y, int width, int height);\nsubroutine gdk_cairo_draw_from_gl(cr, surface, source, source_type,&\n& buffer_scale, x, y, width, height) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: surface\n  integer(c_int), value :: source\n  integer(c_int), value :: source_type\n  integer(c_int), value :: buffer_scale\n  integer(c_int), value :: x\n  integer(c_int), value :: y\n  integer(c_int), value :: width\n  integer(c_int), value :: height\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkcairocontext.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_cairo_context_get_type (void) ;\nfunction gdk_cairo_context_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_cairo_context_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_18_FOR(gsk_cairo_node_get_draw_context)\n!cairo_t * gdk_cairo_context_cairo_create (GdkCairoContext *self);\nfunction gdk_cairo_context_cairo_create(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_cairo_context_cairo_create\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkcicpparams.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_4_16\n!GdkCicpParams *gdk_cicp_params_new (void);\nfunction gdk_cicp_params_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_cicp_params_new\nend function\n\n! GDK_AVAILABLE_IN_4_16\n!guint gdk_cicp_params_get_color_primaries (GdkCicpParams *self);\nfunction gdk_cicp_params_get_color_primaries(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_cicp_params_get_color_primaries\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_16\n!void gdk_cicp_params_set_color_primaries (GdkCicpParams *self, guint color_primaries);\nsubroutine gdk_cicp_params_set_color_primaries(self, color_primaries) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: color_primaries\nend subroutine\n\n! GDK_AVAILABLE_IN_4_16\n!guint gdk_cicp_params_get_transfer_function (GdkCicpParams *self);\nfunction gdk_cicp_params_get_transfer_function(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_cicp_params_get_transfer_function\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_16\n!void gdk_cicp_params_set_transfer_function (GdkCicpParams *self, guint transfer_function);\nsubroutine gdk_cicp_params_set_transfer_function(self, transfer_function)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: transfer_function\nend subroutine\n\n! GDK_AVAILABLE_IN_4_16\n!guint gdk_cicp_params_get_matrix_coefficients (GdkCicpParams *self);\nfunction gdk_cicp_params_get_matrix_coefficients(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_cicp_params_get_matrix_coefficients\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_16\n!void gdk_cicp_params_set_matrix_coefficients (GdkCicpParams *self, guint matrix_coefficients);\nsubroutine gdk_cicp_params_set_matrix_coefficients(self, matrix_coefficients)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: matrix_coefficients\nend subroutine\n\n! GDK_AVAILABLE_IN_4_16\n!GdkCicpRange gdk_cicp_params_get_range (GdkCicpParams *self);\nfunction gdk_cicp_params_get_range(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_cicp_params_get_range\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_16\n!void gdk_cicp_params_set_range (GdkCicpParams *self, GdkCicpRange range);\nsubroutine gdk_cicp_params_set_range(self, range) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: range\nend subroutine\n\n! GDK_AVAILABLE_IN_4_16\n!GdkColorState * gdk_cicp_params_build_color_state (GdkCicpParams *self, GError **error);\nfunction gdk_cicp_params_build_color_state(self, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_cicp_params_build_color_state\n  type(c_ptr), value :: self\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkclipboard.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_clipboard_get_type (void) ;\nfunction gdk_clipboard_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_clipboard_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDisplay * gdk_clipboard_get_display (GdkClipboard *clipboard);\nfunction gdk_clipboard_get_display(clipboard) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_clipboard_get_display\n  type(c_ptr), value :: clipboard\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkContentFormats * gdk_clipboard_get_formats (GdkClipboard *clipboard);\nfunction gdk_clipboard_get_formats(clipboard) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_clipboard_get_formats\n  type(c_ptr), value :: clipboard\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_clipboard_is_local (GdkClipboard *clipboard);\nfunction gdk_clipboard_is_local(clipboard) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_clipboard_is_local\n  type(c_ptr), value :: clipboard\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkContentProvider * gdk_clipboard_get_content (GdkClipboard *clipboard);\nfunction gdk_clipboard_get_content(clipboard) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_clipboard_get_content\n  type(c_ptr), value :: clipboard\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_clipboard_store_async (GdkClipboard *clipboard, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine gdk_clipboard_store_async(clipboard, io_priority, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: clipboard\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_clipboard_store_finish (GdkClipboard *clipboard, GAsyncResult *result, GError **error);\nfunction gdk_clipboard_store_finish(clipboard, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_clipboard_store_finish\n  type(c_ptr), value :: clipboard\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_clipboard_read_async (GdkClipboard *clipboard, const char **mime_types, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine gdk_clipboard_read_async(clipboard, mime_types, io_priority,&\n& cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: clipboard\n  type(c_ptr), dimension(*) :: mime_types\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GInputStream * gdk_clipboard_read_finish (GdkClipboard *clipboard, GAsyncResult *result, const char **out_mime_type, GError **error);\nfunction gdk_clipboard_read_finish(clipboard, result, out_mime_type, error)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_clipboard_read_finish\n  type(c_ptr), value :: clipboard\n  type(c_ptr), value :: result\n  type(c_ptr), dimension(*) :: out_mime_type\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_clipboard_read_value_async (GdkClipboard *clipboard, GType type, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine gdk_clipboard_read_value_async(clipboard, type, io_priority,&\n& cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_size_t, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: clipboard\n  integer(c_size_t), value :: type\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const GValue * gdk_clipboard_read_value_finish (GdkClipboard *clipboard, GAsyncResult *result, GError **error);\nfunction gdk_clipboard_read_value_finish(clipboard, result, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_clipboard_read_value_finish\n  type(c_ptr), value :: clipboard\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_clipboard_read_texture_async (GdkClipboard *clipboard, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine gdk_clipboard_read_texture_async(clipboard, cancellable, callback,&\n& user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: clipboard\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GdkTexture * gdk_clipboard_read_texture_finish (GdkClipboard *clipboard, GAsyncResult *result, GError **error);\nfunction gdk_clipboard_read_texture_finish(clipboard, result, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_clipboard_read_texture_finish\n  type(c_ptr), value :: clipboard\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_clipboard_read_text_async (GdkClipboard *clipboard, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine gdk_clipboard_read_text_async(clipboard, cancellable, callback,&\n& user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: clipboard\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!char * gdk_clipboard_read_text_finish (GdkClipboard *clipboard, GAsyncResult *result, GError **error);\nfunction gdk_clipboard_read_text_finish(clipboard, result, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_clipboard_read_text_finish\n  type(c_ptr), value :: clipboard\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_clipboard_set_content (GdkClipboard *clipboard, GdkContentProvider *provider);\nfunction gdk_clipboard_set_content(clipboard, provider) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_clipboard_set_content\n  type(c_ptr), value :: clipboard\n  type(c_ptr), value :: provider\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_clipboard_set_valist (GdkClipboard *clipboard, GType type, va_list args);\nsubroutine gdk_clipboard_set_valist(clipboard, type, args) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr), value :: clipboard\n  integer(c_size_t), value :: type\n  type(c_ptr), value :: args\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_clipboard_set_value (GdkClipboard *clipboard, const GValue *value);\nsubroutine gdk_clipboard_set_value(clipboard, value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: clipboard\n  type(c_ptr), value :: value\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_clipboard_set_text (GdkClipboard *clipboard, const char *text);\nsubroutine gdk_clipboard_set_text(clipboard, text) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: clipboard\n  character(kind=c_char), dimension(*) :: text\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_clipboard_set_texture (GdkClipboard *clipboard, GdkTexture *texture);\nsubroutine gdk_clipboard_set_texture(clipboard, texture) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: clipboard\n  type(c_ptr), value :: texture\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkcolorstate.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_4_16\n!GType gdk_color_state_get_type (void) ;\nfunction gdk_color_state_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_color_state_get_type\nend function\n\n! GDK_AVAILABLE_IN_4_16\n!GdkColorState * gdk_color_state_ref (GdkColorState *self);\nfunction gdk_color_state_ref(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_color_state_ref\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_16\n!void gdk_color_state_unref (GdkColorState *self);\nsubroutine gdk_color_state_unref(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n! GDK_AVAILABLE_IN_4_16\n!GdkColorState * gdk_color_state_get_srgb (void);\nfunction gdk_color_state_get_srgb() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_color_state_get_srgb\nend function\n\n! GDK_AVAILABLE_IN_4_16\n!GdkColorState * gdk_color_state_get_srgb_linear (void);\nfunction gdk_color_state_get_srgb_linear() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_color_state_get_srgb_linear\nend function\n\n! GDK_AVAILABLE_IN_4_16\n!GdkColorState * gdk_color_state_get_rec2100_pq (void);\nfunction gdk_color_state_get_rec2100_pq() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_color_state_get_rec2100_pq\nend function\n\n! GDK_AVAILABLE_IN_4_16\n!GdkColorState * gdk_color_state_get_rec2100_linear (void);\nfunction gdk_color_state_get_rec2100_linear() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_color_state_get_rec2100_linear\nend function\n\n! GDK_AVAILABLE_IN_4_16\n!GdkColorState * gdk_color_state_get_oklab (void);\nfunction gdk_color_state_get_oklab() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_color_state_get_oklab\nend function\n\n! GDK_AVAILABLE_IN_4_16\n!GdkColorState * gdk_color_state_get_oklch (void);\nfunction gdk_color_state_get_oklch() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_color_state_get_oklch\nend function\n\n! GDK_AVAILABLE_IN_4_16\n!gboolean gdk_color_state_equal (GdkColorState *self, GdkColorState *other);\nfunction gdk_color_state_equal(self, other) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_color_state_equal\n  type(c_ptr), value :: self\n  type(c_ptr), value :: other\nend function\n\n! GDK_AVAILABLE_IN_4_20\n!gboolean gdk_color_state_equivalent (GdkColorState *self, GdkColorState *other);\nfunction gdk_color_state_equivalent(self, other) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_color_state_equivalent\n  type(c_ptr), value :: self\n  type(c_ptr), value :: other\nend function\n\n! GDK_AVAILABLE_IN_4_16\n!GdkCicpParams *gdk_color_state_create_cicp_params (GdkColorState *self);\nfunction gdk_color_state_create_cicp_params(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_color_state_create_cicp_params\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkconfig.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkcontentdeserializer.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_content_deserializer_get_type (void) ;\nfunction gdk_content_deserializer_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_content_deserializer_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gdk_content_deserializer_get_mime_type (GdkContentDeserializer *deserializer);\nfunction gdk_content_deserializer_get_mime_type(deserializer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_content_deserializer_get_mime_type\n  type(c_ptr), value :: deserializer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_content_deserializer_get_gtype (GdkContentDeserializer *deserializer);\nfunction gdk_content_deserializer_get_gtype(deserializer) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: gdk_content_deserializer_get_gtype\n  type(c_ptr), value :: deserializer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GValue * gdk_content_deserializer_get_value (GdkContentDeserializer *deserializer);\nfunction gdk_content_deserializer_get_value(deserializer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_content_deserializer_get_value\n  type(c_ptr), value :: deserializer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GInputStream * gdk_content_deserializer_get_input_stream (GdkContentDeserializer *deserializer);\nfunction gdk_content_deserializer_get_input_stream(deserializer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_content_deserializer_get_input_stream\n  type(c_ptr), value :: deserializer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gdk_content_deserializer_get_priority (GdkContentDeserializer *deserializer);\nfunction gdk_content_deserializer_get_priority(deserializer) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_content_deserializer_get_priority\n  type(c_ptr), value :: deserializer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GCancellable * gdk_content_deserializer_get_cancellable (GdkContentDeserializer *deserializer);\nfunction gdk_content_deserializer_get_cancellable(deserializer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_content_deserializer_get_cancellable\n  type(c_ptr), value :: deserializer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gpointer gdk_content_deserializer_get_user_data (GdkContentDeserializer *deserializer);\nfunction gdk_content_deserializer_get_user_data(deserializer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_content_deserializer_get_user_data\n  type(c_ptr), value :: deserializer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_content_deserializer_set_task_data (GdkContentDeserializer *deserializer, gpointer data, GDestroyNotify notify);\nsubroutine gdk_content_deserializer_set_task_data(deserializer, data, notify)&\n& bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: deserializer\n  type(c_ptr), value :: data\n  type(c_funptr), value :: notify\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gpointer gdk_content_deserializer_get_task_data (GdkContentDeserializer *deserializer);\nfunction gdk_content_deserializer_get_task_data(deserializer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_content_deserializer_get_task_data\n  type(c_ptr), value :: deserializer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_content_deserializer_return_success (GdkContentDeserializer *deserializer);\nsubroutine gdk_content_deserializer_return_success(deserializer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: deserializer\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_content_deserializer_return_error (GdkContentDeserializer *deserializer, GError *error);\nsubroutine gdk_content_deserializer_return_error(deserializer, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: deserializer\n  type(c_ptr), value :: error\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GdkContentFormats * gdk_content_formats_union_deserialize_gtypes (GdkContentFormats *formats);\nfunction gdk_content_formats_union_deserialize_gtypes(formats) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_content_formats_union_deserialize_gtypes\n  type(c_ptr), value :: formats\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkContentFormats * gdk_content_formats_union_deserialize_mime_types(GdkContentFormats *formats);\nfunction gdk_content_formats_union_deserialize_mime_types(formats) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_content_formats_union_deserialize_mime_types\n  type(c_ptr), value :: formats\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_content_register_deserializer (const char *mime_type, GType type, GdkContentDeserializeFunc deserialize, gpointer data, GDestroyNotify notify);\nsubroutine gdk_content_register_deserializer(mime_type, type, deserialize,&\n& data, notify) bind(c)\n  import :: c_char, c_size_t, c_funptr, c_ptr\n  implicit none\n  character(kind=c_char), dimension(*) :: mime_type\n  integer(c_size_t), value :: type\n  type(c_funptr), value :: deserialize\n  type(c_ptr), value :: data\n  type(c_funptr), value :: notify\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_content_deserialize_async (GInputStream *stream, const char *mime_type, GType type, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine gdk_content_deserialize_async(stream, mime_type, type, io_priority,&\n& cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_char, c_size_t, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: stream\n  character(kind=c_char), dimension(*) :: mime_type\n  integer(c_size_t), value :: type\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_content_deserialize_finish (GAsyncResult *result, GValue *value, GError **error);\nfunction gdk_content_deserialize_finish(result, value, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_content_deserialize_finish\n  type(c_ptr), value :: result\n  type(c_ptr), value :: value\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkcontentformats.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!const char * gdk_intern_mime_type (const char *string);\nfunction gdk_intern_mime_type(string) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gdk_intern_mime_type\n  character(kind=c_char), dimension(*) :: string\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_content_formats_get_type (void) ;\nfunction gdk_content_formats_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_content_formats_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkContentFormats * gdk_content_formats_new (const char **mime_types, guint n_mime_types);\nfunction gdk_content_formats_new(mime_types, n_mime_types) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gdk_content_formats_new\n  type(c_ptr), dimension(*) :: mime_types\n  integer(c_int), value :: n_mime_types\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkContentFormats * gdk_content_formats_new_for_gtype (GType type);\nfunction gdk_content_formats_new_for_gtype(type) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: gdk_content_formats_new_for_gtype\n  integer(c_size_t), value :: type\nend function\n\n! GDK_AVAILABLE_IN_4_4\n!GdkContentFormats * gdk_content_formats_parse (const char *string);\nfunction gdk_content_formats_parse(string) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gdk_content_formats_parse\n  character(kind=c_char), dimension(*) :: string\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkContentFormats * gdk_content_formats_ref (GdkContentFormats *formats);\nfunction gdk_content_formats_ref(formats) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_content_formats_ref\n  type(c_ptr), value :: formats\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_content_formats_unref (GdkContentFormats *formats);\nsubroutine gdk_content_formats_unref(formats) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: formats\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_content_formats_print (GdkContentFormats *formats, GString *string);\nsubroutine gdk_content_formats_print(formats, string) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: formats\n  type(c_ptr), value :: string\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!char * gdk_content_formats_to_string (GdkContentFormats *formats);\nfunction gdk_content_formats_to_string(formats) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_content_formats_to_string\n  type(c_ptr), value :: formats\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const GType * gdk_content_formats_get_gtypes (const GdkContentFormats *formats, gsize *n_gtypes);\nfunction gdk_content_formats_get_gtypes(formats, n_gtypes) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_content_formats_get_gtypes\n  type(c_ptr), value :: formats\n  type(c_ptr), value :: n_gtypes\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * const * gdk_content_formats_get_mime_types (const GdkContentFormats *formats, gsize *n_mime_types);\nfunction gdk_content_formats_get_mime_types(formats, n_mime_types) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_content_formats_get_mime_types\n  type(c_ptr), value :: formats\n  type(c_ptr), value :: n_mime_types\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkContentFormats * gdk_content_formats_union (GdkContentFormats *first, const GdkContentFormats *second) ;\nfunction gdk_content_formats_union(first, second) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_content_formats_union\n  type(c_ptr), value :: first\n  type(c_ptr), value :: second\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_content_formats_match (const GdkContentFormats *first, const GdkContentFormats *second);\nfunction gdk_content_formats_match(first, second) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_content_formats_match\n  type(c_ptr), value :: first\n  type(c_ptr), value :: second\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_content_formats_match_gtype (const GdkContentFormats *first, const GdkContentFormats *second);\nfunction gdk_content_formats_match_gtype(first, second) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: gdk_content_formats_match_gtype\n  type(c_ptr), value :: first\n  type(c_ptr), value :: second\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gdk_content_formats_match_mime_type (const GdkContentFormats *first, const GdkContentFormats *second);\nfunction gdk_content_formats_match_mime_type(first, second) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_content_formats_match_mime_type\n  type(c_ptr), value :: first\n  type(c_ptr), value :: second\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_content_formats_contain_gtype (const GdkContentFormats *formats, GType type);\nfunction gdk_content_formats_contain_gtype(formats, type) bind(c)\n  import :: c_int, c_ptr, c_size_t\n  implicit none\n  integer(c_int) :: gdk_content_formats_contain_gtype\n  type(c_ptr), value :: formats\n  integer(c_size_t), value :: type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_content_formats_contain_mime_type (const GdkContentFormats *formats, const char *mime_type);\nfunction gdk_content_formats_contain_mime_type(formats, mime_type) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gdk_content_formats_contain_mime_type\n  type(c_ptr), value :: formats\n  character(kind=c_char), dimension(*) :: mime_type\nend function\n\n! GDK_AVAILABLE_IN_4_18\n!gboolean gdk_content_formats_is_empty (GdkContentFormats *formats);\nfunction gdk_content_formats_is_empty(formats) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_content_formats_is_empty\n  type(c_ptr), value :: formats\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_content_formats_builder_get_type (void) ;\nfunction gdk_content_formats_builder_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_content_formats_builder_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkContentFormatsBuilder *gdk_content_formats_builder_new (void);\nfunction gdk_content_formats_builder_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_content_formats_builder_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkContentFormatsBuilder *gdk_content_formats_builder_ref (GdkContentFormatsBuilder *builder);\nfunction gdk_content_formats_builder_ref(builder) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_content_formats_builder_ref\n  type(c_ptr), value :: builder\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_content_formats_builder_unref (GdkContentFormatsBuilder *builder);\nsubroutine gdk_content_formats_builder_unref(builder) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: builder\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GdkContentFormats * gdk_content_formats_builder_free_to_formats (GdkContentFormatsBuilder *builder) ;\nfunction gdk_content_formats_builder_free_to_formats(builder) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_content_formats_builder_free_to_formats\n  type(c_ptr), value :: builder\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkContentFormats * gdk_content_formats_builder_to_formats (GdkContentFormatsBuilder *builder) ;\nfunction gdk_content_formats_builder_to_formats(builder) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_content_formats_builder_to_formats\n  type(c_ptr), value :: builder\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_content_formats_builder_add_formats (GdkContentFormatsBuilder *builder, const GdkContentFormats *formats);\nsubroutine gdk_content_formats_builder_add_formats(builder, formats) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: builder\n  type(c_ptr), value :: formats\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_content_formats_builder_add_mime_type(GdkContentFormatsBuilder *builder, const char *mime_type);\nsubroutine gdk_content_formats_builder_add_mime_type(builder, mime_type)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: builder\n  character(kind=c_char), dimension(*) :: mime_type\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_content_formats_builder_add_gtype (GdkContentFormatsBuilder *builder, GType type);\nsubroutine gdk_content_formats_builder_add_gtype(builder, type) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr), value :: builder\n  integer(c_size_t), value :: type\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_file_list_get_type (void) ;\nfunction gdk_file_list_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_file_list_get_type\nend function\n\n! GDK_AVAILABLE_IN_4_6\n!GSList * gdk_file_list_get_files (GdkFileList *file_list);\nfunction gdk_file_list_get_files(file_list) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_file_list_get_files\n  type(c_ptr), value :: file_list\nend function\n\n! GDK_AVAILABLE_IN_4_8\n!GdkFileList * gdk_file_list_new_from_list (GSList *files);\nfunction gdk_file_list_new_from_list(files) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_file_list_new_from_list\n  type(c_ptr), value :: files\nend function\n\n! GDK_AVAILABLE_IN_4_8\n!GdkFileList * gdk_file_list_new_from_array (GFile **files, gsize n_files);\nfunction gdk_file_list_new_from_array(files, n_files) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: gdk_file_list_new_from_array\n  type(c_ptr), value :: files\n  integer(c_size_t), value :: n_files\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkcontentprovider.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_content_provider_get_type (void) ;\nfunction gdk_content_provider_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_content_provider_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkContentFormats * gdk_content_provider_ref_formats (GdkContentProvider *provider);\nfunction gdk_content_provider_ref_formats(provider) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_content_provider_ref_formats\n  type(c_ptr), value :: provider\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkContentFormats * gdk_content_provider_ref_storable_formats (GdkContentProvider *provider);\nfunction gdk_content_provider_ref_storable_formats(provider) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_content_provider_ref_storable_formats\n  type(c_ptr), value :: provider\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_content_provider_content_changed (GdkContentProvider *provider);\nsubroutine gdk_content_provider_content_changed(provider) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: provider\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_content_provider_write_mime_type_async (GdkContentProvider *provider, const char *mime_type, GOutputStream *stream, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine gdk_content_provider_write_mime_type_async(provider, mime_type,&\n& stream, io_priority, cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_char, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: provider\n  character(kind=c_char), dimension(*) :: mime_type\n  type(c_ptr), value :: stream\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_content_provider_write_mime_type_finish (GdkContentProvider *provider, GAsyncResult *result, GError **error);\nfunction gdk_content_provider_write_mime_type_finish(provider, result, error)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_content_provider_write_mime_type_finish\n  type(c_ptr), value :: provider\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_content_provider_get_value (GdkContentProvider *provider, GValue *value, GError **error);\nfunction gdk_content_provider_get_value(provider, value, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_content_provider_get_value\n  type(c_ptr), value :: provider\n  type(c_ptr), value :: value\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkcontentproviderimpl.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GdkContentProvider * gdk_content_provider_new_for_value (const GValue *value);\nfunction gdk_content_provider_new_for_value(value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_content_provider_new_for_value\n  type(c_ptr), value :: value\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkContentProvider * gdk_content_provider_new_union (GdkContentProvider **providers, gsize n_providers);\nfunction gdk_content_provider_new_union(providers, n_providers) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: gdk_content_provider_new_union\n  type(c_ptr), value :: providers\n  integer(c_size_t), value :: n_providers\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkContentProvider * gdk_content_provider_new_for_bytes (const char *mime_type, GBytes *bytes);\nfunction gdk_content_provider_new_for_bytes(mime_type, bytes) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gdk_content_provider_new_for_bytes\n  character(kind=c_char), dimension(*) :: mime_type\n  type(c_ptr), value :: bytes\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkcontentserializer.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_content_serializer_get_type (void) ;\nfunction gdk_content_serializer_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_content_serializer_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gdk_content_serializer_get_mime_type (GdkContentSerializer *serializer);\nfunction gdk_content_serializer_get_mime_type(serializer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_content_serializer_get_mime_type\n  type(c_ptr), value :: serializer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_content_serializer_get_gtype (GdkContentSerializer *serializer);\nfunction gdk_content_serializer_get_gtype(serializer) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: gdk_content_serializer_get_gtype\n  type(c_ptr), value :: serializer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const GValue * gdk_content_serializer_get_value (GdkContentSerializer *serializer);\nfunction gdk_content_serializer_get_value(serializer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_content_serializer_get_value\n  type(c_ptr), value :: serializer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GOutputStream * gdk_content_serializer_get_output_stream (GdkContentSerializer *serializer);\nfunction gdk_content_serializer_get_output_stream(serializer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_content_serializer_get_output_stream\n  type(c_ptr), value :: serializer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gdk_content_serializer_get_priority (GdkContentSerializer *serializer);\nfunction gdk_content_serializer_get_priority(serializer) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_content_serializer_get_priority\n  type(c_ptr), value :: serializer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GCancellable * gdk_content_serializer_get_cancellable (GdkContentSerializer *serializer);\nfunction gdk_content_serializer_get_cancellable(serializer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_content_serializer_get_cancellable\n  type(c_ptr), value :: serializer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gpointer gdk_content_serializer_get_user_data (GdkContentSerializer *serializer);\nfunction gdk_content_serializer_get_user_data(serializer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_content_serializer_get_user_data\n  type(c_ptr), value :: serializer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_content_serializer_set_task_data (GdkContentSerializer *serializer, gpointer data, GDestroyNotify notify);\nsubroutine gdk_content_serializer_set_task_data(serializer, data, notify)&\n& bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: serializer\n  type(c_ptr), value :: data\n  type(c_funptr), value :: notify\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gpointer gdk_content_serializer_get_task_data (GdkContentSerializer *serializer);\nfunction gdk_content_serializer_get_task_data(serializer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_content_serializer_get_task_data\n  type(c_ptr), value :: serializer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_content_serializer_return_success (GdkContentSerializer *serializer);\nsubroutine gdk_content_serializer_return_success(serializer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: serializer\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_content_serializer_return_error (GdkContentSerializer *serializer, GError *error);\nsubroutine gdk_content_serializer_return_error(serializer, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: serializer\n  type(c_ptr), value :: error\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GdkContentFormats * gdk_content_formats_union_serialize_gtypes (GdkContentFormats *formats);\nfunction gdk_content_formats_union_serialize_gtypes(formats) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_content_formats_union_serialize_gtypes\n  type(c_ptr), value :: formats\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkContentFormats * gdk_content_formats_union_serialize_mime_types (GdkContentFormats *formats);\nfunction gdk_content_formats_union_serialize_mime_types(formats) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_content_formats_union_serialize_mime_types\n  type(c_ptr), value :: formats\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_content_register_serializer (GType type, const char *mime_type, GdkContentSerializeFunc serialize, gpointer data, GDestroyNotify notify);\nsubroutine gdk_content_register_serializer(type, mime_type, serialize, data,&\n& notify) bind(c)\n  import :: c_size_t, c_char, c_funptr, c_ptr\n  implicit none\n  integer(c_size_t), value :: type\n  character(kind=c_char), dimension(*) :: mime_type\n  type(c_funptr), value :: serialize\n  type(c_ptr), value :: data\n  type(c_funptr), value :: notify\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_content_serialize_async (GOutputStream *stream, const char *mime_type, const GValue *value, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine gdk_content_serialize_async(stream, mime_type, value, io_priority,&\n& cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_char, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: stream\n  character(kind=c_char), dimension(*) :: mime_type\n  type(c_ptr), value :: value\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_content_serialize_finish (GAsyncResult *result, GError **error);\nfunction gdk_content_serialize_finish(result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_content_serialize_finish\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkcursor.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_cursor_get_type (void) ;\nfunction gdk_cursor_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_cursor_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkCursor* gdk_cursor_new_from_texture (GdkTexture *texture, int hotspot_x, int hotspot_y, GdkCursor *fallback);\nfunction gdk_cursor_new_from_texture(texture, hotspot_x, hotspot_y, fallback)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gdk_cursor_new_from_texture\n  type(c_ptr), value :: texture\n  integer(c_int), value :: hotspot_x\n  integer(c_int), value :: hotspot_y\n  type(c_ptr), value :: fallback\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkCursor* gdk_cursor_new_from_name (const char *name, GdkCursor *fallback);\nfunction gdk_cursor_new_from_name(name, fallback) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gdk_cursor_new_from_name\n  character(kind=c_char), dimension(*) :: name\n  type(c_ptr), value :: fallback\nend function\n\n! GDK_AVAILABLE_IN_4_16\n!GdkCursor * gdk_cursor_new_from_callback (GdkCursorGetTextureCallback callback, gpointer data, GDestroyNotify destroy, GdkCursor *fallback);\nfunction gdk_cursor_new_from_callback(callback, data, destroy, fallback)&\n& bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: gdk_cursor_new_from_callback\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: data\n  type(c_funptr), value :: destroy\n  type(c_ptr), value :: fallback\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkCursor * gdk_cursor_get_fallback (GdkCursor *cursor);\nfunction gdk_cursor_get_fallback(cursor) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_cursor_get_fallback\n  type(c_ptr), value :: cursor\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char *gdk_cursor_get_name (GdkCursor *cursor);\nfunction gdk_cursor_get_name(cursor) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_cursor_get_name\n  type(c_ptr), value :: cursor\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkTexture *gdk_cursor_get_texture (GdkCursor *cursor);\nfunction gdk_cursor_get_texture(cursor) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_cursor_get_texture\n  type(c_ptr), value :: cursor\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gdk_cursor_get_hotspot_x (GdkCursor *cursor);\nfunction gdk_cursor_get_hotspot_x(cursor) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_cursor_get_hotspot_x\n  type(c_ptr), value :: cursor\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gdk_cursor_get_hotspot_y (GdkCursor *cursor);\nfunction gdk_cursor_get_hotspot_y(cursor) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_cursor_get_hotspot_y\n  type(c_ptr), value :: cursor\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkdevice.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_device_get_type (void) ;\nfunction gdk_device_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_device_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gdk_device_get_name (GdkDevice *device);\nfunction gdk_device_get_name(device) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_device_get_name\n  type(c_ptr), value :: device\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gdk_device_get_vendor_id (GdkDevice *device);\nfunction gdk_device_get_vendor_id(device) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_device_get_vendor_id\n  type(c_ptr), value :: device\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gdk_device_get_product_id (GdkDevice *device);\nfunction gdk_device_get_product_id(device) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_device_get_product_id\n  type(c_ptr), value :: device\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDisplay * gdk_device_get_display (GdkDevice *device);\nfunction gdk_device_get_display(device) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_device_get_display\n  type(c_ptr), value :: device\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkSeat * gdk_device_get_seat (GdkDevice *device);\nfunction gdk_device_get_seat(device) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_device_get_seat\n  type(c_ptr), value :: device\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDeviceTool * gdk_device_get_device_tool (GdkDevice *device);\nfunction gdk_device_get_device_tool(device) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_device_get_device_tool\n  type(c_ptr), value :: device\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkInputSource gdk_device_get_source (GdkDevice *device);\nfunction gdk_device_get_source(device) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_device_get_source\n  type(c_ptr), value :: device\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_device_get_has_cursor (GdkDevice *device);\nfunction gdk_device_get_has_cursor(device) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_device_get_has_cursor\n  type(c_ptr), value :: device\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint gdk_device_get_num_touches (GdkDevice *device);\nfunction gdk_device_get_num_touches(device) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_device_get_num_touches\n  type(c_ptr), value :: device\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkModifierType gdk_device_get_modifier_state (GdkDevice *device);\nfunction gdk_device_get_modifier_state(device) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_device_get_modifier_state\n  type(c_ptr), value :: device\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!PangoDirection gdk_device_get_direction (GdkDevice *device);\nfunction gdk_device_get_direction(device) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_device_get_direction\n  type(c_ptr), value :: device\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_device_has_bidi_layouts (GdkDevice *device);\nfunction gdk_device_has_bidi_layouts(device) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_device_has_bidi_layouts\n  type(c_ptr), value :: device\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_device_get_caps_lock_state (GdkDevice *device);\nfunction gdk_device_get_caps_lock_state(device) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_device_get_caps_lock_state\n  type(c_ptr), value :: device\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_device_get_num_lock_state (GdkDevice *device);\nfunction gdk_device_get_num_lock_state(device) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_device_get_num_lock_state\n  type(c_ptr), value :: device\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_device_get_scroll_lock_state (GdkDevice *device);\nfunction gdk_device_get_scroll_lock_state(device) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_device_get_scroll_lock_state\n  type(c_ptr), value :: device\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkSurface * gdk_device_get_surface_at_position (GdkDevice *device, double *win_x, double *win_y);\nfunction gdk_device_get_surface_at_position(device, win_x, win_y) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_device_get_surface_at_position\n  type(c_ptr), value :: device\n  type(c_ptr), value :: win_x\n  type(c_ptr), value :: win_y\nend function\n\n! GDK_AVAILABLE_IN_4_2\n!guint32 gdk_device_get_timestamp (GdkDevice *device);\nfunction gdk_device_get_timestamp(device) bind(c)\n  import :: c_int32_t, c_ptr\n  implicit none\n  integer(c_int32_t) :: gdk_device_get_timestamp\n  type(c_ptr), value :: device\nend function\n\n! GDK_AVAILABLE_IN_4_18\n!gint gdk_device_get_active_layout_index (GdkDevice *device);\nfunction gdk_device_get_active_layout_index(device) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_device_get_active_layout_index\n  type(c_ptr), value :: device\nend function\n\n! GDK_AVAILABLE_IN_4_18\n!gchar ** gdk_device_get_layout_names (GdkDevice *device);\nfunction gdk_device_get_layout_names(device) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_device_get_layout_names\n  type(c_ptr), value :: device\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkdevicepad.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_device_pad_get_type (void) ;\nfunction gdk_device_pad_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_device_pad_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gdk_device_pad_get_n_groups (GdkDevicePad *pad);\nfunction gdk_device_pad_get_n_groups(pad) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_device_pad_get_n_groups\n  type(c_ptr), value :: pad\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gdk_device_pad_get_group_n_modes (GdkDevicePad *pad, int group_idx);\nfunction gdk_device_pad_get_group_n_modes(pad, group_idx) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_device_pad_get_group_n_modes\n  type(c_ptr), value :: pad\n  integer(c_int), value :: group_idx\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gdk_device_pad_get_n_features (GdkDevicePad *pad, GdkDevicePadFeature feature);\nfunction gdk_device_pad_get_n_features(pad, feature) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_device_pad_get_n_features\n  type(c_ptr), value :: pad\n  integer(c_int), value :: feature\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gdk_device_pad_get_feature_group (GdkDevicePad *pad, GdkDevicePadFeature feature, int feature_idx);\nfunction gdk_device_pad_get_feature_group(pad, feature, feature_idx) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_device_pad_get_feature_group\n  type(c_ptr), value :: pad\n  integer(c_int), value :: feature\n  integer(c_int), value :: feature_idx\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkdevicetool.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_device_tool_get_type (void) ;\nfunction gdk_device_tool_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_device_tool_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint64 gdk_device_tool_get_serial (GdkDeviceTool *tool);\nfunction gdk_device_tool_get_serial(tool) bind(c)\n  import :: c_int64_t, c_ptr\n  implicit none\n  integer(c_int64_t) :: gdk_device_tool_get_serial\n  type(c_ptr), value :: tool\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint64 gdk_device_tool_get_hardware_id (GdkDeviceTool *tool);\nfunction gdk_device_tool_get_hardware_id(tool) bind(c)\n  import :: c_int64_t, c_ptr\n  implicit none\n  integer(c_int64_t) :: gdk_device_tool_get_hardware_id\n  type(c_ptr), value :: tool\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDeviceToolType gdk_device_tool_get_tool_type (GdkDeviceTool *tool);\nfunction gdk_device_tool_get_tool_type(tool) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_device_tool_get_tool_type\n  type(c_ptr), value :: tool\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkAxisFlags gdk_device_tool_get_axes (GdkDeviceTool *tool);\nfunction gdk_device_tool_get_axes(tool) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_device_tool_get_axes\n  type(c_ptr), value :: tool\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkdisplay.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_display_get_type (void) ;\nfunction gdk_display_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_display_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDisplay *gdk_display_open (const char *display_name);\nfunction gdk_display_open(display_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gdk_display_open\n  character(kind=c_char), dimension(*) :: display_name\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gdk_display_get_name (GdkDisplay *display);\nfunction gdk_display_get_name(display) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_display_get_name\n  type(c_ptr), value :: display\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_display_device_is_grabbed (GdkDisplay *display, GdkDevice *device);\nfunction gdk_display_device_is_grabbed(display, device) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_display_device_is_grabbed\n  type(c_ptr), value :: display\n  type(c_ptr), value :: device\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_display_beep (GdkDisplay *display);\nsubroutine gdk_display_beep(display) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: display\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_display_sync (GdkDisplay *display);\nsubroutine gdk_display_sync(display) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: display\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_display_flush (GdkDisplay *display);\nsubroutine gdk_display_flush(display) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: display\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_display_close (GdkDisplay *display);\nsubroutine gdk_display_close(display) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: display\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_display_is_closed (GdkDisplay *display);\nfunction gdk_display_is_closed(display) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_display_is_closed\n  type(c_ptr), value :: display\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_display_is_composited (GdkDisplay *display);\nfunction gdk_display_is_composited(display) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_display_is_composited\n  type(c_ptr), value :: display\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_display_is_rgba (GdkDisplay *display);\nfunction gdk_display_is_rgba(display) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_display_is_rgba\n  type(c_ptr), value :: display\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!gboolean gdk_display_supports_shadow_width (GdkDisplay *display);\nfunction gdk_display_supports_shadow_width(display) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_display_supports_shadow_width\n  type(c_ptr), value :: display\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_display_supports_input_shapes (GdkDisplay *display);\nfunction gdk_display_supports_input_shapes(display) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_display_supports_input_shapes\n  type(c_ptr), value :: display\nend function\n\n! GDK_AVAILABLE_IN_4_4\n!gboolean gdk_display_prepare_gl (GdkDisplay *self, GError **error);\nfunction gdk_display_prepare_gl(self, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_display_prepare_gl\n  type(c_ptr), value :: self\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_4_6\n!GdkGLContext *gdk_display_create_gl_context(GdkDisplay *self, GError **error);\nfunction gdk_display_create_gl_context(self, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_display_create_gl_context\n  type(c_ptr), value :: self\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDisplay *gdk_display_get_default (void);\nfunction gdk_display_get_default() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_display_get_default\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkClipboard * gdk_display_get_clipboard (GdkDisplay *display);\nfunction gdk_display_get_clipboard(display) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_display_get_clipboard\n  type(c_ptr), value :: display\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkClipboard * gdk_display_get_primary_clipboard (GdkDisplay *display);\nfunction gdk_display_get_primary_clipboard(display) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_display_get_primary_clipboard\n  type(c_ptr), value :: display\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(gdk_toplevel_set_startup_id)\n!void gdk_display_notify_startup_complete (GdkDisplay *display, const char *startup_id);\nsubroutine gdk_display_notify_startup_complete(display, startup_id) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: display\n  character(kind=c_char), dimension(*) :: startup_id\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!const char * gdk_display_get_startup_notification_id (GdkDisplay *display);\nfunction gdk_display_get_startup_notification_id(display) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_display_get_startup_notification_id\n  type(c_ptr), value :: display\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkAppLaunchContext *gdk_display_get_app_launch_context (GdkDisplay *display);\nfunction gdk_display_get_app_launch_context(display) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_display_get_app_launch_context\n  type(c_ptr), value :: display\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkSeat * gdk_display_get_default_seat (GdkDisplay *display);\nfunction gdk_display_get_default_seat(display) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_display_get_default_seat\n  type(c_ptr), value :: display\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GList * gdk_display_list_seats (GdkDisplay *display);\nfunction gdk_display_list_seats(display) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_display_list_seats\n  type(c_ptr), value :: display\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GListModel * gdk_display_get_monitors (GdkDisplay *self) ;\nfunction gdk_display_get_monitors(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_display_get_monitors\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkMonitor * gdk_display_get_monitor_at_surface (GdkDisplay *display, GdkSurface *surface);\nfunction gdk_display_get_monitor_at_surface(display, surface) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_display_get_monitor_at_surface\n  type(c_ptr), value :: display\n  type(c_ptr), value :: surface\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gdk_display_put_event (GdkDisplay *display, GdkEvent *event);\nsubroutine gdk_display_put_event(display, event) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: display\n  type(c_ptr), value :: event\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_display_map_keyval (GdkDisplay *display, guint keyval, GdkKeymapKey **keys, int *n_keys);\nfunction gdk_display_map_keyval(display, keyval, keys, n_keys) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_display_map_keyval\n  type(c_ptr), value :: display\n  integer(c_int), value :: keyval\n  type(c_ptr), value :: keys\n  type(c_ptr), value :: n_keys\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_display_map_keycode (GdkDisplay *display, guint keycode, GdkKeymapKey **keys, guint **keyvals, int *n_entries);\nfunction gdk_display_map_keycode(display, keycode, keys, keyvals, n_entries)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_display_map_keycode\n  type(c_ptr), value :: display\n  integer(c_int), value :: keycode\n  type(c_ptr), value :: keys\n  type(c_ptr), value :: keyvals\n  type(c_ptr), value :: n_entries\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_display_translate_key (GdkDisplay *display, guint keycode, GdkModifierType state, int group, guint *keyval, int *effective_group, int *level, GdkModifierType *consumed);\nfunction gdk_display_translate_key(display, keycode, state, group, keyval,&\n& effective_group, level, consumed) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_display_translate_key\n  type(c_ptr), value :: display\n  integer(c_int), value :: keycode\n  integer(c_int), value :: state\n  integer(c_int), value :: group\n  type(c_ptr), value :: keyval\n  type(c_ptr), value :: effective_group\n  type(c_ptr), value :: level\n  type(c_ptr), value :: consumed\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_display_get_setting (GdkDisplay *display, const char *name, GValue *value);\nfunction gdk_display_get_setting(display, name, value) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gdk_display_get_setting\n  type(c_ptr), value :: display\n  character(kind=c_char), dimension(*) :: name\n  type(c_ptr), value :: value\nend function\n\n! \n!GdkDmabufFormats * gdk_display_get_dmabuf_formats (GdkDisplay *display);\nfunction gdk_display_get_dmabuf_formats(display) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_display_get_dmabuf_formats\n  type(c_ptr), value :: display\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkdisplaymanager.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_display_manager_get_type (void) ;\nfunction gdk_display_manager_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_display_manager_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDisplayManager *gdk_display_manager_get (void);\nfunction gdk_display_manager_get() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_display_manager_get\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDisplay * gdk_display_manager_get_default_display (GdkDisplayManager *manager);\nfunction gdk_display_manager_get_default_display(manager) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_display_manager_get_default_display\n  type(c_ptr), value :: manager\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_display_manager_set_default_display (GdkDisplayManager *manager, GdkDisplay *display);\nsubroutine gdk_display_manager_set_default_display(manager, display) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: manager\n  type(c_ptr), value :: display\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GSList * gdk_display_manager_list_displays (GdkDisplayManager *manager);\nfunction gdk_display_manager_list_displays(manager) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_display_manager_list_displays\n  type(c_ptr), value :: manager\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDisplay * gdk_display_manager_open_display (GdkDisplayManager *manager, const char *name);\nfunction gdk_display_manager_open_display(manager, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gdk_display_manager_open_display\n  type(c_ptr), value :: manager\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_set_allowed_backends (const char *backends);\nsubroutine gdk_set_allowed_backends(backends) bind(c)\n  import :: c_char\n  implicit none\n  character(kind=c_char), dimension(*) :: backends\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkdmabufformats.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_4_14\n!GType gdk_dmabuf_formats_get_type (void) ;\nfunction gdk_dmabuf_formats_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_dmabuf_formats_get_type\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!GdkDmabufFormats * gdk_dmabuf_formats_ref (GdkDmabufFormats *formats);\nfunction gdk_dmabuf_formats_ref(formats) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_dmabuf_formats_ref\n  type(c_ptr), value :: formats\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gdk_dmabuf_formats_unref (GdkDmabufFormats *formats);\nsubroutine gdk_dmabuf_formats_unref(formats) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: formats\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!gsize gdk_dmabuf_formats_get_n_formats (GdkDmabufFormats *formats) ;\nfunction gdk_dmabuf_formats_get_n_formats(formats) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: gdk_dmabuf_formats_get_n_formats\n  type(c_ptr), value :: formats\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gdk_dmabuf_formats_get_format (GdkDmabufFormats *formats, gsize idx, guint32 *fourcc, guint64 *modifier);\nsubroutine gdk_dmabuf_formats_get_format(formats, idx, fourcc, modifier)&\n& bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr), value :: formats\n  integer(c_size_t), value :: idx\n  type(c_ptr), value :: fourcc\n  type(c_ptr), value :: modifier\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!gboolean gdk_dmabuf_formats_contains (GdkDmabufFormats *formats, guint32 fourcc, guint64 modifier) ;\nfunction gdk_dmabuf_formats_contains(formats, fourcc, modifier) bind(c)\n  import :: c_int, c_ptr, c_int32_t, c_int64_t\n  implicit none\n  integer(c_int) :: gdk_dmabuf_formats_contains\n  type(c_ptr), value :: formats\n  integer(c_int32_t), value :: fourcc\n  integer(c_int64_t), value :: modifier\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!gboolean gdk_dmabuf_formats_equal (const GdkDmabufFormats *formats1, const GdkDmabufFormats *formats2);\nfunction gdk_dmabuf_formats_equal(formats1, formats2) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_dmabuf_formats_equal\n  type(c_ptr), value :: formats1\n  type(c_ptr), value :: formats2\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkdmabuftexture.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_4_14\n!GType gdk_dmabuf_texture_get_type (void) ;\nfunction gdk_dmabuf_texture_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_dmabuf_texture_get_type\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!GQuark gdk_dmabuf_error_quark (void) ;\nfunction gdk_dmabuf_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: gdk_dmabuf_error_quark\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkdmabuftexturebuilder.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_4_14\n!GdkDmabufTextureBuilder *gdk_dmabuf_texture_builder_new (void);\nfunction gdk_dmabuf_texture_builder_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_dmabuf_texture_builder_new\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!GdkDisplay * gdk_dmabuf_texture_builder_get_display (GdkDmabufTextureBuilder *self) ;\nfunction gdk_dmabuf_texture_builder_get_display(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_dmabuf_texture_builder_get_display\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gdk_dmabuf_texture_builder_set_display (GdkDmabufTextureBuilder *self, GdkDisplay *display);\nsubroutine gdk_dmabuf_texture_builder_set_display(self, display) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: display\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!unsigned int gdk_dmabuf_texture_builder_get_width (GdkDmabufTextureBuilder *self) ;\nfunction gdk_dmabuf_texture_builder_get_width(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_dmabuf_texture_builder_get_width\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gdk_dmabuf_texture_builder_set_width (GdkDmabufTextureBuilder *self, unsigned int width);\nsubroutine gdk_dmabuf_texture_builder_set_width(self, width) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: width\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!unsigned int gdk_dmabuf_texture_builder_get_height (GdkDmabufTextureBuilder *self) ;\nfunction gdk_dmabuf_texture_builder_get_height(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_dmabuf_texture_builder_get_height\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gdk_dmabuf_texture_builder_set_height (GdkDmabufTextureBuilder *self, unsigned int height);\nsubroutine gdk_dmabuf_texture_builder_set_height(self, height) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: height\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!guint32 gdk_dmabuf_texture_builder_get_fourcc (GdkDmabufTextureBuilder *self) ;\nfunction gdk_dmabuf_texture_builder_get_fourcc(self) bind(c)\n  import :: c_int32_t, c_ptr\n  implicit none\n  integer(c_int32_t) :: gdk_dmabuf_texture_builder_get_fourcc\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gdk_dmabuf_texture_builder_set_fourcc (GdkDmabufTextureBuilder *self, guint32 fourcc);\nsubroutine gdk_dmabuf_texture_builder_set_fourcc(self, fourcc) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int32_t), value :: fourcc\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!guint64 gdk_dmabuf_texture_builder_get_modifier (GdkDmabufTextureBuilder *self) ;\nfunction gdk_dmabuf_texture_builder_get_modifier(self) bind(c)\n  import :: c_int64_t, c_ptr\n  implicit none\n  integer(c_int64_t) :: gdk_dmabuf_texture_builder_get_modifier\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gdk_dmabuf_texture_builder_set_modifier (GdkDmabufTextureBuilder *self, guint64 modifier);\nsubroutine gdk_dmabuf_texture_builder_set_modifier(self, modifier) bind(c)\n  import :: c_ptr, c_int64_t\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int64_t), value :: modifier\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!gboolean gdk_dmabuf_texture_builder_get_premultiplied (GdkDmabufTextureBuilder *self) ;\nfunction gdk_dmabuf_texture_builder_get_premultiplied(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_dmabuf_texture_builder_get_premultiplied\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gdk_dmabuf_texture_builder_set_premultiplied (GdkDmabufTextureBuilder *self, gboolean premultiplied);\nsubroutine gdk_dmabuf_texture_builder_set_premultiplied(self, premultiplied)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: premultiplied\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!unsigned int gdk_dmabuf_texture_builder_get_n_planes (GdkDmabufTextureBuilder *self) ;\nfunction gdk_dmabuf_texture_builder_get_n_planes(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_dmabuf_texture_builder_get_n_planes\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gdk_dmabuf_texture_builder_set_n_planes (GdkDmabufTextureBuilder *self, unsigned int n_planes);\nsubroutine gdk_dmabuf_texture_builder_set_n_planes(self, n_planes) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: n_planes\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!int gdk_dmabuf_texture_builder_get_fd (GdkDmabufTextureBuilder *self, unsigned int plane) ;\nfunction gdk_dmabuf_texture_builder_get_fd(self, plane) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_dmabuf_texture_builder_get_fd\n  type(c_ptr), value :: self\n  integer(c_int), value :: plane\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gdk_dmabuf_texture_builder_set_fd (GdkDmabufTextureBuilder *self, unsigned int plane, int fd);\nsubroutine gdk_dmabuf_texture_builder_set_fd(self, plane, fd) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: plane\n  integer(c_int), value :: fd\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!unsigned int gdk_dmabuf_texture_builder_get_stride (GdkDmabufTextureBuilder *self, unsigned int plane) ;\nfunction gdk_dmabuf_texture_builder_get_stride(self, plane) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_dmabuf_texture_builder_get_stride\n  type(c_ptr), value :: self\n  integer(c_int), value :: plane\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gdk_dmabuf_texture_builder_set_stride (GdkDmabufTextureBuilder *self, unsigned int plane, unsigned int stride);\nsubroutine gdk_dmabuf_texture_builder_set_stride(self, plane, stride) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: plane\n  integer(c_int), value :: stride\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!unsigned int gdk_dmabuf_texture_builder_get_offset (GdkDmabufTextureBuilder *self, unsigned int plane) ;\nfunction gdk_dmabuf_texture_builder_get_offset(self, plane) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_dmabuf_texture_builder_get_offset\n  type(c_ptr), value :: self\n  integer(c_int), value :: plane\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gdk_dmabuf_texture_builder_set_offset (GdkDmabufTextureBuilder *self, unsigned int plane, unsigned int offset);\nsubroutine gdk_dmabuf_texture_builder_set_offset(self, plane, offset) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: plane\n  integer(c_int), value :: offset\nend subroutine\n\n! GDK_AVAILABLE_IN_4_16\n!GdkColorState * gdk_dmabuf_texture_builder_get_color_state (GdkDmabufTextureBuilder *self);\nfunction gdk_dmabuf_texture_builder_get_color_state(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_dmabuf_texture_builder_get_color_state\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_16\n!void gdk_dmabuf_texture_builder_set_color_state (GdkDmabufTextureBuilder *self, GdkColorState *color_state);\nsubroutine gdk_dmabuf_texture_builder_set_color_state(self, color_state)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: color_state\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!GdkTexture * gdk_dmabuf_texture_builder_get_update_texture (GdkDmabufTextureBuilder *self) ;\nfunction gdk_dmabuf_texture_builder_get_update_texture(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_dmabuf_texture_builder_get_update_texture\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gdk_dmabuf_texture_builder_set_update_texture (GdkDmabufTextureBuilder *self, GdkTexture *texture);\nsubroutine gdk_dmabuf_texture_builder_set_update_texture(self, texture) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: texture\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!cairo_region_t * gdk_dmabuf_texture_builder_get_update_region (GdkDmabufTextureBuilder *self) ;\nfunction gdk_dmabuf_texture_builder_get_update_region(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_dmabuf_texture_builder_get_update_region\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gdk_dmabuf_texture_builder_set_update_region (GdkDmabufTextureBuilder *self, cairo_region_t *region);\nsubroutine gdk_dmabuf_texture_builder_set_update_region(self, region) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: region\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!GdkTexture * gdk_dmabuf_texture_builder_build (GdkDmabufTextureBuilder *self, GDestroyNotify destroy, gpointer data, GError **error);\nfunction gdk_dmabuf_texture_builder_build(self, destroy, data, error) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: gdk_dmabuf_texture_builder_build\n  type(c_ptr), value :: self\n  type(c_funptr), value :: destroy\n  type(c_ptr), value :: data\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkdrag.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_drag_get_type (void) ;\nfunction gdk_drag_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_drag_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDisplay * gdk_drag_get_display (GdkDrag *drag);\nfunction gdk_drag_get_display(drag) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_drag_get_display\n  type(c_ptr), value :: drag\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDevice * gdk_drag_get_device (GdkDrag *drag);\nfunction gdk_drag_get_device(drag) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_drag_get_device\n  type(c_ptr), value :: drag\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkContentFormats *gdk_drag_get_formats (GdkDrag *drag);\nfunction gdk_drag_get_formats(drag) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_drag_get_formats\n  type(c_ptr), value :: drag\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDragAction gdk_drag_get_actions (GdkDrag *drag);\nfunction gdk_drag_get_actions(drag) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_drag_get_actions\n  type(c_ptr), value :: drag\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDragAction gdk_drag_get_selected_action (GdkDrag *drag);\nfunction gdk_drag_get_selected_action(drag) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_drag_get_selected_action\n  type(c_ptr), value :: drag\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_drag_action_is_unique (GdkDragAction action) ;\nfunction gdk_drag_action_is_unique(action) bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: gdk_drag_action_is_unique\n  integer(c_int), value :: action\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDrag * gdk_drag_begin (GdkSurface *surface, GdkDevice *device, GdkContentProvider *content, GdkDragAction actions, double dx, double dy);\nfunction gdk_drag_begin(surface, device, content, actions, dx, dy) bind(c)\n  import :: c_ptr, c_int, c_double\n  implicit none\n  type(c_ptr) :: gdk_drag_begin\n  type(c_ptr), value :: surface\n  type(c_ptr), value :: device\n  type(c_ptr), value :: content\n  integer(c_int), value :: actions\n  real(c_double), value :: dx\n  real(c_double), value :: dy\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_drag_drop_done (GdkDrag *drag, gboolean success);\nsubroutine gdk_drag_drop_done(drag, success) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: drag\n  integer(c_int), value :: success\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GdkSurface *gdk_drag_get_drag_surface (GdkDrag *drag);\nfunction gdk_drag_get_drag_surface(drag) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_drag_get_drag_surface\n  type(c_ptr), value :: drag\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_drag_set_hotspot (GdkDrag *drag, int hot_x, int hot_y);\nsubroutine gdk_drag_set_hotspot(drag, hot_x, hot_y) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: drag\n  integer(c_int), value :: hot_x\n  integer(c_int), value :: hot_y\nend subroutine\n\n! \n!GdkContentProvider * gdk_drag_get_content (GdkDrag *drag);\nfunction gdk_drag_get_content(drag) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_drag_get_content\n  type(c_ptr), value :: drag\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkSurface * gdk_drag_get_surface (GdkDrag *drag);\nfunction gdk_drag_get_surface(drag) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_drag_get_surface\n  type(c_ptr), value :: drag\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkdragsurface.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_drag_surface_present (GdkDragSurface *drag_surface, int width, int height);\nfunction gdk_drag_surface_present(drag_surface, width, height) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_drag_surface_present\n  type(c_ptr), value :: drag_surface\n  integer(c_int), value :: width\n  integer(c_int), value :: height\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkdragsurfacesize.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_4_12\n!GType gdk_drag_surface_size_get_type (void);\nfunction gdk_drag_surface_size_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_drag_surface_size_get_type\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gdk_drag_surface_size_set_size (GdkDragSurfaceSize *size, int width, int height);\nsubroutine gdk_drag_surface_size_set_size(size, width, height) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: size\n  integer(c_int), value :: width\n  integer(c_int), value :: height\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkdrawcontext.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_draw_context_get_type (void) ;\nfunction gdk_draw_context_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_draw_context_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDisplay * gdk_draw_context_get_display (GdkDrawContext *context);\nfunction gdk_draw_context_get_display(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_draw_context_get_display\n  type(c_ptr), value :: context\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkSurface * gdk_draw_context_get_surface (GdkDrawContext *context);\nfunction gdk_draw_context_get_surface(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_draw_context_get_surface\n  type(c_ptr), value :: context\nend function\n\n! GDK_DEPRECATED_IN_4_16\n!void gdk_draw_context_begin_frame (GdkDrawContext *context, const cairo_region_t *region);\nsubroutine gdk_draw_context_begin_frame(context, region) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: region\nend subroutine\n\n! GDK_DEPRECATED_IN_4_16\n!void gdk_draw_context_end_frame (GdkDrawContext *context);\nsubroutine gdk_draw_context_end_frame(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\nend subroutine\n\n! GDK_DEPRECATED_IN_4_16\n!gboolean gdk_draw_context_is_in_frame (GdkDrawContext *context);\nfunction gdk_draw_context_is_in_frame(context) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_draw_context_is_in_frame\n  type(c_ptr), value :: context\nend function\n\n! GDK_DEPRECATED_IN_4_16\n!const cairo_region_t * gdk_draw_context_get_frame_region (GdkDrawContext *context);\nfunction gdk_draw_context_get_frame_region(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_draw_context_get_frame_region\n  type(c_ptr), value :: context\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkdrop.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_drop_get_type (void) ;\nfunction gdk_drop_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_drop_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDisplay * gdk_drop_get_display (GdkDrop *self);\nfunction gdk_drop_get_display(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_drop_get_display\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDevice * gdk_drop_get_device (GdkDrop *self);\nfunction gdk_drop_get_device(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_drop_get_device\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkSurface * gdk_drop_get_surface (GdkDrop *self);\nfunction gdk_drop_get_surface(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_drop_get_surface\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkContentFormats * gdk_drop_get_formats (GdkDrop *self);\nfunction gdk_drop_get_formats(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_drop_get_formats\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDragAction gdk_drop_get_actions (GdkDrop *self);\nfunction gdk_drop_get_actions(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_drop_get_actions\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDrag * gdk_drop_get_drag (GdkDrop *self);\nfunction gdk_drop_get_drag(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_drop_get_drag\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_drop_status (GdkDrop *self, GdkDragAction actions, GdkDragAction preferred);\nsubroutine gdk_drop_status(self, actions, preferred) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: actions\n  integer(c_int), value :: preferred\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_drop_finish (GdkDrop *self, GdkDragAction action);\nsubroutine gdk_drop_finish(self, action) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: action\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_drop_read_async (GdkDrop *self, const char **mime_types, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine gdk_drop_read_async(self, mime_types, io_priority, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), dimension(*) :: mime_types\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GInputStream * gdk_drop_read_finish (GdkDrop *self, GAsyncResult *result, const char **out_mime_type, GError **error);\nfunction gdk_drop_read_finish(self, result, out_mime_type, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_drop_read_finish\n  type(c_ptr), value :: self\n  type(c_ptr), value :: result\n  type(c_ptr), dimension(*) :: out_mime_type\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_drop_read_value_async (GdkDrop *self, GType type, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine gdk_drop_read_value_async(self, type, io_priority, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_size_t, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_size_t), value :: type\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const GValue * gdk_drop_read_value_finish (GdkDrop *self, GAsyncResult *result, GError **error);\nfunction gdk_drop_read_value_finish(self, result, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_drop_read_value_finish\n  type(c_ptr), value :: self\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkenums.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkenumtypes.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_cicp_range_get_type (void);\nfunction gdk_cicp_range_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_cicp_range_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_input_source_get_type (void);\nfunction gdk_input_source_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_input_source_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_device_pad_feature_get_type (void);\nfunction gdk_device_pad_feature_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_device_pad_feature_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_device_tool_type_get_type (void);\nfunction gdk_device_tool_type_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_device_tool_type_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_drag_cancel_reason_get_type (void);\nfunction gdk_drag_cancel_reason_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_drag_cancel_reason_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_gl_api_get_type (void);\nfunction gdk_gl_api_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_gl_api_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_gravity_get_type (void);\nfunction gdk_gravity_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_gravity_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_modifier_type_get_type (void);\nfunction gdk_modifier_type_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_modifier_type_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_dmabuf_error_get_type (void);\nfunction gdk_dmabuf_error_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_dmabuf_error_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_gl_error_get_type (void);\nfunction gdk_gl_error_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_gl_error_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_vulkan_error_get_type (void);\nfunction gdk_vulkan_error_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_vulkan_error_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_axis_use_get_type (void);\nfunction gdk_axis_use_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_axis_use_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_axis_flags_get_type (void);\nfunction gdk_axis_flags_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_axis_flags_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_drag_action_get_type (void);\nfunction gdk_drag_action_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_drag_action_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_scroll_relative_direction_get_type (void);\nfunction gdk_scroll_relative_direction_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_scroll_relative_direction_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_memory_format_get_type (void);\nfunction gdk_memory_format_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_memory_format_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_event_type_get_type (void);\nfunction gdk_event_type_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_event_type_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_touchpad_gesture_phase_get_type (void);\nfunction gdk_touchpad_gesture_phase_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_touchpad_gesture_phase_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_scroll_direction_get_type (void);\nfunction gdk_scroll_direction_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_scroll_direction_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_scroll_unit_get_type (void);\nfunction gdk_scroll_unit_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_scroll_unit_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_notify_type_get_type (void);\nfunction gdk_notify_type_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_notify_type_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_crossing_mode_get_type (void);\nfunction gdk_crossing_mode_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_crossing_mode_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_key_match_get_type (void);\nfunction gdk_key_match_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_key_match_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_frame_clock_phase_get_type (void);\nfunction gdk_frame_clock_phase_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_frame_clock_phase_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_subpixel_layout_get_type (void);\nfunction gdk_subpixel_layout_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_subpixel_layout_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_paintable_flags_get_type (void);\nfunction gdk_paintable_flags_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_paintable_flags_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_anchor_hints_get_type (void);\nfunction gdk_anchor_hints_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_anchor_hints_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_seat_capabilities_get_type (void);\nfunction gdk_seat_capabilities_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_seat_capabilities_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_texture_error_get_type (void);\nfunction gdk_texture_error_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_texture_error_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_surface_edge_get_type (void);\nfunction gdk_surface_edge_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_surface_edge_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_fullscreen_mode_get_type (void);\nfunction gdk_fullscreen_mode_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_fullscreen_mode_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_toplevel_state_get_type (void);\nfunction gdk_toplevel_state_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_toplevel_state_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_titlebar_gesture_get_type (void);\nfunction gdk_titlebar_gesture_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_titlebar_gesture_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_toplevel_capabilities_get_type (void);\nfunction gdk_toplevel_capabilities_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_toplevel_capabilities_get_type\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkevents.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_event_get_type (void) ;\nfunction gdk_event_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_event_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_event_sequence_get_type (void) ;\nfunction gdk_event_sequence_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_event_sequence_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkEvent * gdk_event_ref (GdkEvent *event);\nfunction gdk_event_ref(event) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_event_ref\n  type(c_ptr), value :: event\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_event_unref (GdkEvent *event);\nsubroutine gdk_event_unref(event) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: event\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GdkEventType gdk_event_get_event_type (GdkEvent *event);\nfunction gdk_event_get_event_type(event) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_event_get_event_type\n  type(c_ptr), value :: event\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkSurface * gdk_event_get_surface (GdkEvent *event);\nfunction gdk_event_get_surface(event) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_event_get_surface\n  type(c_ptr), value :: event\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkSeat * gdk_event_get_seat (GdkEvent *event);\nfunction gdk_event_get_seat(event) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_event_get_seat\n  type(c_ptr), value :: event\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDevice * gdk_event_get_device (GdkEvent *event);\nfunction gdk_event_get_device(event) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_event_get_device\n  type(c_ptr), value :: event\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDeviceTool * gdk_event_get_device_tool (GdkEvent *event);\nfunction gdk_event_get_device_tool(event) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_event_get_device_tool\n  type(c_ptr), value :: event\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint32 gdk_event_get_time (GdkEvent *event);\nfunction gdk_event_get_time(event) bind(c)\n  import :: c_int32_t, c_ptr\n  implicit none\n  integer(c_int32_t) :: gdk_event_get_time\n  type(c_ptr), value :: event\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDisplay * gdk_event_get_display (GdkEvent *event);\nfunction gdk_event_get_display(event) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_event_get_display\n  type(c_ptr), value :: event\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkEventSequence * gdk_event_get_event_sequence (GdkEvent *event);\nfunction gdk_event_get_event_sequence(event) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_event_get_event_sequence\n  type(c_ptr), value :: event\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkModifierType gdk_event_get_modifier_state (GdkEvent *event);\nfunction gdk_event_get_modifier_state(event) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_event_get_modifier_state\n  type(c_ptr), value :: event\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_event_get_position (GdkEvent *event, double *x, double *y);\nfunction gdk_event_get_position(event, x, y) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_event_get_position\n  type(c_ptr), value :: event\n  type(c_ptr), value :: x\n  type(c_ptr), value :: y\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_event_get_axes (GdkEvent *event, double **axes, guint *n_axes);\nfunction gdk_event_get_axes(event, axes, n_axes) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_event_get_axes\n  type(c_ptr), value :: event\n  type(c_ptr), value :: axes\n  type(c_ptr), value :: n_axes\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_event_get_axis (GdkEvent *event, GdkAxisUse axis_use, double *value);\nfunction gdk_event_get_axis(event, axis_use, value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_event_get_axis\n  type(c_ptr), value :: event\n  integer(c_int), value :: axis_use\n  type(c_ptr), value :: value\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkTimeCoord * gdk_event_get_history (GdkEvent *event, guint *out_n_coords);\nfunction gdk_event_get_history(event, out_n_coords) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_event_get_history\n  type(c_ptr), value :: event\n  type(c_ptr), value :: out_n_coords\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_event_get_pointer_emulated (GdkEvent *event);\nfunction gdk_event_get_pointer_emulated(event) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_event_get_pointer_emulated\n  type(c_ptr), value :: event\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_button_event_get_type (void) ;\nfunction gdk_button_event_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_button_event_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint gdk_button_event_get_button (GdkEvent *event);\nfunction gdk_button_event_get_button(event) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_button_event_get_button\n  type(c_ptr), value :: event\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_scroll_event_get_type (void) ;\nfunction gdk_scroll_event_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_scroll_event_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkScrollDirection gdk_scroll_event_get_direction (GdkEvent *event);\nfunction gdk_scroll_event_get_direction(event) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_scroll_event_get_direction\n  type(c_ptr), value :: event\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_scroll_event_get_deltas (GdkEvent *event, double *delta_x, double *delta_y);\nsubroutine gdk_scroll_event_get_deltas(event, delta_x, delta_y) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: event\n  type(c_ptr), value :: delta_x\n  type(c_ptr), value :: delta_y\nend subroutine\n\n! GDK_AVAILABLE_IN_4_8\n!GdkScrollUnit gdk_scroll_event_get_unit (GdkEvent *event);\nfunction gdk_scroll_event_get_unit(event) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_scroll_event_get_unit\n  type(c_ptr), value :: event\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_scroll_event_is_stop (GdkEvent *event);\nfunction gdk_scroll_event_is_stop(event) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_scroll_event_is_stop\n  type(c_ptr), value :: event\nend function\n\n! \n!GdkScrollRelativeDirection gdk_scroll_event_get_relative_direction (GdkEvent *event);\nfunction gdk_scroll_event_get_relative_direction(event) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_scroll_event_get_relative_direction\n  type(c_ptr), value :: event\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_key_event_get_type (void) ;\nfunction gdk_key_event_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_key_event_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint gdk_key_event_get_keyval (GdkEvent *event);\nfunction gdk_key_event_get_keyval(event) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_key_event_get_keyval\n  type(c_ptr), value :: event\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint gdk_key_event_get_keycode (GdkEvent *event);\nfunction gdk_key_event_get_keycode(event) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_key_event_get_keycode\n  type(c_ptr), value :: event\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkModifierType gdk_key_event_get_consumed_modifiers (GdkEvent *event);\nfunction gdk_key_event_get_consumed_modifiers(event) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_key_event_get_consumed_modifiers\n  type(c_ptr), value :: event\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint gdk_key_event_get_layout (GdkEvent *event);\nfunction gdk_key_event_get_layout(event) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_key_event_get_layout\n  type(c_ptr), value :: event\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint gdk_key_event_get_level (GdkEvent *event);\nfunction gdk_key_event_get_level(event) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_key_event_get_level\n  type(c_ptr), value :: event\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_key_event_is_modifier (GdkEvent *event);\nfunction gdk_key_event_is_modifier(event) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_key_event_is_modifier\n  type(c_ptr), value :: event\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_focus_event_get_type (void) ;\nfunction gdk_focus_event_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_focus_event_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_focus_event_get_in (GdkEvent *event);\nfunction gdk_focus_event_get_in(event) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_focus_event_get_in\n  type(c_ptr), value :: event\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_touch_event_get_type (void) ;\nfunction gdk_touch_event_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_touch_event_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_touch_event_get_emulating_pointer (GdkEvent *event);\nfunction gdk_touch_event_get_emulating_pointer(event) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_touch_event_get_emulating_pointer\n  type(c_ptr), value :: event\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_crossing_event_get_type (void) ;\nfunction gdk_crossing_event_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_crossing_event_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkCrossingMode gdk_crossing_event_get_mode (GdkEvent *event);\nfunction gdk_crossing_event_get_mode(event) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_crossing_event_get_mode\n  type(c_ptr), value :: event\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkNotifyType gdk_crossing_event_get_detail (GdkEvent *event);\nfunction gdk_crossing_event_get_detail(event) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_crossing_event_get_detail\n  type(c_ptr), value :: event\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_crossing_event_get_focus (GdkEvent *event);\nfunction gdk_crossing_event_get_focus(event) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_crossing_event_get_focus\n  type(c_ptr), value :: event\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_touchpad_event_get_type (void) ;\nfunction gdk_touchpad_event_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_touchpad_event_get_type\nend function\n\n! \n!GdkTouchpadGesturePhase gdk_touchpad_event_get_gesture_phase (GdkEvent *event);\nfunction gdk_touchpad_event_get_gesture_phase(event) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_touchpad_event_get_gesture_phase\n  type(c_ptr), value :: event\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint gdk_touchpad_event_get_n_fingers (GdkEvent *event);\nfunction gdk_touchpad_event_get_n_fingers(event) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_touchpad_event_get_n_fingers\n  type(c_ptr), value :: event\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_touchpad_event_get_deltas (GdkEvent *event, double *dx, double *dy);\nsubroutine gdk_touchpad_event_get_deltas(event, dx, dy) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: event\n  type(c_ptr), value :: dx\n  type(c_ptr), value :: dy\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!double gdk_touchpad_event_get_pinch_angle_delta (GdkEvent *event);\nfunction gdk_touchpad_event_get_pinch_angle_delta(event) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: gdk_touchpad_event_get_pinch_angle_delta\n  type(c_ptr), value :: event\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!double gdk_touchpad_event_get_pinch_scale (GdkEvent *event);\nfunction gdk_touchpad_event_get_pinch_scale(event) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: gdk_touchpad_event_get_pinch_scale\n  type(c_ptr), value :: event\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_pad_event_get_type (void) ;\nfunction gdk_pad_event_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_pad_event_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint gdk_pad_event_get_button (GdkEvent *event);\nfunction gdk_pad_event_get_button(event) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_pad_event_get_button\n  type(c_ptr), value :: event\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_pad_event_get_axis_value (GdkEvent *event, guint *index, double *value);\nsubroutine gdk_pad_event_get_axis_value(event, index, value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: event\n  type(c_ptr), value :: index\n  type(c_ptr), value :: value\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_pad_event_get_group_mode (GdkEvent *event, guint *group, guint *mode);\nsubroutine gdk_pad_event_get_group_mode(event, group, mode) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: event\n  type(c_ptr), value :: group\n  type(c_ptr), value :: mode\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_dnd_event_get_type (void) ;\nfunction gdk_dnd_event_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_dnd_event_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDrop * gdk_dnd_event_get_drop (GdkEvent *event);\nfunction gdk_dnd_event_get_drop(event) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_dnd_event_get_drop\n  type(c_ptr), value :: event\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_grab_broken_event_get_type (void) ;\nfunction gdk_grab_broken_event_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_grab_broken_event_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkSurface * gdk_grab_broken_event_get_grab_surface (GdkEvent *event);\nfunction gdk_grab_broken_event_get_grab_surface(event) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_grab_broken_event_get_grab_surface\n  type(c_ptr), value :: event\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_grab_broken_event_get_implicit (GdkEvent *event);\nfunction gdk_grab_broken_event_get_implicit(event) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_grab_broken_event_get_implicit\n  type(c_ptr), value :: event\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_motion_event_get_type (void) ;\nfunction gdk_motion_event_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_motion_event_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_delete_event_get_type (void) ;\nfunction gdk_delete_event_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_delete_event_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_proximity_event_get_type (void) ;\nfunction gdk_proximity_event_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_proximity_event_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_event_triggers_context_menu (GdkEvent *event);\nfunction gdk_event_triggers_context_menu(event) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_event_triggers_context_menu\n  type(c_ptr), value :: event\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_events_get_distance (GdkEvent *event1, GdkEvent *event2, double *distance);\nfunction gdk_events_get_distance(event1, event2, distance) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_events_get_distance\n  type(c_ptr), value :: event1\n  type(c_ptr), value :: event2\n  type(c_ptr), value :: distance\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_events_get_angle (GdkEvent *event1, GdkEvent *event2, double *angle);\nfunction gdk_events_get_angle(event1, event2, angle) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_events_get_angle\n  type(c_ptr), value :: event1\n  type(c_ptr), value :: event2\n  type(c_ptr), value :: angle\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_events_get_center (GdkEvent *event1, GdkEvent *event2, double *x, double *y);\nfunction gdk_events_get_center(event1, event2, x, y) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_events_get_center\n  type(c_ptr), value :: event1\n  type(c_ptr), value :: event2\n  type(c_ptr), value :: x\n  type(c_ptr), value :: y\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkKeyMatch gdk_key_event_matches (GdkEvent *event, guint keyval, GdkModifierType modifiers);\nfunction gdk_key_event_matches(event, keyval, modifiers) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_key_event_matches\n  type(c_ptr), value :: event\n  integer(c_int), value :: keyval\n  integer(c_int), value :: modifiers\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_key_event_get_match (GdkEvent *event, guint *keyval, GdkModifierType *modifiers);\nfunction gdk_key_event_get_match(event, keyval, modifiers) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_key_event_get_match\n  type(c_ptr), value :: event\n  type(c_ptr), value :: keyval\n  type(c_ptr), value :: modifiers\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkframeclock.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_frame_clock_get_type (void) ;\nfunction gdk_frame_clock_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_frame_clock_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gint64 gdk_frame_clock_get_frame_time (GdkFrameClock *frame_clock);\nfunction gdk_frame_clock_get_frame_time(frame_clock) bind(c)\n  import :: c_int64_t, c_ptr\n  implicit none\n  integer(c_int64_t) :: gdk_frame_clock_get_frame_time\n  type(c_ptr), value :: frame_clock\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_frame_clock_request_phase (GdkFrameClock *frame_clock, GdkFrameClockPhase phase);\nsubroutine gdk_frame_clock_request_phase(frame_clock, phase) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: frame_clock\n  integer(c_int), value :: phase\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_frame_clock_begin_updating (GdkFrameClock *frame_clock);\nsubroutine gdk_frame_clock_begin_updating(frame_clock) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: frame_clock\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_frame_clock_end_updating (GdkFrameClock *frame_clock);\nsubroutine gdk_frame_clock_end_updating(frame_clock) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: frame_clock\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gint64 gdk_frame_clock_get_frame_counter (GdkFrameClock *frame_clock);\nfunction gdk_frame_clock_get_frame_counter(frame_clock) bind(c)\n  import :: c_int64_t, c_ptr\n  implicit none\n  integer(c_int64_t) :: gdk_frame_clock_get_frame_counter\n  type(c_ptr), value :: frame_clock\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gint64 gdk_frame_clock_get_history_start (GdkFrameClock *frame_clock);\nfunction gdk_frame_clock_get_history_start(frame_clock) bind(c)\n  import :: c_int64_t, c_ptr\n  implicit none\n  integer(c_int64_t) :: gdk_frame_clock_get_history_start\n  type(c_ptr), value :: frame_clock\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkFrameTimings *gdk_frame_clock_get_timings (GdkFrameClock *frame_clock, gint64 frame_counter);\nfunction gdk_frame_clock_get_timings(frame_clock, frame_counter) bind(c)\n  import :: c_ptr, c_int64_t\n  implicit none\n  type(c_ptr) :: gdk_frame_clock_get_timings\n  type(c_ptr), value :: frame_clock\n  integer(c_int64_t), value :: frame_counter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkFrameTimings *gdk_frame_clock_get_current_timings (GdkFrameClock *frame_clock);\nfunction gdk_frame_clock_get_current_timings(frame_clock) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_frame_clock_get_current_timings\n  type(c_ptr), value :: frame_clock\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_frame_clock_get_refresh_info (GdkFrameClock *frame_clock, gint64 base_time, gint64 *refresh_interval_return, gint64 *presentation_time_return);\nsubroutine gdk_frame_clock_get_refresh_info(frame_clock, base_time,&\n& refresh_interval_return, presentation_time_return) bind(c)\n  import :: c_ptr, c_int64_t\n  implicit none\n  type(c_ptr), value :: frame_clock\n  integer(c_int64_t), value :: base_time\n  type(c_ptr), value :: refresh_interval_return\n  type(c_ptr), value :: presentation_time_return\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!double gdk_frame_clock_get_fps (GdkFrameClock *frame_clock);\nfunction gdk_frame_clock_get_fps(frame_clock) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: gdk_frame_clock_get_fps\n  type(c_ptr), value :: frame_clock\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkframetimings.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_frame_timings_get_type (void) ;\nfunction gdk_frame_timings_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_frame_timings_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkFrameTimings *gdk_frame_timings_ref (GdkFrameTimings *timings);\nfunction gdk_frame_timings_ref(timings) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_frame_timings_ref\n  type(c_ptr), value :: timings\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_frame_timings_unref (GdkFrameTimings *timings);\nsubroutine gdk_frame_timings_unref(timings) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: timings\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gint64 gdk_frame_timings_get_frame_counter (GdkFrameTimings *timings);\nfunction gdk_frame_timings_get_frame_counter(timings) bind(c)\n  import :: c_int64_t, c_ptr\n  implicit none\n  integer(c_int64_t) :: gdk_frame_timings_get_frame_counter\n  type(c_ptr), value :: timings\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_frame_timings_get_complete (GdkFrameTimings *timings);\nfunction gdk_frame_timings_get_complete(timings) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_frame_timings_get_complete\n  type(c_ptr), value :: timings\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gint64 gdk_frame_timings_get_frame_time (GdkFrameTimings *timings);\nfunction gdk_frame_timings_get_frame_time(timings) bind(c)\n  import :: c_int64_t, c_ptr\n  implicit none\n  integer(c_int64_t) :: gdk_frame_timings_get_frame_time\n  type(c_ptr), value :: timings\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gint64 gdk_frame_timings_get_presentation_time (GdkFrameTimings *timings);\nfunction gdk_frame_timings_get_presentation_time(timings) bind(c)\n  import :: c_int64_t, c_ptr\n  implicit none\n  integer(c_int64_t) :: gdk_frame_timings_get_presentation_time\n  type(c_ptr), value :: timings\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gint64 gdk_frame_timings_get_refresh_interval (GdkFrameTimings *timings);\nfunction gdk_frame_timings_get_refresh_interval(timings) bind(c)\n  import :: c_int64_t, c_ptr\n  implicit none\n  integer(c_int64_t) :: gdk_frame_timings_get_refresh_interval\n  type(c_ptr), value :: timings\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gint64 gdk_frame_timings_get_predicted_presentation_time (GdkFrameTimings *timings);\nfunction gdk_frame_timings_get_predicted_presentation_time(timings) bind(c)\n  import :: c_int64_t, c_ptr\n  implicit none\n  integer(c_int64_t) :: gdk_frame_timings_get_predicted_presentation_time\n  type(c_ptr), value :: timings\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkglcontext.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GQuark gdk_gl_error_quark (void);\nfunction gdk_gl_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: gdk_gl_error_quark\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_gl_context_get_type (void) ;\nfunction gdk_gl_context_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_gl_context_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDisplay * gdk_gl_context_get_display (GdkGLContext *context);\nfunction gdk_gl_context_get_display(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_gl_context_get_display\n  type(c_ptr), value :: context\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkSurface * gdk_gl_context_get_surface (GdkGLContext *context);\nfunction gdk_gl_context_get_surface(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_gl_context_get_surface\n  type(c_ptr), value :: context\nend function\n\n! GDK_DEPRECATED_IN_4_4_FOR(gdk_gl_context_is_shared)\n!GdkGLContext * gdk_gl_context_get_shared_context (GdkGLContext *context);\nfunction gdk_gl_context_get_shared_context(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_gl_context_get_shared_context\n  type(c_ptr), value :: context\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_gl_context_get_version (GdkGLContext *context, int *major, int *minor);\nsubroutine gdk_gl_context_get_version(context, major, minor) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: major\n  type(c_ptr), value :: minor\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_gl_context_is_legacy (GdkGLContext *context);\nfunction gdk_gl_context_is_legacy(context) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_gl_context_is_legacy\n  type(c_ptr), value :: context\nend function\n\n! GDK_AVAILABLE_IN_4_4\n!gboolean gdk_gl_context_is_shared (GdkGLContext *self, GdkGLContext *other);\nfunction gdk_gl_context_is_shared(self, other) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_gl_context_is_shared\n  type(c_ptr), value :: self\n  type(c_ptr), value :: other\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_gl_context_set_required_version (GdkGLContext *context, int major, int minor);\nsubroutine gdk_gl_context_set_required_version(context, major, minor) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: context\n  integer(c_int), value :: major\n  integer(c_int), value :: minor\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_gl_context_get_required_version (GdkGLContext *context, int *major, int *minor);\nsubroutine gdk_gl_context_get_required_version(context, major, minor) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: major\n  type(c_ptr), value :: minor\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_gl_context_set_debug_enabled (GdkGLContext *context, gboolean enabled);\nsubroutine gdk_gl_context_set_debug_enabled(context, enabled) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: context\n  integer(c_int), value :: enabled\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_gl_context_get_debug_enabled (GdkGLContext *context);\nfunction gdk_gl_context_get_debug_enabled(context) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_gl_context_get_debug_enabled\n  type(c_ptr), value :: context\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_gl_context_set_forward_compatible (GdkGLContext *context, gboolean compatible);\nsubroutine gdk_gl_context_set_forward_compatible(context, compatible) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: context\n  integer(c_int), value :: compatible\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_gl_context_get_forward_compatible (GdkGLContext *context);\nfunction gdk_gl_context_get_forward_compatible(context) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_gl_context_get_forward_compatible\n  type(c_ptr), value :: context\nend function\n\n! GDK_AVAILABLE_IN_4_6\n!void gdk_gl_context_set_allowed_apis (GdkGLContext *self, GdkGLAPI apis);\nsubroutine gdk_gl_context_set_allowed_apis(self, apis) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: apis\nend subroutine\n\n! GDK_AVAILABLE_IN_4_6\n!GdkGLAPI gdk_gl_context_get_allowed_apis (GdkGLContext *self);\nfunction gdk_gl_context_get_allowed_apis(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_gl_context_get_allowed_apis\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_6\n!GdkGLAPI gdk_gl_context_get_api (GdkGLContext *self);\nfunction gdk_gl_context_get_api(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_gl_context_get_api\n  type(c_ptr), value :: self\nend function\n\n! GDK_DEPRECATED_IN_4_6_FOR(gdk_gl_context_set_allowed_apis)\n!void gdk_gl_context_set_use_es (GdkGLContext *context, int use_es);\nsubroutine gdk_gl_context_set_use_es(context, use_es) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: context\n  integer(c_int), value :: use_es\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_gl_context_get_use_es (GdkGLContext *context);\nfunction gdk_gl_context_get_use_es(context) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_gl_context_get_use_es\n  type(c_ptr), value :: context\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_gl_context_realize (GdkGLContext *context, GError **error);\nfunction gdk_gl_context_realize(context, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_gl_context_realize\n  type(c_ptr), value :: context\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_gl_context_make_current (GdkGLContext *context);\nsubroutine gdk_gl_context_make_current(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GdkGLContext * gdk_gl_context_get_current (void);\nfunction gdk_gl_context_get_current() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_gl_context_get_current\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_gl_context_clear_current (void);\nsubroutine gdk_gl_context_clear_current() bind(c)\n  implicit none\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkgltexture.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_gl_texture_get_type (void) ;\nfunction gdk_gl_texture_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_gl_texture_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_12_FOR(GdkGLTextureBuilder)\n!GdkTexture * gdk_gl_texture_new (GdkGLContext *context, guint id, int width, int height, GDestroyNotify destroy, gpointer data);\nfunction gdk_gl_texture_new(context, id, width, height, destroy, data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr) :: gdk_gl_texture_new\n  type(c_ptr), value :: context\n  integer(c_int), value :: id\n  integer(c_int), value :: width\n  integer(c_int), value :: height\n  type(c_funptr), value :: destroy\n  type(c_ptr), value :: data\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_gl_texture_release (GdkGLTexture *self);\nsubroutine gdk_gl_texture_release(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkgltexturebuilder.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_4_12\n!GdkGLTextureBuilder * gdk_gl_texture_builder_new (void);\nfunction gdk_gl_texture_builder_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_gl_texture_builder_new\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!GdkGLContext * gdk_gl_texture_builder_get_context (GdkGLTextureBuilder *self) ;\nfunction gdk_gl_texture_builder_get_context(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_gl_texture_builder_get_context\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gdk_gl_texture_builder_set_context (GdkGLTextureBuilder *self, GdkGLContext *context);\nsubroutine gdk_gl_texture_builder_set_context(self, context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: context\nend subroutine\n\n! GDK_AVAILABLE_IN_4_12\n!guint gdk_gl_texture_builder_get_id (GdkGLTextureBuilder *self) ;\nfunction gdk_gl_texture_builder_get_id(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_gl_texture_builder_get_id\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gdk_gl_texture_builder_set_id (GdkGLTextureBuilder *self, guint id);\nsubroutine gdk_gl_texture_builder_set_id(self, id) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: id\nend subroutine\n\n! GDK_AVAILABLE_IN_4_12\n!int gdk_gl_texture_builder_get_width (GdkGLTextureBuilder *self) ;\nfunction gdk_gl_texture_builder_get_width(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_gl_texture_builder_get_width\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gdk_gl_texture_builder_set_width (GdkGLTextureBuilder *self, int width);\nsubroutine gdk_gl_texture_builder_set_width(self, width) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: width\nend subroutine\n\n! GDK_AVAILABLE_IN_4_12\n!int gdk_gl_texture_builder_get_height (GdkGLTextureBuilder *self) ;\nfunction gdk_gl_texture_builder_get_height(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_gl_texture_builder_get_height\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gdk_gl_texture_builder_set_height (GdkGLTextureBuilder *self, int height);\nsubroutine gdk_gl_texture_builder_set_height(self, height) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: height\nend subroutine\n\n! GDK_AVAILABLE_IN_4_12\n!GdkMemoryFormat gdk_gl_texture_builder_get_format (GdkGLTextureBuilder *self) ;\nfunction gdk_gl_texture_builder_get_format(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_gl_texture_builder_get_format\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gdk_gl_texture_builder_set_format (GdkGLTextureBuilder *self, GdkMemoryFormat format);\nsubroutine gdk_gl_texture_builder_set_format(self, format) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: format\nend subroutine\n\n! GDK_AVAILABLE_IN_4_12\n!gboolean gdk_gl_texture_builder_get_has_mipmap (GdkGLTextureBuilder *self) ;\nfunction gdk_gl_texture_builder_get_has_mipmap(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_gl_texture_builder_get_has_mipmap\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gdk_gl_texture_builder_set_has_mipmap (GdkGLTextureBuilder *self, gboolean has_mipmap);\nsubroutine gdk_gl_texture_builder_set_has_mipmap(self, has_mipmap) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: has_mipmap\nend subroutine\n\n! GDK_AVAILABLE_IN_4_12\n!gpointer gdk_gl_texture_builder_get_sync (GdkGLTextureBuilder *self) ;\nfunction gdk_gl_texture_builder_get_sync(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_gl_texture_builder_get_sync\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gdk_gl_texture_builder_set_sync (GdkGLTextureBuilder *self, gpointer sync);\nsubroutine gdk_gl_texture_builder_set_sync(self, sync) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: sync\nend subroutine\n\n! GDK_AVAILABLE_IN_4_16\n!GdkColorState * gdk_gl_texture_builder_get_color_state (GdkGLTextureBuilder *self);\nfunction gdk_gl_texture_builder_get_color_state(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_gl_texture_builder_get_color_state\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_16\n!void gdk_gl_texture_builder_set_color_state (GdkGLTextureBuilder *self, GdkColorState *color_state);\nsubroutine gdk_gl_texture_builder_set_color_state(self, color_state) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: color_state\nend subroutine\n\n! GDK_AVAILABLE_IN_4_12\n!GdkTexture * gdk_gl_texture_builder_get_update_texture (GdkGLTextureBuilder *self) ;\nfunction gdk_gl_texture_builder_get_update_texture(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_gl_texture_builder_get_update_texture\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gdk_gl_texture_builder_set_update_texture (GdkGLTextureBuilder *self, GdkTexture *texture);\nsubroutine gdk_gl_texture_builder_set_update_texture(self, texture) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: texture\nend subroutine\n\n! GDK_AVAILABLE_IN_4_12\n!cairo_region_t * gdk_gl_texture_builder_get_update_region (GdkGLTextureBuilder *self) ;\nfunction gdk_gl_texture_builder_get_update_region(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_gl_texture_builder_get_update_region\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gdk_gl_texture_builder_set_update_region (GdkGLTextureBuilder *self, cairo_region_t *region);\nsubroutine gdk_gl_texture_builder_set_update_region(self, region) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: region\nend subroutine\n\n! GDK_AVAILABLE_IN_4_12\n!GdkTexture * gdk_gl_texture_builder_build (GdkGLTextureBuilder *self, GDestroyNotify destroy, gpointer data);\nfunction gdk_gl_texture_builder_build(self, destroy, data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: gdk_gl_texture_builder_build\n  type(c_ptr), value :: self\n  type(c_funptr), value :: destroy\n  type(c_ptr), value :: data\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkkeys.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!const char *gdk_keyval_name (guint keyval) ;\nfunction gdk_keyval_name(keyval) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gdk_keyval_name\n  integer(c_int), value :: keyval\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint gdk_keyval_from_name (const char *keyval_name);\nfunction gdk_keyval_from_name(keyval_name) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: gdk_keyval_from_name\n  character(kind=c_char), dimension(*) :: keyval_name\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_keyval_convert_case (guint symbol, guint *lower, guint *upper);\nsubroutine gdk_keyval_convert_case(symbol, lower, upper) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int), value :: symbol\n  type(c_ptr), value :: lower\n  type(c_ptr), value :: upper\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!guint gdk_keyval_to_upper (guint keyval) ;\nfunction gdk_keyval_to_upper(keyval) bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: gdk_keyval_to_upper\n  integer(c_int), value :: keyval\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint gdk_keyval_to_lower (guint keyval) ;\nfunction gdk_keyval_to_lower(keyval) bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: gdk_keyval_to_lower\n  integer(c_int), value :: keyval\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_keyval_is_upper (guint keyval) ;\nfunction gdk_keyval_is_upper(keyval) bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: gdk_keyval_is_upper\n  integer(c_int), value :: keyval\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_keyval_is_lower (guint keyval) ;\nfunction gdk_keyval_is_lower(keyval) bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: gdk_keyval_is_lower\n  integer(c_int), value :: keyval\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint32 gdk_keyval_to_unicode (guint keyval) ;\nfunction gdk_keyval_to_unicode(keyval) bind(c)\n  import :: c_int32_t, c_int\n  implicit none\n  integer(c_int32_t) :: gdk_keyval_to_unicode\n  integer(c_int), value :: keyval\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint gdk_unicode_to_keyval (guint32 wc) ;\nfunction gdk_unicode_to_keyval(wc) bind(c)\n  import :: c_int, c_int32_t\n  implicit none\n  integer(c_int) :: gdk_unicode_to_keyval\n  integer(c_int32_t), value :: wc\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkkeysyms.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkmemorytexture.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_memory_texture_get_type (void) ;\nfunction gdk_memory_texture_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_memory_texture_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkTexture * gdk_memory_texture_new (int width, int height, GdkMemoryFormat format, GBytes *bytes, gsize stride);\nfunction gdk_memory_texture_new(width, height, format, bytes, stride) bind(c)\n  import :: c_ptr, c_int, c_size_t\n  implicit none\n  type(c_ptr) :: gdk_memory_texture_new\n  integer(c_int), value :: width\n  integer(c_int), value :: height\n  integer(c_int), value :: format\n  type(c_ptr), value :: bytes\n  integer(c_size_t), value :: stride\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkmemorytexturebuilder.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_4_16\n!GdkMemoryTextureBuilder * gdk_memory_texture_builder_new (void);\nfunction gdk_memory_texture_builder_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_memory_texture_builder_new\nend function\n\n! GDK_AVAILABLE_IN_4_16\n!GBytes * gdk_memory_texture_builder_get_bytes (GdkMemoryTextureBuilder *self) ;\nfunction gdk_memory_texture_builder_get_bytes(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_memory_texture_builder_get_bytes\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_16\n!void gdk_memory_texture_builder_set_bytes (GdkMemoryTextureBuilder *self, GBytes *bytes);\nsubroutine gdk_memory_texture_builder_set_bytes(self, bytes) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: bytes\nend subroutine\n\n! GDK_AVAILABLE_IN_4_16\n!gsize gdk_memory_texture_builder_get_stride (GdkMemoryTextureBuilder *self) ;\nfunction gdk_memory_texture_builder_get_stride(self) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: gdk_memory_texture_builder_get_stride\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_16\n!void gdk_memory_texture_builder_set_stride (GdkMemoryTextureBuilder *self, gsize stride);\nsubroutine gdk_memory_texture_builder_set_stride(self, stride) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_size_t), value :: stride\nend subroutine\n\n! GDK_AVAILABLE_IN_4_20\n!gsize gdk_memory_texture_builder_get_stride_for_plane (GdkMemoryTextureBuilder *self, unsigned int plane) ;\nfunction gdk_memory_texture_builder_get_stride_for_plane(self, plane) bind(c)\n  import :: c_size_t, c_ptr, c_int\n  implicit none\n  integer(c_size_t) :: gdk_memory_texture_builder_get_stride_for_plane\n  type(c_ptr), value :: self\n  integer(c_int), value :: plane\nend function\n\n! GDK_AVAILABLE_IN_4_20\n!void gdk_memory_texture_builder_set_stride_for_plane (GdkMemoryTextureBuilder *self, unsigned int plane, gsize stride);\nsubroutine gdk_memory_texture_builder_set_stride_for_plane(self, plane, stride)&\n& bind(c)\n  import :: c_ptr, c_int, c_size_t\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: plane\n  integer(c_size_t), value :: stride\nend subroutine\n\n! GDK_AVAILABLE_IN_4_20\n!gsize gdk_memory_texture_builder_get_offset (GdkMemoryTextureBuilder *self, unsigned int plane) ;\nfunction gdk_memory_texture_builder_get_offset(self, plane) bind(c)\n  import :: c_size_t, c_ptr, c_int\n  implicit none\n  integer(c_size_t) :: gdk_memory_texture_builder_get_offset\n  type(c_ptr), value :: self\n  integer(c_int), value :: plane\nend function\n\n! GDK_AVAILABLE_IN_4_20\n!void gdk_memory_texture_builder_set_offset (GdkMemoryTextureBuilder *self, unsigned int plane, gsize offset);\nsubroutine gdk_memory_texture_builder_set_offset(self, plane, offset) bind(c)\n  import :: c_ptr, c_int, c_size_t\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: plane\n  integer(c_size_t), value :: offset\nend subroutine\n\n! GDK_AVAILABLE_IN_4_16\n!int gdk_memory_texture_builder_get_width (GdkMemoryTextureBuilder *self) ;\nfunction gdk_memory_texture_builder_get_width(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_memory_texture_builder_get_width\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_16\n!void gdk_memory_texture_builder_set_width (GdkMemoryTextureBuilder *self, int width);\nsubroutine gdk_memory_texture_builder_set_width(self, width) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: width\nend subroutine\n\n! GDK_AVAILABLE_IN_4_16\n!int gdk_memory_texture_builder_get_height (GdkMemoryTextureBuilder *self) ;\nfunction gdk_memory_texture_builder_get_height(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_memory_texture_builder_get_height\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_16\n!void gdk_memory_texture_builder_set_height (GdkMemoryTextureBuilder *self, int height);\nsubroutine gdk_memory_texture_builder_set_height(self, height) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: height\nend subroutine\n\n! GDK_AVAILABLE_IN_4_16\n!GdkMemoryFormat gdk_memory_texture_builder_get_format (GdkMemoryTextureBuilder *self) ;\nfunction gdk_memory_texture_builder_get_format(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_memory_texture_builder_get_format\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_16\n!void gdk_memory_texture_builder_set_format (GdkMemoryTextureBuilder *self, GdkMemoryFormat format);\nsubroutine gdk_memory_texture_builder_set_format(self, format) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: format\nend subroutine\n\n! GDK_AVAILABLE_IN_4_16\n!GdkColorState * gdk_memory_texture_builder_get_color_state (GdkMemoryTextureBuilder *self) ;\nfunction gdk_memory_texture_builder_get_color_state(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_memory_texture_builder_get_color_state\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_16\n!void gdk_memory_texture_builder_set_color_state (GdkMemoryTextureBuilder *self, GdkColorState *color_state);\nsubroutine gdk_memory_texture_builder_set_color_state(self, color_state)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: color_state\nend subroutine\n\n! GDK_AVAILABLE_IN_4_16\n!GdkTexture * gdk_memory_texture_builder_get_update_texture (GdkMemoryTextureBuilder *self) ;\nfunction gdk_memory_texture_builder_get_update_texture(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_memory_texture_builder_get_update_texture\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_16\n!void gdk_memory_texture_builder_set_update_texture (GdkMemoryTextureBuilder *self, GdkTexture *texture);\nsubroutine gdk_memory_texture_builder_set_update_texture(self, texture) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: texture\nend subroutine\n\n! GDK_AVAILABLE_IN_4_16\n!cairo_region_t * gdk_memory_texture_builder_get_update_region (GdkMemoryTextureBuilder *self) ;\nfunction gdk_memory_texture_builder_get_update_region(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_memory_texture_builder_get_update_region\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_16\n!void gdk_memory_texture_builder_set_update_region (GdkMemoryTextureBuilder *self, cairo_region_t *region);\nsubroutine gdk_memory_texture_builder_set_update_region(self, region) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: region\nend subroutine\n\n! GDK_AVAILABLE_IN_4_16\n!GdkTexture * gdk_memory_texture_builder_build (GdkMemoryTextureBuilder *self);\nfunction gdk_memory_texture_builder_build(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_memory_texture_builder_build\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkmonitor.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_monitor_get_type (void) ;\nfunction gdk_monitor_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_monitor_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDisplay * gdk_monitor_get_display (GdkMonitor *monitor);\nfunction gdk_monitor_get_display(monitor) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_monitor_get_display\n  type(c_ptr), value :: monitor\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_monitor_get_geometry (GdkMonitor *monitor, GdkRectangle *geometry);\nsubroutine gdk_monitor_get_geometry(monitor, geometry) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: monitor\n  type(c_ptr), value :: geometry\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gdk_monitor_get_width_mm (GdkMonitor *monitor);\nfunction gdk_monitor_get_width_mm(monitor) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_monitor_get_width_mm\n  type(c_ptr), value :: monitor\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gdk_monitor_get_height_mm (GdkMonitor *monitor);\nfunction gdk_monitor_get_height_mm(monitor) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_monitor_get_height_mm\n  type(c_ptr), value :: monitor\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gdk_monitor_get_manufacturer (GdkMonitor *monitor);\nfunction gdk_monitor_get_manufacturer(monitor) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_monitor_get_manufacturer\n  type(c_ptr), value :: monitor\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gdk_monitor_get_model (GdkMonitor *monitor);\nfunction gdk_monitor_get_model(monitor) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_monitor_get_model\n  type(c_ptr), value :: monitor\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gdk_monitor_get_connector (GdkMonitor *monitor);\nfunction gdk_monitor_get_connector(monitor) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_monitor_get_connector\n  type(c_ptr), value :: monitor\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gdk_monitor_get_scale_factor (GdkMonitor *monitor);\nfunction gdk_monitor_get_scale_factor(monitor) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_monitor_get_scale_factor\n  type(c_ptr), value :: monitor\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!double gdk_monitor_get_scale (GdkMonitor *monitor);\nfunction gdk_monitor_get_scale(monitor) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: gdk_monitor_get_scale\n  type(c_ptr), value :: monitor\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gdk_monitor_get_refresh_rate (GdkMonitor *monitor);\nfunction gdk_monitor_get_refresh_rate(monitor) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_monitor_get_refresh_rate\n  type(c_ptr), value :: monitor\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkSubpixelLayout gdk_monitor_get_subpixel_layout (GdkMonitor *monitor);\nfunction gdk_monitor_get_subpixel_layout(monitor) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_monitor_get_subpixel_layout\n  type(c_ptr), value :: monitor\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_monitor_is_valid (GdkMonitor *monitor);\nfunction gdk_monitor_is_valid(monitor) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_monitor_is_valid\n  type(c_ptr), value :: monitor\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!const char * gdk_monitor_get_description (GdkMonitor *monitor);\nfunction gdk_monitor_get_description(monitor) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_monitor_get_description\n  type(c_ptr), value :: monitor\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkpaintable.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!void gdk_paintable_snapshot (GdkPaintable *paintable, GdkSnapshot *snapshot, double width, double height);\nsubroutine gdk_paintable_snapshot(paintable, snapshot, width, height) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: paintable\n  type(c_ptr), value :: snapshot\n  real(c_double), value :: width\n  real(c_double), value :: height\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GdkPaintable * gdk_paintable_get_current_image (GdkPaintable *paintable);\nfunction gdk_paintable_get_current_image(paintable) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_paintable_get_current_image\n  type(c_ptr), value :: paintable\nend function\n\n! \n!GdkPaintableFlags gdk_paintable_get_flags (GdkPaintable *paintable);\nfunction gdk_paintable_get_flags(paintable) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_paintable_get_flags\n  type(c_ptr), value :: paintable\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gdk_paintable_get_intrinsic_width (GdkPaintable *paintable);\nfunction gdk_paintable_get_intrinsic_width(paintable) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_paintable_get_intrinsic_width\n  type(c_ptr), value :: paintable\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gdk_paintable_get_intrinsic_height (GdkPaintable *paintable);\nfunction gdk_paintable_get_intrinsic_height(paintable) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_paintable_get_intrinsic_height\n  type(c_ptr), value :: paintable\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!double gdk_paintable_get_intrinsic_aspect_ratio(GdkPaintable *paintable);\nfunction gdk_paintable_get_intrinsic_aspect_ratio(paintable) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: gdk_paintable_get_intrinsic_aspect_ratio\n  type(c_ptr), value :: paintable\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_paintable_compute_concrete_size (GdkPaintable *paintable, double specified_width, double specified_height, double default_width, double default_height, double *concrete_width, double *concrete_height);\nsubroutine gdk_paintable_compute_concrete_size(paintable, specified_width,&\n& specified_height, default_width, default_height, concrete_width,&\n& concrete_height) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: paintable\n  real(c_double), value :: specified_width\n  real(c_double), value :: specified_height\n  real(c_double), value :: default_width\n  real(c_double), value :: default_height\n  type(c_ptr), value :: concrete_width\n  type(c_ptr), value :: concrete_height\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_paintable_invalidate_contents (GdkPaintable *paintable);\nsubroutine gdk_paintable_invalidate_contents(paintable) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: paintable\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_paintable_invalidate_size (GdkPaintable *paintable);\nsubroutine gdk_paintable_invalidate_size(paintable) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: paintable\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GdkPaintable * gdk_paintable_new_empty (int intrinsic_width, int intrinsic_height);\nfunction gdk_paintable_new_empty(intrinsic_width, intrinsic_height) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gdk_paintable_new_empty\n  integer(c_int), value :: intrinsic_width\n  integer(c_int), value :: intrinsic_height\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkpango.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!cairo_region_t *gdk_pango_layout_line_get_clip_region (PangoLayoutLine *line, int x_origin, int y_origin, const int *index_ranges, int n_ranges);\nfunction gdk_pango_layout_line_get_clip_region(line, x_origin, y_origin,&\n& index_ranges, n_ranges) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gdk_pango_layout_line_get_clip_region\n  type(c_ptr), value :: line\n  integer(c_int), value :: x_origin\n  integer(c_int), value :: y_origin\n  type(c_ptr), value :: index_ranges\n  integer(c_int), value :: n_ranges\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!cairo_region_t *gdk_pango_layout_get_clip_region (PangoLayout *layout, int x_origin, int y_origin, const int *index_ranges, int n_ranges);\nfunction gdk_pango_layout_get_clip_region(layout, x_origin, y_origin,&\n& index_ranges, n_ranges) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gdk_pango_layout_get_clip_region\n  type(c_ptr), value :: layout\n  integer(c_int), value :: x_origin\n  integer(c_int), value :: y_origin\n  type(c_ptr), value :: index_ranges\n  integer(c_int), value :: n_ranges\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkpopup.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_popup_present (GdkPopup *popup, int width, int height, GdkPopupLayout *layout);\nfunction gdk_popup_present(popup, width, height, layout) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_popup_present\n  type(c_ptr), value :: popup\n  integer(c_int), value :: width\n  integer(c_int), value :: height\n  type(c_ptr), value :: layout\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkGravity gdk_popup_get_surface_anchor (GdkPopup *popup);\nfunction gdk_popup_get_surface_anchor(popup) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_popup_get_surface_anchor\n  type(c_ptr), value :: popup\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkGravity gdk_popup_get_rect_anchor (GdkPopup *popup);\nfunction gdk_popup_get_rect_anchor(popup) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_popup_get_rect_anchor\n  type(c_ptr), value :: popup\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkSurface * gdk_popup_get_parent (GdkPopup *popup);\nfunction gdk_popup_get_parent(popup) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_popup_get_parent\n  type(c_ptr), value :: popup\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gdk_popup_get_position_x (GdkPopup *popup);\nfunction gdk_popup_get_position_x(popup) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_popup_get_position_x\n  type(c_ptr), value :: popup\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gdk_popup_get_position_y (GdkPopup *popup);\nfunction gdk_popup_get_position_y(popup) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_popup_get_position_y\n  type(c_ptr), value :: popup\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_popup_get_autohide (GdkPopup *popup);\nfunction gdk_popup_get_autohide(popup) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_popup_get_autohide\n  type(c_ptr), value :: popup\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkpopuplayout.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_popup_layout_get_type (void);\nfunction gdk_popup_layout_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_popup_layout_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkPopupLayout * gdk_popup_layout_new (const GdkRectangle *anchor_rect, GdkGravity rect_anchor, GdkGravity surface_anchor);\nfunction gdk_popup_layout_new(anchor_rect, rect_anchor, surface_anchor) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gdk_popup_layout_new\n  type(c_ptr), value :: anchor_rect\n  integer(c_int), value :: rect_anchor\n  integer(c_int), value :: surface_anchor\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkPopupLayout * gdk_popup_layout_ref (GdkPopupLayout *layout);\nfunction gdk_popup_layout_ref(layout) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_popup_layout_ref\n  type(c_ptr), value :: layout\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_popup_layout_unref (GdkPopupLayout *layout);\nsubroutine gdk_popup_layout_unref(layout) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: layout\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GdkPopupLayout * gdk_popup_layout_copy (GdkPopupLayout *layout);\nfunction gdk_popup_layout_copy(layout) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_popup_layout_copy\n  type(c_ptr), value :: layout\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_popup_layout_equal (GdkPopupLayout *layout, GdkPopupLayout *other);\nfunction gdk_popup_layout_equal(layout, other) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_popup_layout_equal\n  type(c_ptr), value :: layout\n  type(c_ptr), value :: other\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_popup_layout_set_anchor_rect (GdkPopupLayout *layout, const GdkRectangle *anchor_rect);\nsubroutine gdk_popup_layout_set_anchor_rect(layout, anchor_rect) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: layout\n  type(c_ptr), value :: anchor_rect\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const GdkRectangle * gdk_popup_layout_get_anchor_rect (GdkPopupLayout *layout);\nfunction gdk_popup_layout_get_anchor_rect(layout) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_popup_layout_get_anchor_rect\n  type(c_ptr), value :: layout\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_popup_layout_set_rect_anchor (GdkPopupLayout *layout, GdkGravity anchor);\nsubroutine gdk_popup_layout_set_rect_anchor(layout, anchor) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: layout\n  integer(c_int), value :: anchor\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GdkGravity gdk_popup_layout_get_rect_anchor (GdkPopupLayout *layout);\nfunction gdk_popup_layout_get_rect_anchor(layout) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_popup_layout_get_rect_anchor\n  type(c_ptr), value :: layout\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_popup_layout_set_surface_anchor (GdkPopupLayout *layout, GdkGravity anchor);\nsubroutine gdk_popup_layout_set_surface_anchor(layout, anchor) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: layout\n  integer(c_int), value :: anchor\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GdkGravity gdk_popup_layout_get_surface_anchor (GdkPopupLayout *layout);\nfunction gdk_popup_layout_get_surface_anchor(layout) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_popup_layout_get_surface_anchor\n  type(c_ptr), value :: layout\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_popup_layout_set_anchor_hints (GdkPopupLayout *layout, GdkAnchorHints anchor_hints);\nsubroutine gdk_popup_layout_set_anchor_hints(layout, anchor_hints) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: layout\n  integer(c_int), value :: anchor_hints\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GdkAnchorHints gdk_popup_layout_get_anchor_hints (GdkPopupLayout *layout);\nfunction gdk_popup_layout_get_anchor_hints(layout) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_popup_layout_get_anchor_hints\n  type(c_ptr), value :: layout\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_popup_layout_set_offset (GdkPopupLayout *layout, int dx, int dy);\nsubroutine gdk_popup_layout_set_offset(layout, dx, dy) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: layout\n  integer(c_int), value :: dx\n  integer(c_int), value :: dy\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_popup_layout_get_offset (GdkPopupLayout *layout, int *dx, int *dy);\nsubroutine gdk_popup_layout_get_offset(layout, dx, dy) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: layout\n  type(c_ptr), value :: dx\n  type(c_ptr), value :: dy\nend subroutine\n\n! GDK_AVAILABLE_IN_4_2\n!void gdk_popup_layout_set_shadow_width (GdkPopupLayout *layout, int left, int right, int top, int bottom);\nsubroutine gdk_popup_layout_set_shadow_width(layout, left, right, top, bottom)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: layout\n  integer(c_int), value :: left\n  integer(c_int), value :: right\n  integer(c_int), value :: top\n  integer(c_int), value :: bottom\nend subroutine\n\n! GDK_AVAILABLE_IN_4_2\n!void gdk_popup_layout_get_shadow_width (GdkPopupLayout *layout, int *left, int *right, int *top, int *bottom);\nsubroutine gdk_popup_layout_get_shadow_width(layout, left, right, top, bottom)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: layout\n  type(c_ptr), value :: left\n  type(c_ptr), value :: right\n  type(c_ptr), value :: top\n  type(c_ptr), value :: bottom\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkrectangle.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_rectangle_intersect (const GdkRectangle *src1, const GdkRectangle *src2, GdkRectangle *dest);\nfunction gdk_rectangle_intersect(src1, src2, dest) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_rectangle_intersect\n  type(c_ptr), value :: src1\n  type(c_ptr), value :: src2\n  type(c_ptr), value :: dest\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_rectangle_union (const GdkRectangle *src1, const GdkRectangle *src2, GdkRectangle *dest);\nsubroutine gdk_rectangle_union(src1, src2, dest) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: src1\n  type(c_ptr), value :: src2\n  type(c_ptr), value :: dest\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_rectangle_equal (const GdkRectangle *rect1, const GdkRectangle *rect2) ;\nfunction gdk_rectangle_equal(rect1, rect2) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_rectangle_equal\n  type(c_ptr), value :: rect1\n  type(c_ptr), value :: rect2\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_rectangle_contains_point (const GdkRectangle *rect, int x, int y) ;\nfunction gdk_rectangle_contains_point(rect, x, y) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_rectangle_contains_point\n  type(c_ptr), value :: rect\n  integer(c_int), value :: x\n  integer(c_int), value :: y\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_rectangle_get_type (void) ;\nfunction gdk_rectangle_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_rectangle_get_type\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkrgba.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_rgba_get_type (void) ;\nfunction gdk_rgba_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_rgba_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkRGBA * gdk_rgba_copy (const GdkRGBA *rgba);\nfunction gdk_rgba_copy(rgba) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_rgba_copy\n  type(c_ptr), value :: rgba\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_rgba_free (GdkRGBA *rgba);\nsubroutine gdk_rgba_free(rgba) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: rgba\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_rgba_is_clear (const GdkRGBA *rgba) ;\nfunction gdk_rgba_is_clear(rgba) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_rgba_is_clear\n  type(c_ptr), value :: rgba\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_rgba_is_opaque (const GdkRGBA *rgba) ;\nfunction gdk_rgba_is_opaque(rgba) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_rgba_is_opaque\n  type(c_ptr), value :: rgba\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint gdk_rgba_hash (gconstpointer p) ;\nfunction gdk_rgba_hash(p) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_rgba_hash\n  type(c_ptr), value :: p\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_rgba_equal (gconstpointer p1, gconstpointer p2) ;\nfunction gdk_rgba_equal(p1, p2) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_rgba_equal\n  type(c_ptr), value :: p1\n  type(c_ptr), value :: p2\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_rgba_parse (GdkRGBA *rgba, const char *spec);\nfunction gdk_rgba_parse(rgba, spec) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gdk_rgba_parse\n  type(c_ptr), value :: rgba\n  character(kind=c_char), dimension(*) :: spec\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!char * gdk_rgba_to_string (const GdkRGBA *rgba) ;\nfunction gdk_rgba_to_string(rgba) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_rgba_to_string\n  type(c_ptr), value :: rgba\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkseat.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_seat_get_type (void) ;\nfunction gdk_seat_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_seat_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDisplay * gdk_seat_get_display (GdkSeat *seat);\nfunction gdk_seat_get_display(seat) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_seat_get_display\n  type(c_ptr), value :: seat\nend function\n\n! \n!GdkSeatCapabilities gdk_seat_get_capabilities (GdkSeat *seat);\nfunction gdk_seat_get_capabilities(seat) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_seat_get_capabilities\n  type(c_ptr), value :: seat\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GList * gdk_seat_get_devices (GdkSeat *seat, GdkSeatCapabilities capabilities);\nfunction gdk_seat_get_devices(seat, capabilities) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gdk_seat_get_devices\n  type(c_ptr), value :: seat\n  integer(c_int), value :: capabilities\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GList * gdk_seat_get_tools (GdkSeat *seat);\nfunction gdk_seat_get_tools(seat) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_seat_get_tools\n  type(c_ptr), value :: seat\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDevice * gdk_seat_get_pointer (GdkSeat *seat);\nfunction gdk_seat_get_pointer(seat) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_seat_get_pointer\n  type(c_ptr), value :: seat\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDevice * gdk_seat_get_keyboard (GdkSeat *seat);\nfunction gdk_seat_get_keyboard(seat) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_seat_get_keyboard\n  type(c_ptr), value :: seat\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdksnapshot.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_snapshot_get_type (void) ;\nfunction gdk_snapshot_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_snapshot_get_type\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdksurface.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_surface_get_type (void) ;\nfunction gdk_surface_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_surface_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkSurface * gdk_surface_new_toplevel (GdkDisplay *display);\nfunction gdk_surface_new_toplevel(display) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_surface_new_toplevel\n  type(c_ptr), value :: display\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkSurface * gdk_surface_new_popup (GdkSurface *parent, gboolean autohide);\nfunction gdk_surface_new_popup(parent, autohide) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gdk_surface_new_popup\n  type(c_ptr), value :: parent\n  integer(c_int), value :: autohide\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_surface_destroy (GdkSurface *surface);\nsubroutine gdk_surface_destroy(surface) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: surface\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_surface_is_destroyed (GdkSurface *surface);\nfunction gdk_surface_is_destroyed(surface) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_surface_is_destroyed\n  type(c_ptr), value :: surface\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDisplay * gdk_surface_get_display (GdkSurface *surface);\nfunction gdk_surface_get_display(surface) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_surface_get_display\n  type(c_ptr), value :: surface\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_surface_hide (GdkSurface *surface);\nsubroutine gdk_surface_hide(surface) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: surface\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_surface_set_input_region (GdkSurface *surface, cairo_region_t *region);\nsubroutine gdk_surface_set_input_region(surface, region) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: surface\n  type(c_ptr), value :: region\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_surface_get_mapped (GdkSurface *surface);\nfunction gdk_surface_get_mapped(surface) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_surface_get_mapped\n  type(c_ptr), value :: surface\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_surface_set_cursor (GdkSurface *surface, GdkCursor *cursor);\nsubroutine gdk_surface_set_cursor(surface, cursor) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: surface\n  type(c_ptr), value :: cursor\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GdkCursor *gdk_surface_get_cursor (GdkSurface *surface);\nfunction gdk_surface_get_cursor(surface) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_surface_get_cursor\n  type(c_ptr), value :: surface\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_surface_set_device_cursor (GdkSurface *surface, GdkDevice *device, GdkCursor *cursor);\nsubroutine gdk_surface_set_device_cursor(surface, device, cursor) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: surface\n  type(c_ptr), value :: device\n  type(c_ptr), value :: cursor\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GdkCursor *gdk_surface_get_device_cursor (GdkSurface *surface, GdkDevice *device);\nfunction gdk_surface_get_device_cursor(surface, device) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_surface_get_device_cursor\n  type(c_ptr), value :: surface\n  type(c_ptr), value :: device\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gdk_surface_get_width (GdkSurface *surface);\nfunction gdk_surface_get_width(surface) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_surface_get_width\n  type(c_ptr), value :: surface\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gdk_surface_get_height (GdkSurface *surface);\nfunction gdk_surface_get_height(surface) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_surface_get_height\n  type(c_ptr), value :: surface\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_surface_translate_coordinates (GdkSurface *from, GdkSurface *to, double *x, double *y);\nfunction gdk_surface_translate_coordinates(from, to, x, y) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_surface_translate_coordinates\n  type(c_ptr), value :: from\n  type(c_ptr), value :: to\n  type(c_ptr), value :: x\n  type(c_ptr), value :: y\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gdk_surface_get_scale_factor (GdkSurface *surface);\nfunction gdk_surface_get_scale_factor(surface) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_surface_get_scale_factor\n  type(c_ptr), value :: surface\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!double gdk_surface_get_scale (GdkSurface *surface);\nfunction gdk_surface_get_scale(surface) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: gdk_surface_get_scale\n  type(c_ptr), value :: surface\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_surface_get_device_position (GdkSurface *surface, GdkDevice *device, double *x, double *y, GdkModifierType *mask);\nfunction gdk_surface_get_device_position(surface, device, x, y, mask) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_surface_get_device_position\n  type(c_ptr), value :: surface\n  type(c_ptr), value :: device\n  type(c_ptr), value :: x\n  type(c_ptr), value :: y\n  type(c_ptr), value :: mask\nend function\n\n! \n!cairo_surface_t * gdk_surface_create_similar_surface (GdkSurface *surface, cairo_content_t content, int width, int height);\nfunction gdk_surface_create_similar_surface(surface, content, width, height)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gdk_surface_create_similar_surface\n  type(c_ptr), value :: surface\n  integer(c_int), value :: content\n  integer(c_int), value :: width\n  integer(c_int), value :: height\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_surface_beep (GdkSurface *surface);\nsubroutine gdk_surface_beep(surface) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: surface\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_surface_queue_render (GdkSurface *surface);\nsubroutine gdk_surface_queue_render(surface) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: surface\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_surface_request_layout (GdkSurface *surface);\nsubroutine gdk_surface_request_layout(surface) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: surface\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GdkFrameClock* gdk_surface_get_frame_clock (GdkSurface *surface);\nfunction gdk_surface_get_frame_clock(surface) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_surface_get_frame_clock\n  type(c_ptr), value :: surface\nend function\n\n! GDK_DEPRECATED_IN_4_16\n!void gdk_surface_set_opaque_region (GdkSurface *surface, cairo_region_t *region);\nsubroutine gdk_surface_set_opaque_region(surface, region) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: surface\n  type(c_ptr), value :: region\nend subroutine\n\n! GDK_DEPRECATED_IN_4_18\n!GdkCairoContext *gdk_surface_create_cairo_context(GdkSurface *surface);\nfunction gdk_surface_create_cairo_context(surface) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_surface_create_cairo_context\n  type(c_ptr), value :: surface\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkGLContext * gdk_surface_create_gl_context (GdkSurface *surface, GError **error);\nfunction gdk_surface_create_gl_context(surface, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_surface_create_gl_context\n  type(c_ptr), value :: surface\n  type(c_ptr), value :: error\nend function\n\n! \n!GdkVulkanContext * gdk_surface_create_vulkan_context(GdkSurface *surface, GError **error);\nfunction gdk_surface_create_vulkan_context(surface, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_surface_create_vulkan_context\n  type(c_ptr), value :: surface\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdktexture.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_4_6\n!GQuark gdk_texture_error_quark (void);\nfunction gdk_texture_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: gdk_texture_error_quark\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_texture_get_type (void) ;\nfunction gdk_texture_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_texture_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_20\n!GdkTexture * gdk_texture_new_for_pixbuf (GdkPixbuf *pixbuf);\nfunction gdk_texture_new_for_pixbuf(pixbuf) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_texture_new_for_pixbuf\n  type(c_ptr), value :: pixbuf\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkTexture * gdk_texture_new_from_resource (const char *resource_path);\nfunction gdk_texture_new_from_resource(resource_path) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gdk_texture_new_from_resource\n  character(kind=c_char), dimension(*) :: resource_path\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkTexture * gdk_texture_new_from_file (GFile *file, GError **error);\nfunction gdk_texture_new_from_file(file, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_texture_new_from_file\n  type(c_ptr), value :: file\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_4_6\n!GdkTexture * gdk_texture_new_from_filename (const char *path, GError **error);\nfunction gdk_texture_new_from_filename(path, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gdk_texture_new_from_filename\n  character(kind=c_char), dimension(*) :: path\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_4_6\n!GdkTexture * gdk_texture_new_from_bytes (GBytes *bytes, GError **error);\nfunction gdk_texture_new_from_bytes(bytes, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_texture_new_from_bytes\n  type(c_ptr), value :: bytes\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gdk_texture_get_width (GdkTexture *texture) ;\nfunction gdk_texture_get_width(texture) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_texture_get_width\n  type(c_ptr), value :: texture\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gdk_texture_get_height (GdkTexture *texture) ;\nfunction gdk_texture_get_height(texture) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_texture_get_height\n  type(c_ptr), value :: texture\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!GdkMemoryFormat gdk_texture_get_format (GdkTexture *self) ;\nfunction gdk_texture_get_format(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_texture_get_format\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_16\n!GdkColorState * gdk_texture_get_color_state (GdkTexture *self);\nfunction gdk_texture_get_color_state(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_texture_get_color_state\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_texture_download (GdkTexture *texture, guchar *data, gsize stride);\nsubroutine gdk_texture_download(texture, data, stride) bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr), value :: texture\n  character(kind=c_char), dimension(*) :: data\n  integer(c_size_t), value :: stride\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_texture_save_to_png (GdkTexture *texture, const char *filename);\nfunction gdk_texture_save_to_png(texture, filename) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gdk_texture_save_to_png\n  type(c_ptr), value :: texture\n  character(kind=c_char), dimension(*) :: filename\nend function\n\n! GDK_AVAILABLE_IN_4_6\n!GBytes * gdk_texture_save_to_png_bytes (GdkTexture *texture);\nfunction gdk_texture_save_to_png_bytes(texture) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_texture_save_to_png_bytes\n  type(c_ptr), value :: texture\nend function\n\n! GDK_AVAILABLE_IN_4_6\n!gboolean gdk_texture_save_to_tiff (GdkTexture *texture, const char *filename);\nfunction gdk_texture_save_to_tiff(texture, filename) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gdk_texture_save_to_tiff\n  type(c_ptr), value :: texture\n  character(kind=c_char), dimension(*) :: filename\nend function\n\n! GDK_AVAILABLE_IN_4_6\n!GBytes * gdk_texture_save_to_tiff_bytes (GdkTexture *texture);\nfunction gdk_texture_save_to_tiff_bytes(texture) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_texture_save_to_tiff_bytes\n  type(c_ptr), value :: texture\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdktexturedownloader.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_4_10\n!GType gdk_texture_downloader_get_type (void) ;\nfunction gdk_texture_downloader_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_texture_downloader_get_type\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!GdkTextureDownloader * gdk_texture_downloader_new (GdkTexture *texture);\nfunction gdk_texture_downloader_new(texture) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_texture_downloader_new\n  type(c_ptr), value :: texture\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!GdkTextureDownloader * gdk_texture_downloader_copy (const GdkTextureDownloader *self);\nfunction gdk_texture_downloader_copy(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_texture_downloader_copy\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gdk_texture_downloader_free (GdkTextureDownloader *self);\nsubroutine gdk_texture_downloader_free(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!void gdk_texture_downloader_set_texture (GdkTextureDownloader *self, GdkTexture *texture);\nsubroutine gdk_texture_downloader_set_texture(self, texture) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: texture\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!GdkTexture * gdk_texture_downloader_get_texture (const GdkTextureDownloader *self);\nfunction gdk_texture_downloader_get_texture(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_texture_downloader_get_texture\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gdk_texture_downloader_set_format (GdkTextureDownloader *self, GdkMemoryFormat format);\nsubroutine gdk_texture_downloader_set_format(self, format) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: format\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!GdkMemoryFormat gdk_texture_downloader_get_format (const GdkTextureDownloader *self);\nfunction gdk_texture_downloader_get_format(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_texture_downloader_get_format\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_16\n!void gdk_texture_downloader_set_color_state (GdkTextureDownloader *self, GdkColorState *color_state);\nsubroutine gdk_texture_downloader_set_color_state(self, color_state) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: color_state\nend subroutine\n\n! GDK_AVAILABLE_IN_4_16\n!GdkColorState * gdk_texture_downloader_get_color_state (const GdkTextureDownloader *self);\nfunction gdk_texture_downloader_get_color_state(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_texture_downloader_get_color_state\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gdk_texture_downloader_download_into (const GdkTextureDownloader *self, guchar *data, gsize stride);\nsubroutine gdk_texture_downloader_download_into(self, data, stride) bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: data\n  integer(c_size_t), value :: stride\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!GBytes * gdk_texture_downloader_download_bytes (const GdkTextureDownloader *self, gsize *out_stride);\nfunction gdk_texture_downloader_download_bytes(self, out_stride) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_texture_downloader_download_bytes\n  type(c_ptr), value :: self\n  type(c_ptr), value :: out_stride\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdktoplevel.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!void gdk_toplevel_present (GdkToplevel *toplevel, GdkToplevelLayout *layout);\nsubroutine gdk_toplevel_present(toplevel, layout) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: toplevel\n  type(c_ptr), value :: layout\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_toplevel_minimize (GdkToplevel *toplevel);\nfunction gdk_toplevel_minimize(toplevel) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_toplevel_minimize\n  type(c_ptr), value :: toplevel\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_toplevel_lower (GdkToplevel *toplevel);\nfunction gdk_toplevel_lower(toplevel) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_toplevel_lower\n  type(c_ptr), value :: toplevel\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_toplevel_focus (GdkToplevel *toplevel, guint32 timestamp);\nsubroutine gdk_toplevel_focus(toplevel, timestamp) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr), value :: toplevel\n  integer(c_int32_t), value :: timestamp\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GdkToplevelState gdk_toplevel_get_state (GdkToplevel *toplevel);\nfunction gdk_toplevel_get_state(toplevel) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_toplevel_get_state\n  type(c_ptr), value :: toplevel\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_toplevel_set_title (GdkToplevel *toplevel, const char *title);\nsubroutine gdk_toplevel_set_title(toplevel, title) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: toplevel\n  character(kind=c_char), dimension(*) :: title\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_toplevel_set_startup_id (GdkToplevel *toplevel, const char *startup_id);\nsubroutine gdk_toplevel_set_startup_id(toplevel, startup_id) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: toplevel\n  character(kind=c_char), dimension(*) :: startup_id\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_toplevel_set_transient_for (GdkToplevel *toplevel, GdkSurface *parent);\nsubroutine gdk_toplevel_set_transient_for(toplevel, parent) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: toplevel\n  type(c_ptr), value :: parent\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_toplevel_set_modal (GdkToplevel *toplevel, gboolean modal);\nsubroutine gdk_toplevel_set_modal(toplevel, modal) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: toplevel\n  integer(c_int), value :: modal\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_toplevel_set_icon_list (GdkToplevel *toplevel, GList *surfaces);\nsubroutine gdk_toplevel_set_icon_list(toplevel, surfaces) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: toplevel\n  type(c_ptr), value :: surfaces\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_toplevel_show_window_menu (GdkToplevel *toplevel, GdkEvent *event);\nfunction gdk_toplevel_show_window_menu(toplevel, event) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_toplevel_show_window_menu\n  type(c_ptr), value :: toplevel\n  type(c_ptr), value :: event\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_toplevel_set_decorated (GdkToplevel *toplevel, gboolean decorated);\nsubroutine gdk_toplevel_set_decorated(toplevel, decorated) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: toplevel\n  integer(c_int), value :: decorated\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_toplevel_set_deletable (GdkToplevel *toplevel, gboolean deletable);\nsubroutine gdk_toplevel_set_deletable(toplevel, deletable) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: toplevel\n  integer(c_int), value :: deletable\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_toplevel_supports_edge_constraints (GdkToplevel *toplevel);\nfunction gdk_toplevel_supports_edge_constraints(toplevel) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_toplevel_supports_edge_constraints\n  type(c_ptr), value :: toplevel\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_toplevel_inhibit_system_shortcuts (GdkToplevel *toplevel, GdkEvent *event);\nsubroutine gdk_toplevel_inhibit_system_shortcuts(toplevel, event) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: toplevel\n  type(c_ptr), value :: event\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_toplevel_restore_system_shortcuts (GdkToplevel *toplevel);\nsubroutine gdk_toplevel_restore_system_shortcuts(toplevel) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: toplevel\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_toplevel_begin_resize (GdkToplevel *toplevel, GdkSurfaceEdge edge, GdkDevice *device, int button, double x, double y, guint32 timestamp);\nsubroutine gdk_toplevel_begin_resize(toplevel, edge, device, button, x, y,&\n& timestamp) bind(c)\n  import :: c_ptr, c_int, c_double, c_int32_t\n  implicit none\n  type(c_ptr), value :: toplevel\n  integer(c_int), value :: edge\n  type(c_ptr), value :: device\n  integer(c_int), value :: button\n  real(c_double), value :: x\n  real(c_double), value :: y\n  integer(c_int32_t), value :: timestamp\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_toplevel_begin_move (GdkToplevel *toplevel, GdkDevice *device, int button, double x, double y, guint32 timestamp);\nsubroutine gdk_toplevel_begin_move(toplevel, device, button, x, y, timestamp)&\n& bind(c)\n  import :: c_ptr, c_int, c_double, c_int32_t\n  implicit none\n  type(c_ptr), value :: toplevel\n  type(c_ptr), value :: device\n  integer(c_int), value :: button\n  real(c_double), value :: x\n  real(c_double), value :: y\n  integer(c_int32_t), value :: timestamp\nend subroutine\n\n! GDK_AVAILABLE_IN_4_4\n!gboolean gdk_toplevel_titlebar_gesture (GdkToplevel *toplevel, GdkTitlebarGesture gesture);\nfunction gdk_toplevel_titlebar_gesture(toplevel, gesture) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_toplevel_titlebar_gesture\n  type(c_ptr), value :: toplevel\n  integer(c_int), value :: gesture\nend function\n\n! GDK_AVAILABLE_IN_4_20\n!GdkToplevelCapabilities gdk_toplevel_get_capabilities (GdkToplevel *toplevel);\nfunction gdk_toplevel_get_capabilities(toplevel) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_toplevel_get_capabilities\n  type(c_ptr), value :: toplevel\nend function\n\n! GDK_AVAILABLE_IN_4_20\n!GdkGravity gdk_toplevel_get_gravity (GdkToplevel *toplevel);\nfunction gdk_toplevel_get_gravity(toplevel) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_toplevel_get_gravity\n  type(c_ptr), value :: toplevel\nend function\n\n! GDK_AVAILABLE_IN_4_20\n!void gdk_toplevel_set_gravity (GdkToplevel *toplevel, GdkGravity gravity);\nsubroutine gdk_toplevel_set_gravity(toplevel, gravity) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: toplevel\n  integer(c_int), value :: gravity\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdktoplevellayout.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_toplevel_layout_get_type (void);\nfunction gdk_toplevel_layout_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_toplevel_layout_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkToplevelLayout * gdk_toplevel_layout_new (void);\nfunction gdk_toplevel_layout_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_toplevel_layout_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkToplevelLayout * gdk_toplevel_layout_ref (GdkToplevelLayout *layout);\nfunction gdk_toplevel_layout_ref(layout) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_toplevel_layout_ref\n  type(c_ptr), value :: layout\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_toplevel_layout_unref (GdkToplevelLayout *layout);\nsubroutine gdk_toplevel_layout_unref(layout) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: layout\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GdkToplevelLayout * gdk_toplevel_layout_copy (GdkToplevelLayout *layout);\nfunction gdk_toplevel_layout_copy(layout) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_toplevel_layout_copy\n  type(c_ptr), value :: layout\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_toplevel_layout_equal (GdkToplevelLayout *layout, GdkToplevelLayout *other);\nfunction gdk_toplevel_layout_equal(layout, other) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_toplevel_layout_equal\n  type(c_ptr), value :: layout\n  type(c_ptr), value :: other\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_toplevel_layout_set_maximized (GdkToplevelLayout *layout, gboolean maximized);\nsubroutine gdk_toplevel_layout_set_maximized(layout, maximized) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: layout\n  integer(c_int), value :: maximized\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_toplevel_layout_set_fullscreen (GdkToplevelLayout *layout, gboolean fullscreen, GdkMonitor *monitor);\nsubroutine gdk_toplevel_layout_set_fullscreen(layout, fullscreen, monitor)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: layout\n  integer(c_int), value :: fullscreen\n  type(c_ptr), value :: monitor\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_toplevel_layout_get_maximized (GdkToplevelLayout *layout, gboolean *maximized);\nfunction gdk_toplevel_layout_get_maximized(layout, maximized) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_toplevel_layout_get_maximized\n  type(c_ptr), value :: layout\n  type(c_ptr), value :: maximized\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_toplevel_layout_get_fullscreen (GdkToplevelLayout *layout, gboolean *fullscreen);\nfunction gdk_toplevel_layout_get_fullscreen(layout, fullscreen) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_toplevel_layout_get_fullscreen\n  type(c_ptr), value :: layout\n  type(c_ptr), value :: fullscreen\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkMonitor * gdk_toplevel_layout_get_fullscreen_monitor (GdkToplevelLayout *layout);\nfunction gdk_toplevel_layout_get_fullscreen_monitor(layout) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_toplevel_layout_get_fullscreen_monitor\n  type(c_ptr), value :: layout\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_toplevel_layout_set_resizable (GdkToplevelLayout *layout, gboolean resizable);\nsubroutine gdk_toplevel_layout_set_resizable(layout, resizable) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: layout\n  integer(c_int), value :: resizable\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_toplevel_layout_get_resizable (GdkToplevelLayout *layout);\nfunction gdk_toplevel_layout_get_resizable(layout) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_toplevel_layout_get_resizable\n  type(c_ptr), value :: layout\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdktoplevelsize.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_toplevel_size_get_type (void);\nfunction gdk_toplevel_size_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_toplevel_size_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_toplevel_size_get_bounds (GdkToplevelSize *size, int *bounds_width, int *bounds_height);\nsubroutine gdk_toplevel_size_get_bounds(size, bounds_width, bounds_height)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: size\n  type(c_ptr), value :: bounds_width\n  type(c_ptr), value :: bounds_height\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_toplevel_size_set_size (GdkToplevelSize *size, int width, int height);\nsubroutine gdk_toplevel_size_set_size(size, width, height) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: size\n  integer(c_int), value :: width\n  integer(c_int), value :: height\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_toplevel_size_set_min_size (GdkToplevelSize *size, int min_width, int min_height);\nsubroutine gdk_toplevel_size_set_min_size(size, min_width, min_height) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: size\n  integer(c_int), value :: min_width\n  integer(c_int), value :: min_height\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_toplevel_size_set_shadow_width (GdkToplevelSize *size, int left, int right, int top, int bottom);\nsubroutine gdk_toplevel_size_set_shadow_width(size, left, right, top, bottom)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: size\n  integer(c_int), value :: left\n  integer(c_int), value :: right\n  integer(c_int), value :: top\n  integer(c_int), value :: bottom\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdktypes.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/gdkvulkancontext.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GQuark gdk_vulkan_error_quark (void);\nfunction gdk_vulkan_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: gdk_vulkan_error_quark\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_vulkan_context_get_type (void) ;\nfunction gdk_vulkan_context_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_vulkan_context_get_type\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/broadway/gdkbroadway.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/broadway/gdkbroadwaycursor.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_broadway_cursor_get_type (void);\nfunction gdk_broadway_cursor_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_broadway_cursor_get_type\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/broadway/gdkbroadwaydisplay.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_broadway_display_get_type (void);\nfunction gdk_broadway_display_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_broadway_display_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_18\n!void gdk_broadway_display_show_keyboard (GdkBroadwayDisplay *display);\nsubroutine gdk_broadway_display_show_keyboard(display) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: display\nend subroutine\n\n! GDK_DEPRECATED_IN_4_18\n!void gdk_broadway_display_hide_keyboard (GdkBroadwayDisplay *display);\nsubroutine gdk_broadway_display_hide_keyboard(display) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: display\nend subroutine\n\n! GDK_DEPRECATED_IN_4_18\n!int gdk_broadway_display_get_surface_scale (GdkDisplay *display);\nfunction gdk_broadway_display_get_surface_scale(display) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_broadway_display_get_surface_scale\n  type(c_ptr), value :: display\nend function\n\n! GDK_DEPRECATED_IN_4_18\n!void gdk_broadway_display_set_surface_scale (GdkDisplay *display, int scale);\nsubroutine gdk_broadway_display_set_surface_scale(display, scale) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: display\n  integer(c_int), value :: scale\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/broadway/gdkbroadwaymonitor.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_broadway_monitor_get_type (void) ;\nfunction gdk_broadway_monitor_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_broadway_monitor_get_type\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/broadway/gdkbroadwaysurface.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_broadway_surface_get_type (void);\nfunction gdk_broadway_surface_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_broadway_surface_get_type\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/deprecated/gdkpixbuf.h\n!--------------------------------------------------\n! GDK_DEPRECATED_IN_4_12\n!GdkPixbuf *gdk_pixbuf_get_from_surface (cairo_surface_t *surface, int src_x, int src_y, int width, int height);\nfunction gdk_pixbuf_get_from_surface(surface, src_x, src_y, width, height)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_get_from_surface\n  type(c_ptr), value :: surface\n  integer(c_int), value :: src_x\n  integer(c_int), value :: src_y\n  integer(c_int), value :: width\n  integer(c_int), value :: height\nend function\n\n! GDK_DEPRECATED_IN_4_12\n!GdkPixbuf *gdk_pixbuf_get_from_texture (GdkTexture *texture);\nfunction gdk_pixbuf_get_from_texture(texture) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_get_from_texture\n  type(c_ptr), value :: texture\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/version/gdk-visibility.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/version/gdkversionmacros.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/wayland/gdkwayland.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/wayland/gdkwaylanddevice.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_wayland_device_get_type (void);\nfunction gdk_wayland_device_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_wayland_device_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char *gdk_wayland_device_get_node_path (GdkDevice *device);\nfunction gdk_wayland_device_get_node_path(device) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_wayland_device_get_node_path\n  type(c_ptr), value :: device\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/wayland/gdkwaylanddisplay.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_wayland_display_get_type (void);\nfunction gdk_wayland_display_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_wayland_display_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_16\n!void gdk_wayland_display_set_cursor_theme (GdkDisplay *display, const char *name, int size);\nsubroutine gdk_wayland_display_set_cursor_theme(display, name, size) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: display\n  character(kind=c_char), dimension(*) :: name\n  integer(c_int), value :: size\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!const char * gdk_wayland_display_get_startup_notification_id (GdkDisplay *display);\nfunction gdk_wayland_display_get_startup_notification_id(display) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_wayland_display_get_startup_notification_id\n  type(c_ptr), value :: display\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(gdk_toplevel_set_startup_id)\n!void gdk_wayland_display_set_startup_notification_id (GdkDisplay *display, const char *startup_id);\nsubroutine gdk_wayland_display_set_startup_notification_id(display, startup_id)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: display\n  character(kind=c_char), dimension(*) :: startup_id\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_wayland_display_query_registry (GdkDisplay *display, const char *global);\nfunction gdk_wayland_display_query_registry(display, global) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gdk_wayland_display_query_registry\n  type(c_ptr), value :: display\n  character(kind=c_char), dimension(*) :: global\nend function\n\n! GDK_AVAILABLE_IN_4_4\n!gpointer gdk_wayland_display_get_egl_display (GdkDisplay *display);\nfunction gdk_wayland_display_get_egl_display(display) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_wayland_display_get_egl_display\n  type(c_ptr), value :: display\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/wayland/gdkwaylandglcontext.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_wayland_gl_context_get_type (void) ;\nfunction gdk_wayland_gl_context_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_wayland_gl_context_get_type\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/wayland/gdkwaylandmonitor.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_wayland_monitor_get_type (void) ;\nfunction gdk_wayland_monitor_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_wayland_monitor_get_type\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/wayland/gdkwaylandpopup.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_wayland_popup_get_type (void);\nfunction gdk_wayland_popup_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_wayland_popup_get_type\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/wayland/gdkwaylandseat.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_wayland_seat_get_type (void) ;\nfunction gdk_wayland_seat_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_wayland_seat_get_type\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/wayland/gdkwaylandsurface.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_wayland_surface_get_type (void);\nfunction gdk_wayland_surface_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_wayland_surface_get_type\nend function\n\n! GDK_AVAILABLE_IN_4_18\n!void gdk_wayland_surface_force_next_commit (GdkSurface *surface);\nsubroutine gdk_wayland_surface_force_next_commit(surface) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: surface\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/wayland/gdkwaylandtoplevel.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_wayland_toplevel_get_type (void);\nfunction gdk_wayland_toplevel_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_wayland_toplevel_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_wayland_toplevel_export_handle (GdkToplevel *toplevel, GdkWaylandToplevelExported callback, gpointer user_data, GDestroyNotify destroy_func);\nfunction gdk_wayland_toplevel_export_handle(toplevel, callback, user_data,&\n& destroy_func) bind(c)\n  import :: c_int, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: gdk_wayland_toplevel_export_handle\n  type(c_ptr), value :: toplevel\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: destroy_func\nend function\n\n! GDK_DEPRECATED_IN_4_12_FOR(gdk_wayland_toplevel_drop_exported_handle)\n!void gdk_wayland_toplevel_unexport_handle (GdkToplevel *toplevel);\nsubroutine gdk_wayland_toplevel_unexport_handle(toplevel) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: toplevel\nend subroutine\n\n! GDK_AVAILABLE_IN_4_12\n!void gdk_wayland_toplevel_drop_exported_handle (GdkToplevel *toplevel, const char *handle);\nsubroutine gdk_wayland_toplevel_drop_exported_handle(toplevel, handle) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: toplevel\n  character(kind=c_char), dimension(*) :: handle\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gdk_wayland_toplevel_set_transient_for_exported (GdkToplevel *toplevel, const char *parent_handle_str);\nfunction gdk_wayland_toplevel_set_transient_for_exported(toplevel,&\n& parent_handle_str) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gdk_wayland_toplevel_set_transient_for_exported\n  type(c_ptr), value :: toplevel\n  character(kind=c_char), dimension(*) :: parent_handle_str\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gdk_wayland_toplevel_set_application_id (GdkToplevel *toplevel, const char *application_id);\nsubroutine gdk_wayland_toplevel_set_application_id(toplevel, application_id)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: toplevel\n  character(kind=c_char), dimension(*) :: application_id\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/x11/gdkx-autocleanups.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/x11/gdkx.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/x11/gdkx11applaunchcontext.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_x11_app_launch_context_get_type (void);\nfunction gdk_x11_app_launch_context_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_x11_app_launch_context_get_type\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/x11/gdkx11device-xi2.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_x11_device_xi2_get_type (void) ;\nfunction gdk_x11_device_xi2_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_x11_device_xi2_get_type\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/x11/gdkx11device.h\n!--------------------------------------------------\n! GDK_DEPRECATED_IN_4_18\n!int gdk_x11_device_get_id (GdkDevice *device);\nfunction gdk_x11_device_get_id(device) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_x11_device_get_id\n  type(c_ptr), value :: device\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/x11/gdkx11devicemanager-xi2.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_x11_device_manager_xi2_get_type (void) ;\nfunction gdk_x11_device_manager_xi2_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_x11_device_manager_xi2_get_type\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/x11/gdkx11devicemanager.h\n!--------------------------------------------------\n! GDK_DEPRECATED_IN_4_18\n!GdkDevice * gdk_x11_device_manager_lookup (GdkX11DeviceManagerXI2 *device_manager, int device_id);\nfunction gdk_x11_device_manager_lookup(device_manager, device_id) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gdk_x11_device_manager_lookup\n  type(c_ptr), value :: device_manager\n  integer(c_int), value :: device_id\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/x11/gdkx11display.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_x11_display_get_type (void);\nfunction gdk_x11_display_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_x11_display_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_18\n!GdkDisplay * gdk_x11_display_open (const char *display_name);\nfunction gdk_x11_display_open(display_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gdk_x11_display_open\n  character(kind=c_char), dimension(*) :: display_name\nend function\n\n! GDK_DEPRECATED_IN_4_18\n!Display * gdk_x11_display_get_xdisplay (GdkDisplay *display);\nfunction gdk_x11_display_get_xdisplay(display) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_x11_display_get_xdisplay\n  type(c_ptr), value :: display\nend function\n\n! GDK_DEPRECATED_IN_4_18\n!Screen * gdk_x11_display_get_xscreen (GdkDisplay *display);\nfunction gdk_x11_display_get_xscreen(display) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_x11_display_get_xscreen\n  type(c_ptr), value :: display\nend function\n\n! GDK_DEPRECATED_IN_4_18\n!Window gdk_x11_display_get_xrootwindow (GdkDisplay *display);\nfunction gdk_x11_display_get_xrootwindow(display) bind(c)\n  import :: c_long, c_ptr\n  implicit none\n  integer(c_long) :: gdk_x11_display_get_xrootwindow\n  type(c_ptr), value :: display\nend function\n\n! GDK_DEPRECATED_IN_4_18\n!Cursor gdk_x11_display_get_xcursor (GdkDisplay *display, GdkCursor *cursor);\nfunction gdk_x11_display_get_xcursor(display, cursor) bind(c)\n  import :: c_long, c_ptr\n  implicit none\n  integer(c_long) :: gdk_x11_display_get_xcursor\n  type(c_ptr), value :: display\n  type(c_ptr), value :: cursor\nend function\n\n! GDK_DEPRECATED_IN_4_18\n!guint32 gdk_x11_display_get_user_time (GdkDisplay *display);\nfunction gdk_x11_display_get_user_time(display) bind(c)\n  import :: c_int32_t, c_ptr\n  implicit none\n  integer(c_int32_t) :: gdk_x11_display_get_user_time\n  type(c_ptr), value :: display\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!const char * gdk_x11_display_get_startup_notification_id (GdkDisplay *display);\nfunction gdk_x11_display_get_startup_notification_id(display) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_x11_display_get_startup_notification_id\n  type(c_ptr), value :: display\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gdk_x11_display_set_startup_notification_id (GdkDisplay *display, const char *startup_id);\nsubroutine gdk_x11_display_set_startup_notification_id(display, startup_id)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: display\n  character(kind=c_char), dimension(*) :: startup_id\nend subroutine\n\n! GDK_DEPRECATED_IN_4_18\n!void gdk_x11_display_set_program_class (GdkDisplay *display, const char *program_class);\nsubroutine gdk_x11_display_set_program_class(display, program_class) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: display\n  character(kind=c_char), dimension(*) :: program_class\nend subroutine\n\n! GDK_DEPRECATED_IN_4_16\n!void gdk_x11_display_set_cursor_theme (GdkDisplay *display, const char *theme, const int size);\nsubroutine gdk_x11_display_set_cursor_theme(display, theme, size) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: display\n  character(kind=c_char), dimension(*) :: theme\n  integer(c_int), value :: size\nend subroutine\n\n! GDK_DEPRECATED_IN_4_18\n!GdkDisplay *gdk_x11_lookup_xdisplay (Display *xdisplay);\nfunction gdk_x11_lookup_xdisplay(xdisplay) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_x11_lookup_xdisplay\n  type(c_ptr), value :: xdisplay\nend function\n\n! GDK_DEPRECATED_IN_4_18\n!GdkX11Screen *gdk_x11_display_get_screen (GdkDisplay *display);\nfunction gdk_x11_display_get_screen(display) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_x11_display_get_screen\n  type(c_ptr), value :: display\nend function\n\n! GDK_DEPRECATED_IN_4_18\n!GdkMonitor * gdk_x11_display_get_primary_monitor (GdkDisplay *display);\nfunction gdk_x11_display_get_primary_monitor(display) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_x11_display_get_primary_monitor\n  type(c_ptr), value :: display\nend function\n\n! GDK_DEPRECATED_IN_4_18\n!void gdk_x11_display_grab (GdkDisplay *display);\nsubroutine gdk_x11_display_grab(display) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: display\nend subroutine\n\n! GDK_DEPRECATED_IN_4_18\n!void gdk_x11_display_ungrab (GdkDisplay *display);\nsubroutine gdk_x11_display_ungrab(display) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: display\nend subroutine\n\n! GDK_DEPRECATED_IN_4_18\n!void gdk_x11_display_set_surface_scale (GdkDisplay *display, int scale);\nsubroutine gdk_x11_display_set_surface_scale(display, scale) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: display\n  integer(c_int), value :: scale\nend subroutine\n\n! GDK_DEPRECATED_IN_4_18\n!void gdk_x11_display_error_trap_push (GdkDisplay *display);\nsubroutine gdk_x11_display_error_trap_push(display) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: display\nend subroutine\n\n! GDK_DEPRECATED_IN_4_18\n!int gdk_x11_display_error_trap_pop (GdkDisplay *display);\nfunction gdk_x11_display_error_trap_pop(display) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_x11_display_error_trap_pop\n  type(c_ptr), value :: display\nend function\n\n! GDK_DEPRECATED_IN_4_18\n!void gdk_x11_display_error_trap_pop_ignored (GdkDisplay *display);\nsubroutine gdk_x11_display_error_trap_pop_ignored(display) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: display\nend subroutine\n\n! GDK_DEPRECATED_IN_4_18\n!void gdk_x11_set_sm_client_id (const char *sm_client_id);\nsubroutine gdk_x11_set_sm_client_id(sm_client_id) bind(c)\n  import :: c_char\n  implicit none\n  character(kind=c_char), dimension(*) :: sm_client_id\nend subroutine\n\n! GDK_DEPRECATED_IN_4_18\n!GdkSurface * gdk_x11_display_get_default_group (GdkDisplay *display);\nfunction gdk_x11_display_get_default_group(display) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_x11_display_get_default_group\n  type(c_ptr), value :: display\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/x11/gdkx11dnd.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_x11_drag_get_type (void);\nfunction gdk_x11_drag_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_x11_drag_get_type\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/x11/gdkx11glcontext.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_x11_gl_context_get_type (void) ;\nfunction gdk_x11_gl_context_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_x11_gl_context_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_18\n!gboolean gdk_x11_display_get_glx_version (GdkDisplay *display, int *major, int *minor);\nfunction gdk_x11_display_get_glx_version(display, major, minor) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_x11_display_get_glx_version\n  type(c_ptr), value :: display\n  type(c_ptr), value :: major\n  type(c_ptr), value :: minor\nend function\n\n! GDK_DEPRECATED_IN_4_18\n!gboolean gdk_x11_display_get_egl_version (GdkDisplay *display, int *major, int *minor);\nfunction gdk_x11_display_get_egl_version(display, major, minor) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_x11_display_get_egl_version\n  type(c_ptr), value :: display\n  type(c_ptr), value :: major\n  type(c_ptr), value :: minor\nend function\n\n! GDK_DEPRECATED_IN_4_18\n!gpointer gdk_x11_display_get_egl_display (GdkDisplay *display);\nfunction gdk_x11_display_get_egl_display(display) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_x11_display_get_egl_display\n  type(c_ptr), value :: display\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/x11/gdkx11monitor.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_x11_monitor_get_type (void) ;\nfunction gdk_x11_monitor_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_x11_monitor_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_18\n!XID gdk_x11_monitor_get_output (GdkMonitor *monitor);\nfunction gdk_x11_monitor_get_output(monitor) bind(c)\n  import :: c_long, c_ptr\n  implicit none\n  integer(c_long) :: gdk_x11_monitor_get_output\n  type(c_ptr), value :: monitor\nend function\n\n! GDK_DEPRECATED_IN_4_18\n!void gdk_x11_monitor_get_workarea (GdkMonitor *monitor, GdkRectangle *workarea);\nsubroutine gdk_x11_monitor_get_workarea(monitor, workarea) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: monitor\n  type(c_ptr), value :: workarea\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/x11/gdkx11property.h\n!--------------------------------------------------\n! GDK_DEPRECATED_IN_4_18\n!Atom gdk_x11_get_xatom_by_name_for_display (GdkDisplay *display, const char *atom_name);\nfunction gdk_x11_get_xatom_by_name_for_display(display, atom_name) bind(c)\n  import :: c_long, c_ptr, c_char\n  implicit none\n  integer(c_long) :: gdk_x11_get_xatom_by_name_for_display\n  type(c_ptr), value :: display\n  character(kind=c_char), dimension(*) :: atom_name\nend function\n\n! GDK_DEPRECATED_IN_4_18\n!const char * gdk_x11_get_xatom_name_for_display (GdkDisplay *display, Atom xatom);\nfunction gdk_x11_get_xatom_name_for_display(display, xatom) bind(c)\n  import :: c_ptr, c_long\n  implicit none\n  type(c_ptr) :: gdk_x11_get_xatom_name_for_display\n  type(c_ptr), value :: display\n  integer(c_long), value :: xatom\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/x11/gdkx11screen.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_x11_screen_get_type (void);\nfunction gdk_x11_screen_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_x11_screen_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_18\n!Screen * gdk_x11_screen_get_xscreen (GdkX11Screen *screen);\nfunction gdk_x11_screen_get_xscreen(screen) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_x11_screen_get_xscreen\n  type(c_ptr), value :: screen\nend function\n\n! GDK_DEPRECATED_IN_4_18\n!int gdk_x11_screen_get_screen_number (GdkX11Screen *screen);\nfunction gdk_x11_screen_get_screen_number(screen) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_x11_screen_get_screen_number\n  type(c_ptr), value :: screen\nend function\n\n! GDK_DEPRECATED_IN_4_18\n!const char* gdk_x11_screen_get_window_manager_name (GdkX11Screen *screen);\nfunction gdk_x11_screen_get_window_manager_name(screen) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_x11_screen_get_window_manager_name\n  type(c_ptr), value :: screen\nend function\n\n! GDK_DEPRECATED_IN_4_18\n!gboolean gdk_x11_screen_supports_net_wm_hint (GdkX11Screen *screen, const char *property_name);\nfunction gdk_x11_screen_supports_net_wm_hint(screen, property_name) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gdk_x11_screen_supports_net_wm_hint\n  type(c_ptr), value :: screen\n  character(kind=c_char), dimension(*) :: property_name\nend function\n\n! GDK_DEPRECATED_IN_4_18\n!XID gdk_x11_screen_get_monitor_output (GdkX11Screen *screen, int monitor_num);\nfunction gdk_x11_screen_get_monitor_output(screen, monitor_num) bind(c)\n  import :: c_long, c_ptr, c_int\n  implicit none\n  integer(c_long) :: gdk_x11_screen_get_monitor_output\n  type(c_ptr), value :: screen\n  integer(c_int), value :: monitor_num\nend function\n\n! GDK_DEPRECATED_IN_4_18\n!guint32 gdk_x11_screen_get_number_of_desktops (GdkX11Screen *screen);\nfunction gdk_x11_screen_get_number_of_desktops(screen) bind(c)\n  import :: c_int32_t, c_ptr\n  implicit none\n  integer(c_int32_t) :: gdk_x11_screen_get_number_of_desktops\n  type(c_ptr), value :: screen\nend function\n\n! GDK_DEPRECATED_IN_4_18\n!guint32 gdk_x11_screen_get_current_desktop (GdkX11Screen *screen);\nfunction gdk_x11_screen_get_current_desktop(screen) bind(c)\n  import :: c_int32_t, c_ptr\n  implicit none\n  integer(c_int32_t) :: gdk_x11_screen_get_current_desktop\n  type(c_ptr), value :: screen\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/x11/gdkx11selection.h\n!--------------------------------------------------\n! GDK_DEPRECATED_IN_4_18\n!int gdk_x11_display_text_property_to_text_list (GdkDisplay *display, const char *encoding, int format, const guchar *text, int length, char ***list);\nfunction gdk_x11_display_text_property_to_text_list(display, encoding, format,&\n& text, length, list) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gdk_x11_display_text_property_to_text_list\n  type(c_ptr), value :: display\n  character(kind=c_char), dimension(*) :: encoding\n  integer(c_int), value :: format\n  character(kind=c_char), dimension(*) :: text\n  integer(c_int), value :: length\n  type(c_ptr), dimension(*) :: list\nend function\n\n! GDK_DEPRECATED_IN_4_18\n!void gdk_x11_free_text_list (char **list);\nsubroutine gdk_x11_free_text_list(list) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), dimension(*) :: list\nend subroutine\n\n! GDK_DEPRECATED_IN_4_18\n!int gdk_x11_display_string_to_compound_text (GdkDisplay *display, const char *str, const char **encoding, int *format, guchar **ctext, int *length);\nfunction gdk_x11_display_string_to_compound_text(display, str, encoding,&\n& format, ctext, length) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gdk_x11_display_string_to_compound_text\n  type(c_ptr), value :: display\n  character(kind=c_char), dimension(*) :: str\n  type(c_ptr), dimension(*) :: encoding\n  type(c_ptr), value :: format\n  type(c_ptr), dimension(*) :: ctext\n  type(c_ptr), value :: length\nend function\n\n! GDK_DEPRECATED_IN_4_18\n!gboolean gdk_x11_display_utf8_to_compound_text (GdkDisplay *display, const char *str, const char **encoding, int *format, guchar **ctext, int *length);\nfunction gdk_x11_display_utf8_to_compound_text(display, str, encoding, format,&\n& ctext, length) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gdk_x11_display_utf8_to_compound_text\n  type(c_ptr), value :: display\n  character(kind=c_char), dimension(*) :: str\n  type(c_ptr), dimension(*) :: encoding\n  type(c_ptr), value :: format\n  type(c_ptr), dimension(*) :: ctext\n  type(c_ptr), value :: length\nend function\n\n! GDK_DEPRECATED_IN_4_18\n!void gdk_x11_free_compound_text (guchar *ctext);\nsubroutine gdk_x11_free_compound_text(ctext) bind(c)\n  import :: c_char\n  implicit none\n  character(kind=c_char), dimension(*) :: ctext\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/x11/gdkx11surface.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gdk_x11_surface_get_type (void);\nfunction gdk_x11_surface_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_x11_surface_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_18\n!Window gdk_x11_surface_get_xid (GdkSurface *surface);\nfunction gdk_x11_surface_get_xid(surface) bind(c)\n  import :: c_long, c_ptr\n  implicit none\n  integer(c_long) :: gdk_x11_surface_get_xid\n  type(c_ptr), value :: surface\nend function\n\n! GDK_DEPRECATED_IN_4_18\n!void gdk_x11_surface_set_user_time (GdkSurface *surface, guint32 timestamp);\nsubroutine gdk_x11_surface_set_user_time(surface, timestamp) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr), value :: surface\n  integer(c_int32_t), value :: timestamp\nend subroutine\n\n! GDK_DEPRECATED_IN_4_18\n!void gdk_x11_surface_set_utf8_property (GdkSurface *surface, const char *name, const char *value);\nsubroutine gdk_x11_surface_set_utf8_property(surface, name, value) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: surface\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: value\nend subroutine\n\n! GDK_DEPRECATED_IN_4_18\n!void gdk_x11_surface_set_theme_variant (GdkSurface *surface, const char *variant);\nsubroutine gdk_x11_surface_set_theme_variant(surface, variant) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: surface\n  character(kind=c_char), dimension(*) :: variant\nend subroutine\n\n! GDK_DEPRECATED_IN_4_18\n!void gdk_x11_surface_move_to_current_desktop (GdkSurface *surface);\nsubroutine gdk_x11_surface_move_to_current_desktop(surface) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: surface\nend subroutine\n\n! GDK_DEPRECATED_IN_4_18\n!guint32 gdk_x11_surface_get_desktop (GdkSurface *surface);\nfunction gdk_x11_surface_get_desktop(surface) bind(c)\n  import :: c_int32_t, c_ptr\n  implicit none\n  integer(c_int32_t) :: gdk_x11_surface_get_desktop\n  type(c_ptr), value :: surface\nend function\n\n! GDK_DEPRECATED_IN_4_18\n!void gdk_x11_surface_move_to_desktop (GdkSurface *surface, guint32 desktop);\nsubroutine gdk_x11_surface_move_to_desktop(surface, desktop) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr), value :: surface\n  integer(c_int32_t), value :: desktop\nend subroutine\n\n! GDK_DEPRECATED_IN_4_18\n!void gdk_x11_surface_set_frame_sync_enabled (GdkSurface *surface, gboolean frame_sync_enabled);\nsubroutine gdk_x11_surface_set_frame_sync_enabled(surface, frame_sync_enabled)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: surface\n  integer(c_int), value :: frame_sync_enabled\nend subroutine\n\n! GDK_DEPRECATED_IN_4_18\n!guint32 gdk_x11_get_server_time (GdkSurface *surface);\nfunction gdk_x11_get_server_time(surface) bind(c)\n  import :: c_int32_t, c_ptr\n  implicit none\n  integer(c_int32_t) :: gdk_x11_get_server_time\n  type(c_ptr), value :: surface\nend function\n\n! GDK_DEPRECATED_IN_4_18\n!GdkSurface *gdk_x11_surface_lookup_for_display (GdkDisplay *display, Window window);\nfunction gdk_x11_surface_lookup_for_display(display, window) bind(c)\n  import :: c_ptr, c_long\n  implicit none\n  type(c_ptr) :: gdk_x11_surface_lookup_for_display\n  type(c_ptr), value :: display\n  integer(c_long), value :: window\nend function\n\n! GDK_DEPRECATED_IN_4_18\n!void gdk_x11_surface_set_skip_taskbar_hint (GdkSurface *surface, gboolean skips_taskbar);\nsubroutine gdk_x11_surface_set_skip_taskbar_hint(surface, skips_taskbar)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: surface\n  integer(c_int), value :: skips_taskbar\nend subroutine\n\n! GDK_DEPRECATED_IN_4_18\n!void gdk_x11_surface_set_skip_pager_hint (GdkSurface *surface, gboolean skips_pager);\nsubroutine gdk_x11_surface_set_skip_pager_hint(surface, skips_pager) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: surface\n  integer(c_int), value :: skips_pager\nend subroutine\n\n! GDK_DEPRECATED_IN_4_18\n!void gdk_x11_surface_set_urgency_hint (GdkSurface *surface, gboolean urgent);\nsubroutine gdk_x11_surface_set_urgency_hint(surface, urgent) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: surface\n  integer(c_int), value :: urgent\nend subroutine\n\n! GDK_DEPRECATED_IN_4_18\n!void gdk_x11_surface_set_group (GdkSurface *surface, GdkSurface *leader);\nsubroutine gdk_x11_surface_set_group(surface, leader) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: surface\n  type(c_ptr), value :: leader\nend subroutine\n\n! GDK_DEPRECATED_IN_4_18\n!GdkSurface * gdk_x11_surface_get_group (GdkSurface *surface);\nfunction gdk_x11_surface_get_group(surface) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_x11_surface_get_group\n  type(c_ptr), value :: surface\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gdk/x11/gdkx11utils.h\n!--------------------------------------------------\nend interface\nend module gdk\n"
  },
  {
    "path": "src/gdk-pixbuf-auto.f90",
    "content": "! Do not modify this file automatically generated by cfwrapper.py using:\n! gtk-fortran 4.9.0, GTK 4.20.2, GLib 2.86.1, Fedora 43 x86_64\n! This file is part of the gtk-fortran library, distributed under\n! GNU General Public License version 3.\n\nmodule gdk_pixbuf\nuse, intrinsic :: iso_c_binding\nimplicit none\ninterface\n\n!--------------------------------------------------\n! /usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h\n!--------------------------------------------------\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!GType gdk_pixbuf_animation_get_type (void) ;\nfunction gdk_pixbuf_animation_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_pixbuf_animation_get_type\nend function\n\n! GDK_PIXBUF_DEPRECATED_IN_2_44\n!GdkPixbufAnimation *gdk_pixbuf_animation_new_from_file_utf8 (const char *filename, GError **error);\nfunction gdk_pixbuf_animation_new_from_file_utf8(filename, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_animation_new_from_file_utf8\n  character(kind=c_char), dimension(*) :: filename\n  type(c_ptr), value :: error\nend function\n\n! GDK_PIXBUF_DEPRECATED_IN_2_44\n!GdkPixbufAnimation *gdk_pixbuf_animation_new_from_file (const char *filename, GError **error);\nfunction gdk_pixbuf_animation_new_from_file(filename, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_animation_new_from_file\n  character(kind=c_char), dimension(*) :: filename\n  type(c_ptr), value :: error\nend function\n\n! GDK_PIXBUF_DEPRECATED_IN_2_44\n!GdkPixbufAnimation *gdk_pixbuf_animation_new_from_stream (GInputStream *stream, GCancellable *cancellable, GError **error);\nfunction gdk_pixbuf_animation_new_from_stream(stream, cancellable, error)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_animation_new_from_stream\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GDK_PIXBUF_DEPRECATED_IN_2_44\n!void gdk_pixbuf_animation_new_from_stream_async (GInputStream *stream, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine gdk_pixbuf_animation_new_from_stream_async(stream, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GDK_PIXBUF_DEPRECATED_IN_2_44\n!GdkPixbufAnimation *gdk_pixbuf_animation_new_from_stream_finish (GAsyncResult*async_result, GError **error);\nfunction gdk_pixbuf_animation_new_from_stream_finish(async_result, error)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_animation_new_from_stream_finish\n  type(c_ptr), value :: async_result\n  type(c_ptr), value :: error\nend function\n\n! GDK_PIXBUF_DEPRECATED_IN_2_44\n!GdkPixbufAnimation *gdk_pixbuf_animation_new_from_resource(const char *resource_path, GError **error);\nfunction gdk_pixbuf_animation_new_from_resource(resource_path, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_animation_new_from_resource\n  character(kind=c_char), dimension(*) :: resource_path\n  type(c_ptr), value :: error\nend function\n\n! GDK_PIXBUF_DEPRECATED_IN_2_0_FOR(g_object_ref)\n!GdkPixbufAnimation *gdk_pixbuf_animation_ref (GdkPixbufAnimation *animation);\nfunction gdk_pixbuf_animation_ref(animation) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_animation_ref\n  type(c_ptr), value :: animation\nend function\n\n! GDK_PIXBUF_DEPRECATED_IN_2_0_FOR(g_object_unref)\n!void gdk_pixbuf_animation_unref (GdkPixbufAnimation *animation);\nsubroutine gdk_pixbuf_animation_unref(animation) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: animation\nend subroutine\n\n! GDK_PIXBUF_DEPRECATED_IN_2_44\n!int gdk_pixbuf_animation_get_width (GdkPixbufAnimation *animation);\nfunction gdk_pixbuf_animation_get_width(animation) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_pixbuf_animation_get_width\n  type(c_ptr), value :: animation\nend function\n\n! GDK_PIXBUF_DEPRECATED_IN_2_44\n!int gdk_pixbuf_animation_get_height (GdkPixbufAnimation *animation);\nfunction gdk_pixbuf_animation_get_height(animation) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_pixbuf_animation_get_height\n  type(c_ptr), value :: animation\nend function\n\n! GDK_PIXBUF_DEPRECATED_IN_2_44\n!gboolean gdk_pixbuf_animation_is_static_image (GdkPixbufAnimation *animation);\nfunction gdk_pixbuf_animation_is_static_image(animation) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_pixbuf_animation_is_static_image\n  type(c_ptr), value :: animation\nend function\n\n! GDK_PIXBUF_DEPRECATED_IN_2_44\n!GdkPixbuf *gdk_pixbuf_animation_get_static_image (GdkPixbufAnimation *animation);\nfunction gdk_pixbuf_animation_get_static_image(animation) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_animation_get_static_image\n  type(c_ptr), value :: animation\nend function\n\n! GDK_PIXBUF_DEPRECATED_IN_2_44\n!GdkPixbufAnimationIter *gdk_pixbuf_animation_get_iter (GdkPixbufAnimation *animation, const GTimeVal *start_time);\nfunction gdk_pixbuf_animation_get_iter(animation, start_time) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_animation_get_iter\n  type(c_ptr), value :: animation\n  type(c_ptr), value :: start_time\nend function\n\n! GDK_PIXBUF_DEPRECATED_IN_2_44\n!GType gdk_pixbuf_animation_iter_get_type (void) ;\nfunction gdk_pixbuf_animation_iter_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_pixbuf_animation_iter_get_type\nend function\n\n! GDK_PIXBUF_DEPRECATED_IN_2_44\n!int gdk_pixbuf_animation_iter_get_delay_time (GdkPixbufAnimationIter *iter);\nfunction gdk_pixbuf_animation_iter_get_delay_time(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_pixbuf_animation_iter_get_delay_time\n  type(c_ptr), value :: iter\nend function\n\n! GDK_PIXBUF_DEPRECATED_IN_2_44\n!GdkPixbuf *gdk_pixbuf_animation_iter_get_pixbuf (GdkPixbufAnimationIter *iter);\nfunction gdk_pixbuf_animation_iter_get_pixbuf(iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_animation_iter_get_pixbuf\n  type(c_ptr), value :: iter\nend function\n\n! GDK_PIXBUF_DEPRECATED_IN_2_44\n!gboolean gdk_pixbuf_animation_iter_on_currently_loading_frame (GdkPixbufAnimationIter *iter);\nfunction gdk_pixbuf_animation_iter_on_currently_loading_frame(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_pixbuf_animation_iter_on_currently_loading_frame\n  type(c_ptr), value :: iter\nend function\n\n! GDK_PIXBUF_DEPRECATED_IN_2_44\n!gboolean gdk_pixbuf_animation_iter_advance (GdkPixbufAnimationIter *iter, const GTimeVal *current_time);\nfunction gdk_pixbuf_animation_iter_advance(iter, current_time) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_pixbuf_animation_iter_advance\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: current_time\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!GType gdk_pixbuf_non_anim_get_type (void) ;\nfunction gdk_pixbuf_non_anim_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_pixbuf_non_anim_get_type\nend function\n\n! GDK_PIXBUF_DEPRECATED_IN_2_44\n!GdkPixbufAnimation* gdk_pixbuf_non_anim_new (GdkPixbuf *pixbuf);\nfunction gdk_pixbuf_non_anim_new(pixbuf) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_non_anim_new\n  type(c_ptr), value :: pixbuf\nend function\n\n!--------------------------------------------------\n! /usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h\n!--------------------------------------------------\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!GQuark gdk_pixbuf_error_quark (void);\nfunction gdk_pixbuf_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: gdk_pixbuf_error_quark\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!GType gdk_pixbuf_get_type (void) ;\nfunction gdk_pixbuf_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_pixbuf_get_type\nend function\n\n! GDK_PIXBUF_DEPRECATED_IN_2_0_FOR(g_object_ref)\n!GdkPixbuf *gdk_pixbuf_ref (GdkPixbuf *pixbuf);\nfunction gdk_pixbuf_ref(pixbuf) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_ref\n  type(c_ptr), value :: pixbuf\nend function\n\n! GDK_PIXBUF_DEPRECATED_IN_2_0_FOR(g_object_unref)\n!void gdk_pixbuf_unref (GdkPixbuf *pixbuf);\nsubroutine gdk_pixbuf_unref(pixbuf) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: pixbuf\nend subroutine\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!GdkColorspace gdk_pixbuf_get_colorspace (const GdkPixbuf *pixbuf);\nfunction gdk_pixbuf_get_colorspace(pixbuf) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_pixbuf_get_colorspace\n  type(c_ptr), value :: pixbuf\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!int gdk_pixbuf_get_n_channels (const GdkPixbuf *pixbuf);\nfunction gdk_pixbuf_get_n_channels(pixbuf) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_pixbuf_get_n_channels\n  type(c_ptr), value :: pixbuf\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!gboolean gdk_pixbuf_get_has_alpha (const GdkPixbuf *pixbuf);\nfunction gdk_pixbuf_get_has_alpha(pixbuf) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_pixbuf_get_has_alpha\n  type(c_ptr), value :: pixbuf\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!int gdk_pixbuf_get_bits_per_sample (const GdkPixbuf *pixbuf);\nfunction gdk_pixbuf_get_bits_per_sample(pixbuf) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_pixbuf_get_bits_per_sample\n  type(c_ptr), value :: pixbuf\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!guchar *gdk_pixbuf_get_pixels (const GdkPixbuf *pixbuf);\nfunction gdk_pixbuf_get_pixels(pixbuf) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_get_pixels\n  type(c_ptr), value :: pixbuf\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!int gdk_pixbuf_get_width (const GdkPixbuf *pixbuf);\nfunction gdk_pixbuf_get_width(pixbuf) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_pixbuf_get_width\n  type(c_ptr), value :: pixbuf\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!int gdk_pixbuf_get_height (const GdkPixbuf *pixbuf);\nfunction gdk_pixbuf_get_height(pixbuf) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_pixbuf_get_height\n  type(c_ptr), value :: pixbuf\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!int gdk_pixbuf_get_rowstride (const GdkPixbuf *pixbuf);\nfunction gdk_pixbuf_get_rowstride(pixbuf) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_pixbuf_get_rowstride\n  type(c_ptr), value :: pixbuf\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_2_26\n!gsize gdk_pixbuf_get_byte_length (const GdkPixbuf *pixbuf);\nfunction gdk_pixbuf_get_byte_length(pixbuf) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: gdk_pixbuf_get_byte_length\n  type(c_ptr), value :: pixbuf\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_2_26\n!guchar *gdk_pixbuf_get_pixels_with_length (const GdkPixbuf *pixbuf, guint *length);\nfunction gdk_pixbuf_get_pixels_with_length(pixbuf, length) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_get_pixels_with_length\n  type(c_ptr), value :: pixbuf\n  type(c_ptr), value :: length\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_2_32\n!const guint8* gdk_pixbuf_read_pixels (const GdkPixbuf *pixbuf);\nfunction gdk_pixbuf_read_pixels(pixbuf) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_read_pixels\n  type(c_ptr), value :: pixbuf\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_2_32\n!GBytes * gdk_pixbuf_read_pixel_bytes (const GdkPixbuf *pixbuf);\nfunction gdk_pixbuf_read_pixel_bytes(pixbuf) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_read_pixel_bytes\n  type(c_ptr), value :: pixbuf\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!GdkPixbuf *gdk_pixbuf_new (GdkColorspace colorspace, gboolean has_alpha, int bits_per_sample, int width, int height);\nfunction gdk_pixbuf_new(colorspace, has_alpha, bits_per_sample, width, height)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_new\n  integer(c_int), value :: colorspace\n  integer(c_int), value :: has_alpha\n  integer(c_int), value :: bits_per_sample\n  integer(c_int), value :: width\n  integer(c_int), value :: height\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_2_36\n!gint gdk_pixbuf_calculate_rowstride (GdkColorspace colorspace, gboolean has_alpha, int bits_per_sample, int width, int height);\nfunction gdk_pixbuf_calculate_rowstride(colorspace, has_alpha, bits_per_sample,&\n& width, height) bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: gdk_pixbuf_calculate_rowstride\n  integer(c_int), value :: colorspace\n  integer(c_int), value :: has_alpha\n  integer(c_int), value :: bits_per_sample\n  integer(c_int), value :: width\n  integer(c_int), value :: height\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!GdkPixbuf *gdk_pixbuf_copy (const GdkPixbuf *pixbuf);\nfunction gdk_pixbuf_copy(pixbuf) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_copy\n  type(c_ptr), value :: pixbuf\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!GdkPixbuf *gdk_pixbuf_new_subpixbuf (GdkPixbuf *src_pixbuf, int src_x, int src_y, int width, int height);\nfunction gdk_pixbuf_new_subpixbuf(src_pixbuf, src_x, src_y, width, height)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_new_subpixbuf\n  type(c_ptr), value :: src_pixbuf\n  integer(c_int), value :: src_x\n  integer(c_int), value :: src_y\n  integer(c_int), value :: width\n  integer(c_int), value :: height\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!GdkPixbuf *gdk_pixbuf_new_from_file_utf8 (const char *filename, GError **error);\nfunction gdk_pixbuf_new_from_file_utf8(filename, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_new_from_file_utf8\n  character(kind=c_char), dimension(*) :: filename\n  type(c_ptr), value :: error\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_2_4\n!GdkPixbuf *gdk_pixbuf_new_from_file_at_size_utf8 (const char *filename, int width, int height, GError **error);\nfunction gdk_pixbuf_new_from_file_at_size_utf8(filename, width, height, error)&\n& bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_new_from_file_at_size_utf8\n  character(kind=c_char), dimension(*) :: filename\n  integer(c_int), value :: width\n  integer(c_int), value :: height\n  type(c_ptr), value :: error\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_2_6\n!GdkPixbuf *gdk_pixbuf_new_from_file_at_scale_utf8 (const char *filename, int width, int height, gboolean preserve_aspect_ratio, GError **error);\nfunction gdk_pixbuf_new_from_file_at_scale_utf8(filename, width, height,&\n& preserve_aspect_ratio, error) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_new_from_file_at_scale_utf8\n  character(kind=c_char), dimension(*) :: filename\n  integer(c_int), value :: width\n  integer(c_int), value :: height\n  integer(c_int), value :: preserve_aspect_ratio\n  type(c_ptr), value :: error\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!GdkPixbuf *gdk_pixbuf_new_from_file (const char *filename, GError **error);\nfunction gdk_pixbuf_new_from_file(filename, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_new_from_file\n  character(kind=c_char), dimension(*) :: filename\n  type(c_ptr), value :: error\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_2_4\n!GdkPixbuf *gdk_pixbuf_new_from_file_at_size (const char *filename, int width, int height, GError **error);\nfunction gdk_pixbuf_new_from_file_at_size(filename, width, height, error)&\n& bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_new_from_file_at_size\n  character(kind=c_char), dimension(*) :: filename\n  integer(c_int), value :: width\n  integer(c_int), value :: height\n  type(c_ptr), value :: error\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_2_6\n!GdkPixbuf *gdk_pixbuf_new_from_file_at_scale (const char *filename, int width, int height, gboolean preserve_aspect_ratio, GError **error);\nfunction gdk_pixbuf_new_from_file_at_scale(filename, width, height,&\n& preserve_aspect_ratio, error) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_new_from_file_at_scale\n  character(kind=c_char), dimension(*) :: filename\n  integer(c_int), value :: width\n  integer(c_int), value :: height\n  integer(c_int), value :: preserve_aspect_ratio\n  type(c_ptr), value :: error\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_2_26\n!GdkPixbuf *gdk_pixbuf_new_from_resource (const char *resource_path, GError **error);\nfunction gdk_pixbuf_new_from_resource(resource_path, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_new_from_resource\n  character(kind=c_char), dimension(*) :: resource_path\n  type(c_ptr), value :: error\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_2_26\n!GdkPixbuf *gdk_pixbuf_new_from_resource_at_scale (const char *resource_path, int width, int height, gboolean preserve_aspect_ratio, GError **error);\nfunction gdk_pixbuf_new_from_resource_at_scale(resource_path, width, height,&\n& preserve_aspect_ratio, error) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_new_from_resource_at_scale\n  character(kind=c_char), dimension(*) :: resource_path\n  integer(c_int), value :: width\n  integer(c_int), value :: height\n  integer(c_int), value :: preserve_aspect_ratio\n  type(c_ptr), value :: error\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!GdkPixbuf *gdk_pixbuf_new_from_data (const guchar *data, GdkColorspace colorspace, gboolean has_alpha, int bits_per_sample, int width, int height, int rowstride, GdkPixbufDestroyNotify destroy_fn, gpointer destroy_fn_data);\nfunction gdk_pixbuf_new_from_data(data, colorspace, has_alpha, bits_per_sample,&\n& width, height, rowstride, destroy_fn, destroy_fn_data) bind(c)\n  import :: c_ptr, c_char, c_int, c_funptr\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_new_from_data\n  character(kind=c_char), dimension(*) :: data\n  integer(c_int), value :: colorspace\n  integer(c_int), value :: has_alpha\n  integer(c_int), value :: bits_per_sample\n  integer(c_int), value :: width\n  integer(c_int), value :: height\n  integer(c_int), value :: rowstride\n  type(c_funptr), value :: destroy_fn\n  type(c_ptr), value :: destroy_fn_data\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_2_32\n!GdkPixbuf *gdk_pixbuf_new_from_bytes (GBytes *data, GdkColorspace colorspace, gboolean has_alpha, int bits_per_sample, int width, int height, int rowstride);\nfunction gdk_pixbuf_new_from_bytes(data, colorspace, has_alpha,&\n& bits_per_sample, width, height, rowstride) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_new_from_bytes\n  type(c_ptr), value :: data\n  integer(c_int), value :: colorspace\n  integer(c_int), value :: has_alpha\n  integer(c_int), value :: bits_per_sample\n  integer(c_int), value :: width\n  integer(c_int), value :: height\n  integer(c_int), value :: rowstride\nend function\n\n! GDK_PIXBUF_DEPRECATED_IN_2_44\n!GdkPixbuf *gdk_pixbuf_new_from_xpm_data (const char **data);\nfunction gdk_pixbuf_new_from_xpm_data(data) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_new_from_xpm_data\n  type(c_ptr), dimension(*) :: data\nend function\n\n! GDK_PIXBUF_DEPRECATED_IN_2_32\n!GdkPixbuf* gdk_pixbuf_new_from_inline (gint data_length, const guint8 *data, gboolean copy_pixels, GError **error);\nfunction gdk_pixbuf_new_from_inline(data_length, data, copy_pixels, error)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_new_from_inline\n  integer(c_int), value :: data_length\n  type(c_ptr), value :: data\n  integer(c_int), value :: copy_pixels\n  type(c_ptr), value :: error\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!void gdk_pixbuf_fill (GdkPixbuf *pixbuf, guint32 pixel);\nsubroutine gdk_pixbuf_fill(pixbuf, pixel) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr), value :: pixbuf\n  integer(c_int32_t), value :: pixel\nend subroutine\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!gboolean gdk_pixbuf_savev (GdkPixbuf *pixbuf, const char *filename, const char *type, char **option_keys, char **option_values, GError **error);\nfunction gdk_pixbuf_savev(pixbuf, filename, type, option_keys, option_values,&\n& error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gdk_pixbuf_savev\n  type(c_ptr), value :: pixbuf\n  character(kind=c_char), dimension(*) :: filename\n  character(kind=c_char), dimension(*) :: type\n  type(c_ptr), dimension(*) :: option_keys\n  type(c_ptr), dimension(*) :: option_values\n  type(c_ptr), value :: error\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!gboolean gdk_pixbuf_savev_utf8 (GdkPixbuf *pixbuf, const char *filename, const char *type, char **option_keys, char **option_values, GError **error);\nfunction gdk_pixbuf_savev_utf8(pixbuf, filename, type, option_keys,&\n& option_values, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gdk_pixbuf_savev_utf8\n  type(c_ptr), value :: pixbuf\n  character(kind=c_char), dimension(*) :: filename\n  character(kind=c_char), dimension(*) :: type\n  type(c_ptr), dimension(*) :: option_keys\n  type(c_ptr), dimension(*) :: option_values\n  type(c_ptr), value :: error\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_2_4\n!gboolean gdk_pixbuf_save_to_callbackv (GdkPixbuf *pixbuf, GdkPixbufSaveFunc save_func, gpointer user_data, const char *type, char **option_keys, char **option_values, GError **error);\nfunction gdk_pixbuf_save_to_callbackv(pixbuf, save_func, user_data, type,&\n& option_keys, option_values, error) bind(c)\n  import :: c_int, c_ptr, c_funptr, c_char\n  implicit none\n  integer(c_int) :: gdk_pixbuf_save_to_callbackv\n  type(c_ptr), value :: pixbuf\n  type(c_funptr), value :: save_func\n  type(c_ptr), value :: user_data\n  character(kind=c_char), dimension(*) :: type\n  type(c_ptr), dimension(*) :: option_keys\n  type(c_ptr), dimension(*) :: option_values\n  type(c_ptr), value :: error\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_2_4\n!gboolean gdk_pixbuf_save_to_bufferv (GdkPixbuf *pixbuf, gchar **buffer, gsize *buffer_size, const char *type, char **option_keys, char **option_values, GError **error);\nfunction gdk_pixbuf_save_to_bufferv(pixbuf, buffer, buffer_size, type,&\n& option_keys, option_values, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gdk_pixbuf_save_to_bufferv\n  type(c_ptr), value :: pixbuf\n  type(c_ptr), dimension(*) :: buffer\n  type(c_ptr), value :: buffer_size\n  character(kind=c_char), dimension(*) :: type\n  type(c_ptr), dimension(*) :: option_keys\n  type(c_ptr), dimension(*) :: option_values\n  type(c_ptr), value :: error\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_2_14\n!GdkPixbuf *gdk_pixbuf_new_from_stream (GInputStream *stream, GCancellable *cancellable, GError **error);\nfunction gdk_pixbuf_new_from_stream(stream, cancellable, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_new_from_stream\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!void gdk_pixbuf_new_from_stream_async (GInputStream *stream, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine gdk_pixbuf_new_from_stream_async(stream, cancellable, callback,&\n& user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!GdkPixbuf *gdk_pixbuf_new_from_stream_finish (GAsyncResult *async_result, GError **error);\nfunction gdk_pixbuf_new_from_stream_finish(async_result, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_new_from_stream_finish\n  type(c_ptr), value :: async_result\n  type(c_ptr), value :: error\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_2_14\n!GdkPixbuf *gdk_pixbuf_new_from_stream_at_scale (GInputStream *stream, gint width, gint height, gboolean preserve_aspect_ratio, GCancellable *cancellable, GError **error);\nfunction gdk_pixbuf_new_from_stream_at_scale(stream, width, height,&\n& preserve_aspect_ratio, cancellable, error) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_new_from_stream_at_scale\n  type(c_ptr), value :: stream\n  integer(c_int), value :: width\n  integer(c_int), value :: height\n  integer(c_int), value :: preserve_aspect_ratio\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!void gdk_pixbuf_new_from_stream_at_scale_async (GInputStream *stream, gint width, gint height, gboolean preserve_aspect_ratio, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine gdk_pixbuf_new_from_stream_at_scale_async(stream, width, height,&\n& preserve_aspect_ratio, cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: stream\n  integer(c_int), value :: width\n  integer(c_int), value :: height\n  integer(c_int), value :: preserve_aspect_ratio\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!gboolean gdk_pixbuf_save_to_stream_finish (GAsyncResult *async_result, GError **error);\nfunction gdk_pixbuf_save_to_stream_finish(async_result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_pixbuf_save_to_stream_finish\n  type(c_ptr), value :: async_result\n  type(c_ptr), value :: error\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_2_36\n!void gdk_pixbuf_save_to_streamv_async (GdkPixbuf *pixbuf, GOutputStream *stream, const gchar *type, gchar **option_keys, gchar **option_values, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine gdk_pixbuf_save_to_streamv_async(pixbuf, stream, type, option_keys,&\n& option_values, cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_char, c_funptr\n  implicit none\n  type(c_ptr), value :: pixbuf\n  type(c_ptr), value :: stream\n  character(kind=c_char), dimension(*) :: type\n  type(c_ptr), dimension(*) :: option_keys\n  type(c_ptr), dimension(*) :: option_values\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GDK_PIXBUF_AVAILABLE_IN_2_36\n!gboolean gdk_pixbuf_save_to_streamv (GdkPixbuf *pixbuf, GOutputStream *stream, const char *type, char **option_keys, char **option_values, GCancellable *cancellable, GError **error);\nfunction gdk_pixbuf_save_to_streamv(pixbuf, stream, type, option_keys,&\n& option_values, cancellable, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gdk_pixbuf_save_to_streamv\n  type(c_ptr), value :: pixbuf\n  type(c_ptr), value :: stream\n  character(kind=c_char), dimension(*) :: type\n  type(c_ptr), dimension(*) :: option_keys\n  type(c_ptr), dimension(*) :: option_values\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!GdkPixbuf *gdk_pixbuf_add_alpha (const GdkPixbuf *pixbuf, gboolean substitute_color, guchar r, guchar g, guchar b);\nfunction gdk_pixbuf_add_alpha(pixbuf, substitute_color, r, g, b) bind(c)\n  import :: c_ptr, c_int, c_int8_t\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_add_alpha\n  type(c_ptr), value :: pixbuf\n  integer(c_int), value :: substitute_color\n  integer(kind=c_int8_t), value :: r\n  integer(kind=c_int8_t), value :: g\n  integer(kind=c_int8_t), value :: b\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!void gdk_pixbuf_copy_area (const GdkPixbuf *src_pixbuf, int src_x, int src_y, int width, int height, GdkPixbuf *dest_pixbuf, int dest_x, int dest_y);\nsubroutine gdk_pixbuf_copy_area(src_pixbuf, src_x, src_y, width, height,&\n& dest_pixbuf, dest_x, dest_y) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: src_pixbuf\n  integer(c_int), value :: src_x\n  integer(c_int), value :: src_y\n  integer(c_int), value :: width\n  integer(c_int), value :: height\n  type(c_ptr), value :: dest_pixbuf\n  integer(c_int), value :: dest_x\n  integer(c_int), value :: dest_y\nend subroutine\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!void gdk_pixbuf_saturate_and_pixelate (const GdkPixbuf *src, GdkPixbuf *dest, gfloat saturation, gboolean pixelate);\nsubroutine gdk_pixbuf_saturate_and_pixelate(src, dest, saturation, pixelate)&\n& bind(c)\n  import :: c_ptr, c_float, c_int\n  implicit none\n  type(c_ptr), value :: src\n  type(c_ptr), value :: dest\n  real(c_float), value :: saturation\n  integer(c_int), value :: pixelate\nend subroutine\n\n! GDK_PIXBUF_AVAILABLE_IN_2_12\n!GdkPixbuf *gdk_pixbuf_apply_embedded_orientation (GdkPixbuf *src);\nfunction gdk_pixbuf_apply_embedded_orientation(src) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_apply_embedded_orientation\n  type(c_ptr), value :: src\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!gboolean gdk_pixbuf_set_option (GdkPixbuf *pixbuf, const gchar *key, const gchar *value);\nfunction gdk_pixbuf_set_option(pixbuf, key, value) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gdk_pixbuf_set_option\n  type(c_ptr), value :: pixbuf\n  character(kind=c_char), dimension(*) :: key\n  character(kind=c_char), dimension(*) :: value\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!const gchar * gdk_pixbuf_get_option (GdkPixbuf *pixbuf, const gchar *key);\nfunction gdk_pixbuf_get_option(pixbuf, key) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_get_option\n  type(c_ptr), value :: pixbuf\n  character(kind=c_char), dimension(*) :: key\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_2_36\n!gboolean gdk_pixbuf_remove_option (GdkPixbuf *pixbuf, const gchar *key);\nfunction gdk_pixbuf_remove_option(pixbuf, key) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gdk_pixbuf_remove_option\n  type(c_ptr), value :: pixbuf\n  character(kind=c_char), dimension(*) :: key\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_2_32\n!GHashTable * gdk_pixbuf_get_options (GdkPixbuf *pixbuf);\nfunction gdk_pixbuf_get_options(pixbuf) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_get_options\n  type(c_ptr), value :: pixbuf\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_2_36\n!gboolean gdk_pixbuf_copy_options (GdkPixbuf *src_pixbuf, GdkPixbuf *dest_pixbuf);\nfunction gdk_pixbuf_copy_options(src_pixbuf, dest_pixbuf) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_pixbuf_copy_options\n  type(c_ptr), value :: src_pixbuf\n  type(c_ptr), value :: dest_pixbuf\nend function\n\n!--------------------------------------------------\n! /usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h\n!--------------------------------------------------\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!GType gdk_pixbuf_alpha_mode_get_type (void) ;\nfunction gdk_pixbuf_alpha_mode_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_pixbuf_alpha_mode_get_type\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!GType gdk_colorspace_get_type (void) ;\nfunction gdk_colorspace_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_colorspace_get_type\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!GType gdk_pixbuf_error_get_type (void) ;\nfunction gdk_pixbuf_error_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_pixbuf_error_get_type\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!GType gdk_interp_type_get_type (void) ;\nfunction gdk_interp_type_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_interp_type_get_type\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!GType gdk_pixbuf_rotation_get_type (void) ;\nfunction gdk_pixbuf_rotation_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_pixbuf_rotation_get_type\nend function\n\n!--------------------------------------------------\n! /usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-features.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h\n!--------------------------------------------------\n! GDK_PIXBUF_AVAILABLE_IN_2_40\n!gboolean gdk_pixbuf_init_modules (const char *path, GError **error);\nfunction gdk_pixbuf_init_modules(path, error) bind(c)\n  import :: c_int, c_char, c_ptr\n  implicit none\n  integer(c_int) :: gdk_pixbuf_init_modules\n  character(kind=c_char), dimension(*) :: path\n  type(c_ptr), value :: error\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!GType gdk_pixbuf_format_get_type (void) ;\nfunction gdk_pixbuf_format_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_pixbuf_format_get_type\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!GSList *gdk_pixbuf_get_formats (void);\nfunction gdk_pixbuf_get_formats() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_get_formats\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_2_2\n!gchar *gdk_pixbuf_format_get_name (GdkPixbufFormat *format);\nfunction gdk_pixbuf_format_get_name(format) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_format_get_name\n  type(c_ptr), value :: format\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_2_2\n!gchar *gdk_pixbuf_format_get_description (GdkPixbufFormat *format);\nfunction gdk_pixbuf_format_get_description(format) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_format_get_description\n  type(c_ptr), value :: format\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_2_2\n!gchar **gdk_pixbuf_format_get_mime_types (GdkPixbufFormat *format);\nfunction gdk_pixbuf_format_get_mime_types(format) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_format_get_mime_types\n  type(c_ptr), value :: format\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_2_2\n!gchar **gdk_pixbuf_format_get_extensions (GdkPixbufFormat *format);\nfunction gdk_pixbuf_format_get_extensions(format) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_format_get_extensions\n  type(c_ptr), value :: format\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_2_36\n!gboolean gdk_pixbuf_format_is_save_option_supported (GdkPixbufFormat *format, const gchar *option_key);\nfunction gdk_pixbuf_format_is_save_option_supported(format, option_key) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gdk_pixbuf_format_is_save_option_supported\n  type(c_ptr), value :: format\n  character(kind=c_char), dimension(*) :: option_key\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_2_2\n!gboolean gdk_pixbuf_format_is_writable (GdkPixbufFormat *format);\nfunction gdk_pixbuf_format_is_writable(format) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_pixbuf_format_is_writable\n  type(c_ptr), value :: format\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_2_6\n!gboolean gdk_pixbuf_format_is_scalable (GdkPixbufFormat *format);\nfunction gdk_pixbuf_format_is_scalable(format) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_pixbuf_format_is_scalable\n  type(c_ptr), value :: format\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_2_6\n!gboolean gdk_pixbuf_format_is_disabled (GdkPixbufFormat *format);\nfunction gdk_pixbuf_format_is_disabled(format) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_pixbuf_format_is_disabled\n  type(c_ptr), value :: format\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_2_6\n!void gdk_pixbuf_format_set_disabled (GdkPixbufFormat *format, gboolean disabled);\nsubroutine gdk_pixbuf_format_set_disabled(format, disabled) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: format\n  integer(c_int), value :: disabled\nend subroutine\n\n! GDK_PIXBUF_AVAILABLE_IN_2_6\n!gchar *gdk_pixbuf_format_get_license (GdkPixbufFormat *format);\nfunction gdk_pixbuf_format_get_license(format) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_format_get_license\n  type(c_ptr), value :: format\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_2_4\n!GdkPixbufFormat *gdk_pixbuf_get_file_info (const gchar *filename, gint *width, gint *height);\nfunction gdk_pixbuf_get_file_info(filename, width, height) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_get_file_info\n  character(kind=c_char), dimension(*) :: filename\n  type(c_ptr), value :: width\n  type(c_ptr), value :: height\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_2_32\n!void gdk_pixbuf_get_file_info_async (const gchar *filename, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine gdk_pixbuf_get_file_info_async(filename, cancellable, callback,&\n& user_data) bind(c)\n  import :: c_char, c_ptr, c_funptr\n  implicit none\n  character(kind=c_char), dimension(*) :: filename\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GDK_PIXBUF_AVAILABLE_IN_2_32\n!GdkPixbufFormat *gdk_pixbuf_get_file_info_finish (GAsyncResult *async_result, gint *width, gint *height, GError **error);\nfunction gdk_pixbuf_get_file_info_finish(async_result, width, height, error)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_get_file_info_finish\n  type(c_ptr), value :: async_result\n  type(c_ptr), value :: width\n  type(c_ptr), value :: height\n  type(c_ptr), value :: error\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!GdkPixbufFormat *gdk_pixbuf_format_copy (const GdkPixbufFormat *format);\nfunction gdk_pixbuf_format_copy(format) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_format_copy\n  type(c_ptr), value :: format\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!void gdk_pixbuf_format_free (GdkPixbufFormat *format);\nsubroutine gdk_pixbuf_format_free(format) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: format\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-loader.h\n!--------------------------------------------------\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!GType gdk_pixbuf_loader_get_type (void) ;\nfunction gdk_pixbuf_loader_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_pixbuf_loader_get_type\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!GdkPixbufLoader * gdk_pixbuf_loader_new (void);\nfunction gdk_pixbuf_loader_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_loader_new\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!GdkPixbufLoader * gdk_pixbuf_loader_new_with_type (const char *image_type, GError **error);\nfunction gdk_pixbuf_loader_new_with_type(image_type, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_loader_new_with_type\n  character(kind=c_char), dimension(*) :: image_type\n  type(c_ptr), value :: error\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_2_4\n!GdkPixbufLoader * gdk_pixbuf_loader_new_with_mime_type (const char *mime_type, GError **error);\nfunction gdk_pixbuf_loader_new_with_mime_type(mime_type, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_loader_new_with_mime_type\n  character(kind=c_char), dimension(*) :: mime_type\n  type(c_ptr), value :: error\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_2_2\n!void gdk_pixbuf_loader_set_size (GdkPixbufLoader *loader, int width, int height);\nsubroutine gdk_pixbuf_loader_set_size(loader, width, height) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: loader\n  integer(c_int), value :: width\n  integer(c_int), value :: height\nend subroutine\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!gboolean gdk_pixbuf_loader_write (GdkPixbufLoader *loader, const guchar *buf, gsize count, GError **error);\nfunction gdk_pixbuf_loader_write(loader, buf, count, error) bind(c)\n  import :: c_int, c_ptr, c_char, c_size_t\n  implicit none\n  integer(c_int) :: gdk_pixbuf_loader_write\n  type(c_ptr), value :: loader\n  character(kind=c_char), dimension(*) :: buf\n  integer(c_size_t), value :: count\n  type(c_ptr), value :: error\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_2_30\n!gboolean gdk_pixbuf_loader_write_bytes (GdkPixbufLoader *loader, GBytes *buffer, GError **error);\nfunction gdk_pixbuf_loader_write_bytes(loader, buffer, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_pixbuf_loader_write_bytes\n  type(c_ptr), value :: loader\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: error\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!GdkPixbuf * gdk_pixbuf_loader_get_pixbuf (GdkPixbufLoader *loader);\nfunction gdk_pixbuf_loader_get_pixbuf(loader) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_loader_get_pixbuf\n  type(c_ptr), value :: loader\nend function\n\n! GDK_PIXBUF_DEPRECATED_IN_2_44\n!GdkPixbufAnimation * gdk_pixbuf_loader_get_animation (GdkPixbufLoader *loader);\nfunction gdk_pixbuf_loader_get_animation(loader) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_loader_get_animation\n  type(c_ptr), value :: loader\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!gboolean gdk_pixbuf_loader_close (GdkPixbufLoader *loader, GError **error);\nfunction gdk_pixbuf_loader_close(loader, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_pixbuf_loader_close\n  type(c_ptr), value :: loader\n  type(c_ptr), value :: error\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_2_2\n!GdkPixbufFormat *gdk_pixbuf_loader_get_format (GdkPixbufLoader *loader);\nfunction gdk_pixbuf_loader_get_format(loader) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_loader_get_format\n  type(c_ptr), value :: loader\nend function\n\n!--------------------------------------------------\n! /usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-macros.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-marshal.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h\n!--------------------------------------------------\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!GType gdk_pixbuf_simple_anim_get_type (void) ;\nfunction gdk_pixbuf_simple_anim_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_pixbuf_simple_anim_get_type\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!GType gdk_pixbuf_simple_anim_iter_get_type (void) ;\nfunction gdk_pixbuf_simple_anim_iter_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gdk_pixbuf_simple_anim_iter_get_type\nend function\n\n! GDK_PIXBUF_DEPRECATED_IN_2_44\n!GdkPixbufSimpleAnim *gdk_pixbuf_simple_anim_new (gint width, gint height, gfloat rate);\nfunction gdk_pixbuf_simple_anim_new(width, height, rate) bind(c)\n  import :: c_ptr, c_int, c_float\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_simple_anim_new\n  integer(c_int), value :: width\n  integer(c_int), value :: height\n  real(c_float), value :: rate\nend function\n\n! GDK_PIXBUF_DEPRECATED_IN_2_44\n!void gdk_pixbuf_simple_anim_add_frame (GdkPixbufSimpleAnim *animation, GdkPixbuf *pixbuf);\nsubroutine gdk_pixbuf_simple_anim_add_frame(animation, pixbuf) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: animation\n  type(c_ptr), value :: pixbuf\nend subroutine\n\n! GDK_PIXBUF_DEPRECATED_IN_2_44\n!void gdk_pixbuf_simple_anim_set_loop (GdkPixbufSimpleAnim *animation, gboolean loop);\nsubroutine gdk_pixbuf_simple_anim_set_loop(animation, loop) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: animation\n  integer(c_int), value :: loop\nend subroutine\n\n! GDK_PIXBUF_DEPRECATED_IN_2_44\n!gboolean gdk_pixbuf_simple_anim_get_loop (GdkPixbufSimpleAnim *animation);\nfunction gdk_pixbuf_simple_anim_get_loop(animation) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_pixbuf_simple_anim_get_loop\n  type(c_ptr), value :: animation\nend function\n\n!--------------------------------------------------\n! /usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-transform.h\n!--------------------------------------------------\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!void gdk_pixbuf_scale (const GdkPixbuf *src, GdkPixbuf *dest, int dest_x, int dest_y, int dest_width, int dest_height, double offset_x, double offset_y, double scale_x, double scale_y, GdkInterpType interp_type);\nsubroutine gdk_pixbuf_scale(src, dest, dest_x, dest_y, dest_width, dest_height,&\n& offset_x, offset_y, scale_x, scale_y, interp_type) bind(c)\n  import :: c_ptr, c_int, c_double\n  implicit none\n  type(c_ptr), value :: src\n  type(c_ptr), value :: dest\n  integer(c_int), value :: dest_x\n  integer(c_int), value :: dest_y\n  integer(c_int), value :: dest_width\n  integer(c_int), value :: dest_height\n  real(c_double), value :: offset_x\n  real(c_double), value :: offset_y\n  real(c_double), value :: scale_x\n  real(c_double), value :: scale_y\n  integer(c_int), value :: interp_type\nend subroutine\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!void gdk_pixbuf_composite (const GdkPixbuf *src, GdkPixbuf *dest, int dest_x, int dest_y, int dest_width, int dest_height, double offset_x, double offset_y, double scale_x, double scale_y, GdkInterpType interp_type, int overall_alpha);\nsubroutine gdk_pixbuf_composite(src, dest, dest_x, dest_y, dest_width,&\n& dest_height, offset_x, offset_y, scale_x, scale_y, interp_type,&\n& overall_alpha) bind(c)\n  import :: c_ptr, c_int, c_double\n  implicit none\n  type(c_ptr), value :: src\n  type(c_ptr), value :: dest\n  integer(c_int), value :: dest_x\n  integer(c_int), value :: dest_y\n  integer(c_int), value :: dest_width\n  integer(c_int), value :: dest_height\n  real(c_double), value :: offset_x\n  real(c_double), value :: offset_y\n  real(c_double), value :: scale_x\n  real(c_double), value :: scale_y\n  integer(c_int), value :: interp_type\n  integer(c_int), value :: overall_alpha\nend subroutine\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!void gdk_pixbuf_composite_color (const GdkPixbuf *src, GdkPixbuf *dest, int dest_x, int dest_y, int dest_width, int dest_height, double offset_x, double offset_y, double scale_x, double scale_y, GdkInterpType interp_type, int overall_alpha, int check_x, int check_y, int check_size, guint32 color1, guint32 color2);\nsubroutine gdk_pixbuf_composite_color(src, dest, dest_x, dest_y, dest_width,&\n& dest_height, offset_x, offset_y, scale_x, scale_y, interp_type,&\n& overall_alpha, check_x, check_y, check_size, color1, color2) bind(c)\n  import :: c_ptr, c_int, c_double, c_int32_t\n  implicit none\n  type(c_ptr), value :: src\n  type(c_ptr), value :: dest\n  integer(c_int), value :: dest_x\n  integer(c_int), value :: dest_y\n  integer(c_int), value :: dest_width\n  integer(c_int), value :: dest_height\n  real(c_double), value :: offset_x\n  real(c_double), value :: offset_y\n  real(c_double), value :: scale_x\n  real(c_double), value :: scale_y\n  integer(c_int), value :: interp_type\n  integer(c_int), value :: overall_alpha\n  integer(c_int), value :: check_x\n  integer(c_int), value :: check_y\n  integer(c_int), value :: check_size\n  integer(c_int32_t), value :: color1\n  integer(c_int32_t), value :: color2\nend subroutine\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!GdkPixbuf *gdk_pixbuf_scale_simple (const GdkPixbuf *src, int dest_width, int dest_height, GdkInterpType interp_type);\nfunction gdk_pixbuf_scale_simple(src, dest_width, dest_height, interp_type)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_scale_simple\n  type(c_ptr), value :: src\n  integer(c_int), value :: dest_width\n  integer(c_int), value :: dest_height\n  integer(c_int), value :: interp_type\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_ALL\n!GdkPixbuf *gdk_pixbuf_composite_color_simple (const GdkPixbuf *src, int dest_width, int dest_height, GdkInterpType interp_type, int overall_alpha, int check_size, guint32 color1, guint32 color2);\nfunction gdk_pixbuf_composite_color_simple(src, dest_width, dest_height,&\n& interp_type, overall_alpha, check_size, color1, color2) bind(c)\n  import :: c_ptr, c_int, c_int32_t\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_composite_color_simple\n  type(c_ptr), value :: src\n  integer(c_int), value :: dest_width\n  integer(c_int), value :: dest_height\n  integer(c_int), value :: interp_type\n  integer(c_int), value :: overall_alpha\n  integer(c_int), value :: check_size\n  integer(c_int32_t), value :: color1\n  integer(c_int32_t), value :: color2\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_2_6\n!GdkPixbuf *gdk_pixbuf_rotate_simple (const GdkPixbuf *src, GdkPixbufRotation angle);\nfunction gdk_pixbuf_rotate_simple(src, angle) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_rotate_simple\n  type(c_ptr), value :: src\n  integer(c_int), value :: angle\nend function\n\n! GDK_PIXBUF_AVAILABLE_IN_2_6\n!GdkPixbuf *gdk_pixbuf_flip (const GdkPixbuf *src, gboolean horizontal);\nfunction gdk_pixbuf_flip(src, horizontal) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_flip\n  type(c_ptr), value :: src\n  integer(c_int), value :: horizontal\nend function\n\n!--------------------------------------------------\n! /usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixdata.h\n!--------------------------------------------------\n! GDK_PIXBUF_DEPRECATED_IN_2_32\n!guint8* gdk_pixdata_serialize (const GdkPixdata *pixdata, guint *stream_length_p);\nfunction gdk_pixdata_serialize(pixdata, stream_length_p) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gdk_pixdata_serialize\n  type(c_ptr), value :: pixdata\n  type(c_ptr), value :: stream_length_p\nend function\n\n! GDK_PIXBUF_DEPRECATED_IN_2_32\n!gboolean gdk_pixdata_deserialize (GdkPixdata *pixdata, guint stream_length, const guint8 *stream, GError **error);\nfunction gdk_pixdata_deserialize(pixdata, stream_length, stream, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gdk_pixdata_deserialize\n  type(c_ptr), value :: pixdata\n  integer(c_int), value :: stream_length\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: error\nend function\n\n! GDK_PIXBUF_DEPRECATED_IN_2_32\n!gpointer gdk_pixdata_from_pixbuf (GdkPixdata *pixdata, const GdkPixbuf *pixbuf, gboolean use_rle);\nfunction gdk_pixdata_from_pixbuf(pixdata, pixbuf, use_rle) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gdk_pixdata_from_pixbuf\n  type(c_ptr), value :: pixdata\n  type(c_ptr), value :: pixbuf\n  integer(c_int), value :: use_rle\nend function\n\n! GDK_PIXBUF_DEPRECATED_IN_2_32\n!GdkPixbuf* gdk_pixbuf_from_pixdata (const GdkPixdata *pixdata, gboolean copy_pixels, GError **error);\nfunction gdk_pixbuf_from_pixdata(pixdata, copy_pixels, error) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gdk_pixbuf_from_pixdata\n  type(c_ptr), value :: pixdata\n  integer(c_int), value :: copy_pixels\n  type(c_ptr), value :: error\nend function\n\n! GDK_PIXBUF_DEPRECATED_IN_2_32\n!GString* gdk_pixdata_to_csource (GdkPixdata *pixdata, const gchar *name, GdkPixdataDumpType dump_type);\nfunction gdk_pixdata_to_csource(pixdata, name, dump_type) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: gdk_pixdata_to_csource\n  type(c_ptr), value :: pixdata\n  character(kind=c_char), dimension(*) :: name\n  integer(c_int), value :: dump_type\nend function\n\nend interface\nend module gdk_pixbuf\n"
  },
  {
    "path": "src/gdk-pixbuf-hl.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2012 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public\n!  License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!-----------------------------------------------------------------------------\n! Contributed by James Tappin\n! Last modifications: 2012-12-13\n!   vmagnin 2022-04-09\n!-----------------------------------------------------------------------------\n\n!*\n! gdk_pixbuf_hl\nmodule gdk_pixbuf_hl\n  ! Some routines to facilitate the use of GDK pixbufs from Fortran.\n  ! Allows the use of short-int images to avoid the issues that may result\n  ! from Fortran's 8-bit integers being signed while GdkPixbuf pixels are\n  ! unsigned.\n  !/\n\n  use g, only: g_slist_free, g_slist_length, g_slist_nth_data\n\n  use gdk_pixbuf, only: gdk_pixbuf_format_get_description, &\n       & gdk_pixbuf_format_get_extensions, gdk_pixbuf_format_get_license, &\n       & gdk_pixbuf_format_get_mime_types, gdk_pixbuf_format_get_name, &\n       & gdk_pixbuf_format_is_scalable, gdk_pixbuf_format_is_writable, &\n       & gdk_pixbuf_get_bits_per_sample, gdk_pixbuf_get_formats, &\n       & gdk_pixbuf_get_has_alpha, gdk_pixbuf_get_height, &\n       & gdk_pixbuf_get_n_channels, gdk_pixbuf_get_pixels, &\n       & gdk_pixbuf_get_rowstride, gdk_pixbuf_get_width, gdk_pixbuf_new, &\n       & gdk_pixbuf_new_from_file, &\n       & gdk_pixbuf_new_from_file_at_scale, gdk_pixbuf_savev\n\n  use gtk, only: TRUE, FALSE, GDK_COLORSPACE_RGB\n\n  use gtk_sup\n\n  use, intrinsic :: iso_c_binding, only: c_null_ptr\n  use, intrinsic :: iso_fortran_env, only: error_unit\n\n  implicit none\n\n  interface hl_gdk_pixbuf_new\n     module procedure hl_gdk_pixbuf_new_empty\n     module procedure hl_gdk_pixbuf_new_file\n     module procedure hl_gdk_pixbuf_new_data8\n     module procedure hl_gdk_pixbuf_new_data16\n     module procedure hl_gdk_pixbuf_new_data8g\n     module procedure hl_gdk_pixbuf_new_data16g\n  end interface hl_gdk_pixbuf_new\n\n  interface hl_gdk_pixbuf_get_pixels\n     module procedure hl_gdk_pixbuf_get_pixels8\n     module procedure hl_gdk_pixbuf_get_pixels16\n  end interface hl_gdk_pixbuf_get_pixels\n\n  interface hl_gdk_pixbuf_set_pixels\n     module procedure hl_gdk_pixbuf_set_pixels8\n     module procedure hl_gdk_pixbuf_set_pixels16\n     module procedure hl_gdk_pixbuf_set_pixels8g\n     module procedure hl_gdk_pixbuf_set_pixels16g\n  end interface hl_gdk_pixbuf_set_pixels\n\n  integer, parameter :: hl_gdk_pixbuf_type_len=20\n  integer, parameter :: hl_gdk_pixbuf_option_len=80\n\ncontains\n\n  !+\n  function hl_gdk_pixbuf_new_empty(width, height, alpha, bits) &\n       & result(pixbuf)\n    type(c_ptr) :: pixbuf\n    integer(c_int), intent(in) :: width, height\n    integer(c_int), intent(in), optional :: alpha, bits\n\n    ! Create a new empty pixbuf of the given size\n    !\n    ! WIDTH |  int |  required |  The width in pixels of the pixbuf\n    ! HEIGHT |  int |  required |  The height in pixels of the pixbuf\n    ! ALPHA |  boolean |  optional |  Whether to include an alpha channel (default=FALSE)\n    ! BITS |  int |  optional |  The nuber of bits per sample (default=8).\n    !\n    ! This routine will usually be called via the generic interface\n    ! hl_gdk_pixbuf_new.\n    !-\n\n    integer(c_int) :: isalpha, bpp\n\n    if (present(alpha)) then\n       isalpha = alpha\n    else\n       isalpha = FALSE\n    end if\n    if (present(bits)) then\n       bpp = bits\n    else\n       bpp = 8\n    end if\n\n    pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, isalpha, bpp, width, height)\n\n  end function hl_gdk_pixbuf_new_empty\n\n  !+\n  function hl_gdk_pixbuf_new_file(file, width, height, aspect, &\n       & error) result(pixbuf)\n    type(c_ptr) :: pixbuf\n    character(len=*), intent(in) :: file\n    integer(c_int), optional, intent(in) :: width, height, aspect\n    character(len=*), optional, intent(out) :: error\n\n    ! Read an image file into a new pixbuf\n    !\n    ! FILE |  string |  required |  The file to read\n    ! WIDTH |  int |  optional |  The desired width for the pixbuf\n    ! HEIGHT |  int |  optional |  The desired height for the pixbuf\n    ! ASPECT |  boolean |  optional |  If sizing is given then set to TRUE to preserve the aspect ratio, or FALSE not to. If both dimensions are given, then the default is FALSE, if one is given, the default is TRUE.\n    ! ERROR |  gerror |  optional |  The error code & message.\n    !\n    ! This routine will usually be called via the generic interface\n    ! hl_gdk_pixbuf_new.\n    !-\n\n    integer(c_int) :: nx, ny, keep_asp\n    type(gerror), pointer :: error_struct\n    type(c_ptr), target :: error_str\n    character(len=120) :: errmsg\n\n    error_str = c_null_ptr\n    if (present(width) .or. present(height)) then\n       if (present(width)) then\n          nx = width\n       else\n          nx = -1\n       end if\n       if (present(height)) then\n          ny = height\n       else\n          ny = -1\n       end if\n       if (present(aspect)) then\n          keep_asp = aspect\n       else if (present(width) .and. present(height)) then\n          keep_asp = FALSE\n       else\n          keep_asp = TRUE\n       end if\n       pixbuf = gdk_pixbuf_new_from_file_at_scale(trim(file)//c_null_char, &\n            & nx, ny, keep_asp, c_loc(error_str))\n    else\n       pixbuf = gdk_pixbuf_new_from_file(trim(file)//c_null_char, &\n            & c_loc(error_str))\n    end if\n\n    if (.not. c_associated(pixbuf)) then\n       call c_f_pointer(error_str, error_struct)\n       call convert_c_string(error_struct%message, &\n            & errmsg)\n       if (present(error)) then\n          error = errmsg\n       else\n          write(error_unit, *) \"HL_GDK_PIXBUF_NEW_FILE: \",trim(errmsg)\n       end if\n    else if (present(error)) then\n       error = ''\n    end if\n\n  end function hl_gdk_pixbuf_new_file\n\n  !+\n  function hl_gdk_pixbuf_new_data8(data) result(pixbuf)\n    type(c_ptr) :: pixbuf\n    integer(c_int8_t), dimension(:,:,:), intent(in) :: data\n\n    ! Create a pixbuf from an RGB(A) array of values.\n    !\n    ! DATA |  int8 |  required |  The data values as a 1..4 x n x m array.\n    !\n    ! This routine will usually be called via the generic interface\n    ! hl_gdk_pixbuf_new.\n    !-\n\n    integer(c_int), dimension(3) :: sz\n    integer(c_int) :: alpha\n\n    sz = shape(data)\n    select case (sz(1))\n    case(1,3)\n       alpha = FALSE\n    case(2,4)\n       alpha = TRUE\n    case default\n       pixbuf = c_null_ptr\n       write(error_unit, *) &\n            & \"HL_GDK_PIXBUF_NEW_DATA8: first dimension of the data\"//&\n            & \" must be between 1 and 4\"\n       return\n    end select\n\n    pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, alpha, 8_c_int, &\n         & sz(2), sz(3))\n\n    call hl_gdk_pixbuf_set_pixels(pixbuf, data)\n  end function hl_gdk_pixbuf_new_data8\n\n\n  !+\n  function hl_gdk_pixbuf_new_data8g(data) result(pixbuf)\n    type(c_ptr) :: pixbuf\n    integer(c_int8_t), dimension(:,:), intent(in) :: data\n\n    ! Create a pixbuf from a greyscale array of values.\n    !\n    ! DATA |  int8 |  required |  The data values as a n x m array.\n    !\n    ! This routine will usually be called via the generic interface\n    ! hl_gdk_pixbuf_new.\n    !-\n\n    integer(c_int), dimension(2) :: sz\n\n    sz = shape(data)\n\n    pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, FALSE, 8_c_int, &\n         & sz(1), sz(2))\n\n    call hl_gdk_pixbuf_set_pixels(pixbuf, data)\n  end function hl_gdk_pixbuf_new_data8g\n\n\n  !+\n  function hl_gdk_pixbuf_new_data16(data) result(pixbuf)\n    type(c_ptr) :: pixbuf\n    integer(c_short), dimension(:,:,:), intent(in) :: data\n\n    ! Create a pixbuf from an RGB(A) array of values. This version\n    ! uses 2-byte integers to avoid the signing issues of the c_int8_t type.\n    !\n    ! DATA |  short |  required |  The data values as a 1..4 x n x m array.\n    !\n    ! This routine will usually be called via the generic interface\n    ! hl_gdk_pixbuf_new.\n    !-\n\n    integer(c_int), dimension(3) :: sz\n    integer(c_int) :: alpha\n\n    sz = shape(data)\n\n    select case (sz(1))\n    case(1,3)\n       alpha = FALSE\n    case(2,4)\n       alpha = TRUE\n    case default\n       pixbuf = c_null_ptr\n       write(error_unit, *) &\n            & \"HL_GDK_PIXBUF_NEW_DATA16: first dimension of the data\"//&\n            & \" must be between 1 and 4\"\n       return\n    end select\n\n    pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, alpha, 8_c_int, &\n         & sz(2), sz(3))\n\n    call hl_gdk_pixbuf_set_pixels(pixbuf, data)\n  end function hl_gdk_pixbuf_new_data16\n\n  !+\n  function hl_gdk_pixbuf_new_data16g(data) result(pixbuf)\n    type(c_ptr) :: pixbuf\n    integer(c_short), dimension(:,:), intent(in) :: data\n\n    ! Create a pixbuf from a greyscale array of values. This version\n    ! uses 2-byte integers to avoid the signing issues of the c_int8_t type.\n    !\n    ! DATA |  short |  required |  The data values as a n x m array.\n    !\n    ! This routine will usually be called via the generic interface\n    ! hl_gdk_pixbuf_new.\n    !-\n\n    integer(c_int), dimension(2) :: sz\n\n    sz = shape(data)\n\n    pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, FALSE, 8_c_int, &\n         & sz(1), sz(2))\n\n    call hl_gdk_pixbuf_set_pixels(pixbuf, data)\n  end function hl_gdk_pixbuf_new_data16g\n\n  !+\n  subroutine hl_gdk_pixbuf_get_pixels8(pixbuf, pixels)\n    type(c_ptr), intent(in) :: pixbuf\n    integer(c_int8_t), dimension(:,:,:), allocatable, intent(out) :: pixels\n\n    ! Get the pixels of a pixbuf and return them as a Fortran 3xnxm or 4xnxm\n    ! array\n    !\n    ! PIXBUF |  c_ptr |  required |  The pixbuf to read\n    ! PIXELS |  int8 |  required |  Will contain the image.\n    !\n    ! This is normally called via the generic hl_gdk_pixbuf_get_pixels\n    ! interface. Implemented as a subroutine to allow this.\n    !-\n\n    type(c_ptr), target :: cpixels\n    integer(c_int8_t), pointer, dimension(:) :: fpixels\n    integer :: i,j, iroff, ioff\n    integer(c_int) :: rowstr, nrows, ncols, nchans\n    integer :: lpix\n\n    call hl_gdk_pixbuf_info(pixbuf, nchannels=nchans, height=nrows, &\n         & width=ncols, rowstride=rowstr)\n\n    allocate(pixels(nchans, ncols, nrows))\n\n    lpix = int(rowstr*(nrows-1) + ncols*nchans)\n\n    cpixels = gdk_pixbuf_get_pixels(pixbuf)\n    call c_f_pointer(cpixels, fpixels, [lpix])\n\n    do j = 0,nrows-1\n       iroff = j*rowstr + 1\n       do i = 0, ncols-1\n          ioff = iroff + i*nchans\n          pixels(:,i+1,j+1) = fpixels(ioff:ioff+nchans-1)\n       end do\n    end do\n  end subroutine hl_gdk_pixbuf_get_pixels8\n\n  !+\n  subroutine hl_gdk_pixbuf_get_pixels16(pixbuf, pixels)\n    type(c_ptr), intent(in) :: pixbuf\n    integer(c_short), dimension(:,:,:), allocatable, intent(out) :: pixels\n\n    ! Get the pixels of a pixbuf and return them as a Fortran 3xnxm or 4xnxm\n    ! array. This version returns as a short array to evade the signing issues\n    ! of 8-bit integers in Fortran\n    !\n    ! PIXBUF |  c_ptr |  required |  The pixbuf to read\n    ! PIXELS |  short |  required |  Will contain the image.\n    !\n    ! This is normally called via the generic hl_gdk_pixbuf_get_pixels\n    ! interface. Implemented as a subroutine to allow this.\n    !-\n\n    type(c_ptr), target :: cpixels\n    integer(c_int8_t), pointer, dimension(:) :: fpixels\n    integer :: i,j, iroff, ioff\n    integer(c_int) :: rowstr, nrows, ncols, nchans\n    integer :: lpix\n\n    call hl_gdk_pixbuf_info(pixbuf, nchannels=nchans, height=nrows, &\n         & width=ncols, rowstride=rowstr)\n\n    allocate(pixels(nchans, ncols, nrows))\n    lpix = int(rowstr*(nrows-1) + ncols*nchans)\n\n    cpixels = gdk_pixbuf_get_pixels(pixbuf)\n    call c_f_pointer(cpixels, fpixels, [lpix])\n\n    do j = 0,nrows-1\n       iroff = j*rowstr + 1\n       do i = 0, ncols-1\n          ioff = iroff + i*nchans\n          pixels(:,i+1,j+1) = iand(int(fpixels(ioff:ioff+nchans-1), c_short), &\n               & 255_c_short)\n       end do\n    end do\n  end subroutine hl_gdk_pixbuf_get_pixels16\n\n  !+\n  subroutine hl_gdk_pixbuf_set_pixels8(pixbuf, pixels, xoff, yoff)\n    type(c_ptr), intent(in) :: pixbuf\n    integer(c_int8_t), dimension(:,:,:), intent(in) :: pixels\n    integer, intent(in), optional :: xoff, yoff\n\n    ! Set the pixels of a pixbuf from a Fortran array.\n    !\n    ! PIXBUF |  c_ptr |  required |  The pixbuf to update\n    ! PIXELS |  int8 |  required |  Contains the image to insert.\n    ! XOFF |  int |  optional |  The X-offset at which to write the image.\n    ! YOFF |  int |  optional |  The Y-offset at which to write the image.\n    !\n    ! This is normally called via the generic hl_gdk_pixbuf_set_pixels\n    ! interface.\n    ! N.B. To leave a gap at the \"high\" sides of the pixbuf, just use a\n    ! smaller input array or array slice than the pixbuf size.\n    !-\n\n    integer :: i,j, ioff, iroff, xstart, ystart, xtop, ytop, lput\n    integer(c_int) :: rowstr, nrows, ncols, nchans\n    integer :: lpix\n    type(c_ptr), target :: cpixels\n    integer(c_int8_t), pointer, dimension(:) :: fpixels\n    integer, dimension(3) :: sz\n    logical :: salpha, gscale\n\n    sz=shape(pixels)\n    if (present(xoff)) then\n       xstart = xoff\n    else\n       xstart = 0\n    end if\n    if (present(yoff)) then\n       ystart = yoff\n    else\n       ystart = 0\n    end if\n\n    call hl_gdk_pixbuf_info(pixbuf, nchannels=nchans, height=nrows, &\n         & width=ncols, rowstride=rowstr)\n    lpix = int(rowstr*(nrows-1) + ncols*nchans)\n\n    ! Checks on sizes etc.\n\n    if (sz(2) > ncols-xstart) then\n       write(error_unit, *) &\n            & \"HL_GDK_SET_PIXELS8: Input image has too many columns,\"// &\n            & \" using lower part.\"\n       xtop = ncols-xstart\n    else\n       xtop = sz(2)\n    end if\n    if (sz(3) > nrows-ystart) then\n       write(error_unit, *) &\n            & \"HL_GDK_SET_PIXELS8: Input image has too many rows,\"// &\n            & \" using lower part.\"\n       ytop = nrows-ystart\n    else\n       ytop = sz(3)\n    end if\n\n    salpha = .false.\n    gscale = .false.\n\n    select case (sz(1))\n    case(3)\n       if (nchans == 4) then\n          write(error_unit, *) &\n               & \"HL_GDK_SET_PIXELS8: No alpha channel in input, using opaque.\"\n          salpha = .true.\n       end if\n    case(4)\n       if (nchans == 3) then\n          write(error_unit, *) &\n               & \"HL_GDK_SET_PIXELS8: No alpha channel in output, omitting.\"\n       end if\n    case(2)\n       gscale = .true.\n       if (nchans == 3) then\n          write(error_unit, *) &\n               & \"HL_GDK_SET_PIXELS8: No alpha channel in output, omitting.\"\n       end if\n    case(1)\n       gscale = .true.\n       if (nchans == 4) then\n          write(error_unit, *) &\n               & \"HL_GDK_SET_PIXELS8: No alpha channel in input, using opaque.\"\n          salpha = .true.\n       end if\n    case(5:)\n       write(error_unit, *) &\n            & \"HL_GDK_SET_PIXELS8: too many channels in input, omitting excess.\"\n    end select\n    lput = min(sz(1), nchans)\n\n    ! Actually set the pixels.\n    cpixels = gdk_pixbuf_get_pixels(pixbuf)\n    call c_f_pointer(cpixels, fpixels, [lpix])\n\n    if (gscale) then\n       do j = 0, ytop-1\n          iroff = (j+ystart)*rowstr + 1 + xstart\n          do i = 0,xtop-1\n             ioff = iroff + i*nchans\n             fpixels(ioff:ioff+2) = pixels(1, i+1,j+1)\n             if (salpha) then\n                fpixels(ioff+3) = -1_c_int8_t\n             else if (nchans == 4) then\n                fpixels(ioff+3) = pixels(2, i+1,j+1)\n             end if\n          end do\n       end do\n    else\n       do j = 0, ytop-1\n          iroff = (j+ystart)*rowstr + 1 + xstart\n          do i = 0,xtop-1\n             ioff = iroff + i*nchans\n             fpixels(ioff:ioff+lput-1) = pixels(:lput, i+1,j+1)\n             if (salpha) fpixels(ioff+lput) = -1_c_int8_t\n          end do\n       end do\n    end if\n\n  end subroutine hl_gdk_pixbuf_set_pixels8\n\n  !+\n  subroutine hl_gdk_pixbuf_set_pixels8g(pixbuf, pixels, xoff, yoff)\n    type(c_ptr), intent(in) :: pixbuf\n    integer(c_int8_t), dimension(:,:), intent(in) :: pixels\n    integer, intent(in), optional :: xoff, yoff\n\n    ! Set the pixels of a pixbuf from a Fortran array (greyscale).\n    !\n    ! PIXBUF |  c_ptr |  required |  The pixbuf to update\n    ! PIXELS |  int8 |  required |  Contains the image to insert.\n    ! XOFF |  int |  optional |  The X-offset at which to write the image.\n    ! YOFF |  int |  optional |  The Y-offset at which to write the image.\n    !\n    ! This is normally called via the generic hl_gdk_pixbuf_set_pixels\n    ! interface.\n    ! N.B. To leave a gap at the \"high\" sides of the pixbuf, just use a\n    ! smaller input array or array slice than the pixbuf size.\n    !-\n\n    integer :: i,j, ioff, iroff, xstart, ystart, xtop, ytop\n    integer(c_int) :: rowstr, nrows, ncols, nchans\n    integer :: lpix\n    type(c_ptr), target :: cpixels\n    integer(c_int8_t), pointer, dimension(:) :: fpixels\n    integer, dimension(2) :: sz\n\n    sz=shape(pixels)\n    if (present(xoff)) then\n       xstart = xoff\n    else\n       xstart = 0\n    end if\n    if (present(yoff)) then\n       ystart = yoff\n    else\n       ystart = 0\n    end if\n\n    call hl_gdk_pixbuf_info(pixbuf, nchannels=nchans, height=nrows, &\n         & width=ncols, rowstride=rowstr)\n    lpix = int(rowstr*(nrows-1) + ncols*nchans)\n\n    ! Checks on sizes etc.\n\n    if (sz(1) > ncols-xstart) then\n       write(error_unit, *) &\n            & \"HL_GDK_SET_PIXELS8G: Input image has too many columns,\"// &\n            & \" using lower part.\"\n       xtop = ncols-xstart\n    else\n       xtop = sz(1)\n    end if\n    if (sz(2) > nrows-ystart) then\n       write(error_unit, *) &\n            & \"HL_GDK_SET_PIXELS8G: Input image has too many rows,\"// &\n            & \" using lower part.\"\n       ytop = nrows-ystart\n    else\n       ytop = sz(2)\n    end if\n\n    ! Actually set the pixels.\n    cpixels = gdk_pixbuf_get_pixels(pixbuf)\n    call c_f_pointer(cpixels, fpixels, [lpix])\n\n    do j = 0, ytop-1\n       iroff = (j+ystart)*rowstr + 1 + xstart\n       do i = 0,xtop-1\n          ioff = iroff + i*nchans\n          fpixels(ioff:ioff+2) = pixels(i+1,j+1)\n          if (nchans == 4) fpixels(ioff+3) = -1_c_int8_t\n       end do\n    end do\n\n  end subroutine hl_gdk_pixbuf_set_pixels8g\n\n  !+\n  subroutine hl_gdk_pixbuf_set_pixels16(pixbuf, pixels, xoff, yoff)\n    type(c_ptr), intent(in) :: pixbuf\n    integer(c_short), dimension(:,:,:), intent(in) :: pixels\n    integer, intent(in), optional :: xoff, yoff\n\n    ! Set the pixels of a pixbuf from a Fortran array (16-bit).\n    !\n    ! PIXBUF |  c_ptr |  required |  The pixbuf to update\n    ! PIXELS |  short |  required |  Contains the image to insert.\n    ! XOFF |  int |  optional |  The X-offset at which to write the image.\n    ! YOFF |  int |  optional |  The Y-offset at which to write the image.\n    !\n    ! This is normally called via the generic hl_gdk_pixbuf_set_pixels\n    ! interface.\n    ! N.B. To leave a gap at the \"high\" sides of the pixbuf, just use a\n    ! smaller input array or array slice than the pixbuf size.\n    !-\n\n    integer :: i,j, ioff, iroff, xstart, ystart, xtop, ytop, lput\n    integer(c_int) :: rowstr, nrows, ncols, nchans\n    integer :: lpix\n    type(c_ptr), target :: cpixels\n    integer(c_int8_t), pointer, dimension(:) :: fpixels\n    integer, dimension(3) :: sz\n    logical :: salpha, gscale\n\n    sz=shape(pixels)\n    if (present(xoff)) then\n       xstart = xoff\n    else\n       xstart = 0\n    end if\n    if (present(yoff)) then\n       ystart = yoff\n    else\n       ystart = 0\n    end if\n\n    call hl_gdk_pixbuf_info(pixbuf, nchannels=nchans, height=nrows, &\n         & width=ncols, rowstride=rowstr)\n    lpix = int(rowstr*(nrows-1) + ncols*nchans)\n\n    ! Checks on sizes etc.\n\n    if (sz(2) > ncols-xstart) then\n       write(error_unit, *) &\n            & \"HL_GDK_SET_PIXELS16: Input image has too many columns,\"// &\n            & \" using lower part.\"\n       xtop = ncols-xstart\n    else\n       xtop = sz(2)\n    end if\n    if (sz(3) > nrows-ystart) then\n       write(error_unit, *) &\n            & \"HL_GDK_SET_PIXELS16: Input image has too many rows,\"// &\n            & \" using lower part.\"\n       ytop = nrows-ystart\n    else\n       ytop = sz(3)\n    end if\n\n    salpha = .false.\n    gscale = .false.\n\n    select case (sz(1))\n    case(3)\n       if (nchans == 4) then\n          write(error_unit, *) &\n               & \"HL_GDK_SET_PIXELS16: No alpha channel in input, using opaque.\"\n          salpha = .true.\n       end if\n    case(4)\n       if (nchans == 3) then\n          write(error_unit, *) &\n               & \"HL_GDK_SET_PIXELS16: No alpha channel in output, omitting.\"\n       end if\n    case(2)\n       gscale = .true.\n       if (nchans == 3) then\n          write(error_unit, *) &\n               & \"HL_GDK_SET_PIXELS16: No alpha channel in output, omitting.\"\n       end if\n    case(1)\n       gscale = .true.\n       if (nchans == 4) then\n          write(error_unit, *) &\n               & \"HL_GDK_SET_PIXELS16: No alpha channel in input, using opaque.\"\n          salpha = .true.\n       end if\n    case(5:)\n       write(error_unit, *) &\n            & \"HL_GDK_SET_PIXELS16: too many channels in input, omitting excess.\"\n    end select\n    lput = min(sz(1), nchans)\n\n    ! Actually set the pixels.\n    cpixels = gdk_pixbuf_get_pixels(pixbuf)\n    call c_f_pointer(cpixels, fpixels, [lpix])\n\n    if (gscale) then\n       do j = 0, ytop-1\n          iroff = (j+ystart)*rowstr + 1 + xstart\n          do i = 0,xtop-1\n             ioff = iroff + i*nchans\n             fpixels(ioff:ioff+2) = int(pixels(1, i+1,j+1), c_int8_t)\n             if (salpha) then\n                fpixels(ioff+3) = -1_c_int8_t\n             else if (nchans == 4) then\n                fpixels(ioff+3) = int(pixels(2, i+1,j+1), c_int8_t)\n             end if\n          end do\n       end do\n    else\n       do j = 0, ytop-1\n          iroff = (j+ystart)*rowstr + 1 + xstart\n          do i = 0,xtop-1\n             ioff = iroff + i*nchans\n             fpixels(ioff:ioff+lput-1) = int(pixels(:lput, i+1,j+1), c_int8_t)\n             if (salpha) fpixels(ioff+lput) = -1_c_int8_t\n          end do\n       end do\n    end if\n  end subroutine hl_gdk_pixbuf_set_pixels16\n\n  !+\n  subroutine hl_gdk_pixbuf_set_pixels16g(pixbuf, pixels, xoff, yoff)\n    type(c_ptr), intent(in) :: pixbuf\n    integer(c_short), dimension(:,:), intent(in) :: pixels\n    integer, intent(in), optional :: xoff, yoff\n\n    ! Set the pixels of a pixbuf from a Fortran array (16-bit, greyscale).\n    !\n    ! PIXBUF |  c_ptr |  required |  The pixbuf to update\n    ! PIXELS |  short |  required |  Contains the image to insert.\n    ! XOFF |  int |  optional |  The X-offset at which to write the image.\n    ! YOFF |  int |  optional |  The Y-offset at which to write the image.\n    !\n    ! This is normally called via the generic hl_gdk_pixbuf_set_pixels\n    ! interface.\n    ! N.B. To leave a gap at the \"high\" sides of the pixbuf, just use a\n    ! smaller input array or array slice than the pixbuf size.\n    !-\n\n    integer :: i,j, ioff, iroff, xstart, ystart, xtop, ytop\n    integer(c_int) :: rowstr, nrows, ncols, nchans\n    integer :: lpix\n    type(c_ptr), target :: cpixels\n    integer(c_int8_t), pointer, dimension(:) :: fpixels\n    integer, dimension(2) :: sz\n\n    sz=shape(pixels)\n    if (present(xoff)) then\n       xstart = xoff\n    else\n       xstart = 0\n    end if\n    if (present(yoff)) then\n       ystart = yoff\n    else\n       ystart = 0\n    end if\n\n    call hl_gdk_pixbuf_info(pixbuf, nchannels=nchans, height=nrows, &\n         & width=ncols, rowstride=rowstr)\n    lpix = int(rowstr*(nrows-1) + ncols*nchans)\n\n    ! Checks on sizes etc.\n\n    if (sz(1) > ncols-xstart) then\n       write(error_unit, *) &\n            & \"HL_GDK_SET_PIXELS16G: Input image has too many columns,\"// &\n            & \" using lower part.\"\n       xtop = ncols-xstart\n    else\n       xtop = sz(1)\n    end if\n    if (sz(2) > nrows-ystart) then\n       write(error_unit, *) &\n            & \"HL_GDK_SET_PIXELS16G: Input image has too many rows,\"// &\n            & \" using lower part.\"\n       ytop = nrows-ystart\n    else\n       ytop = sz(2)\n    end if\n\n\n    ! Actually set the pixels.\n    cpixels = gdk_pixbuf_get_pixels(pixbuf)\n    call c_f_pointer(cpixels, fpixels, [lpix])\n\n    do j = 0, ytop-1\n       iroff = (j+ystart)*rowstr + 1 + xstart\n       do i = 0,xtop-1\n          ioff = iroff + i*nchans\n          fpixels(ioff:ioff+2) = int(pixels(i+1,j+1), c_int8_t)\n          if (nchans == 4)  fpixels(ioff+3) = -1_c_int8_t\n       end do\n    end do\n  end subroutine hl_gdk_pixbuf_set_pixels16g\n\n  !+\n  subroutine hl_gdk_pixbuf_info(pixbuf, nchannels, bits, alpha, &\n       & height, width, rowstride)\n\n    type(c_ptr), intent(in) :: pixbuf\n    integer(c_int), optional, intent(out) :: nchannels, bits, alpha, &\n         & height, width, rowstride\n\n    ! Return information about an existing pixbuf.\n    !\n    ! PIXBUF |  c_ptr |  required |  The pixbuf to be queried.\n    ! NCHANNELS |  int |  optional |  How many channels does the pixbuf have?\n    ! BITS |  int |  optional |  How many bits per pixel?\n    ! ALPHA |  boolean |  optional |  Does the pixbuf have an alpha channel?\n    ! HEIGHT |  int |  optional |  How many rows in the image.\n    ! WIDTH |  int |  optional |  How many columns in the image.\n    ! ROWSTRIDE |  int |  optional |  How many bytes between the start of successive rows.\n    !-\n\n    if (present(nchannels)) nchannels = gdk_pixbuf_get_n_channels(pixbuf)\n    if (present(alpha)) alpha = gdk_pixbuf_get_has_alpha(pixbuf)\n    if (present(bits)) bits = gdk_pixbuf_get_bits_per_sample(pixbuf)\n    if (present(width)) width = gdk_pixbuf_get_width(pixbuf)\n    if (present(height)) height = gdk_pixbuf_get_height(pixbuf)\n    if (present(rowstride)) rowstride = gdk_pixbuf_get_rowstride(pixbuf)\n\n  end subroutine hl_gdk_pixbuf_info\n\n  !+\n  subroutine hl_gdk_pixbuf_save(pixbuf, file, type, options, ok, error)\n    type(c_ptr), intent(in) :: pixbuf\n    character(len=*), intent(in) :: file\n    character(len=*), intent(in), optional :: type\n    character(len=*), dimension(:), intent(in), optional :: options\n    logical, intent(out), optional :: ok\n    character(len=*), intent(out), optional :: error\n\n    ! Save a pixbuf to a file.\n    !\n    ! PIXBUF |  c_ptr |  required |  The pixbuf to save\n    ! FILE |  f_string |  required |  The filename to which to save.\n    ! TYPE |  f_string |  optional |  The file type to use, if not given then it is deduced from the extension.\n    ! OPTIONS |  f_string() |  optional |  A list of options in the form \"option=value\".\n    ! OK |  logical |  optional |  Was the write successful.\n    ! ERROR |  f_string |  optional |  An error message if the write failed.\n    !-\n\n    character(len=hl_gdk_pixbuf_type_len) :: ftype\n    integer :: pd\n    type(c_ptr), target :: err\n    type(gerror), pointer :: ferr\n    integer(c_int) :: iok\n    character(len=120) :: ferrmsg\n    type(c_ptr), dimension(:), allocatable :: copt_names, copt_vals\n    character(len=hl_gdk_pixbuf_option_len), target, &\n         & dimension(:), allocatable :: opt_names, opt_vals\n    integer :: peq, i, nopt\n\n    if (.not. present(type)) then\n       pd = index(file, '.', back=.true.)\n       if (pd == 0) then\n          if (present(ok)) ok = .false.\n          if (present(error)) then\n             error = \"No file type given and no extension to filename\"\n          else\n             write(error_unit, *) \"HL_GDK_PIXBUF_SAVE: \"// &\n                  & \"No file type given and no extension to filename\"\n          end if\n          return\n       end if\n       ftype = hl_gdk_pixbuf_format_find(extension=trim(file(pd+1:)))\n       if (ftype == '') then\n          if (present(ok)) ok = .false.\n          if (present(error)) then\n             error = \"No file type found for extension: \"//trim(file(pd+1:))\n          else\n             write(error_unit, *) \"HL_GDK_PIXBUF_SAVE: \"// &\n                  & \"No file type found for extension: \"//trim(file(pd+1:))\n          end if\n          return\n       end if\n    else\n       ftype = type\n    end if\n\n    err = c_null_ptr\n    if (present(options)) then\n       nopt = size(options)\n    else\n       nopt = 0\n    end if\n    allocate(copt_names(nopt+1), copt_vals(nopt+1))\n    allocate(opt_names(nopt), opt_vals(nopt))\n\n    copt_names(nopt+1) = c_null_ptr\n    copt_vals(nopt+1) = c_null_ptr\n\n    do i = 1, nopt\n       peq = index(options(i), \"=\")\n       opt_names(i) = options(i)(:peq-1)//c_null_char\n       opt_vals(i) = trim(options(i)(peq+1:))//c_null_char\n       copt_names(i) = c_loc(opt_names(i))\n       copt_vals(i) = c_loc(opt_vals(i))\n    end do\n    iok = gdk_pixbuf_savev(pixbuf, trim(file)//c_null_char, &\n         & trim(ftype)//c_null_char, copt_names, copt_vals, c_loc(err))\n\n    if (.not. c_f_logical(iok)) then\n       if (present(ok)) ok = .false.\n       call c_f_pointer(err, ferr)\n       call c_f_string(ferr%message, ferrmsg)\n       if (present(error)) then\n          error=trim(ferrmsg)\n       else\n          write(error_unit, *) \"HL_GDK_PIXBUF_SAVE: \"//trim(ferrmsg)\n       end if\n    else if (present(ok)) then\n       ok = .true.\n    end if\n  end subroutine hl_gdk_pixbuf_save\n\n  ! The routines below here deal with GdkPixbufFormat\n\n  !+\n  subroutine hl_gdk_pixbuf_get_formats(names, writable, description, &\n       & scalable, license)\n\n    character(len=*), intent(out), dimension(:), allocatable :: names\n    logical, intent(out), dimension(:), allocatable, optional :: writable, &\n         & scalable\n    character(len=*), intent(out), dimension(:), allocatable, &\n         & optional :: license\n    character(len=*), intent(out), dimension(:), allocatable, &\n         & optional :: description\n\n    ! Get information about the available file formats for reading/writing\n    ! pixbufs.\n    !\n    ! NAMES |  f_string() |  required |  The names found\n    ! WRITABLE |  logical() |  optional |  Whether the formats are writable.\n    ! DESCRIPTION |  f_string() |  optional |  Descriptions of the formats.\n    ! SCALABLE |  logical() |  optional |  Whether the formats are scalable.\n    ! LICENSE |  f_string() |  optional |  The licence of the format module.\n    !-\n\n    type(c_ptr) :: flist, fmt\n    integer(c_int) :: nfmt, i\n\n    flist = gdk_pixbuf_get_formats()\n\n    nfmt = g_slist_length(flist)\n\n    allocate(names(nfmt))\n    if (present(writable)) allocate(writable(nfmt))\n    if (present(description)) allocate(description(nfmt))\n    if (present(scalable)) allocate(scalable(nfmt))\n    if (present(license)) allocate(license(nfmt))\n\n    do i = 0, nfmt-1\n       fmt = g_slist_nth_data(flist, i)\n       call c_f_string(gdk_pixbuf_format_get_name(fmt), names(i+1))\n       if (present(description)) &\n            & call c_f_string(gdk_pixbuf_format_get_description(fmt), &\n            & description(i+1))\n       if (present(license)) &\n            & call c_f_string(gdk_pixbuf_format_get_license(fmt), &\n            & license(i+1))\n       if (present(writable)) &\n            & writable(i+1) = c_f_logical(gdk_pixbuf_format_is_writable(fmt))\n       if (present(scalable)) &\n            & scalable(i+1) = c_f_logical(gdk_pixbuf_format_is_scalable(fmt))\n    end do\n\n    call g_slist_free(flist)\n\n  end subroutine hl_gdk_pixbuf_get_formats\n\n  !+\n  function hl_gdk_pixbuf_format_info(name, mime_types, extensions, &\n       & writable, scalable, description, license) result(found)\n\n    logical :: found\n    character(len=*), intent(in) :: name\n    character(len=*), intent(out), optional, allocatable, &\n         & dimension(:) :: mime_types, extensions\n    logical, intent(out), optional :: writable, scalable\n    character(len=*), intent(out), optional :: description, license\n\n    ! Get information about a specific file type.\n    !\n    ! NAME |  string |  required |  The file type to query.\n    ! MIME_TYPE |  fstring() |  optional |  Will contain a list of mime-types associated with this file type.\n    ! EXTENSIONS |  fstring() |  optional |  Will contain a list of file extensions normally used for this type.\n    ! WRITABLE |  logical |  optional |  Whether the type is writable.\n    ! SCALABLE |  logical |  optional |  Whether the type is scalable.\n    ! DESCRIPTION |  f_string |  optional |  A description of the file type.\n    ! LICENSE |  f_string |  optional |  The license of the module for the file type.\n    !\n    ! Returns .true. if the type is found, .false. if it is not.\n    !-\n\n    character(len=hl_gdk_pixbuf_type_len), dimension(:), allocatable :: names\n    integer(c_int) :: idx, i\n    type(c_ptr) :: flist, fmt\n    type(c_ptr), target :: vlist\n    type(c_ptr), dimension(:), pointer :: val\n\n    call hl_gdk_pixbuf_get_formats(names)\n    if (all(names /= name)) then\n       found = .false.\n       return\n    end if\n    found = .true.\n\n    ! Extract the matching format.\n    do i = 1,size(names)\n       if (names(i) == name) then\n          idx = i-1\n          exit\n       end if\n    end do\n    flist = gdk_pixbuf_get_formats()\n    fmt = g_slist_nth_data(flist, idx)\n    call g_slist_free(flist)\n\n    ! Extract the requested information\n\n    if (present(writable)) &\n         & writable = c_f_logical(gdk_pixbuf_format_is_writable(fmt))\n    if (present(scalable)) &\n         & scalable = c_f_logical(gdk_pixbuf_format_is_scalable(fmt))\n\n    if (present(description)) &\n         & call c_f_string(gdk_pixbuf_format_get_description(fmt), &\n         & description)\n    if (present(license)) &\n         & call c_f_string(gdk_pixbuf_format_get_license(fmt), &\n         & license)\n\n    if (present(mime_types)) then\n       vlist = gdk_pixbuf_format_get_mime_types(fmt)\n       ! A size of 20 should be enough for all formats:\n       call c_f_pointer(vlist, val, [20])\n       i = 1\n       idx = 0\n       ! Get the size of the val() array:\n       do\n          if (.not. c_associated(val(i))) then\n             idx = i-1\n             exit\n          end if\n          i = i+1\n       end do\n\n       if (idx > 0) then\n          allocate(mime_types(idx))\n          do i = 1, idx\n             call c_f_string(val(i), mime_types(i))\n          end do\n       end if\n    end if\n    if (present(extensions)) then\n       vlist = gdk_pixbuf_format_get_extensions(fmt)\n       ! A size of 20 should be enough for all formats:\n       call c_f_pointer(vlist, val, [20])\n       i = 1\n       idx = 0\n       ! Get the size of the val() array:\n       do\n          if (.not. c_associated(val(i))) then\n             idx = i-1\n             exit\n          end if\n          i = i+1\n       end do\n\n       if (idx > 0) then\n          allocate(extensions(idx))\n          do i = 1, idx\n             call c_f_string(val(i), extensions(i))\n          end do\n       end if\n    end if\n  end function hl_gdk_pixbuf_format_info\n\n  !+\n  function hl_gdk_pixbuf_format_find(mime_type, extension) result(name)\n    character(len=hl_gdk_pixbuf_type_len) :: name\n    character(len=*), intent(in), optional :: mime_type, extension\n\n    ! Find the format type appropriate to a mime_type or a\n    ! filename extension.\n    !\n    ! MIME_TYPE |  f_string |  optional |  The mime-type to match.\n    ! EXTENSION |  f_string |  optional |  The file extension to match.\n    !\n    ! If no match is found then an empty string is returned.\n    ! Mime_type has precedence over extension.\n    !-\n\n    character(len=hl_gdk_pixbuf_type_len), dimension(:), allocatable :: names\n    character(len=20), dimension(:), allocatable :: types\n    integer :: i, zidx\n    logical :: found\n\n    call hl_gdk_pixbuf_get_formats(names)\n\n    name = ''\n\n    if (present(mime_type)) then\n       zidx = index(mime_type, c_null_char)\n       if (zidx == 0) zidx=len(mime_type)+1\n       do i = 1, size(names)\n          found = hl_gdk_pixbuf_format_info(names(i), mime_types=types)\n          if (any(types == mime_type(:zidx-1))) then\n             name = names(i)\n             exit\n          end if\n       end do\n    else if (present(extension)) then\n       zidx = index(extension, c_null_char)\n       if (zidx == 0) zidx=len_trim(extension)+1\n       do i = 1, size(names)\n          found = hl_gdk_pixbuf_format_info(names(i), extensions=types)\n          if (any(types == extension(:zidx-1))) then\n             name = names(i)\n             exit\n          end if\n       end do\n    end if\n  end function hl_gdk_pixbuf_format_find\n\nend module gdk_pixbuf_hl\n"
  },
  {
    "path": "src/gdkevents-auto.f90",
    "content": "! Automatically generated by extract_events.pl on Thu Nov 20 09:30:58 2025 Z\n! Please do not modify (unless you really know what you're doing).\n! This file is part of the gtk-fortran GTK+ Fortran Interface library.\n! GNU General Public License version 3\n\nmodule gdk_events\n  ! GDK events and related structures\n  ! Automatically extracted from gdktypes.h & gdkevents.h\n  use, intrinsic :: iso_c_binding\n\n  implicit none\n\n  type, bind(c) :: GdkRectangle\n    integer(kind=c_int) :: x, y    ! enum int\n    integer(kind=c_int) :: width, height    ! enum int\n  end type GdkRectangle\n\n  type, bind(c) :: GdkKeymapKey\n    integer(kind=c_int) :: keycode  ! guint\n    integer(kind=c_int) :: group    ! enum int\n    integer(kind=c_int) :: level    ! enum int\n  end type GdkKeymapKey\n\nend module gdk_events\n"
  },
  {
    "path": "src/glib-auto.f90",
    "content": "! Do not modify this file automatically generated by cfwrapper.py using:\n! gtk-fortran 4.9.0, GTK 4.20.2, GLib 2.86.1, Fedora 43 x86_64\n! This file is part of the gtk-fortran library, distributed under\n! GNU General Public License version 3.\n\nmodule g\nuse, intrinsic :: iso_c_binding\nimplicit none\ninterface\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib-object.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib-unix.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_2_30\n!GQuark g_unix_error_quark (void);\nfunction g_unix_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: g_unix_error_quark\nend function\n\n! GLIB_AVAILABLE_IN_2_30\n!gboolean g_unix_open_pipe (gint *fds, gint flags, GError **error);\nfunction g_unix_open_pipe(fds, flags, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_unix_open_pipe\n  type(c_ptr), value :: fds\n  integer(c_int), value :: flags\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_2_30\n!gboolean g_unix_set_fd_nonblocking (gint fd, gboolean nonblock, GError **error);\nfunction g_unix_set_fd_nonblocking(fd, nonblock, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_unix_set_fd_nonblocking\n  integer(c_int), value :: fd\n  integer(c_int), value :: nonblock\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_2_30\n!GSource *g_unix_signal_source_new (gint signum);\nfunction g_unix_signal_source_new(signum) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_unix_signal_source_new\n  integer(c_int), value :: signum\nend function\n\n! GLIB_AVAILABLE_IN_2_30\n!guint g_unix_signal_add_full (gint priority, gint signum, GSourceFunc handler, gpointer user_data, GDestroyNotify notify);\nfunction g_unix_signal_add_full(priority, signum, handler, user_data, notify)&\n& bind(c)\n  import :: c_int, c_funptr, c_ptr\n  implicit none\n  integer(c_int) :: g_unix_signal_add_full\n  integer(c_int), value :: priority\n  integer(c_int), value :: signum\n  type(c_funptr), value :: handler\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: notify\nend function\n\n! GLIB_AVAILABLE_IN_2_30\n!guint g_unix_signal_add (gint signum, GSourceFunc handler, gpointer user_data);\nfunction g_unix_signal_add(signum, handler, user_data) bind(c)\n  import :: c_int, c_funptr, c_ptr\n  implicit none\n  integer(c_int) :: g_unix_signal_add\n  integer(c_int), value :: signum\n  type(c_funptr), value :: handler\n  type(c_ptr), value :: user_data\nend function\n\n! GLIB_AVAILABLE_IN_2_36\n!GSource *g_unix_fd_source_new (gint fd, GIOCondition condition);\nfunction g_unix_fd_source_new(fd, condition) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_unix_fd_source_new\n  integer(c_int), value :: fd\n  integer(c_int), value :: condition\nend function\n\n! GLIB_AVAILABLE_IN_2_36\n!guint g_unix_fd_add_full (gint priority, gint fd, GIOCondition condition, GUnixFDSourceFunc function, gpointer user_data, GDestroyNotify notify);\nfunction g_unix_fd_add_full(priority, fd, condition, function, user_data,&\n& notify) bind(c)\n  import :: c_int, c_funptr, c_ptr\n  implicit none\n  integer(c_int) :: g_unix_fd_add_full\n  integer(c_int), value :: priority\n  integer(c_int), value :: fd\n  integer(c_int), value :: condition\n  type(c_funptr), value :: function\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: notify\nend function\n\n! GLIB_AVAILABLE_IN_2_36\n!guint g_unix_fd_add (gint fd, GIOCondition condition, GUnixFDSourceFunc function, gpointer user_data);\nfunction g_unix_fd_add(fd, condition, function, user_data) bind(c)\n  import :: c_int, c_funptr, c_ptr\n  implicit none\n  integer(c_int) :: g_unix_fd_add\n  integer(c_int), value :: fd\n  integer(c_int), value :: condition\n  type(c_funptr), value :: function\n  type(c_ptr), value :: user_data\nend function\n\n! GLIB_AVAILABLE_IN_2_80\n!int g_fdwalk_set_cloexec (int lowfd);\nfunction g_fdwalk_set_cloexec(lowfd) bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: g_fdwalk_set_cloexec\n  integer(c_int), value :: lowfd\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/glib-2.0/gmodule.h\n!--------------------------------------------------\n! GMODULE_AVAILABLE_IN_2_70\n!GQuark g_module_error_quark (void);\nfunction g_module_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: g_module_error_quark\nend function\n\n! GMODULE_AVAILABLE_IN_ALL\n!gboolean g_module_supported (void) ;\nfunction g_module_supported() bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: g_module_supported\nend function\n\n! GMODULE_AVAILABLE_IN_ALL\n!GModule* g_module_open (const gchar *file_name, GModuleFlags flags);\nfunction g_module_open(file_name, flags) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_module_open\n  character(kind=c_char), dimension(*) :: file_name\n  integer(c_int), value :: flags\nend function\n\n! GMODULE_AVAILABLE_IN_2_70\n!GModule *g_module_open_full (const gchar *file_name, GModuleFlags flags, GError **error);\nfunction g_module_open_full(file_name, flags, error) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_module_open_full\n  character(kind=c_char), dimension(*) :: file_name\n  integer(c_int), value :: flags\n  type(c_ptr), value :: error\nend function\n\n! GMODULE_AVAILABLE_IN_ALL\n!gboolean g_module_close (GModule *module);\nfunction g_module_close(module) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_module_close\n  type(c_ptr), value :: module\nend function\n\n! GMODULE_AVAILABLE_IN_ALL\n!void g_module_make_resident (GModule *module);\nsubroutine g_module_make_resident(module) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: module\nend subroutine\n\n! GMODULE_AVAILABLE_IN_ALL\n!const gchar * g_module_error (void);\nfunction g_module_error() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_module_error\nend function\n\n! GMODULE_AVAILABLE_IN_ALL\n!gboolean g_module_symbol (GModule *module, const gchar *symbol_name, gpointer *symbol);\nfunction g_module_symbol(module, symbol_name, symbol) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_module_symbol\n  type(c_ptr), value :: module\n  character(kind=c_char), dimension(*) :: symbol_name\n  type(c_ptr), value :: symbol\nend function\n\n! GMODULE_AVAILABLE_IN_ALL\n!const gchar * g_module_name (GModule *module);\nfunction g_module_name(module) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_module_name\n  type(c_ptr), value :: module\nend function\n\n! GMODULE_DEPRECATED_IN_2_76\n!gchar* g_module_build_path (const gchar *directory, const gchar *module_name);\nfunction g_module_build_path(directory, module_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_module_build_path\n  character(kind=c_char), dimension(*) :: directory\n  character(kind=c_char), dimension(*) :: module_name\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gaction.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_2_30\n!GType g_action_get_type (void) ;\nfunction g_action_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_action_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar * g_action_get_name (GAction *action);\nfunction g_action_get_name(action) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_action_get_name\n  type(c_ptr), value :: action\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const GVariantType * g_action_get_parameter_type (GAction *action);\nfunction g_action_get_parameter_type(action) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_action_get_parameter_type\n  type(c_ptr), value :: action\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const GVariantType * g_action_get_state_type (GAction *action);\nfunction g_action_get_state_type(action) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_action_get_state_type\n  type(c_ptr), value :: action\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GVariant * g_action_get_state_hint (GAction *action);\nfunction g_action_get_state_hint(action) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_action_get_state_hint\n  type(c_ptr), value :: action\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_action_get_enabled (GAction *action);\nfunction g_action_get_enabled(action) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_action_get_enabled\n  type(c_ptr), value :: action\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GVariant * g_action_get_state (GAction *action);\nfunction g_action_get_state(action) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_action_get_state\n  type(c_ptr), value :: action\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_action_change_state (GAction *action, GVariant *value);\nsubroutine g_action_change_state(action, value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: action\n  type(c_ptr), value :: value\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_action_activate (GAction *action, GVariant *parameter);\nsubroutine g_action_activate(action, parameter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: action\n  type(c_ptr), value :: parameter\nend subroutine\n\n! GIO_AVAILABLE_IN_2_28\n!gboolean g_action_name_is_valid (const gchar *action_name);\nfunction g_action_name_is_valid(action_name) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_action_name_is_valid\n  character(kind=c_char), dimension(*) :: action_name\nend function\n\n! GIO_AVAILABLE_IN_2_38\n!gboolean g_action_parse_detailed_name (const gchar *detailed_name, gchar **action_name, GVariant **target_value, GError **error);\nfunction g_action_parse_detailed_name(detailed_name, action_name, target_value,&\n& error) bind(c)\n  import :: c_int, c_char, c_ptr\n  implicit none\n  integer(c_int) :: g_action_parse_detailed_name\n  character(kind=c_char), dimension(*) :: detailed_name\n  type(c_ptr), dimension(*) :: action_name\n  type(c_ptr), dimension(*) :: target_value\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_38\n!gchar * g_action_print_detailed_name (const gchar *action_name, GVariant *target_value);\nfunction g_action_print_detailed_name(action_name, target_value) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_action_print_detailed_name\n  character(kind=c_char), dimension(*) :: action_name\n  type(c_ptr), value :: target_value\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gactiongroup.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_action_group_get_type (void) ;\nfunction g_action_group_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_action_group_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_action_group_has_action (GActionGroup *action_group, const gchar *action_name);\nfunction g_action_group_has_action(action_group, action_name) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_action_group_has_action\n  type(c_ptr), value :: action_group\n  character(kind=c_char), dimension(*) :: action_name\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gchar ** g_action_group_list_actions (GActionGroup *action_group);\nfunction g_action_group_list_actions(action_group) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_action_group_list_actions\n  type(c_ptr), value :: action_group\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const GVariantType * g_action_group_get_action_parameter_type (GActionGroup *action_group, const gchar *action_name);\nfunction g_action_group_get_action_parameter_type(action_group, action_name)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_action_group_get_action_parameter_type\n  type(c_ptr), value :: action_group\n  character(kind=c_char), dimension(*) :: action_name\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const GVariantType * g_action_group_get_action_state_type (GActionGroup *action_group, const gchar *action_name);\nfunction g_action_group_get_action_state_type(action_group, action_name)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_action_group_get_action_state_type\n  type(c_ptr), value :: action_group\n  character(kind=c_char), dimension(*) :: action_name\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GVariant * g_action_group_get_action_state_hint (GActionGroup *action_group, const gchar *action_name);\nfunction g_action_group_get_action_state_hint(action_group, action_name)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_action_group_get_action_state_hint\n  type(c_ptr), value :: action_group\n  character(kind=c_char), dimension(*) :: action_name\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_action_group_get_action_enabled (GActionGroup *action_group, const gchar *action_name);\nfunction g_action_group_get_action_enabled(action_group, action_name) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_action_group_get_action_enabled\n  type(c_ptr), value :: action_group\n  character(kind=c_char), dimension(*) :: action_name\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GVariant * g_action_group_get_action_state (GActionGroup *action_group, const gchar *action_name);\nfunction g_action_group_get_action_state(action_group, action_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_action_group_get_action_state\n  type(c_ptr), value :: action_group\n  character(kind=c_char), dimension(*) :: action_name\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_action_group_change_action_state (GActionGroup *action_group, const gchar *action_name, GVariant *value);\nsubroutine g_action_group_change_action_state(action_group, action_name, value)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: action_group\n  character(kind=c_char), dimension(*) :: action_name\n  type(c_ptr), value :: value\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_action_group_activate_action (GActionGroup *action_group, const gchar *action_name, GVariant *parameter);\nsubroutine g_action_group_activate_action(action_group, action_name, parameter)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: action_group\n  character(kind=c_char), dimension(*) :: action_name\n  type(c_ptr), value :: parameter\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_action_group_action_added (GActionGroup *action_group, const gchar *action_name);\nsubroutine g_action_group_action_added(action_group, action_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: action_group\n  character(kind=c_char), dimension(*) :: action_name\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_action_group_action_removed (GActionGroup *action_group, const gchar *action_name);\nsubroutine g_action_group_action_removed(action_group, action_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: action_group\n  character(kind=c_char), dimension(*) :: action_name\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_action_group_action_enabled_changed (GActionGroup *action_group, const gchar *action_name, gboolean enabled);\nsubroutine g_action_group_action_enabled_changed(action_group, action_name,&\n& enabled) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: action_group\n  character(kind=c_char), dimension(*) :: action_name\n  integer(c_int), value :: enabled\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_action_group_action_state_changed (GActionGroup *action_group, const gchar *action_name, GVariant *state);\nsubroutine g_action_group_action_state_changed(action_group, action_name,&\n& state) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: action_group\n  character(kind=c_char), dimension(*) :: action_name\n  type(c_ptr), value :: state\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!gboolean g_action_group_query_action (GActionGroup *action_group, const gchar *action_name, gboolean *enabled, const GVariantType **parameter_type, const GVariantType **state_type, GVariant **state_hint, GVariant **state) ;\nfunction g_action_group_query_action(action_group, action_name, enabled,&\n& parameter_type, state_type, state_hint, state) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_action_group_query_action\n  type(c_ptr), value :: action_group\n  character(kind=c_char), dimension(*) :: action_name\n  type(c_ptr), value :: enabled\n  type(c_ptr), dimension(*) :: parameter_type\n  type(c_ptr), dimension(*) :: state_type\n  type(c_ptr), dimension(*) :: state_hint\n  type(c_ptr), dimension(*) :: state\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gactiongroupexporter.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_2_32\n!guint g_dbus_connection_export_action_group (GDBusConnection *connection, const gchar *object_path, GActionGroup *action_group, GError **error);\nfunction g_dbus_connection_export_action_group(connection, object_path,&\n& action_group, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_dbus_connection_export_action_group\n  type(c_ptr), value :: connection\n  character(kind=c_char), dimension(*) :: object_path\n  type(c_ptr), value :: action_group\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!void g_dbus_connection_unexport_action_group (GDBusConnection *connection, guint export_id);\nsubroutine g_dbus_connection_unexport_action_group(connection, export_id)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: connection\n  integer(c_int), value :: export_id\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gactionmap.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_2_32\n!GType g_action_map_get_type (void) ;\nfunction g_action_map_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_action_map_get_type\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!GAction * g_action_map_lookup_action (GActionMap *action_map, const gchar *action_name);\nfunction g_action_map_lookup_action(action_map, action_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_action_map_lookup_action\n  type(c_ptr), value :: action_map\n  character(kind=c_char), dimension(*) :: action_name\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!void g_action_map_add_action (GActionMap *action_map, GAction *action);\nsubroutine g_action_map_add_action(action_map, action) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: action_map\n  type(c_ptr), value :: action\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!void g_action_map_remove_action (GActionMap *action_map, const gchar *action_name);\nsubroutine g_action_map_remove_action(action_map, action_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: action_map\n  character(kind=c_char), dimension(*) :: action_name\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!void g_action_map_add_action_entries (GActionMap *action_map, const GActionEntry *entries, gint n_entries, gpointer user_data);\nsubroutine g_action_map_add_action_entries(action_map, entries, n_entries,&\n& user_data) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: action_map\n  type(c_ptr), value :: entries\n  integer(c_int), value :: n_entries\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_2_78\n!void g_action_map_remove_action_entries (GActionMap *action_map, const GActionEntry *entries, gint n_entries);\nsubroutine g_action_map_remove_action_entries(action_map, entries, n_entries)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: action_map\n  type(c_ptr), value :: entries\n  integer(c_int), value :: n_entries\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gappinfo.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_app_info_get_type (void) ;\nfunction g_app_info_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_app_info_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GAppInfo * g_app_info_create_from_commandline (const char *commandline, const char *application_name, GAppInfoCreateFlags flags, GError **error);\nfunction g_app_info_create_from_commandline(commandline, application_name,&\n& flags, error) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_app_info_create_from_commandline\n  character(kind=c_char), dimension(*) :: commandline\n  character(kind=c_char), dimension(*) :: application_name\n  integer(c_int), value :: flags\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GAppInfo * g_app_info_dup (GAppInfo *appinfo);\nfunction g_app_info_dup(appinfo) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_app_info_dup\n  type(c_ptr), value :: appinfo\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_app_info_equal (GAppInfo *appinfo1, GAppInfo *appinfo2);\nfunction g_app_info_equal(appinfo1, appinfo2) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_app_info_equal\n  type(c_ptr), value :: appinfo1\n  type(c_ptr), value :: appinfo2\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const char *g_app_info_get_id (GAppInfo *appinfo);\nfunction g_app_info_get_id(appinfo) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_app_info_get_id\n  type(c_ptr), value :: appinfo\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const char *g_app_info_get_name (GAppInfo *appinfo);\nfunction g_app_info_get_name(appinfo) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_app_info_get_name\n  type(c_ptr), value :: appinfo\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const char *g_app_info_get_display_name (GAppInfo *appinfo);\nfunction g_app_info_get_display_name(appinfo) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_app_info_get_display_name\n  type(c_ptr), value :: appinfo\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const char *g_app_info_get_description (GAppInfo *appinfo);\nfunction g_app_info_get_description(appinfo) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_app_info_get_description\n  type(c_ptr), value :: appinfo\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const char *g_app_info_get_executable (GAppInfo *appinfo);\nfunction g_app_info_get_executable(appinfo) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_app_info_get_executable\n  type(c_ptr), value :: appinfo\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const char *g_app_info_get_commandline (GAppInfo *appinfo);\nfunction g_app_info_get_commandline(appinfo) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_app_info_get_commandline\n  type(c_ptr), value :: appinfo\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GIcon * g_app_info_get_icon (GAppInfo *appinfo);\nfunction g_app_info_get_icon(appinfo) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_app_info_get_icon\n  type(c_ptr), value :: appinfo\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_app_info_launch (GAppInfo *appinfo, GList *files, GAppLaunchContext *context, GError **error);\nfunction g_app_info_launch(appinfo, files, context, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_app_info_launch\n  type(c_ptr), value :: appinfo\n  type(c_ptr), value :: files\n  type(c_ptr), value :: context\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_app_info_supports_uris (GAppInfo *appinfo);\nfunction g_app_info_supports_uris(appinfo) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_app_info_supports_uris\n  type(c_ptr), value :: appinfo\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_app_info_supports_files (GAppInfo *appinfo);\nfunction g_app_info_supports_files(appinfo) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_app_info_supports_files\n  type(c_ptr), value :: appinfo\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_app_info_launch_uris (GAppInfo *appinfo, GList *uris, GAppLaunchContext *context, GError **error);\nfunction g_app_info_launch_uris(appinfo, uris, context, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_app_info_launch_uris\n  type(c_ptr), value :: appinfo\n  type(c_ptr), value :: uris\n  type(c_ptr), value :: context\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_60\n!void g_app_info_launch_uris_async (GAppInfo *appinfo, GList *uris, GAppLaunchContext *context, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_app_info_launch_uris_async(appinfo, uris, context, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: appinfo\n  type(c_ptr), value :: uris\n  type(c_ptr), value :: context\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_2_60\n!gboolean g_app_info_launch_uris_finish (GAppInfo *appinfo, GAsyncResult *result, GError **error);\nfunction g_app_info_launch_uris_finish(appinfo, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_app_info_launch_uris_finish\n  type(c_ptr), value :: appinfo\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_app_info_should_show (GAppInfo *appinfo);\nfunction g_app_info_should_show(appinfo) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_app_info_should_show\n  type(c_ptr), value :: appinfo\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_app_info_set_as_default_for_type (GAppInfo *appinfo, const char *content_type, GError **error);\nfunction g_app_info_set_as_default_for_type(appinfo, content_type, error)&\n& bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_app_info_set_as_default_for_type\n  type(c_ptr), value :: appinfo\n  character(kind=c_char), dimension(*) :: content_type\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_app_info_set_as_default_for_extension (GAppInfo *appinfo, const char *extension, GError **error);\nfunction g_app_info_set_as_default_for_extension(appinfo, extension, error)&\n& bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_app_info_set_as_default_for_extension\n  type(c_ptr), value :: appinfo\n  character(kind=c_char), dimension(*) :: extension\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_app_info_add_supports_type (GAppInfo *appinfo, const char *content_type, GError **error);\nfunction g_app_info_add_supports_type(appinfo, content_type, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_app_info_add_supports_type\n  type(c_ptr), value :: appinfo\n  character(kind=c_char), dimension(*) :: content_type\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_app_info_can_remove_supports_type (GAppInfo *appinfo);\nfunction g_app_info_can_remove_supports_type(appinfo) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_app_info_can_remove_supports_type\n  type(c_ptr), value :: appinfo\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_app_info_remove_supports_type (GAppInfo *appinfo, const char *content_type, GError **error);\nfunction g_app_info_remove_supports_type(appinfo, content_type, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_app_info_remove_supports_type\n  type(c_ptr), value :: appinfo\n  character(kind=c_char), dimension(*) :: content_type\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_34\n!const char **g_app_info_get_supported_types (GAppInfo *appinfo);\nfunction g_app_info_get_supported_types(appinfo) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_app_info_get_supported_types\n  type(c_ptr), value :: appinfo\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_app_info_can_delete (GAppInfo *appinfo);\nfunction g_app_info_can_delete(appinfo) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_app_info_can_delete\n  type(c_ptr), value :: appinfo\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_app_info_delete (GAppInfo *appinfo);\nfunction g_app_info_delete(appinfo) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_app_info_delete\n  type(c_ptr), value :: appinfo\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_app_info_set_as_last_used_for_type (GAppInfo *appinfo, const char *content_type, GError **error);\nfunction g_app_info_set_as_last_used_for_type(appinfo, content_type, error)&\n& bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_app_info_set_as_last_used_for_type\n  type(c_ptr), value :: appinfo\n  character(kind=c_char), dimension(*) :: content_type\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GList * g_app_info_get_all (void);\nfunction g_app_info_get_all() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_app_info_get_all\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GList * g_app_info_get_all_for_type (const char *content_type);\nfunction g_app_info_get_all_for_type(content_type) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_app_info_get_all_for_type\n  character(kind=c_char), dimension(*) :: content_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GList * g_app_info_get_recommended_for_type (const gchar *content_type);\nfunction g_app_info_get_recommended_for_type(content_type) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_app_info_get_recommended_for_type\n  character(kind=c_char), dimension(*) :: content_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GList * g_app_info_get_fallback_for_type (const gchar *content_type);\nfunction g_app_info_get_fallback_for_type(content_type) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_app_info_get_fallback_for_type\n  character(kind=c_char), dimension(*) :: content_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_app_info_reset_type_associations (const char *content_type);\nsubroutine g_app_info_reset_type_associations(content_type) bind(c)\n  import :: c_char\n  implicit none\n  character(kind=c_char), dimension(*) :: content_type\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GAppInfo *g_app_info_get_default_for_type (const char *content_type, gboolean must_support_uris);\nfunction g_app_info_get_default_for_type(content_type, must_support_uris)&\n& bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_app_info_get_default_for_type\n  character(kind=c_char), dimension(*) :: content_type\n  integer(c_int), value :: must_support_uris\nend function\n\n! GIO_AVAILABLE_IN_2_74\n!void g_app_info_get_default_for_type_async (const char *content_type, gboolean must_support_uris, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_app_info_get_default_for_type_async(content_type,&\n& must_support_uris, cancellable, callback, user_data) bind(c)\n  import :: c_char, c_int, c_ptr, c_funptr\n  implicit none\n  character(kind=c_char), dimension(*) :: content_type\n  integer(c_int), value :: must_support_uris\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_2_74\n!GAppInfo *g_app_info_get_default_for_type_finish (GAsyncResult *result, GError **error);\nfunction g_app_info_get_default_for_type_finish(result, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_app_info_get_default_for_type_finish\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GAppInfo *g_app_info_get_default_for_uri_scheme (const char *uri_scheme);\nfunction g_app_info_get_default_for_uri_scheme(uri_scheme) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_app_info_get_default_for_uri_scheme\n  character(kind=c_char), dimension(*) :: uri_scheme\nend function\n\n! GIO_AVAILABLE_IN_2_74\n!void g_app_info_get_default_for_uri_scheme_async (const char *uri_scheme, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_app_info_get_default_for_uri_scheme_async(uri_scheme, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_char, c_ptr, c_funptr\n  implicit none\n  character(kind=c_char), dimension(*) :: uri_scheme\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_2_74\n!GAppInfo *g_app_info_get_default_for_uri_scheme_finish (GAsyncResult *result, GError **error);\nfunction g_app_info_get_default_for_uri_scheme_finish(result, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_app_info_get_default_for_uri_scheme_finish\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_app_info_launch_default_for_uri (const char *uri, GAppLaunchContext *context, GError **error);\nfunction g_app_info_launch_default_for_uri(uri, context, error) bind(c)\n  import :: c_int, c_char, c_ptr\n  implicit none\n  integer(c_int) :: g_app_info_launch_default_for_uri\n  character(kind=c_char), dimension(*) :: uri\n  type(c_ptr), value :: context\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_50\n!void g_app_info_launch_default_for_uri_async (const char *uri, GAppLaunchContext *context, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_app_info_launch_default_for_uri_async(uri, context, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_char, c_ptr, c_funptr\n  implicit none\n  character(kind=c_char), dimension(*) :: uri\n  type(c_ptr), value :: context\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_2_50\n!gboolean g_app_info_launch_default_for_uri_finish (GAsyncResult *result, GError **error);\nfunction g_app_info_launch_default_for_uri_finish(result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_app_info_launch_default_for_uri_finish\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GType g_app_launch_context_get_type (void) ;\nfunction g_app_launch_context_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_app_launch_context_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GAppLaunchContext *g_app_launch_context_new (void);\nfunction g_app_launch_context_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_app_launch_context_new\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!void g_app_launch_context_setenv (GAppLaunchContext *context, const char *variable, const char *value);\nsubroutine g_app_launch_context_setenv(context, variable, value) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: context\n  character(kind=c_char), dimension(*) :: variable\n  character(kind=c_char), dimension(*) :: value\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!void g_app_launch_context_unsetenv (GAppLaunchContext *context, const char *variable);\nsubroutine g_app_launch_context_unsetenv(context, variable) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: context\n  character(kind=c_char), dimension(*) :: variable\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!char ** g_app_launch_context_get_environment (GAppLaunchContext *context);\nfunction g_app_launch_context_get_environment(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_app_launch_context_get_environment\n  type(c_ptr), value :: context\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!char * g_app_launch_context_get_display (GAppLaunchContext *context, GAppInfo *info, GList *files);\nfunction g_app_launch_context_get_display(context, info, files) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_app_launch_context_get_display\n  type(c_ptr), value :: context\n  type(c_ptr), value :: info\n  type(c_ptr), value :: files\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!char * g_app_launch_context_get_startup_notify_id (GAppLaunchContext *context, GAppInfo *info, GList *files);\nfunction g_app_launch_context_get_startup_notify_id(context, info, files)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_app_launch_context_get_startup_notify_id\n  type(c_ptr), value :: context\n  type(c_ptr), value :: info\n  type(c_ptr), value :: files\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_app_launch_context_launch_failed (GAppLaunchContext *context, const char * startup_notify_id);\nsubroutine g_app_launch_context_launch_failed(context, startup_notify_id)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: context\n  character(kind=c_char), dimension(*) :: startup_notify_id\nend subroutine\n\n! GIO_AVAILABLE_IN_2_40\n!GType g_app_info_monitor_get_type (void);\nfunction g_app_info_monitor_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_app_info_monitor_get_type\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!GAppInfoMonitor * g_app_info_monitor_get (void);\nfunction g_app_info_monitor_get() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_app_info_monitor_get\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gapplication.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_application_get_type (void) ;\nfunction g_application_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_application_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_application_id_is_valid (const gchar *application_id);\nfunction g_application_id_is_valid(application_id) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_application_id_is_valid\n  character(kind=c_char), dimension(*) :: application_id\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GApplication * g_application_new (const gchar *application_id, GApplicationFlags flags);\nfunction g_application_new(application_id, flags) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_application_new\n  character(kind=c_char), dimension(*) :: application_id\n  integer(c_int), value :: flags\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar * g_application_get_application_id (GApplication *application);\nfunction g_application_get_application_id(application) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_application_get_application_id\n  type(c_ptr), value :: application\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_application_set_application_id (GApplication *application, const gchar *application_id);\nsubroutine g_application_set_application_id(application, application_id)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: application\n  character(kind=c_char), dimension(*) :: application_id\nend subroutine\n\n! GIO_AVAILABLE_IN_2_80\n!const gchar * g_application_get_version (GApplication *application);\nfunction g_application_get_version(application) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_application_get_version\n  type(c_ptr), value :: application\nend function\n\n! GIO_AVAILABLE_IN_2_80\n!void g_application_set_version (GApplication *application, const gchar *version);\nsubroutine g_application_set_version(application, version) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: application\n  character(kind=c_char), dimension(*) :: version\nend subroutine\n\n! GIO_AVAILABLE_IN_2_34\n!GDBusConnection * g_application_get_dbus_connection (GApplication *application);\nfunction g_application_get_dbus_connection(application) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_application_get_dbus_connection\n  type(c_ptr), value :: application\nend function\n\n! GIO_AVAILABLE_IN_2_34\n!const gchar * g_application_get_dbus_object_path (GApplication *application);\nfunction g_application_get_dbus_object_path(application) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_application_get_dbus_object_path\n  type(c_ptr), value :: application\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!guint g_application_get_inactivity_timeout (GApplication *application);\nfunction g_application_get_inactivity_timeout(application) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_application_get_inactivity_timeout\n  type(c_ptr), value :: application\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_application_set_inactivity_timeout (GApplication *application, guint inactivity_timeout);\nsubroutine g_application_set_inactivity_timeout(application,&\n& inactivity_timeout) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: application\n  integer(c_int), value :: inactivity_timeout\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GApplicationFlags g_application_get_flags (GApplication *application);\nfunction g_application_get_flags(application) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_application_get_flags\n  type(c_ptr), value :: application\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_application_set_flags (GApplication *application, GApplicationFlags flags);\nsubroutine g_application_set_flags(application, flags) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: application\n  integer(c_int), value :: flags\nend subroutine\n\n! GIO_AVAILABLE_IN_2_42\n!const gchar * g_application_get_resource_base_path (GApplication *application);\nfunction g_application_get_resource_base_path(application) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_application_get_resource_base_path\n  type(c_ptr), value :: application\nend function\n\n! GIO_AVAILABLE_IN_2_42\n!void g_application_set_resource_base_path (GApplication *application, const gchar *resource_path);\nsubroutine g_application_set_resource_base_path(application, resource_path)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: application\n  character(kind=c_char), dimension(*) :: resource_path\nend subroutine\n\n! GIO_DEPRECATED\n!void g_application_set_action_group (GApplication *application, GActionGroup *action_group);\nsubroutine g_application_set_action_group(application, action_group) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: application\n  type(c_ptr), value :: action_group\nend subroutine\n\n! GIO_AVAILABLE_IN_2_40\n!void g_application_add_main_option_entries (GApplication *application, const GOptionEntry *entries);\nsubroutine g_application_add_main_option_entries(application, entries) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: application\n  type(c_ptr), value :: entries\nend subroutine\n\n! GIO_AVAILABLE_IN_2_42\n!void g_application_add_main_option (GApplication *application, const char *long_name, char short_name, GOptionFlags flags, GOptionArg arg, const char *description, const char *arg_description);\nsubroutine g_application_add_main_option(application, long_name, short_name,&\n& flags, arg, description, arg_description) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: application\n  character(kind=c_char), dimension(*) :: long_name\n  character(kind=c_char), value :: short_name\n  integer(c_int), value :: flags\n  integer(c_int), value :: arg\n  character(kind=c_char), dimension(*) :: description\n  character(kind=c_char), dimension(*) :: arg_description\nend subroutine\n\n! GIO_AVAILABLE_IN_2_40\n!void g_application_add_option_group (GApplication *application, GOptionGroup *group);\nsubroutine g_application_add_option_group(application, group) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: application\n  type(c_ptr), value :: group\nend subroutine\n\n! GIO_AVAILABLE_IN_2_56\n!void g_application_set_option_context_parameter_string (GApplication *application, const gchar *parameter_string);\nsubroutine g_application_set_option_context_parameter_string(application,&\n& parameter_string) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: application\n  character(kind=c_char), dimension(*) :: parameter_string\nend subroutine\n\n! GIO_AVAILABLE_IN_2_56\n!void g_application_set_option_context_summary (GApplication *application, const gchar *summary);\nsubroutine g_application_set_option_context_summary(application, summary)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: application\n  character(kind=c_char), dimension(*) :: summary\nend subroutine\n\n! GIO_AVAILABLE_IN_2_56\n!void g_application_set_option_context_description (GApplication *application, const gchar *description);\nsubroutine g_application_set_option_context_description(application,&\n& description) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: application\n  character(kind=c_char), dimension(*) :: description\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_application_get_is_registered (GApplication *application);\nfunction g_application_get_is_registered(application) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_application_get_is_registered\n  type(c_ptr), value :: application\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_application_get_is_remote (GApplication *application);\nfunction g_application_get_is_remote(application) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_application_get_is_remote\n  type(c_ptr), value :: application\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_application_register (GApplication *application, GCancellable *cancellable, GError **error);\nfunction g_application_register(application, cancellable, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_application_register\n  type(c_ptr), value :: application\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_application_hold (GApplication *application);\nsubroutine g_application_hold(application) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: application\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_application_release (GApplication *application);\nsubroutine g_application_release(application) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: application\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_application_activate (GApplication *application);\nsubroutine g_application_activate(application) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: application\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_application_open (GApplication *application, GFile **files, gint n_files, const gchar *hint);\nsubroutine g_application_open(application, files, n_files, hint) bind(c)\n  import :: c_ptr, c_int, c_char\n  implicit none\n  type(c_ptr), value :: application\n  type(c_ptr), value :: files\n  integer(c_int), value :: n_files\n  character(kind=c_char), dimension(*) :: hint\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!int g_application_run (GApplication *application, int argc, char **argv);\nfunction g_application_run(application, argc, argv) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_application_run\n  type(c_ptr), value :: application\n  integer(c_int), value :: argc\n  type(c_ptr), dimension(*) :: argv\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!void g_application_quit (GApplication *application);\nsubroutine g_application_quit(application) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: application\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!GApplication * g_application_get_default (void);\nfunction g_application_get_default() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_application_get_default\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!void g_application_set_default (GApplication *application);\nsubroutine g_application_set_default(application) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: application\nend subroutine\n\n! GIO_AVAILABLE_IN_2_38\n!void g_application_mark_busy (GApplication *application);\nsubroutine g_application_mark_busy(application) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: application\nend subroutine\n\n! GIO_AVAILABLE_IN_2_38\n!void g_application_unmark_busy (GApplication *application);\nsubroutine g_application_unmark_busy(application) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: application\nend subroutine\n\n! GIO_AVAILABLE_IN_2_44\n!gboolean g_application_get_is_busy (GApplication *application);\nfunction g_application_get_is_busy(application) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_application_get_is_busy\n  type(c_ptr), value :: application\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!void g_application_send_notification (GApplication *application, const gchar *id, GNotification *notification);\nsubroutine g_application_send_notification(application, id, notification)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: application\n  character(kind=c_char), dimension(*) :: id\n  type(c_ptr), value :: notification\nend subroutine\n\n! GIO_AVAILABLE_IN_2_40\n!void g_application_withdraw_notification (GApplication *application, const gchar *id);\nsubroutine g_application_withdraw_notification(application, id) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: application\n  character(kind=c_char), dimension(*) :: id\nend subroutine\n\n! GIO_AVAILABLE_IN_2_44\n!void g_application_bind_busy_property (GApplication *application, gpointer object, const gchar *property);\nsubroutine g_application_bind_busy_property(application, object, property)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: application\n  type(c_ptr), value :: object\n  character(kind=c_char), dimension(*) :: property\nend subroutine\n\n! GIO_AVAILABLE_IN_2_44\n!void g_application_unbind_busy_property (GApplication *application, gpointer object, const gchar *property);\nsubroutine g_application_unbind_busy_property(application, object, property)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: application\n  type(c_ptr), value :: object\n  character(kind=c_char), dimension(*) :: property\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gapplicationcommandline.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_application_command_line_get_type (void) ;\nfunction g_application_command_line_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_application_command_line_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gchar ** g_application_command_line_get_arguments (GApplicationCommandLine *cmdline, int *argc);\nfunction g_application_command_line_get_arguments(cmdline, argc) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_application_command_line_get_arguments\n  type(c_ptr), value :: cmdline\n  type(c_ptr), value :: argc\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!GVariantDict * g_application_command_line_get_options_dict (GApplicationCommandLine *cmdline);\nfunction g_application_command_line_get_options_dict(cmdline) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_application_command_line_get_options_dict\n  type(c_ptr), value :: cmdline\nend function\n\n! GIO_AVAILABLE_IN_2_36\n!GInputStream * g_application_command_line_get_stdin (GApplicationCommandLine *cmdline);\nfunction g_application_command_line_get_stdin(cmdline) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_application_command_line_get_stdin\n  type(c_ptr), value :: cmdline\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar * const * g_application_command_line_get_environ (GApplicationCommandLine *cmdline);\nfunction g_application_command_line_get_environ(cmdline) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_application_command_line_get_environ\n  type(c_ptr), value :: cmdline\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar * g_application_command_line_getenv (GApplicationCommandLine *cmdline, const gchar *name);\nfunction g_application_command_line_getenv(cmdline, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_application_command_line_getenv\n  type(c_ptr), value :: cmdline\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar * g_application_command_line_get_cwd (GApplicationCommandLine *cmdline);\nfunction g_application_command_line_get_cwd(cmdline) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_application_command_line_get_cwd\n  type(c_ptr), value :: cmdline\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_application_command_line_get_is_remote (GApplicationCommandLine *cmdline);\nfunction g_application_command_line_get_is_remote(cmdline) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_application_command_line_get_is_remote\n  type(c_ptr), value :: cmdline\nend function\n\n! GIO_AVAILABLE_IN_2_80\n!void g_application_command_line_print_literal (GApplicationCommandLine *cmdline, const gchar *message);\nsubroutine g_application_command_line_print_literal(cmdline, message) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: cmdline\n  character(kind=c_char), dimension(*) :: message\nend subroutine\n\n! GIO_AVAILABLE_IN_2_80\n!void g_application_command_line_printerr_literal (GApplicationCommandLine *cmdline, const gchar *message);\nsubroutine g_application_command_line_printerr_literal(cmdline, message)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: cmdline\n  character(kind=c_char), dimension(*) :: message\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!int g_application_command_line_get_exit_status (GApplicationCommandLine *cmdline);\nfunction g_application_command_line_get_exit_status(cmdline) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_application_command_line_get_exit_status\n  type(c_ptr), value :: cmdline\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_application_command_line_set_exit_status (GApplicationCommandLine *cmdline, int exit_status);\nsubroutine g_application_command_line_set_exit_status(cmdline, exit_status)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: cmdline\n  integer(c_int), value :: exit_status\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GVariant * g_application_command_line_get_platform_data (GApplicationCommandLine *cmdline);\nfunction g_application_command_line_get_platform_data(cmdline) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_application_command_line_get_platform_data\n  type(c_ptr), value :: cmdline\nend function\n\n! GIO_AVAILABLE_IN_2_36\n!GFile * g_application_command_line_create_file_for_arg (GApplicationCommandLine *cmdline, const gchar *arg);\nfunction g_application_command_line_create_file_for_arg(cmdline, arg) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_application_command_line_create_file_for_arg\n  type(c_ptr), value :: cmdline\n  character(kind=c_char), dimension(*) :: arg\nend function\n\n! GIO_AVAILABLE_IN_2_80\n!void g_application_command_line_done (GApplicationCommandLine *cmdline);\nsubroutine g_application_command_line_done(cmdline) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cmdline\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gasyncinitable.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_async_initable_get_type (void) ;\nfunction g_async_initable_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_async_initable_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_async_initable_init_async (GAsyncInitable *initable, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_async_initable_init_async(initable, io_priority, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: initable\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_async_initable_init_finish (GAsyncInitable *initable, GAsyncResult *res, GError **error);\nfunction g_async_initable_init_finish(initable, res, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_async_initable_init_finish\n  type(c_ptr), value :: initable\n  type(c_ptr), value :: res\n  type(c_ptr), value :: error\nend function\n\n! GIO_DEPRECATED_IN_2_54_FOR(g_object_new_with_properties and g_async_initable_init_async)\n!void g_async_initable_newv_async (GType object_type, guint n_parameters, GParameter *parameters, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_async_initable_newv_async(object_type, n_parameters, parameters,&\n& io_priority, cancellable, callback, user_data) bind(c)\n  import :: c_size_t, c_int, c_ptr, c_funptr\n  implicit none\n  integer(c_size_t), value :: object_type\n  integer(c_int), value :: n_parameters\n  type(c_ptr), value :: parameters\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_async_initable_new_valist_async (GType object_type, const gchar *first_property_name, va_list var_args, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_async_initable_new_valist_async(object_type, first_property_name,&\n& var_args, io_priority, cancellable, callback, user_data) bind(c)\n  import :: c_size_t, c_char, c_ptr, c_int, c_funptr\n  implicit none\n  integer(c_size_t), value :: object_type\n  character(kind=c_char), dimension(*) :: first_property_name\n  type(c_ptr), value :: var_args\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GObject *g_async_initable_new_finish (GAsyncInitable *initable, GAsyncResult *res, GError **error);\nfunction g_async_initable_new_finish(initable, res, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_async_initable_new_finish\n  type(c_ptr), value :: initable\n  type(c_ptr), value :: res\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gasyncresult.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_async_result_get_type (void) ;\nfunction g_async_result_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_async_result_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gpointer g_async_result_get_user_data (GAsyncResult *res);\nfunction g_async_result_get_user_data(res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_async_result_get_user_data\n  type(c_ptr), value :: res\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GObject *g_async_result_get_source_object (GAsyncResult *res);\nfunction g_async_result_get_source_object(res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_async_result_get_source_object\n  type(c_ptr), value :: res\nend function\n\n! GIO_AVAILABLE_IN_2_34\n!gboolean g_async_result_legacy_propagate_error (GAsyncResult *res, GError **error);\nfunction g_async_result_legacy_propagate_error(res, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_async_result_legacy_propagate_error\n  type(c_ptr), value :: res\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_34\n!gboolean g_async_result_is_tagged (GAsyncResult *res, gpointer source_tag);\nfunction g_async_result_is_tagged(res, source_tag) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_async_result_is_tagged\n  type(c_ptr), value :: res\n  type(c_ptr), value :: source_tag\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gbufferedinputstream.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_buffered_input_stream_get_type (void) ;\nfunction g_buffered_input_stream_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_buffered_input_stream_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GInputStream* g_buffered_input_stream_new (GInputStream *base_stream);\nfunction g_buffered_input_stream_new(base_stream) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_buffered_input_stream_new\n  type(c_ptr), value :: base_stream\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GInputStream* g_buffered_input_stream_new_sized (GInputStream *base_stream, gsize size);\nfunction g_buffered_input_stream_new_sized(base_stream, size) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_buffered_input_stream_new_sized\n  type(c_ptr), value :: base_stream\n  integer(c_size_t), value :: size\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gsize g_buffered_input_stream_get_buffer_size (GBufferedInputStream *stream);\nfunction g_buffered_input_stream_get_buffer_size(stream) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_buffered_input_stream_get_buffer_size\n  type(c_ptr), value :: stream\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_buffered_input_stream_set_buffer_size (GBufferedInputStream *stream, gsize size);\nsubroutine g_buffered_input_stream_set_buffer_size(stream, size) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr), value :: stream\n  integer(c_size_t), value :: size\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gsize g_buffered_input_stream_get_available (GBufferedInputStream *stream);\nfunction g_buffered_input_stream_get_available(stream) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_buffered_input_stream_get_available\n  type(c_ptr), value :: stream\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gsize g_buffered_input_stream_peek (GBufferedInputStream *stream, void *buffer, gsize offset, gsize count);\nfunction g_buffered_input_stream_peek(stream, buffer, offset, count) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_buffered_input_stream_peek\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: buffer\n  integer(c_size_t), value :: offset\n  integer(c_size_t), value :: count\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const void* g_buffered_input_stream_peek_buffer (GBufferedInputStream *stream, gsize *count);\nfunction g_buffered_input_stream_peek_buffer(stream, count) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_buffered_input_stream_peek_buffer\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: count\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gssize g_buffered_input_stream_fill (GBufferedInputStream *stream, gssize count, GCancellable *cancellable, GError **error);\nfunction g_buffered_input_stream_fill(stream, count, cancellable, error)&\n& bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_buffered_input_stream_fill\n  type(c_ptr), value :: stream\n  integer(c_size_t), value :: count\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_buffered_input_stream_fill_async (GBufferedInputStream *stream, gssize count, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_buffered_input_stream_fill_async(stream, count, io_priority,&\n& cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_size_t, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: stream\n  integer(c_size_t), value :: count\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gssize g_buffered_input_stream_fill_finish (GBufferedInputStream *stream, GAsyncResult *result, GError **error);\nfunction g_buffered_input_stream_fill_finish(stream, result, error) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_buffered_input_stream_fill_finish\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!int g_buffered_input_stream_read_byte (GBufferedInputStream *stream, GCancellable *cancellable, GError **error);\nfunction g_buffered_input_stream_read_byte(stream, cancellable, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_buffered_input_stream_read_byte\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gbufferedoutputstream.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_buffered_output_stream_get_type (void) ;\nfunction g_buffered_output_stream_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_buffered_output_stream_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GOutputStream* g_buffered_output_stream_new (GOutputStream *base_stream);\nfunction g_buffered_output_stream_new(base_stream) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_buffered_output_stream_new\n  type(c_ptr), value :: base_stream\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GOutputStream* g_buffered_output_stream_new_sized (GOutputStream *base_stream, gsize size);\nfunction g_buffered_output_stream_new_sized(base_stream, size) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_buffered_output_stream_new_sized\n  type(c_ptr), value :: base_stream\n  integer(c_size_t), value :: size\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gsize g_buffered_output_stream_get_buffer_size (GBufferedOutputStream *stream);\nfunction g_buffered_output_stream_get_buffer_size(stream) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_buffered_output_stream_get_buffer_size\n  type(c_ptr), value :: stream\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_buffered_output_stream_set_buffer_size (GBufferedOutputStream *stream, gsize size);\nsubroutine g_buffered_output_stream_set_buffer_size(stream, size) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr), value :: stream\n  integer(c_size_t), value :: size\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_buffered_output_stream_get_auto_grow (GBufferedOutputStream *stream);\nfunction g_buffered_output_stream_get_auto_grow(stream) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_buffered_output_stream_get_auto_grow\n  type(c_ptr), value :: stream\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_buffered_output_stream_set_auto_grow (GBufferedOutputStream *stream, gboolean auto_grow);\nsubroutine g_buffered_output_stream_set_auto_grow(stream, auto_grow) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: stream\n  integer(c_int), value :: auto_grow\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gbytesicon.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_2_38\n!GType g_bytes_icon_get_type (void) ;\nfunction g_bytes_icon_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_bytes_icon_get_type\nend function\n\n! GIO_AVAILABLE_IN_2_38\n!GIcon * g_bytes_icon_new (GBytes *bytes);\nfunction g_bytes_icon_new(bytes) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_bytes_icon_new\n  type(c_ptr), value :: bytes\nend function\n\n! GIO_AVAILABLE_IN_2_38\n!GBytes * g_bytes_icon_get_bytes (GBytesIcon *icon);\nfunction g_bytes_icon_get_bytes(icon) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_bytes_icon_get_bytes\n  type(c_ptr), value :: icon\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gcancellable.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_cancellable_get_type (void) ;\nfunction g_cancellable_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_cancellable_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GCancellable *g_cancellable_new (void);\nfunction g_cancellable_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_cancellable_new\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_cancellable_is_cancelled (GCancellable *cancellable);\nfunction g_cancellable_is_cancelled(cancellable) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_cancellable_is_cancelled\n  type(c_ptr), value :: cancellable\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_cancellable_set_error_if_cancelled (GCancellable *cancellable, GError **error);\nfunction g_cancellable_set_error_if_cancelled(cancellable, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_cancellable_set_error_if_cancelled\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!int g_cancellable_get_fd (GCancellable *cancellable);\nfunction g_cancellable_get_fd(cancellable) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_cancellable_get_fd\n  type(c_ptr), value :: cancellable\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_cancellable_make_pollfd (GCancellable *cancellable, GPollFD *pollfd);\nfunction g_cancellable_make_pollfd(cancellable, pollfd) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_cancellable_make_pollfd\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: pollfd\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_cancellable_release_fd (GCancellable *cancellable);\nsubroutine g_cancellable_release_fd(cancellable) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cancellable\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GSource * g_cancellable_source_new (GCancellable *cancellable);\nfunction g_cancellable_source_new(cancellable) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_cancellable_source_new\n  type(c_ptr), value :: cancellable\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GCancellable *g_cancellable_get_current (void);\nfunction g_cancellable_get_current() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_cancellable_get_current\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_cancellable_push_current (GCancellable *cancellable);\nsubroutine g_cancellable_push_current(cancellable) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cancellable\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_cancellable_pop_current (GCancellable *cancellable);\nsubroutine g_cancellable_pop_current(cancellable) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cancellable\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_cancellable_reset (GCancellable *cancellable);\nsubroutine g_cancellable_reset(cancellable) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cancellable\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gulong g_cancellable_connect (GCancellable *cancellable, GCallback callback, gpointer data, GDestroyNotify data_destroy_func);\nfunction g_cancellable_connect(cancellable, callback, data, data_destroy_func)&\n& bind(c)\n  import :: c_long, c_ptr, c_funptr\n  implicit none\n  integer(c_long) :: g_cancellable_connect\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: data\n  type(c_funptr), value :: data_destroy_func\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_cancellable_disconnect (GCancellable *cancellable, gulong handler_id);\nsubroutine g_cancellable_disconnect(cancellable, handler_id) bind(c)\n  import :: c_ptr, c_long\n  implicit none\n  type(c_ptr), value :: cancellable\n  integer(c_long), value :: handler_id\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_cancellable_cancel (GCancellable *cancellable);\nsubroutine g_cancellable_cancel(cancellable) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cancellable\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gcharsetconverter.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_charset_converter_get_type (void) ;\nfunction g_charset_converter_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_charset_converter_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GCharsetConverter *g_charset_converter_new (const gchar *to_charset, const gchar *from_charset, GError **error);\nfunction g_charset_converter_new(to_charset, from_charset, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_charset_converter_new\n  character(kind=c_char), dimension(*) :: to_charset\n  character(kind=c_char), dimension(*) :: from_charset\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_charset_converter_set_use_fallback (GCharsetConverter *converter, gboolean use_fallback);\nsubroutine g_charset_converter_set_use_fallback(converter, use_fallback)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: converter\n  integer(c_int), value :: use_fallback\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_charset_converter_get_use_fallback (GCharsetConverter *converter);\nfunction g_charset_converter_get_use_fallback(converter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_charset_converter_get_use_fallback\n  type(c_ptr), value :: converter\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!guint g_charset_converter_get_num_fallbacks (GCharsetConverter *converter);\nfunction g_charset_converter_get_num_fallbacks(converter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_charset_converter_get_num_fallbacks\n  type(c_ptr), value :: converter\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gcontenttype.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_content_type_equals (const gchar *type1, const gchar *type2);\nfunction g_content_type_equals(type1, type2) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_content_type_equals\n  character(kind=c_char), dimension(*) :: type1\n  character(kind=c_char), dimension(*) :: type2\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_content_type_is_a (const gchar *type, const gchar *supertype);\nfunction g_content_type_is_a(type, supertype) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_content_type_is_a\n  character(kind=c_char), dimension(*) :: type\n  character(kind=c_char), dimension(*) :: supertype\nend function\n\n! GIO_AVAILABLE_IN_2_52\n!gboolean g_content_type_is_mime_type (const gchar *type, const gchar *mime_type);\nfunction g_content_type_is_mime_type(type, mime_type) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_content_type_is_mime_type\n  character(kind=c_char), dimension(*) :: type\n  character(kind=c_char), dimension(*) :: mime_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_content_type_is_unknown (const gchar *type);\nfunction g_content_type_is_unknown(type) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_content_type_is_unknown\n  character(kind=c_char), dimension(*) :: type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gchar * g_content_type_get_description (const gchar *type);\nfunction g_content_type_get_description(type) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_content_type_get_description\n  character(kind=c_char), dimension(*) :: type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gchar * g_content_type_get_mime_type (const gchar *type);\nfunction g_content_type_get_mime_type(type) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_content_type_get_mime_type\n  character(kind=c_char), dimension(*) :: type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GIcon * g_content_type_get_icon (const gchar *type);\nfunction g_content_type_get_icon(type) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_content_type_get_icon\n  character(kind=c_char), dimension(*) :: type\nend function\n\n! GIO_AVAILABLE_IN_2_34\n!GIcon * g_content_type_get_symbolic_icon (const gchar *type);\nfunction g_content_type_get_symbolic_icon(type) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_content_type_get_symbolic_icon\n  character(kind=c_char), dimension(*) :: type\nend function\n\n! GIO_AVAILABLE_IN_2_34\n!gchar * g_content_type_get_generic_icon_name (const gchar *type);\nfunction g_content_type_get_generic_icon_name(type) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_content_type_get_generic_icon_name\n  character(kind=c_char), dimension(*) :: type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_content_type_can_be_executable (const gchar *type);\nfunction g_content_type_can_be_executable(type) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_content_type_can_be_executable\n  character(kind=c_char), dimension(*) :: type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gchar * g_content_type_from_mime_type (const gchar *mime_type);\nfunction g_content_type_from_mime_type(mime_type) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_content_type_from_mime_type\n  character(kind=c_char), dimension(*) :: mime_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gchar * g_content_type_guess (const gchar *filename, const guchar *data, gsize data_size, gboolean *result_uncertain);\nfunction g_content_type_guess(filename, data, data_size, result_uncertain)&\n& bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr) :: g_content_type_guess\n  character(kind=c_char), dimension(*) :: filename\n  character(kind=c_char), dimension(*) :: data\n  integer(c_size_t), value :: data_size\n  type(c_ptr), value :: result_uncertain\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gchar ** g_content_type_guess_for_tree (GFile *root);\nfunction g_content_type_guess_for_tree(root) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_content_type_guess_for_tree\n  type(c_ptr), value :: root\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GList * g_content_types_get_registered (void);\nfunction g_content_types_get_registered() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_content_types_get_registered\nend function\n\n! GIO_AVAILABLE_IN_2_60\n!const gchar * const *g_content_type_get_mime_dirs (void);\nfunction g_content_type_get_mime_dirs() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_content_type_get_mime_dirs\nend function\n\n! GIO_AVAILABLE_IN_2_60\n!void g_content_type_set_mime_dirs (const gchar * const *dirs);\nsubroutine g_content_type_set_mime_dirs(dirs) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), dimension(*) :: dirs\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gconverter.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_converter_get_type (void) ;\nfunction g_converter_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_converter_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GConverterResult g_converter_convert (GConverter *converter, const void *inbuf, gsize inbuf_size, void *outbuf, gsize outbuf_size, GConverterFlags flags, gsize *bytes_read, gsize *bytes_written, GError **error);\nfunction g_converter_convert(converter, inbuf, inbuf_size, outbuf, outbuf_size,&\n& flags, bytes_read, bytes_written, error) bind(c)\n  import :: c_int, c_ptr, c_size_t\n  implicit none\n  integer(c_int) :: g_converter_convert\n  type(c_ptr), value :: converter\n  type(c_ptr), value :: inbuf\n  integer(c_size_t), value :: inbuf_size\n  type(c_ptr), value :: outbuf\n  integer(c_size_t), value :: outbuf_size\n  integer(c_int), value :: flags\n  type(c_ptr), value :: bytes_read\n  type(c_ptr), value :: bytes_written\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_converter_reset (GConverter *converter);\nsubroutine g_converter_reset(converter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: converter\nend subroutine\n\n! GIO_AVAILABLE_IN_2_82\n!GBytes * g_converter_convert_bytes (GConverter *converter, GBytes *bytes, GError **error);\nfunction g_converter_convert_bytes(converter, bytes, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_converter_convert_bytes\n  type(c_ptr), value :: converter\n  type(c_ptr), value :: bytes\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gconverterinputstream.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_converter_input_stream_get_type (void) ;\nfunction g_converter_input_stream_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_converter_input_stream_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GInputStream *g_converter_input_stream_new (GInputStream *base_stream, GConverter *converter);\nfunction g_converter_input_stream_new(base_stream, converter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_converter_input_stream_new\n  type(c_ptr), value :: base_stream\n  type(c_ptr), value :: converter\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GConverter *g_converter_input_stream_get_converter (GConverterInputStream *converter_stream);\nfunction g_converter_input_stream_get_converter(converter_stream) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_converter_input_stream_get_converter\n  type(c_ptr), value :: converter_stream\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gconverteroutputstream.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_converter_output_stream_get_type (void) ;\nfunction g_converter_output_stream_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_converter_output_stream_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GOutputStream *g_converter_output_stream_new (GOutputStream *base_stream, GConverter *converter);\nfunction g_converter_output_stream_new(base_stream, converter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_converter_output_stream_new\n  type(c_ptr), value :: base_stream\n  type(c_ptr), value :: converter\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GConverter *g_converter_output_stream_get_converter (GConverterOutputStream *converter_stream);\nfunction g_converter_output_stream_get_converter(converter_stream) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_converter_output_stream_get_converter\n  type(c_ptr), value :: converter_stream\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gcredentials.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_credentials_get_type (void) ;\nfunction g_credentials_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_credentials_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GCredentials *g_credentials_new (void);\nfunction g_credentials_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_credentials_new\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gchar *g_credentials_to_string (GCredentials *credentials);\nfunction g_credentials_to_string(credentials) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_credentials_to_string\n  type(c_ptr), value :: credentials\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gpointer g_credentials_get_native (GCredentials *credentials, GCredentialsType native_type);\nfunction g_credentials_get_native(credentials, native_type) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_credentials_get_native\n  type(c_ptr), value :: credentials\n  integer(c_int), value :: native_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_credentials_set_native (GCredentials *credentials, GCredentialsType native_type, gpointer native);\nsubroutine g_credentials_set_native(credentials, native_type, native) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: credentials\n  integer(c_int), value :: native_type\n  type(c_ptr), value :: native\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_credentials_is_same_user (GCredentials *credentials, GCredentials *other_credentials, GError **error);\nfunction g_credentials_is_same_user(credentials, other_credentials, error)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_credentials_is_same_user\n  type(c_ptr), value :: credentials\n  type(c_ptr), value :: other_credentials\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!uid_t g_credentials_get_unix_user (GCredentials *credentials, GError **error);\nfunction g_credentials_get_unix_user(credentials, error) bind(c)\n  import :: c_int32_t, c_ptr\n  implicit none\n  integer(c_int32_t) :: g_credentials_get_unix_user\n  type(c_ptr), value :: credentials\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_credentials_set_unix_user (GCredentials *credentials, uid_t uid, GError **error);\nfunction g_credentials_set_unix_user(credentials, uid, error) bind(c)\n  import :: c_int, c_ptr, c_int32_t\n  implicit none\n  integer(c_int) :: g_credentials_set_unix_user\n  type(c_ptr), value :: credentials\n  integer(c_int32_t), value :: uid\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gdatagrambased.h\n!--------------------------------------------------\n! \n!GType g_datagram_based_get_type (void);\nfunction g_datagram_based_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_datagram_based_get_type\nend function\n\n! \n!gint g_datagram_based_receive_messages (GDatagramBased *datagram_based, GInputMessage *messages, guint num_messages, gint flags, gint64 timeout, GCancellable *cancellable, GError **error);\nfunction g_datagram_based_receive_messages(datagram_based, messages,&\n& num_messages, flags, timeout, cancellable, error) bind(c)\n  import :: c_int, c_ptr, c_int64_t\n  implicit none\n  integer(c_int) :: g_datagram_based_receive_messages\n  type(c_ptr), value :: datagram_based\n  type(c_ptr), value :: messages\n  integer(c_int), value :: num_messages\n  integer(c_int), value :: flags\n  integer(c_int64_t), value :: timeout\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! \n!gint g_datagram_based_send_messages (GDatagramBased *datagram_based, GOutputMessage *messages, guint num_messages, gint flags, gint64 timeout, GCancellable *cancellable, GError **error);\nfunction g_datagram_based_send_messages(datagram_based, messages, num_messages,&\n& flags, timeout, cancellable, error) bind(c)\n  import :: c_int, c_ptr, c_int64_t\n  implicit none\n  integer(c_int) :: g_datagram_based_send_messages\n  type(c_ptr), value :: datagram_based\n  type(c_ptr), value :: messages\n  integer(c_int), value :: num_messages\n  integer(c_int), value :: flags\n  integer(c_int64_t), value :: timeout\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! \n!GSource * g_datagram_based_create_source (GDatagramBased *datagram_based, GIOCondition condition, GCancellable *cancellable);\nfunction g_datagram_based_create_source(datagram_based, condition, cancellable)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_datagram_based_create_source\n  type(c_ptr), value :: datagram_based\n  integer(c_int), value :: condition\n  type(c_ptr), value :: cancellable\nend function\n\n! \n!GIOCondition g_datagram_based_condition_check (GDatagramBased *datagram_based, GIOCondition condition);\nfunction g_datagram_based_condition_check(datagram_based, condition) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_datagram_based_condition_check\n  type(c_ptr), value :: datagram_based\n  integer(c_int), value :: condition\nend function\n\n! \n!gboolean g_datagram_based_condition_wait (GDatagramBased *datagram_based, GIOCondition condition, gint64 timeout, GCancellable *cancellable, GError **error);\nfunction g_datagram_based_condition_wait(datagram_based, condition, timeout,&\n& cancellable, error) bind(c)\n  import :: c_int, c_ptr, c_int64_t\n  implicit none\n  integer(c_int) :: g_datagram_based_condition_wait\n  type(c_ptr), value :: datagram_based\n  integer(c_int), value :: condition\n  integer(c_int64_t), value :: timeout\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gdatainputstream.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_data_input_stream_get_type (void) ;\nfunction g_data_input_stream_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_data_input_stream_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDataInputStream * g_data_input_stream_new (GInputStream *base_stream);\nfunction g_data_input_stream_new(base_stream) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_data_input_stream_new\n  type(c_ptr), value :: base_stream\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_data_input_stream_set_byte_order (GDataInputStream *stream, GDataStreamByteOrder order);\nsubroutine g_data_input_stream_set_byte_order(stream, order) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: stream\n  integer(c_int), value :: order\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GDataStreamByteOrder g_data_input_stream_get_byte_order (GDataInputStream *stream);\nfunction g_data_input_stream_get_byte_order(stream) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_data_input_stream_get_byte_order\n  type(c_ptr), value :: stream\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_data_input_stream_set_newline_type (GDataInputStream *stream, GDataStreamNewlineType type);\nsubroutine g_data_input_stream_set_newline_type(stream, type) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: stream\n  integer(c_int), value :: type\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GDataStreamNewlineType g_data_input_stream_get_newline_type (GDataInputStream *stream);\nfunction g_data_input_stream_get_newline_type(stream) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_data_input_stream_get_newline_type\n  type(c_ptr), value :: stream\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!guchar g_data_input_stream_read_byte (GDataInputStream *stream, GCancellable *cancellable, GError **error);\nfunction g_data_input_stream_read_byte(stream, cancellable, error) bind(c)\n  import :: c_int8_t, c_ptr\n  implicit none\n  integer(kind=c_int8_t) :: g_data_input_stream_read_byte\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gint16 g_data_input_stream_read_int16 (GDataInputStream *stream, GCancellable *cancellable, GError **error);\nfunction g_data_input_stream_read_int16(stream, cancellable, error) bind(c)\n  import :: c_int16_t, c_ptr\n  implicit none\n  integer(c_int16_t) :: g_data_input_stream_read_int16\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!guint16 g_data_input_stream_read_uint16 (GDataInputStream *stream, GCancellable *cancellable, GError **error);\nfunction g_data_input_stream_read_uint16(stream, cancellable, error) bind(c)\n  import :: c_int16_t, c_ptr\n  implicit none\n  integer(c_int16_t) :: g_data_input_stream_read_uint16\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gint32 g_data_input_stream_read_int32 (GDataInputStream *stream, GCancellable *cancellable, GError **error);\nfunction g_data_input_stream_read_int32(stream, cancellable, error) bind(c)\n  import :: c_int32_t, c_ptr\n  implicit none\n  integer(c_int32_t) :: g_data_input_stream_read_int32\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!guint32 g_data_input_stream_read_uint32 (GDataInputStream *stream, GCancellable *cancellable, GError **error);\nfunction g_data_input_stream_read_uint32(stream, cancellable, error) bind(c)\n  import :: c_int32_t, c_ptr\n  implicit none\n  integer(c_int32_t) :: g_data_input_stream_read_uint32\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gint64 g_data_input_stream_read_int64 (GDataInputStream *stream, GCancellable *cancellable, GError **error);\nfunction g_data_input_stream_read_int64(stream, cancellable, error) bind(c)\n  import :: c_int64_t, c_ptr\n  implicit none\n  integer(c_int64_t) :: g_data_input_stream_read_int64\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!guint64 g_data_input_stream_read_uint64 (GDataInputStream *stream, GCancellable *cancellable, GError **error);\nfunction g_data_input_stream_read_uint64(stream, cancellable, error) bind(c)\n  import :: c_int64_t, c_ptr\n  implicit none\n  integer(c_int64_t) :: g_data_input_stream_read_uint64\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!char * g_data_input_stream_read_line (GDataInputStream *stream, gsize *length, GCancellable *cancellable, GError **error);\nfunction g_data_input_stream_read_line(stream, length, cancellable, error)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_data_input_stream_read_line\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: length\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_30\n!char * g_data_input_stream_read_line_utf8 (GDataInputStream *stream, gsize *length, GCancellable *cancellable, GError **error);\nfunction g_data_input_stream_read_line_utf8(stream, length, cancellable, error)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_data_input_stream_read_line_utf8\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: length\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_data_input_stream_read_line_async (GDataInputStream *stream, gint io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_data_input_stream_read_line_async(stream, io_priority,&\n& cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: stream\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!char * g_data_input_stream_read_line_finish (GDataInputStream *stream, GAsyncResult *result, gsize *length, GError **error);\nfunction g_data_input_stream_read_line_finish(stream, result, length, error)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_data_input_stream_read_line_finish\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: result\n  type(c_ptr), value :: length\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_30\n!char * g_data_input_stream_read_line_finish_utf8(GDataInputStream *stream, GAsyncResult *result, gsize *length, GError **error);\nfunction g_data_input_stream_read_line_finish_utf8(stream, result, length,&\n& error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_data_input_stream_read_line_finish_utf8\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: result\n  type(c_ptr), value :: length\n  type(c_ptr), value :: error\nend function\n\n! GIO_DEPRECATED_IN_2_56_FOR (g_data_input_stream_read_upto)\n!char * g_data_input_stream_read_until (GDataInputStream *stream, const gchar *stop_chars, gsize *length, GCancellable *cancellable, GError **error);\nfunction g_data_input_stream_read_until(stream, stop_chars, length,&\n& cancellable, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_data_input_stream_read_until\n  type(c_ptr), value :: stream\n  character(kind=c_char), dimension(*) :: stop_chars\n  type(c_ptr), value :: length\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_DEPRECATED_IN_2_56_FOR (g_data_input_stream_read_upto_async)\n!void g_data_input_stream_read_until_async (GDataInputStream *stream, const gchar *stop_chars, gint io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_data_input_stream_read_until_async(stream, stop_chars,&\n& io_priority, cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_char, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: stream\n  character(kind=c_char), dimension(*) :: stop_chars\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_DEPRECATED_IN_2_56_FOR (g_data_input_stream_read_upto_finish)\n!char * g_data_input_stream_read_until_finish (GDataInputStream *stream, GAsyncResult *result, gsize *length, GError **error);\nfunction g_data_input_stream_read_until_finish(stream, result, length, error)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_data_input_stream_read_until_finish\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: result\n  type(c_ptr), value :: length\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!char * g_data_input_stream_read_upto (GDataInputStream *stream, const gchar *stop_chars, gssize stop_chars_len, gsize *length, GCancellable *cancellable, GError **error);\nfunction g_data_input_stream_read_upto(stream, stop_chars, stop_chars_len,&\n& length, cancellable, error) bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr) :: g_data_input_stream_read_upto\n  type(c_ptr), value :: stream\n  character(kind=c_char), dimension(*) :: stop_chars\n  integer(c_size_t), value :: stop_chars_len\n  type(c_ptr), value :: length\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_data_input_stream_read_upto_async (GDataInputStream *stream, const gchar *stop_chars, gssize stop_chars_len, gint io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_data_input_stream_read_upto_async(stream, stop_chars,&\n& stop_chars_len, io_priority, cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_char, c_size_t, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: stream\n  character(kind=c_char), dimension(*) :: stop_chars\n  integer(c_size_t), value :: stop_chars_len\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!char * g_data_input_stream_read_upto_finish (GDataInputStream *stream, GAsyncResult *result, gsize *length, GError **error);\nfunction g_data_input_stream_read_upto_finish(stream, result, length, error)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_data_input_stream_read_upto_finish\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: result\n  type(c_ptr), value :: length\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gdataoutputstream.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_data_output_stream_get_type (void) ;\nfunction g_data_output_stream_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_data_output_stream_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDataOutputStream * g_data_output_stream_new (GOutputStream *base_stream);\nfunction g_data_output_stream_new(base_stream) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_data_output_stream_new\n  type(c_ptr), value :: base_stream\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_data_output_stream_set_byte_order (GDataOutputStream *stream, GDataStreamByteOrder order);\nsubroutine g_data_output_stream_set_byte_order(stream, order) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: stream\n  integer(c_int), value :: order\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GDataStreamByteOrder g_data_output_stream_get_byte_order (GDataOutputStream *stream);\nfunction g_data_output_stream_get_byte_order(stream) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_data_output_stream_get_byte_order\n  type(c_ptr), value :: stream\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_data_output_stream_put_byte (GDataOutputStream *stream, guchar data, GCancellable *cancellable, GError **error);\nfunction g_data_output_stream_put_byte(stream, data, cancellable, error)&\n& bind(c)\n  import :: c_int, c_ptr, c_int8_t\n  implicit none\n  integer(c_int) :: g_data_output_stream_put_byte\n  type(c_ptr), value :: stream\n  integer(kind=c_int8_t), value :: data\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_data_output_stream_put_int16 (GDataOutputStream *stream, gint16 data, GCancellable *cancellable, GError **error);\nfunction g_data_output_stream_put_int16(stream, data, cancellable, error)&\n& bind(c)\n  import :: c_int, c_ptr, c_int16_t\n  implicit none\n  integer(c_int) :: g_data_output_stream_put_int16\n  type(c_ptr), value :: stream\n  integer(c_int16_t), value :: data\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_data_output_stream_put_uint16 (GDataOutputStream *stream, guint16 data, GCancellable *cancellable, GError **error);\nfunction g_data_output_stream_put_uint16(stream, data, cancellable, error)&\n& bind(c)\n  import :: c_int, c_ptr, c_int16_t\n  implicit none\n  integer(c_int) :: g_data_output_stream_put_uint16\n  type(c_ptr), value :: stream\n  integer(c_int16_t), value :: data\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_data_output_stream_put_int32 (GDataOutputStream *stream, gint32 data, GCancellable *cancellable, GError **error);\nfunction g_data_output_stream_put_int32(stream, data, cancellable, error)&\n& bind(c)\n  import :: c_int, c_ptr, c_int32_t\n  implicit none\n  integer(c_int) :: g_data_output_stream_put_int32\n  type(c_ptr), value :: stream\n  integer(c_int32_t), value :: data\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_data_output_stream_put_uint32 (GDataOutputStream *stream, guint32 data, GCancellable *cancellable, GError **error);\nfunction g_data_output_stream_put_uint32(stream, data, cancellable, error)&\n& bind(c)\n  import :: c_int, c_ptr, c_int32_t\n  implicit none\n  integer(c_int) :: g_data_output_stream_put_uint32\n  type(c_ptr), value :: stream\n  integer(c_int32_t), value :: data\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_data_output_stream_put_int64 (GDataOutputStream *stream, gint64 data, GCancellable *cancellable, GError **error);\nfunction g_data_output_stream_put_int64(stream, data, cancellable, error)&\n& bind(c)\n  import :: c_int, c_ptr, c_int64_t\n  implicit none\n  integer(c_int) :: g_data_output_stream_put_int64\n  type(c_ptr), value :: stream\n  integer(c_int64_t), value :: data\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_data_output_stream_put_uint64 (GDataOutputStream *stream, guint64 data, GCancellable *cancellable, GError **error);\nfunction g_data_output_stream_put_uint64(stream, data, cancellable, error)&\n& bind(c)\n  import :: c_int, c_ptr, c_int64_t\n  implicit none\n  integer(c_int) :: g_data_output_stream_put_uint64\n  type(c_ptr), value :: stream\n  integer(c_int64_t), value :: data\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_data_output_stream_put_string (GDataOutputStream *stream, const char *str, GCancellable *cancellable, GError **error);\nfunction g_data_output_stream_put_string(stream, str, cancellable, error)&\n& bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_data_output_stream_put_string\n  type(c_ptr), value :: stream\n  character(kind=c_char), dimension(*) :: str\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gdbusactiongroup.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_dbus_action_group_get_type (void) ;\nfunction g_dbus_action_group_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_dbus_action_group_get_type\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!GDBusActionGroup * g_dbus_action_group_get (GDBusConnection *connection, const gchar *bus_name, const gchar *object_path);\nfunction g_dbus_action_group_get(connection, bus_name, object_path) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_dbus_action_group_get\n  type(c_ptr), value :: connection\n  character(kind=c_char), dimension(*) :: bus_name\n  character(kind=c_char), dimension(*) :: object_path\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gdbusaddress.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_2_36\n!gchar *g_dbus_address_escape_value (const gchar *string);\nfunction g_dbus_address_escape_value(string) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_dbus_address_escape_value\n  character(kind=c_char), dimension(*) :: string\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_dbus_is_address (const gchar *string);\nfunction g_dbus_is_address(string) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_dbus_is_address\n  character(kind=c_char), dimension(*) :: string\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_dbus_is_supported_address (const gchar *string, GError **error);\nfunction g_dbus_is_supported_address(string, error) bind(c)\n  import :: c_int, c_char, c_ptr\n  implicit none\n  integer(c_int) :: g_dbus_is_supported_address\n  character(kind=c_char), dimension(*) :: string\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_address_get_stream (const gchar *address, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_dbus_address_get_stream(address, cancellable, callback, user_data)&\n& bind(c)\n  import :: c_char, c_ptr, c_funptr\n  implicit none\n  character(kind=c_char), dimension(*) :: address\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GIOStream *g_dbus_address_get_stream_finish (GAsyncResult *res, gchar **out_guid, GError **error);\nfunction g_dbus_address_get_stream_finish(res, out_guid, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_address_get_stream_finish\n  type(c_ptr), value :: res\n  type(c_ptr), dimension(*) :: out_guid\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GIOStream *g_dbus_address_get_stream_sync (const gchar *address, gchar **out_guid, GCancellable *cancellable, GError **error);\nfunction g_dbus_address_get_stream_sync(address, out_guid, cancellable, error)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_dbus_address_get_stream_sync\n  character(kind=c_char), dimension(*) :: address\n  type(c_ptr), dimension(*) :: out_guid\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gchar *g_dbus_address_get_for_bus_sync (GBusType bus_type, GCancellable *cancellable, GError **error);\nfunction g_dbus_address_get_for_bus_sync(bus_type, cancellable, error) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_dbus_address_get_for_bus_sync\n  integer(c_int), value :: bus_type\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gdbusauthobserver.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_dbus_auth_observer_get_type (void) ;\nfunction g_dbus_auth_observer_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_dbus_auth_observer_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusAuthObserver *g_dbus_auth_observer_new (void);\nfunction g_dbus_auth_observer_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_auth_observer_new\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_dbus_auth_observer_authorize_authenticated_peer (GDBusAuthObserver *observer, GIOStream *stream, GCredentials *credentials);\nfunction g_dbus_auth_observer_authorize_authenticated_peer(observer, stream,&\n& credentials) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_dbus_auth_observer_authorize_authenticated_peer\n  type(c_ptr), value :: observer\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: credentials\nend function\n\n! GIO_AVAILABLE_IN_2_34\n!gboolean g_dbus_auth_observer_allow_mechanism (GDBusAuthObserver *observer, const gchar *mechanism);\nfunction g_dbus_auth_observer_allow_mechanism(observer, mechanism) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_dbus_auth_observer_allow_mechanism\n  type(c_ptr), value :: observer\n  character(kind=c_char), dimension(*) :: mechanism\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gdbusconnection.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_dbus_connection_get_type (void) ;\nfunction g_dbus_connection_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_dbus_connection_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_bus_get (GBusType bus_type, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_bus_get(bus_type, cancellable, callback, user_data) bind(c)\n  import :: c_int, c_ptr, c_funptr\n  implicit none\n  integer(c_int), value :: bus_type\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusConnection *g_bus_get_finish (GAsyncResult *res, GError **error);\nfunction g_bus_get_finish(res, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_bus_get_finish\n  type(c_ptr), value :: res\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusConnection *g_bus_get_sync (GBusType bus_type, GCancellable *cancellable, GError **error);\nfunction g_bus_get_sync(bus_type, cancellable, error) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_bus_get_sync\n  integer(c_int), value :: bus_type\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_connection_new (GIOStream *stream, const gchar *guid, GDBusConnectionFlags flags, GDBusAuthObserver *observer, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_dbus_connection_new(stream, guid, flags, observer, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_char, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: stream\n  character(kind=c_char), dimension(*) :: guid\n  integer(c_int), value :: flags\n  type(c_ptr), value :: observer\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusConnection *g_dbus_connection_new_finish (GAsyncResult *res, GError **error);\nfunction g_dbus_connection_new_finish(res, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_connection_new_finish\n  type(c_ptr), value :: res\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusConnection *g_dbus_connection_new_sync (GIOStream *stream, const gchar *guid, GDBusConnectionFlags flags, GDBusAuthObserver *observer, GCancellable *cancellable, GError **error);\nfunction g_dbus_connection_new_sync(stream, guid, flags, observer, cancellable,&\n& error) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_dbus_connection_new_sync\n  type(c_ptr), value :: stream\n  character(kind=c_char), dimension(*) :: guid\n  integer(c_int), value :: flags\n  type(c_ptr), value :: observer\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_connection_new_for_address (const gchar *address, GDBusConnectionFlags flags, GDBusAuthObserver *observer, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_dbus_connection_new_for_address(address, flags, observer,&\n& cancellable, callback, user_data) bind(c)\n  import :: c_char, c_int, c_ptr, c_funptr\n  implicit none\n  character(kind=c_char), dimension(*) :: address\n  integer(c_int), value :: flags\n  type(c_ptr), value :: observer\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusConnection *g_dbus_connection_new_for_address_finish (GAsyncResult *res, GError **error);\nfunction g_dbus_connection_new_for_address_finish(res, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_connection_new_for_address_finish\n  type(c_ptr), value :: res\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusConnection *g_dbus_connection_new_for_address_sync (const gchar *address, GDBusConnectionFlags flags, GDBusAuthObserver *observer, GCancellable *cancellable, GError **error);\nfunction g_dbus_connection_new_for_address_sync(address, flags, observer,&\n& cancellable, error) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_dbus_connection_new_for_address_sync\n  character(kind=c_char), dimension(*) :: address\n  integer(c_int), value :: flags\n  type(c_ptr), value :: observer\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_connection_start_message_processing (GDBusConnection *connection);\nsubroutine g_dbus_connection_start_message_processing(connection) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: connection\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_dbus_connection_is_closed (GDBusConnection *connection);\nfunction g_dbus_connection_is_closed(connection) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_dbus_connection_is_closed\n  type(c_ptr), value :: connection\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GIOStream *g_dbus_connection_get_stream (GDBusConnection *connection);\nfunction g_dbus_connection_get_stream(connection) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_connection_get_stream\n  type(c_ptr), value :: connection\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar *g_dbus_connection_get_guid (GDBusConnection *connection);\nfunction g_dbus_connection_get_guid(connection) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_connection_get_guid\n  type(c_ptr), value :: connection\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar *g_dbus_connection_get_unique_name (GDBusConnection *connection);\nfunction g_dbus_connection_get_unique_name(connection) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_connection_get_unique_name\n  type(c_ptr), value :: connection\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GCredentials *g_dbus_connection_get_peer_credentials (GDBusConnection *connection);\nfunction g_dbus_connection_get_peer_credentials(connection) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_connection_get_peer_credentials\n  type(c_ptr), value :: connection\nend function\n\n! GIO_AVAILABLE_IN_2_34\n!guint32 g_dbus_connection_get_last_serial (GDBusConnection *connection);\nfunction g_dbus_connection_get_last_serial(connection) bind(c)\n  import :: c_int32_t, c_ptr\n  implicit none\n  integer(c_int32_t) :: g_dbus_connection_get_last_serial\n  type(c_ptr), value :: connection\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_dbus_connection_get_exit_on_close (GDBusConnection *connection);\nfunction g_dbus_connection_get_exit_on_close(connection) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_dbus_connection_get_exit_on_close\n  type(c_ptr), value :: connection\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_connection_set_exit_on_close (GDBusConnection *connection, gboolean exit_on_close);\nsubroutine g_dbus_connection_set_exit_on_close(connection, exit_on_close)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: connection\n  integer(c_int), value :: exit_on_close\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusCapabilityFlags g_dbus_connection_get_capabilities (GDBusConnection *connection);\nfunction g_dbus_connection_get_capabilities(connection) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_dbus_connection_get_capabilities\n  type(c_ptr), value :: connection\nend function\n\n! GIO_AVAILABLE_IN_2_60\n!GDBusConnectionFlags g_dbus_connection_get_flags (GDBusConnection *connection);\nfunction g_dbus_connection_get_flags(connection) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_dbus_connection_get_flags\n  type(c_ptr), value :: connection\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_connection_close (GDBusConnection *connection, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_dbus_connection_close(connection, cancellable, callback,&\n& user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: connection\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_dbus_connection_close_finish (GDBusConnection *connection, GAsyncResult *res, GError **error);\nfunction g_dbus_connection_close_finish(connection, res, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_dbus_connection_close_finish\n  type(c_ptr), value :: connection\n  type(c_ptr), value :: res\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_dbus_connection_close_sync (GDBusConnection *connection, GCancellable *cancellable, GError **error);\nfunction g_dbus_connection_close_sync(connection, cancellable, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_dbus_connection_close_sync\n  type(c_ptr), value :: connection\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_connection_flush (GDBusConnection *connection, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_dbus_connection_flush(connection, cancellable, callback,&\n& user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: connection\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_dbus_connection_flush_finish (GDBusConnection *connection, GAsyncResult *res, GError **error);\nfunction g_dbus_connection_flush_finish(connection, res, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_dbus_connection_flush_finish\n  type(c_ptr), value :: connection\n  type(c_ptr), value :: res\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_dbus_connection_flush_sync (GDBusConnection *connection, GCancellable *cancellable, GError **error);\nfunction g_dbus_connection_flush_sync(connection, cancellable, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_dbus_connection_flush_sync\n  type(c_ptr), value :: connection\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_dbus_connection_send_message (GDBusConnection *connection, GDBusMessage *message, GDBusSendMessageFlags flags, volatile guint32 *out_serial, GError **error);\nfunction g_dbus_connection_send_message(connection, message, flags, out_serial,&\n& error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_dbus_connection_send_message\n  type(c_ptr), value :: connection\n  type(c_ptr), value :: message\n  integer(c_int), value :: flags\n  type(c_ptr), value :: out_serial\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_connection_send_message_with_reply (GDBusConnection *connection, GDBusMessage *message, GDBusSendMessageFlags flags, gint timeout_msec, volatile guint32 *out_serial, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_dbus_connection_send_message_with_reply(connection, message,&\n& flags, timeout_msec, out_serial, cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: connection\n  type(c_ptr), value :: message\n  integer(c_int), value :: flags\n  integer(c_int), value :: timeout_msec\n  type(c_ptr), value :: out_serial\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusMessage *g_dbus_connection_send_message_with_reply_finish (GDBusConnection *connection, GAsyncResult *res, GError **error);\nfunction g_dbus_connection_send_message_with_reply_finish(connection, res,&\n& error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_connection_send_message_with_reply_finish\n  type(c_ptr), value :: connection\n  type(c_ptr), value :: res\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusMessage *g_dbus_connection_send_message_with_reply_sync (GDBusConnection *connection, GDBusMessage *message, GDBusSendMessageFlags flags, gint timeout_msec, volatile guint32 *out_serial, GCancellable *cancellable, GError **error);\nfunction g_dbus_connection_send_message_with_reply_sync(connection, message,&\n& flags, timeout_msec, out_serial, cancellable, error) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_dbus_connection_send_message_with_reply_sync\n  type(c_ptr), value :: connection\n  type(c_ptr), value :: message\n  integer(c_int), value :: flags\n  integer(c_int), value :: timeout_msec\n  type(c_ptr), value :: out_serial\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_dbus_connection_emit_signal (GDBusConnection *connection, const gchar *destination_bus_name, const gchar *object_path, const gchar *interface_name, const gchar *signal_name, GVariant *parameters, GError **error);\nfunction g_dbus_connection_emit_signal(connection, destination_bus_name,&\n& object_path, interface_name, signal_name, parameters, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_dbus_connection_emit_signal\n  type(c_ptr), value :: connection\n  character(kind=c_char), dimension(*) :: destination_bus_name\n  character(kind=c_char), dimension(*) :: object_path\n  character(kind=c_char), dimension(*) :: interface_name\n  character(kind=c_char), dimension(*) :: signal_name\n  type(c_ptr), value :: parameters\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_connection_call (GDBusConnection *connection, const gchar *bus_name, const gchar *object_path, const gchar *interface_name, const gchar *method_name, GVariant *parameters, const GVariantType *reply_type, GDBusCallFlags flags, gint timeout_msec, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_dbus_connection_call(connection, bus_name, object_path,&\n& interface_name, method_name, parameters, reply_type, flags, timeout_msec,&\n& cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_char, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: connection\n  character(kind=c_char), dimension(*) :: bus_name\n  character(kind=c_char), dimension(*) :: object_path\n  character(kind=c_char), dimension(*) :: interface_name\n  character(kind=c_char), dimension(*) :: method_name\n  type(c_ptr), value :: parameters\n  type(c_ptr), value :: reply_type\n  integer(c_int), value :: flags\n  integer(c_int), value :: timeout_msec\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GVariant *g_dbus_connection_call_finish (GDBusConnection *connection, GAsyncResult *res, GError **error);\nfunction g_dbus_connection_call_finish(connection, res, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_connection_call_finish\n  type(c_ptr), value :: connection\n  type(c_ptr), value :: res\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GVariant *g_dbus_connection_call_sync (GDBusConnection *connection, const gchar *bus_name, const gchar *object_path, const gchar *interface_name, const gchar *method_name, GVariant *parameters, const GVariantType *reply_type, GDBusCallFlags flags, gint timeout_msec, GCancellable *cancellable, GError **error);\nfunction g_dbus_connection_call_sync(connection, bus_name, object_path,&\n& interface_name, method_name, parameters, reply_type, flags, timeout_msec,&\n& cancellable, error) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_dbus_connection_call_sync\n  type(c_ptr), value :: connection\n  character(kind=c_char), dimension(*) :: bus_name\n  character(kind=c_char), dimension(*) :: object_path\n  character(kind=c_char), dimension(*) :: interface_name\n  character(kind=c_char), dimension(*) :: method_name\n  type(c_ptr), value :: parameters\n  type(c_ptr), value :: reply_type\n  integer(c_int), value :: flags\n  integer(c_int), value :: timeout_msec\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_30\n!void g_dbus_connection_call_with_unix_fd_list (GDBusConnection *connection, const gchar *bus_name, const gchar *object_path, const gchar *interface_name, const gchar *method_name, GVariant *parameters, const GVariantType *reply_type, GDBusCallFlags flags, gint timeout_msec, GUnixFDList *fd_list, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_dbus_connection_call_with_unix_fd_list(connection, bus_name,&\n& object_path, interface_name, method_name, parameters, reply_type, flags,&\n& timeout_msec, fd_list, cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_char, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: connection\n  character(kind=c_char), dimension(*) :: bus_name\n  character(kind=c_char), dimension(*) :: object_path\n  character(kind=c_char), dimension(*) :: interface_name\n  character(kind=c_char), dimension(*) :: method_name\n  type(c_ptr), value :: parameters\n  type(c_ptr), value :: reply_type\n  integer(c_int), value :: flags\n  integer(c_int), value :: timeout_msec\n  type(c_ptr), value :: fd_list\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_2_30\n!GVariant *g_dbus_connection_call_with_unix_fd_list_finish (GDBusConnection *connection, GUnixFDList **out_fd_list, GAsyncResult *res, GError **error);\nfunction g_dbus_connection_call_with_unix_fd_list_finish(connection,&\n& out_fd_list, res, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_connection_call_with_unix_fd_list_finish\n  type(c_ptr), value :: connection\n  type(c_ptr), value :: out_fd_list\n  type(c_ptr), value :: res\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_30\n!GVariant *g_dbus_connection_call_with_unix_fd_list_sync (GDBusConnection *connection, const gchar *bus_name, const gchar *object_path, const gchar *interface_name, const gchar *method_name, GVariant *parameters, const GVariantType *reply_type, GDBusCallFlags flags, gint timeout_msec, GUnixFDList *fd_list, GUnixFDList **out_fd_list, GCancellable *cancellable, GError **error);\nfunction g_dbus_connection_call_with_unix_fd_list_sync(connection, bus_name,&\n& object_path, interface_name, method_name, parameters, reply_type, flags,&\n& timeout_msec, fd_list, out_fd_list, cancellable, error) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_dbus_connection_call_with_unix_fd_list_sync\n  type(c_ptr), value :: connection\n  character(kind=c_char), dimension(*) :: bus_name\n  character(kind=c_char), dimension(*) :: object_path\n  character(kind=c_char), dimension(*) :: interface_name\n  character(kind=c_char), dimension(*) :: method_name\n  type(c_ptr), value :: parameters\n  type(c_ptr), value :: reply_type\n  integer(c_int), value :: flags\n  integer(c_int), value :: timeout_msec\n  type(c_ptr), value :: fd_list\n  type(c_ptr), value :: out_fd_list\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!guint g_dbus_connection_register_object (GDBusConnection *connection, const gchar *object_path, GDBusInterfaceInfo *interface_info, const GDBusInterfaceVTable *vtable, gpointer user_data, GDestroyNotify user_data_free_func, GError **error);\nfunction g_dbus_connection_register_object(connection, object_path,&\n& interface_info, vtable, user_data, user_data_free_func, error) bind(c)\n  import :: c_int, c_ptr, c_char, c_funptr\n  implicit none\n  integer(c_int) :: g_dbus_connection_register_object\n  type(c_ptr), value :: connection\n  character(kind=c_char), dimension(*) :: object_path\n  type(c_ptr), value :: interface_info\n  type(c_ptr), value :: vtable\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: user_data_free_func\n  type(c_ptr), value :: error\nend function\n\n! GIO_DEPRECATED_IN_2_84_FOR(g_dbus_connection_register_object_with_closures2)\n!guint g_dbus_connection_register_object_with_closures (GDBusConnection *connection, const gchar *object_path, GDBusInterfaceInfo *interface_info, GClosure *method_call_closure, GClosure *get_property_closure, GClosure *set_property_closure, GError **error);\nfunction g_dbus_connection_register_object_with_closures(connection,&\n& object_path, interface_info, method_call_closure, get_property_closure,&\n& set_property_closure, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_dbus_connection_register_object_with_closures\n  type(c_ptr), value :: connection\n  character(kind=c_char), dimension(*) :: object_path\n  type(c_ptr), value :: interface_info\n  type(c_ptr), value :: method_call_closure\n  type(c_ptr), value :: get_property_closure\n  type(c_ptr), value :: set_property_closure\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_84\n!guint g_dbus_connection_register_object_with_closures2 (GDBusConnection *connection, const gchar *object_path, GDBusInterfaceInfo *interface_info, GClosure *method_call_closure, GClosure *get_property_closure, GClosure *set_property_closure, GError **error);\nfunction g_dbus_connection_register_object_with_closures2(connection,&\n& object_path, interface_info, method_call_closure, get_property_closure,&\n& set_property_closure, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_dbus_connection_register_object_with_closures2\n  type(c_ptr), value :: connection\n  character(kind=c_char), dimension(*) :: object_path\n  type(c_ptr), value :: interface_info\n  type(c_ptr), value :: method_call_closure\n  type(c_ptr), value :: get_property_closure\n  type(c_ptr), value :: set_property_closure\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_dbus_connection_unregister_object (GDBusConnection *connection, guint registration_id);\nfunction g_dbus_connection_unregister_object(connection, registration_id)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_dbus_connection_unregister_object\n  type(c_ptr), value :: connection\n  integer(c_int), value :: registration_id\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!guint g_dbus_connection_register_subtree (GDBusConnection *connection, const gchar *object_path, const GDBusSubtreeVTable *vtable, GDBusSubtreeFlags flags, gpointer user_data, GDestroyNotify user_data_free_func, GError **error);\nfunction g_dbus_connection_register_subtree(connection, object_path, vtable,&\n& flags, user_data, user_data_free_func, error) bind(c)\n  import :: c_int, c_ptr, c_char, c_funptr\n  implicit none\n  integer(c_int) :: g_dbus_connection_register_subtree\n  type(c_ptr), value :: connection\n  character(kind=c_char), dimension(*) :: object_path\n  type(c_ptr), value :: vtable\n  integer(c_int), value :: flags\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: user_data_free_func\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_dbus_connection_unregister_subtree (GDBusConnection *connection, guint registration_id);\nfunction g_dbus_connection_unregister_subtree(connection, registration_id)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_dbus_connection_unregister_subtree\n  type(c_ptr), value :: connection\n  integer(c_int), value :: registration_id\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!guint g_dbus_connection_signal_subscribe (GDBusConnection *connection, const gchar *sender, const gchar *interface_name, const gchar *member, const gchar *object_path, const gchar *arg0, GDBusSignalFlags flags, GDBusSignalCallback callback, gpointer user_data, GDestroyNotify user_data_free_func);\nfunction g_dbus_connection_signal_subscribe(connection, sender, interface_name,&\n& member, object_path, arg0, flags, callback, user_data, user_data_free_func)&\n& bind(c)\n  import :: c_int, c_ptr, c_char, c_funptr\n  implicit none\n  integer(c_int) :: g_dbus_connection_signal_subscribe\n  type(c_ptr), value :: connection\n  character(kind=c_char), dimension(*) :: sender\n  character(kind=c_char), dimension(*) :: interface_name\n  character(kind=c_char), dimension(*) :: member\n  character(kind=c_char), dimension(*) :: object_path\n  character(kind=c_char), dimension(*) :: arg0\n  integer(c_int), value :: flags\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: user_data_free_func\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_connection_signal_unsubscribe (GDBusConnection *connection, guint subscription_id);\nsubroutine g_dbus_connection_signal_unsubscribe(connection, subscription_id)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: connection\n  integer(c_int), value :: subscription_id\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_connection_remove_filter (GDBusConnection *connection, guint filter_id);\nsubroutine g_dbus_connection_remove_filter(connection, filter_id) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: connection\n  integer(c_int), value :: filter_id\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gdbuserror.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GQuark g_dbus_error_quark (void);\nfunction g_dbus_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: g_dbus_error_quark\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_dbus_error_is_remote_error (const GError *error);\nfunction g_dbus_error_is_remote_error(error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_dbus_error_is_remote_error\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gchar *g_dbus_error_get_remote_error (const GError *error);\nfunction g_dbus_error_get_remote_error(error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_error_get_remote_error\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_dbus_error_strip_remote_error (GError *error);\nfunction g_dbus_error_strip_remote_error(error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_dbus_error_strip_remote_error\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_dbus_error_register_error (GQuark error_domain, gint error_code, const gchar *dbus_error_name);\nfunction g_dbus_error_register_error(error_domain, error_code, dbus_error_name)&\n& bind(c)\n  import :: c_int, c_int32_t, c_char\n  implicit none\n  integer(c_int) :: g_dbus_error_register_error\n  integer(c_int32_t), value :: error_domain\n  integer(c_int), value :: error_code\n  character(kind=c_char), dimension(*) :: dbus_error_name\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_dbus_error_unregister_error (GQuark error_domain, gint error_code, const gchar *dbus_error_name);\nfunction g_dbus_error_unregister_error(error_domain, error_code,&\n& dbus_error_name) bind(c)\n  import :: c_int, c_int32_t, c_char\n  implicit none\n  integer(c_int) :: g_dbus_error_unregister_error\n  integer(c_int32_t), value :: error_domain\n  integer(c_int), value :: error_code\n  character(kind=c_char), dimension(*) :: dbus_error_name\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_error_register_error_domain (const gchar *error_domain_quark_name, volatile gsize *quark_volatile, const GDBusErrorEntry *entries, guint num_entries);\nsubroutine g_dbus_error_register_error_domain(error_domain_quark_name,&\n& quark_volatile, entries, num_entries) bind(c)\n  import :: c_char, c_ptr, c_int\n  implicit none\n  character(kind=c_char), dimension(*) :: error_domain_quark_name\n  type(c_ptr), value :: quark_volatile\n  type(c_ptr), value :: entries\n  integer(c_int), value :: num_entries\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GError *g_dbus_error_new_for_dbus_error (const gchar *dbus_error_name, const gchar *dbus_error_message);\nfunction g_dbus_error_new_for_dbus_error(dbus_error_name, dbus_error_message)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_dbus_error_new_for_dbus_error\n  character(kind=c_char), dimension(*) :: dbus_error_name\n  character(kind=c_char), dimension(*) :: dbus_error_message\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_error_set_dbus_error_valist (GError **error, const gchar *dbus_error_name, const gchar *dbus_error_message, const gchar *format, va_list var_args) ;\nsubroutine g_dbus_error_set_dbus_error_valist(error, dbus_error_name,&\n& dbus_error_message, format, var_args) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: error\n  character(kind=c_char), dimension(*) :: dbus_error_name\n  character(kind=c_char), dimension(*) :: dbus_error_message\n  character(kind=c_char), dimension(*) :: format\n  type(c_ptr), value :: var_args\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gchar *g_dbus_error_encode_gerror (const GError *error);\nfunction g_dbus_error_encode_gerror(error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_error_encode_gerror\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gdbusinterface.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_dbus_interface_get_type (void) ;\nfunction g_dbus_interface_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_dbus_interface_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusInterfaceInfo *g_dbus_interface_get_info (GDBusInterface *interface_);\nfunction g_dbus_interface_get_info(interface_) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_interface_get_info\n  type(c_ptr), value :: interface_\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusObject *g_dbus_interface_get_object (GDBusInterface *interface_);\nfunction g_dbus_interface_get_object(interface_) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_interface_get_object\n  type(c_ptr), value :: interface_\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_interface_set_object (GDBusInterface *interface_, GDBusObject *object);\nsubroutine g_dbus_interface_set_object(interface_, object) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: interface_\n  type(c_ptr), value :: object\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!GDBusObject *g_dbus_interface_dup_object (GDBusInterface *interface_);\nfunction g_dbus_interface_dup_object(interface_) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_interface_dup_object\n  type(c_ptr), value :: interface_\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gdbusinterfaceskeleton.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_dbus_interface_skeleton_get_type (void) ;\nfunction g_dbus_interface_skeleton_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_dbus_interface_skeleton_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusInterfaceSkeletonFlags g_dbus_interface_skeleton_get_flags (GDBusInterfaceSkeleton *interface_);\nfunction g_dbus_interface_skeleton_get_flags(interface_) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_dbus_interface_skeleton_get_flags\n  type(c_ptr), value :: interface_\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_interface_skeleton_set_flags (GDBusInterfaceSkeleton *interface_, GDBusInterfaceSkeletonFlags flags);\nsubroutine g_dbus_interface_skeleton_set_flags(interface_, flags) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: interface_\n  integer(c_int), value :: flags\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusInterfaceInfo *g_dbus_interface_skeleton_get_info (GDBusInterfaceSkeleton *interface_);\nfunction g_dbus_interface_skeleton_get_info(interface_) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_interface_skeleton_get_info\n  type(c_ptr), value :: interface_\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusInterfaceVTable *g_dbus_interface_skeleton_get_vtable (GDBusInterfaceSkeleton *interface_);\nfunction g_dbus_interface_skeleton_get_vtable(interface_) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_interface_skeleton_get_vtable\n  type(c_ptr), value :: interface_\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GVariant *g_dbus_interface_skeleton_get_properties (GDBusInterfaceSkeleton *interface_);\nfunction g_dbus_interface_skeleton_get_properties(interface_) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_interface_skeleton_get_properties\n  type(c_ptr), value :: interface_\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_interface_skeleton_flush (GDBusInterfaceSkeleton *interface_);\nsubroutine g_dbus_interface_skeleton_flush(interface_) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: interface_\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_dbus_interface_skeleton_export (GDBusInterfaceSkeleton *interface_, GDBusConnection *connection, const gchar *object_path, GError **error);\nfunction g_dbus_interface_skeleton_export(interface_, connection, object_path,&\n& error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_dbus_interface_skeleton_export\n  type(c_ptr), value :: interface_\n  type(c_ptr), value :: connection\n  character(kind=c_char), dimension(*) :: object_path\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_interface_skeleton_unexport (GDBusInterfaceSkeleton *interface_);\nsubroutine g_dbus_interface_skeleton_unexport(interface_) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: interface_\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_interface_skeleton_unexport_from_connection (GDBusInterfaceSkeleton *interface_, GDBusConnection *connection);\nsubroutine g_dbus_interface_skeleton_unexport_from_connection(interface_,&\n& connection) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: interface_\n  type(c_ptr), value :: connection\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusConnection *g_dbus_interface_skeleton_get_connection (GDBusInterfaceSkeleton *interface_);\nfunction g_dbus_interface_skeleton_get_connection(interface_) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_interface_skeleton_get_connection\n  type(c_ptr), value :: interface_\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GList *g_dbus_interface_skeleton_get_connections (GDBusInterfaceSkeleton *interface_);\nfunction g_dbus_interface_skeleton_get_connections(interface_) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_interface_skeleton_get_connections\n  type(c_ptr), value :: interface_\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_dbus_interface_skeleton_has_connection (GDBusInterfaceSkeleton *interface_, GDBusConnection *connection);\nfunction g_dbus_interface_skeleton_has_connection(interface_, connection)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_dbus_interface_skeleton_has_connection\n  type(c_ptr), value :: interface_\n  type(c_ptr), value :: connection\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar *g_dbus_interface_skeleton_get_object_path (GDBusInterfaceSkeleton *interface_);\nfunction g_dbus_interface_skeleton_get_object_path(interface_) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_interface_skeleton_get_object_path\n  type(c_ptr), value :: interface_\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gdbusintrospection.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!const gchar *g_dbus_annotation_info_lookup (GDBusAnnotationInfo **annotations, const gchar *name);\nfunction g_dbus_annotation_info_lookup(annotations, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_dbus_annotation_info_lookup\n  type(c_ptr), value :: annotations\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusMethodInfo *g_dbus_interface_info_lookup_method (GDBusInterfaceInfo *info, const gchar *name);\nfunction g_dbus_interface_info_lookup_method(info, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_dbus_interface_info_lookup_method\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusSignalInfo *g_dbus_interface_info_lookup_signal (GDBusInterfaceInfo *info, const gchar *name);\nfunction g_dbus_interface_info_lookup_signal(info, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_dbus_interface_info_lookup_signal\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusPropertyInfo *g_dbus_interface_info_lookup_property (GDBusInterfaceInfo *info, const gchar *name);\nfunction g_dbus_interface_info_lookup_property(info, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_dbus_interface_info_lookup_property\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_interface_info_cache_build (GDBusInterfaceInfo *info);\nsubroutine g_dbus_interface_info_cache_build(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: info\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_interface_info_cache_release (GDBusInterfaceInfo *info);\nsubroutine g_dbus_interface_info_cache_release(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: info\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_interface_info_generate_xml (GDBusInterfaceInfo *info, guint indent, GString *string_builder);\nsubroutine g_dbus_interface_info_generate_xml(info, indent, string_builder)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: info\n  integer(c_int), value :: indent\n  type(c_ptr), value :: string_builder\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusNodeInfo *g_dbus_node_info_new_for_xml (const gchar *xml_data, GError **error);\nfunction g_dbus_node_info_new_for_xml(xml_data, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_dbus_node_info_new_for_xml\n  character(kind=c_char), dimension(*) :: xml_data\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusInterfaceInfo *g_dbus_node_info_lookup_interface (GDBusNodeInfo *info, const gchar *name);\nfunction g_dbus_node_info_lookup_interface(info, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_dbus_node_info_lookup_interface\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_node_info_generate_xml (GDBusNodeInfo *info, guint indent, GString *string_builder);\nsubroutine g_dbus_node_info_generate_xml(info, indent, string_builder) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: info\n  integer(c_int), value :: indent\n  type(c_ptr), value :: string_builder\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusNodeInfo *g_dbus_node_info_ref (GDBusNodeInfo *info);\nfunction g_dbus_node_info_ref(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_node_info_ref\n  type(c_ptr), value :: info\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusInterfaceInfo *g_dbus_interface_info_ref (GDBusInterfaceInfo *info);\nfunction g_dbus_interface_info_ref(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_interface_info_ref\n  type(c_ptr), value :: info\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusMethodInfo *g_dbus_method_info_ref (GDBusMethodInfo *info);\nfunction g_dbus_method_info_ref(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_method_info_ref\n  type(c_ptr), value :: info\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusSignalInfo *g_dbus_signal_info_ref (GDBusSignalInfo *info);\nfunction g_dbus_signal_info_ref(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_signal_info_ref\n  type(c_ptr), value :: info\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusPropertyInfo *g_dbus_property_info_ref (GDBusPropertyInfo *info);\nfunction g_dbus_property_info_ref(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_property_info_ref\n  type(c_ptr), value :: info\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusArgInfo *g_dbus_arg_info_ref (GDBusArgInfo *info);\nfunction g_dbus_arg_info_ref(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_arg_info_ref\n  type(c_ptr), value :: info\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusAnnotationInfo *g_dbus_annotation_info_ref (GDBusAnnotationInfo *info);\nfunction g_dbus_annotation_info_ref(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_annotation_info_ref\n  type(c_ptr), value :: info\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_node_info_unref (GDBusNodeInfo *info);\nsubroutine g_dbus_node_info_unref(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: info\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_interface_info_unref (GDBusInterfaceInfo *info);\nsubroutine g_dbus_interface_info_unref(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: info\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_method_info_unref (GDBusMethodInfo *info);\nsubroutine g_dbus_method_info_unref(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: info\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_signal_info_unref (GDBusSignalInfo *info);\nsubroutine g_dbus_signal_info_unref(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: info\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_property_info_unref (GDBusPropertyInfo *info);\nsubroutine g_dbus_property_info_unref(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: info\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_arg_info_unref (GDBusArgInfo *info);\nsubroutine g_dbus_arg_info_unref(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: info\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_annotation_info_unref (GDBusAnnotationInfo *info);\nsubroutine g_dbus_annotation_info_unref(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: info\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GType g_dbus_node_info_get_type (void) ;\nfunction g_dbus_node_info_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_dbus_node_info_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GType g_dbus_interface_info_get_type (void) ;\nfunction g_dbus_interface_info_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_dbus_interface_info_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GType g_dbus_method_info_get_type (void) ;\nfunction g_dbus_method_info_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_dbus_method_info_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GType g_dbus_signal_info_get_type (void) ;\nfunction g_dbus_signal_info_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_dbus_signal_info_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GType g_dbus_property_info_get_type (void) ;\nfunction g_dbus_property_info_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_dbus_property_info_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GType g_dbus_arg_info_get_type (void) ;\nfunction g_dbus_arg_info_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_dbus_arg_info_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GType g_dbus_annotation_info_get_type (void) ;\nfunction g_dbus_annotation_info_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_dbus_annotation_info_get_type\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gdbusmenumodel.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_dbus_menu_model_get_type (void) ;\nfunction g_dbus_menu_model_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_dbus_menu_model_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusMenuModel * g_dbus_menu_model_get (GDBusConnection *connection, const gchar *bus_name, const gchar *object_path);\nfunction g_dbus_menu_model_get(connection, bus_name, object_path) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_dbus_menu_model_get\n  type(c_ptr), value :: connection\n  character(kind=c_char), dimension(*) :: bus_name\n  character(kind=c_char), dimension(*) :: object_path\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gdbusmessage.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_dbus_message_get_type (void) ;\nfunction g_dbus_message_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_dbus_message_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusMessage *g_dbus_message_new (void);\nfunction g_dbus_message_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_message_new\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusMessage *g_dbus_message_new_signal (const gchar *path, const gchar *interface_, const gchar *signal);\nfunction g_dbus_message_new_signal(path, interface_, signal) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_dbus_message_new_signal\n  character(kind=c_char), dimension(*) :: path\n  character(kind=c_char), dimension(*) :: interface_\n  character(kind=c_char), dimension(*) :: signal\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusMessage *g_dbus_message_new_method_call (const gchar *name, const gchar *path, const gchar *interface_, const gchar *method);\nfunction g_dbus_message_new_method_call(name, path, interface_, method) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_dbus_message_new_method_call\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: path\n  character(kind=c_char), dimension(*) :: interface_\n  character(kind=c_char), dimension(*) :: method\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusMessage *g_dbus_message_new_method_reply (GDBusMessage *method_call_message);\nfunction g_dbus_message_new_method_reply(method_call_message) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_message_new_method_reply\n  type(c_ptr), value :: method_call_message\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusMessage *g_dbus_message_new_method_error_valist (GDBusMessage *method_call_message, const gchar *error_name, const gchar *error_message_format, va_list var_args);\nfunction g_dbus_message_new_method_error_valist(method_call_message,&\n& error_name, error_message_format, var_args) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_dbus_message_new_method_error_valist\n  type(c_ptr), value :: method_call_message\n  character(kind=c_char), dimension(*) :: error_name\n  character(kind=c_char), dimension(*) :: error_message_format\n  type(c_ptr), value :: var_args\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusMessage *g_dbus_message_new_method_error_literal (GDBusMessage *method_call_message, const gchar *error_name, const gchar *error_message);\nfunction g_dbus_message_new_method_error_literal(method_call_message,&\n& error_name, error_message) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_dbus_message_new_method_error_literal\n  type(c_ptr), value :: method_call_message\n  character(kind=c_char), dimension(*) :: error_name\n  character(kind=c_char), dimension(*) :: error_message\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gchar *g_dbus_message_print (GDBusMessage *message, guint indent);\nfunction g_dbus_message_print(message, indent) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_dbus_message_print\n  type(c_ptr), value :: message\n  integer(c_int), value :: indent\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_dbus_message_get_locked (GDBusMessage *message);\nfunction g_dbus_message_get_locked(message) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_dbus_message_get_locked\n  type(c_ptr), value :: message\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_message_lock (GDBusMessage *message);\nsubroutine g_dbus_message_lock(message) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: message\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusMessage *g_dbus_message_copy (GDBusMessage *message, GError **error);\nfunction g_dbus_message_copy(message, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_message_copy\n  type(c_ptr), value :: message\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusMessageByteOrder g_dbus_message_get_byte_order (GDBusMessage *message);\nfunction g_dbus_message_get_byte_order(message) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_dbus_message_get_byte_order\n  type(c_ptr), value :: message\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_message_set_byte_order (GDBusMessage *message, GDBusMessageByteOrder byte_order);\nsubroutine g_dbus_message_set_byte_order(message, byte_order) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: message\n  integer(c_int), value :: byte_order\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusMessageType g_dbus_message_get_message_type (GDBusMessage *message);\nfunction g_dbus_message_get_message_type(message) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_dbus_message_get_message_type\n  type(c_ptr), value :: message\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_message_set_message_type (GDBusMessage *message, GDBusMessageType type);\nsubroutine g_dbus_message_set_message_type(message, type) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: message\n  integer(c_int), value :: type\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusMessageFlags g_dbus_message_get_flags (GDBusMessage *message);\nfunction g_dbus_message_get_flags(message) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_dbus_message_get_flags\n  type(c_ptr), value :: message\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_message_set_flags (GDBusMessage *message, GDBusMessageFlags flags);\nsubroutine g_dbus_message_set_flags(message, flags) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: message\n  integer(c_int), value :: flags\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!guint32 g_dbus_message_get_serial (GDBusMessage *message);\nfunction g_dbus_message_get_serial(message) bind(c)\n  import :: c_int32_t, c_ptr\n  implicit none\n  integer(c_int32_t) :: g_dbus_message_get_serial\n  type(c_ptr), value :: message\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_message_set_serial (GDBusMessage *message, guint32 serial);\nsubroutine g_dbus_message_set_serial(message, serial) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr), value :: message\n  integer(c_int32_t), value :: serial\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GVariant *g_dbus_message_get_header (GDBusMessage *message, GDBusMessageHeaderField header_field);\nfunction g_dbus_message_get_header(message, header_field) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_dbus_message_get_header\n  type(c_ptr), value :: message\n  integer(c_int), value :: header_field\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_message_set_header (GDBusMessage *message, GDBusMessageHeaderField header_field, GVariant *value);\nsubroutine g_dbus_message_set_header(message, header_field, value) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: message\n  integer(c_int), value :: header_field\n  type(c_ptr), value :: value\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!guchar *g_dbus_message_get_header_fields (GDBusMessage *message);\nfunction g_dbus_message_get_header_fields(message) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_message_get_header_fields\n  type(c_ptr), value :: message\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GVariant *g_dbus_message_get_body (GDBusMessage *message);\nfunction g_dbus_message_get_body(message) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_message_get_body\n  type(c_ptr), value :: message\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_message_set_body (GDBusMessage *message, GVariant *body);\nsubroutine g_dbus_message_set_body(message, body) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: message\n  type(c_ptr), value :: body\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GUnixFDList *g_dbus_message_get_unix_fd_list (GDBusMessage *message);\nfunction g_dbus_message_get_unix_fd_list(message) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_message_get_unix_fd_list\n  type(c_ptr), value :: message\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_message_set_unix_fd_list (GDBusMessage *message, GUnixFDList *fd_list);\nsubroutine g_dbus_message_set_unix_fd_list(message, fd_list) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: message\n  type(c_ptr), value :: fd_list\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!guint32 g_dbus_message_get_reply_serial (GDBusMessage *message);\nfunction g_dbus_message_get_reply_serial(message) bind(c)\n  import :: c_int32_t, c_ptr\n  implicit none\n  integer(c_int32_t) :: g_dbus_message_get_reply_serial\n  type(c_ptr), value :: message\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_message_set_reply_serial (GDBusMessage *message, guint32 value);\nsubroutine g_dbus_message_set_reply_serial(message, value) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr), value :: message\n  integer(c_int32_t), value :: value\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar *g_dbus_message_get_interface (GDBusMessage *message);\nfunction g_dbus_message_get_interface(message) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_message_get_interface\n  type(c_ptr), value :: message\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_message_set_interface (GDBusMessage *message, const gchar *value);\nsubroutine g_dbus_message_set_interface(message, value) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: message\n  character(kind=c_char), dimension(*) :: value\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar *g_dbus_message_get_member (GDBusMessage *message);\nfunction g_dbus_message_get_member(message) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_message_get_member\n  type(c_ptr), value :: message\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_message_set_member (GDBusMessage *message, const gchar *value);\nsubroutine g_dbus_message_set_member(message, value) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: message\n  character(kind=c_char), dimension(*) :: value\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar *g_dbus_message_get_path (GDBusMessage *message);\nfunction g_dbus_message_get_path(message) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_message_get_path\n  type(c_ptr), value :: message\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_message_set_path (GDBusMessage *message, const gchar *value);\nsubroutine g_dbus_message_set_path(message, value) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: message\n  character(kind=c_char), dimension(*) :: value\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar *g_dbus_message_get_sender (GDBusMessage *message);\nfunction g_dbus_message_get_sender(message) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_message_get_sender\n  type(c_ptr), value :: message\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_message_set_sender (GDBusMessage *message, const gchar *value);\nsubroutine g_dbus_message_set_sender(message, value) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: message\n  character(kind=c_char), dimension(*) :: value\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar *g_dbus_message_get_destination (GDBusMessage *message);\nfunction g_dbus_message_get_destination(message) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_message_get_destination\n  type(c_ptr), value :: message\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_message_set_destination (GDBusMessage *message, const gchar *value);\nsubroutine g_dbus_message_set_destination(message, value) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: message\n  character(kind=c_char), dimension(*) :: value\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar *g_dbus_message_get_error_name (GDBusMessage *message);\nfunction g_dbus_message_get_error_name(message) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_message_get_error_name\n  type(c_ptr), value :: message\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_message_set_error_name (GDBusMessage *message, const gchar *value);\nsubroutine g_dbus_message_set_error_name(message, value) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: message\n  character(kind=c_char), dimension(*) :: value\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar *g_dbus_message_get_signature (GDBusMessage *message);\nfunction g_dbus_message_get_signature(message) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_message_get_signature\n  type(c_ptr), value :: message\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_message_set_signature (GDBusMessage *message, const gchar *value);\nsubroutine g_dbus_message_set_signature(message, value) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: message\n  character(kind=c_char), dimension(*) :: value\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!guint32 g_dbus_message_get_num_unix_fds (GDBusMessage *message);\nfunction g_dbus_message_get_num_unix_fds(message) bind(c)\n  import :: c_int32_t, c_ptr\n  implicit none\n  integer(c_int32_t) :: g_dbus_message_get_num_unix_fds\n  type(c_ptr), value :: message\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_message_set_num_unix_fds (GDBusMessage *message, guint32 value);\nsubroutine g_dbus_message_set_num_unix_fds(message, value) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr), value :: message\n  integer(c_int32_t), value :: value\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar *g_dbus_message_get_arg0 (GDBusMessage *message);\nfunction g_dbus_message_get_arg0(message) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_message_get_arg0\n  type(c_ptr), value :: message\nend function\n\n! GIO_AVAILABLE_IN_2_80\n!const gchar *g_dbus_message_get_arg0_path (GDBusMessage *message);\nfunction g_dbus_message_get_arg0_path(message) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_message_get_arg0_path\n  type(c_ptr), value :: message\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusMessage *g_dbus_message_new_from_blob (guchar *blob, gsize blob_len, GDBusCapabilityFlags capabilities, GError **error);\nfunction g_dbus_message_new_from_blob(blob, blob_len, capabilities, error)&\n& bind(c)\n  import :: c_ptr, c_char, c_size_t, c_int\n  implicit none\n  type(c_ptr) :: g_dbus_message_new_from_blob\n  character(kind=c_char), dimension(*) :: blob\n  integer(c_size_t), value :: blob_len\n  integer(c_int), value :: capabilities\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gssize g_dbus_message_bytes_needed (guchar *blob, gsize blob_len, GError **error);\nfunction g_dbus_message_bytes_needed(blob, blob_len, error) bind(c)\n  import :: c_size_t, c_char, c_ptr\n  implicit none\n  integer(c_size_t) :: g_dbus_message_bytes_needed\n  character(kind=c_char), dimension(*) :: blob\n  integer(c_size_t), value :: blob_len\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!guchar *g_dbus_message_to_blob (GDBusMessage *message, gsize *out_size, GDBusCapabilityFlags capabilities, GError **error);\nfunction g_dbus_message_to_blob(message, out_size, capabilities, error) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_dbus_message_to_blob\n  type(c_ptr), value :: message\n  type(c_ptr), value :: out_size\n  integer(c_int), value :: capabilities\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_dbus_message_to_gerror (GDBusMessage *message, GError **error);\nfunction g_dbus_message_to_gerror(message, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_dbus_message_to_gerror\n  type(c_ptr), value :: message\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gdbusmethodinvocation.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_dbus_method_invocation_get_type (void) ;\nfunction g_dbus_method_invocation_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_dbus_method_invocation_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar *g_dbus_method_invocation_get_sender (GDBusMethodInvocation *invocation);\nfunction g_dbus_method_invocation_get_sender(invocation) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_method_invocation_get_sender\n  type(c_ptr), value :: invocation\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar *g_dbus_method_invocation_get_object_path (GDBusMethodInvocation *invocation);\nfunction g_dbus_method_invocation_get_object_path(invocation) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_method_invocation_get_object_path\n  type(c_ptr), value :: invocation\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar *g_dbus_method_invocation_get_interface_name (GDBusMethodInvocation *invocation);\nfunction g_dbus_method_invocation_get_interface_name(invocation) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_method_invocation_get_interface_name\n  type(c_ptr), value :: invocation\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar *g_dbus_method_invocation_get_method_name (GDBusMethodInvocation *invocation);\nfunction g_dbus_method_invocation_get_method_name(invocation) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_method_invocation_get_method_name\n  type(c_ptr), value :: invocation\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const GDBusMethodInfo *g_dbus_method_invocation_get_method_info (GDBusMethodInvocation *invocation);\nfunction g_dbus_method_invocation_get_method_info(invocation) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_method_invocation_get_method_info\n  type(c_ptr), value :: invocation\nend function\n\n! GIO_AVAILABLE_IN_2_38\n!const GDBusPropertyInfo *g_dbus_method_invocation_get_property_info (GDBusMethodInvocation *invocation);\nfunction g_dbus_method_invocation_get_property_info(invocation) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_method_invocation_get_property_info\n  type(c_ptr), value :: invocation\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusConnection *g_dbus_method_invocation_get_connection (GDBusMethodInvocation *invocation);\nfunction g_dbus_method_invocation_get_connection(invocation) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_method_invocation_get_connection\n  type(c_ptr), value :: invocation\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusMessage *g_dbus_method_invocation_get_message (GDBusMethodInvocation *invocation);\nfunction g_dbus_method_invocation_get_message(invocation) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_method_invocation_get_message\n  type(c_ptr), value :: invocation\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GVariant *g_dbus_method_invocation_get_parameters (GDBusMethodInvocation *invocation);\nfunction g_dbus_method_invocation_get_parameters(invocation) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_method_invocation_get_parameters\n  type(c_ptr), value :: invocation\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gpointer g_dbus_method_invocation_get_user_data (GDBusMethodInvocation *invocation);\nfunction g_dbus_method_invocation_get_user_data(invocation) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_method_invocation_get_user_data\n  type(c_ptr), value :: invocation\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_method_invocation_return_value (GDBusMethodInvocation *invocation, GVariant *parameters);\nsubroutine g_dbus_method_invocation_return_value(invocation, parameters)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: invocation\n  type(c_ptr), value :: parameters\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_method_invocation_return_value_with_unix_fd_list (GDBusMethodInvocation *invocation, GVariant *parameters, GUnixFDList *fd_list);\nsubroutine g_dbus_method_invocation_return_value_with_unix_fd_list(invocation,&\n& parameters, fd_list) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: invocation\n  type(c_ptr), value :: parameters\n  type(c_ptr), value :: fd_list\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_method_invocation_return_error_valist (GDBusMethodInvocation *invocation, GQuark domain, gint code, const gchar *format, va_list var_args) ;\nsubroutine g_dbus_method_invocation_return_error_valist(invocation, domain,&\n& code, format, var_args) bind(c)\n  import :: c_ptr, c_int32_t, c_int, c_char\n  implicit none\n  type(c_ptr), value :: invocation\n  integer(c_int32_t), value :: domain\n  integer(c_int), value :: code\n  character(kind=c_char), dimension(*) :: format\n  type(c_ptr), value :: var_args\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_method_invocation_return_error_literal (GDBusMethodInvocation *invocation, GQuark domain, gint code, const gchar *message);\nsubroutine g_dbus_method_invocation_return_error_literal(invocation, domain,&\n& code, message) bind(c)\n  import :: c_ptr, c_int32_t, c_int, c_char\n  implicit none\n  type(c_ptr), value :: invocation\n  integer(c_int32_t), value :: domain\n  integer(c_int), value :: code\n  character(kind=c_char), dimension(*) :: message\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_method_invocation_return_gerror (GDBusMethodInvocation *invocation, const GError *error);\nsubroutine g_dbus_method_invocation_return_gerror(invocation, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: invocation\n  type(c_ptr), value :: error\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_method_invocation_take_error (GDBusMethodInvocation *invocation, GError *error);\nsubroutine g_dbus_method_invocation_take_error(invocation, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: invocation\n  type(c_ptr), value :: error\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_method_invocation_return_dbus_error (GDBusMethodInvocation *invocation, const gchar *error_name, const gchar *error_message);\nsubroutine g_dbus_method_invocation_return_dbus_error(invocation, error_name,&\n& error_message) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: invocation\n  character(kind=c_char), dimension(*) :: error_name\n  character(kind=c_char), dimension(*) :: error_message\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gdbusnameowning.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!guint g_bus_own_name (GBusType bus_type, const gchar *name, GBusNameOwnerFlags flags, GBusAcquiredCallback bus_acquired_handler, GBusNameAcquiredCallback name_acquired_handler, GBusNameLostCallback name_lost_handler, gpointer user_data, GDestroyNotify user_data_free_func);\nfunction g_bus_own_name(bus_type, name, flags, bus_acquired_handler,&\n& name_acquired_handler, name_lost_handler, user_data, user_data_free_func)&\n& bind(c)\n  import :: c_int, c_char, c_funptr, c_ptr\n  implicit none\n  integer(c_int) :: g_bus_own_name\n  integer(c_int), value :: bus_type\n  character(kind=c_char), dimension(*) :: name\n  integer(c_int), value :: flags\n  type(c_funptr), value :: bus_acquired_handler\n  type(c_funptr), value :: name_acquired_handler\n  type(c_funptr), value :: name_lost_handler\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: user_data_free_func\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!guint g_bus_own_name_on_connection (GDBusConnection *connection, const gchar *name, GBusNameOwnerFlags flags, GBusNameAcquiredCallback name_acquired_handler, GBusNameLostCallback name_lost_handler, gpointer user_data, GDestroyNotify user_data_free_func);\nfunction g_bus_own_name_on_connection(connection, name, flags,&\n& name_acquired_handler, name_lost_handler, user_data, user_data_free_func)&\n& bind(c)\n  import :: c_int, c_ptr, c_char, c_funptr\n  implicit none\n  integer(c_int) :: g_bus_own_name_on_connection\n  type(c_ptr), value :: connection\n  character(kind=c_char), dimension(*) :: name\n  integer(c_int), value :: flags\n  type(c_funptr), value :: name_acquired_handler\n  type(c_funptr), value :: name_lost_handler\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: user_data_free_func\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!guint g_bus_own_name_with_closures (GBusType bus_type, const gchar *name, GBusNameOwnerFlags flags, GClosure *bus_acquired_closure, GClosure *name_acquired_closure, GClosure *name_lost_closure);\nfunction g_bus_own_name_with_closures(bus_type, name, flags,&\n& bus_acquired_closure, name_acquired_closure, name_lost_closure) bind(c)\n  import :: c_int, c_char, c_ptr\n  implicit none\n  integer(c_int) :: g_bus_own_name_with_closures\n  integer(c_int), value :: bus_type\n  character(kind=c_char), dimension(*) :: name\n  integer(c_int), value :: flags\n  type(c_ptr), value :: bus_acquired_closure\n  type(c_ptr), value :: name_acquired_closure\n  type(c_ptr), value :: name_lost_closure\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!guint g_bus_own_name_on_connection_with_closures ( GDBusConnection *connection, const gchar *name, GBusNameOwnerFlags flags, GClosure *name_acquired_closure, GClosure *name_lost_closure);\nfunction g_bus_own_name_on_connection_with_closures(connection, name, flags,&\n& name_acquired_closure, name_lost_closure) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_bus_own_name_on_connection_with_closures\n  type(c_ptr), value :: connection\n  character(kind=c_char), dimension(*) :: name\n  integer(c_int), value :: flags\n  type(c_ptr), value :: name_acquired_closure\n  type(c_ptr), value :: name_lost_closure\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_bus_unown_name (guint owner_id);\nsubroutine g_bus_unown_name(owner_id) bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int), value :: owner_id\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gdbusnamewatching.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!guint g_bus_watch_name (GBusType bus_type, const gchar *name, GBusNameWatcherFlags flags, GBusNameAppearedCallback name_appeared_handler, GBusNameVanishedCallback name_vanished_handler, gpointer user_data, GDestroyNotify user_data_free_func);\nfunction g_bus_watch_name(bus_type, name, flags, name_appeared_handler,&\n& name_vanished_handler, user_data, user_data_free_func) bind(c)\n  import :: c_int, c_char, c_funptr, c_ptr\n  implicit none\n  integer(c_int) :: g_bus_watch_name\n  integer(c_int), value :: bus_type\n  character(kind=c_char), dimension(*) :: name\n  integer(c_int), value :: flags\n  type(c_funptr), value :: name_appeared_handler\n  type(c_funptr), value :: name_vanished_handler\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: user_data_free_func\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!guint g_bus_watch_name_on_connection (GDBusConnection *connection, const gchar *name, GBusNameWatcherFlags flags, GBusNameAppearedCallback name_appeared_handler, GBusNameVanishedCallback name_vanished_handler, gpointer user_data, GDestroyNotify user_data_free_func);\nfunction g_bus_watch_name_on_connection(connection, name, flags,&\n& name_appeared_handler, name_vanished_handler, user_data, user_data_free_func)&\n& bind(c)\n  import :: c_int, c_ptr, c_char, c_funptr\n  implicit none\n  integer(c_int) :: g_bus_watch_name_on_connection\n  type(c_ptr), value :: connection\n  character(kind=c_char), dimension(*) :: name\n  integer(c_int), value :: flags\n  type(c_funptr), value :: name_appeared_handler\n  type(c_funptr), value :: name_vanished_handler\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: user_data_free_func\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!guint g_bus_watch_name_with_closures (GBusType bus_type, const gchar *name, GBusNameWatcherFlags flags, GClosure *name_appeared_closure, GClosure *name_vanished_closure);\nfunction g_bus_watch_name_with_closures(bus_type, name, flags,&\n& name_appeared_closure, name_vanished_closure) bind(c)\n  import :: c_int, c_char, c_ptr\n  implicit none\n  integer(c_int) :: g_bus_watch_name_with_closures\n  integer(c_int), value :: bus_type\n  character(kind=c_char), dimension(*) :: name\n  integer(c_int), value :: flags\n  type(c_ptr), value :: name_appeared_closure\n  type(c_ptr), value :: name_vanished_closure\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!guint g_bus_watch_name_on_connection_with_closures ( GDBusConnection *connection, const gchar *name, GBusNameWatcherFlags flags, GClosure *name_appeared_closure, GClosure *name_vanished_closure);\nfunction g_bus_watch_name_on_connection_with_closures(connection, name, flags,&\n& name_appeared_closure, name_vanished_closure) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_bus_watch_name_on_connection_with_closures\n  type(c_ptr), value :: connection\n  character(kind=c_char), dimension(*) :: name\n  integer(c_int), value :: flags\n  type(c_ptr), value :: name_appeared_closure\n  type(c_ptr), value :: name_vanished_closure\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_bus_unwatch_name (guint watcher_id);\nsubroutine g_bus_unwatch_name(watcher_id) bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int), value :: watcher_id\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gdbusobject.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_dbus_object_get_type (void) ;\nfunction g_dbus_object_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_dbus_object_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar *g_dbus_object_get_object_path (GDBusObject *object);\nfunction g_dbus_object_get_object_path(object) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_object_get_object_path\n  type(c_ptr), value :: object\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GList *g_dbus_object_get_interfaces (GDBusObject *object);\nfunction g_dbus_object_get_interfaces(object) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_object_get_interfaces\n  type(c_ptr), value :: object\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusInterface *g_dbus_object_get_interface (GDBusObject *object, const gchar *interface_name);\nfunction g_dbus_object_get_interface(object, interface_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_dbus_object_get_interface\n  type(c_ptr), value :: object\n  character(kind=c_char), dimension(*) :: interface_name\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gdbusobjectmanager.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_dbus_object_manager_get_type (void) ;\nfunction g_dbus_object_manager_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_dbus_object_manager_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar *g_dbus_object_manager_get_object_path (GDBusObjectManager *manager);\nfunction g_dbus_object_manager_get_object_path(manager) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_object_manager_get_object_path\n  type(c_ptr), value :: manager\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GList *g_dbus_object_manager_get_objects (GDBusObjectManager *manager);\nfunction g_dbus_object_manager_get_objects(manager) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_object_manager_get_objects\n  type(c_ptr), value :: manager\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusObject *g_dbus_object_manager_get_object (GDBusObjectManager *manager, const gchar *object_path);\nfunction g_dbus_object_manager_get_object(manager, object_path) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_dbus_object_manager_get_object\n  type(c_ptr), value :: manager\n  character(kind=c_char), dimension(*) :: object_path\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusInterface *g_dbus_object_manager_get_interface (GDBusObjectManager *manager, const gchar *object_path, const gchar *interface_name);\nfunction g_dbus_object_manager_get_interface(manager, object_path,&\n& interface_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_dbus_object_manager_get_interface\n  type(c_ptr), value :: manager\n  character(kind=c_char), dimension(*) :: object_path\n  character(kind=c_char), dimension(*) :: interface_name\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gdbusobjectmanagerclient.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_dbus_object_manager_client_get_type (void) ;\nfunction g_dbus_object_manager_client_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_dbus_object_manager_client_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_object_manager_client_new (GDBusConnection *connection, GDBusObjectManagerClientFlags flags, const gchar *name, const gchar *object_path, GDBusProxyTypeFunc get_proxy_type_func, gpointer get_proxy_type_user_data, GDestroyNotify get_proxy_type_destroy_notify, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_dbus_object_manager_client_new(connection, flags, name,&\n& object_path, get_proxy_type_func, get_proxy_type_user_data,&\n& get_proxy_type_destroy_notify, cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_char, c_funptr\n  implicit none\n  type(c_ptr), value :: connection\n  integer(c_int), value :: flags\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: object_path\n  type(c_funptr), value :: get_proxy_type_func\n  type(c_ptr), value :: get_proxy_type_user_data\n  type(c_funptr), value :: get_proxy_type_destroy_notify\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusObjectManager *g_dbus_object_manager_client_new_finish (GAsyncResult *res, GError **error);\nfunction g_dbus_object_manager_client_new_finish(res, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_object_manager_client_new_finish\n  type(c_ptr), value :: res\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusObjectManager *g_dbus_object_manager_client_new_sync (GDBusConnection *connection, GDBusObjectManagerClientFlags flags, const gchar *name, const gchar *object_path, GDBusProxyTypeFunc get_proxy_type_func, gpointer get_proxy_type_user_data, GDestroyNotify get_proxy_type_destroy_notify, GCancellable *cancellable, GError **error);\nfunction g_dbus_object_manager_client_new_sync(connection, flags, name,&\n& object_path, get_proxy_type_func, get_proxy_type_user_data,&\n& get_proxy_type_destroy_notify, cancellable, error) bind(c)\n  import :: c_ptr, c_int, c_char, c_funptr\n  implicit none\n  type(c_ptr) :: g_dbus_object_manager_client_new_sync\n  type(c_ptr), value :: connection\n  integer(c_int), value :: flags\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: object_path\n  type(c_funptr), value :: get_proxy_type_func\n  type(c_ptr), value :: get_proxy_type_user_data\n  type(c_funptr), value :: get_proxy_type_destroy_notify\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_object_manager_client_new_for_bus (GBusType bus_type, GDBusObjectManagerClientFlags flags, const gchar *name, const gchar *object_path, GDBusProxyTypeFunc get_proxy_type_func, gpointer get_proxy_type_user_data, GDestroyNotify get_proxy_type_destroy_notify, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_dbus_object_manager_client_new_for_bus(bus_type, flags, name,&\n& object_path, get_proxy_type_func, get_proxy_type_user_data,&\n& get_proxy_type_destroy_notify, cancellable, callback, user_data) bind(c)\n  import :: c_int, c_char, c_funptr, c_ptr\n  implicit none\n  integer(c_int), value :: bus_type\n  integer(c_int), value :: flags\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: object_path\n  type(c_funptr), value :: get_proxy_type_func\n  type(c_ptr), value :: get_proxy_type_user_data\n  type(c_funptr), value :: get_proxy_type_destroy_notify\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusObjectManager *g_dbus_object_manager_client_new_for_bus_finish (GAsyncResult *res, GError **error);\nfunction g_dbus_object_manager_client_new_for_bus_finish(res, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_object_manager_client_new_for_bus_finish\n  type(c_ptr), value :: res\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusObjectManager *g_dbus_object_manager_client_new_for_bus_sync (GBusType bus_type, GDBusObjectManagerClientFlags flags, const gchar *name, const gchar *object_path, GDBusProxyTypeFunc get_proxy_type_func, gpointer get_proxy_type_user_data, GDestroyNotify get_proxy_type_destroy_notify, GCancellable *cancellable, GError **error);\nfunction g_dbus_object_manager_client_new_for_bus_sync(bus_type, flags, name,&\n& object_path, get_proxy_type_func, get_proxy_type_user_data,&\n& get_proxy_type_destroy_notify, cancellable, error) bind(c)\n  import :: c_ptr, c_int, c_char, c_funptr\n  implicit none\n  type(c_ptr) :: g_dbus_object_manager_client_new_for_bus_sync\n  integer(c_int), value :: bus_type\n  integer(c_int), value :: flags\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: object_path\n  type(c_funptr), value :: get_proxy_type_func\n  type(c_ptr), value :: get_proxy_type_user_data\n  type(c_funptr), value :: get_proxy_type_destroy_notify\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusConnection *g_dbus_object_manager_client_get_connection (GDBusObjectManagerClient *manager);\nfunction g_dbus_object_manager_client_get_connection(manager) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_object_manager_client_get_connection\n  type(c_ptr), value :: manager\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusObjectManagerClientFlags g_dbus_object_manager_client_get_flags (GDBusObjectManagerClient *manager);\nfunction g_dbus_object_manager_client_get_flags(manager) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_dbus_object_manager_client_get_flags\n  type(c_ptr), value :: manager\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar *g_dbus_object_manager_client_get_name (GDBusObjectManagerClient *manager);\nfunction g_dbus_object_manager_client_get_name(manager) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_object_manager_client_get_name\n  type(c_ptr), value :: manager\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gchar *g_dbus_object_manager_client_get_name_owner (GDBusObjectManagerClient *manager);\nfunction g_dbus_object_manager_client_get_name_owner(manager) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_object_manager_client_get_name_owner\n  type(c_ptr), value :: manager\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gdbusobjectmanagerserver.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_dbus_object_manager_server_get_type (void) ;\nfunction g_dbus_object_manager_server_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_dbus_object_manager_server_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusObjectManagerServer *g_dbus_object_manager_server_new (const gchar *object_path);\nfunction g_dbus_object_manager_server_new(object_path) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_dbus_object_manager_server_new\n  character(kind=c_char), dimension(*) :: object_path\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusConnection *g_dbus_object_manager_server_get_connection (GDBusObjectManagerServer *manager);\nfunction g_dbus_object_manager_server_get_connection(manager) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_object_manager_server_get_connection\n  type(c_ptr), value :: manager\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_object_manager_server_set_connection (GDBusObjectManagerServer *manager, GDBusConnection *connection);\nsubroutine g_dbus_object_manager_server_set_connection(manager, connection)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: manager\n  type(c_ptr), value :: connection\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_object_manager_server_export (GDBusObjectManagerServer *manager, GDBusObjectSkeleton *object);\nsubroutine g_dbus_object_manager_server_export(manager, object) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: manager\n  type(c_ptr), value :: object\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_object_manager_server_export_uniquely (GDBusObjectManagerServer *manager, GDBusObjectSkeleton *object);\nsubroutine g_dbus_object_manager_server_export_uniquely(manager, object)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: manager\n  type(c_ptr), value :: object\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_dbus_object_manager_server_is_exported (GDBusObjectManagerServer *manager, GDBusObjectSkeleton *object);\nfunction g_dbus_object_manager_server_is_exported(manager, object) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_dbus_object_manager_server_is_exported\n  type(c_ptr), value :: manager\n  type(c_ptr), value :: object\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_dbus_object_manager_server_unexport (GDBusObjectManagerServer *manager, const gchar *object_path);\nfunction g_dbus_object_manager_server_unexport(manager, object_path) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_dbus_object_manager_server_unexport\n  type(c_ptr), value :: manager\n  character(kind=c_char), dimension(*) :: object_path\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gdbusobjectproxy.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_dbus_object_proxy_get_type (void) ;\nfunction g_dbus_object_proxy_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_dbus_object_proxy_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusObjectProxy *g_dbus_object_proxy_new (GDBusConnection *connection, const gchar *object_path);\nfunction g_dbus_object_proxy_new(connection, object_path) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_dbus_object_proxy_new\n  type(c_ptr), value :: connection\n  character(kind=c_char), dimension(*) :: object_path\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusConnection *g_dbus_object_proxy_get_connection (GDBusObjectProxy *proxy);\nfunction g_dbus_object_proxy_get_connection(proxy) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_object_proxy_get_connection\n  type(c_ptr), value :: proxy\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gdbusobjectskeleton.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_dbus_object_skeleton_get_type (void) ;\nfunction g_dbus_object_skeleton_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_dbus_object_skeleton_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusObjectSkeleton *g_dbus_object_skeleton_new (const gchar *object_path);\nfunction g_dbus_object_skeleton_new(object_path) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_dbus_object_skeleton_new\n  character(kind=c_char), dimension(*) :: object_path\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_object_skeleton_flush (GDBusObjectSkeleton *object);\nsubroutine g_dbus_object_skeleton_flush(object) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: object\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_object_skeleton_add_interface (GDBusObjectSkeleton *object, GDBusInterfaceSkeleton *interface_);\nsubroutine g_dbus_object_skeleton_add_interface(object, interface_) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: object\n  type(c_ptr), value :: interface_\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_object_skeleton_remove_interface (GDBusObjectSkeleton *object, GDBusInterfaceSkeleton *interface_);\nsubroutine g_dbus_object_skeleton_remove_interface(object, interface_) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: object\n  type(c_ptr), value :: interface_\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_object_skeleton_remove_interface_by_name (GDBusObjectSkeleton *object, const gchar *interface_name);\nsubroutine g_dbus_object_skeleton_remove_interface_by_name(object,&\n& interface_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: object\n  character(kind=c_char), dimension(*) :: interface_name\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_object_skeleton_set_object_path (GDBusObjectSkeleton *object, const gchar *object_path);\nsubroutine g_dbus_object_skeleton_set_object_path(object, object_path) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: object\n  character(kind=c_char), dimension(*) :: object_path\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gdbusproxy.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_dbus_proxy_get_type (void) ;\nfunction g_dbus_proxy_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_dbus_proxy_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_proxy_new (GDBusConnection *connection, GDBusProxyFlags flags, GDBusInterfaceInfo *info, const gchar *name, const gchar *object_path, const gchar *interface_name, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_dbus_proxy_new(connection, flags, info, name, object_path,&\n& interface_name, cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_char, c_funptr\n  implicit none\n  type(c_ptr), value :: connection\n  integer(c_int), value :: flags\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: object_path\n  character(kind=c_char), dimension(*) :: interface_name\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusProxy *g_dbus_proxy_new_finish (GAsyncResult *res, GError **error);\nfunction g_dbus_proxy_new_finish(res, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_proxy_new_finish\n  type(c_ptr), value :: res\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusProxy *g_dbus_proxy_new_sync (GDBusConnection *connection, GDBusProxyFlags flags, GDBusInterfaceInfo *info, const gchar *name, const gchar *object_path, const gchar *interface_name, GCancellable *cancellable, GError **error);\nfunction g_dbus_proxy_new_sync(connection, flags, info, name, object_path,&\n& interface_name, cancellable, error) bind(c)\n  import :: c_ptr, c_int, c_char\n  implicit none\n  type(c_ptr) :: g_dbus_proxy_new_sync\n  type(c_ptr), value :: connection\n  integer(c_int), value :: flags\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: object_path\n  character(kind=c_char), dimension(*) :: interface_name\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_proxy_new_for_bus (GBusType bus_type, GDBusProxyFlags flags, GDBusInterfaceInfo *info, const gchar *name, const gchar *object_path, const gchar *interface_name, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_dbus_proxy_new_for_bus(bus_type, flags, info, name, object_path,&\n& interface_name, cancellable, callback, user_data) bind(c)\n  import :: c_int, c_ptr, c_char, c_funptr\n  implicit none\n  integer(c_int), value :: bus_type\n  integer(c_int), value :: flags\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: object_path\n  character(kind=c_char), dimension(*) :: interface_name\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusProxy *g_dbus_proxy_new_for_bus_finish (GAsyncResult *res, GError **error);\nfunction g_dbus_proxy_new_for_bus_finish(res, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_proxy_new_for_bus_finish\n  type(c_ptr), value :: res\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusProxy *g_dbus_proxy_new_for_bus_sync (GBusType bus_type, GDBusProxyFlags flags, GDBusInterfaceInfo *info, const gchar *name, const gchar *object_path, const gchar *interface_name, GCancellable *cancellable, GError **error);\nfunction g_dbus_proxy_new_for_bus_sync(bus_type, flags, info, name,&\n& object_path, interface_name, cancellable, error) bind(c)\n  import :: c_ptr, c_int, c_char\n  implicit none\n  type(c_ptr) :: g_dbus_proxy_new_for_bus_sync\n  integer(c_int), value :: bus_type\n  integer(c_int), value :: flags\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: object_path\n  character(kind=c_char), dimension(*) :: interface_name\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusConnection *g_dbus_proxy_get_connection (GDBusProxy *proxy);\nfunction g_dbus_proxy_get_connection(proxy) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_proxy_get_connection\n  type(c_ptr), value :: proxy\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusProxyFlags g_dbus_proxy_get_flags (GDBusProxy *proxy);\nfunction g_dbus_proxy_get_flags(proxy) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_dbus_proxy_get_flags\n  type(c_ptr), value :: proxy\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar *g_dbus_proxy_get_name (GDBusProxy *proxy);\nfunction g_dbus_proxy_get_name(proxy) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_proxy_get_name\n  type(c_ptr), value :: proxy\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gchar *g_dbus_proxy_get_name_owner (GDBusProxy *proxy);\nfunction g_dbus_proxy_get_name_owner(proxy) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_proxy_get_name_owner\n  type(c_ptr), value :: proxy\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar *g_dbus_proxy_get_object_path (GDBusProxy *proxy);\nfunction g_dbus_proxy_get_object_path(proxy) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_proxy_get_object_path\n  type(c_ptr), value :: proxy\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar *g_dbus_proxy_get_interface_name (GDBusProxy *proxy);\nfunction g_dbus_proxy_get_interface_name(proxy) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_proxy_get_interface_name\n  type(c_ptr), value :: proxy\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gint g_dbus_proxy_get_default_timeout (GDBusProxy *proxy);\nfunction g_dbus_proxy_get_default_timeout(proxy) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_dbus_proxy_get_default_timeout\n  type(c_ptr), value :: proxy\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_proxy_set_default_timeout (GDBusProxy *proxy, gint timeout_msec);\nsubroutine g_dbus_proxy_set_default_timeout(proxy, timeout_msec) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: proxy\n  integer(c_int), value :: timeout_msec\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusInterfaceInfo *g_dbus_proxy_get_interface_info (GDBusProxy *proxy);\nfunction g_dbus_proxy_get_interface_info(proxy) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_proxy_get_interface_info\n  type(c_ptr), value :: proxy\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_proxy_set_interface_info (GDBusProxy *proxy, GDBusInterfaceInfo *info);\nsubroutine g_dbus_proxy_set_interface_info(proxy, info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: proxy\n  type(c_ptr), value :: info\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GVariant *g_dbus_proxy_get_cached_property (GDBusProxy *proxy, const gchar *property_name);\nfunction g_dbus_proxy_get_cached_property(proxy, property_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_dbus_proxy_get_cached_property\n  type(c_ptr), value :: proxy\n  character(kind=c_char), dimension(*) :: property_name\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_proxy_set_cached_property (GDBusProxy *proxy, const gchar *property_name, GVariant *value);\nsubroutine g_dbus_proxy_set_cached_property(proxy, property_name, value)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: proxy\n  character(kind=c_char), dimension(*) :: property_name\n  type(c_ptr), value :: value\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gchar **g_dbus_proxy_get_cached_property_names (GDBusProxy *proxy);\nfunction g_dbus_proxy_get_cached_property_names(proxy) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_proxy_get_cached_property_names\n  type(c_ptr), value :: proxy\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_proxy_call (GDBusProxy *proxy, const gchar *method_name, GVariant *parameters, GDBusCallFlags flags, gint timeout_msec, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_dbus_proxy_call(proxy, method_name, parameters, flags,&\n& timeout_msec, cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_char, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: proxy\n  character(kind=c_char), dimension(*) :: method_name\n  type(c_ptr), value :: parameters\n  integer(c_int), value :: flags\n  integer(c_int), value :: timeout_msec\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GVariant *g_dbus_proxy_call_finish (GDBusProxy *proxy, GAsyncResult *res, GError **error);\nfunction g_dbus_proxy_call_finish(proxy, res, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_proxy_call_finish\n  type(c_ptr), value :: proxy\n  type(c_ptr), value :: res\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GVariant *g_dbus_proxy_call_sync (GDBusProxy *proxy, const gchar *method_name, GVariant *parameters, GDBusCallFlags flags, gint timeout_msec, GCancellable *cancellable, GError **error);\nfunction g_dbus_proxy_call_sync(proxy, method_name, parameters, flags,&\n& timeout_msec, cancellable, error) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_dbus_proxy_call_sync\n  type(c_ptr), value :: proxy\n  character(kind=c_char), dimension(*) :: method_name\n  type(c_ptr), value :: parameters\n  integer(c_int), value :: flags\n  integer(c_int), value :: timeout_msec\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_proxy_call_with_unix_fd_list (GDBusProxy *proxy, const gchar *method_name, GVariant *parameters, GDBusCallFlags flags, gint timeout_msec, GUnixFDList *fd_list, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_dbus_proxy_call_with_unix_fd_list(proxy, method_name, parameters,&\n& flags, timeout_msec, fd_list, cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_char, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: proxy\n  character(kind=c_char), dimension(*) :: method_name\n  type(c_ptr), value :: parameters\n  integer(c_int), value :: flags\n  integer(c_int), value :: timeout_msec\n  type(c_ptr), value :: fd_list\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GVariant *g_dbus_proxy_call_with_unix_fd_list_finish (GDBusProxy *proxy, GUnixFDList **out_fd_list, GAsyncResult *res, GError **error);\nfunction g_dbus_proxy_call_with_unix_fd_list_finish(proxy, out_fd_list, res,&\n& error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_proxy_call_with_unix_fd_list_finish\n  type(c_ptr), value :: proxy\n  type(c_ptr), value :: out_fd_list\n  type(c_ptr), value :: res\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GVariant *g_dbus_proxy_call_with_unix_fd_list_sync (GDBusProxy *proxy, const gchar *method_name, GVariant *parameters, GDBusCallFlags flags, gint timeout_msec, GUnixFDList *fd_list, GUnixFDList **out_fd_list, GCancellable *cancellable, GError **error);\nfunction g_dbus_proxy_call_with_unix_fd_list_sync(proxy, method_name,&\n& parameters, flags, timeout_msec, fd_list, out_fd_list, cancellable, error)&\n& bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_dbus_proxy_call_with_unix_fd_list_sync\n  type(c_ptr), value :: proxy\n  character(kind=c_char), dimension(*) :: method_name\n  type(c_ptr), value :: parameters\n  integer(c_int), value :: flags\n  integer(c_int), value :: timeout_msec\n  type(c_ptr), value :: fd_list\n  type(c_ptr), value :: out_fd_list\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gdbusserver.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_dbus_server_get_type (void) ;\nfunction g_dbus_server_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_dbus_server_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusServer *g_dbus_server_new_sync (const gchar *address, GDBusServerFlags flags, const gchar *guid, GDBusAuthObserver *observer, GCancellable *cancellable, GError **error);\nfunction g_dbus_server_new_sync(address, flags, guid, observer, cancellable,&\n& error) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_dbus_server_new_sync\n  character(kind=c_char), dimension(*) :: address\n  integer(c_int), value :: flags\n  character(kind=c_char), dimension(*) :: guid\n  type(c_ptr), value :: observer\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar *g_dbus_server_get_client_address (GDBusServer *server);\nfunction g_dbus_server_get_client_address(server) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_server_get_client_address\n  type(c_ptr), value :: server\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar *g_dbus_server_get_guid (GDBusServer *server);\nfunction g_dbus_server_get_guid(server) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_server_get_guid\n  type(c_ptr), value :: server\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDBusServerFlags g_dbus_server_get_flags (GDBusServer *server);\nfunction g_dbus_server_get_flags(server) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_dbus_server_get_flags\n  type(c_ptr), value :: server\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_server_start (GDBusServer *server);\nsubroutine g_dbus_server_start(server) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: server\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_server_stop (GDBusServer *server);\nsubroutine g_dbus_server_stop(server) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: server\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_dbus_server_is_active (GDBusServer *server);\nfunction g_dbus_server_is_active(server) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_dbus_server_is_active\n  type(c_ptr), value :: server\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gdbusutils.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_dbus_is_guid (const gchar *string);\nfunction g_dbus_is_guid(string) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_dbus_is_guid\n  character(kind=c_char), dimension(*) :: string\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gchar *g_dbus_generate_guid (void);\nfunction g_dbus_generate_guid() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_generate_guid\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_dbus_is_name (const gchar *string);\nfunction g_dbus_is_name(string) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_dbus_is_name\n  character(kind=c_char), dimension(*) :: string\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_dbus_is_unique_name (const gchar *string);\nfunction g_dbus_is_unique_name(string) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_dbus_is_unique_name\n  character(kind=c_char), dimension(*) :: string\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_dbus_is_member_name (const gchar *string);\nfunction g_dbus_is_member_name(string) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_dbus_is_member_name\n  character(kind=c_char), dimension(*) :: string\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_dbus_is_interface_name (const gchar *string);\nfunction g_dbus_is_interface_name(string) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_dbus_is_interface_name\n  character(kind=c_char), dimension(*) :: string\nend function\n\n! GIO_AVAILABLE_IN_2_70\n!gboolean g_dbus_is_error_name (const gchar *string);\nfunction g_dbus_is_error_name(string) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_dbus_is_error_name\n  character(kind=c_char), dimension(*) :: string\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_dbus_gvariant_to_gvalue (GVariant *value, GValue *out_gvalue);\nsubroutine g_dbus_gvariant_to_gvalue(value, out_gvalue) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: value\n  type(c_ptr), value :: out_gvalue\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GVariant *g_dbus_gvalue_to_gvariant (const GValue *gvalue, const GVariantType *type);\nfunction g_dbus_gvalue_to_gvariant(gvalue, type) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_gvalue_to_gvariant\n  type(c_ptr), value :: gvalue\n  type(c_ptr), value :: type\nend function\n\n! GIO_AVAILABLE_IN_2_68\n!gchar *g_dbus_escape_object_path_bytestring (const guint8 *bytes);\nfunction g_dbus_escape_object_path_bytestring(bytes) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dbus_escape_object_path_bytestring\n  type(c_ptr), value :: bytes\nend function\n\n! GIO_AVAILABLE_IN_2_68\n!gchar *g_dbus_escape_object_path (const gchar *s);\nfunction g_dbus_escape_object_path(s) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_dbus_escape_object_path\n  character(kind=c_char), dimension(*) :: s\nend function\n\n! GIO_AVAILABLE_IN_2_68\n!guint8 *g_dbus_unescape_object_path (const gchar *s);\nfunction g_dbus_unescape_object_path(s) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_dbus_unescape_object_path\n  character(kind=c_char), dimension(*) :: s\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gdebugcontroller.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_2_72\n!gboolean g_debug_controller_get_debug_enabled (GDebugController *self);\nfunction g_debug_controller_get_debug_enabled(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_debug_controller_get_debug_enabled\n  type(c_ptr), value :: self\nend function\n\n! GIO_AVAILABLE_IN_2_72\n!void g_debug_controller_set_debug_enabled (GDebugController *self, gboolean debug_enabled);\nsubroutine g_debug_controller_set_debug_enabled(self, debug_enabled) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: debug_enabled\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gdebugcontrollerdbus.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_2_72\n!GDebugControllerDBus *g_debug_controller_dbus_new (GDBusConnection *connection, GCancellable *cancellable, GError **error);\nfunction g_debug_controller_dbus_new(connection, cancellable, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_debug_controller_dbus_new\n  type(c_ptr), value :: connection\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_72\n!void g_debug_controller_dbus_stop (GDebugControllerDBus *self);\nsubroutine g_debug_controller_dbus_stop(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gdrive.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_drive_get_type (void) ;\nfunction g_drive_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_drive_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!char * g_drive_get_name (GDrive *drive);\nfunction g_drive_get_name(drive) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_drive_get_name\n  type(c_ptr), value :: drive\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GIcon * g_drive_get_icon (GDrive *drive);\nfunction g_drive_get_icon(drive) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_drive_get_icon\n  type(c_ptr), value :: drive\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GIcon * g_drive_get_symbolic_icon (GDrive *drive);\nfunction g_drive_get_symbolic_icon(drive) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_drive_get_symbolic_icon\n  type(c_ptr), value :: drive\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_drive_has_volumes (GDrive *drive);\nfunction g_drive_has_volumes(drive) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_drive_has_volumes\n  type(c_ptr), value :: drive\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GList * g_drive_get_volumes (GDrive *drive);\nfunction g_drive_get_volumes(drive) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_drive_get_volumes\n  type(c_ptr), value :: drive\nend function\n\n! GIO_AVAILABLE_IN_2_50\n!gboolean g_drive_is_removable (GDrive *drive);\nfunction g_drive_is_removable(drive) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_drive_is_removable\n  type(c_ptr), value :: drive\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_drive_is_media_removable (GDrive *drive);\nfunction g_drive_is_media_removable(drive) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_drive_is_media_removable\n  type(c_ptr), value :: drive\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_drive_has_media (GDrive *drive);\nfunction g_drive_has_media(drive) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_drive_has_media\n  type(c_ptr), value :: drive\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_drive_is_media_check_automatic (GDrive *drive);\nfunction g_drive_is_media_check_automatic(drive) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_drive_is_media_check_automatic\n  type(c_ptr), value :: drive\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_drive_can_poll_for_media (GDrive *drive);\nfunction g_drive_can_poll_for_media(drive) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_drive_can_poll_for_media\n  type(c_ptr), value :: drive\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_drive_can_eject (GDrive *drive);\nfunction g_drive_can_eject(drive) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_drive_can_eject\n  type(c_ptr), value :: drive\nend function\n\n! GIO_DEPRECATED_FOR(g_drive_eject_with_operation)\n!void g_drive_eject (GDrive *drive, GMountUnmountFlags flags, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_drive_eject(drive, flags, cancellable, callback, user_data)&\n& bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: drive\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_DEPRECATED_FOR(g_drive_eject_with_operation_finish)\n!gboolean g_drive_eject_finish (GDrive *drive, GAsyncResult *result, GError **error);\nfunction g_drive_eject_finish(drive, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_drive_eject_finish\n  type(c_ptr), value :: drive\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_drive_poll_for_media (GDrive *drive, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_drive_poll_for_media(drive, cancellable, callback, user_data)&\n& bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: drive\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_drive_poll_for_media_finish (GDrive *drive, GAsyncResult *result, GError **error);\nfunction g_drive_poll_for_media_finish(drive, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_drive_poll_for_media_finish\n  type(c_ptr), value :: drive\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!char * g_drive_get_identifier (GDrive *drive, const char *kind);\nfunction g_drive_get_identifier(drive, kind) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_drive_get_identifier\n  type(c_ptr), value :: drive\n  character(kind=c_char), dimension(*) :: kind\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!char ** g_drive_enumerate_identifiers (GDrive *drive);\nfunction g_drive_enumerate_identifiers(drive) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_drive_enumerate_identifiers\n  type(c_ptr), value :: drive\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDriveStartStopType g_drive_get_start_stop_type (GDrive *drive);\nfunction g_drive_get_start_stop_type(drive) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_drive_get_start_stop_type\n  type(c_ptr), value :: drive\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_drive_can_start (GDrive *drive);\nfunction g_drive_can_start(drive) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_drive_can_start\n  type(c_ptr), value :: drive\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_drive_can_start_degraded (GDrive *drive);\nfunction g_drive_can_start_degraded(drive) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_drive_can_start_degraded\n  type(c_ptr), value :: drive\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_drive_start (GDrive *drive, GDriveStartFlags flags, GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_drive_start(drive, flags, mount_operation, cancellable, callback,&\n& user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: drive\n  integer(c_int), value :: flags\n  type(c_ptr), value :: mount_operation\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_drive_start_finish (GDrive *drive, GAsyncResult *result, GError **error);\nfunction g_drive_start_finish(drive, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_drive_start_finish\n  type(c_ptr), value :: drive\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_drive_can_stop (GDrive *drive);\nfunction g_drive_can_stop(drive) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_drive_can_stop\n  type(c_ptr), value :: drive\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_drive_stop (GDrive *drive, GMountUnmountFlags flags, GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_drive_stop(drive, flags, mount_operation, cancellable, callback,&\n& user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: drive\n  integer(c_int), value :: flags\n  type(c_ptr), value :: mount_operation\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_drive_stop_finish (GDrive *drive, GAsyncResult *result, GError **error);\nfunction g_drive_stop_finish(drive, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_drive_stop_finish\n  type(c_ptr), value :: drive\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_drive_eject_with_operation (GDrive *drive, GMountUnmountFlags flags, GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_drive_eject_with_operation(drive, flags, mount_operation,&\n& cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: drive\n  integer(c_int), value :: flags\n  type(c_ptr), value :: mount_operation\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_drive_eject_with_operation_finish (GDrive *drive, GAsyncResult *result, GError **error);\nfunction g_drive_eject_with_operation_finish(drive, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_drive_eject_with_operation_finish\n  type(c_ptr), value :: drive\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!const gchar *g_drive_get_sort_key (GDrive *drive);\nfunction g_drive_get_sort_key(drive) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_drive_get_sort_key\n  type(c_ptr), value :: drive\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gdtlsclientconnection.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_2_48\n!GType g_dtls_client_connection_get_type (void) ;\nfunction g_dtls_client_connection_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_dtls_client_connection_get_type\nend function\n\n! GIO_AVAILABLE_IN_2_48\n!GDatagramBased *g_dtls_client_connection_new (GDatagramBased *base_socket, GSocketConnectable *server_identity, GError **error);\nfunction g_dtls_client_connection_new(base_socket, server_identity, error)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dtls_client_connection_new\n  type(c_ptr), value :: base_socket\n  type(c_ptr), value :: server_identity\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_48\n!GTlsCertificateFlags g_dtls_client_connection_get_validation_flags (GDtlsClientConnection *conn);\nfunction g_dtls_client_connection_get_validation_flags(conn) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_dtls_client_connection_get_validation_flags\n  type(c_ptr), value :: conn\nend function\n\n! GIO_AVAILABLE_IN_2_48\n!void g_dtls_client_connection_set_validation_flags (GDtlsClientConnection *conn, GTlsCertificateFlags flags);\nsubroutine g_dtls_client_connection_set_validation_flags(conn, flags) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: conn\n  integer(c_int), value :: flags\nend subroutine\n\n! GIO_AVAILABLE_IN_2_48\n!GSocketConnectable *g_dtls_client_connection_get_server_identity (GDtlsClientConnection *conn);\nfunction g_dtls_client_connection_get_server_identity(conn) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dtls_client_connection_get_server_identity\n  type(c_ptr), value :: conn\nend function\n\n! GIO_AVAILABLE_IN_2_48\n!void g_dtls_client_connection_set_server_identity (GDtlsClientConnection *conn, GSocketConnectable *identity);\nsubroutine g_dtls_client_connection_set_server_identity(conn, identity) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: conn\n  type(c_ptr), value :: identity\nend subroutine\n\n! GIO_AVAILABLE_IN_2_48\n!GList * g_dtls_client_connection_get_accepted_cas (GDtlsClientConnection *conn);\nfunction g_dtls_client_connection_get_accepted_cas(conn) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dtls_client_connection_get_accepted_cas\n  type(c_ptr), value :: conn\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gdtlsconnection.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_2_48\n!GType g_dtls_connection_get_type (void) ;\nfunction g_dtls_connection_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_dtls_connection_get_type\nend function\n\n! GIO_AVAILABLE_IN_2_48\n!void g_dtls_connection_set_database (GDtlsConnection *conn, GTlsDatabase *database);\nsubroutine g_dtls_connection_set_database(conn, database) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: conn\n  type(c_ptr), value :: database\nend subroutine\n\n! GIO_AVAILABLE_IN_2_48\n!GTlsDatabase *g_dtls_connection_get_database (GDtlsConnection *conn);\nfunction g_dtls_connection_get_database(conn) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dtls_connection_get_database\n  type(c_ptr), value :: conn\nend function\n\n! GIO_AVAILABLE_IN_2_48\n!void g_dtls_connection_set_certificate (GDtlsConnection *conn, GTlsCertificate *certificate);\nsubroutine g_dtls_connection_set_certificate(conn, certificate) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: conn\n  type(c_ptr), value :: certificate\nend subroutine\n\n! GIO_AVAILABLE_IN_2_48\n!GTlsCertificate *g_dtls_connection_get_certificate (GDtlsConnection *conn);\nfunction g_dtls_connection_get_certificate(conn) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dtls_connection_get_certificate\n  type(c_ptr), value :: conn\nend function\n\n! GIO_AVAILABLE_IN_2_48\n!void g_dtls_connection_set_interaction (GDtlsConnection *conn, GTlsInteraction *interaction);\nsubroutine g_dtls_connection_set_interaction(conn, interaction) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: conn\n  type(c_ptr), value :: interaction\nend subroutine\n\n! GIO_AVAILABLE_IN_2_48\n!GTlsInteraction *g_dtls_connection_get_interaction (GDtlsConnection *conn);\nfunction g_dtls_connection_get_interaction(conn) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dtls_connection_get_interaction\n  type(c_ptr), value :: conn\nend function\n\n! GIO_AVAILABLE_IN_2_48\n!GTlsCertificate *g_dtls_connection_get_peer_certificate (GDtlsConnection *conn);\nfunction g_dtls_connection_get_peer_certificate(conn) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dtls_connection_get_peer_certificate\n  type(c_ptr), value :: conn\nend function\n\n! GIO_AVAILABLE_IN_2_48\n!GTlsCertificateFlags g_dtls_connection_get_peer_certificate_errors (GDtlsConnection *conn);\nfunction g_dtls_connection_get_peer_certificate_errors(conn) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_dtls_connection_get_peer_certificate_errors\n  type(c_ptr), value :: conn\nend function\n\n! GIO_AVAILABLE_IN_2_48\n!void g_dtls_connection_set_require_close_notify (GDtlsConnection *conn, gboolean require_close_notify);\nsubroutine g_dtls_connection_set_require_close_notify(conn,&\n& require_close_notify) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: conn\n  integer(c_int), value :: require_close_notify\nend subroutine\n\n! GIO_AVAILABLE_IN_2_48\n!gboolean g_dtls_connection_get_require_close_notify (GDtlsConnection *conn);\nfunction g_dtls_connection_get_require_close_notify(conn) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_dtls_connection_get_require_close_notify\n  type(c_ptr), value :: conn\nend function\n\n! GIO_AVAILABLE_IN_2_48\n!gboolean g_dtls_connection_handshake (GDtlsConnection *conn, GCancellable *cancellable, GError **error);\nfunction g_dtls_connection_handshake(conn, cancellable, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_dtls_connection_handshake\n  type(c_ptr), value :: conn\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_48\n!void g_dtls_connection_handshake_async (GDtlsConnection *conn, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_dtls_connection_handshake_async(conn, io_priority, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: conn\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_2_48\n!gboolean g_dtls_connection_handshake_finish (GDtlsConnection *conn, GAsyncResult *result, GError **error);\nfunction g_dtls_connection_handshake_finish(conn, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_dtls_connection_handshake_finish\n  type(c_ptr), value :: conn\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_48\n!gboolean g_dtls_connection_shutdown (GDtlsConnection *conn, gboolean shutdown_read, gboolean shutdown_write, GCancellable *cancellable, GError **error);\nfunction g_dtls_connection_shutdown(conn, shutdown_read, shutdown_write,&\n& cancellable, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_dtls_connection_shutdown\n  type(c_ptr), value :: conn\n  integer(c_int), value :: shutdown_read\n  integer(c_int), value :: shutdown_write\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_48\n!void g_dtls_connection_shutdown_async (GDtlsConnection *conn, gboolean shutdown_read, gboolean shutdown_write, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_dtls_connection_shutdown_async(conn, shutdown_read,&\n& shutdown_write, io_priority, cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: conn\n  integer(c_int), value :: shutdown_read\n  integer(c_int), value :: shutdown_write\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_2_48\n!gboolean g_dtls_connection_shutdown_finish (GDtlsConnection *conn, GAsyncResult *result, GError **error);\nfunction g_dtls_connection_shutdown_finish(conn, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_dtls_connection_shutdown_finish\n  type(c_ptr), value :: conn\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_48\n!gboolean g_dtls_connection_close (GDtlsConnection *conn, GCancellable *cancellable, GError **error);\nfunction g_dtls_connection_close(conn, cancellable, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_dtls_connection_close\n  type(c_ptr), value :: conn\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_48\n!void g_dtls_connection_close_async (GDtlsConnection *conn, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_dtls_connection_close_async(conn, io_priority, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: conn\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_2_48\n!gboolean g_dtls_connection_close_finish (GDtlsConnection *conn, GAsyncResult *result, GError **error);\nfunction g_dtls_connection_close_finish(conn, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_dtls_connection_close_finish\n  type(c_ptr), value :: conn\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_48\n!gboolean g_dtls_connection_emit_accept_certificate (GDtlsConnection *conn, GTlsCertificate *peer_cert, GTlsCertificateFlags errors);\nfunction g_dtls_connection_emit_accept_certificate(conn, peer_cert, errors)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_dtls_connection_emit_accept_certificate\n  type(c_ptr), value :: conn\n  type(c_ptr), value :: peer_cert\n  integer(c_int), value :: errors\nend function\n\n! GIO_AVAILABLE_IN_2_60\n!void g_dtls_connection_set_advertised_protocols (GDtlsConnection *conn, const gchar * const *protocols);\nsubroutine g_dtls_connection_set_advertised_protocols(conn, protocols) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: conn\n  type(c_ptr), dimension(*) :: protocols\nend subroutine\n\n! GIO_AVAILABLE_IN_2_60\n!const gchar * g_dtls_connection_get_negotiated_protocol (GDtlsConnection *conn);\nfunction g_dtls_connection_get_negotiated_protocol(conn) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dtls_connection_get_negotiated_protocol\n  type(c_ptr), value :: conn\nend function\n\n! GIO_AVAILABLE_IN_2_66\n!gboolean g_dtls_connection_get_channel_binding_data (GDtlsConnection *conn, GTlsChannelBindingType type, GByteArray *data, GError **error);\nfunction g_dtls_connection_get_channel_binding_data(conn, type, data, error)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_dtls_connection_get_channel_binding_data\n  type(c_ptr), value :: conn\n  integer(c_int), value :: type\n  type(c_ptr), value :: data\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_70\n!GTlsProtocolVersion g_dtls_connection_get_protocol_version (GDtlsConnection *conn);\nfunction g_dtls_connection_get_protocol_version(conn) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_dtls_connection_get_protocol_version\n  type(c_ptr), value :: conn\nend function\n\n! GIO_AVAILABLE_IN_2_70\n!gchar * g_dtls_connection_get_ciphersuite_name (GDtlsConnection *conn);\nfunction g_dtls_connection_get_ciphersuite_name(conn) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dtls_connection_get_ciphersuite_name\n  type(c_ptr), value :: conn\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gdtlsserverconnection.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_2_48\n!GType g_dtls_server_connection_get_type (void) ;\nfunction g_dtls_server_connection_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_dtls_server_connection_get_type\nend function\n\n! GIO_AVAILABLE_IN_2_48\n!GDatagramBased *g_dtls_server_connection_new (GDatagramBased *base_socket, GTlsCertificate *certificate, GError **error);\nfunction g_dtls_server_connection_new(base_socket, certificate, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dtls_server_connection_new\n  type(c_ptr), value :: base_socket\n  type(c_ptr), value :: certificate\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gemblem.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_emblem_get_type (void) ;\nfunction g_emblem_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_emblem_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GEmblem *g_emblem_new (GIcon *icon);\nfunction g_emblem_new(icon) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_emblem_new\n  type(c_ptr), value :: icon\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GEmblem *g_emblem_new_with_origin (GIcon *icon, GEmblemOrigin origin);\nfunction g_emblem_new_with_origin(icon, origin) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_emblem_new_with_origin\n  type(c_ptr), value :: icon\n  integer(c_int), value :: origin\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GIcon *g_emblem_get_icon (GEmblem *emblem);\nfunction g_emblem_get_icon(emblem) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_emblem_get_icon\n  type(c_ptr), value :: emblem\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GEmblemOrigin g_emblem_get_origin (GEmblem *emblem);\nfunction g_emblem_get_origin(emblem) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_emblem_get_origin\n  type(c_ptr), value :: emblem\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gemblemedicon.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_emblemed_icon_get_type (void) ;\nfunction g_emblemed_icon_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_emblemed_icon_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GIcon *g_emblemed_icon_new (GIcon *icon, GEmblem *emblem);\nfunction g_emblemed_icon_new(icon, emblem) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_emblemed_icon_new\n  type(c_ptr), value :: icon\n  type(c_ptr), value :: emblem\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GIcon *g_emblemed_icon_get_icon (GEmblemedIcon *emblemed);\nfunction g_emblemed_icon_get_icon(emblemed) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_emblemed_icon_get_icon\n  type(c_ptr), value :: emblemed\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GList *g_emblemed_icon_get_emblems (GEmblemedIcon *emblemed);\nfunction g_emblemed_icon_get_emblems(emblemed) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_emblemed_icon_get_emblems\n  type(c_ptr), value :: emblemed\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_emblemed_icon_add_emblem (GEmblemedIcon *emblemed, GEmblem *emblem);\nsubroutine g_emblemed_icon_add_emblem(emblemed, emblem) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: emblemed\n  type(c_ptr), value :: emblem\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_emblemed_icon_clear_emblems (GEmblemedIcon *emblemed);\nsubroutine g_emblemed_icon_clear_emblems(emblemed) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: emblemed\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gfile.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_file_get_type (void) ;\nfunction g_file_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_file_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFile * g_file_new_for_path (const char *path);\nfunction g_file_new_for_path(path) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_file_new_for_path\n  character(kind=c_char), dimension(*) :: path\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFile * g_file_new_for_uri (const char *uri);\nfunction g_file_new_for_uri(uri) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_file_new_for_uri\n  character(kind=c_char), dimension(*) :: uri\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFile * g_file_new_for_commandline_arg (const char *arg);\nfunction g_file_new_for_commandline_arg(arg) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_file_new_for_commandline_arg\n  character(kind=c_char), dimension(*) :: arg\nend function\n\n! GIO_AVAILABLE_IN_2_36\n!GFile * g_file_new_for_commandline_arg_and_cwd (const gchar *arg, const gchar *cwd);\nfunction g_file_new_for_commandline_arg_and_cwd(arg, cwd) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_file_new_for_commandline_arg_and_cwd\n  character(kind=c_char), dimension(*) :: arg\n  character(kind=c_char), dimension(*) :: cwd\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!GFile * g_file_new_tmp (const char *tmpl, GFileIOStream **iostream, GError **error);\nfunction g_file_new_tmp(tmpl, iostream, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_file_new_tmp\n  character(kind=c_char), dimension(*) :: tmpl\n  type(c_ptr), value :: iostream\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_74\n!void g_file_new_tmp_async (const char *tmpl, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_new_tmp_async(tmpl, io_priority, cancellable, callback,&\n& user_data) bind(c)\n  import :: c_char, c_int, c_ptr, c_funptr\n  implicit none\n  character(kind=c_char), dimension(*) :: tmpl\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_2_74\n!GFile * g_file_new_tmp_finish (GAsyncResult *result, GFileIOStream **iostream, GError **error);\nfunction g_file_new_tmp_finish(result, iostream, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_new_tmp_finish\n  type(c_ptr), value :: result\n  type(c_ptr), value :: iostream\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_74\n!void g_file_new_tmp_dir_async (const char *tmpl, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_new_tmp_dir_async(tmpl, io_priority, cancellable, callback,&\n& user_data) bind(c)\n  import :: c_char, c_int, c_ptr, c_funptr\n  implicit none\n  character(kind=c_char), dimension(*) :: tmpl\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_2_74\n!GFile * g_file_new_tmp_dir_finish (GAsyncResult *result, GError **error);\nfunction g_file_new_tmp_dir_finish(result, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_new_tmp_dir_finish\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFile * g_file_parse_name (const char *parse_name);\nfunction g_file_parse_name(parse_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_file_parse_name\n  character(kind=c_char), dimension(*) :: parse_name\nend function\n\n! GIO_AVAILABLE_IN_2_78\n!GFile * g_file_new_build_filenamev (const gchar * const *args);\nfunction g_file_new_build_filenamev(args) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_new_build_filenamev\n  type(c_ptr), dimension(*) :: args\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFile * g_file_dup (GFile *file);\nfunction g_file_dup(file) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_dup\n  type(c_ptr), value :: file\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!guint g_file_hash (gconstpointer file);\nfunction g_file_hash(file) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_hash\n  type(c_ptr), value :: file\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_equal (GFile *file1, GFile *file2);\nfunction g_file_equal(file1, file2) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_equal\n  type(c_ptr), value :: file1\n  type(c_ptr), value :: file2\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!char * g_file_get_basename (GFile *file);\nfunction g_file_get_basename(file) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_get_basename\n  type(c_ptr), value :: file\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!char * g_file_get_path (GFile *file);\nfunction g_file_get_path(file) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_get_path\n  type(c_ptr), value :: file\nend function\n\n! GIO_AVAILABLE_IN_2_56\n!const char * g_file_peek_path (GFile *file);\nfunction g_file_peek_path(file) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_peek_path\n  type(c_ptr), value :: file\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!char * g_file_get_uri (GFile *file);\nfunction g_file_get_uri(file) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_get_uri\n  type(c_ptr), value :: file\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!char * g_file_get_parse_name (GFile *file);\nfunction g_file_get_parse_name(file) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_get_parse_name\n  type(c_ptr), value :: file\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFile * g_file_get_parent (GFile *file);\nfunction g_file_get_parent(file) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_get_parent\n  type(c_ptr), value :: file\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_has_parent (GFile *file, GFile *parent);\nfunction g_file_has_parent(file, parent) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_has_parent\n  type(c_ptr), value :: file\n  type(c_ptr), value :: parent\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFile * g_file_get_child (GFile *file, const char *name);\nfunction g_file_get_child(file, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_file_get_child\n  type(c_ptr), value :: file\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFile * g_file_get_child_for_display_name (GFile *file, const char *display_name, GError **error);\nfunction g_file_get_child_for_display_name(file, display_name, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_file_get_child_for_display_name\n  type(c_ptr), value :: file\n  character(kind=c_char), dimension(*) :: display_name\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_has_prefix (GFile *file, GFile *prefix);\nfunction g_file_has_prefix(file, prefix) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_has_prefix\n  type(c_ptr), value :: file\n  type(c_ptr), value :: prefix\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!char * g_file_get_relative_path (GFile *parent, GFile *descendant);\nfunction g_file_get_relative_path(parent, descendant) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_get_relative_path\n  type(c_ptr), value :: parent\n  type(c_ptr), value :: descendant\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFile * g_file_resolve_relative_path (GFile *file, const char *relative_path);\nfunction g_file_resolve_relative_path(file, relative_path) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_file_resolve_relative_path\n  type(c_ptr), value :: file\n  character(kind=c_char), dimension(*) :: relative_path\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_is_native (GFile *file);\nfunction g_file_is_native(file) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_is_native\n  type(c_ptr), value :: file\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_has_uri_scheme (GFile *file, const char *uri_scheme);\nfunction g_file_has_uri_scheme(file, uri_scheme) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_file_has_uri_scheme\n  type(c_ptr), value :: file\n  character(kind=c_char), dimension(*) :: uri_scheme\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!char * g_file_get_uri_scheme (GFile *file);\nfunction g_file_get_uri_scheme(file) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_get_uri_scheme\n  type(c_ptr), value :: file\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFileInputStream * g_file_read (GFile *file, GCancellable *cancellable, GError **error);\nfunction g_file_read(file, cancellable, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_read\n  type(c_ptr), value :: file\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_read_async (GFile *file, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_read_async(file, io_priority, cancellable, callback,&\n& user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: file\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GFileInputStream * g_file_read_finish (GFile *file, GAsyncResult *res, GError **error);\nfunction g_file_read_finish(file, res, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_read_finish\n  type(c_ptr), value :: file\n  type(c_ptr), value :: res\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFileOutputStream * g_file_append_to (GFile *file, GFileCreateFlags flags, GCancellable *cancellable, GError **error);\nfunction g_file_append_to(file, flags, cancellable, error) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_file_append_to\n  type(c_ptr), value :: file\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFileOutputStream * g_file_create (GFile *file, GFileCreateFlags flags, GCancellable *cancellable, GError **error);\nfunction g_file_create(file, flags, cancellable, error) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_file_create\n  type(c_ptr), value :: file\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFileOutputStream * g_file_replace (GFile *file, const char *etag, gboolean make_backup, GFileCreateFlags flags, GCancellable *cancellable, GError **error);\nfunction g_file_replace(file, etag, make_backup, flags, cancellable, error)&\n& bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_file_replace\n  type(c_ptr), value :: file\n  character(kind=c_char), dimension(*) :: etag\n  integer(c_int), value :: make_backup\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_append_to_async (GFile *file, GFileCreateFlags flags, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_append_to_async(file, flags, io_priority, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: file\n  integer(c_int), value :: flags\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GFileOutputStream * g_file_append_to_finish (GFile *file, GAsyncResult *res, GError **error);\nfunction g_file_append_to_finish(file, res, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_append_to_finish\n  type(c_ptr), value :: file\n  type(c_ptr), value :: res\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_create_async (GFile *file, GFileCreateFlags flags, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_create_async(file, flags, io_priority, cancellable, callback,&\n& user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: file\n  integer(c_int), value :: flags\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GFileOutputStream * g_file_create_finish (GFile *file, GAsyncResult *res, GError **error);\nfunction g_file_create_finish(file, res, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_create_finish\n  type(c_ptr), value :: file\n  type(c_ptr), value :: res\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_replace_async (GFile *file, const char *etag, gboolean make_backup, GFileCreateFlags flags, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_replace_async(file, etag, make_backup, flags, io_priority,&\n& cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_char, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: file\n  character(kind=c_char), dimension(*) :: etag\n  integer(c_int), value :: make_backup\n  integer(c_int), value :: flags\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GFileOutputStream * g_file_replace_finish (GFile *file, GAsyncResult *res, GError **error);\nfunction g_file_replace_finish(file, res, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_replace_finish\n  type(c_ptr), value :: file\n  type(c_ptr), value :: res\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFileIOStream * g_file_open_readwrite (GFile *file, GCancellable *cancellable, GError **error);\nfunction g_file_open_readwrite(file, cancellable, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_open_readwrite\n  type(c_ptr), value :: file\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_open_readwrite_async (GFile *file, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_open_readwrite_async(file, io_priority, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: file\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GFileIOStream * g_file_open_readwrite_finish (GFile *file, GAsyncResult *res, GError **error);\nfunction g_file_open_readwrite_finish(file, res, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_open_readwrite_finish\n  type(c_ptr), value :: file\n  type(c_ptr), value :: res\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFileIOStream * g_file_create_readwrite (GFile *file, GFileCreateFlags flags, GCancellable *cancellable, GError **error);\nfunction g_file_create_readwrite(file, flags, cancellable, error) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_file_create_readwrite\n  type(c_ptr), value :: file\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_create_readwrite_async (GFile *file, GFileCreateFlags flags, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_create_readwrite_async(file, flags, io_priority, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: file\n  integer(c_int), value :: flags\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GFileIOStream * g_file_create_readwrite_finish (GFile *file, GAsyncResult *res, GError **error);\nfunction g_file_create_readwrite_finish(file, res, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_create_readwrite_finish\n  type(c_ptr), value :: file\n  type(c_ptr), value :: res\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFileIOStream * g_file_replace_readwrite (GFile *file, const char *etag, gboolean make_backup, GFileCreateFlags flags, GCancellable *cancellable, GError **error);\nfunction g_file_replace_readwrite(file, etag, make_backup, flags, cancellable,&\n& error) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_file_replace_readwrite\n  type(c_ptr), value :: file\n  character(kind=c_char), dimension(*) :: etag\n  integer(c_int), value :: make_backup\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_replace_readwrite_async (GFile *file, const char *etag, gboolean make_backup, GFileCreateFlags flags, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_replace_readwrite_async(file, etag, make_backup, flags,&\n& io_priority, cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_char, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: file\n  character(kind=c_char), dimension(*) :: etag\n  integer(c_int), value :: make_backup\n  integer(c_int), value :: flags\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GFileIOStream * g_file_replace_readwrite_finish (GFile *file, GAsyncResult *res, GError **error);\nfunction g_file_replace_readwrite_finish(file, res, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_replace_readwrite_finish\n  type(c_ptr), value :: file\n  type(c_ptr), value :: res\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_query_exists (GFile *file, GCancellable *cancellable);\nfunction g_file_query_exists(file, cancellable) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_query_exists\n  type(c_ptr), value :: file\n  type(c_ptr), value :: cancellable\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFileType g_file_query_file_type (GFile *file, GFileQueryInfoFlags flags, GCancellable *cancellable);\nfunction g_file_query_file_type(file, flags, cancellable) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_query_file_type\n  type(c_ptr), value :: file\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFileInfo * g_file_query_info (GFile *file, const char *attributes, GFileQueryInfoFlags flags, GCancellable *cancellable, GError **error);\nfunction g_file_query_info(file, attributes, flags, cancellable, error) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_file_query_info\n  type(c_ptr), value :: file\n  character(kind=c_char), dimension(*) :: attributes\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_query_info_async (GFile *file, const char *attributes, GFileQueryInfoFlags flags, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_query_info_async(file, attributes, flags, io_priority,&\n& cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_char, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: file\n  character(kind=c_char), dimension(*) :: attributes\n  integer(c_int), value :: flags\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GFileInfo * g_file_query_info_finish (GFile *file, GAsyncResult *res, GError **error);\nfunction g_file_query_info_finish(file, res, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_query_info_finish\n  type(c_ptr), value :: file\n  type(c_ptr), value :: res\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFileInfo * g_file_query_filesystem_info (GFile *file, const char *attributes, GCancellable *cancellable, GError **error);\nfunction g_file_query_filesystem_info(file, attributes, cancellable, error)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_file_query_filesystem_info\n  type(c_ptr), value :: file\n  character(kind=c_char), dimension(*) :: attributes\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_query_filesystem_info_async (GFile *file, const char *attributes, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_query_filesystem_info_async(file, attributes, io_priority,&\n& cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_char, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: file\n  character(kind=c_char), dimension(*) :: attributes\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GFileInfo * g_file_query_filesystem_info_finish (GFile *file, GAsyncResult *res, GError **error);\nfunction g_file_query_filesystem_info_finish(file, res, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_query_filesystem_info_finish\n  type(c_ptr), value :: file\n  type(c_ptr), value :: res\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GMount * g_file_find_enclosing_mount (GFile *file, GCancellable *cancellable, GError **error);\nfunction g_file_find_enclosing_mount(file, cancellable, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_find_enclosing_mount\n  type(c_ptr), value :: file\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_find_enclosing_mount_async (GFile *file, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_find_enclosing_mount_async(file, io_priority, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: file\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GMount * g_file_find_enclosing_mount_finish (GFile *file, GAsyncResult *res, GError **error);\nfunction g_file_find_enclosing_mount_finish(file, res, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_find_enclosing_mount_finish\n  type(c_ptr), value :: file\n  type(c_ptr), value :: res\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFileEnumerator * g_file_enumerate_children (GFile *file, const char *attributes, GFileQueryInfoFlags flags, GCancellable *cancellable, GError **error);\nfunction g_file_enumerate_children(file, attributes, flags, cancellable, error)&\n& bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_file_enumerate_children\n  type(c_ptr), value :: file\n  character(kind=c_char), dimension(*) :: attributes\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_enumerate_children_async (GFile *file, const char *attributes, GFileQueryInfoFlags flags, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_enumerate_children_async(file, attributes, flags,&\n& io_priority, cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_char, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: file\n  character(kind=c_char), dimension(*) :: attributes\n  integer(c_int), value :: flags\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GFileEnumerator * g_file_enumerate_children_finish (GFile *file, GAsyncResult *res, GError **error);\nfunction g_file_enumerate_children_finish(file, res, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_enumerate_children_finish\n  type(c_ptr), value :: file\n  type(c_ptr), value :: res\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFile * g_file_set_display_name (GFile *file, const char *display_name, GCancellable *cancellable, GError **error);\nfunction g_file_set_display_name(file, display_name, cancellable, error)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_file_set_display_name\n  type(c_ptr), value :: file\n  character(kind=c_char), dimension(*) :: display_name\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_set_display_name_async (GFile *file, const char *display_name, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_set_display_name_async(file, display_name, io_priority,&\n& cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_char, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: file\n  character(kind=c_char), dimension(*) :: display_name\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GFile * g_file_set_display_name_finish (GFile *file, GAsyncResult *res, GError **error);\nfunction g_file_set_display_name_finish(file, res, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_set_display_name_finish\n  type(c_ptr), value :: file\n  type(c_ptr), value :: res\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_delete (GFile *file, GCancellable *cancellable, GError **error);\nfunction g_file_delete(file, cancellable, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_delete\n  type(c_ptr), value :: file\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_34\n!void g_file_delete_async (GFile *file, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_delete_async(file, io_priority, cancellable, callback,&\n& user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: file\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_2_34\n!gboolean g_file_delete_finish (GFile *file, GAsyncResult *result, GError **error);\nfunction g_file_delete_finish(file, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_delete_finish\n  type(c_ptr), value :: file\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_trash (GFile *file, GCancellable *cancellable, GError **error);\nfunction g_file_trash(file, cancellable, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_trash\n  type(c_ptr), value :: file\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_38\n!void g_file_trash_async (GFile *file, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_trash_async(file, io_priority, cancellable, callback,&\n& user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: file\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_2_38\n!gboolean g_file_trash_finish (GFile *file, GAsyncResult *result, GError **error);\nfunction g_file_trash_finish(file, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_trash_finish\n  type(c_ptr), value :: file\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_copy (GFile *source, GFile *destination, GFileCopyFlags flags, GCancellable *cancellable, GFileProgressCallback progress_callback, gpointer progress_callback_data, GError **error);\nfunction g_file_copy(source, destination, flags, cancellable,&\n& progress_callback, progress_callback_data, error) bind(c)\n  import :: c_int, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: g_file_copy\n  type(c_ptr), value :: source\n  type(c_ptr), value :: destination\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: progress_callback\n  type(c_ptr), value :: progress_callback_data\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_copy_async (GFile *source, GFile *destination, GFileCopyFlags flags, int io_priority, GCancellable *cancellable, GFileProgressCallback progress_callback, gpointer progress_callback_data, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_copy_async(source, destination, flags, io_priority,&\n& cancellable, progress_callback, progress_callback_data, callback, user_data)&\n& bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: source\n  type(c_ptr), value :: destination\n  integer(c_int), value :: flags\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: progress_callback\n  type(c_ptr), value :: progress_callback_data\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_2_82\n!void g_file_copy_async_with_closures (GFile *source, GFile *destination, GFileCopyFlags flags, int io_priority, GCancellable *cancellable, GClosure *progress_callback_closure, GClosure *ready_callback_closure);\nsubroutine g_file_copy_async_with_closures(source, destination, flags,&\n& io_priority, cancellable, progress_callback_closure, ready_callback_closure)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: source\n  type(c_ptr), value :: destination\n  integer(c_int), value :: flags\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: progress_callback_closure\n  type(c_ptr), value :: ready_callback_closure\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_copy_finish (GFile *file, GAsyncResult *res, GError **error);\nfunction g_file_copy_finish(file, res, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_copy_finish\n  type(c_ptr), value :: file\n  type(c_ptr), value :: res\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_move (GFile *source, GFile *destination, GFileCopyFlags flags, GCancellable *cancellable, GFileProgressCallback progress_callback, gpointer progress_callback_data, GError **error);\nfunction g_file_move(source, destination, flags, cancellable,&\n& progress_callback, progress_callback_data, error) bind(c)\n  import :: c_int, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: g_file_move\n  type(c_ptr), value :: source\n  type(c_ptr), value :: destination\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: progress_callback\n  type(c_ptr), value :: progress_callback_data\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_72\n!void g_file_move_async (GFile *source, GFile *destination, GFileCopyFlags flags, int io_priority, GCancellable *cancellable, GFileProgressCallback progress_callback, gpointer progress_callback_data, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_move_async(source, destination, flags, io_priority,&\n& cancellable, progress_callback, progress_callback_data, callback, user_data)&\n& bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: source\n  type(c_ptr), value :: destination\n  integer(c_int), value :: flags\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: progress_callback\n  type(c_ptr), value :: progress_callback_data\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_2_82\n!void g_file_move_async_with_closures (GFile *source, GFile *destination, GFileCopyFlags flags, int io_priority, GCancellable *cancellable, GClosure *progress_callback_closure, GClosure *ready_callback_closure);\nsubroutine g_file_move_async_with_closures(source, destination, flags,&\n& io_priority, cancellable, progress_callback_closure, ready_callback_closure)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: source\n  type(c_ptr), value :: destination\n  integer(c_int), value :: flags\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: progress_callback_closure\n  type(c_ptr), value :: ready_callback_closure\nend subroutine\n\n! GIO_AVAILABLE_IN_2_72\n!gboolean g_file_move_finish (GFile *file, GAsyncResult *result, GError **error);\nfunction g_file_move_finish(file, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_move_finish\n  type(c_ptr), value :: file\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_make_directory (GFile *file, GCancellable *cancellable, GError **error);\nfunction g_file_make_directory(file, cancellable, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_make_directory\n  type(c_ptr), value :: file\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_38\n!void g_file_make_directory_async (GFile *file, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_make_directory_async(file, io_priority, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: file\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_2_38\n!gboolean g_file_make_directory_finish (GFile *file, GAsyncResult *result, GError **error);\nfunction g_file_make_directory_finish(file, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_make_directory_finish\n  type(c_ptr), value :: file\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_make_directory_with_parents (GFile *file, GCancellable *cancellable, GError **error);\nfunction g_file_make_directory_with_parents(file, cancellable, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_make_directory_with_parents\n  type(c_ptr), value :: file\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_make_symbolic_link (GFile *file, const char *symlink_value, GCancellable *cancellable, GError **error);\nfunction g_file_make_symbolic_link(file, symlink_value, cancellable, error)&\n& bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_file_make_symbolic_link\n  type(c_ptr), value :: file\n  character(kind=c_char), dimension(*) :: symlink_value\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_74\n!void g_file_make_symbolic_link_async (GFile *file, const char *symlink_value, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_make_symbolic_link_async(file, symlink_value, io_priority,&\n& cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_char, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: file\n  character(kind=c_char), dimension(*) :: symlink_value\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_2_74\n!gboolean g_file_make_symbolic_link_finish (GFile *file, GAsyncResult *result, GError **error);\nfunction g_file_make_symbolic_link_finish(file, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_make_symbolic_link_finish\n  type(c_ptr), value :: file\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFileAttributeInfoList *g_file_query_settable_attributes (GFile *file, GCancellable *cancellable, GError **error);\nfunction g_file_query_settable_attributes(file, cancellable, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_query_settable_attributes\n  type(c_ptr), value :: file\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFileAttributeInfoList *g_file_query_writable_namespaces (GFile *file, GCancellable *cancellable, GError **error);\nfunction g_file_query_writable_namespaces(file, cancellable, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_query_writable_namespaces\n  type(c_ptr), value :: file\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_set_attribute (GFile *file, const char *attribute, GFileAttributeType type, gpointer value_p, GFileQueryInfoFlags flags, GCancellable *cancellable, GError **error);\nfunction g_file_set_attribute(file, attribute, type, value_p, flags,&\n& cancellable, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_file_set_attribute\n  type(c_ptr), value :: file\n  character(kind=c_char), dimension(*) :: attribute\n  integer(c_int), value :: type\n  type(c_ptr), value :: value_p\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_set_attributes_from_info (GFile *file, GFileInfo *info, GFileQueryInfoFlags flags, GCancellable *cancellable, GError **error);\nfunction g_file_set_attributes_from_info(file, info, flags, cancellable, error)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_set_attributes_from_info\n  type(c_ptr), value :: file\n  type(c_ptr), value :: info\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_set_attributes_async (GFile *file, GFileInfo *info, GFileQueryInfoFlags flags, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_set_attributes_async(file, info, flags, io_priority,&\n& cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: file\n  type(c_ptr), value :: info\n  integer(c_int), value :: flags\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_set_attributes_finish (GFile *file, GAsyncResult *result, GFileInfo **info, GError **error);\nfunction g_file_set_attributes_finish(file, result, info, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_set_attributes_finish\n  type(c_ptr), value :: file\n  type(c_ptr), value :: result\n  type(c_ptr), value :: info\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_set_attribute_string (GFile *file, const char *attribute, const char *value, GFileQueryInfoFlags flags, GCancellable *cancellable, GError **error);\nfunction g_file_set_attribute_string(file, attribute, value, flags,&\n& cancellable, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_file_set_attribute_string\n  type(c_ptr), value :: file\n  character(kind=c_char), dimension(*) :: attribute\n  character(kind=c_char), dimension(*) :: value\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_set_attribute_byte_string (GFile *file, const char *attribute, const char *value, GFileQueryInfoFlags flags, GCancellable *cancellable, GError **error);\nfunction g_file_set_attribute_byte_string(file, attribute, value, flags,&\n& cancellable, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_file_set_attribute_byte_string\n  type(c_ptr), value :: file\n  character(kind=c_char), dimension(*) :: attribute\n  character(kind=c_char), dimension(*) :: value\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_set_attribute_uint32 (GFile *file, const char *attribute, guint32 value, GFileQueryInfoFlags flags, GCancellable *cancellable, GError **error);\nfunction g_file_set_attribute_uint32(file, attribute, value, flags,&\n& cancellable, error) bind(c)\n  import :: c_int, c_ptr, c_char, c_int32_t\n  implicit none\n  integer(c_int) :: g_file_set_attribute_uint32\n  type(c_ptr), value :: file\n  character(kind=c_char), dimension(*) :: attribute\n  integer(c_int32_t), value :: value\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_set_attribute_int32 (GFile *file, const char *attribute, gint32 value, GFileQueryInfoFlags flags, GCancellable *cancellable, GError **error);\nfunction g_file_set_attribute_int32(file, attribute, value, flags, cancellable,&\n& error) bind(c)\n  import :: c_int, c_ptr, c_char, c_int32_t\n  implicit none\n  integer(c_int) :: g_file_set_attribute_int32\n  type(c_ptr), value :: file\n  character(kind=c_char), dimension(*) :: attribute\n  integer(c_int32_t), value :: value\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_set_attribute_uint64 (GFile *file, const char *attribute, guint64 value, GFileQueryInfoFlags flags, GCancellable *cancellable, GError **error);\nfunction g_file_set_attribute_uint64(file, attribute, value, flags,&\n& cancellable, error) bind(c)\n  import :: c_int, c_ptr, c_char, c_int64_t\n  implicit none\n  integer(c_int) :: g_file_set_attribute_uint64\n  type(c_ptr), value :: file\n  character(kind=c_char), dimension(*) :: attribute\n  integer(c_int64_t), value :: value\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_set_attribute_int64 (GFile *file, const char *attribute, gint64 value, GFileQueryInfoFlags flags, GCancellable *cancellable, GError **error);\nfunction g_file_set_attribute_int64(file, attribute, value, flags, cancellable,&\n& error) bind(c)\n  import :: c_int, c_ptr, c_char, c_int64_t\n  implicit none\n  integer(c_int) :: g_file_set_attribute_int64\n  type(c_ptr), value :: file\n  character(kind=c_char), dimension(*) :: attribute\n  integer(c_int64_t), value :: value\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_mount_enclosing_volume (GFile *location, GMountMountFlags flags, GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_mount_enclosing_volume(location, flags, mount_operation,&\n& cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: location\n  integer(c_int), value :: flags\n  type(c_ptr), value :: mount_operation\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_mount_enclosing_volume_finish (GFile *location, GAsyncResult *result, GError **error);\nfunction g_file_mount_enclosing_volume_finish(location, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_mount_enclosing_volume_finish\n  type(c_ptr), value :: location\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_mount_mountable (GFile *file, GMountMountFlags flags, GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_mount_mountable(file, flags, mount_operation, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: file\n  integer(c_int), value :: flags\n  type(c_ptr), value :: mount_operation\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GFile * g_file_mount_mountable_finish (GFile *file, GAsyncResult *result, GError **error);\nfunction g_file_mount_mountable_finish(file, result, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_mount_mountable_finish\n  type(c_ptr), value :: file\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_DEPRECATED_FOR(g_file_unmount_mountable_with_operation)\n!void g_file_unmount_mountable (GFile *file, GMountUnmountFlags flags, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_unmount_mountable(file, flags, cancellable, callback,&\n& user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: file\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_DEPRECATED_FOR(g_file_unmount_mountable_with_operation_finish)\n!gboolean g_file_unmount_mountable_finish (GFile *file, GAsyncResult *result, GError **error);\nfunction g_file_unmount_mountable_finish(file, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_unmount_mountable_finish\n  type(c_ptr), value :: file\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_unmount_mountable_with_operation (GFile *file, GMountUnmountFlags flags, GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_unmount_mountable_with_operation(file, flags,&\n& mount_operation, cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: file\n  integer(c_int), value :: flags\n  type(c_ptr), value :: mount_operation\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_unmount_mountable_with_operation_finish (GFile *file, GAsyncResult *result, GError **error);\nfunction g_file_unmount_mountable_with_operation_finish(file, result, error)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_unmount_mountable_with_operation_finish\n  type(c_ptr), value :: file\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_DEPRECATED_FOR(g_file_eject_mountable_with_operation)\n!void g_file_eject_mountable (GFile *file, GMountUnmountFlags flags, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_eject_mountable(file, flags, cancellable, callback,&\n& user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: file\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_DEPRECATED_FOR(g_file_eject_mountable_with_operation_finish)\n!gboolean g_file_eject_mountable_finish (GFile *file, GAsyncResult *result, GError **error);\nfunction g_file_eject_mountable_finish(file, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_eject_mountable_finish\n  type(c_ptr), value :: file\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_eject_mountable_with_operation (GFile *file, GMountUnmountFlags flags, GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_eject_mountable_with_operation(file, flags, mount_operation,&\n& cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: file\n  integer(c_int), value :: flags\n  type(c_ptr), value :: mount_operation\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_eject_mountable_with_operation_finish (GFile *file, GAsyncResult *result, GError **error);\nfunction g_file_eject_mountable_with_operation_finish(file, result, error)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_eject_mountable_with_operation_finish\n  type(c_ptr), value :: file\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_68\n!char * g_file_build_attribute_list_for_copy (GFile *file, GFileCopyFlags flags, GCancellable *cancellable, GError **error);\nfunction g_file_build_attribute_list_for_copy(file, flags, cancellable, error)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_file_build_attribute_list_for_copy\n  type(c_ptr), value :: file\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_copy_attributes (GFile *source, GFile *destination, GFileCopyFlags flags, GCancellable *cancellable, GError **error);\nfunction g_file_copy_attributes(source, destination, flags, cancellable, error)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_copy_attributes\n  type(c_ptr), value :: source\n  type(c_ptr), value :: destination\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFileMonitor* g_file_monitor_directory (GFile *file, GFileMonitorFlags flags, GCancellable *cancellable, GError **error);\nfunction g_file_monitor_directory(file, flags, cancellable, error) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_file_monitor_directory\n  type(c_ptr), value :: file\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFileMonitor* g_file_monitor_file (GFile *file, GFileMonitorFlags flags, GCancellable *cancellable, GError **error);\nfunction g_file_monitor_file(file, flags, cancellable, error) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_file_monitor_file\n  type(c_ptr), value :: file\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFileMonitor* g_file_monitor (GFile *file, GFileMonitorFlags flags, GCancellable *cancellable, GError **error);\nfunction g_file_monitor(file, flags, cancellable, error) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_file_monitor\n  type(c_ptr), value :: file\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_38\n!gboolean g_file_measure_disk_usage (GFile *file, GFileMeasureFlags flags, GCancellable *cancellable, GFileMeasureProgressCallback progress_callback, gpointer progress_data, guint64 *disk_usage, guint64 *num_dirs, guint64 *num_files, GError **error);\nfunction g_file_measure_disk_usage(file, flags, cancellable, progress_callback,&\n& progress_data, disk_usage, num_dirs, num_files, error) bind(c)\n  import :: c_int, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: g_file_measure_disk_usage\n  type(c_ptr), value :: file\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: progress_callback\n  type(c_ptr), value :: progress_data\n  type(c_ptr), value :: disk_usage\n  type(c_ptr), value :: num_dirs\n  type(c_ptr), value :: num_files\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_38\n!void g_file_measure_disk_usage_async (GFile *file, GFileMeasureFlags flags, gint io_priority, GCancellable *cancellable, GFileMeasureProgressCallback progress_callback, gpointer progress_data, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_measure_disk_usage_async(file, flags, io_priority,&\n& cancellable, progress_callback, progress_data, callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: file\n  integer(c_int), value :: flags\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: progress_callback\n  type(c_ptr), value :: progress_data\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_2_38\n!gboolean g_file_measure_disk_usage_finish (GFile *file, GAsyncResult *result, guint64 *disk_usage, guint64 *num_dirs, guint64 *num_files, GError **error);\nfunction g_file_measure_disk_usage_finish(file, result, disk_usage, num_dirs,&\n& num_files, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_measure_disk_usage_finish\n  type(c_ptr), value :: file\n  type(c_ptr), value :: result\n  type(c_ptr), value :: disk_usage\n  type(c_ptr), value :: num_dirs\n  type(c_ptr), value :: num_files\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_start_mountable (GFile *file, GDriveStartFlags flags, GMountOperation *start_operation, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_start_mountable(file, flags, start_operation, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: file\n  integer(c_int), value :: flags\n  type(c_ptr), value :: start_operation\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_start_mountable_finish (GFile *file, GAsyncResult *result, GError **error);\nfunction g_file_start_mountable_finish(file, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_start_mountable_finish\n  type(c_ptr), value :: file\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_stop_mountable (GFile *file, GMountUnmountFlags flags, GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_stop_mountable(file, flags, mount_operation, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: file\n  integer(c_int), value :: flags\n  type(c_ptr), value :: mount_operation\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_stop_mountable_finish (GFile *file, GAsyncResult *result, GError **error);\nfunction g_file_stop_mountable_finish(file, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_stop_mountable_finish\n  type(c_ptr), value :: file\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_poll_mountable (GFile *file, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_poll_mountable(file, cancellable, callback, user_data)&\n& bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: file\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_poll_mountable_finish (GFile *file, GAsyncResult *result, GError **error);\nfunction g_file_poll_mountable_finish(file, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_poll_mountable_finish\n  type(c_ptr), value :: file\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GAppInfo *g_file_query_default_handler (GFile *file, GCancellable *cancellable, GError **error);\nfunction g_file_query_default_handler(file, cancellable, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_query_default_handler\n  type(c_ptr), value :: file\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_60\n!void g_file_query_default_handler_async (GFile *file, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_query_default_handler_async(file, io_priority, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: file\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_2_60\n!GAppInfo *g_file_query_default_handler_finish (GFile *file, GAsyncResult *result, GError **error);\nfunction g_file_query_default_handler_finish(file, result, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_query_default_handler_finish\n  type(c_ptr), value :: file\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_load_contents (GFile *file, GCancellable *cancellable, char **contents, gsize *length, char **etag_out, GError **error);\nfunction g_file_load_contents(file, cancellable, contents, length, etag_out,&\n& error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_load_contents\n  type(c_ptr), value :: file\n  type(c_ptr), value :: cancellable\n  type(c_ptr), dimension(*) :: contents\n  type(c_ptr), value :: length\n  type(c_ptr), dimension(*) :: etag_out\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_load_contents_async (GFile *file, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_load_contents_async(file, cancellable, callback, user_data)&\n& bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: file\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_load_contents_finish (GFile *file, GAsyncResult *res, char **contents, gsize *length, char **etag_out, GError **error);\nfunction g_file_load_contents_finish(file, res, contents, length, etag_out,&\n& error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_load_contents_finish\n  type(c_ptr), value :: file\n  type(c_ptr), value :: res\n  type(c_ptr), dimension(*) :: contents\n  type(c_ptr), value :: length\n  type(c_ptr), dimension(*) :: etag_out\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_load_partial_contents_async (GFile *file, GCancellable *cancellable, GFileReadMoreCallback read_more_callback, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_load_partial_contents_async(file, cancellable,&\n& read_more_callback, callback, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: file\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: read_more_callback\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_load_partial_contents_finish (GFile *file, GAsyncResult *res, char **contents, gsize *length, char **etag_out, GError **error);\nfunction g_file_load_partial_contents_finish(file, res, contents, length,&\n& etag_out, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_load_partial_contents_finish\n  type(c_ptr), value :: file\n  type(c_ptr), value :: res\n  type(c_ptr), dimension(*) :: contents\n  type(c_ptr), value :: length\n  type(c_ptr), dimension(*) :: etag_out\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_replace_contents (GFile *file, const char *contents, gsize length, const char *etag, gboolean make_backup, GFileCreateFlags flags, char **new_etag, GCancellable *cancellable, GError **error);\nfunction g_file_replace_contents(file, contents, length, etag, make_backup,&\n& flags, new_etag, cancellable, error) bind(c)\n  import :: c_int, c_ptr, c_char, c_size_t\n  implicit none\n  integer(c_int) :: g_file_replace_contents\n  type(c_ptr), value :: file\n  character(kind=c_char), dimension(*) :: contents\n  integer(c_size_t), value :: length\n  character(kind=c_char), dimension(*) :: etag\n  integer(c_int), value :: make_backup\n  integer(c_int), value :: flags\n  type(c_ptr), dimension(*) :: new_etag\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_replace_contents_async (GFile *file, const char *contents, gsize length, const char *etag, gboolean make_backup, GFileCreateFlags flags, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_replace_contents_async(file, contents, length, etag,&\n& make_backup, flags, cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_char, c_size_t, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: file\n  character(kind=c_char), dimension(*) :: contents\n  integer(c_size_t), value :: length\n  character(kind=c_char), dimension(*) :: etag\n  integer(c_int), value :: make_backup\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_2_40\n!void g_file_replace_contents_bytes_async (GFile *file, GBytes *contents, const char *etag, gboolean make_backup, GFileCreateFlags flags, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_replace_contents_bytes_async(file, contents, etag,&\n& make_backup, flags, cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_char, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: file\n  type(c_ptr), value :: contents\n  character(kind=c_char), dimension(*) :: etag\n  integer(c_int), value :: make_backup\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_replace_contents_finish (GFile *file, GAsyncResult *res, char **new_etag, GError **error);\nfunction g_file_replace_contents_finish(file, res, new_etag, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_replace_contents_finish\n  type(c_ptr), value :: file\n  type(c_ptr), value :: res\n  type(c_ptr), dimension(*) :: new_etag\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_supports_thread_contexts (GFile *file);\nfunction g_file_supports_thread_contexts(file) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_supports_thread_contexts\n  type(c_ptr), value :: file\nend function\n\n! GIO_AVAILABLE_IN_2_56\n!GBytes *g_file_load_bytes (GFile *file, GCancellable *cancellable, gchar **etag_out, GError **error);\nfunction g_file_load_bytes(file, cancellable, etag_out, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_load_bytes\n  type(c_ptr), value :: file\n  type(c_ptr), value :: cancellable\n  type(c_ptr), dimension(*) :: etag_out\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_56\n!void g_file_load_bytes_async (GFile *file, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_load_bytes_async(file, cancellable, callback, user_data)&\n& bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: file\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_2_56\n!GBytes *g_file_load_bytes_finish (GFile *file, GAsyncResult *result, gchar **etag_out, GError **error);\nfunction g_file_load_bytes_finish(file, result, etag_out, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_load_bytes_finish\n  type(c_ptr), value :: file\n  type(c_ptr), value :: result\n  type(c_ptr), dimension(*) :: etag_out\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gfileattribute.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_file_attribute_info_list_get_type (void);\nfunction g_file_attribute_info_list_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_file_attribute_info_list_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFileAttributeInfoList * g_file_attribute_info_list_new (void);\nfunction g_file_attribute_info_list_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_attribute_info_list_new\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFileAttributeInfoList * g_file_attribute_info_list_ref (GFileAttributeInfoList *list);\nfunction g_file_attribute_info_list_ref(list) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_attribute_info_list_ref\n  type(c_ptr), value :: list\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_attribute_info_list_unref (GFileAttributeInfoList *list);\nsubroutine g_file_attribute_info_list_unref(list) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: list\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GFileAttributeInfoList * g_file_attribute_info_list_dup (GFileAttributeInfoList *list);\nfunction g_file_attribute_info_list_dup(list) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_attribute_info_list_dup\n  type(c_ptr), value :: list\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const GFileAttributeInfo *g_file_attribute_info_list_lookup (GFileAttributeInfoList *list, const char *name);\nfunction g_file_attribute_info_list_lookup(list, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_file_attribute_info_list_lookup\n  type(c_ptr), value :: list\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_attribute_info_list_add (GFileAttributeInfoList *list, const char *name, GFileAttributeType type, GFileAttributeInfoFlags flags);\nsubroutine g_file_attribute_info_list_add(list, name, type, flags) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: list\n  character(kind=c_char), dimension(*) :: name\n  integer(c_int), value :: type\n  integer(c_int), value :: flags\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gfileenumerator.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_file_enumerator_get_type (void) ;\nfunction g_file_enumerator_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_file_enumerator_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFileInfo *g_file_enumerator_next_file (GFileEnumerator *enumerator, GCancellable *cancellable, GError **error);\nfunction g_file_enumerator_next_file(enumerator, cancellable, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_enumerator_next_file\n  type(c_ptr), value :: enumerator\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_enumerator_close (GFileEnumerator *enumerator, GCancellable *cancellable, GError **error);\nfunction g_file_enumerator_close(enumerator, cancellable, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_enumerator_close\n  type(c_ptr), value :: enumerator\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_enumerator_next_files_async (GFileEnumerator *enumerator, int num_files, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_enumerator_next_files_async(enumerator, num_files,&\n& io_priority, cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: enumerator\n  integer(c_int), value :: num_files\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GList * g_file_enumerator_next_files_finish (GFileEnumerator *enumerator, GAsyncResult *result, GError **error);\nfunction g_file_enumerator_next_files_finish(enumerator, result, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_enumerator_next_files_finish\n  type(c_ptr), value :: enumerator\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_enumerator_close_async (GFileEnumerator *enumerator, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_enumerator_close_async(enumerator, io_priority, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: enumerator\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_enumerator_close_finish (GFileEnumerator *enumerator, GAsyncResult *result, GError **error);\nfunction g_file_enumerator_close_finish(enumerator, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_enumerator_close_finish\n  type(c_ptr), value :: enumerator\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_enumerator_is_closed (GFileEnumerator *enumerator);\nfunction g_file_enumerator_is_closed(enumerator) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_enumerator_is_closed\n  type(c_ptr), value :: enumerator\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_enumerator_has_pending (GFileEnumerator *enumerator);\nfunction g_file_enumerator_has_pending(enumerator) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_enumerator_has_pending\n  type(c_ptr), value :: enumerator\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_enumerator_set_pending (GFileEnumerator *enumerator, gboolean pending);\nsubroutine g_file_enumerator_set_pending(enumerator, pending) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: enumerator\n  integer(c_int), value :: pending\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GFile * g_file_enumerator_get_container (GFileEnumerator *enumerator);\nfunction g_file_enumerator_get_container(enumerator) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_enumerator_get_container\n  type(c_ptr), value :: enumerator\nend function\n\n! GIO_AVAILABLE_IN_2_36\n!GFile * g_file_enumerator_get_child (GFileEnumerator *enumerator, GFileInfo *info);\nfunction g_file_enumerator_get_child(enumerator, info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_enumerator_get_child\n  type(c_ptr), value :: enumerator\n  type(c_ptr), value :: info\nend function\n\n! GIO_AVAILABLE_IN_2_44\n!gboolean g_file_enumerator_iterate (GFileEnumerator *direnum, GFileInfo **out_info, GFile **out_child, GCancellable *cancellable, GError **error);\nfunction g_file_enumerator_iterate(direnum, out_info, out_child, cancellable,&\n& error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_enumerator_iterate\n  type(c_ptr), value :: direnum\n  type(c_ptr), value :: out_info\n  type(c_ptr), value :: out_child\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gfileicon.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_file_icon_get_type (void) ;\nfunction g_file_icon_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_file_icon_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GIcon * g_file_icon_new (GFile *file);\nfunction g_file_icon_new(file) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_icon_new\n  type(c_ptr), value :: file\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFile * g_file_icon_get_file (GFileIcon *icon);\nfunction g_file_icon_get_file(icon) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_icon_get_file\n  type(c_ptr), value :: icon\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gfileinfo.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_file_info_get_type (void) ;\nfunction g_file_info_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_file_info_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFileInfo * g_file_info_new (void);\nfunction g_file_info_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_info_new\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFileInfo * g_file_info_dup (GFileInfo *other);\nfunction g_file_info_dup(other) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_info_dup\n  type(c_ptr), value :: other\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_info_copy_into (GFileInfo *src_info, GFileInfo *dest_info);\nsubroutine g_file_info_copy_into(src_info, dest_info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: src_info\n  type(c_ptr), value :: dest_info\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_info_has_attribute (GFileInfo *info, const char *attribute);\nfunction g_file_info_has_attribute(info, attribute) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_file_info_has_attribute\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: attribute\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_info_has_namespace (GFileInfo *info, const char *name_space);\nfunction g_file_info_has_namespace(info, name_space) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_file_info_has_namespace\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: name_space\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!char ** g_file_info_list_attributes (GFileInfo *info, const char *name_space);\nfunction g_file_info_list_attributes(info, name_space) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_file_info_list_attributes\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: name_space\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_info_get_attribute_data (GFileInfo *info, const char *attribute, GFileAttributeType *type, gpointer *value_pp, GFileAttributeStatus *status);\nfunction g_file_info_get_attribute_data(info, attribute, type, value_pp,&\n& status) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_file_info_get_attribute_data\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: attribute\n  type(c_ptr), value :: type\n  type(c_ptr), value :: value_pp\n  type(c_ptr), value :: status\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFileAttributeType g_file_info_get_attribute_type (GFileInfo *info, const char *attribute);\nfunction g_file_info_get_attribute_type(info, attribute) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_file_info_get_attribute_type\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: attribute\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_info_remove_attribute (GFileInfo *info, const char *attribute);\nsubroutine g_file_info_remove_attribute(info, attribute) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: attribute\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GFileAttributeStatus g_file_info_get_attribute_status (GFileInfo *info, const char *attribute);\nfunction g_file_info_get_attribute_status(info, attribute) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_file_info_get_attribute_status\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: attribute\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_info_set_attribute_status (GFileInfo *info, const char *attribute, GFileAttributeStatus status);\nfunction g_file_info_set_attribute_status(info, attribute, status) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_file_info_set_attribute_status\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: attribute\n  integer(c_int), value :: status\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!char * g_file_info_get_attribute_as_string (GFileInfo *info, const char *attribute);\nfunction g_file_info_get_attribute_as_string(info, attribute) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_file_info_get_attribute_as_string\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: attribute\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const char * g_file_info_get_attribute_string (GFileInfo *info, const char *attribute);\nfunction g_file_info_get_attribute_string(info, attribute) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_file_info_get_attribute_string\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: attribute\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const char * g_file_info_get_attribute_byte_string (GFileInfo *info, const char *attribute);\nfunction g_file_info_get_attribute_byte_string(info, attribute) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_file_info_get_attribute_byte_string\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: attribute\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_info_get_attribute_boolean (GFileInfo *info, const char *attribute);\nfunction g_file_info_get_attribute_boolean(info, attribute) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_file_info_get_attribute_boolean\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: attribute\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!guint32 g_file_info_get_attribute_uint32 (GFileInfo *info, const char *attribute);\nfunction g_file_info_get_attribute_uint32(info, attribute) bind(c)\n  import :: c_int32_t, c_ptr, c_char\n  implicit none\n  integer(c_int32_t) :: g_file_info_get_attribute_uint32\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: attribute\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gint32 g_file_info_get_attribute_int32 (GFileInfo *info, const char *attribute);\nfunction g_file_info_get_attribute_int32(info, attribute) bind(c)\n  import :: c_int32_t, c_ptr, c_char\n  implicit none\n  integer(c_int32_t) :: g_file_info_get_attribute_int32\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: attribute\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!guint64 g_file_info_get_attribute_uint64 (GFileInfo *info, const char *attribute);\nfunction g_file_info_get_attribute_uint64(info, attribute) bind(c)\n  import :: c_int64_t, c_ptr, c_char\n  implicit none\n  integer(c_int64_t) :: g_file_info_get_attribute_uint64\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: attribute\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gint64 g_file_info_get_attribute_int64 (GFileInfo *info, const char *attribute);\nfunction g_file_info_get_attribute_int64(info, attribute) bind(c)\n  import :: c_int64_t, c_ptr, c_char\n  implicit none\n  integer(c_int64_t) :: g_file_info_get_attribute_int64\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: attribute\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GObject * g_file_info_get_attribute_object (GFileInfo *info, const char *attribute);\nfunction g_file_info_get_attribute_object(info, attribute) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_file_info_get_attribute_object\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: attribute\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!char ** g_file_info_get_attribute_stringv (GFileInfo *info, const char *attribute);\nfunction g_file_info_get_attribute_stringv(info, attribute) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_file_info_get_attribute_stringv\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: attribute\nend function\n\n! GIO_AVAILABLE_IN_2_78\n!const char * g_file_info_get_attribute_file_path (GFileInfo *info, const char *attribute);\nfunction g_file_info_get_attribute_file_path(info, attribute) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_file_info_get_attribute_file_path\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: attribute\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_info_set_attribute (GFileInfo *info, const char *attribute, GFileAttributeType type, gpointer value_p);\nsubroutine g_file_info_set_attribute(info, attribute, type, value_p) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: attribute\n  integer(c_int), value :: type\n  type(c_ptr), value :: value_p\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_info_set_attribute_string (GFileInfo *info, const char *attribute, const char *attr_value);\nsubroutine g_file_info_set_attribute_string(info, attribute, attr_value)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: attribute\n  character(kind=c_char), dimension(*) :: attr_value\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_info_set_attribute_byte_string (GFileInfo *info, const char *attribute, const char *attr_value);\nsubroutine g_file_info_set_attribute_byte_string(info, attribute, attr_value)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: attribute\n  character(kind=c_char), dimension(*) :: attr_value\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_info_set_attribute_boolean (GFileInfo *info, const char *attribute, gboolean attr_value);\nsubroutine g_file_info_set_attribute_boolean(info, attribute, attr_value)&\n& bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: attribute\n  integer(c_int), value :: attr_value\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_info_set_attribute_uint32 (GFileInfo *info, const char *attribute, guint32 attr_value);\nsubroutine g_file_info_set_attribute_uint32(info, attribute, attr_value)&\n& bind(c)\n  import :: c_ptr, c_char, c_int32_t\n  implicit none\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: attribute\n  integer(c_int32_t), value :: attr_value\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_info_set_attribute_int32 (GFileInfo *info, const char *attribute, gint32 attr_value);\nsubroutine g_file_info_set_attribute_int32(info, attribute, attr_value) bind(c)\n  import :: c_ptr, c_char, c_int32_t\n  implicit none\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: attribute\n  integer(c_int32_t), value :: attr_value\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_info_set_attribute_uint64 (GFileInfo *info, const char *attribute, guint64 attr_value);\nsubroutine g_file_info_set_attribute_uint64(info, attribute, attr_value)&\n& bind(c)\n  import :: c_ptr, c_char, c_int64_t\n  implicit none\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: attribute\n  integer(c_int64_t), value :: attr_value\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_info_set_attribute_int64 (GFileInfo *info, const char *attribute, gint64 attr_value);\nsubroutine g_file_info_set_attribute_int64(info, attribute, attr_value) bind(c)\n  import :: c_ptr, c_char, c_int64_t\n  implicit none\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: attribute\n  integer(c_int64_t), value :: attr_value\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_info_set_attribute_object (GFileInfo *info, const char *attribute, GObject *attr_value);\nsubroutine g_file_info_set_attribute_object(info, attribute, attr_value)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: attribute\n  type(c_ptr), value :: attr_value\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_info_set_attribute_stringv (GFileInfo *info, const char *attribute, char **attr_value);\nsubroutine g_file_info_set_attribute_stringv(info, attribute, attr_value)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: attribute\n  type(c_ptr), dimension(*) :: attr_value\nend subroutine\n\n! GIO_AVAILABLE_IN_2_78\n!void g_file_info_set_attribute_file_path (GFileInfo *info, const char *attribute, const char *attr_value);\nsubroutine g_file_info_set_attribute_file_path(info, attribute, attr_value)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: attribute\n  character(kind=c_char), dimension(*) :: attr_value\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_info_clear_status (GFileInfo *info);\nsubroutine g_file_info_clear_status(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: info\nend subroutine\n\n! GIO_AVAILABLE_IN_2_36\n!GDateTime * g_file_info_get_deletion_date (GFileInfo *info);\nfunction g_file_info_get_deletion_date(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_info_get_deletion_date\n  type(c_ptr), value :: info\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFileType g_file_info_get_file_type (GFileInfo *info);\nfunction g_file_info_get_file_type(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_info_get_file_type\n  type(c_ptr), value :: info\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_info_get_is_hidden (GFileInfo *info);\nfunction g_file_info_get_is_hidden(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_info_get_is_hidden\n  type(c_ptr), value :: info\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_info_get_is_backup (GFileInfo *info);\nfunction g_file_info_get_is_backup(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_info_get_is_backup\n  type(c_ptr), value :: info\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_info_get_is_symlink (GFileInfo *info);\nfunction g_file_info_get_is_symlink(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_info_get_is_symlink\n  type(c_ptr), value :: info\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const char * g_file_info_get_name (GFileInfo *info);\nfunction g_file_info_get_name(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_info_get_name\n  type(c_ptr), value :: info\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const char * g_file_info_get_display_name (GFileInfo *info);\nfunction g_file_info_get_display_name(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_info_get_display_name\n  type(c_ptr), value :: info\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const char * g_file_info_get_edit_name (GFileInfo *info);\nfunction g_file_info_get_edit_name(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_info_get_edit_name\n  type(c_ptr), value :: info\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GIcon * g_file_info_get_icon (GFileInfo *info);\nfunction g_file_info_get_icon(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_info_get_icon\n  type(c_ptr), value :: info\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GIcon * g_file_info_get_symbolic_icon (GFileInfo *info);\nfunction g_file_info_get_symbolic_icon(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_info_get_symbolic_icon\n  type(c_ptr), value :: info\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const char * g_file_info_get_content_type (GFileInfo *info);\nfunction g_file_info_get_content_type(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_info_get_content_type\n  type(c_ptr), value :: info\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!goffset g_file_info_get_size (GFileInfo *info);\nfunction g_file_info_get_size(info) bind(c)\n  import :: c_int64_t, c_ptr\n  implicit none\n  integer(c_int64_t) :: g_file_info_get_size\n  type(c_ptr), value :: info\nend function\n\n! GIO_DEPRECATED_IN_2_62_FOR(g_file_info_get_modification_date_time)\n!void g_file_info_get_modification_time (GFileInfo *info, GTimeVal *result);\nsubroutine g_file_info_get_modification_time(info, result) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: info\n  type(c_ptr), value :: result\nend subroutine\n\n! GIO_AVAILABLE_IN_2_62\n!GDateTime * g_file_info_get_modification_date_time (GFileInfo *info);\nfunction g_file_info_get_modification_date_time(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_info_get_modification_date_time\n  type(c_ptr), value :: info\nend function\n\n! GIO_AVAILABLE_IN_2_70\n!GDateTime * g_file_info_get_access_date_time (GFileInfo *info);\nfunction g_file_info_get_access_date_time(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_info_get_access_date_time\n  type(c_ptr), value :: info\nend function\n\n! GIO_AVAILABLE_IN_2_70\n!GDateTime * g_file_info_get_creation_date_time (GFileInfo *info);\nfunction g_file_info_get_creation_date_time(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_info_get_creation_date_time\n  type(c_ptr), value :: info\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const char * g_file_info_get_symlink_target (GFileInfo *info);\nfunction g_file_info_get_symlink_target(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_info_get_symlink_target\n  type(c_ptr), value :: info\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const char * g_file_info_get_etag (GFileInfo *info);\nfunction g_file_info_get_etag(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_info_get_etag\n  type(c_ptr), value :: info\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gint32 g_file_info_get_sort_order (GFileInfo *info);\nfunction g_file_info_get_sort_order(info) bind(c)\n  import :: c_int32_t, c_ptr\n  implicit none\n  integer(c_int32_t) :: g_file_info_get_sort_order\n  type(c_ptr), value :: info\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_info_set_attribute_mask (GFileInfo *info, GFileAttributeMatcher *mask);\nsubroutine g_file_info_set_attribute_mask(info, mask) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: info\n  type(c_ptr), value :: mask\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_info_unset_attribute_mask (GFileInfo *info);\nsubroutine g_file_info_unset_attribute_mask(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: info\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_info_set_file_type (GFileInfo *info, GFileType type);\nsubroutine g_file_info_set_file_type(info, type) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: info\n  integer(c_int), value :: type\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_info_set_is_hidden (GFileInfo *info, gboolean is_hidden);\nsubroutine g_file_info_set_is_hidden(info, is_hidden) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: info\n  integer(c_int), value :: is_hidden\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_info_set_is_symlink (GFileInfo *info, gboolean is_symlink);\nsubroutine g_file_info_set_is_symlink(info, is_symlink) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: info\n  integer(c_int), value :: is_symlink\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_info_set_name (GFileInfo *info, const char *name);\nsubroutine g_file_info_set_name(info, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: name\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_info_set_display_name (GFileInfo *info, const char *display_name);\nsubroutine g_file_info_set_display_name(info, display_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: display_name\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_info_set_edit_name (GFileInfo *info, const char *edit_name);\nsubroutine g_file_info_set_edit_name(info, edit_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: edit_name\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_info_set_icon (GFileInfo *info, GIcon *icon);\nsubroutine g_file_info_set_icon(info, icon) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: info\n  type(c_ptr), value :: icon\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_info_set_symbolic_icon (GFileInfo *info, GIcon *icon);\nsubroutine g_file_info_set_symbolic_icon(info, icon) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: info\n  type(c_ptr), value :: icon\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_info_set_content_type (GFileInfo *info, const char *content_type);\nsubroutine g_file_info_set_content_type(info, content_type) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: content_type\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_info_set_size (GFileInfo *info, goffset size);\nsubroutine g_file_info_set_size(info, size) bind(c)\n  import :: c_ptr, c_int64_t\n  implicit none\n  type(c_ptr), value :: info\n  integer(c_int64_t), value :: size\nend subroutine\n\n! GIO_DEPRECATED_IN_2_62_FOR(g_file_info_set_modification_date_time)\n!void g_file_info_set_modification_time (GFileInfo *info, GTimeVal *mtime);\nsubroutine g_file_info_set_modification_time(info, mtime) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: info\n  type(c_ptr), value :: mtime\nend subroutine\n\n! GIO_AVAILABLE_IN_2_62\n!void g_file_info_set_modification_date_time (GFileInfo *info, GDateTime *mtime);\nsubroutine g_file_info_set_modification_date_time(info, mtime) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: info\n  type(c_ptr), value :: mtime\nend subroutine\n\n! GIO_AVAILABLE_IN_2_70\n!void g_file_info_set_access_date_time (GFileInfo *info, GDateTime *atime);\nsubroutine g_file_info_set_access_date_time(info, atime) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: info\n  type(c_ptr), value :: atime\nend subroutine\n\n! GIO_AVAILABLE_IN_2_70\n!void g_file_info_set_creation_date_time (GFileInfo *info, GDateTime *creation_time);\nsubroutine g_file_info_set_creation_date_time(info, creation_time) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: info\n  type(c_ptr), value :: creation_time\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_info_set_symlink_target (GFileInfo *info, const char *symlink_target);\nsubroutine g_file_info_set_symlink_target(info, symlink_target) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: symlink_target\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_info_set_sort_order (GFileInfo *info, gint32 sort_order);\nsubroutine g_file_info_set_sort_order(info, sort_order) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr), value :: info\n  integer(c_int32_t), value :: sort_order\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GType g_file_attribute_matcher_get_type (void) ;\nfunction g_file_attribute_matcher_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_file_attribute_matcher_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFileAttributeMatcher *g_file_attribute_matcher_new (const char *attributes);\nfunction g_file_attribute_matcher_new(attributes) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_file_attribute_matcher_new\n  character(kind=c_char), dimension(*) :: attributes\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFileAttributeMatcher *g_file_attribute_matcher_ref (GFileAttributeMatcher *matcher);\nfunction g_file_attribute_matcher_ref(matcher) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_attribute_matcher_ref\n  type(c_ptr), value :: matcher\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_attribute_matcher_unref (GFileAttributeMatcher *matcher);\nsubroutine g_file_attribute_matcher_unref(matcher) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: matcher\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GFileAttributeMatcher *g_file_attribute_matcher_subtract (GFileAttributeMatcher *matcher, GFileAttributeMatcher *subtract);\nfunction g_file_attribute_matcher_subtract(matcher, subtract) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_attribute_matcher_subtract\n  type(c_ptr), value :: matcher\n  type(c_ptr), value :: subtract\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_attribute_matcher_matches (GFileAttributeMatcher *matcher, const char *attribute);\nfunction g_file_attribute_matcher_matches(matcher, attribute) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_file_attribute_matcher_matches\n  type(c_ptr), value :: matcher\n  character(kind=c_char), dimension(*) :: attribute\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_attribute_matcher_matches_only (GFileAttributeMatcher *matcher, const char *attribute);\nfunction g_file_attribute_matcher_matches_only(matcher, attribute) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_file_attribute_matcher_matches_only\n  type(c_ptr), value :: matcher\n  character(kind=c_char), dimension(*) :: attribute\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_attribute_matcher_enumerate_namespace (GFileAttributeMatcher *matcher, const char *ns);\nfunction g_file_attribute_matcher_enumerate_namespace(matcher, ns) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_file_attribute_matcher_enumerate_namespace\n  type(c_ptr), value :: matcher\n  character(kind=c_char), dimension(*) :: ns\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const char * g_file_attribute_matcher_enumerate_next (GFileAttributeMatcher *matcher);\nfunction g_file_attribute_matcher_enumerate_next(matcher) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_attribute_matcher_enumerate_next\n  type(c_ptr), value :: matcher\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!char * g_file_attribute_matcher_to_string (GFileAttributeMatcher *matcher);\nfunction g_file_attribute_matcher_to_string(matcher) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_attribute_matcher_to_string\n  type(c_ptr), value :: matcher\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gfileinputstream.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_file_input_stream_get_type (void) ;\nfunction g_file_input_stream_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_file_input_stream_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFileInfo *g_file_input_stream_query_info (GFileInputStream *stream, const char *attributes, GCancellable *cancellable, GError **error);\nfunction g_file_input_stream_query_info(stream, attributes, cancellable, error)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_file_input_stream_query_info\n  type(c_ptr), value :: stream\n  character(kind=c_char), dimension(*) :: attributes\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_input_stream_query_info_async (GFileInputStream *stream, const char *attributes, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_input_stream_query_info_async(stream, attributes,&\n& io_priority, cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_char, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: stream\n  character(kind=c_char), dimension(*) :: attributes\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GFileInfo *g_file_input_stream_query_info_finish (GFileInputStream *stream, GAsyncResult *result, GError **error);\nfunction g_file_input_stream_query_info_finish(stream, result, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_input_stream_query_info_finish\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gfileiostream.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_file_io_stream_get_type (void) ;\nfunction g_file_io_stream_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_file_io_stream_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFileInfo *g_file_io_stream_query_info (GFileIOStream *stream, const char *attributes, GCancellable *cancellable, GError **error);\nfunction g_file_io_stream_query_info(stream, attributes, cancellable, error)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_file_io_stream_query_info\n  type(c_ptr), value :: stream\n  character(kind=c_char), dimension(*) :: attributes\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_io_stream_query_info_async (GFileIOStream *stream, const char *attributes, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_io_stream_query_info_async(stream, attributes, io_priority,&\n& cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_char, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: stream\n  character(kind=c_char), dimension(*) :: attributes\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GFileInfo *g_file_io_stream_query_info_finish (GFileIOStream *stream, GAsyncResult *result, GError **error);\nfunction g_file_io_stream_query_info_finish(stream, result, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_io_stream_query_info_finish\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!char * g_file_io_stream_get_etag (GFileIOStream *stream);\nfunction g_file_io_stream_get_etag(stream) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_io_stream_get_etag\n  type(c_ptr), value :: stream\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gfilemonitor.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_file_monitor_get_type (void) ;\nfunction g_file_monitor_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_file_monitor_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_monitor_cancel (GFileMonitor *monitor);\nfunction g_file_monitor_cancel(monitor) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_monitor_cancel\n  type(c_ptr), value :: monitor\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_file_monitor_is_cancelled (GFileMonitor *monitor);\nfunction g_file_monitor_is_cancelled(monitor) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_file_monitor_is_cancelled\n  type(c_ptr), value :: monitor\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_monitor_set_rate_limit (GFileMonitor *monitor, gint limit_msecs);\nsubroutine g_file_monitor_set_rate_limit(monitor, limit_msecs) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: monitor\n  integer(c_int), value :: limit_msecs\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_monitor_emit_event (GFileMonitor *monitor, GFile *child, GFile *other_file, GFileMonitorEvent event_type);\nsubroutine g_file_monitor_emit_event(monitor, child, other_file, event_type)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: monitor\n  type(c_ptr), value :: child\n  type(c_ptr), value :: other_file\n  integer(c_int), value :: event_type\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gfilenamecompleter.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_filename_completer_get_type (void) ;\nfunction g_filename_completer_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_filename_completer_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFilenameCompleter *g_filename_completer_new (void);\nfunction g_filename_completer_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_filename_completer_new\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!char * g_filename_completer_get_completion_suffix (GFilenameCompleter *completer, const char *initial_text);\nfunction g_filename_completer_get_completion_suffix(completer, initial_text)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_filename_completer_get_completion_suffix\n  type(c_ptr), value :: completer\n  character(kind=c_char), dimension(*) :: initial_text\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!char ** g_filename_completer_get_completions (GFilenameCompleter *completer, const char *initial_text);\nfunction g_filename_completer_get_completions(completer, initial_text) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_filename_completer_get_completions\n  type(c_ptr), value :: completer\n  character(kind=c_char), dimension(*) :: initial_text\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_filename_completer_set_dirs_only (GFilenameCompleter *completer, gboolean dirs_only);\nsubroutine g_filename_completer_set_dirs_only(completer, dirs_only) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: completer\n  integer(c_int), value :: dirs_only\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gfileoutputstream.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_file_output_stream_get_type (void) ;\nfunction g_file_output_stream_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_file_output_stream_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFileInfo *g_file_output_stream_query_info (GFileOutputStream *stream, const char *attributes, GCancellable *cancellable, GError **error);\nfunction g_file_output_stream_query_info(stream, attributes, cancellable,&\n& error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_file_output_stream_query_info\n  type(c_ptr), value :: stream\n  character(kind=c_char), dimension(*) :: attributes\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_file_output_stream_query_info_async (GFileOutputStream *stream, const char *attributes, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_file_output_stream_query_info_async(stream, attributes,&\n& io_priority, cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_char, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: stream\n  character(kind=c_char), dimension(*) :: attributes\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GFileInfo *g_file_output_stream_query_info_finish (GFileOutputStream *stream, GAsyncResult *result, GError **error);\nfunction g_file_output_stream_query_info_finish(stream, result, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_output_stream_query_info_finish\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!char * g_file_output_stream_get_etag (GFileOutputStream *stream);\nfunction g_file_output_stream_get_etag(stream) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_file_output_stream_get_etag\n  type(c_ptr), value :: stream\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gfilterinputstream.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_filter_input_stream_get_type (void) ;\nfunction g_filter_input_stream_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_filter_input_stream_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GInputStream * g_filter_input_stream_get_base_stream (GFilterInputStream *stream);\nfunction g_filter_input_stream_get_base_stream(stream) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_filter_input_stream_get_base_stream\n  type(c_ptr), value :: stream\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_filter_input_stream_get_close_base_stream (GFilterInputStream *stream);\nfunction g_filter_input_stream_get_close_base_stream(stream) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_filter_input_stream_get_close_base_stream\n  type(c_ptr), value :: stream\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_filter_input_stream_set_close_base_stream (GFilterInputStream *stream, gboolean close_base);\nsubroutine g_filter_input_stream_set_close_base_stream(stream, close_base)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: stream\n  integer(c_int), value :: close_base\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gfilteroutputstream.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_filter_output_stream_get_type (void) ;\nfunction g_filter_output_stream_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_filter_output_stream_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GOutputStream * g_filter_output_stream_get_base_stream (GFilterOutputStream *stream);\nfunction g_filter_output_stream_get_base_stream(stream) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_filter_output_stream_get_base_stream\n  type(c_ptr), value :: stream\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_filter_output_stream_get_close_base_stream (GFilterOutputStream *stream);\nfunction g_filter_output_stream_get_close_base_stream(stream) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_filter_output_stream_get_close_base_stream\n  type(c_ptr), value :: stream\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_filter_output_stream_set_close_base_stream (GFilterOutputStream *stream, gboolean close_base);\nsubroutine g_filter_output_stream_set_close_base_stream(stream, close_base)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: stream\n  integer(c_int), value :: close_base\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gicon.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_icon_get_type (void) ;\nfunction g_icon_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_icon_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!guint g_icon_hash (gconstpointer icon);\nfunction g_icon_hash(icon) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_icon_hash\n  type(c_ptr), value :: icon\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_icon_equal (GIcon *icon1, GIcon *icon2);\nfunction g_icon_equal(icon1, icon2) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_icon_equal\n  type(c_ptr), value :: icon1\n  type(c_ptr), value :: icon2\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gchar *g_icon_to_string (GIcon *icon);\nfunction g_icon_to_string(icon) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_icon_to_string\n  type(c_ptr), value :: icon\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GIcon *g_icon_new_for_string (const gchar *str, GError **error);\nfunction g_icon_new_for_string(str, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_icon_new_for_string\n  character(kind=c_char), dimension(*) :: str\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_38\n!GVariant * g_icon_serialize (GIcon *icon);\nfunction g_icon_serialize(icon) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_icon_serialize\n  type(c_ptr), value :: icon\nend function\n\n! GIO_AVAILABLE_IN_2_38\n!GIcon * g_icon_deserialize (GVariant *value);\nfunction g_icon_deserialize(value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_icon_deserialize\n  type(c_ptr), value :: value\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/ginetaddress.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_inet_address_get_type (void) ;\nfunction g_inet_address_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_inet_address_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GInetAddress * g_inet_address_new_from_string (const gchar *string);\nfunction g_inet_address_new_from_string(string) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_inet_address_new_from_string\n  character(kind=c_char), dimension(*) :: string\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GInetAddress * g_inet_address_new_from_bytes (const guint8 *bytes, GSocketFamily family);\nfunction g_inet_address_new_from_bytes(bytes, family) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_inet_address_new_from_bytes\n  type(c_ptr), value :: bytes\n  integer(c_int), value :: family\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GInetAddress * g_inet_address_new_loopback (GSocketFamily family);\nfunction g_inet_address_new_loopback(family) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_inet_address_new_loopback\n  integer(c_int), value :: family\nend function\n\n! GIO_AVAILABLE_IN_2_86\n!GInetAddress * g_inet_address_new_from_bytes_with_ipv6_info (const guint8 *bytes, GSocketFamily family, guint32 flowinfo, guint32 scope_id);\nfunction g_inet_address_new_from_bytes_with_ipv6_info(bytes, family, flowinfo,&\n& scope_id) bind(c)\n  import :: c_ptr, c_int, c_int32_t\n  implicit none\n  type(c_ptr) :: g_inet_address_new_from_bytes_with_ipv6_info\n  type(c_ptr), value :: bytes\n  integer(c_int), value :: family\n  integer(c_int32_t), value :: flowinfo\n  integer(c_int32_t), value :: scope_id\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GInetAddress * g_inet_address_new_any (GSocketFamily family);\nfunction g_inet_address_new_any(family) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_inet_address_new_any\n  integer(c_int), value :: family\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_inet_address_equal (GInetAddress *address, GInetAddress *other_address);\nfunction g_inet_address_equal(address, other_address) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_inet_address_equal\n  type(c_ptr), value :: address\n  type(c_ptr), value :: other_address\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gchar * g_inet_address_to_string (GInetAddress *address);\nfunction g_inet_address_to_string(address) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_inet_address_to_string\n  type(c_ptr), value :: address\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const guint8 * g_inet_address_to_bytes (GInetAddress *address);\nfunction g_inet_address_to_bytes(address) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_inet_address_to_bytes\n  type(c_ptr), value :: address\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gsize g_inet_address_get_native_size (GInetAddress *address);\nfunction g_inet_address_get_native_size(address) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_inet_address_get_native_size\n  type(c_ptr), value :: address\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketFamily g_inet_address_get_family (GInetAddress *address);\nfunction g_inet_address_get_family(address) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_inet_address_get_family\n  type(c_ptr), value :: address\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_inet_address_get_is_any (GInetAddress *address);\nfunction g_inet_address_get_is_any(address) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_inet_address_get_is_any\n  type(c_ptr), value :: address\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_inet_address_get_is_loopback (GInetAddress *address);\nfunction g_inet_address_get_is_loopback(address) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_inet_address_get_is_loopback\n  type(c_ptr), value :: address\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_inet_address_get_is_link_local (GInetAddress *address);\nfunction g_inet_address_get_is_link_local(address) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_inet_address_get_is_link_local\n  type(c_ptr), value :: address\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_inet_address_get_is_site_local (GInetAddress *address);\nfunction g_inet_address_get_is_site_local(address) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_inet_address_get_is_site_local\n  type(c_ptr), value :: address\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_inet_address_get_is_multicast (GInetAddress *address);\nfunction g_inet_address_get_is_multicast(address) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_inet_address_get_is_multicast\n  type(c_ptr), value :: address\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_inet_address_get_is_mc_global (GInetAddress *address);\nfunction g_inet_address_get_is_mc_global(address) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_inet_address_get_is_mc_global\n  type(c_ptr), value :: address\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_inet_address_get_is_mc_link_local (GInetAddress *address);\nfunction g_inet_address_get_is_mc_link_local(address) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_inet_address_get_is_mc_link_local\n  type(c_ptr), value :: address\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_inet_address_get_is_mc_node_local (GInetAddress *address);\nfunction g_inet_address_get_is_mc_node_local(address) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_inet_address_get_is_mc_node_local\n  type(c_ptr), value :: address\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_inet_address_get_is_mc_org_local (GInetAddress *address);\nfunction g_inet_address_get_is_mc_org_local(address) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_inet_address_get_is_mc_org_local\n  type(c_ptr), value :: address\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_inet_address_get_is_mc_site_local (GInetAddress *address);\nfunction g_inet_address_get_is_mc_site_local(address) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_inet_address_get_is_mc_site_local\n  type(c_ptr), value :: address\nend function\n\n! GIO_AVAILABLE_IN_2_86\n!guint32 g_inet_address_get_scope_id (GInetAddress *address);\nfunction g_inet_address_get_scope_id(address) bind(c)\n  import :: c_int32_t, c_ptr\n  implicit none\n  integer(c_int32_t) :: g_inet_address_get_scope_id\n  type(c_ptr), value :: address\nend function\n\n! GIO_AVAILABLE_IN_2_86\n!guint32 g_inet_address_get_flowinfo (GInetAddress *address);\nfunction g_inet_address_get_flowinfo(address) bind(c)\n  import :: c_int32_t, c_ptr\n  implicit none\n  integer(c_int32_t) :: g_inet_address_get_flowinfo\n  type(c_ptr), value :: address\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/ginetaddressmask.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_2_32\n!GType g_inet_address_mask_get_type (void) ;\nfunction g_inet_address_mask_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_inet_address_mask_get_type\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!GInetAddressMask *g_inet_address_mask_new (GInetAddress *addr, guint length, GError **error);\nfunction g_inet_address_mask_new(addr, length, error) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_inet_address_mask_new\n  type(c_ptr), value :: addr\n  integer(c_int), value :: length\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!GInetAddressMask *g_inet_address_mask_new_from_string (const gchar *mask_string, GError **error);\nfunction g_inet_address_mask_new_from_string(mask_string, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_inet_address_mask_new_from_string\n  character(kind=c_char), dimension(*) :: mask_string\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!gchar *g_inet_address_mask_to_string (GInetAddressMask *mask);\nfunction g_inet_address_mask_to_string(mask) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_inet_address_mask_to_string\n  type(c_ptr), value :: mask\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!GSocketFamily g_inet_address_mask_get_family (GInetAddressMask *mask);\nfunction g_inet_address_mask_get_family(mask) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_inet_address_mask_get_family\n  type(c_ptr), value :: mask\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!GInetAddress *g_inet_address_mask_get_address (GInetAddressMask *mask);\nfunction g_inet_address_mask_get_address(mask) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_inet_address_mask_get_address\n  type(c_ptr), value :: mask\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!guint g_inet_address_mask_get_length (GInetAddressMask *mask);\nfunction g_inet_address_mask_get_length(mask) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_inet_address_mask_get_length\n  type(c_ptr), value :: mask\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!gboolean g_inet_address_mask_matches (GInetAddressMask *mask, GInetAddress *address);\nfunction g_inet_address_mask_matches(mask, address) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_inet_address_mask_matches\n  type(c_ptr), value :: mask\n  type(c_ptr), value :: address\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!gboolean g_inet_address_mask_equal (GInetAddressMask *mask, GInetAddressMask *mask2);\nfunction g_inet_address_mask_equal(mask, mask2) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_inet_address_mask_equal\n  type(c_ptr), value :: mask\n  type(c_ptr), value :: mask2\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/ginetsocketaddress.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_inet_socket_address_get_type (void) ;\nfunction g_inet_socket_address_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_inet_socket_address_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketAddress *g_inet_socket_address_new (GInetAddress *address, guint16 port);\nfunction g_inet_socket_address_new(address, port) bind(c)\n  import :: c_ptr, c_int16_t\n  implicit none\n  type(c_ptr) :: g_inet_socket_address_new\n  type(c_ptr), value :: address\n  integer(c_int16_t), value :: port\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!GSocketAddress *g_inet_socket_address_new_from_string (const char *address, guint port);\nfunction g_inet_socket_address_new_from_string(address, port) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_inet_socket_address_new_from_string\n  character(kind=c_char), dimension(*) :: address\n  integer(c_int), value :: port\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GInetAddress * g_inet_socket_address_get_address (GInetSocketAddress *address);\nfunction g_inet_socket_address_get_address(address) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_inet_socket_address_get_address\n  type(c_ptr), value :: address\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!guint16 g_inet_socket_address_get_port (GInetSocketAddress *address);\nfunction g_inet_socket_address_get_port(address) bind(c)\n  import :: c_int16_t, c_ptr\n  implicit none\n  integer(c_int16_t) :: g_inet_socket_address_get_port\n  type(c_ptr), value :: address\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!guint32 g_inet_socket_address_get_flowinfo (GInetSocketAddress *address);\nfunction g_inet_socket_address_get_flowinfo(address) bind(c)\n  import :: c_int32_t, c_ptr\n  implicit none\n  integer(c_int32_t) :: g_inet_socket_address_get_flowinfo\n  type(c_ptr), value :: address\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!guint32 g_inet_socket_address_get_scope_id (GInetSocketAddress *address);\nfunction g_inet_socket_address_get_scope_id(address) bind(c)\n  import :: c_int32_t, c_ptr\n  implicit none\n  integer(c_int32_t) :: g_inet_socket_address_get_scope_id\n  type(c_ptr), value :: address\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/ginitable.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_initable_get_type (void) ;\nfunction g_initable_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_initable_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_initable_init (GInitable *initable, GCancellable *cancellable, GError **error);\nfunction g_initable_init(initable, cancellable, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_initable_init\n  type(c_ptr), value :: initable\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_DEPRECATED_IN_2_54_FOR(g_object_new_with_properties and g_initable_init)\n!gpointer g_initable_newv (GType object_type, guint n_parameters, GParameter *parameters, GCancellable *cancellable, GError **error);\nfunction g_initable_newv(object_type, n_parameters, parameters, cancellable,&\n& error) bind(c)\n  import :: c_ptr, c_size_t, c_int\n  implicit none\n  type(c_ptr) :: g_initable_newv\n  integer(c_size_t), value :: object_type\n  integer(c_int), value :: n_parameters\n  type(c_ptr), value :: parameters\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GObject* g_initable_new_valist (GType object_type, const gchar *first_property_name, va_list var_args, GCancellable *cancellable, GError **error);\nfunction g_initable_new_valist(object_type, first_property_name, var_args,&\n& cancellable, error) bind(c)\n  import :: c_ptr, c_size_t, c_char\n  implicit none\n  type(c_ptr) :: g_initable_new_valist\n  integer(c_size_t), value :: object_type\n  character(kind=c_char), dimension(*) :: first_property_name\n  type(c_ptr), value :: var_args\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/ginputstream.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_input_stream_get_type (void) ;\nfunction g_input_stream_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_input_stream_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gssize g_input_stream_read (GInputStream *stream, void *buffer, gsize count, GCancellable *cancellable, GError **error);\nfunction g_input_stream_read(stream, buffer, count, cancellable, error) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_input_stream_read\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: buffer\n  integer(c_size_t), value :: count\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_input_stream_read_all (GInputStream *stream, void *buffer, gsize count, gsize *bytes_read, GCancellable *cancellable, GError **error);\nfunction g_input_stream_read_all(stream, buffer, count, bytes_read,&\n& cancellable, error) bind(c)\n  import :: c_int, c_ptr, c_size_t\n  implicit none\n  integer(c_int) :: g_input_stream_read_all\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: buffer\n  integer(c_size_t), value :: count\n  type(c_ptr), value :: bytes_read\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_34\n!GBytes *g_input_stream_read_bytes (GInputStream *stream, gsize count, GCancellable *cancellable, GError **error);\nfunction g_input_stream_read_bytes(stream, count, cancellable, error) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_input_stream_read_bytes\n  type(c_ptr), value :: stream\n  integer(c_size_t), value :: count\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gssize g_input_stream_skip (GInputStream *stream, gsize count, GCancellable *cancellable, GError **error);\nfunction g_input_stream_skip(stream, count, cancellable, error) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_input_stream_skip\n  type(c_ptr), value :: stream\n  integer(c_size_t), value :: count\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_input_stream_close (GInputStream *stream, GCancellable *cancellable, GError **error);\nfunction g_input_stream_close(stream, cancellable, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_input_stream_close\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_input_stream_read_async (GInputStream *stream, void *buffer, gsize count, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_input_stream_read_async(stream, buffer, count, io_priority,&\n& cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_size_t, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: buffer\n  integer(c_size_t), value :: count\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gssize g_input_stream_read_finish (GInputStream *stream, GAsyncResult *result, GError **error);\nfunction g_input_stream_read_finish(stream, result, error) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_input_stream_read_finish\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_44\n!void g_input_stream_read_all_async (GInputStream *stream, void *buffer, gsize count, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_input_stream_read_all_async(stream, buffer, count, io_priority,&\n& cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_size_t, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: buffer\n  integer(c_size_t), value :: count\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_2_44\n!gboolean g_input_stream_read_all_finish (GInputStream *stream, GAsyncResult *result, gsize *bytes_read, GError **error);\nfunction g_input_stream_read_all_finish(stream, result, bytes_read, error)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_input_stream_read_all_finish\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: result\n  type(c_ptr), value :: bytes_read\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_34\n!void g_input_stream_read_bytes_async (GInputStream *stream, gsize count, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_input_stream_read_bytes_async(stream, count, io_priority,&\n& cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_size_t, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: stream\n  integer(c_size_t), value :: count\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_2_34\n!GBytes *g_input_stream_read_bytes_finish (GInputStream *stream, GAsyncResult *result, GError **error);\nfunction g_input_stream_read_bytes_finish(stream, result, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_input_stream_read_bytes_finish\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_input_stream_skip_async (GInputStream *stream, gsize count, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_input_stream_skip_async(stream, count, io_priority, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_size_t, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: stream\n  integer(c_size_t), value :: count\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gssize g_input_stream_skip_finish (GInputStream *stream, GAsyncResult *result, GError **error);\nfunction g_input_stream_skip_finish(stream, result, error) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_input_stream_skip_finish\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_input_stream_close_async (GInputStream *stream, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_input_stream_close_async(stream, io_priority, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: stream\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_input_stream_close_finish (GInputStream *stream, GAsyncResult *result, GError **error);\nfunction g_input_stream_close_finish(stream, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_input_stream_close_finish\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_input_stream_is_closed (GInputStream *stream);\nfunction g_input_stream_is_closed(stream) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_input_stream_is_closed\n  type(c_ptr), value :: stream\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_input_stream_has_pending (GInputStream *stream);\nfunction g_input_stream_has_pending(stream) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_input_stream_has_pending\n  type(c_ptr), value :: stream\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_input_stream_set_pending (GInputStream *stream, GError **error);\nfunction g_input_stream_set_pending(stream, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_input_stream_set_pending\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_input_stream_clear_pending (GInputStream *stream);\nsubroutine g_input_stream_clear_pending(stream) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: stream\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gio-autocleanups.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gio-visibility.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gio.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gioenums.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gioenumtypes.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gioerror.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GQuark g_io_error_quark (void);\nfunction g_io_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: g_io_error_quark\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GIOErrorEnum g_io_error_from_errno (gint err_no);\nfunction g_io_error_from_errno(err_no) bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: g_io_error_from_errno\n  integer(c_int), value :: err_no\nend function\n\n! GIO_AVAILABLE_IN_2_74\n!GIOErrorEnum g_io_error_from_file_error (GFileError file_error);\nfunction g_io_error_from_file_error(file_error) bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: g_io_error_from_file_error\n  integer(c_int), value :: file_error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GIOErrorEnum g_io_error_from_win32_error (gint error_code);\nfunction g_io_error_from_win32_error(error_code) bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: g_io_error_from_win32_error\n  integer(c_int), value :: error_code\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/giomodule.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_2_30\n!GIOModuleScope * g_io_module_scope_new (GIOModuleScopeFlags flags);\nfunction g_io_module_scope_new(flags) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_io_module_scope_new\n  integer(c_int), value :: flags\nend function\n\n! GIO_AVAILABLE_IN_2_30\n!void g_io_module_scope_free (GIOModuleScope *scope);\nsubroutine g_io_module_scope_free(scope) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: scope\nend subroutine\n\n! GIO_AVAILABLE_IN_2_30\n!void g_io_module_scope_block (GIOModuleScope *scope, const gchar *basename);\nsubroutine g_io_module_scope_block(scope, basename) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: scope\n  character(kind=c_char), dimension(*) :: basename\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GType g_io_module_get_type (void) ;\nfunction g_io_module_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_io_module_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GIOModule *g_io_module_new (const gchar *filename);\nfunction g_io_module_new(filename) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_io_module_new\n  character(kind=c_char), dimension(*) :: filename\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_io_modules_scan_all_in_directory (const char *dirname);\nsubroutine g_io_modules_scan_all_in_directory(dirname) bind(c)\n  import :: c_char\n  implicit none\n  character(kind=c_char), dimension(*) :: dirname\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GList *g_io_modules_load_all_in_directory (const gchar *dirname);\nfunction g_io_modules_load_all_in_directory(dirname) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_io_modules_load_all_in_directory\n  character(kind=c_char), dimension(*) :: dirname\nend function\n\n! GIO_AVAILABLE_IN_2_30\n!void g_io_modules_scan_all_in_directory_with_scope (const gchar *dirname, GIOModuleScope *scope);\nsubroutine g_io_modules_scan_all_in_directory_with_scope(dirname, scope)&\n& bind(c)\n  import :: c_char, c_ptr\n  implicit none\n  character(kind=c_char), dimension(*) :: dirname\n  type(c_ptr), value :: scope\nend subroutine\n\n! GIO_AVAILABLE_IN_2_30\n!GList *g_io_modules_load_all_in_directory_with_scope (const gchar *dirname, GIOModuleScope *scope);\nfunction g_io_modules_load_all_in_directory_with_scope(dirname, scope) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_io_modules_load_all_in_directory_with_scope\n  character(kind=c_char), dimension(*) :: dirname\n  type(c_ptr), value :: scope\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GIOExtensionPoint *g_io_extension_point_register (const char *name);\nfunction g_io_extension_point_register(name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_io_extension_point_register\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GIOExtensionPoint *g_io_extension_point_lookup (const char *name);\nfunction g_io_extension_point_lookup(name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_io_extension_point_lookup\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_io_extension_point_set_required_type (GIOExtensionPoint *extension_point, GType type);\nsubroutine g_io_extension_point_set_required_type(extension_point, type)&\n& bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr), value :: extension_point\n  integer(c_size_t), value :: type\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GType g_io_extension_point_get_required_type (GIOExtensionPoint *extension_point);\nfunction g_io_extension_point_get_required_type(extension_point) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_io_extension_point_get_required_type\n  type(c_ptr), value :: extension_point\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GList *g_io_extension_point_get_extensions (GIOExtensionPoint *extension_point);\nfunction g_io_extension_point_get_extensions(extension_point) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_io_extension_point_get_extensions\n  type(c_ptr), value :: extension_point\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GIOExtension * g_io_extension_point_get_extension_by_name (GIOExtensionPoint *extension_point, const char *name);\nfunction g_io_extension_point_get_extension_by_name(extension_point, name)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_io_extension_point_get_extension_by_name\n  type(c_ptr), value :: extension_point\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GIOExtension * g_io_extension_point_implement (const char *extension_point_name, GType type, const char *extension_name, gint priority);\nfunction g_io_extension_point_implement(extension_point_name, type,&\n& extension_name, priority) bind(c)\n  import :: c_ptr, c_char, c_size_t, c_int\n  implicit none\n  type(c_ptr) :: g_io_extension_point_implement\n  character(kind=c_char), dimension(*) :: extension_point_name\n  integer(c_size_t), value :: type\n  character(kind=c_char), dimension(*) :: extension_name\n  integer(c_int), value :: priority\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GType g_io_extension_get_type (GIOExtension *extension);\nfunction g_io_extension_get_type(extension) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_io_extension_get_type\n  type(c_ptr), value :: extension\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const char * g_io_extension_get_name (GIOExtension *extension);\nfunction g_io_extension_get_name(extension) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_io_extension_get_name\n  type(c_ptr), value :: extension\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gint g_io_extension_get_priority (GIOExtension *extension);\nfunction g_io_extension_get_priority(extension) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_io_extension_get_priority\n  type(c_ptr), value :: extension\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GTypeClass* g_io_extension_ref_class (GIOExtension *extension);\nfunction g_io_extension_ref_class(extension) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_io_extension_ref_class\n  type(c_ptr), value :: extension\nend function\n\n! \n!G_MODULE_EXPORT void g_io_module_load (GIOModule *module);\nsubroutine g_io_module_load(module) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: module\nend subroutine\n\n! \n!G_MODULE_EXPORT void g_io_module_unload (GIOModule *module);\nsubroutine g_io_module_unload(module) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: module\nend subroutine\n\n! \n!G_MODULE_EXPORT char **g_io_module_query (void);\nfunction g_io_module_query() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_io_module_query\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gioscheduler.h\n!--------------------------------------------------\n! GIO_DEPRECATED_IN_2_36_FOR (\"GThreadPool or g_task_run_in_thread\")\n!void g_io_scheduler_push_job (GIOSchedulerJobFunc job_func, gpointer user_data, GDestroyNotify notify, gint io_priority, GCancellable *cancellable);\nsubroutine g_io_scheduler_push_job(job_func, user_data, notify, io_priority,&\n& cancellable) bind(c)\n  import :: c_funptr, c_ptr, c_int\n  implicit none\n  type(c_funptr), value :: job_func\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: notify\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\nend subroutine\n\n! GIO_DEPRECATED_IN_2_36\n!void g_io_scheduler_cancel_all_jobs (void);\nsubroutine g_io_scheduler_cancel_all_jobs() bind(c)\n  implicit none\nend subroutine\n\n! GIO_DEPRECATED_IN_2_36_FOR (g_main_context_invoke)\n!gboolean g_io_scheduler_job_send_to_mainloop (GIOSchedulerJob *job, GSourceFunc func, gpointer user_data, GDestroyNotify notify);\nfunction g_io_scheduler_job_send_to_mainloop(job, func, user_data, notify)&\n& bind(c)\n  import :: c_int, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: g_io_scheduler_job_send_to_mainloop\n  type(c_ptr), value :: job\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: notify\nend function\n\n! GIO_DEPRECATED_IN_2_36_FOR (g_main_context_invoke)\n!void g_io_scheduler_job_send_to_mainloop_async (GIOSchedulerJob *job, GSourceFunc func, gpointer user_data, GDestroyNotify notify);\nsubroutine g_io_scheduler_job_send_to_mainloop_async(job, func, user_data,&\n& notify) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: job\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: notify\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/giostream.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_io_stream_get_type (void) ;\nfunction g_io_stream_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_io_stream_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GInputStream * g_io_stream_get_input_stream (GIOStream *stream);\nfunction g_io_stream_get_input_stream(stream) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_io_stream_get_input_stream\n  type(c_ptr), value :: stream\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GOutputStream *g_io_stream_get_output_stream (GIOStream *stream);\nfunction g_io_stream_get_output_stream(stream) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_io_stream_get_output_stream\n  type(c_ptr), value :: stream\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_io_stream_splice_async (GIOStream *stream1, GIOStream *stream2, GIOStreamSpliceFlags flags, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_io_stream_splice_async(stream1, stream2, flags, io_priority,&\n& cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: stream1\n  type(c_ptr), value :: stream2\n  integer(c_int), value :: flags\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_io_stream_splice_finish (GAsyncResult *result, GError **error);\nfunction g_io_stream_splice_finish(result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_io_stream_splice_finish\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_io_stream_close (GIOStream *stream, GCancellable *cancellable, GError **error);\nfunction g_io_stream_close(stream, cancellable, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_io_stream_close\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_io_stream_close_async (GIOStream *stream, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_io_stream_close_async(stream, io_priority, cancellable, callback,&\n& user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: stream\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_io_stream_close_finish (GIOStream *stream, GAsyncResult *result, GError **error);\nfunction g_io_stream_close_finish(stream, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_io_stream_close_finish\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_io_stream_is_closed (GIOStream *stream);\nfunction g_io_stream_is_closed(stream) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_io_stream_is_closed\n  type(c_ptr), value :: stream\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_io_stream_has_pending (GIOStream *stream);\nfunction g_io_stream_has_pending(stream) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_io_stream_has_pending\n  type(c_ptr), value :: stream\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_io_stream_set_pending (GIOStream *stream, GError **error);\nfunction g_io_stream_set_pending(stream, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_io_stream_set_pending\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_io_stream_clear_pending (GIOStream *stream);\nsubroutine g_io_stream_clear_pending(stream) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: stream\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/giotypes.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/glistmodel.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_2_44\n!GType g_list_model_get_item_type (GListModel *list);\nfunction g_list_model_get_item_type(list) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_list_model_get_item_type\n  type(c_ptr), value :: list\nend function\n\n! GIO_AVAILABLE_IN_2_44\n!guint g_list_model_get_n_items (GListModel *list);\nfunction g_list_model_get_n_items(list) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_list_model_get_n_items\n  type(c_ptr), value :: list\nend function\n\n! GIO_AVAILABLE_IN_2_44\n!gpointer g_list_model_get_item (GListModel *list, guint position);\nfunction g_list_model_get_item(list, position) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_list_model_get_item\n  type(c_ptr), value :: list\n  integer(c_int), value :: position\nend function\n\n! GIO_AVAILABLE_IN_2_44\n!GObject * g_list_model_get_object (GListModel *list, guint position);\nfunction g_list_model_get_object(list, position) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_list_model_get_object\n  type(c_ptr), value :: list\n  integer(c_int), value :: position\nend function\n\n! GIO_AVAILABLE_IN_2_44\n!void g_list_model_items_changed (GListModel *list, guint position, guint removed, guint added);\nsubroutine g_list_model_items_changed(list, position, removed, added) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: list\n  integer(c_int), value :: position\n  integer(c_int), value :: removed\n  integer(c_int), value :: added\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gliststore.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_2_44\n!GListStore * g_list_store_new (GType item_type);\nfunction g_list_store_new(item_type) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_list_store_new\n  integer(c_size_t), value :: item_type\nend function\n\n! GIO_AVAILABLE_IN_2_44\n!void g_list_store_insert (GListStore *store, guint position, gpointer item);\nsubroutine g_list_store_insert(store, position, item) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: store\n  integer(c_int), value :: position\n  type(c_ptr), value :: item\nend subroutine\n\n! GIO_AVAILABLE_IN_2_44\n!guint g_list_store_insert_sorted (GListStore *store, gpointer item, GCompareDataFunc compare_func, gpointer user_data);\nfunction g_list_store_insert_sorted(store, item, compare_func, user_data)&\n& bind(c)\n  import :: c_int, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: g_list_store_insert_sorted\n  type(c_ptr), value :: store\n  type(c_ptr), value :: item\n  type(c_funptr), value :: compare_func\n  type(c_ptr), value :: user_data\nend function\n\n! GIO_AVAILABLE_IN_2_46\n!void g_list_store_sort (GListStore *store, GCompareDataFunc compare_func, gpointer user_data);\nsubroutine g_list_store_sort(store, compare_func, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: store\n  type(c_funptr), value :: compare_func\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_2_44\n!void g_list_store_append (GListStore *store, gpointer item);\nsubroutine g_list_store_append(store, item) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: store\n  type(c_ptr), value :: item\nend subroutine\n\n! GIO_AVAILABLE_IN_2_44\n!void g_list_store_remove (GListStore *store, guint position);\nsubroutine g_list_store_remove(store, position) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: store\n  integer(c_int), value :: position\nend subroutine\n\n! GIO_AVAILABLE_IN_2_44\n!void g_list_store_remove_all (GListStore *store);\nsubroutine g_list_store_remove_all(store) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: store\nend subroutine\n\n! GIO_AVAILABLE_IN_2_44\n!void g_list_store_splice (GListStore *store, guint position, guint n_removals, gpointer *additions, guint n_additions);\nsubroutine g_list_store_splice(store, position, n_removals, additions,&\n& n_additions) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: store\n  integer(c_int), value :: position\n  integer(c_int), value :: n_removals\n  type(c_ptr), value :: additions\n  integer(c_int), value :: n_additions\nend subroutine\n\n! GIO_AVAILABLE_IN_2_64\n!gboolean g_list_store_find (GListStore *store, gpointer item, guint *position);\nfunction g_list_store_find(store, item, position) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_list_store_find\n  type(c_ptr), value :: store\n  type(c_ptr), value :: item\n  type(c_ptr), value :: position\nend function\n\n! GIO_AVAILABLE_IN_2_64\n!gboolean g_list_store_find_with_equal_func (GListStore *store, gpointer item, GEqualFunc equal_func, guint *position);\nfunction g_list_store_find_with_equal_func(store, item, equal_func, position)&\n& bind(c)\n  import :: c_int, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: g_list_store_find_with_equal_func\n  type(c_ptr), value :: store\n  type(c_ptr), value :: item\n  type(c_funptr), value :: equal_func\n  type(c_ptr), value :: position\nend function\n\n! GIO_AVAILABLE_IN_2_74\n!gboolean g_list_store_find_with_equal_func_full (GListStore *store, gpointer item, GEqualFuncFull equal_func, gpointer user_data, guint *position);\nfunction g_list_store_find_with_equal_func_full(store, item, equal_func,&\n& user_data, position) bind(c)\n  import :: c_int, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: g_list_store_find_with_equal_func_full\n  type(c_ptr), value :: store\n  type(c_ptr), value :: item\n  type(c_funptr), value :: equal_func\n  type(c_ptr), value :: user_data\n  type(c_ptr), value :: position\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gloadableicon.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_loadable_icon_get_type (void) ;\nfunction g_loadable_icon_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_loadable_icon_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GInputStream *g_loadable_icon_load (GLoadableIcon *icon, int size, char **type, GCancellable *cancellable, GError **error);\nfunction g_loadable_icon_load(icon, size, type, cancellable, error) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_loadable_icon_load\n  type(c_ptr), value :: icon\n  integer(c_int), value :: size\n  type(c_ptr), dimension(*) :: type\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_loadable_icon_load_async (GLoadableIcon *icon, int size, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_loadable_icon_load_async(icon, size, cancellable, callback,&\n& user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: icon\n  integer(c_int), value :: size\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GInputStream *g_loadable_icon_load_finish (GLoadableIcon *icon, GAsyncResult *res, char **type, GError **error);\nfunction g_loadable_icon_load_finish(icon, res, type, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_loadable_icon_load_finish\n  type(c_ptr), value :: icon\n  type(c_ptr), value :: res\n  type(c_ptr), dimension(*) :: type\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gmemoryinputstream.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_memory_input_stream_get_type (void) ;\nfunction g_memory_input_stream_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_memory_input_stream_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GInputStream * g_memory_input_stream_new (void);\nfunction g_memory_input_stream_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_memory_input_stream_new\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GInputStream * g_memory_input_stream_new_from_data (const void *data, gssize len, GDestroyNotify destroy);\nfunction g_memory_input_stream_new_from_data(data, len, destroy) bind(c)\n  import :: c_ptr, c_size_t, c_funptr\n  implicit none\n  type(c_ptr) :: g_memory_input_stream_new_from_data\n  type(c_ptr), value :: data\n  integer(c_size_t), value :: len\n  type(c_funptr), value :: destroy\nend function\n\n! GIO_AVAILABLE_IN_2_34\n!GInputStream * g_memory_input_stream_new_from_bytes (GBytes *bytes);\nfunction g_memory_input_stream_new_from_bytes(bytes) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_memory_input_stream_new_from_bytes\n  type(c_ptr), value :: bytes\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_memory_input_stream_add_data (GMemoryInputStream *stream, const void *data, gssize len, GDestroyNotify destroy);\nsubroutine g_memory_input_stream_add_data(stream, data, len, destroy) bind(c)\n  import :: c_ptr, c_size_t, c_funptr\n  implicit none\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: data\n  integer(c_size_t), value :: len\n  type(c_funptr), value :: destroy\nend subroutine\n\n! GIO_AVAILABLE_IN_2_34\n!void g_memory_input_stream_add_bytes (GMemoryInputStream *stream, GBytes *bytes);\nsubroutine g_memory_input_stream_add_bytes(stream, bytes) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: bytes\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gmemorymonitor.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_2_64\n!GMemoryMonitor *g_memory_monitor_dup_default (void);\nfunction g_memory_monitor_dup_default() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_memory_monitor_dup_default\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gmemoryoutputstream.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_memory_output_stream_get_type (void) ;\nfunction g_memory_output_stream_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_memory_output_stream_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GOutputStream *g_memory_output_stream_new (gpointer data, gsize size, GReallocFunc realloc_function, GDestroyNotify destroy_function);\nfunction g_memory_output_stream_new(data, size, realloc_function,&\n& destroy_function) bind(c)\n  import :: c_ptr, c_size_t, c_funptr\n  implicit none\n  type(c_ptr) :: g_memory_output_stream_new\n  type(c_ptr), value :: data\n  integer(c_size_t), value :: size\n  type(c_funptr), value :: realloc_function\n  type(c_funptr), value :: destroy_function\nend function\n\n! GIO_AVAILABLE_IN_2_36\n!GOutputStream *g_memory_output_stream_new_resizable (void);\nfunction g_memory_output_stream_new_resizable() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_memory_output_stream_new_resizable\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gpointer g_memory_output_stream_get_data (GMemoryOutputStream *ostream);\nfunction g_memory_output_stream_get_data(ostream) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_memory_output_stream_get_data\n  type(c_ptr), value :: ostream\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gsize g_memory_output_stream_get_size (GMemoryOutputStream *ostream);\nfunction g_memory_output_stream_get_size(ostream) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_memory_output_stream_get_size\n  type(c_ptr), value :: ostream\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gsize g_memory_output_stream_get_data_size (GMemoryOutputStream *ostream);\nfunction g_memory_output_stream_get_data_size(ostream) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_memory_output_stream_get_data_size\n  type(c_ptr), value :: ostream\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gpointer g_memory_output_stream_steal_data (GMemoryOutputStream *ostream);\nfunction g_memory_output_stream_steal_data(ostream) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_memory_output_stream_steal_data\n  type(c_ptr), value :: ostream\nend function\n\n! GIO_AVAILABLE_IN_2_34\n!GBytes * g_memory_output_stream_steal_as_bytes (GMemoryOutputStream *ostream);\nfunction g_memory_output_stream_steal_as_bytes(ostream) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_memory_output_stream_steal_as_bytes\n  type(c_ptr), value :: ostream\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gmenu.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_2_32\n!GType g_menu_get_type (void) ;\nfunction g_menu_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_menu_get_type\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!GMenu * g_menu_new (void);\nfunction g_menu_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_menu_new\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!void g_menu_freeze (GMenu *menu);\nsubroutine g_menu_freeze(menu) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: menu\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!void g_menu_insert_item (GMenu *menu, gint position, GMenuItem *item);\nsubroutine g_menu_insert_item(menu, position, item) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: menu\n  integer(c_int), value :: position\n  type(c_ptr), value :: item\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!void g_menu_prepend_item (GMenu *menu, GMenuItem *item);\nsubroutine g_menu_prepend_item(menu, item) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: menu\n  type(c_ptr), value :: item\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!void g_menu_append_item (GMenu *menu, GMenuItem *item);\nsubroutine g_menu_append_item(menu, item) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: menu\n  type(c_ptr), value :: item\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!void g_menu_remove (GMenu *menu, gint position);\nsubroutine g_menu_remove(menu, position) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: menu\n  integer(c_int), value :: position\nend subroutine\n\n! GIO_AVAILABLE_IN_2_38\n!void g_menu_remove_all (GMenu *menu);\nsubroutine g_menu_remove_all(menu) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: menu\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!void g_menu_insert (GMenu *menu, gint position, const gchar *label, const gchar *detailed_action);\nsubroutine g_menu_insert(menu, position, label, detailed_action) bind(c)\n  import :: c_ptr, c_int, c_char\n  implicit none\n  type(c_ptr), value :: menu\n  integer(c_int), value :: position\n  character(kind=c_char), dimension(*) :: label\n  character(kind=c_char), dimension(*) :: detailed_action\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!void g_menu_prepend (GMenu *menu, const gchar *label, const gchar *detailed_action);\nsubroutine g_menu_prepend(menu, label, detailed_action) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: menu\n  character(kind=c_char), dimension(*) :: label\n  character(kind=c_char), dimension(*) :: detailed_action\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!void g_menu_append (GMenu *menu, const gchar *label, const gchar *detailed_action);\nsubroutine g_menu_append(menu, label, detailed_action) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: menu\n  character(kind=c_char), dimension(*) :: label\n  character(kind=c_char), dimension(*) :: detailed_action\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!void g_menu_insert_section (GMenu *menu, gint position, const gchar *label, GMenuModel *section);\nsubroutine g_menu_insert_section(menu, position, label, section) bind(c)\n  import :: c_ptr, c_int, c_char\n  implicit none\n  type(c_ptr), value :: menu\n  integer(c_int), value :: position\n  character(kind=c_char), dimension(*) :: label\n  type(c_ptr), value :: section\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!void g_menu_prepend_section (GMenu *menu, const gchar *label, GMenuModel *section);\nsubroutine g_menu_prepend_section(menu, label, section) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: menu\n  character(kind=c_char), dimension(*) :: label\n  type(c_ptr), value :: section\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!void g_menu_append_section (GMenu *menu, const gchar *label, GMenuModel *section);\nsubroutine g_menu_append_section(menu, label, section) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: menu\n  character(kind=c_char), dimension(*) :: label\n  type(c_ptr), value :: section\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!void g_menu_insert_submenu (GMenu *menu, gint position, const gchar *label, GMenuModel *submenu);\nsubroutine g_menu_insert_submenu(menu, position, label, submenu) bind(c)\n  import :: c_ptr, c_int, c_char\n  implicit none\n  type(c_ptr), value :: menu\n  integer(c_int), value :: position\n  character(kind=c_char), dimension(*) :: label\n  type(c_ptr), value :: submenu\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!void g_menu_prepend_submenu (GMenu *menu, const gchar *label, GMenuModel *submenu);\nsubroutine g_menu_prepend_submenu(menu, label, submenu) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: menu\n  character(kind=c_char), dimension(*) :: label\n  type(c_ptr), value :: submenu\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!void g_menu_append_submenu (GMenu *menu, const gchar *label, GMenuModel *submenu);\nsubroutine g_menu_append_submenu(menu, label, submenu) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: menu\n  character(kind=c_char), dimension(*) :: label\n  type(c_ptr), value :: submenu\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!GType g_menu_item_get_type (void) ;\nfunction g_menu_item_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_menu_item_get_type\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!GMenuItem * g_menu_item_new (const gchar *label, const gchar *detailed_action);\nfunction g_menu_item_new(label, detailed_action) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_menu_item_new\n  character(kind=c_char), dimension(*) :: label\n  character(kind=c_char), dimension(*) :: detailed_action\nend function\n\n! GIO_AVAILABLE_IN_2_34\n!GMenuItem * g_menu_item_new_from_model (GMenuModel *model, gint item_index);\nfunction g_menu_item_new_from_model(model, item_index) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_menu_item_new_from_model\n  type(c_ptr), value :: model\n  integer(c_int), value :: item_index\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!GMenuItem * g_menu_item_new_submenu (const gchar *label, GMenuModel *submenu);\nfunction g_menu_item_new_submenu(label, submenu) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_menu_item_new_submenu\n  character(kind=c_char), dimension(*) :: label\n  type(c_ptr), value :: submenu\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!GMenuItem * g_menu_item_new_section (const gchar *label, GMenuModel *section);\nfunction g_menu_item_new_section(label, section) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_menu_item_new_section\n  character(kind=c_char), dimension(*) :: label\n  type(c_ptr), value :: section\nend function\n\n! GIO_AVAILABLE_IN_2_34\n!GVariant * g_menu_item_get_attribute_value (GMenuItem *menu_item, const gchar *attribute, const GVariantType *expected_type);\nfunction g_menu_item_get_attribute_value(menu_item, attribute, expected_type)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_menu_item_get_attribute_value\n  type(c_ptr), value :: menu_item\n  character(kind=c_char), dimension(*) :: attribute\n  type(c_ptr), value :: expected_type\nend function\n\n! GIO_AVAILABLE_IN_2_34\n!GMenuModel *g_menu_item_get_link (GMenuItem *menu_item, const gchar *link);\nfunction g_menu_item_get_link(menu_item, link) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_menu_item_get_link\n  type(c_ptr), value :: menu_item\n  character(kind=c_char), dimension(*) :: link\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!void g_menu_item_set_attribute_value (GMenuItem *menu_item, const gchar *attribute, GVariant *value);\nsubroutine g_menu_item_set_attribute_value(menu_item, attribute, value) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: menu_item\n  character(kind=c_char), dimension(*) :: attribute\n  type(c_ptr), value :: value\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!void g_menu_item_set_link (GMenuItem *menu_item, const gchar *link, GMenuModel *model);\nsubroutine g_menu_item_set_link(menu_item, link, model) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: menu_item\n  character(kind=c_char), dimension(*) :: link\n  type(c_ptr), value :: model\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!void g_menu_item_set_label (GMenuItem *menu_item, const gchar *label);\nsubroutine g_menu_item_set_label(menu_item, label) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: menu_item\n  character(kind=c_char), dimension(*) :: label\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!void g_menu_item_set_submenu (GMenuItem *menu_item, GMenuModel *submenu);\nsubroutine g_menu_item_set_submenu(menu_item, submenu) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: menu_item\n  type(c_ptr), value :: submenu\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!void g_menu_item_set_section (GMenuItem *menu_item, GMenuModel *section);\nsubroutine g_menu_item_set_section(menu_item, section) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: menu_item\n  type(c_ptr), value :: section\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!void g_menu_item_set_action_and_target_value (GMenuItem *menu_item, const gchar *action, GVariant *target_value);\nsubroutine g_menu_item_set_action_and_target_value(menu_item, action,&\n& target_value) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: menu_item\n  character(kind=c_char), dimension(*) :: action\n  type(c_ptr), value :: target_value\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!void g_menu_item_set_detailed_action (GMenuItem *menu_item, const gchar *detailed_action);\nsubroutine g_menu_item_set_detailed_action(menu_item, detailed_action) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: menu_item\n  character(kind=c_char), dimension(*) :: detailed_action\nend subroutine\n\n! GIO_AVAILABLE_IN_2_38\n!void g_menu_item_set_icon (GMenuItem *menu_item, GIcon *icon);\nsubroutine g_menu_item_set_icon(menu_item, icon) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: menu_item\n  type(c_ptr), value :: icon\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gmenuexporter.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_2_32\n!guint g_dbus_connection_export_menu_model (GDBusConnection *connection, const gchar *object_path, GMenuModel *menu, GError **error);\nfunction g_dbus_connection_export_menu_model(connection, object_path, menu,&\n& error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_dbus_connection_export_menu_model\n  type(c_ptr), value :: connection\n  character(kind=c_char), dimension(*) :: object_path\n  type(c_ptr), value :: menu\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!void g_dbus_connection_unexport_menu_model (GDBusConnection *connection, guint export_id);\nsubroutine g_dbus_connection_unexport_menu_model(connection, export_id) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: connection\n  integer(c_int), value :: export_id\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gmenumodel.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_2_32\n!GType g_menu_model_get_type (void) ;\nfunction g_menu_model_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_menu_model_get_type\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!gboolean g_menu_model_is_mutable (GMenuModel *model);\nfunction g_menu_model_is_mutable(model) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_menu_model_is_mutable\n  type(c_ptr), value :: model\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!gint g_menu_model_get_n_items (GMenuModel *model);\nfunction g_menu_model_get_n_items(model) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_menu_model_get_n_items\n  type(c_ptr), value :: model\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!GMenuAttributeIter * g_menu_model_iterate_item_attributes (GMenuModel *model, gint item_index);\nfunction g_menu_model_iterate_item_attributes(model, item_index) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_menu_model_iterate_item_attributes\n  type(c_ptr), value :: model\n  integer(c_int), value :: item_index\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!GVariant * g_menu_model_get_item_attribute_value (GMenuModel *model, gint item_index, const gchar *attribute, const GVariantType *expected_type);\nfunction g_menu_model_get_item_attribute_value(model, item_index, attribute,&\n& expected_type) bind(c)\n  import :: c_ptr, c_int, c_char\n  implicit none\n  type(c_ptr) :: g_menu_model_get_item_attribute_value\n  type(c_ptr), value :: model\n  integer(c_int), value :: item_index\n  character(kind=c_char), dimension(*) :: attribute\n  type(c_ptr), value :: expected_type\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!GMenuLinkIter * g_menu_model_iterate_item_links (GMenuModel *model, gint item_index);\nfunction g_menu_model_iterate_item_links(model, item_index) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_menu_model_iterate_item_links\n  type(c_ptr), value :: model\n  integer(c_int), value :: item_index\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!GMenuModel * g_menu_model_get_item_link (GMenuModel *model, gint item_index, const gchar *link);\nfunction g_menu_model_get_item_link(model, item_index, link) bind(c)\n  import :: c_ptr, c_int, c_char\n  implicit none\n  type(c_ptr) :: g_menu_model_get_item_link\n  type(c_ptr), value :: model\n  integer(c_int), value :: item_index\n  character(kind=c_char), dimension(*) :: link\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!void g_menu_model_items_changed (GMenuModel *model, gint position, gint removed, gint added);\nsubroutine g_menu_model_items_changed(model, position, removed, added) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: model\n  integer(c_int), value :: position\n  integer(c_int), value :: removed\n  integer(c_int), value :: added\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!GType g_menu_attribute_iter_get_type (void) ;\nfunction g_menu_attribute_iter_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_menu_attribute_iter_get_type\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!gboolean g_menu_attribute_iter_get_next (GMenuAttributeIter *iter, const gchar **out_name, GVariant **value);\nfunction g_menu_attribute_iter_get_next(iter, out_name, value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_menu_attribute_iter_get_next\n  type(c_ptr), value :: iter\n  type(c_ptr), dimension(*) :: out_name\n  type(c_ptr), dimension(*) :: value\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!gboolean g_menu_attribute_iter_next (GMenuAttributeIter *iter);\nfunction g_menu_attribute_iter_next(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_menu_attribute_iter_next\n  type(c_ptr), value :: iter\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!const gchar * g_menu_attribute_iter_get_name (GMenuAttributeIter *iter);\nfunction g_menu_attribute_iter_get_name(iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_menu_attribute_iter_get_name\n  type(c_ptr), value :: iter\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!GVariant * g_menu_attribute_iter_get_value (GMenuAttributeIter *iter);\nfunction g_menu_attribute_iter_get_value(iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_menu_attribute_iter_get_value\n  type(c_ptr), value :: iter\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!GType g_menu_link_iter_get_type (void) ;\nfunction g_menu_link_iter_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_menu_link_iter_get_type\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!gboolean g_menu_link_iter_get_next (GMenuLinkIter *iter, const gchar **out_link, GMenuModel **value);\nfunction g_menu_link_iter_get_next(iter, out_link, value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_menu_link_iter_get_next\n  type(c_ptr), value :: iter\n  type(c_ptr), dimension(*) :: out_link\n  type(c_ptr), value :: value\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!gboolean g_menu_link_iter_next (GMenuLinkIter *iter);\nfunction g_menu_link_iter_next(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_menu_link_iter_next\n  type(c_ptr), value :: iter\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!const gchar * g_menu_link_iter_get_name (GMenuLinkIter *iter);\nfunction g_menu_link_iter_get_name(iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_menu_link_iter_get_name\n  type(c_ptr), value :: iter\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!GMenuModel * g_menu_link_iter_get_value (GMenuLinkIter *iter);\nfunction g_menu_link_iter_get_value(iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_menu_link_iter_get_value\n  type(c_ptr), value :: iter\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gmount.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_mount_get_type (void) ;\nfunction g_mount_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_mount_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFile * g_mount_get_root (GMount *mount);\nfunction g_mount_get_root(mount) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_mount_get_root\n  type(c_ptr), value :: mount\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFile * g_mount_get_default_location (GMount *mount);\nfunction g_mount_get_default_location(mount) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_mount_get_default_location\n  type(c_ptr), value :: mount\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!char * g_mount_get_name (GMount *mount);\nfunction g_mount_get_name(mount) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_mount_get_name\n  type(c_ptr), value :: mount\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GIcon * g_mount_get_icon (GMount *mount);\nfunction g_mount_get_icon(mount) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_mount_get_icon\n  type(c_ptr), value :: mount\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GIcon * g_mount_get_symbolic_icon (GMount *mount);\nfunction g_mount_get_symbolic_icon(mount) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_mount_get_symbolic_icon\n  type(c_ptr), value :: mount\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!char * g_mount_get_uuid (GMount *mount);\nfunction g_mount_get_uuid(mount) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_mount_get_uuid\n  type(c_ptr), value :: mount\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GVolume * g_mount_get_volume (GMount *mount);\nfunction g_mount_get_volume(mount) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_mount_get_volume\n  type(c_ptr), value :: mount\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDrive * g_mount_get_drive (GMount *mount);\nfunction g_mount_get_drive(mount) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_mount_get_drive\n  type(c_ptr), value :: mount\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_mount_can_unmount (GMount *mount);\nfunction g_mount_can_unmount(mount) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_mount_can_unmount\n  type(c_ptr), value :: mount\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_mount_can_eject (GMount *mount);\nfunction g_mount_can_eject(mount) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_mount_can_eject\n  type(c_ptr), value :: mount\nend function\n\n! GIO_DEPRECATED_FOR(g_mount_unmount_with_operation)\n!void g_mount_unmount (GMount *mount, GMountUnmountFlags flags, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_mount_unmount(mount, flags, cancellable, callback, user_data)&\n& bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: mount\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_DEPRECATED_FOR(g_mount_unmount_with_operation_finish)\n!gboolean g_mount_unmount_finish (GMount *mount, GAsyncResult *result, GError **error);\nfunction g_mount_unmount_finish(mount, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_mount_unmount_finish\n  type(c_ptr), value :: mount\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_DEPRECATED_FOR(g_mount_eject_with_operation)\n!void g_mount_eject (GMount *mount, GMountUnmountFlags flags, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_mount_eject(mount, flags, cancellable, callback, user_data)&\n& bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: mount\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_DEPRECATED_FOR(g_mount_eject_with_operation_finish)\n!gboolean g_mount_eject_finish (GMount *mount, GAsyncResult *result, GError **error);\nfunction g_mount_eject_finish(mount, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_mount_eject_finish\n  type(c_ptr), value :: mount\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_mount_remount (GMount *mount, GMountMountFlags flags, GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_mount_remount(mount, flags, mount_operation, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: mount\n  integer(c_int), value :: flags\n  type(c_ptr), value :: mount_operation\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_mount_remount_finish (GMount *mount, GAsyncResult *result, GError **error);\nfunction g_mount_remount_finish(mount, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_mount_remount_finish\n  type(c_ptr), value :: mount\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_mount_guess_content_type (GMount *mount, gboolean force_rescan, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_mount_guess_content_type(mount, force_rescan, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: mount\n  integer(c_int), value :: force_rescan\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gchar ** g_mount_guess_content_type_finish (GMount *mount, GAsyncResult *result, GError **error);\nfunction g_mount_guess_content_type_finish(mount, result, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_mount_guess_content_type_finish\n  type(c_ptr), value :: mount\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gchar ** g_mount_guess_content_type_sync (GMount *mount, gboolean force_rescan, GCancellable *cancellable, GError **error);\nfunction g_mount_guess_content_type_sync(mount, force_rescan, cancellable,&\n& error) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_mount_guess_content_type_sync\n  type(c_ptr), value :: mount\n  integer(c_int), value :: force_rescan\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_mount_is_shadowed (GMount *mount);\nfunction g_mount_is_shadowed(mount) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_mount_is_shadowed\n  type(c_ptr), value :: mount\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_mount_shadow (GMount *mount);\nsubroutine g_mount_shadow(mount) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: mount\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_mount_unshadow (GMount *mount);\nsubroutine g_mount_unshadow(mount) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: mount\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_mount_unmount_with_operation (GMount *mount, GMountUnmountFlags flags, GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_mount_unmount_with_operation(mount, flags, mount_operation,&\n& cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: mount\n  integer(c_int), value :: flags\n  type(c_ptr), value :: mount_operation\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_mount_unmount_with_operation_finish (GMount *mount, GAsyncResult *result, GError **error);\nfunction g_mount_unmount_with_operation_finish(mount, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_mount_unmount_with_operation_finish\n  type(c_ptr), value :: mount\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_mount_eject_with_operation (GMount *mount, GMountUnmountFlags flags, GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_mount_eject_with_operation(mount, flags, mount_operation,&\n& cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: mount\n  integer(c_int), value :: flags\n  type(c_ptr), value :: mount_operation\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_mount_eject_with_operation_finish (GMount *mount, GAsyncResult *result, GError **error);\nfunction g_mount_eject_with_operation_finish(mount, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_mount_eject_with_operation_finish\n  type(c_ptr), value :: mount\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar *g_mount_get_sort_key (GMount *mount);\nfunction g_mount_get_sort_key(mount) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_mount_get_sort_key\n  type(c_ptr), value :: mount\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gmountoperation.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_mount_operation_get_type (void) ;\nfunction g_mount_operation_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_mount_operation_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GMountOperation * g_mount_operation_new (void);\nfunction g_mount_operation_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_mount_operation_new\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const char * g_mount_operation_get_username (GMountOperation *op);\nfunction g_mount_operation_get_username(op) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_mount_operation_get_username\n  type(c_ptr), value :: op\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_mount_operation_set_username (GMountOperation *op, const char *username);\nsubroutine g_mount_operation_set_username(op, username) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: op\n  character(kind=c_char), dimension(*) :: username\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!const char * g_mount_operation_get_password (GMountOperation *op);\nfunction g_mount_operation_get_password(op) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_mount_operation_get_password\n  type(c_ptr), value :: op\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_mount_operation_set_password (GMountOperation *op, const char *password);\nsubroutine g_mount_operation_set_password(op, password) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: op\n  character(kind=c_char), dimension(*) :: password\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_mount_operation_get_anonymous (GMountOperation *op);\nfunction g_mount_operation_get_anonymous(op) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_mount_operation_get_anonymous\n  type(c_ptr), value :: op\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_mount_operation_set_anonymous (GMountOperation *op, gboolean anonymous);\nsubroutine g_mount_operation_set_anonymous(op, anonymous) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: op\n  integer(c_int), value :: anonymous\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!const char * g_mount_operation_get_domain (GMountOperation *op);\nfunction g_mount_operation_get_domain(op) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_mount_operation_get_domain\n  type(c_ptr), value :: op\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_mount_operation_set_domain (GMountOperation *op, const char *domain);\nsubroutine g_mount_operation_set_domain(op, domain) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: op\n  character(kind=c_char), dimension(*) :: domain\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GPasswordSave g_mount_operation_get_password_save (GMountOperation *op);\nfunction g_mount_operation_get_password_save(op) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_mount_operation_get_password_save\n  type(c_ptr), value :: op\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_mount_operation_set_password_save (GMountOperation *op, GPasswordSave save);\nsubroutine g_mount_operation_set_password_save(op, save) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: op\n  integer(c_int), value :: save\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!int g_mount_operation_get_choice (GMountOperation *op);\nfunction g_mount_operation_get_choice(op) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_mount_operation_get_choice\n  type(c_ptr), value :: op\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_mount_operation_set_choice (GMountOperation *op, int choice);\nsubroutine g_mount_operation_set_choice(op, choice) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: op\n  integer(c_int), value :: choice\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_mount_operation_reply (GMountOperation *op, GMountOperationResult result);\nsubroutine g_mount_operation_reply(op, result) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: op\n  integer(c_int), value :: result\nend subroutine\n\n! GIO_AVAILABLE_IN_2_58\n!gboolean g_mount_operation_get_is_tcrypt_hidden_volume (GMountOperation *op);\nfunction g_mount_operation_get_is_tcrypt_hidden_volume(op) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_mount_operation_get_is_tcrypt_hidden_volume\n  type(c_ptr), value :: op\nend function\n\n! GIO_AVAILABLE_IN_2_58\n!void g_mount_operation_set_is_tcrypt_hidden_volume (GMountOperation *op, gboolean hidden_volume);\nsubroutine g_mount_operation_set_is_tcrypt_hidden_volume(op, hidden_volume)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: op\n  integer(c_int), value :: hidden_volume\nend subroutine\n\n! GIO_AVAILABLE_IN_2_58\n!gboolean g_mount_operation_get_is_tcrypt_system_volume (GMountOperation *op);\nfunction g_mount_operation_get_is_tcrypt_system_volume(op) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_mount_operation_get_is_tcrypt_system_volume\n  type(c_ptr), value :: op\nend function\n\n! GIO_AVAILABLE_IN_2_58\n!void g_mount_operation_set_is_tcrypt_system_volume (GMountOperation *op, gboolean system_volume);\nsubroutine g_mount_operation_set_is_tcrypt_system_volume(op, system_volume)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: op\n  integer(c_int), value :: system_volume\nend subroutine\n\n! GIO_AVAILABLE_IN_2_58\n!guint g_mount_operation_get_pim (GMountOperation *op);\nfunction g_mount_operation_get_pim(op) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_mount_operation_get_pim\n  type(c_ptr), value :: op\nend function\n\n! GIO_AVAILABLE_IN_2_58\n!void g_mount_operation_set_pim (GMountOperation *op, guint pim);\nsubroutine g_mount_operation_set_pim(op, pim) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: op\n  integer(c_int), value :: pim\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gnativesocketaddress.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_2_46\n!GType g_native_socket_address_get_type (void) ;\nfunction g_native_socket_address_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_native_socket_address_get_type\nend function\n\n! GIO_AVAILABLE_IN_2_46\n!GSocketAddress *g_native_socket_address_new (gpointer native, gsize len);\nfunction g_native_socket_address_new(native, len) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_native_socket_address_new\n  type(c_ptr), value :: native\n  integer(c_size_t), value :: len\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gnativevolumemonitor.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_native_volume_monitor_get_type (void) ;\nfunction g_native_volume_monitor_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_native_volume_monitor_get_type\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gnetworkaddress.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_network_address_get_type (void) ;\nfunction g_network_address_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_network_address_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketConnectable *g_network_address_new (const gchar *hostname, guint16 port);\nfunction g_network_address_new(hostname, port) bind(c)\n  import :: c_ptr, c_char, c_int16_t\n  implicit none\n  type(c_ptr) :: g_network_address_new\n  character(kind=c_char), dimension(*) :: hostname\n  integer(c_int16_t), value :: port\nend function\n\n! GIO_AVAILABLE_IN_2_44\n!GSocketConnectable *g_network_address_new_loopback (guint16 port);\nfunction g_network_address_new_loopback(port) bind(c)\n  import :: c_ptr, c_int16_t\n  implicit none\n  type(c_ptr) :: g_network_address_new_loopback\n  integer(c_int16_t), value :: port\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketConnectable *g_network_address_parse (const gchar *host_and_port, guint16 default_port, GError **error);\nfunction g_network_address_parse(host_and_port, default_port, error) bind(c)\n  import :: c_ptr, c_char, c_int16_t\n  implicit none\n  type(c_ptr) :: g_network_address_parse\n  character(kind=c_char), dimension(*) :: host_and_port\n  integer(c_int16_t), value :: default_port\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketConnectable *g_network_address_parse_uri (const gchar *uri, guint16 default_port, GError **error);\nfunction g_network_address_parse_uri(uri, default_port, error) bind(c)\n  import :: c_ptr, c_char, c_int16_t\n  implicit none\n  type(c_ptr) :: g_network_address_parse_uri\n  character(kind=c_char), dimension(*) :: uri\n  integer(c_int16_t), value :: default_port\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar *g_network_address_get_hostname (GNetworkAddress *addr);\nfunction g_network_address_get_hostname(addr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_network_address_get_hostname\n  type(c_ptr), value :: addr\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!guint16 g_network_address_get_port (GNetworkAddress *addr);\nfunction g_network_address_get_port(addr) bind(c)\n  import :: c_int16_t, c_ptr\n  implicit none\n  integer(c_int16_t) :: g_network_address_get_port\n  type(c_ptr), value :: addr\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar *g_network_address_get_scheme (GNetworkAddress *addr);\nfunction g_network_address_get_scheme(addr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_network_address_get_scheme\n  type(c_ptr), value :: addr\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gnetworking.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_2_36\n!void g_networking_init (void);\nsubroutine g_networking_init() bind(c)\n  implicit none\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gnetworkmonitor.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_2_32\n!GType g_network_monitor_get_type (void) ;\nfunction g_network_monitor_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_network_monitor_get_type\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!GNetworkMonitor *g_network_monitor_get_default (void);\nfunction g_network_monitor_get_default() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_network_monitor_get_default\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!gboolean g_network_monitor_get_network_available (GNetworkMonitor *monitor);\nfunction g_network_monitor_get_network_available(monitor) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_network_monitor_get_network_available\n  type(c_ptr), value :: monitor\nend function\n\n! GIO_AVAILABLE_IN_2_46\n!gboolean g_network_monitor_get_network_metered (GNetworkMonitor *monitor);\nfunction g_network_monitor_get_network_metered(monitor) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_network_monitor_get_network_metered\n  type(c_ptr), value :: monitor\nend function\n\n! GIO_AVAILABLE_IN_2_44\n!GNetworkConnectivity g_network_monitor_get_connectivity (GNetworkMonitor *monitor);\nfunction g_network_monitor_get_connectivity(monitor) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_network_monitor_get_connectivity\n  type(c_ptr), value :: monitor\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!gboolean g_network_monitor_can_reach (GNetworkMonitor *monitor, GSocketConnectable *connectable, GCancellable *cancellable, GError **error);\nfunction g_network_monitor_can_reach(monitor, connectable, cancellable, error)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_network_monitor_can_reach\n  type(c_ptr), value :: monitor\n  type(c_ptr), value :: connectable\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!void g_network_monitor_can_reach_async (GNetworkMonitor *monitor, GSocketConnectable *connectable, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_network_monitor_can_reach_async(monitor, connectable, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: monitor\n  type(c_ptr), value :: connectable\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!gboolean g_network_monitor_can_reach_finish (GNetworkMonitor *monitor, GAsyncResult *result, GError **error);\nfunction g_network_monitor_can_reach_finish(monitor, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_network_monitor_can_reach_finish\n  type(c_ptr), value :: monitor\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gnetworkservice.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_network_service_get_type (void) ;\nfunction g_network_service_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_network_service_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketConnectable *g_network_service_new (const gchar *service, const gchar *protocol, const gchar *domain);\nfunction g_network_service_new(service, protocol, domain) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_network_service_new\n  character(kind=c_char), dimension(*) :: service\n  character(kind=c_char), dimension(*) :: protocol\n  character(kind=c_char), dimension(*) :: domain\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar *g_network_service_get_service (GNetworkService *srv);\nfunction g_network_service_get_service(srv) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_network_service_get_service\n  type(c_ptr), value :: srv\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar *g_network_service_get_protocol (GNetworkService *srv);\nfunction g_network_service_get_protocol(srv) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_network_service_get_protocol\n  type(c_ptr), value :: srv\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar *g_network_service_get_domain (GNetworkService *srv);\nfunction g_network_service_get_domain(srv) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_network_service_get_domain\n  type(c_ptr), value :: srv\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar *g_network_service_get_scheme (GNetworkService *srv);\nfunction g_network_service_get_scheme(srv) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_network_service_get_scheme\n  type(c_ptr), value :: srv\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_network_service_set_scheme (GNetworkService *srv, const gchar *scheme);\nsubroutine g_network_service_set_scheme(srv, scheme) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: srv\n  character(kind=c_char), dimension(*) :: scheme\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gnotification.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_2_40\n!GType g_notification_get_type (void) ;\nfunction g_notification_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_notification_get_type\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!GNotification * g_notification_new (const gchar *title);\nfunction g_notification_new(title) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_notification_new\n  character(kind=c_char), dimension(*) :: title\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!void g_notification_set_title (GNotification *notification, const gchar *title);\nsubroutine g_notification_set_title(notification, title) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: notification\n  character(kind=c_char), dimension(*) :: title\nend subroutine\n\n! GIO_AVAILABLE_IN_2_40\n!void g_notification_set_body (GNotification *notification, const gchar *body);\nsubroutine g_notification_set_body(notification, body) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: notification\n  character(kind=c_char), dimension(*) :: body\nend subroutine\n\n! GIO_AVAILABLE_IN_2_40\n!void g_notification_set_icon (GNotification *notification, GIcon *icon);\nsubroutine g_notification_set_icon(notification, icon) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: notification\n  type(c_ptr), value :: icon\nend subroutine\n\n! GIO_DEPRECATED_IN_2_42_FOR(g_notification_set_priority)\n!void g_notification_set_urgent (GNotification *notification, gboolean urgent);\nsubroutine g_notification_set_urgent(notification, urgent) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: notification\n  integer(c_int), value :: urgent\nend subroutine\n\n! GIO_AVAILABLE_IN_2_42\n!void g_notification_set_priority (GNotification *notification, GNotificationPriority priority);\nsubroutine g_notification_set_priority(notification, priority) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: notification\n  integer(c_int), value :: priority\nend subroutine\n\n! GIO_AVAILABLE_IN_2_70\n!void g_notification_set_category (GNotification *notification, const gchar *category);\nsubroutine g_notification_set_category(notification, category) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: notification\n  character(kind=c_char), dimension(*) :: category\nend subroutine\n\n! GIO_AVAILABLE_IN_2_40\n!void g_notification_add_button (GNotification *notification, const gchar *label, const gchar *detailed_action);\nsubroutine g_notification_add_button(notification, label, detailed_action)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: notification\n  character(kind=c_char), dimension(*) :: label\n  character(kind=c_char), dimension(*) :: detailed_action\nend subroutine\n\n! GIO_AVAILABLE_IN_2_40\n!void g_notification_add_button_with_target_value (GNotification *notification, const gchar *label, const gchar *action, GVariant *target);\nsubroutine g_notification_add_button_with_target_value(notification, label,&\n& action, target) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: notification\n  character(kind=c_char), dimension(*) :: label\n  character(kind=c_char), dimension(*) :: action\n  type(c_ptr), value :: target\nend subroutine\n\n! GIO_AVAILABLE_IN_2_40\n!void g_notification_set_default_action (GNotification *notification, const gchar *detailed_action);\nsubroutine g_notification_set_default_action(notification, detailed_action)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: notification\n  character(kind=c_char), dimension(*) :: detailed_action\nend subroutine\n\n! GIO_AVAILABLE_IN_2_40\n!void g_notification_set_default_action_and_target_value (GNotification *notification, const gchar *action, GVariant *target);\nsubroutine g_notification_set_default_action_and_target_value(notification,&\n& action, target) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: notification\n  character(kind=c_char), dimension(*) :: action\n  type(c_ptr), value :: target\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/goutputstream.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_output_stream_get_type (void) ;\nfunction g_output_stream_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_output_stream_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gssize g_output_stream_write (GOutputStream *stream, const void *buffer, gsize count, GCancellable *cancellable, GError **error);\nfunction g_output_stream_write(stream, buffer, count, cancellable, error)&\n& bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_output_stream_write\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: buffer\n  integer(c_size_t), value :: count\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_output_stream_write_all (GOutputStream *stream, const void *buffer, gsize count, gsize *bytes_written, GCancellable *cancellable, GError **error);\nfunction g_output_stream_write_all(stream, buffer, count, bytes_written,&\n& cancellable, error) bind(c)\n  import :: c_int, c_ptr, c_size_t\n  implicit none\n  integer(c_int) :: g_output_stream_write_all\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: buffer\n  integer(c_size_t), value :: count\n  type(c_ptr), value :: bytes_written\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_60\n!gboolean g_output_stream_writev (GOutputStream *stream, const GOutputVector *vectors, gsize n_vectors, gsize *bytes_written, GCancellable *cancellable, GError **error);\nfunction g_output_stream_writev(stream, vectors, n_vectors, bytes_written,&\n& cancellable, error) bind(c)\n  import :: c_int, c_ptr, c_size_t\n  implicit none\n  integer(c_int) :: g_output_stream_writev\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: vectors\n  integer(c_size_t), value :: n_vectors\n  type(c_ptr), value :: bytes_written\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_60\n!gboolean g_output_stream_writev_all (GOutputStream *stream, GOutputVector *vectors, gsize n_vectors, gsize *bytes_written, GCancellable *cancellable, GError **error);\nfunction g_output_stream_writev_all(stream, vectors, n_vectors, bytes_written,&\n& cancellable, error) bind(c)\n  import :: c_int, c_ptr, c_size_t\n  implicit none\n  integer(c_int) :: g_output_stream_writev_all\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: vectors\n  integer(c_size_t), value :: n_vectors\n  type(c_ptr), value :: bytes_written\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!gboolean g_output_stream_vprintf (GOutputStream *stream, gsize *bytes_written, GCancellable *cancellable, GError **error, const gchar *format, va_list args) ;\nfunction g_output_stream_vprintf(stream, bytes_written, cancellable, error,&\n& format, args) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_output_stream_vprintf\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: bytes_written\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\n  character(kind=c_char), dimension(*) :: format\n  type(c_ptr), value :: args\nend function\n\n! GIO_AVAILABLE_IN_2_34\n!gssize g_output_stream_write_bytes (GOutputStream *stream, GBytes *bytes, GCancellable *cancellable, GError **error);\nfunction g_output_stream_write_bytes(stream, bytes, cancellable, error) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_output_stream_write_bytes\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: bytes\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gssize g_output_stream_splice (GOutputStream *stream, GInputStream *source, GOutputStreamSpliceFlags flags, GCancellable *cancellable, GError **error);\nfunction g_output_stream_splice(stream, source, flags, cancellable, error)&\n& bind(c)\n  import :: c_size_t, c_ptr, c_int\n  implicit none\n  integer(c_size_t) :: g_output_stream_splice\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: source\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_output_stream_flush (GOutputStream *stream, GCancellable *cancellable, GError **error);\nfunction g_output_stream_flush(stream, cancellable, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_output_stream_flush\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_output_stream_close (GOutputStream *stream, GCancellable *cancellable, GError **error);\nfunction g_output_stream_close(stream, cancellable, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_output_stream_close\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_output_stream_write_async (GOutputStream *stream, const void *buffer, gsize count, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_output_stream_write_async(stream, buffer, count, io_priority,&\n& cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_size_t, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: buffer\n  integer(c_size_t), value :: count\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gssize g_output_stream_write_finish (GOutputStream *stream, GAsyncResult *result, GError **error);\nfunction g_output_stream_write_finish(stream, result, error) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_output_stream_write_finish\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_44\n!void g_output_stream_write_all_async (GOutputStream *stream, const void *buffer, gsize count, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_output_stream_write_all_async(stream, buffer, count, io_priority,&\n& cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_size_t, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: buffer\n  integer(c_size_t), value :: count\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_2_44\n!gboolean g_output_stream_write_all_finish (GOutputStream *stream, GAsyncResult *result, gsize *bytes_written, GError **error);\nfunction g_output_stream_write_all_finish(stream, result, bytes_written, error)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_output_stream_write_all_finish\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: result\n  type(c_ptr), value :: bytes_written\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_60\n!void g_output_stream_writev_async (GOutputStream *stream, const GOutputVector *vectors, gsize n_vectors, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_output_stream_writev_async(stream, vectors, n_vectors,&\n& io_priority, cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_size_t, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: vectors\n  integer(c_size_t), value :: n_vectors\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_2_60\n!gboolean g_output_stream_writev_finish (GOutputStream *stream, GAsyncResult *result, gsize *bytes_written, GError **error);\nfunction g_output_stream_writev_finish(stream, result, bytes_written, error)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_output_stream_writev_finish\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: result\n  type(c_ptr), value :: bytes_written\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_60\n!void g_output_stream_writev_all_async (GOutputStream *stream, GOutputVector *vectors, gsize n_vectors, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_output_stream_writev_all_async(stream, vectors, n_vectors,&\n& io_priority, cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_size_t, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: vectors\n  integer(c_size_t), value :: n_vectors\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_2_60\n!gboolean g_output_stream_writev_all_finish (GOutputStream *stream, GAsyncResult *result, gsize *bytes_written, GError **error);\nfunction g_output_stream_writev_all_finish(stream, result, bytes_written,&\n& error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_output_stream_writev_all_finish\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: result\n  type(c_ptr), value :: bytes_written\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_34\n!void g_output_stream_write_bytes_async (GOutputStream *stream, GBytes *bytes, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_output_stream_write_bytes_async(stream, bytes, io_priority,&\n& cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: bytes\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_2_34\n!gssize g_output_stream_write_bytes_finish (GOutputStream *stream, GAsyncResult *result, GError **error);\nfunction g_output_stream_write_bytes_finish(stream, result, error) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_output_stream_write_bytes_finish\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_output_stream_splice_async (GOutputStream *stream, GInputStream *source, GOutputStreamSpliceFlags flags, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_output_stream_splice_async(stream, source, flags, io_priority,&\n& cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: source\n  integer(c_int), value :: flags\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gssize g_output_stream_splice_finish (GOutputStream *stream, GAsyncResult *result, GError **error);\nfunction g_output_stream_splice_finish(stream, result, error) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_output_stream_splice_finish\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_output_stream_flush_async (GOutputStream *stream, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_output_stream_flush_async(stream, io_priority, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: stream\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_output_stream_flush_finish (GOutputStream *stream, GAsyncResult *result, GError **error);\nfunction g_output_stream_flush_finish(stream, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_output_stream_flush_finish\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_output_stream_close_async (GOutputStream *stream, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_output_stream_close_async(stream, io_priority, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: stream\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_output_stream_close_finish (GOutputStream *stream, GAsyncResult *result, GError **error);\nfunction g_output_stream_close_finish(stream, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_output_stream_close_finish\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_output_stream_is_closed (GOutputStream *stream);\nfunction g_output_stream_is_closed(stream) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_output_stream_is_closed\n  type(c_ptr), value :: stream\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_output_stream_is_closing (GOutputStream *stream);\nfunction g_output_stream_is_closing(stream) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_output_stream_is_closing\n  type(c_ptr), value :: stream\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_output_stream_has_pending (GOutputStream *stream);\nfunction g_output_stream_has_pending(stream) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_output_stream_has_pending\n  type(c_ptr), value :: stream\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_output_stream_set_pending (GOutputStream *stream, GError **error);\nfunction g_output_stream_set_pending(stream, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_output_stream_set_pending\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_output_stream_clear_pending (GOutputStream *stream);\nsubroutine g_output_stream_clear_pending(stream) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: stream\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gpermission.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_permission_get_type (void);\nfunction g_permission_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_permission_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_permission_acquire (GPermission *permission, GCancellable *cancellable, GError **error);\nfunction g_permission_acquire(permission, cancellable, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_permission_acquire\n  type(c_ptr), value :: permission\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_permission_acquire_async (GPermission *permission, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_permission_acquire_async(permission, cancellable, callback,&\n& user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: permission\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_permission_acquire_finish (GPermission *permission, GAsyncResult *result, GError **error);\nfunction g_permission_acquire_finish(permission, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_permission_acquire_finish\n  type(c_ptr), value :: permission\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_permission_release (GPermission *permission, GCancellable *cancellable, GError **error);\nfunction g_permission_release(permission, cancellable, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_permission_release\n  type(c_ptr), value :: permission\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_permission_release_async (GPermission *permission, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_permission_release_async(permission, cancellable, callback,&\n& user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: permission\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_permission_release_finish (GPermission *permission, GAsyncResult *result, GError **error);\nfunction g_permission_release_finish(permission, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_permission_release_finish\n  type(c_ptr), value :: permission\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_permission_get_allowed (GPermission *permission);\nfunction g_permission_get_allowed(permission) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_permission_get_allowed\n  type(c_ptr), value :: permission\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_permission_get_can_acquire (GPermission *permission);\nfunction g_permission_get_can_acquire(permission) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_permission_get_can_acquire\n  type(c_ptr), value :: permission\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_permission_get_can_release (GPermission *permission);\nfunction g_permission_get_can_release(permission) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_permission_get_can_release\n  type(c_ptr), value :: permission\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_permission_impl_update (GPermission *permission, gboolean allowed, gboolean can_acquire, gboolean can_release);\nsubroutine g_permission_impl_update(permission, allowed, can_acquire,&\n& can_release) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: permission\n  integer(c_int), value :: allowed\n  integer(c_int), value :: can_acquire\n  integer(c_int), value :: can_release\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gpollableinputstream.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_pollable_input_stream_get_type (void) ;\nfunction g_pollable_input_stream_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_pollable_input_stream_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_pollable_input_stream_can_poll (GPollableInputStream *stream);\nfunction g_pollable_input_stream_can_poll(stream) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_pollable_input_stream_can_poll\n  type(c_ptr), value :: stream\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_pollable_input_stream_is_readable (GPollableInputStream *stream);\nfunction g_pollable_input_stream_is_readable(stream) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_pollable_input_stream_is_readable\n  type(c_ptr), value :: stream\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSource *g_pollable_input_stream_create_source (GPollableInputStream *stream, GCancellable *cancellable);\nfunction g_pollable_input_stream_create_source(stream, cancellable) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_pollable_input_stream_create_source\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: cancellable\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gssize g_pollable_input_stream_read_nonblocking (GPollableInputStream *stream, void *buffer, gsize count, GCancellable *cancellable, GError **error);\nfunction g_pollable_input_stream_read_nonblocking(stream, buffer, count,&\n& cancellable, error) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_pollable_input_stream_read_nonblocking\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: buffer\n  integer(c_size_t), value :: count\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gpollableoutputstream.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_pollable_output_stream_get_type (void) ;\nfunction g_pollable_output_stream_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_pollable_output_stream_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_pollable_output_stream_can_poll (GPollableOutputStream *stream);\nfunction g_pollable_output_stream_can_poll(stream) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_pollable_output_stream_can_poll\n  type(c_ptr), value :: stream\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_pollable_output_stream_is_writable (GPollableOutputStream *stream);\nfunction g_pollable_output_stream_is_writable(stream) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_pollable_output_stream_is_writable\n  type(c_ptr), value :: stream\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSource *g_pollable_output_stream_create_source (GPollableOutputStream *stream, GCancellable *cancellable);\nfunction g_pollable_output_stream_create_source(stream, cancellable) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_pollable_output_stream_create_source\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: cancellable\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gssize g_pollable_output_stream_write_nonblocking (GPollableOutputStream *stream, const void *buffer, gsize count, GCancellable *cancellable, GError **error);\nfunction g_pollable_output_stream_write_nonblocking(stream, buffer, count,&\n& cancellable, error) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_pollable_output_stream_write_nonblocking\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: buffer\n  integer(c_size_t), value :: count\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_60\n!GPollableReturn g_pollable_output_stream_writev_nonblocking (GPollableOutputStream *stream, const GOutputVector *vectors, gsize n_vectors, gsize *bytes_written, GCancellable *cancellable, GError **error);\nfunction g_pollable_output_stream_writev_nonblocking(stream, vectors,&\n& n_vectors, bytes_written, cancellable, error) bind(c)\n  import :: c_int, c_ptr, c_size_t\n  implicit none\n  integer(c_int) :: g_pollable_output_stream_writev_nonblocking\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: vectors\n  integer(c_size_t), value :: n_vectors\n  type(c_ptr), value :: bytes_written\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gpollableutils.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GSource *g_pollable_source_new (GObject *pollable_stream);\nfunction g_pollable_source_new(pollable_stream) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_pollable_source_new\n  type(c_ptr), value :: pollable_stream\nend function\n\n! GIO_AVAILABLE_IN_2_34\n!GSource *g_pollable_source_new_full (gpointer pollable_stream, GSource *child_source, GCancellable *cancellable);\nfunction g_pollable_source_new_full(pollable_stream, child_source, cancellable)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_pollable_source_new_full\n  type(c_ptr), value :: pollable_stream\n  type(c_ptr), value :: child_source\n  type(c_ptr), value :: cancellable\nend function\n\n! GIO_AVAILABLE_IN_2_34\n!gssize g_pollable_stream_read (GInputStream *stream, void *buffer, gsize count, gboolean blocking, GCancellable *cancellable, GError **error);\nfunction g_pollable_stream_read(stream, buffer, count, blocking, cancellable,&\n& error) bind(c)\n  import :: c_size_t, c_ptr, c_int\n  implicit none\n  integer(c_size_t) :: g_pollable_stream_read\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: buffer\n  integer(c_size_t), value :: count\n  integer(c_int), value :: blocking\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_34\n!gssize g_pollable_stream_write (GOutputStream *stream, const void *buffer, gsize count, gboolean blocking, GCancellable *cancellable, GError **error);\nfunction g_pollable_stream_write(stream, buffer, count, blocking, cancellable,&\n& error) bind(c)\n  import :: c_size_t, c_ptr, c_int\n  implicit none\n  integer(c_size_t) :: g_pollable_stream_write\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: buffer\n  integer(c_size_t), value :: count\n  integer(c_int), value :: blocking\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_34\n!gboolean g_pollable_stream_write_all (GOutputStream *stream, const void *buffer, gsize count, gboolean blocking, gsize *bytes_written, GCancellable *cancellable, GError **error);\nfunction g_pollable_stream_write_all(stream, buffer, count, blocking,&\n& bytes_written, cancellable, error) bind(c)\n  import :: c_int, c_ptr, c_size_t\n  implicit none\n  integer(c_int) :: g_pollable_stream_write_all\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: buffer\n  integer(c_size_t), value :: count\n  integer(c_int), value :: blocking\n  type(c_ptr), value :: bytes_written\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gpowerprofilemonitor.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_2_70\n!GPowerProfileMonitor *g_power_profile_monitor_dup_default (void);\nfunction g_power_profile_monitor_dup_default() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_power_profile_monitor_dup_default\nend function\n\n! GIO_AVAILABLE_IN_2_70\n!gboolean g_power_profile_monitor_get_power_saver_enabled (GPowerProfileMonitor *monitor);\nfunction g_power_profile_monitor_get_power_saver_enabled(monitor) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_power_profile_monitor_get_power_saver_enabled\n  type(c_ptr), value :: monitor\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gpropertyaction.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_2_38\n!GType g_property_action_get_type (void) ;\nfunction g_property_action_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_property_action_get_type\nend function\n\n! GIO_AVAILABLE_IN_2_38\n!GPropertyAction * g_property_action_new (const gchar *name, gpointer object, const gchar *property_name);\nfunction g_property_action_new(name, object, property_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_property_action_new\n  character(kind=c_char), dimension(*) :: name\n  type(c_ptr), value :: object\n  character(kind=c_char), dimension(*) :: property_name\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gproxy.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_proxy_get_type (void) ;\nfunction g_proxy_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_proxy_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GProxy *g_proxy_get_default_for_protocol (const gchar *protocol);\nfunction g_proxy_get_default_for_protocol(protocol) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_proxy_get_default_for_protocol\n  character(kind=c_char), dimension(*) :: protocol\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GIOStream *g_proxy_connect (GProxy *proxy, GIOStream *connection, GProxyAddress *proxy_address, GCancellable *cancellable, GError **error);\nfunction g_proxy_connect(proxy, connection, proxy_address, cancellable, error)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_proxy_connect\n  type(c_ptr), value :: proxy\n  type(c_ptr), value :: connection\n  type(c_ptr), value :: proxy_address\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_proxy_connect_async (GProxy *proxy, GIOStream *connection, GProxyAddress *proxy_address, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_proxy_connect_async(proxy, connection, proxy_address, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: proxy\n  type(c_ptr), value :: connection\n  type(c_ptr), value :: proxy_address\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GIOStream *g_proxy_connect_finish (GProxy *proxy, GAsyncResult *result, GError **error);\nfunction g_proxy_connect_finish(proxy, result, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_proxy_connect_finish\n  type(c_ptr), value :: proxy\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_proxy_supports_hostname (GProxy *proxy);\nfunction g_proxy_supports_hostname(proxy) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_proxy_supports_hostname\n  type(c_ptr), value :: proxy\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gproxyaddress.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_proxy_address_get_type (void) ;\nfunction g_proxy_address_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_proxy_address_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketAddress *g_proxy_address_new (GInetAddress *inetaddr, guint16 port, const gchar *protocol, const gchar *dest_hostname, guint16 dest_port, const gchar *username, const gchar *password);\nfunction g_proxy_address_new(inetaddr, port, protocol, dest_hostname,&\n& dest_port, username, password) bind(c)\n  import :: c_ptr, c_int16_t, c_char\n  implicit none\n  type(c_ptr) :: g_proxy_address_new\n  type(c_ptr), value :: inetaddr\n  integer(c_int16_t), value :: port\n  character(kind=c_char), dimension(*) :: protocol\n  character(kind=c_char), dimension(*) :: dest_hostname\n  integer(c_int16_t), value :: dest_port\n  character(kind=c_char), dimension(*) :: username\n  character(kind=c_char), dimension(*) :: password\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar *g_proxy_address_get_protocol (GProxyAddress *proxy);\nfunction g_proxy_address_get_protocol(proxy) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_proxy_address_get_protocol\n  type(c_ptr), value :: proxy\nend function\n\n! GIO_AVAILABLE_IN_2_34\n!const gchar *g_proxy_address_get_destination_protocol (GProxyAddress *proxy);\nfunction g_proxy_address_get_destination_protocol(proxy) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_proxy_address_get_destination_protocol\n  type(c_ptr), value :: proxy\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar *g_proxy_address_get_destination_hostname (GProxyAddress *proxy);\nfunction g_proxy_address_get_destination_hostname(proxy) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_proxy_address_get_destination_hostname\n  type(c_ptr), value :: proxy\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!guint16 g_proxy_address_get_destination_port (GProxyAddress *proxy);\nfunction g_proxy_address_get_destination_port(proxy) bind(c)\n  import :: c_int16_t, c_ptr\n  implicit none\n  integer(c_int16_t) :: g_proxy_address_get_destination_port\n  type(c_ptr), value :: proxy\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar *g_proxy_address_get_username (GProxyAddress *proxy);\nfunction g_proxy_address_get_username(proxy) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_proxy_address_get_username\n  type(c_ptr), value :: proxy\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar *g_proxy_address_get_password (GProxyAddress *proxy);\nfunction g_proxy_address_get_password(proxy) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_proxy_address_get_password\n  type(c_ptr), value :: proxy\nend function\n\n! GIO_AVAILABLE_IN_2_34\n!const gchar *g_proxy_address_get_uri (GProxyAddress *proxy);\nfunction g_proxy_address_get_uri(proxy) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_proxy_address_get_uri\n  type(c_ptr), value :: proxy\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gproxyaddressenumerator.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_proxy_address_enumerator_get_type (void) ;\nfunction g_proxy_address_enumerator_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_proxy_address_enumerator_get_type\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gproxyresolver.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_proxy_resolver_get_type (void) ;\nfunction g_proxy_resolver_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_proxy_resolver_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GProxyResolver *g_proxy_resolver_get_default (void);\nfunction g_proxy_resolver_get_default() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_proxy_resolver_get_default\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_proxy_resolver_is_supported (GProxyResolver *resolver);\nfunction g_proxy_resolver_is_supported(resolver) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_proxy_resolver_is_supported\n  type(c_ptr), value :: resolver\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gchar **g_proxy_resolver_lookup (GProxyResolver *resolver, const gchar *uri, GCancellable *cancellable, GError **error);\nfunction g_proxy_resolver_lookup(resolver, uri, cancellable, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_proxy_resolver_lookup\n  type(c_ptr), value :: resolver\n  character(kind=c_char), dimension(*) :: uri\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_proxy_resolver_lookup_async (GProxyResolver *resolver, const gchar *uri, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_proxy_resolver_lookup_async(resolver, uri, cancellable, callback,&\n& user_data) bind(c)\n  import :: c_ptr, c_char, c_funptr\n  implicit none\n  type(c_ptr), value :: resolver\n  character(kind=c_char), dimension(*) :: uri\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gchar **g_proxy_resolver_lookup_finish (GProxyResolver *resolver, GAsyncResult *result, GError **error);\nfunction g_proxy_resolver_lookup_finish(resolver, result, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_proxy_resolver_lookup_finish\n  type(c_ptr), value :: resolver\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gremoteactiongroup.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_2_32\n!GType g_remote_action_group_get_type (void) ;\nfunction g_remote_action_group_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_remote_action_group_get_type\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!void g_remote_action_group_activate_action_full (GRemoteActionGroup *remote, const gchar *action_name, GVariant *parameter, GVariant *platform_data);\nsubroutine g_remote_action_group_activate_action_full(remote, action_name,&\n& parameter, platform_data) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: remote\n  character(kind=c_char), dimension(*) :: action_name\n  type(c_ptr), value :: parameter\n  type(c_ptr), value :: platform_data\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!void g_remote_action_group_change_action_state_full (GRemoteActionGroup *remote, const gchar *action_name, GVariant *value, GVariant *platform_data);\nsubroutine g_remote_action_group_change_action_state_full(remote, action_name,&\n& value, platform_data) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: remote\n  character(kind=c_char), dimension(*) :: action_name\n  type(c_ptr), value :: value\n  type(c_ptr), value :: platform_data\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gresolver.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_resolver_get_type (void) ;\nfunction g_resolver_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_resolver_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GResolver *g_resolver_get_default (void);\nfunction g_resolver_get_default() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_resolver_get_default\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_resolver_set_default (GResolver *resolver);\nsubroutine g_resolver_set_default(resolver) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: resolver\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GList *g_resolver_lookup_by_name (GResolver *resolver, const gchar *hostname, GCancellable *cancellable, GError **error);\nfunction g_resolver_lookup_by_name(resolver, hostname, cancellable, error)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_resolver_lookup_by_name\n  type(c_ptr), value :: resolver\n  character(kind=c_char), dimension(*) :: hostname\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_resolver_lookup_by_name_async (GResolver *resolver, const gchar *hostname, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_resolver_lookup_by_name_async(resolver, hostname, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_char, c_funptr\n  implicit none\n  type(c_ptr), value :: resolver\n  character(kind=c_char), dimension(*) :: hostname\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GList *g_resolver_lookup_by_name_finish (GResolver *resolver, GAsyncResult *result, GError **error);\nfunction g_resolver_lookup_by_name_finish(resolver, result, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_resolver_lookup_by_name_finish\n  type(c_ptr), value :: resolver\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_60\n!void g_resolver_lookup_by_name_with_flags_async (GResolver *resolver, const gchar *hostname, GResolverNameLookupFlags flags, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_resolver_lookup_by_name_with_flags_async(resolver, hostname,&\n& flags, cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_char, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: resolver\n  character(kind=c_char), dimension(*) :: hostname\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_2_60\n!GList *g_resolver_lookup_by_name_with_flags_finish (GResolver *resolver, GAsyncResult *result, GError **error);\nfunction g_resolver_lookup_by_name_with_flags_finish(resolver, result, error)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_resolver_lookup_by_name_with_flags_finish\n  type(c_ptr), value :: resolver\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_60\n!GList *g_resolver_lookup_by_name_with_flags (GResolver *resolver, const gchar *hostname, GResolverNameLookupFlags flags, GCancellable *cancellable, GError **error);\nfunction g_resolver_lookup_by_name_with_flags(resolver, hostname, flags,&\n& cancellable, error) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_resolver_lookup_by_name_with_flags\n  type(c_ptr), value :: resolver\n  character(kind=c_char), dimension(*) :: hostname\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_resolver_free_addresses (GList *addresses);\nsubroutine g_resolver_free_addresses(addresses) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: addresses\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gchar *g_resolver_lookup_by_address (GResolver *resolver, GInetAddress *address, GCancellable *cancellable, GError **error);\nfunction g_resolver_lookup_by_address(resolver, address, cancellable, error)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_resolver_lookup_by_address\n  type(c_ptr), value :: resolver\n  type(c_ptr), value :: address\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_resolver_lookup_by_address_async (GResolver *resolver, GInetAddress *address, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_resolver_lookup_by_address_async(resolver, address, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: resolver\n  type(c_ptr), value :: address\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gchar *g_resolver_lookup_by_address_finish (GResolver *resolver, GAsyncResult *result, GError **error);\nfunction g_resolver_lookup_by_address_finish(resolver, result, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_resolver_lookup_by_address_finish\n  type(c_ptr), value :: resolver\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GList *g_resolver_lookup_service (GResolver *resolver, const gchar *service, const gchar *protocol, const gchar *domain, GCancellable *cancellable, GError **error);\nfunction g_resolver_lookup_service(resolver, service, protocol, domain,&\n& cancellable, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_resolver_lookup_service\n  type(c_ptr), value :: resolver\n  character(kind=c_char), dimension(*) :: service\n  character(kind=c_char), dimension(*) :: protocol\n  character(kind=c_char), dimension(*) :: domain\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_resolver_lookup_service_async (GResolver *resolver, const gchar *service, const gchar *protocol, const gchar *domain, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_resolver_lookup_service_async(resolver, service, protocol, domain,&\n& cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_char, c_funptr\n  implicit none\n  type(c_ptr), value :: resolver\n  character(kind=c_char), dimension(*) :: service\n  character(kind=c_char), dimension(*) :: protocol\n  character(kind=c_char), dimension(*) :: domain\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GList *g_resolver_lookup_service_finish (GResolver *resolver, GAsyncResult *result, GError **error);\nfunction g_resolver_lookup_service_finish(resolver, result, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_resolver_lookup_service_finish\n  type(c_ptr), value :: resolver\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_34\n!GList *g_resolver_lookup_records (GResolver *resolver, const gchar *rrname, GResolverRecordType record_type, GCancellable *cancellable, GError **error);\nfunction g_resolver_lookup_records(resolver, rrname, record_type, cancellable,&\n& error) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_resolver_lookup_records\n  type(c_ptr), value :: resolver\n  character(kind=c_char), dimension(*) :: rrname\n  integer(c_int), value :: record_type\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_34\n!void g_resolver_lookup_records_async (GResolver *resolver, const gchar *rrname, GResolverRecordType record_type, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_resolver_lookup_records_async(resolver, rrname, record_type,&\n& cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_char, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: resolver\n  character(kind=c_char), dimension(*) :: rrname\n  integer(c_int), value :: record_type\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_2_34\n!GList *g_resolver_lookup_records_finish (GResolver *resolver, GAsyncResult *result, GError **error);\nfunction g_resolver_lookup_records_finish(resolver, result, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_resolver_lookup_records_finish\n  type(c_ptr), value :: resolver\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_resolver_free_targets (GList *targets);\nsubroutine g_resolver_free_targets(targets) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: targets\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GQuark g_resolver_error_quark (void);\nfunction g_resolver_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: g_resolver_error_quark\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gresource.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_2_32\n!GQuark g_resource_error_quark (void);\nfunction g_resource_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: g_resource_error_quark\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!GType g_resource_get_type (void) ;\nfunction g_resource_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_resource_get_type\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!GResource * g_resource_new_from_data (GBytes *data, GError **error);\nfunction g_resource_new_from_data(data, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_resource_new_from_data\n  type(c_ptr), value :: data\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!GResource * g_resource_ref (GResource *resource);\nfunction g_resource_ref(resource) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_resource_ref\n  type(c_ptr), value :: resource\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!void g_resource_unref (GResource *resource);\nsubroutine g_resource_unref(resource) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: resource\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!GResource * g_resource_load (const gchar *filename, GError **error);\nfunction g_resource_load(filename, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_resource_load\n  character(kind=c_char), dimension(*) :: filename\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!GInputStream *g_resource_open_stream (GResource *resource, const char *path, GResourceLookupFlags lookup_flags, GError **error);\nfunction g_resource_open_stream(resource, path, lookup_flags, error) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_resource_open_stream\n  type(c_ptr), value :: resource\n  character(kind=c_char), dimension(*) :: path\n  integer(c_int), value :: lookup_flags\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!GBytes * g_resource_lookup_data (GResource *resource, const char *path, GResourceLookupFlags lookup_flags, GError **error);\nfunction g_resource_lookup_data(resource, path, lookup_flags, error) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_resource_lookup_data\n  type(c_ptr), value :: resource\n  character(kind=c_char), dimension(*) :: path\n  integer(c_int), value :: lookup_flags\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!char ** g_resource_enumerate_children (GResource *resource, const char *path, GResourceLookupFlags lookup_flags, GError **error);\nfunction g_resource_enumerate_children(resource, path, lookup_flags, error)&\n& bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_resource_enumerate_children\n  type(c_ptr), value :: resource\n  character(kind=c_char), dimension(*) :: path\n  integer(c_int), value :: lookup_flags\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!gboolean g_resource_get_info (GResource *resource, const char *path, GResourceLookupFlags lookup_flags, gsize *size, guint32 *flags, GError **error);\nfunction g_resource_get_info(resource, path, lookup_flags, size, flags, error)&\n& bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_resource_get_info\n  type(c_ptr), value :: resource\n  character(kind=c_char), dimension(*) :: path\n  integer(c_int), value :: lookup_flags\n  type(c_ptr), value :: size\n  type(c_ptr), value :: flags\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!void g_resources_register (GResource *resource);\nsubroutine g_resources_register(resource) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: resource\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!void g_resources_unregister (GResource *resource);\nsubroutine g_resources_unregister(resource) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: resource\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!GInputStream *g_resources_open_stream (const char *path, GResourceLookupFlags lookup_flags, GError **error);\nfunction g_resources_open_stream(path, lookup_flags, error) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_resources_open_stream\n  character(kind=c_char), dimension(*) :: path\n  integer(c_int), value :: lookup_flags\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!GBytes * g_resources_lookup_data (const char *path, GResourceLookupFlags lookup_flags, GError **error);\nfunction g_resources_lookup_data(path, lookup_flags, error) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_resources_lookup_data\n  character(kind=c_char), dimension(*) :: path\n  integer(c_int), value :: lookup_flags\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!char ** g_resources_enumerate_children (const char *path, GResourceLookupFlags lookup_flags, GError **error);\nfunction g_resources_enumerate_children(path, lookup_flags, error) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_resources_enumerate_children\n  character(kind=c_char), dimension(*) :: path\n  integer(c_int), value :: lookup_flags\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!gboolean g_resources_get_info (const char *path, GResourceLookupFlags lookup_flags, gsize *size, guint32 *flags, GError **error);\nfunction g_resources_get_info(path, lookup_flags, size, flags, error) bind(c)\n  import :: c_int, c_char, c_ptr\n  implicit none\n  integer(c_int) :: g_resources_get_info\n  character(kind=c_char), dimension(*) :: path\n  integer(c_int), value :: lookup_flags\n  type(c_ptr), value :: size\n  type(c_ptr), value :: flags\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_84\n!gboolean g_resource_has_children (GResource *resource, const char *path);\nfunction g_resource_has_children(resource, path) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_resource_has_children\n  type(c_ptr), value :: resource\n  character(kind=c_char), dimension(*) :: path\nend function\n\n! GIO_AVAILABLE_IN_2_84\n!gboolean g_resources_has_children (const char *path);\nfunction g_resources_has_children(path) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_resources_has_children\n  character(kind=c_char), dimension(*) :: path\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!void g_static_resource_init (GStaticResource *static_resource);\nsubroutine g_static_resource_init(static_resource) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: static_resource\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!void g_static_resource_fini (GStaticResource *static_resource);\nsubroutine g_static_resource_fini(static_resource) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: static_resource\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!GResource *g_static_resource_get_resource (GStaticResource *static_resource);\nfunction g_static_resource_get_resource(static_resource) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_static_resource_get_resource\n  type(c_ptr), value :: static_resource\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gseekable.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_seekable_get_type (void) ;\nfunction g_seekable_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_seekable_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!goffset g_seekable_tell (GSeekable *seekable);\nfunction g_seekable_tell(seekable) bind(c)\n  import :: c_int64_t, c_ptr\n  implicit none\n  integer(c_int64_t) :: g_seekable_tell\n  type(c_ptr), value :: seekable\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_seekable_can_seek (GSeekable *seekable);\nfunction g_seekable_can_seek(seekable) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_seekable_can_seek\n  type(c_ptr), value :: seekable\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_seekable_seek (GSeekable *seekable, goffset offset, GSeekType type, GCancellable *cancellable, GError **error);\nfunction g_seekable_seek(seekable, offset, type, cancellable, error) bind(c)\n  import :: c_int, c_ptr, c_int64_t\n  implicit none\n  integer(c_int) :: g_seekable_seek\n  type(c_ptr), value :: seekable\n  integer(c_int64_t), value :: offset\n  integer(c_int), value :: type\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_seekable_can_truncate (GSeekable *seekable);\nfunction g_seekable_can_truncate(seekable) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_seekable_can_truncate\n  type(c_ptr), value :: seekable\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_seekable_truncate (GSeekable *seekable, goffset offset, GCancellable *cancellable, GError **error);\nfunction g_seekable_truncate(seekable, offset, cancellable, error) bind(c)\n  import :: c_int, c_ptr, c_int64_t\n  implicit none\n  integer(c_int) :: g_seekable_truncate\n  type(c_ptr), value :: seekable\n  integer(c_int64_t), value :: offset\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gsettings.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_settings_get_type (void);\nfunction g_settings_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_settings_get_type\nend function\n\n! GIO_DEPRECATED_IN_2_40_FOR(g_settings_schema_source_list_schemas)\n!const gchar * const * g_settings_list_schemas (void);\nfunction g_settings_list_schemas() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_settings_list_schemas\nend function\n\n! GIO_DEPRECATED_IN_2_40_FOR(g_settings_schema_source_list_schemas)\n!const gchar * const * g_settings_list_relocatable_schemas (void);\nfunction g_settings_list_relocatable_schemas() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_settings_list_relocatable_schemas\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSettings * g_settings_new (const gchar *schema_id);\nfunction g_settings_new(schema_id) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_settings_new\n  character(kind=c_char), dimension(*) :: schema_id\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSettings * g_settings_new_with_path (const gchar *schema_id, const gchar *path);\nfunction g_settings_new_with_path(schema_id, path) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_settings_new_with_path\n  character(kind=c_char), dimension(*) :: schema_id\n  character(kind=c_char), dimension(*) :: path\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSettings * g_settings_new_with_backend (const gchar *schema_id, GSettingsBackend *backend);\nfunction g_settings_new_with_backend(schema_id, backend) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_settings_new_with_backend\n  character(kind=c_char), dimension(*) :: schema_id\n  type(c_ptr), value :: backend\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSettings * g_settings_new_with_backend_and_path (const gchar *schema_id, GSettingsBackend *backend, const gchar *path);\nfunction g_settings_new_with_backend_and_path(schema_id, backend, path) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_settings_new_with_backend_and_path\n  character(kind=c_char), dimension(*) :: schema_id\n  type(c_ptr), value :: backend\n  character(kind=c_char), dimension(*) :: path\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!GSettings * g_settings_new_full (GSettingsSchema *schema, GSettingsBackend *backend, const gchar *path);\nfunction g_settings_new_full(schema, backend, path) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_settings_new_full\n  type(c_ptr), value :: schema\n  type(c_ptr), value :: backend\n  character(kind=c_char), dimension(*) :: path\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gchar ** g_settings_list_children (GSettings *settings);\nfunction g_settings_list_children(settings) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_settings_list_children\n  type(c_ptr), value :: settings\nend function\n\n! GIO_DEPRECATED_IN_2_46_FOR(g_settings_schema_list_keys)\n!gchar ** g_settings_list_keys (GSettings *settings);\nfunction g_settings_list_keys(settings) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_settings_list_keys\n  type(c_ptr), value :: settings\nend function\n\n! GIO_DEPRECATED_IN_2_40_FOR(g_settings_schema_key_get_range)\n!GVariant * g_settings_get_range (GSettings *settings, const gchar *key);\nfunction g_settings_get_range(settings, key) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_settings_get_range\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\nend function\n\n! GIO_DEPRECATED_IN_2_40_FOR(g_settings_schema_key_range_check)\n!gboolean g_settings_range_check (GSettings *settings, const gchar *key, GVariant *value);\nfunction g_settings_range_check(settings, key, value) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_settings_range_check\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\n  type(c_ptr), value :: value\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_settings_set_value (GSettings *settings, const gchar *key, GVariant *value);\nfunction g_settings_set_value(settings, key, value) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_settings_set_value\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\n  type(c_ptr), value :: value\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GVariant * g_settings_get_value (GSettings *settings, const gchar *key);\nfunction g_settings_get_value(settings, key) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_settings_get_value\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!GVariant * g_settings_get_user_value (GSettings *settings, const gchar *key);\nfunction g_settings_get_user_value(settings, key) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_settings_get_user_value\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!GVariant * g_settings_get_default_value (GSettings *settings, const gchar *key);\nfunction g_settings_get_default_value(settings, key) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_settings_get_default_value\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_settings_reset (GSettings *settings, const gchar *key);\nsubroutine g_settings_reset(settings, key) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gint g_settings_get_int (GSettings *settings, const gchar *key);\nfunction g_settings_get_int(settings, key) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_settings_get_int\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_settings_set_int (GSettings *settings, const gchar *key, gint value);\nfunction g_settings_set_int(settings, key, value) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_settings_set_int\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\n  integer(c_int), value :: value\nend function\n\n! GIO_AVAILABLE_IN_2_50\n!gint64 g_settings_get_int64 (GSettings *settings, const gchar *key);\nfunction g_settings_get_int64(settings, key) bind(c)\n  import :: c_int64_t, c_ptr, c_char\n  implicit none\n  integer(c_int64_t) :: g_settings_get_int64\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\nend function\n\n! GIO_AVAILABLE_IN_2_50\n!gboolean g_settings_set_int64 (GSettings *settings, const gchar *key, gint64 value);\nfunction g_settings_set_int64(settings, key, value) bind(c)\n  import :: c_int, c_ptr, c_char, c_int64_t\n  implicit none\n  integer(c_int) :: g_settings_set_int64\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\n  integer(c_int64_t), value :: value\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!guint g_settings_get_uint (GSettings *settings, const gchar *key);\nfunction g_settings_get_uint(settings, key) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_settings_get_uint\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!gboolean g_settings_set_uint (GSettings *settings, const gchar *key, guint value);\nfunction g_settings_set_uint(settings, key, value) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_settings_set_uint\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\n  integer(c_int), value :: value\nend function\n\n! GIO_AVAILABLE_IN_2_50\n!guint64 g_settings_get_uint64 (GSettings *settings, const gchar *key);\nfunction g_settings_get_uint64(settings, key) bind(c)\n  import :: c_int64_t, c_ptr, c_char\n  implicit none\n  integer(c_int64_t) :: g_settings_get_uint64\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\nend function\n\n! GIO_AVAILABLE_IN_2_50\n!gboolean g_settings_set_uint64 (GSettings *settings, const gchar *key, guint64 value);\nfunction g_settings_set_uint64(settings, key, value) bind(c)\n  import :: c_int, c_ptr, c_char, c_int64_t\n  implicit none\n  integer(c_int) :: g_settings_set_uint64\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\n  integer(c_int64_t), value :: value\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gchar * g_settings_get_string (GSettings *settings, const gchar *key);\nfunction g_settings_get_string(settings, key) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_settings_get_string\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_settings_set_string (GSettings *settings, const gchar *key, const gchar *value);\nfunction g_settings_set_string(settings, key, value) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_settings_set_string\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\n  character(kind=c_char), dimension(*) :: value\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_settings_get_boolean (GSettings *settings, const gchar *key);\nfunction g_settings_get_boolean(settings, key) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_settings_get_boolean\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_settings_set_boolean (GSettings *settings, const gchar *key, gboolean value);\nfunction g_settings_set_boolean(settings, key, value) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_settings_set_boolean\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\n  integer(c_int), value :: value\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gdouble g_settings_get_double (GSettings *settings, const gchar *key);\nfunction g_settings_get_double(settings, key) bind(c)\n  import :: c_double, c_ptr, c_char\n  implicit none\n  real(c_double) :: g_settings_get_double\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_settings_set_double (GSettings *settings, const gchar *key, gdouble value);\nfunction g_settings_set_double(settings, key, value) bind(c)\n  import :: c_int, c_ptr, c_char, c_double\n  implicit none\n  integer(c_int) :: g_settings_set_double\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\n  real(c_double), value :: value\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gchar ** g_settings_get_strv (GSettings *settings, const gchar *key);\nfunction g_settings_get_strv(settings, key) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_settings_get_strv\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_settings_set_strv (GSettings *settings, const gchar *key, const gchar *const *value);\nfunction g_settings_set_strv(settings, key, value) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_settings_set_strv\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\n  type(c_ptr), dimension(*) :: value\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gint g_settings_get_enum (GSettings *settings, const gchar *key);\nfunction g_settings_get_enum(settings, key) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_settings_get_enum\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_settings_set_enum (GSettings *settings, const gchar *key, gint value);\nfunction g_settings_set_enum(settings, key, value) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_settings_set_enum\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\n  integer(c_int), value :: value\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!guint g_settings_get_flags (GSettings *settings, const gchar *key);\nfunction g_settings_get_flags(settings, key) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_settings_get_flags\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_settings_set_flags (GSettings *settings, const gchar *key, guint value);\nfunction g_settings_set_flags(settings, key, value) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_settings_set_flags\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\n  integer(c_int), value :: value\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSettings * g_settings_get_child (GSettings *settings, const gchar *name);\nfunction g_settings_get_child(settings, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_settings_get_child\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_settings_is_writable (GSettings *settings, const gchar *name);\nfunction g_settings_is_writable(settings, name) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_settings_is_writable\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_settings_delay (GSettings *settings);\nsubroutine g_settings_delay(settings) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: settings\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_settings_apply (GSettings *settings);\nsubroutine g_settings_apply(settings) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: settings\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_settings_revert (GSettings *settings);\nsubroutine g_settings_revert(settings) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: settings\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_settings_get_has_unapplied (GSettings *settings);\nfunction g_settings_get_has_unapplied(settings) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_settings_get_has_unapplied\n  type(c_ptr), value :: settings\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_settings_sync (void);\nsubroutine g_settings_sync() bind(c)\n  implicit none\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_settings_bind (GSettings *settings, const gchar *key, gpointer object, const gchar *property, GSettingsBindFlags flags);\nsubroutine g_settings_bind(settings, key, object, property, flags) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\n  type(c_ptr), value :: object\n  character(kind=c_char), dimension(*) :: property\n  integer(c_int), value :: flags\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_settings_bind_with_mapping (GSettings *settings, const gchar *key, gpointer object, const gchar *property, GSettingsBindFlags flags, GSettingsBindGetMapping get_mapping, GSettingsBindSetMapping set_mapping, gpointer user_data, GDestroyNotify destroy);\nsubroutine g_settings_bind_with_mapping(settings, key, object, property, flags,&\n& get_mapping, set_mapping, user_data, destroy) bind(c)\n  import :: c_ptr, c_char, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\n  type(c_ptr), value :: object\n  character(kind=c_char), dimension(*) :: property\n  integer(c_int), value :: flags\n  type(c_funptr), value :: get_mapping\n  type(c_funptr), value :: set_mapping\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: destroy\nend subroutine\n\n! GIO_AVAILABLE_IN_2_82\n!void g_settings_bind_with_mapping_closures (GSettings *settings, const char *key, GObject *object, const char *property, GSettingsBindFlags flags, GClosure *get_mapping, GClosure *set_mapping);\nsubroutine g_settings_bind_with_mapping_closures(settings, key, object,&\n& property, flags, get_mapping, set_mapping) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\n  type(c_ptr), value :: object\n  character(kind=c_char), dimension(*) :: property\n  integer(c_int), value :: flags\n  type(c_ptr), value :: get_mapping\n  type(c_ptr), value :: set_mapping\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_settings_bind_writable (GSettings *settings, const gchar *key, gpointer object, const gchar *property, gboolean inverted);\nsubroutine g_settings_bind_writable(settings, key, object, property, inverted)&\n& bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\n  type(c_ptr), value :: object\n  character(kind=c_char), dimension(*) :: property\n  integer(c_int), value :: inverted\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_settings_unbind (gpointer object, const gchar *property);\nsubroutine g_settings_unbind(object, property) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: object\n  character(kind=c_char), dimension(*) :: property\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!GAction * g_settings_create_action (GSettings *settings, const gchar *key);\nfunction g_settings_create_action(settings, key) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_settings_create_action\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gpointer g_settings_get_mapped (GSettings *settings, const gchar *key, GSettingsGetMapping mapping, gpointer user_data);\nfunction g_settings_get_mapped(settings, key, mapping, user_data) bind(c)\n  import :: c_ptr, c_char, c_funptr\n  implicit none\n  type(c_ptr) :: g_settings_get_mapped\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\n  type(c_funptr), value :: mapping\n  type(c_ptr), value :: user_data\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gsettingsbackend.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_settings_backend_get_type (void);\nfunction g_settings_backend_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_settings_backend_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_settings_backend_changed (GSettingsBackend *backend, const gchar *key, gpointer origin_tag);\nsubroutine g_settings_backend_changed(backend, key, origin_tag) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: backend\n  character(kind=c_char), dimension(*) :: key\n  type(c_ptr), value :: origin_tag\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_settings_backend_path_changed (GSettingsBackend *backend, const gchar *path, gpointer origin_tag);\nsubroutine g_settings_backend_path_changed(backend, path, origin_tag) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: backend\n  character(kind=c_char), dimension(*) :: path\n  type(c_ptr), value :: origin_tag\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_settings_backend_flatten_tree (GTree *tree, gchar **path, const gchar ***keys, GVariant ***values);\nsubroutine g_settings_backend_flatten_tree(tree, path, keys, values) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree\n  type(c_ptr), dimension(*) :: path\n  type(c_ptr), dimension(*) :: keys\n  type(c_ptr), dimension(*) :: values\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_settings_backend_keys_changed (GSettingsBackend *backend, const gchar *path, gchar const * const *items, gpointer origin_tag);\nsubroutine g_settings_backend_keys_changed(backend, path, items, origin_tag)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: backend\n  character(kind=c_char), dimension(*) :: path\n  type(c_ptr), dimension(*) :: items\n  type(c_ptr), value :: origin_tag\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_settings_backend_path_writable_changed (GSettingsBackend *backend, const gchar *path);\nsubroutine g_settings_backend_path_writable_changed(backend, path) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: backend\n  character(kind=c_char), dimension(*) :: path\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_settings_backend_writable_changed (GSettingsBackend *backend, const gchar *key);\nsubroutine g_settings_backend_writable_changed(backend, key) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: backend\n  character(kind=c_char), dimension(*) :: key\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_settings_backend_changed_tree (GSettingsBackend *backend, GTree *tree, gpointer origin_tag);\nsubroutine g_settings_backend_changed_tree(backend, tree, origin_tag) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: backend\n  type(c_ptr), value :: tree\n  type(c_ptr), value :: origin_tag\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GSettingsBackend * g_settings_backend_get_default (void);\nfunction g_settings_backend_get_default() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_settings_backend_get_default\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSettingsBackend * g_keyfile_settings_backend_new (const gchar *filename, const gchar *root_path, const gchar *root_group);\nfunction g_keyfile_settings_backend_new(filename, root_path, root_group)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_keyfile_settings_backend_new\n  character(kind=c_char), dimension(*) :: filename\n  character(kind=c_char), dimension(*) :: root_path\n  character(kind=c_char), dimension(*) :: root_group\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSettingsBackend * g_null_settings_backend_new (void);\nfunction g_null_settings_backend_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_null_settings_backend_new\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSettingsBackend * g_memory_settings_backend_new (void);\nfunction g_memory_settings_backend_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_memory_settings_backend_new\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gsettingsschema.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_2_32\n!GType g_settings_schema_source_get_type (void) ;\nfunction g_settings_schema_source_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_settings_schema_source_get_type\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!GSettingsSchemaSource * g_settings_schema_source_get_default (void);\nfunction g_settings_schema_source_get_default() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_settings_schema_source_get_default\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!GSettingsSchemaSource * g_settings_schema_source_ref (GSettingsSchemaSource *source);\nfunction g_settings_schema_source_ref(source) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_settings_schema_source_ref\n  type(c_ptr), value :: source\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!void g_settings_schema_source_unref (GSettingsSchemaSource *source);\nsubroutine g_settings_schema_source_unref(source) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: source\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!GSettingsSchemaSource * g_settings_schema_source_new_from_directory (const gchar *directory, GSettingsSchemaSource *parent, gboolean trusted, GError **error);\nfunction g_settings_schema_source_new_from_directory(directory, parent,&\n& trusted, error) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_settings_schema_source_new_from_directory\n  character(kind=c_char), dimension(*) :: directory\n  type(c_ptr), value :: parent\n  integer(c_int), value :: trusted\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!GSettingsSchema * g_settings_schema_source_lookup (GSettingsSchemaSource *source, const gchar *schema_id, gboolean recursive);\nfunction g_settings_schema_source_lookup(source, schema_id, recursive) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_settings_schema_source_lookup\n  type(c_ptr), value :: source\n  character(kind=c_char), dimension(*) :: schema_id\n  integer(c_int), value :: recursive\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!void g_settings_schema_source_list_schemas (GSettingsSchemaSource *source, gboolean recursive, gchar ***non_relocatable, gchar ***relocatable);\nsubroutine g_settings_schema_source_list_schemas(source, recursive,&\n& non_relocatable, relocatable) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: source\n  integer(c_int), value :: recursive\n  type(c_ptr), dimension(*) :: non_relocatable\n  type(c_ptr), dimension(*) :: relocatable\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!GType g_settings_schema_get_type (void) ;\nfunction g_settings_schema_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_settings_schema_get_type\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!GSettingsSchema * g_settings_schema_ref (GSettingsSchema *schema);\nfunction g_settings_schema_ref(schema) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_settings_schema_ref\n  type(c_ptr), value :: schema\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!void g_settings_schema_unref (GSettingsSchema *schema);\nsubroutine g_settings_schema_unref(schema) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: schema\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!const gchar * g_settings_schema_get_id (GSettingsSchema *schema);\nfunction g_settings_schema_get_id(schema) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_settings_schema_get_id\n  type(c_ptr), value :: schema\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!const gchar * g_settings_schema_get_path (GSettingsSchema *schema);\nfunction g_settings_schema_get_path(schema) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_settings_schema_get_path\n  type(c_ptr), value :: schema\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!GSettingsSchemaKey * g_settings_schema_get_key (GSettingsSchema *schema, const gchar *name);\nfunction g_settings_schema_get_key(schema, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_settings_schema_get_key\n  type(c_ptr), value :: schema\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!gboolean g_settings_schema_has_key (GSettingsSchema *schema, const gchar *name);\nfunction g_settings_schema_has_key(schema, name) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_settings_schema_has_key\n  type(c_ptr), value :: schema\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GIO_AVAILABLE_IN_2_46\n!gchar** g_settings_schema_list_keys (GSettingsSchema *schema);\nfunction g_settings_schema_list_keys(schema) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_settings_schema_list_keys\n  type(c_ptr), value :: schema\nend function\n\n! GIO_AVAILABLE_IN_2_44\n!gchar ** g_settings_schema_list_children (GSettingsSchema *schema);\nfunction g_settings_schema_list_children(schema) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_settings_schema_list_children\n  type(c_ptr), value :: schema\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!GType g_settings_schema_key_get_type (void) ;\nfunction g_settings_schema_key_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_settings_schema_key_get_type\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!GSettingsSchemaKey * g_settings_schema_key_ref (GSettingsSchemaKey *key);\nfunction g_settings_schema_key_ref(key) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_settings_schema_key_ref\n  type(c_ptr), value :: key\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!void g_settings_schema_key_unref (GSettingsSchemaKey *key);\nsubroutine g_settings_schema_key_unref(key) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: key\nend subroutine\n\n! GIO_AVAILABLE_IN_2_40\n!const GVariantType * g_settings_schema_key_get_value_type (GSettingsSchemaKey *key);\nfunction g_settings_schema_key_get_value_type(key) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_settings_schema_key_get_value_type\n  type(c_ptr), value :: key\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!GVariant * g_settings_schema_key_get_default_value (GSettingsSchemaKey *key);\nfunction g_settings_schema_key_get_default_value(key) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_settings_schema_key_get_default_value\n  type(c_ptr), value :: key\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!GVariant * g_settings_schema_key_get_range (GSettingsSchemaKey *key);\nfunction g_settings_schema_key_get_range(key) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_settings_schema_key_get_range\n  type(c_ptr), value :: key\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!gboolean g_settings_schema_key_range_check (GSettingsSchemaKey *key, GVariant *value);\nfunction g_settings_schema_key_range_check(key, value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_settings_schema_key_range_check\n  type(c_ptr), value :: key\n  type(c_ptr), value :: value\nend function\n\n! GIO_AVAILABLE_IN_2_44\n!const gchar * g_settings_schema_key_get_name (GSettingsSchemaKey *key);\nfunction g_settings_schema_key_get_name(key) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_settings_schema_key_get_name\n  type(c_ptr), value :: key\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!const gchar * g_settings_schema_key_get_summary (GSettingsSchemaKey *key);\nfunction g_settings_schema_key_get_summary(key) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_settings_schema_key_get_summary\n  type(c_ptr), value :: key\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!const gchar * g_settings_schema_key_get_description (GSettingsSchemaKey *key);\nfunction g_settings_schema_key_get_description(key) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_settings_schema_key_get_description\n  type(c_ptr), value :: key\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gsimpleaction.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_simple_action_get_type (void) ;\nfunction g_simple_action_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_simple_action_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSimpleAction * g_simple_action_new (const gchar *name, const GVariantType *parameter_type);\nfunction g_simple_action_new(name, parameter_type) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_simple_action_new\n  character(kind=c_char), dimension(*) :: name\n  type(c_ptr), value :: parameter_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSimpleAction * g_simple_action_new_stateful (const gchar *name, const GVariantType *parameter_type, GVariant *state);\nfunction g_simple_action_new_stateful(name, parameter_type, state) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_simple_action_new_stateful\n  character(kind=c_char), dimension(*) :: name\n  type(c_ptr), value :: parameter_type\n  type(c_ptr), value :: state\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_simple_action_set_enabled (GSimpleAction *simple, gboolean enabled);\nsubroutine g_simple_action_set_enabled(simple, enabled) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: simple\n  integer(c_int), value :: enabled\nend subroutine\n\n! GIO_AVAILABLE_IN_2_30\n!void g_simple_action_set_state (GSimpleAction *simple, GVariant *value);\nsubroutine g_simple_action_set_state(simple, value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: simple\n  type(c_ptr), value :: value\nend subroutine\n\n! GIO_AVAILABLE_IN_2_44\n!void g_simple_action_set_state_hint (GSimpleAction *simple, GVariant *state_hint);\nsubroutine g_simple_action_set_state_hint(simple, state_hint) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: simple\n  type(c_ptr), value :: state_hint\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gsimpleactiongroup.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_simple_action_group_get_type (void) ;\nfunction g_simple_action_group_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_simple_action_group_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSimpleActionGroup * g_simple_action_group_new (void);\nfunction g_simple_action_group_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_simple_action_group_new\nend function\n\n! GIO_DEPRECATED_IN_2_38_FOR (g_action_map_lookup_action)\n!GAction * g_simple_action_group_lookup (GSimpleActionGroup *simple, const gchar *action_name);\nfunction g_simple_action_group_lookup(simple, action_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_simple_action_group_lookup\n  type(c_ptr), value :: simple\n  character(kind=c_char), dimension(*) :: action_name\nend function\n\n! GIO_DEPRECATED_IN_2_38_FOR (g_action_map_add_action)\n!void g_simple_action_group_insert (GSimpleActionGroup *simple, GAction *action);\nsubroutine g_simple_action_group_insert(simple, action) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: simple\n  type(c_ptr), value :: action\nend subroutine\n\n! GIO_DEPRECATED_IN_2_38_FOR (g_action_map_remove_action)\n!void g_simple_action_group_remove (GSimpleActionGroup *simple, const gchar *action_name);\nsubroutine g_simple_action_group_remove(simple, action_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: simple\n  character(kind=c_char), dimension(*) :: action_name\nend subroutine\n\n! GIO_DEPRECATED_IN_2_38_FOR (g_action_map_add_action_entries)\n!void g_simple_action_group_add_entries (GSimpleActionGroup *simple, const GActionEntry *entries, gint n_entries, gpointer user_data);\nsubroutine g_simple_action_group_add_entries(simple, entries, n_entries,&\n& user_data) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: simple\n  type(c_ptr), value :: entries\n  integer(c_int), value :: n_entries\n  type(c_ptr), value :: user_data\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gsimpleasyncresult.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_simple_async_result_get_type (void) ;\nfunction g_simple_async_result_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_simple_async_result_get_type\nend function\n\n! GIO_DEPRECATED_IN_2_46_FOR(g_task_new)\n!GSimpleAsyncResult *g_simple_async_result_new (GObject *source_object, GAsyncReadyCallback callback, gpointer user_data, gpointer source_tag);\nfunction g_simple_async_result_new(source_object, callback, user_data,&\n& source_tag) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_simple_async_result_new\n  type(c_ptr), value :: source_object\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\n  type(c_ptr), value :: source_tag\nend function\n\n! GIO_DEPRECATED_IN_2_46_FOR(g_task_new)\n!GSimpleAsyncResult *g_simple_async_result_new_from_error (GObject *source_object, GAsyncReadyCallback callback, gpointer user_data, const GError *error);\nfunction g_simple_async_result_new_from_error(source_object, callback,&\n& user_data, error) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_simple_async_result_new_from_error\n  type(c_ptr), value :: source_object\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\n  type(c_ptr), value :: error\nend function\n\n! GIO_DEPRECATED_IN_2_46_FOR(g_task_new)\n!GSimpleAsyncResult *g_simple_async_result_new_take_error (GObject *source_object, GAsyncReadyCallback callback, gpointer user_data, GError *error);\nfunction g_simple_async_result_new_take_error(source_object, callback,&\n& user_data, error) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_simple_async_result_new_take_error\n  type(c_ptr), value :: source_object\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\n  type(c_ptr), value :: error\nend function\n\n! GIO_DEPRECATED_IN_2_46\n!void g_simple_async_result_set_op_res_gpointer (GSimpleAsyncResult *simple, gpointer op_res, GDestroyNotify destroy_op_res);\nsubroutine g_simple_async_result_set_op_res_gpointer(simple, op_res,&\n& destroy_op_res) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: simple\n  type(c_ptr), value :: op_res\n  type(c_funptr), value :: destroy_op_res\nend subroutine\n\n! GIO_DEPRECATED_IN_2_46\n!gpointer g_simple_async_result_get_op_res_gpointer (GSimpleAsyncResult *simple);\nfunction g_simple_async_result_get_op_res_gpointer(simple) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_simple_async_result_get_op_res_gpointer\n  type(c_ptr), value :: simple\nend function\n\n! GIO_DEPRECATED_IN_2_46\n!void g_simple_async_result_set_op_res_gssize (GSimpleAsyncResult *simple, gssize op_res);\nsubroutine g_simple_async_result_set_op_res_gssize(simple, op_res) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr), value :: simple\n  integer(c_size_t), value :: op_res\nend subroutine\n\n! GIO_DEPRECATED_IN_2_46\n!gssize g_simple_async_result_get_op_res_gssize (GSimpleAsyncResult *simple);\nfunction g_simple_async_result_get_op_res_gssize(simple) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_simple_async_result_get_op_res_gssize\n  type(c_ptr), value :: simple\nend function\n\n! GIO_DEPRECATED_IN_2_46\n!void g_simple_async_result_set_op_res_gboolean (GSimpleAsyncResult *simple, gboolean op_res);\nsubroutine g_simple_async_result_set_op_res_gboolean(simple, op_res) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: simple\n  integer(c_int), value :: op_res\nend subroutine\n\n! GIO_DEPRECATED_IN_2_46\n!gboolean g_simple_async_result_get_op_res_gboolean (GSimpleAsyncResult *simple);\nfunction g_simple_async_result_get_op_res_gboolean(simple) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_simple_async_result_get_op_res_gboolean\n  type(c_ptr), value :: simple\nend function\n\n! GIO_AVAILABLE_IN_2_32 /* Also deprecated, but can't mark something both AVAILABLE and DEPRECATED */\n!void g_simple_async_result_set_check_cancellable (GSimpleAsyncResult *simple, GCancellable *check_cancellable);\nsubroutine g_simple_async_result_set_check_cancellable(simple,&\n& check_cancellable) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: simple\n  type(c_ptr), value :: check_cancellable\nend subroutine\n\n! GIO_DEPRECATED_IN_2_46\n!gpointer g_simple_async_result_get_source_tag (GSimpleAsyncResult *simple);\nfunction g_simple_async_result_get_source_tag(simple) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_simple_async_result_get_source_tag\n  type(c_ptr), value :: simple\nend function\n\n! GIO_DEPRECATED_IN_2_46\n!void g_simple_async_result_set_handle_cancellation (GSimpleAsyncResult *simple, gboolean handle_cancellation);\nsubroutine g_simple_async_result_set_handle_cancellation(simple,&\n& handle_cancellation) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: simple\n  integer(c_int), value :: handle_cancellation\nend subroutine\n\n! GIO_DEPRECATED_IN_2_46\n!void g_simple_async_result_complete (GSimpleAsyncResult *simple);\nsubroutine g_simple_async_result_complete(simple) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: simple\nend subroutine\n\n! GIO_DEPRECATED_IN_2_46\n!void g_simple_async_result_complete_in_idle (GSimpleAsyncResult *simple);\nsubroutine g_simple_async_result_complete_in_idle(simple) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: simple\nend subroutine\n\n! GIO_DEPRECATED_IN_2_46\n!void g_simple_async_result_run_in_thread (GSimpleAsyncResult *simple, GSimpleAsyncThreadFunc func, int io_priority, GCancellable *cancellable);\nsubroutine g_simple_async_result_run_in_thread(simple, func, io_priority,&\n& cancellable) bind(c)\n  import :: c_ptr, c_funptr, c_int\n  implicit none\n  type(c_ptr), value :: simple\n  type(c_funptr), value :: func\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\nend subroutine\n\n! GIO_DEPRECATED_IN_2_46\n!void g_simple_async_result_set_from_error (GSimpleAsyncResult *simple, const GError *error);\nsubroutine g_simple_async_result_set_from_error(simple, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: simple\n  type(c_ptr), value :: error\nend subroutine\n\n! GIO_DEPRECATED_IN_2_46\n!void g_simple_async_result_take_error (GSimpleAsyncResult *simple, GError *error);\nsubroutine g_simple_async_result_take_error(simple, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: simple\n  type(c_ptr), value :: error\nend subroutine\n\n! GIO_DEPRECATED_IN_2_46\n!gboolean g_simple_async_result_propagate_error (GSimpleAsyncResult *simple, GError **dest);\nfunction g_simple_async_result_propagate_error(simple, dest) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_simple_async_result_propagate_error\n  type(c_ptr), value :: simple\n  type(c_ptr), value :: dest\nend function\n\n! GIO_DEPRECATED_IN_2_46\n!void g_simple_async_result_set_error_va (GSimpleAsyncResult *simple, GQuark domain, gint code, const char *format, va_list args) ;\nsubroutine g_simple_async_result_set_error_va(simple, domain, code, format,&\n& args) bind(c)\n  import :: c_ptr, c_int32_t, c_int, c_char\n  implicit none\n  type(c_ptr), value :: simple\n  integer(c_int32_t), value :: domain\n  integer(c_int), value :: code\n  character(kind=c_char), dimension(*) :: format\n  type(c_ptr), value :: args\nend subroutine\n\n! GIO_DEPRECATED_IN_2_46\n!gboolean g_simple_async_result_is_valid (GAsyncResult *result, GObject *source, gpointer source_tag);\nfunction g_simple_async_result_is_valid(result, source, source_tag) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_simple_async_result_is_valid\n  type(c_ptr), value :: result\n  type(c_ptr), value :: source\n  type(c_ptr), value :: source_tag\nend function\n\n! GIO_DEPRECATED_IN_2_46_FOR(g_task_report_error)\n!void g_simple_async_report_gerror_in_idle (GObject *object, GAsyncReadyCallback callback, gpointer user_data, const GError *error);\nsubroutine g_simple_async_report_gerror_in_idle(object, callback, user_data,&\n& error) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: object\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\n  type(c_ptr), value :: error\nend subroutine\n\n! GIO_DEPRECATED_IN_2_46_FOR(g_task_report_error)\n!void g_simple_async_report_take_gerror_in_idle (GObject *object, GAsyncReadyCallback callback, gpointer user_data, GError *error);\nsubroutine g_simple_async_report_take_gerror_in_idle(object, callback,&\n& user_data, error) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: object\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\n  type(c_ptr), value :: error\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gsimpleiostream.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_2_44\n!GType g_simple_io_stream_get_type (void) ;\nfunction g_simple_io_stream_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_simple_io_stream_get_type\nend function\n\n! GIO_AVAILABLE_IN_2_44\n!GIOStream *g_simple_io_stream_new (GInputStream *input_stream, GOutputStream *output_stream);\nfunction g_simple_io_stream_new(input_stream, output_stream) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_simple_io_stream_new\n  type(c_ptr), value :: input_stream\n  type(c_ptr), value :: output_stream\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gsimplepermission.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_simple_permission_get_type (void);\nfunction g_simple_permission_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_simple_permission_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GPermission * g_simple_permission_new (gboolean allowed);\nfunction g_simple_permission_new(allowed) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_simple_permission_new\n  integer(c_int), value :: allowed\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gsimpleproxyresolver.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_2_36\n!GType g_simple_proxy_resolver_get_type (void) ;\nfunction g_simple_proxy_resolver_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_simple_proxy_resolver_get_type\nend function\n\n! GIO_AVAILABLE_IN_2_36\n!GProxyResolver *g_simple_proxy_resolver_new (const gchar *default_proxy, gchar **ignore_hosts);\nfunction g_simple_proxy_resolver_new(default_proxy, ignore_hosts) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_simple_proxy_resolver_new\n  character(kind=c_char), dimension(*) :: default_proxy\n  type(c_ptr), dimension(*) :: ignore_hosts\nend function\n\n! GIO_AVAILABLE_IN_2_36\n!void g_simple_proxy_resolver_set_default_proxy (GSimpleProxyResolver *resolver, const gchar *default_proxy);\nsubroutine g_simple_proxy_resolver_set_default_proxy(resolver, default_proxy)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: resolver\n  character(kind=c_char), dimension(*) :: default_proxy\nend subroutine\n\n! GIO_AVAILABLE_IN_2_36\n!void g_simple_proxy_resolver_set_ignore_hosts (GSimpleProxyResolver *resolver, gchar **ignore_hosts);\nsubroutine g_simple_proxy_resolver_set_ignore_hosts(resolver, ignore_hosts)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: resolver\n  type(c_ptr), dimension(*) :: ignore_hosts\nend subroutine\n\n! GIO_AVAILABLE_IN_2_36\n!void g_simple_proxy_resolver_set_uri_proxy (GSimpleProxyResolver *resolver, const gchar *uri_scheme, const gchar *proxy);\nsubroutine g_simple_proxy_resolver_set_uri_proxy(resolver, uri_scheme, proxy)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: resolver\n  character(kind=c_char), dimension(*) :: uri_scheme\n  character(kind=c_char), dimension(*) :: proxy\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gsocket.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_socket_get_type (void) ;\nfunction g_socket_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_socket_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSocket * g_socket_new (GSocketFamily family, GSocketType type, GSocketProtocol protocol, GError **error);\nfunction g_socket_new(family, type, protocol, error) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_socket_new\n  integer(c_int), value :: family\n  integer(c_int), value :: type\n  integer(c_int), value :: protocol\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSocket * g_socket_new_from_fd (gint fd, GError **error);\nfunction g_socket_new_from_fd(fd, error) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_socket_new_from_fd\n  integer(c_int), value :: fd\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!int g_socket_get_fd (GSocket *socket);\nfunction g_socket_get_fd(socket) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_get_fd\n  type(c_ptr), value :: socket\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketFamily g_socket_get_family (GSocket *socket);\nfunction g_socket_get_family(socket) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_get_family\n  type(c_ptr), value :: socket\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketType g_socket_get_socket_type (GSocket *socket);\nfunction g_socket_get_socket_type(socket) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_get_socket_type\n  type(c_ptr), value :: socket\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketProtocol g_socket_get_protocol (GSocket *socket);\nfunction g_socket_get_protocol(socket) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_get_protocol\n  type(c_ptr), value :: socket\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketAddress * g_socket_get_local_address (GSocket *socket, GError **error);\nfunction g_socket_get_local_address(socket, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_socket_get_local_address\n  type(c_ptr), value :: socket\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketAddress * g_socket_get_remote_address (GSocket *socket, GError **error);\nfunction g_socket_get_remote_address(socket, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_socket_get_remote_address\n  type(c_ptr), value :: socket\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_socket_set_blocking (GSocket *socket, gboolean blocking);\nsubroutine g_socket_set_blocking(socket, blocking) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: socket\n  integer(c_int), value :: blocking\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_socket_get_blocking (GSocket *socket);\nfunction g_socket_get_blocking(socket) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_get_blocking\n  type(c_ptr), value :: socket\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_socket_set_keepalive (GSocket *socket, gboolean keepalive);\nsubroutine g_socket_set_keepalive(socket, keepalive) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: socket\n  integer(c_int), value :: keepalive\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_socket_get_keepalive (GSocket *socket);\nfunction g_socket_get_keepalive(socket) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_get_keepalive\n  type(c_ptr), value :: socket\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gint g_socket_get_listen_backlog (GSocket *socket);\nfunction g_socket_get_listen_backlog(socket) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_get_listen_backlog\n  type(c_ptr), value :: socket\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_socket_set_listen_backlog (GSocket *socket, gint backlog);\nsubroutine g_socket_set_listen_backlog(socket, backlog) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: socket\n  integer(c_int), value :: backlog\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!guint g_socket_get_timeout (GSocket *socket);\nfunction g_socket_get_timeout(socket) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_get_timeout\n  type(c_ptr), value :: socket\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_socket_set_timeout (GSocket *socket, guint timeout);\nsubroutine g_socket_set_timeout(socket, timeout) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: socket\n  integer(c_int), value :: timeout\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!guint g_socket_get_ttl (GSocket *socket);\nfunction g_socket_get_ttl(socket) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_get_ttl\n  type(c_ptr), value :: socket\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!void g_socket_set_ttl (GSocket *socket, guint ttl);\nsubroutine g_socket_set_ttl(socket, ttl) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: socket\n  integer(c_int), value :: ttl\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!gboolean g_socket_get_broadcast (GSocket *socket);\nfunction g_socket_get_broadcast(socket) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_get_broadcast\n  type(c_ptr), value :: socket\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!void g_socket_set_broadcast (GSocket *socket, gboolean broadcast);\nsubroutine g_socket_set_broadcast(socket, broadcast) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: socket\n  integer(c_int), value :: broadcast\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!gboolean g_socket_get_multicast_loopback (GSocket *socket);\nfunction g_socket_get_multicast_loopback(socket) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_get_multicast_loopback\n  type(c_ptr), value :: socket\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!void g_socket_set_multicast_loopback (GSocket *socket, gboolean loopback);\nsubroutine g_socket_set_multicast_loopback(socket, loopback) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: socket\n  integer(c_int), value :: loopback\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!guint g_socket_get_multicast_ttl (GSocket *socket);\nfunction g_socket_get_multicast_ttl(socket) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_get_multicast_ttl\n  type(c_ptr), value :: socket\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!void g_socket_set_multicast_ttl (GSocket *socket, guint ttl);\nsubroutine g_socket_set_multicast_ttl(socket, ttl) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: socket\n  integer(c_int), value :: ttl\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_socket_is_connected (GSocket *socket);\nfunction g_socket_is_connected(socket) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_is_connected\n  type(c_ptr), value :: socket\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_socket_bind (GSocket *socket, GSocketAddress *address, gboolean allow_reuse, GError **error);\nfunction g_socket_bind(socket, address, allow_reuse, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_bind\n  type(c_ptr), value :: socket\n  type(c_ptr), value :: address\n  integer(c_int), value :: allow_reuse\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!gboolean g_socket_join_multicast_group (GSocket *socket, GInetAddress *group, gboolean source_specific, const gchar *iface, GError **error);\nfunction g_socket_join_multicast_group(socket, group, source_specific, iface,&\n& error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_socket_join_multicast_group\n  type(c_ptr), value :: socket\n  type(c_ptr), value :: group\n  integer(c_int), value :: source_specific\n  character(kind=c_char), dimension(*) :: iface\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!gboolean g_socket_leave_multicast_group (GSocket *socket, GInetAddress *group, gboolean source_specific, const gchar *iface, GError **error);\nfunction g_socket_leave_multicast_group(socket, group, source_specific, iface,&\n& error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_socket_leave_multicast_group\n  type(c_ptr), value :: socket\n  type(c_ptr), value :: group\n  integer(c_int), value :: source_specific\n  character(kind=c_char), dimension(*) :: iface\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_56\n!gboolean g_socket_join_multicast_group_ssm (GSocket *socket, GInetAddress *group, GInetAddress *source_specific, const gchar *iface, GError **error);\nfunction g_socket_join_multicast_group_ssm(socket, group, source_specific,&\n& iface, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_socket_join_multicast_group_ssm\n  type(c_ptr), value :: socket\n  type(c_ptr), value :: group\n  type(c_ptr), value :: source_specific\n  character(kind=c_char), dimension(*) :: iface\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_56\n!gboolean g_socket_leave_multicast_group_ssm (GSocket *socket, GInetAddress *group, GInetAddress *source_specific, const gchar *iface, GError **error);\nfunction g_socket_leave_multicast_group_ssm(socket, group, source_specific,&\n& iface, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_socket_leave_multicast_group_ssm\n  type(c_ptr), value :: socket\n  type(c_ptr), value :: group\n  type(c_ptr), value :: source_specific\n  character(kind=c_char), dimension(*) :: iface\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_socket_connect (GSocket *socket, GSocketAddress *address, GCancellable *cancellable, GError **error);\nfunction g_socket_connect(socket, address, cancellable, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_connect\n  type(c_ptr), value :: socket\n  type(c_ptr), value :: address\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_socket_check_connect_result (GSocket *socket, GError **error);\nfunction g_socket_check_connect_result(socket, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_check_connect_result\n  type(c_ptr), value :: socket\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gssize g_socket_get_available_bytes (GSocket *socket);\nfunction g_socket_get_available_bytes(socket) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_socket_get_available_bytes\n  type(c_ptr), value :: socket\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GIOCondition g_socket_condition_check (GSocket *socket, GIOCondition condition);\nfunction g_socket_condition_check(socket, condition) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_condition_check\n  type(c_ptr), value :: socket\n  integer(c_int), value :: condition\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_socket_condition_wait (GSocket *socket, GIOCondition condition, GCancellable *cancellable, GError **error);\nfunction g_socket_condition_wait(socket, condition, cancellable, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_condition_wait\n  type(c_ptr), value :: socket\n  integer(c_int), value :: condition\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!gboolean g_socket_condition_timed_wait (GSocket *socket, GIOCondition condition, gint64 timeout_us, GCancellable *cancellable, GError **error);\nfunction g_socket_condition_timed_wait(socket, condition, timeout_us,&\n& cancellable, error) bind(c)\n  import :: c_int, c_ptr, c_int64_t\n  implicit none\n  integer(c_int) :: g_socket_condition_timed_wait\n  type(c_ptr), value :: socket\n  integer(c_int), value :: condition\n  integer(c_int64_t), value :: timeout_us\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSocket * g_socket_accept (GSocket *socket, GCancellable *cancellable, GError **error);\nfunction g_socket_accept(socket, cancellable, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_socket_accept\n  type(c_ptr), value :: socket\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_socket_listen (GSocket *socket, GError **error);\nfunction g_socket_listen(socket, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_listen\n  type(c_ptr), value :: socket\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gssize g_socket_receive (GSocket *socket, gchar *buffer, gsize size, GCancellable *cancellable, GError **error);\nfunction g_socket_receive(socket, buffer, size, cancellable, error) bind(c)\n  import :: c_size_t, c_ptr, c_char\n  implicit none\n  integer(c_size_t) :: g_socket_receive\n  type(c_ptr), value :: socket\n  character(kind=c_char), dimension(*) :: buffer\n  integer(c_size_t), value :: size\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_80\n!GBytes * g_socket_receive_bytes (GSocket *socket, gsize size, gint64 timeout_us, GCancellable *cancellable, GError **error);\nfunction g_socket_receive_bytes(socket, size, timeout_us, cancellable, error)&\n& bind(c)\n  import :: c_ptr, c_size_t, c_int64_t\n  implicit none\n  type(c_ptr) :: g_socket_receive_bytes\n  type(c_ptr), value :: socket\n  integer(c_size_t), value :: size\n  integer(c_int64_t), value :: timeout_us\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gssize g_socket_receive_from (GSocket *socket, GSocketAddress **address, gchar *buffer, gsize size, GCancellable *cancellable, GError **error);\nfunction g_socket_receive_from(socket, address, buffer, size, cancellable,&\n& error) bind(c)\n  import :: c_size_t, c_ptr, c_char\n  implicit none\n  integer(c_size_t) :: g_socket_receive_from\n  type(c_ptr), value :: socket\n  type(c_ptr), value :: address\n  character(kind=c_char), dimension(*) :: buffer\n  integer(c_size_t), value :: size\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_80\n!GBytes * g_socket_receive_bytes_from (GSocket *socket, GSocketAddress **address, gsize size, gint64 timeout_us, GCancellable *cancellable, GError **error);\nfunction g_socket_receive_bytes_from(socket, address, size, timeout_us,&\n& cancellable, error) bind(c)\n  import :: c_ptr, c_size_t, c_int64_t\n  implicit none\n  type(c_ptr) :: g_socket_receive_bytes_from\n  type(c_ptr), value :: socket\n  type(c_ptr), value :: address\n  integer(c_size_t), value :: size\n  integer(c_int64_t), value :: timeout_us\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gssize g_socket_send (GSocket *socket, const gchar *buffer, gsize size, GCancellable *cancellable, GError **error);\nfunction g_socket_send(socket, buffer, size, cancellable, error) bind(c)\n  import :: c_size_t, c_ptr, c_char\n  implicit none\n  integer(c_size_t) :: g_socket_send\n  type(c_ptr), value :: socket\n  character(kind=c_char), dimension(*) :: buffer\n  integer(c_size_t), value :: size\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gssize g_socket_send_to (GSocket *socket, GSocketAddress *address, const gchar *buffer, gsize size, GCancellable *cancellable, GError **error);\nfunction g_socket_send_to(socket, address, buffer, size, cancellable, error)&\n& bind(c)\n  import :: c_size_t, c_ptr, c_char\n  implicit none\n  integer(c_size_t) :: g_socket_send_to\n  type(c_ptr), value :: socket\n  type(c_ptr), value :: address\n  character(kind=c_char), dimension(*) :: buffer\n  integer(c_size_t), value :: size\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gssize g_socket_receive_message (GSocket *socket, GSocketAddress **address, GInputVector *vectors, gint num_vectors, GSocketControlMessage ***messages, gint *num_messages, gint *flags, GCancellable *cancellable, GError **error);\nfunction g_socket_receive_message(socket, address, vectors, num_vectors,&\n& messages, num_messages, flags, cancellable, error) bind(c)\n  import :: c_size_t, c_ptr, c_int\n  implicit none\n  integer(c_size_t) :: g_socket_receive_message\n  type(c_ptr), value :: socket\n  type(c_ptr), value :: address\n  type(c_ptr), value :: vectors\n  integer(c_int), value :: num_vectors\n  type(c_ptr), value :: messages\n  type(c_ptr), value :: num_messages\n  type(c_ptr), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gssize g_socket_send_message (GSocket *socket, GSocketAddress *address, GOutputVector *vectors, gint num_vectors, GSocketControlMessage **messages, gint num_messages, gint flags, GCancellable *cancellable, GError **error);\nfunction g_socket_send_message(socket, address, vectors, num_vectors, messages,&\n& num_messages, flags, cancellable, error) bind(c)\n  import :: c_size_t, c_ptr, c_int\n  implicit none\n  integer(c_size_t) :: g_socket_send_message\n  type(c_ptr), value :: socket\n  type(c_ptr), value :: address\n  type(c_ptr), value :: vectors\n  integer(c_int), value :: num_vectors\n  type(c_ptr), value :: messages\n  integer(c_int), value :: num_messages\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_48\n!gint g_socket_receive_messages (GSocket *socket, GInputMessage *messages, guint num_messages, gint flags, GCancellable *cancellable, GError **error);\nfunction g_socket_receive_messages(socket, messages, num_messages, flags,&\n& cancellable, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_receive_messages\n  type(c_ptr), value :: socket\n  type(c_ptr), value :: messages\n  integer(c_int), value :: num_messages\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_44\n!gint g_socket_send_messages (GSocket *socket, GOutputMessage *messages, guint num_messages, gint flags, GCancellable *cancellable, GError **error);\nfunction g_socket_send_messages(socket, messages, num_messages, flags,&\n& cancellable, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_send_messages\n  type(c_ptr), value :: socket\n  type(c_ptr), value :: messages\n  integer(c_int), value :: num_messages\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_socket_close (GSocket *socket, GError **error);\nfunction g_socket_close(socket, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_close\n  type(c_ptr), value :: socket\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_socket_shutdown (GSocket *socket, gboolean shutdown_read, gboolean shutdown_write, GError **error);\nfunction g_socket_shutdown(socket, shutdown_read, shutdown_write, error)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_shutdown\n  type(c_ptr), value :: socket\n  integer(c_int), value :: shutdown_read\n  integer(c_int), value :: shutdown_write\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_socket_is_closed (GSocket *socket);\nfunction g_socket_is_closed(socket) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_is_closed\n  type(c_ptr), value :: socket\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSource * g_socket_create_source (GSocket *socket, GIOCondition condition, GCancellable *cancellable);\nfunction g_socket_create_source(socket, condition, cancellable) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_socket_create_source\n  type(c_ptr), value :: socket\n  integer(c_int), value :: condition\n  type(c_ptr), value :: cancellable\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_socket_speaks_ipv4 (GSocket *socket);\nfunction g_socket_speaks_ipv4(socket) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_speaks_ipv4\n  type(c_ptr), value :: socket\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GCredentials *g_socket_get_credentials (GSocket *socket, GError **error);\nfunction g_socket_get_credentials(socket, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_socket_get_credentials\n  type(c_ptr), value :: socket\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gssize g_socket_receive_with_blocking (GSocket *socket, gchar *buffer, gsize size, gboolean blocking, GCancellable *cancellable, GError **error);\nfunction g_socket_receive_with_blocking(socket, buffer, size, blocking,&\n& cancellable, error) bind(c)\n  import :: c_size_t, c_ptr, c_char, c_int\n  implicit none\n  integer(c_size_t) :: g_socket_receive_with_blocking\n  type(c_ptr), value :: socket\n  character(kind=c_char), dimension(*) :: buffer\n  integer(c_size_t), value :: size\n  integer(c_int), value :: blocking\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gssize g_socket_send_with_blocking (GSocket *socket, const gchar *buffer, gsize size, gboolean blocking, GCancellable *cancellable, GError **error);\nfunction g_socket_send_with_blocking(socket, buffer, size, blocking,&\n& cancellable, error) bind(c)\n  import :: c_size_t, c_ptr, c_char, c_int\n  implicit none\n  integer(c_size_t) :: g_socket_send_with_blocking\n  type(c_ptr), value :: socket\n  character(kind=c_char), dimension(*) :: buffer\n  integer(c_size_t), value :: size\n  integer(c_int), value :: blocking\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_60\n!GPollableReturn g_socket_send_message_with_timeout (GSocket *socket, GSocketAddress *address, const GOutputVector *vectors, gint num_vectors, GSocketControlMessage **messages, gint num_messages, gint flags, gint64 timeout_us, gsize *bytes_written, GCancellable *cancellable, GError **error);\nfunction g_socket_send_message_with_timeout(socket, address, vectors,&\n& num_vectors, messages, num_messages, flags, timeout_us, bytes_written,&\n& cancellable, error) bind(c)\n  import :: c_int, c_ptr, c_int64_t\n  implicit none\n  integer(c_int) :: g_socket_send_message_with_timeout\n  type(c_ptr), value :: socket\n  type(c_ptr), value :: address\n  type(c_ptr), value :: vectors\n  integer(c_int), value :: num_vectors\n  type(c_ptr), value :: messages\n  integer(c_int), value :: num_messages\n  integer(c_int), value :: flags\n  integer(c_int64_t), value :: timeout_us\n  type(c_ptr), value :: bytes_written\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_36\n!gboolean g_socket_get_option (GSocket *socket, gint level, gint optname, gint *value, GError **error);\nfunction g_socket_get_option(socket, level, optname, value, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_get_option\n  type(c_ptr), value :: socket\n  integer(c_int), value :: level\n  integer(c_int), value :: optname\n  type(c_ptr), value :: value\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_36\n!gboolean g_socket_set_option (GSocket *socket, gint level, gint optname, gint value, GError **error);\nfunction g_socket_set_option(socket, level, optname, value, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_set_option\n  type(c_ptr), value :: socket\n  integer(c_int), value :: level\n  integer(c_int), value :: optname\n  integer(c_int), value :: value\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gsocketaddress.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_socket_address_get_type (void) ;\nfunction g_socket_address_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_socket_address_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketFamily g_socket_address_get_family (GSocketAddress *address);\nfunction g_socket_address_get_family(address) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_address_get_family\n  type(c_ptr), value :: address\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketAddress * g_socket_address_new_from_native (gpointer native, gsize len);\nfunction g_socket_address_new_from_native(native, len) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_socket_address_new_from_native\n  type(c_ptr), value :: native\n  integer(c_size_t), value :: len\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_socket_address_to_native (GSocketAddress *address, gpointer dest, gsize destlen, GError **error);\nfunction g_socket_address_to_native(address, dest, destlen, error) bind(c)\n  import :: c_int, c_ptr, c_size_t\n  implicit none\n  integer(c_int) :: g_socket_address_to_native\n  type(c_ptr), value :: address\n  type(c_ptr), value :: dest\n  integer(c_size_t), value :: destlen\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gssize g_socket_address_get_native_size (GSocketAddress *address);\nfunction g_socket_address_get_native_size(address) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_socket_address_get_native_size\n  type(c_ptr), value :: address\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gsocketaddressenumerator.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_socket_address_enumerator_get_type (void) ;\nfunction g_socket_address_enumerator_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_socket_address_enumerator_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketAddress *g_socket_address_enumerator_next (GSocketAddressEnumerator *enumerator, GCancellable *cancellable, GError **error);\nfunction g_socket_address_enumerator_next(enumerator, cancellable, error)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_socket_address_enumerator_next\n  type(c_ptr), value :: enumerator\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_socket_address_enumerator_next_async (GSocketAddressEnumerator *enumerator, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_socket_address_enumerator_next_async(enumerator, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: enumerator\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketAddress *g_socket_address_enumerator_next_finish (GSocketAddressEnumerator *enumerator, GAsyncResult *result, GError **error);\nfunction g_socket_address_enumerator_next_finish(enumerator, result, error)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_socket_address_enumerator_next_finish\n  type(c_ptr), value :: enumerator\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gsocketclient.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_socket_client_get_type (void) ;\nfunction g_socket_client_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_socket_client_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketClient *g_socket_client_new (void);\nfunction g_socket_client_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_socket_client_new\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketFamily g_socket_client_get_family (GSocketClient *client);\nfunction g_socket_client_get_family(client) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_client_get_family\n  type(c_ptr), value :: client\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_socket_client_set_family (GSocketClient *client, GSocketFamily family);\nsubroutine g_socket_client_set_family(client, family) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: client\n  integer(c_int), value :: family\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketType g_socket_client_get_socket_type (GSocketClient *client);\nfunction g_socket_client_get_socket_type(client) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_client_get_socket_type\n  type(c_ptr), value :: client\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_socket_client_set_socket_type (GSocketClient *client, GSocketType type);\nsubroutine g_socket_client_set_socket_type(client, type) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: client\n  integer(c_int), value :: type\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketProtocol g_socket_client_get_protocol (GSocketClient *client);\nfunction g_socket_client_get_protocol(client) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_client_get_protocol\n  type(c_ptr), value :: client\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_socket_client_set_protocol (GSocketClient *client, GSocketProtocol protocol);\nsubroutine g_socket_client_set_protocol(client, protocol) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: client\n  integer(c_int), value :: protocol\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketAddress *g_socket_client_get_local_address (GSocketClient *client);\nfunction g_socket_client_get_local_address(client) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_socket_client_get_local_address\n  type(c_ptr), value :: client\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_socket_client_set_local_address (GSocketClient *client, GSocketAddress *address);\nsubroutine g_socket_client_set_local_address(client, address) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: client\n  type(c_ptr), value :: address\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!guint g_socket_client_get_timeout (GSocketClient *client);\nfunction g_socket_client_get_timeout(client) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_client_get_timeout\n  type(c_ptr), value :: client\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_socket_client_set_timeout (GSocketClient *client, guint timeout);\nsubroutine g_socket_client_set_timeout(client, timeout) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: client\n  integer(c_int), value :: timeout\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_socket_client_get_enable_proxy (GSocketClient *client);\nfunction g_socket_client_get_enable_proxy(client) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_client_get_enable_proxy\n  type(c_ptr), value :: client\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_socket_client_set_enable_proxy (GSocketClient *client, gboolean enable);\nsubroutine g_socket_client_set_enable_proxy(client, enable) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: client\n  integer(c_int), value :: enable\nend subroutine\n\n! GIO_AVAILABLE_IN_2_28\n!gboolean g_socket_client_get_tls (GSocketClient *client);\nfunction g_socket_client_get_tls(client) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_client_get_tls\n  type(c_ptr), value :: client\nend function\n\n! GIO_AVAILABLE_IN_2_28\n!void g_socket_client_set_tls (GSocketClient *client, gboolean tls);\nsubroutine g_socket_client_set_tls(client, tls) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: client\n  integer(c_int), value :: tls\nend subroutine\n\n! GIO_DEPRECATED_IN_2_72\n!GTlsCertificateFlags g_socket_client_get_tls_validation_flags (GSocketClient *client);\nfunction g_socket_client_get_tls_validation_flags(client) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_client_get_tls_validation_flags\n  type(c_ptr), value :: client\nend function\n\n! GIO_DEPRECATED_IN_2_72\n!void g_socket_client_set_tls_validation_flags (GSocketClient *client, GTlsCertificateFlags flags);\nsubroutine g_socket_client_set_tls_validation_flags(client, flags) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: client\n  integer(c_int), value :: flags\nend subroutine\n\n! GIO_AVAILABLE_IN_2_36\n!GProxyResolver *g_socket_client_get_proxy_resolver (GSocketClient *client);\nfunction g_socket_client_get_proxy_resolver(client) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_socket_client_get_proxy_resolver\n  type(c_ptr), value :: client\nend function\n\n! GIO_AVAILABLE_IN_2_36\n!void g_socket_client_set_proxy_resolver (GSocketClient *client, GProxyResolver *proxy_resolver);\nsubroutine g_socket_client_set_proxy_resolver(client, proxy_resolver) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: client\n  type(c_ptr), value :: proxy_resolver\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketConnection * g_socket_client_connect (GSocketClient *client, GSocketConnectable *connectable, GCancellable *cancellable, GError **error);\nfunction g_socket_client_connect(client, connectable, cancellable, error)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_socket_client_connect\n  type(c_ptr), value :: client\n  type(c_ptr), value :: connectable\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketConnection * g_socket_client_connect_to_host (GSocketClient *client, const gchar *host_and_port, guint16 default_port, GCancellable *cancellable, GError **error);\nfunction g_socket_client_connect_to_host(client, host_and_port, default_port,&\n& cancellable, error) bind(c)\n  import :: c_ptr, c_char, c_int16_t\n  implicit none\n  type(c_ptr) :: g_socket_client_connect_to_host\n  type(c_ptr), value :: client\n  character(kind=c_char), dimension(*) :: host_and_port\n  integer(c_int16_t), value :: default_port\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketConnection * g_socket_client_connect_to_service (GSocketClient *client, const gchar *domain, const gchar *service, GCancellable *cancellable, GError **error);\nfunction g_socket_client_connect_to_service(client, domain, service,&\n& cancellable, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_socket_client_connect_to_service\n  type(c_ptr), value :: client\n  character(kind=c_char), dimension(*) :: domain\n  character(kind=c_char), dimension(*) :: service\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_26\n!GSocketConnection * g_socket_client_connect_to_uri (GSocketClient *client, const gchar *uri, guint16 default_port, GCancellable *cancellable, GError **error);\nfunction g_socket_client_connect_to_uri(client, uri, default_port, cancellable,&\n& error) bind(c)\n  import :: c_ptr, c_char, c_int16_t\n  implicit none\n  type(c_ptr) :: g_socket_client_connect_to_uri\n  type(c_ptr), value :: client\n  character(kind=c_char), dimension(*) :: uri\n  integer(c_int16_t), value :: default_port\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_socket_client_connect_async (GSocketClient *client, GSocketConnectable *connectable, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_socket_client_connect_async(client, connectable, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: client\n  type(c_ptr), value :: connectable\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketConnection * g_socket_client_connect_finish (GSocketClient *client, GAsyncResult *result, GError **error);\nfunction g_socket_client_connect_finish(client, result, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_socket_client_connect_finish\n  type(c_ptr), value :: client\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_socket_client_connect_to_host_async (GSocketClient *client, const gchar *host_and_port, guint16 default_port, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_socket_client_connect_to_host_async(client, host_and_port,&\n& default_port, cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_char, c_int16_t, c_funptr\n  implicit none\n  type(c_ptr), value :: client\n  character(kind=c_char), dimension(*) :: host_and_port\n  integer(c_int16_t), value :: default_port\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketConnection * g_socket_client_connect_to_host_finish (GSocketClient *client, GAsyncResult *result, GError **error);\nfunction g_socket_client_connect_to_host_finish(client, result, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_socket_client_connect_to_host_finish\n  type(c_ptr), value :: client\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_socket_client_connect_to_service_async (GSocketClient *client, const gchar *domain, const gchar *service, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_socket_client_connect_to_service_async(client, domain, service,&\n& cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_char, c_funptr\n  implicit none\n  type(c_ptr), value :: client\n  character(kind=c_char), dimension(*) :: domain\n  character(kind=c_char), dimension(*) :: service\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketConnection * g_socket_client_connect_to_service_finish (GSocketClient *client, GAsyncResult *result, GError **error);\nfunction g_socket_client_connect_to_service_finish(client, result, error)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_socket_client_connect_to_service_finish\n  type(c_ptr), value :: client\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_socket_client_connect_to_uri_async (GSocketClient *client, const gchar *uri, guint16 default_port, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_socket_client_connect_to_uri_async(client, uri, default_port,&\n& cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_char, c_int16_t, c_funptr\n  implicit none\n  type(c_ptr), value :: client\n  character(kind=c_char), dimension(*) :: uri\n  integer(c_int16_t), value :: default_port\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketConnection * g_socket_client_connect_to_uri_finish (GSocketClient *client, GAsyncResult *result, GError **error);\nfunction g_socket_client_connect_to_uri_finish(client, result, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_socket_client_connect_to_uri_finish\n  type(c_ptr), value :: client\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_socket_client_add_application_proxy (GSocketClient *client, const gchar *protocol);\nsubroutine g_socket_client_add_application_proxy(client, protocol) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: client\n  character(kind=c_char), dimension(*) :: protocol\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gsocketconnectable.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_socket_connectable_get_type (void) ;\nfunction g_socket_connectable_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_socket_connectable_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketAddressEnumerator *g_socket_connectable_enumerate (GSocketConnectable *connectable);\nfunction g_socket_connectable_enumerate(connectable) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_socket_connectable_enumerate\n  type(c_ptr), value :: connectable\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketAddressEnumerator *g_socket_connectable_proxy_enumerate (GSocketConnectable *connectable);\nfunction g_socket_connectable_proxy_enumerate(connectable) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_socket_connectable_proxy_enumerate\n  type(c_ptr), value :: connectable\nend function\n\n! GIO_AVAILABLE_IN_2_48\n!gchar *g_socket_connectable_to_string (GSocketConnectable *connectable);\nfunction g_socket_connectable_to_string(connectable) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_socket_connectable_to_string\n  type(c_ptr), value :: connectable\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gsocketconnection.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_socket_connection_get_type (void) ;\nfunction g_socket_connection_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_socket_connection_get_type\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!gboolean g_socket_connection_is_connected (GSocketConnection *connection);\nfunction g_socket_connection_is_connected(connection) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_connection_is_connected\n  type(c_ptr), value :: connection\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!gboolean g_socket_connection_connect (GSocketConnection *connection, GSocketAddress *address, GCancellable *cancellable, GError **error);\nfunction g_socket_connection_connect(connection, address, cancellable, error)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_connection_connect\n  type(c_ptr), value :: connection\n  type(c_ptr), value :: address\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!void g_socket_connection_connect_async (GSocketConnection *connection, GSocketAddress *address, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_socket_connection_connect_async(connection, address, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: connection\n  type(c_ptr), value :: address\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!gboolean g_socket_connection_connect_finish (GSocketConnection *connection, GAsyncResult *result, GError **error);\nfunction g_socket_connection_connect_finish(connection, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_connection_connect_finish\n  type(c_ptr), value :: connection\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSocket *g_socket_connection_get_socket (GSocketConnection *connection);\nfunction g_socket_connection_get_socket(connection) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_socket_connection_get_socket\n  type(c_ptr), value :: connection\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketAddress *g_socket_connection_get_local_address (GSocketConnection *connection, GError **error);\nfunction g_socket_connection_get_local_address(connection, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_socket_connection_get_local_address\n  type(c_ptr), value :: connection\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketAddress *g_socket_connection_get_remote_address (GSocketConnection *connection, GError **error);\nfunction g_socket_connection_get_remote_address(connection, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_socket_connection_get_remote_address\n  type(c_ptr), value :: connection\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_socket_connection_factory_register_type (GType g_type, GSocketFamily family, GSocketType type, gint protocol);\nsubroutine g_socket_connection_factory_register_type(g_type, family, type,&\n& protocol) bind(c)\n  import :: c_size_t, c_int\n  implicit none\n  integer(c_size_t), value :: g_type\n  integer(c_int), value :: family\n  integer(c_int), value :: type\n  integer(c_int), value :: protocol\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GType g_socket_connection_factory_lookup_type (GSocketFamily family, GSocketType type, gint protocol_id);\nfunction g_socket_connection_factory_lookup_type(family, type, protocol_id)&\n& bind(c)\n  import :: c_size_t, c_int\n  implicit none\n  integer(c_size_t) :: g_socket_connection_factory_lookup_type\n  integer(c_int), value :: family\n  integer(c_int), value :: type\n  integer(c_int), value :: protocol_id\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketConnection *g_socket_connection_factory_create_connection (GSocket *socket);\nfunction g_socket_connection_factory_create_connection(socket) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_socket_connection_factory_create_connection\n  type(c_ptr), value :: socket\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gsocketcontrolmessage.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_socket_control_message_get_type (void) ;\nfunction g_socket_control_message_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_socket_control_message_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gsize g_socket_control_message_get_size (GSocketControlMessage *message);\nfunction g_socket_control_message_get_size(message) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_socket_control_message_get_size\n  type(c_ptr), value :: message\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!int g_socket_control_message_get_level (GSocketControlMessage *message);\nfunction g_socket_control_message_get_level(message) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_control_message_get_level\n  type(c_ptr), value :: message\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!int g_socket_control_message_get_msg_type (GSocketControlMessage *message);\nfunction g_socket_control_message_get_msg_type(message) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_control_message_get_msg_type\n  type(c_ptr), value :: message\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_socket_control_message_serialize (GSocketControlMessage *message, gpointer data);\nsubroutine g_socket_control_message_serialize(message, data) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: message\n  type(c_ptr), value :: data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketControlMessage *g_socket_control_message_deserialize (int level, int type, gsize size, gpointer data);\nfunction g_socket_control_message_deserialize(level, type, size, data) bind(c)\n  import :: c_ptr, c_int, c_size_t\n  implicit none\n  type(c_ptr) :: g_socket_control_message_deserialize\n  integer(c_int), value :: level\n  integer(c_int), value :: type\n  integer(c_size_t), value :: size\n  type(c_ptr), value :: data\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gsocketlistener.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_socket_listener_get_type (void) ;\nfunction g_socket_listener_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_socket_listener_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketListener * g_socket_listener_new (void);\nfunction g_socket_listener_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_socket_listener_new\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_socket_listener_set_backlog (GSocketListener *listener, int listen_backlog);\nsubroutine g_socket_listener_set_backlog(listener, listen_backlog) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: listener\n  integer(c_int), value :: listen_backlog\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_socket_listener_add_socket (GSocketListener *listener, GSocket *socket, GObject *source_object, GError **error);\nfunction g_socket_listener_add_socket(listener, socket, source_object, error)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_listener_add_socket\n  type(c_ptr), value :: listener\n  type(c_ptr), value :: socket\n  type(c_ptr), value :: source_object\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_socket_listener_add_address (GSocketListener *listener, GSocketAddress *address, GSocketType type, GSocketProtocol protocol, GObject *source_object, GSocketAddress **effective_address, GError **error);\nfunction g_socket_listener_add_address(listener, address, type, protocol,&\n& source_object, effective_address, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_listener_add_address\n  type(c_ptr), value :: listener\n  type(c_ptr), value :: address\n  integer(c_int), value :: type\n  integer(c_int), value :: protocol\n  type(c_ptr), value :: source_object\n  type(c_ptr), value :: effective_address\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_socket_listener_add_inet_port (GSocketListener *listener, guint16 port, GObject *source_object, GError **error);\nfunction g_socket_listener_add_inet_port(listener, port, source_object, error)&\n& bind(c)\n  import :: c_int, c_ptr, c_int16_t\n  implicit none\n  integer(c_int) :: g_socket_listener_add_inet_port\n  type(c_ptr), value :: listener\n  integer(c_int16_t), value :: port\n  type(c_ptr), value :: source_object\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!guint16 g_socket_listener_add_any_inet_port (GSocketListener *listener, GObject *source_object, GError **error);\nfunction g_socket_listener_add_any_inet_port(listener, source_object, error)&\n& bind(c)\n  import :: c_int16_t, c_ptr\n  implicit none\n  integer(c_int16_t) :: g_socket_listener_add_any_inet_port\n  type(c_ptr), value :: listener\n  type(c_ptr), value :: source_object\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSocket * g_socket_listener_accept_socket (GSocketListener *listener, GObject **source_object, GCancellable *cancellable, GError **error);\nfunction g_socket_listener_accept_socket(listener, source_object, cancellable,&\n& error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_socket_listener_accept_socket\n  type(c_ptr), value :: listener\n  type(c_ptr), value :: source_object\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_socket_listener_accept_socket_async (GSocketListener *listener, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_socket_listener_accept_socket_async(listener, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: listener\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GSocket * g_socket_listener_accept_socket_finish (GSocketListener *listener, GAsyncResult *result, GObject **source_object, GError **error);\nfunction g_socket_listener_accept_socket_finish(listener, result,&\n& source_object, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_socket_listener_accept_socket_finish\n  type(c_ptr), value :: listener\n  type(c_ptr), value :: result\n  type(c_ptr), value :: source_object\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketConnection * g_socket_listener_accept (GSocketListener *listener, GObject **source_object, GCancellable *cancellable, GError **error);\nfunction g_socket_listener_accept(listener, source_object, cancellable, error)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_socket_listener_accept\n  type(c_ptr), value :: listener\n  type(c_ptr), value :: source_object\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_socket_listener_accept_async (GSocketListener *listener, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_socket_listener_accept_async(listener, cancellable, callback,&\n& user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: listener\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketConnection * g_socket_listener_accept_finish (GSocketListener *listener, GAsyncResult *result, GObject **source_object, GError **error);\nfunction g_socket_listener_accept_finish(listener, result, source_object,&\n& error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_socket_listener_accept_finish\n  type(c_ptr), value :: listener\n  type(c_ptr), value :: result\n  type(c_ptr), value :: source_object\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_socket_listener_close (GSocketListener *listener);\nsubroutine g_socket_listener_close(listener) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: listener\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gsocketservice.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_socket_service_get_type (void);\nfunction g_socket_service_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_socket_service_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketService *g_socket_service_new (void);\nfunction g_socket_service_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_socket_service_new\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_socket_service_start (GSocketService *service);\nsubroutine g_socket_service_start(service) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: service\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_socket_service_stop (GSocketService *service);\nsubroutine g_socket_service_stop(service) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: service\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_socket_service_is_active (GSocketService *service);\nfunction g_socket_service_is_active(service) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_socket_service_is_active\n  type(c_ptr), value :: service\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gsrvtarget.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_srv_target_get_type (void) ;\nfunction g_srv_target_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_srv_target_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSrvTarget *g_srv_target_new (const gchar *hostname, guint16 port, guint16 priority, guint16 weight);\nfunction g_srv_target_new(hostname, port, priority, weight) bind(c)\n  import :: c_ptr, c_char, c_int16_t\n  implicit none\n  type(c_ptr) :: g_srv_target_new\n  character(kind=c_char), dimension(*) :: hostname\n  integer(c_int16_t), value :: port\n  integer(c_int16_t), value :: priority\n  integer(c_int16_t), value :: weight\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSrvTarget *g_srv_target_copy (GSrvTarget *target);\nfunction g_srv_target_copy(target) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_srv_target_copy\n  type(c_ptr), value :: target\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_srv_target_free (GSrvTarget *target);\nsubroutine g_srv_target_free(target) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: target\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar *g_srv_target_get_hostname (GSrvTarget *target);\nfunction g_srv_target_get_hostname(target) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_srv_target_get_hostname\n  type(c_ptr), value :: target\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!guint16 g_srv_target_get_port (GSrvTarget *target);\nfunction g_srv_target_get_port(target) bind(c)\n  import :: c_int16_t, c_ptr\n  implicit none\n  integer(c_int16_t) :: g_srv_target_get_port\n  type(c_ptr), value :: target\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!guint16 g_srv_target_get_priority (GSrvTarget *target);\nfunction g_srv_target_get_priority(target) bind(c)\n  import :: c_int16_t, c_ptr\n  implicit none\n  integer(c_int16_t) :: g_srv_target_get_priority\n  type(c_ptr), value :: target\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!guint16 g_srv_target_get_weight (GSrvTarget *target);\nfunction g_srv_target_get_weight(target) bind(c)\n  import :: c_int16_t, c_ptr\n  implicit none\n  integer(c_int16_t) :: g_srv_target_get_weight\n  type(c_ptr), value :: target\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GList *g_srv_target_list_sort (GList *targets);\nfunction g_srv_target_list_sort(targets) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_srv_target_list_sort\n  type(c_ptr), value :: targets\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gsubprocess.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_2_40\n!GType g_subprocess_get_type (void) ;\nfunction g_subprocess_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_subprocess_get_type\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!GSubprocess * g_subprocess_newv (const gchar * const *argv, GSubprocessFlags flags, GError **error);\nfunction g_subprocess_newv(argv, flags, error) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_subprocess_newv\n  type(c_ptr), dimension(*) :: argv\n  integer(c_int), value :: flags\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!GOutputStream * g_subprocess_get_stdin_pipe (GSubprocess *subprocess);\nfunction g_subprocess_get_stdin_pipe(subprocess) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_subprocess_get_stdin_pipe\n  type(c_ptr), value :: subprocess\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!GInputStream * g_subprocess_get_stdout_pipe (GSubprocess *subprocess);\nfunction g_subprocess_get_stdout_pipe(subprocess) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_subprocess_get_stdout_pipe\n  type(c_ptr), value :: subprocess\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!GInputStream * g_subprocess_get_stderr_pipe (GSubprocess *subprocess);\nfunction g_subprocess_get_stderr_pipe(subprocess) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_subprocess_get_stderr_pipe\n  type(c_ptr), value :: subprocess\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!const gchar * g_subprocess_get_identifier (GSubprocess *subprocess);\nfunction g_subprocess_get_identifier(subprocess) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_subprocess_get_identifier\n  type(c_ptr), value :: subprocess\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!void g_subprocess_send_signal (GSubprocess *subprocess, gint signal_num);\nsubroutine g_subprocess_send_signal(subprocess, signal_num) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: subprocess\n  integer(c_int), value :: signal_num\nend subroutine\n\n! GIO_AVAILABLE_IN_2_40\n!void g_subprocess_force_exit (GSubprocess *subprocess);\nsubroutine g_subprocess_force_exit(subprocess) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: subprocess\nend subroutine\n\n! GIO_AVAILABLE_IN_2_40\n!gboolean g_subprocess_wait (GSubprocess *subprocess, GCancellable *cancellable, GError **error);\nfunction g_subprocess_wait(subprocess, cancellable, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_subprocess_wait\n  type(c_ptr), value :: subprocess\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!void g_subprocess_wait_async (GSubprocess *subprocess, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_subprocess_wait_async(subprocess, cancellable, callback,&\n& user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: subprocess\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_2_40\n!gboolean g_subprocess_wait_finish (GSubprocess *subprocess, GAsyncResult *result, GError **error);\nfunction g_subprocess_wait_finish(subprocess, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_subprocess_wait_finish\n  type(c_ptr), value :: subprocess\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!gboolean g_subprocess_wait_check (GSubprocess *subprocess, GCancellable *cancellable, GError **error);\nfunction g_subprocess_wait_check(subprocess, cancellable, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_subprocess_wait_check\n  type(c_ptr), value :: subprocess\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!void g_subprocess_wait_check_async (GSubprocess *subprocess, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_subprocess_wait_check_async(subprocess, cancellable, callback,&\n& user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: subprocess\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_2_40\n!gboolean g_subprocess_wait_check_finish (GSubprocess *subprocess, GAsyncResult *result, GError **error);\nfunction g_subprocess_wait_check_finish(subprocess, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_subprocess_wait_check_finish\n  type(c_ptr), value :: subprocess\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!gint g_subprocess_get_status (GSubprocess *subprocess);\nfunction g_subprocess_get_status(subprocess) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_subprocess_get_status\n  type(c_ptr), value :: subprocess\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!gboolean g_subprocess_get_successful (GSubprocess *subprocess);\nfunction g_subprocess_get_successful(subprocess) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_subprocess_get_successful\n  type(c_ptr), value :: subprocess\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!gboolean g_subprocess_get_if_exited (GSubprocess *subprocess);\nfunction g_subprocess_get_if_exited(subprocess) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_subprocess_get_if_exited\n  type(c_ptr), value :: subprocess\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!gint g_subprocess_get_exit_status (GSubprocess *subprocess);\nfunction g_subprocess_get_exit_status(subprocess) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_subprocess_get_exit_status\n  type(c_ptr), value :: subprocess\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!gboolean g_subprocess_get_if_signaled (GSubprocess *subprocess);\nfunction g_subprocess_get_if_signaled(subprocess) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_subprocess_get_if_signaled\n  type(c_ptr), value :: subprocess\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!gint g_subprocess_get_term_sig (GSubprocess *subprocess);\nfunction g_subprocess_get_term_sig(subprocess) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_subprocess_get_term_sig\n  type(c_ptr), value :: subprocess\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!gboolean g_subprocess_communicate (GSubprocess *subprocess, GBytes *stdin_buf, GCancellable *cancellable, GBytes **stdout_buf, GBytes **stderr_buf, GError **error);\nfunction g_subprocess_communicate(subprocess, stdin_buf, cancellable,&\n& stdout_buf, stderr_buf, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_subprocess_communicate\n  type(c_ptr), value :: subprocess\n  type(c_ptr), value :: stdin_buf\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: stdout_buf\n  type(c_ptr), value :: stderr_buf\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!void g_subprocess_communicate_async (GSubprocess *subprocess, GBytes *stdin_buf, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_subprocess_communicate_async(subprocess, stdin_buf, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: subprocess\n  type(c_ptr), value :: stdin_buf\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_2_40\n!gboolean g_subprocess_communicate_finish (GSubprocess *subprocess, GAsyncResult *result, GBytes **stdout_buf, GBytes **stderr_buf, GError **error);\nfunction g_subprocess_communicate_finish(subprocess, result, stdout_buf,&\n& stderr_buf, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_subprocess_communicate_finish\n  type(c_ptr), value :: subprocess\n  type(c_ptr), value :: result\n  type(c_ptr), value :: stdout_buf\n  type(c_ptr), value :: stderr_buf\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!gboolean g_subprocess_communicate_utf8 (GSubprocess *subprocess, const char *stdin_buf, GCancellable *cancellable, char **stdout_buf, char **stderr_buf, GError **error);\nfunction g_subprocess_communicate_utf8(subprocess, stdin_buf, cancellable,&\n& stdout_buf, stderr_buf, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_subprocess_communicate_utf8\n  type(c_ptr), value :: subprocess\n  character(kind=c_char), dimension(*) :: stdin_buf\n  type(c_ptr), value :: cancellable\n  type(c_ptr), dimension(*) :: stdout_buf\n  type(c_ptr), dimension(*) :: stderr_buf\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!void g_subprocess_communicate_utf8_async (GSubprocess *subprocess, const char *stdin_buf, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_subprocess_communicate_utf8_async(subprocess, stdin_buf,&\n& cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_char, c_funptr\n  implicit none\n  type(c_ptr), value :: subprocess\n  character(kind=c_char), dimension(*) :: stdin_buf\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_2_40\n!gboolean g_subprocess_communicate_utf8_finish (GSubprocess *subprocess, GAsyncResult *result, char **stdout_buf, char **stderr_buf, GError **error);\nfunction g_subprocess_communicate_utf8_finish(subprocess, result, stdout_buf,&\n& stderr_buf, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_subprocess_communicate_utf8_finish\n  type(c_ptr), value :: subprocess\n  type(c_ptr), value :: result\n  type(c_ptr), dimension(*) :: stdout_buf\n  type(c_ptr), dimension(*) :: stderr_buf\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gsubprocesslauncher.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_2_40\n!GType g_subprocess_launcher_get_type (void) ;\nfunction g_subprocess_launcher_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_subprocess_launcher_get_type\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!GSubprocessLauncher * g_subprocess_launcher_new (GSubprocessFlags flags);\nfunction g_subprocess_launcher_new(flags) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_subprocess_launcher_new\n  integer(c_int), value :: flags\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!GSubprocess * g_subprocess_launcher_spawnv (GSubprocessLauncher *self, const gchar * const *argv, GError **error);\nfunction g_subprocess_launcher_spawnv(self, argv, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_subprocess_launcher_spawnv\n  type(c_ptr), value :: self\n  type(c_ptr), dimension(*) :: argv\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!void g_subprocess_launcher_set_environ (GSubprocessLauncher *self, gchar **env);\nsubroutine g_subprocess_launcher_set_environ(self, env) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), dimension(*) :: env\nend subroutine\n\n! GIO_AVAILABLE_IN_2_40\n!void g_subprocess_launcher_setenv (GSubprocessLauncher *self, const gchar *variable, const gchar *value, gboolean overwrite);\nsubroutine g_subprocess_launcher_setenv(self, variable, value, overwrite)&\n& bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: variable\n  character(kind=c_char), dimension(*) :: value\n  integer(c_int), value :: overwrite\nend subroutine\n\n! GIO_AVAILABLE_IN_2_40\n!void g_subprocess_launcher_unsetenv (GSubprocessLauncher *self, const gchar *variable);\nsubroutine g_subprocess_launcher_unsetenv(self, variable) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: variable\nend subroutine\n\n! GIO_AVAILABLE_IN_2_40\n!const gchar * g_subprocess_launcher_getenv (GSubprocessLauncher *self, const gchar *variable);\nfunction g_subprocess_launcher_getenv(self, variable) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_subprocess_launcher_getenv\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: variable\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!void g_subprocess_launcher_set_cwd (GSubprocessLauncher *self, const gchar *cwd);\nsubroutine g_subprocess_launcher_set_cwd(self, cwd) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: cwd\nend subroutine\n\n! GIO_AVAILABLE_IN_2_40\n!void g_subprocess_launcher_set_flags (GSubprocessLauncher *self, GSubprocessFlags flags);\nsubroutine g_subprocess_launcher_set_flags(self, flags) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: flags\nend subroutine\n\n! GIO_AVAILABLE_IN_2_40\n!void g_subprocess_launcher_set_stdin_file_path (GSubprocessLauncher *self, const gchar *path);\nsubroutine g_subprocess_launcher_set_stdin_file_path(self, path) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: path\nend subroutine\n\n! GIO_AVAILABLE_IN_2_40\n!void g_subprocess_launcher_take_stdin_fd (GSubprocessLauncher *self, gint fd);\nsubroutine g_subprocess_launcher_take_stdin_fd(self, fd) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: fd\nend subroutine\n\n! GIO_AVAILABLE_IN_2_40\n!void g_subprocess_launcher_set_stdout_file_path (GSubprocessLauncher *self, const gchar *path);\nsubroutine g_subprocess_launcher_set_stdout_file_path(self, path) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: path\nend subroutine\n\n! GIO_AVAILABLE_IN_2_40\n!void g_subprocess_launcher_take_stdout_fd (GSubprocessLauncher *self, gint fd);\nsubroutine g_subprocess_launcher_take_stdout_fd(self, fd) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: fd\nend subroutine\n\n! GIO_AVAILABLE_IN_2_40\n!void g_subprocess_launcher_set_stderr_file_path (GSubprocessLauncher *self, const gchar *path);\nsubroutine g_subprocess_launcher_set_stderr_file_path(self, path) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: path\nend subroutine\n\n! GIO_AVAILABLE_IN_2_40\n!void g_subprocess_launcher_take_stderr_fd (GSubprocessLauncher *self, gint fd);\nsubroutine g_subprocess_launcher_take_stderr_fd(self, fd) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: fd\nend subroutine\n\n! GIO_AVAILABLE_IN_2_40\n!void g_subprocess_launcher_take_fd (GSubprocessLauncher *self, gint source_fd, gint target_fd);\nsubroutine g_subprocess_launcher_take_fd(self, source_fd, target_fd) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: source_fd\n  integer(c_int), value :: target_fd\nend subroutine\n\n! GIO_AVAILABLE_IN_2_68\n!void g_subprocess_launcher_close (GSubprocessLauncher *self);\nsubroutine g_subprocess_launcher_close(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n! GIO_AVAILABLE_IN_2_40\n!void g_subprocess_launcher_set_child_setup (GSubprocessLauncher *self, GSpawnChildSetupFunc child_setup, gpointer user_data, GDestroyNotify destroy_notify);\nsubroutine g_subprocess_launcher_set_child_setup(self, child_setup, user_data,&\n& destroy_notify) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_funptr), value :: child_setup\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: destroy_notify\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gtask.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_2_36\n!GType g_task_get_type (void) ;\nfunction g_task_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_task_get_type\nend function\n\n! GIO_AVAILABLE_IN_2_36\n!GTask *g_task_new (gpointer source_object, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer callback_data);\nfunction g_task_new(source_object, cancellable, callback, callback_data)&\n& bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_task_new\n  type(c_ptr), value :: source_object\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: callback_data\nend function\n\n! GIO_AVAILABLE_IN_2_36\n!void g_task_report_error (gpointer source_object, GAsyncReadyCallback callback, gpointer callback_data, gpointer source_tag, GError *error);\nsubroutine g_task_report_error(source_object, callback, callback_data,&\n& source_tag, error) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: source_object\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: callback_data\n  type(c_ptr), value :: source_tag\n  type(c_ptr), value :: error\nend subroutine\n\n! GIO_AVAILABLE_IN_2_36\n!void g_task_set_task_data (GTask *task, gpointer task_data, GDestroyNotify task_data_destroy);\nsubroutine g_task_set_task_data(task, task_data, task_data_destroy) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: task\n  type(c_ptr), value :: task_data\n  type(c_funptr), value :: task_data_destroy\nend subroutine\n\n! GIO_AVAILABLE_IN_2_36\n!void g_task_set_priority (GTask *task, gint priority);\nsubroutine g_task_set_priority(task, priority) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: task\n  integer(c_int), value :: priority\nend subroutine\n\n! GIO_AVAILABLE_IN_2_36\n!void g_task_set_check_cancellable (GTask *task, gboolean check_cancellable);\nsubroutine g_task_set_check_cancellable(task, check_cancellable) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: task\n  integer(c_int), value :: check_cancellable\nend subroutine\n\n! GIO_AVAILABLE_IN_2_36\n!void g_task_set_source_tag (GTask *task, gpointer source_tag);\nsubroutine g_task_set_source_tag(task, source_tag) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: task\n  type(c_ptr), value :: source_tag\nend subroutine\n\n! GIO_AVAILABLE_IN_2_60\n!void g_task_set_name (GTask *task, const gchar *name);\nsubroutine g_task_set_name(task, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: task\n  character(kind=c_char), dimension(*) :: name\nend subroutine\n\n! GIO_AVAILABLE_IN_2_76\n!void g_task_set_static_name (GTask *task, const gchar *name);\nsubroutine g_task_set_static_name(task, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: task\n  character(kind=c_char), dimension(*) :: name\nend subroutine\n\n! GIO_AVAILABLE_IN_2_36\n!gpointer g_task_get_source_object (GTask *task);\nfunction g_task_get_source_object(task) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_task_get_source_object\n  type(c_ptr), value :: task\nend function\n\n! GIO_AVAILABLE_IN_2_36\n!gpointer g_task_get_task_data (GTask *task);\nfunction g_task_get_task_data(task) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_task_get_task_data\n  type(c_ptr), value :: task\nend function\n\n! GIO_AVAILABLE_IN_2_36\n!gint g_task_get_priority (GTask *task);\nfunction g_task_get_priority(task) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_task_get_priority\n  type(c_ptr), value :: task\nend function\n\n! GIO_AVAILABLE_IN_2_36\n!GMainContext *g_task_get_context (GTask *task);\nfunction g_task_get_context(task) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_task_get_context\n  type(c_ptr), value :: task\nend function\n\n! GIO_AVAILABLE_IN_2_36\n!GCancellable *g_task_get_cancellable (GTask *task);\nfunction g_task_get_cancellable(task) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_task_get_cancellable\n  type(c_ptr), value :: task\nend function\n\n! GIO_AVAILABLE_IN_2_36\n!gboolean g_task_get_check_cancellable (GTask *task);\nfunction g_task_get_check_cancellable(task) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_task_get_check_cancellable\n  type(c_ptr), value :: task\nend function\n\n! GIO_AVAILABLE_IN_2_36\n!gpointer g_task_get_source_tag (GTask *task);\nfunction g_task_get_source_tag(task) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_task_get_source_tag\n  type(c_ptr), value :: task\nend function\n\n! GIO_AVAILABLE_IN_2_60\n!const gchar *g_task_get_name (GTask *task);\nfunction g_task_get_name(task) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_task_get_name\n  type(c_ptr), value :: task\nend function\n\n! GIO_AVAILABLE_IN_2_36\n!gboolean g_task_is_valid (gpointer result, gpointer source_object);\nfunction g_task_is_valid(result, source_object) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_task_is_valid\n  type(c_ptr), value :: result\n  type(c_ptr), value :: source_object\nend function\n\n! GIO_AVAILABLE_IN_2_36\n!void g_task_run_in_thread (GTask *task, GTaskThreadFunc task_func);\nsubroutine g_task_run_in_thread(task, task_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: task\n  type(c_funptr), value :: task_func\nend subroutine\n\n! GIO_AVAILABLE_IN_2_36\n!void g_task_run_in_thread_sync (GTask *task, GTaskThreadFunc task_func);\nsubroutine g_task_run_in_thread_sync(task, task_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: task\n  type(c_funptr), value :: task_func\nend subroutine\n\n! GIO_AVAILABLE_IN_2_36\n!gboolean g_task_set_return_on_cancel (GTask *task, gboolean return_on_cancel);\nfunction g_task_set_return_on_cancel(task, return_on_cancel) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_task_set_return_on_cancel\n  type(c_ptr), value :: task\n  integer(c_int), value :: return_on_cancel\nend function\n\n! GIO_AVAILABLE_IN_2_36\n!gboolean g_task_get_return_on_cancel (GTask *task);\nfunction g_task_get_return_on_cancel(task) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_task_get_return_on_cancel\n  type(c_ptr), value :: task\nend function\n\n! GIO_AVAILABLE_IN_2_36\n!void g_task_attach_source (GTask *task, GSource *source, GSourceFunc callback);\nsubroutine g_task_attach_source(task, source, callback) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: task\n  type(c_ptr), value :: source\n  type(c_funptr), value :: callback\nend subroutine\n\n! GIO_AVAILABLE_IN_2_36\n!void g_task_return_pointer (GTask *task, gpointer result, GDestroyNotify result_destroy);\nsubroutine g_task_return_pointer(task, result, result_destroy) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: task\n  type(c_ptr), value :: result\n  type(c_funptr), value :: result_destroy\nend subroutine\n\n! GIO_AVAILABLE_IN_2_36\n!void g_task_return_boolean (GTask *task, gboolean result);\nsubroutine g_task_return_boolean(task, result) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: task\n  integer(c_int), value :: result\nend subroutine\n\n! GIO_AVAILABLE_IN_2_36\n!void g_task_return_int (GTask *task, gssize result);\nsubroutine g_task_return_int(task, result) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr), value :: task\n  integer(c_size_t), value :: result\nend subroutine\n\n! GIO_AVAILABLE_IN_2_36\n!void g_task_return_error (GTask *task, GError *error);\nsubroutine g_task_return_error(task, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: task\n  type(c_ptr), value :: error\nend subroutine\n\n! GIO_AVAILABLE_IN_2_80\n!void g_task_return_new_error_literal (GTask *task, GQuark domain, gint code, const char *message);\nsubroutine g_task_return_new_error_literal(task, domain, code, message) bind(c)\n  import :: c_ptr, c_int32_t, c_int, c_char\n  implicit none\n  type(c_ptr), value :: task\n  integer(c_int32_t), value :: domain\n  integer(c_int), value :: code\n  character(kind=c_char), dimension(*) :: message\nend subroutine\n\n! GIO_AVAILABLE_IN_2_64\n!void g_task_return_value (GTask *task, GValue *result);\nsubroutine g_task_return_value(task, result) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: task\n  type(c_ptr), value :: result\nend subroutine\n\n! GIO_AVAILABLE_IN_2_36\n!gboolean g_task_return_error_if_cancelled (GTask *task);\nfunction g_task_return_error_if_cancelled(task) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_task_return_error_if_cancelled\n  type(c_ptr), value :: task\nend function\n\n! GIO_AVAILABLE_IN_2_36\n!gpointer g_task_propagate_pointer (GTask *task, GError **error);\nfunction g_task_propagate_pointer(task, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_task_propagate_pointer\n  type(c_ptr), value :: task\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_36\n!gboolean g_task_propagate_boolean (GTask *task, GError **error);\nfunction g_task_propagate_boolean(task, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_task_propagate_boolean\n  type(c_ptr), value :: task\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_36\n!gssize g_task_propagate_int (GTask *task, GError **error);\nfunction g_task_propagate_int(task, error) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_task_propagate_int\n  type(c_ptr), value :: task\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_64\n!gboolean g_task_propagate_value (GTask *task, GValue *value, GError **error);\nfunction g_task_propagate_value(task, value, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_task_propagate_value\n  type(c_ptr), value :: task\n  type(c_ptr), value :: value\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_36\n!gboolean g_task_had_error (GTask *task);\nfunction g_task_had_error(task) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_task_had_error\n  type(c_ptr), value :: task\nend function\n\n! GIO_AVAILABLE_IN_2_44\n!gboolean g_task_get_completed (GTask *task);\nfunction g_task_get_completed(task) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_task_get_completed\n  type(c_ptr), value :: task\nend function\n\n! \n!void g_task_print_alive_tasks (void);\nsubroutine g_task_print_alive_tasks() bind(c)\n  implicit none\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gtcpconnection.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_tcp_connection_get_type (void) ;\nfunction g_tcp_connection_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_tcp_connection_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_tcp_connection_set_graceful_disconnect (GTcpConnection *connection, gboolean graceful_disconnect);\nsubroutine g_tcp_connection_set_graceful_disconnect(connection,&\n& graceful_disconnect) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: connection\n  integer(c_int), value :: graceful_disconnect\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_tcp_connection_get_graceful_disconnect (GTcpConnection *connection);\nfunction g_tcp_connection_get_graceful_disconnect(connection) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_tcp_connection_get_graceful_disconnect\n  type(c_ptr), value :: connection\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gtcpwrapperconnection.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_tcp_wrapper_connection_get_type (void) ;\nfunction g_tcp_wrapper_connection_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_tcp_wrapper_connection_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketConnection *g_tcp_wrapper_connection_new (GIOStream *base_io_stream, GSocket *socket);\nfunction g_tcp_wrapper_connection_new(base_io_stream, socket) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tcp_wrapper_connection_new\n  type(c_ptr), value :: base_io_stream\n  type(c_ptr), value :: socket\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GIOStream *g_tcp_wrapper_connection_get_base_io_stream (GTcpWrapperConnection *conn);\nfunction g_tcp_wrapper_connection_get_base_io_stream(conn) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tcp_wrapper_connection_get_base_io_stream\n  type(c_ptr), value :: conn\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gtestdbus.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_2_34\n!GType g_test_dbus_get_type (void) ;\nfunction g_test_dbus_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_test_dbus_get_type\nend function\n\n! GIO_AVAILABLE_IN_2_34\n!GTestDBus * g_test_dbus_new (GTestDBusFlags flags);\nfunction g_test_dbus_new(flags) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_test_dbus_new\n  integer(c_int), value :: flags\nend function\n\n! GIO_AVAILABLE_IN_2_34\n!GTestDBusFlags g_test_dbus_get_flags (GTestDBus *self);\nfunction g_test_dbus_get_flags(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_test_dbus_get_flags\n  type(c_ptr), value :: self\nend function\n\n! GIO_AVAILABLE_IN_2_34\n!const gchar * g_test_dbus_get_bus_address (GTestDBus *self);\nfunction g_test_dbus_get_bus_address(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_test_dbus_get_bus_address\n  type(c_ptr), value :: self\nend function\n\n! GIO_AVAILABLE_IN_2_34\n!void g_test_dbus_add_service_dir (GTestDBus *self, const gchar *path);\nsubroutine g_test_dbus_add_service_dir(self, path) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: path\nend subroutine\n\n! GIO_AVAILABLE_IN_2_34\n!void g_test_dbus_up (GTestDBus *self);\nsubroutine g_test_dbus_up(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n! GIO_AVAILABLE_IN_2_34\n!void g_test_dbus_stop (GTestDBus *self);\nsubroutine g_test_dbus_stop(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n! GIO_AVAILABLE_IN_2_34\n!void g_test_dbus_down (GTestDBus *self);\nsubroutine g_test_dbus_down(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n! GIO_AVAILABLE_IN_2_34\n!void g_test_dbus_unset (void);\nsubroutine g_test_dbus_unset() bind(c)\n  implicit none\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gthemedicon.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_themed_icon_get_type (void) ;\nfunction g_themed_icon_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_themed_icon_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GIcon *g_themed_icon_new (const char *iconname);\nfunction g_themed_icon_new(iconname) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_themed_icon_new\n  character(kind=c_char), dimension(*) :: iconname\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GIcon *g_themed_icon_new_with_default_fallbacks (const char *iconname);\nfunction g_themed_icon_new_with_default_fallbacks(iconname) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_themed_icon_new_with_default_fallbacks\n  character(kind=c_char), dimension(*) :: iconname\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GIcon *g_themed_icon_new_from_names (char **iconnames, int len);\nfunction g_themed_icon_new_from_names(iconnames, len) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_themed_icon_new_from_names\n  type(c_ptr), dimension(*) :: iconnames\n  integer(c_int), value :: len\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_themed_icon_prepend_name (GThemedIcon *icon, const char *iconname);\nsubroutine g_themed_icon_prepend_name(icon, iconname) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: icon\n  character(kind=c_char), dimension(*) :: iconname\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_themed_icon_append_name (GThemedIcon *icon, const char *iconname);\nsubroutine g_themed_icon_append_name(icon, iconname) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: icon\n  character(kind=c_char), dimension(*) :: iconname\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar* const * g_themed_icon_get_names (GThemedIcon *icon);\nfunction g_themed_icon_get_names(icon) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_themed_icon_get_names\n  type(c_ptr), value :: icon\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gthreadedsocketservice.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_threaded_socket_service_get_type (void);\nfunction g_threaded_socket_service_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_threaded_socket_service_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketService * g_threaded_socket_service_new (int max_threads);\nfunction g_threaded_socket_service_new(max_threads) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_threaded_socket_service_new\n  integer(c_int), value :: max_threads\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gtlsbackend.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_tls_backend_get_type (void) ;\nfunction g_tls_backend_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_tls_backend_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GTlsBackend * g_tls_backend_get_default (void);\nfunction g_tls_backend_get_default() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tls_backend_get_default\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GTlsDatabase * g_tls_backend_get_default_database (GTlsBackend *backend);\nfunction g_tls_backend_get_default_database(backend) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tls_backend_get_default_database\n  type(c_ptr), value :: backend\nend function\n\n! GIO_AVAILABLE_IN_2_60\n!void g_tls_backend_set_default_database (GTlsBackend *backend, GTlsDatabase *database);\nsubroutine g_tls_backend_set_default_database(backend, database) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: backend\n  type(c_ptr), value :: database\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_tls_backend_supports_tls (GTlsBackend *backend);\nfunction g_tls_backend_supports_tls(backend) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_tls_backend_supports_tls\n  type(c_ptr), value :: backend\nend function\n\n! GIO_AVAILABLE_IN_2_48\n!gboolean g_tls_backend_supports_dtls (GTlsBackend *backend);\nfunction g_tls_backend_supports_dtls(backend) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_tls_backend_supports_dtls\n  type(c_ptr), value :: backend\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GType g_tls_backend_get_certificate_type (GTlsBackend *backend);\nfunction g_tls_backend_get_certificate_type(backend) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_tls_backend_get_certificate_type\n  type(c_ptr), value :: backend\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GType g_tls_backend_get_client_connection_type (GTlsBackend *backend);\nfunction g_tls_backend_get_client_connection_type(backend) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_tls_backend_get_client_connection_type\n  type(c_ptr), value :: backend\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GType g_tls_backend_get_server_connection_type (GTlsBackend *backend);\nfunction g_tls_backend_get_server_connection_type(backend) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_tls_backend_get_server_connection_type\n  type(c_ptr), value :: backend\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GType g_tls_backend_get_file_database_type (GTlsBackend *backend);\nfunction g_tls_backend_get_file_database_type(backend) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_tls_backend_get_file_database_type\n  type(c_ptr), value :: backend\nend function\n\n! GIO_AVAILABLE_IN_2_48\n!GType g_tls_backend_get_dtls_client_connection_type (GTlsBackend *backend);\nfunction g_tls_backend_get_dtls_client_connection_type(backend) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_tls_backend_get_dtls_client_connection_type\n  type(c_ptr), value :: backend\nend function\n\n! GIO_AVAILABLE_IN_2_48\n!GType g_tls_backend_get_dtls_server_connection_type (GTlsBackend *backend);\nfunction g_tls_backend_get_dtls_server_connection_type(backend) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_tls_backend_get_dtls_server_connection_type\n  type(c_ptr), value :: backend\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gtlscertificate.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_tls_certificate_get_type (void) ;\nfunction g_tls_certificate_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_tls_certificate_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GTlsCertificate *g_tls_certificate_new_from_pem (const gchar *data, gssize length, GError **error);\nfunction g_tls_certificate_new_from_pem(data, length, error) bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr) :: g_tls_certificate_new_from_pem\n  character(kind=c_char), dimension(*) :: data\n  integer(c_size_t), value :: length\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_72\n!GTlsCertificate *g_tls_certificate_new_from_pkcs12 (const guint8 *data, gsize length, const gchar *password, GError **error);\nfunction g_tls_certificate_new_from_pkcs12(data, length, password, error)&\n& bind(c)\n  import :: c_ptr, c_size_t, c_char\n  implicit none\n  type(c_ptr) :: g_tls_certificate_new_from_pkcs12\n  type(c_ptr), value :: data\n  integer(c_size_t), value :: length\n  character(kind=c_char), dimension(*) :: password\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_72\n!GTlsCertificate *g_tls_certificate_new_from_file_with_password (const gchar *file, const gchar *password, GError **error);\nfunction g_tls_certificate_new_from_file_with_password(file, password, error)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_tls_certificate_new_from_file_with_password\n  character(kind=c_char), dimension(*) :: file\n  character(kind=c_char), dimension(*) :: password\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GTlsCertificate *g_tls_certificate_new_from_file (const gchar *file, GError **error);\nfunction g_tls_certificate_new_from_file(file, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_tls_certificate_new_from_file\n  character(kind=c_char), dimension(*) :: file\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GTlsCertificate *g_tls_certificate_new_from_files (const gchar *cert_file, const gchar *key_file, GError **error);\nfunction g_tls_certificate_new_from_files(cert_file, key_file, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_tls_certificate_new_from_files\n  character(kind=c_char), dimension(*) :: cert_file\n  character(kind=c_char), dimension(*) :: key_file\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_68\n!GTlsCertificate *g_tls_certificate_new_from_pkcs11_uris (const gchar *pkcs11_uri, const gchar *private_key_pkcs11_uri, GError **error);\nfunction g_tls_certificate_new_from_pkcs11_uris(pkcs11_uri,&\n& private_key_pkcs11_uri, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_tls_certificate_new_from_pkcs11_uris\n  character(kind=c_char), dimension(*) :: pkcs11_uri\n  character(kind=c_char), dimension(*) :: private_key_pkcs11_uri\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GList *g_tls_certificate_list_new_from_file (const gchar *file, GError **error);\nfunction g_tls_certificate_list_new_from_file(file, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_tls_certificate_list_new_from_file\n  character(kind=c_char), dimension(*) :: file\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GTlsCertificate *g_tls_certificate_get_issuer (GTlsCertificate *cert);\nfunction g_tls_certificate_get_issuer(cert) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tls_certificate_get_issuer\n  type(c_ptr), value :: cert\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GTlsCertificateFlags g_tls_certificate_verify (GTlsCertificate *cert, GSocketConnectable *identity, GTlsCertificate *trusted_ca);\nfunction g_tls_certificate_verify(cert, identity, trusted_ca) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_tls_certificate_verify\n  type(c_ptr), value :: cert\n  type(c_ptr), value :: identity\n  type(c_ptr), value :: trusted_ca\nend function\n\n! GIO_AVAILABLE_IN_2_34\n!gboolean g_tls_certificate_is_same (GTlsCertificate *cert_one, GTlsCertificate *cert_two);\nfunction g_tls_certificate_is_same(cert_one, cert_two) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_tls_certificate_is_same\n  type(c_ptr), value :: cert_one\n  type(c_ptr), value :: cert_two\nend function\n\n! GIO_AVAILABLE_IN_2_70\n!GDateTime *g_tls_certificate_get_not_valid_before (GTlsCertificate *cert);\nfunction g_tls_certificate_get_not_valid_before(cert) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tls_certificate_get_not_valid_before\n  type(c_ptr), value :: cert\nend function\n\n! GIO_AVAILABLE_IN_2_70\n!GDateTime *g_tls_certificate_get_not_valid_after (GTlsCertificate *cert);\nfunction g_tls_certificate_get_not_valid_after(cert) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tls_certificate_get_not_valid_after\n  type(c_ptr), value :: cert\nend function\n\n! GIO_AVAILABLE_IN_2_70\n!gchar *g_tls_certificate_get_subject_name (GTlsCertificate *cert);\nfunction g_tls_certificate_get_subject_name(cert) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tls_certificate_get_subject_name\n  type(c_ptr), value :: cert\nend function\n\n! GIO_AVAILABLE_IN_2_70\n!gchar *g_tls_certificate_get_issuer_name (GTlsCertificate *cert);\nfunction g_tls_certificate_get_issuer_name(cert) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tls_certificate_get_issuer_name\n  type(c_ptr), value :: cert\nend function\n\n! GIO_AVAILABLE_IN_2_70\n!GPtrArray *g_tls_certificate_get_dns_names (GTlsCertificate *cert);\nfunction g_tls_certificate_get_dns_names(cert) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tls_certificate_get_dns_names\n  type(c_ptr), value :: cert\nend function\n\n! GIO_AVAILABLE_IN_2_70\n!GPtrArray *g_tls_certificate_get_ip_addresses (GTlsCertificate *cert);\nfunction g_tls_certificate_get_ip_addresses(cert) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tls_certificate_get_ip_addresses\n  type(c_ptr), value :: cert\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gtlsclientconnection.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_tls_client_connection_get_type (void) ;\nfunction g_tls_client_connection_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_tls_client_connection_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GIOStream * g_tls_client_connection_new (GIOStream *base_io_stream, GSocketConnectable *server_identity, GError **error);\nfunction g_tls_client_connection_new(base_io_stream, server_identity, error)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tls_client_connection_new\n  type(c_ptr), value :: base_io_stream\n  type(c_ptr), value :: server_identity\n  type(c_ptr), value :: error\nend function\n\n! GIO_DEPRECATED_IN_2_72\n!GTlsCertificateFlags g_tls_client_connection_get_validation_flags (GTlsClientConnection *conn);\nfunction g_tls_client_connection_get_validation_flags(conn) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_tls_client_connection_get_validation_flags\n  type(c_ptr), value :: conn\nend function\n\n! GIO_DEPRECATED_IN_2_72\n!void g_tls_client_connection_set_validation_flags (GTlsClientConnection *conn, GTlsCertificateFlags flags);\nsubroutine g_tls_client_connection_set_validation_flags(conn, flags) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: conn\n  integer(c_int), value :: flags\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketConnectable *g_tls_client_connection_get_server_identity (GTlsClientConnection *conn);\nfunction g_tls_client_connection_get_server_identity(conn) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tls_client_connection_get_server_identity\n  type(c_ptr), value :: conn\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_tls_client_connection_set_server_identity (GTlsClientConnection *conn, GSocketConnectable *identity);\nsubroutine g_tls_client_connection_set_server_identity(conn, identity) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: conn\n  type(c_ptr), value :: identity\nend subroutine\n\n! GIO_DEPRECATED_IN_2_56\n!gboolean g_tls_client_connection_get_use_ssl3 (GTlsClientConnection *conn);\nfunction g_tls_client_connection_get_use_ssl3(conn) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_tls_client_connection_get_use_ssl3\n  type(c_ptr), value :: conn\nend function\n\n! GIO_DEPRECATED_IN_2_56\n!void g_tls_client_connection_set_use_ssl3 (GTlsClientConnection *conn, gboolean use_ssl3);\nsubroutine g_tls_client_connection_set_use_ssl3(conn, use_ssl3) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: conn\n  integer(c_int), value :: use_ssl3\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GList * g_tls_client_connection_get_accepted_cas (GTlsClientConnection *conn);\nfunction g_tls_client_connection_get_accepted_cas(conn) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tls_client_connection_get_accepted_cas\n  type(c_ptr), value :: conn\nend function\n\n! GIO_AVAILABLE_IN_2_46\n!void g_tls_client_connection_copy_session_state (GTlsClientConnection *conn, GTlsClientConnection *source);\nsubroutine g_tls_client_connection_copy_session_state(conn, source) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: conn\n  type(c_ptr), value :: source\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gtlsconnection.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_tls_connection_get_type (void) ;\nfunction g_tls_connection_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_tls_connection_get_type\nend function\n\n! GIO_DEPRECATED\n!void g_tls_connection_set_use_system_certdb (GTlsConnection *conn, gboolean use_system_certdb);\nsubroutine g_tls_connection_set_use_system_certdb(conn, use_system_certdb)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: conn\n  integer(c_int), value :: use_system_certdb\nend subroutine\n\n! GIO_DEPRECATED\n!gboolean g_tls_connection_get_use_system_certdb (GTlsConnection *conn);\nfunction g_tls_connection_get_use_system_certdb(conn) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_tls_connection_get_use_system_certdb\n  type(c_ptr), value :: conn\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_tls_connection_set_database (GTlsConnection *conn, GTlsDatabase *database);\nsubroutine g_tls_connection_set_database(conn, database) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: conn\n  type(c_ptr), value :: database\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GTlsDatabase * g_tls_connection_get_database (GTlsConnection *conn);\nfunction g_tls_connection_get_database(conn) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tls_connection_get_database\n  type(c_ptr), value :: conn\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_tls_connection_set_certificate (GTlsConnection *conn, GTlsCertificate *certificate);\nsubroutine g_tls_connection_set_certificate(conn, certificate) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: conn\n  type(c_ptr), value :: certificate\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GTlsCertificate *g_tls_connection_get_certificate (GTlsConnection *conn);\nfunction g_tls_connection_get_certificate(conn) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tls_connection_get_certificate\n  type(c_ptr), value :: conn\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_tls_connection_set_interaction (GTlsConnection *conn, GTlsInteraction *interaction);\nsubroutine g_tls_connection_set_interaction(conn, interaction) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: conn\n  type(c_ptr), value :: interaction\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GTlsInteraction * g_tls_connection_get_interaction (GTlsConnection *conn);\nfunction g_tls_connection_get_interaction(conn) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tls_connection_get_interaction\n  type(c_ptr), value :: conn\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GTlsCertificate *g_tls_connection_get_peer_certificate (GTlsConnection *conn);\nfunction g_tls_connection_get_peer_certificate(conn) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tls_connection_get_peer_certificate\n  type(c_ptr), value :: conn\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GTlsCertificateFlags g_tls_connection_get_peer_certificate_errors (GTlsConnection *conn);\nfunction g_tls_connection_get_peer_certificate_errors(conn) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_tls_connection_get_peer_certificate_errors\n  type(c_ptr), value :: conn\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_tls_connection_set_require_close_notify (GTlsConnection *conn, gboolean require_close_notify);\nsubroutine g_tls_connection_set_require_close_notify(conn,&\n& require_close_notify) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: conn\n  integer(c_int), value :: require_close_notify\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_tls_connection_get_require_close_notify (GTlsConnection *conn);\nfunction g_tls_connection_get_require_close_notify(conn) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_tls_connection_get_require_close_notify\n  type(c_ptr), value :: conn\nend function\n\n! GIO_AVAILABLE_IN_2_60\n!void g_tls_connection_set_advertised_protocols (GTlsConnection *conn, const gchar * const *protocols);\nsubroutine g_tls_connection_set_advertised_protocols(conn, protocols) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: conn\n  type(c_ptr), dimension(*) :: protocols\nend subroutine\n\n! GIO_AVAILABLE_IN_2_60\n!const gchar * g_tls_connection_get_negotiated_protocol (GTlsConnection *conn);\nfunction g_tls_connection_get_negotiated_protocol(conn) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tls_connection_get_negotiated_protocol\n  type(c_ptr), value :: conn\nend function\n\n! GIO_AVAILABLE_IN_2_66\n!gboolean g_tls_connection_get_channel_binding_data (GTlsConnection *conn, GTlsChannelBindingType type, GByteArray *data, GError **error);\nfunction g_tls_connection_get_channel_binding_data(conn, type, data, error)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_tls_connection_get_channel_binding_data\n  type(c_ptr), value :: conn\n  integer(c_int), value :: type\n  type(c_ptr), value :: data\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_tls_connection_handshake (GTlsConnection *conn, GCancellable *cancellable, GError **error);\nfunction g_tls_connection_handshake(conn, cancellable, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_tls_connection_handshake\n  type(c_ptr), value :: conn\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_tls_connection_handshake_async (GTlsConnection *conn, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_tls_connection_handshake_async(conn, io_priority, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: conn\n  integer(c_int), value :: io_priority\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_tls_connection_handshake_finish (GTlsConnection *conn, GAsyncResult *result, GError **error);\nfunction g_tls_connection_handshake_finish(conn, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_tls_connection_handshake_finish\n  type(c_ptr), value :: conn\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_70\n!GTlsProtocolVersion g_tls_connection_get_protocol_version (GTlsConnection *conn);\nfunction g_tls_connection_get_protocol_version(conn) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_tls_connection_get_protocol_version\n  type(c_ptr), value :: conn\nend function\n\n! GIO_AVAILABLE_IN_2_70\n!gchar * g_tls_connection_get_ciphersuite_name (GTlsConnection *conn);\nfunction g_tls_connection_get_ciphersuite_name(conn) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tls_connection_get_ciphersuite_name\n  type(c_ptr), value :: conn\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GQuark g_tls_error_quark (void);\nfunction g_tls_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: g_tls_error_quark\nend function\n\n! GIO_AVAILABLE_IN_2_66\n!GQuark g_tls_channel_binding_error_quark (void);\nfunction g_tls_channel_binding_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: g_tls_channel_binding_error_quark\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_tls_connection_emit_accept_certificate (GTlsConnection *conn, GTlsCertificate *peer_cert, GTlsCertificateFlags errors);\nfunction g_tls_connection_emit_accept_certificate(conn, peer_cert, errors)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_tls_connection_emit_accept_certificate\n  type(c_ptr), value :: conn\n  type(c_ptr), value :: peer_cert\n  integer(c_int), value :: errors\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gtlsdatabase.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_tls_database_get_type (void) ;\nfunction g_tls_database_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_tls_database_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GTlsCertificateFlags g_tls_database_verify_chain (GTlsDatabase *self, GTlsCertificate *chain, const gchar *purpose, GSocketConnectable *identity, GTlsInteraction *interaction, GTlsDatabaseVerifyFlags flags, GCancellable *cancellable, GError **error);\nfunction g_tls_database_verify_chain(self, chain, purpose, identity,&\n& interaction, flags, cancellable, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_tls_database_verify_chain\n  type(c_ptr), value :: self\n  type(c_ptr), value :: chain\n  character(kind=c_char), dimension(*) :: purpose\n  type(c_ptr), value :: identity\n  type(c_ptr), value :: interaction\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_tls_database_verify_chain_async (GTlsDatabase *self, GTlsCertificate *chain, const gchar *purpose, GSocketConnectable *identity, GTlsInteraction *interaction, GTlsDatabaseVerifyFlags flags, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_tls_database_verify_chain_async(self, chain, purpose, identity,&\n& interaction, flags, cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_char, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: chain\n  character(kind=c_char), dimension(*) :: purpose\n  type(c_ptr), value :: identity\n  type(c_ptr), value :: interaction\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GTlsCertificateFlags g_tls_database_verify_chain_finish (GTlsDatabase *self, GAsyncResult *result, GError **error);\nfunction g_tls_database_verify_chain_finish(self, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_tls_database_verify_chain_finish\n  type(c_ptr), value :: self\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gchar* g_tls_database_create_certificate_handle (GTlsDatabase *self, GTlsCertificate *certificate);\nfunction g_tls_database_create_certificate_handle(self, certificate) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tls_database_create_certificate_handle\n  type(c_ptr), value :: self\n  type(c_ptr), value :: certificate\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GTlsCertificate* g_tls_database_lookup_certificate_for_handle (GTlsDatabase *self, const gchar *handle, GTlsInteraction *interaction, GTlsDatabaseLookupFlags flags, GCancellable *cancellable, GError **error);\nfunction g_tls_database_lookup_certificate_for_handle(self, handle,&\n& interaction, flags, cancellable, error) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_tls_database_lookup_certificate_for_handle\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: handle\n  type(c_ptr), value :: interaction\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_tls_database_lookup_certificate_for_handle_async (GTlsDatabase *self, const gchar *handle, GTlsInteraction *interaction, GTlsDatabaseLookupFlags flags, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_tls_database_lookup_certificate_for_handle_async(self, handle,&\n& interaction, flags, cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_char, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: handle\n  type(c_ptr), value :: interaction\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GTlsCertificate* g_tls_database_lookup_certificate_for_handle_finish (GTlsDatabase *self, GAsyncResult *result, GError **error);\nfunction g_tls_database_lookup_certificate_for_handle_finish(self, result,&\n& error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tls_database_lookup_certificate_for_handle_finish\n  type(c_ptr), value :: self\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GTlsCertificate* g_tls_database_lookup_certificate_issuer (GTlsDatabase *self, GTlsCertificate *certificate, GTlsInteraction *interaction, GTlsDatabaseLookupFlags flags, GCancellable *cancellable, GError **error);\nfunction g_tls_database_lookup_certificate_issuer(self, certificate,&\n& interaction, flags, cancellable, error) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_tls_database_lookup_certificate_issuer\n  type(c_ptr), value :: self\n  type(c_ptr), value :: certificate\n  type(c_ptr), value :: interaction\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_tls_database_lookup_certificate_issuer_async (GTlsDatabase *self, GTlsCertificate *certificate, GTlsInteraction *interaction, GTlsDatabaseLookupFlags flags, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_tls_database_lookup_certificate_issuer_async(self, certificate,&\n& interaction, flags, cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: certificate\n  type(c_ptr), value :: interaction\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GTlsCertificate* g_tls_database_lookup_certificate_issuer_finish (GTlsDatabase *self, GAsyncResult *result, GError **error);\nfunction g_tls_database_lookup_certificate_issuer_finish(self, result, error)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tls_database_lookup_certificate_issuer_finish\n  type(c_ptr), value :: self\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GList* g_tls_database_lookup_certificates_issued_by (GTlsDatabase *self, GByteArray *issuer_raw_dn, GTlsInteraction *interaction, GTlsDatabaseLookupFlags flags, GCancellable *cancellable, GError **error);\nfunction g_tls_database_lookup_certificates_issued_by(self, issuer_raw_dn,&\n& interaction, flags, cancellable, error) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_tls_database_lookup_certificates_issued_by\n  type(c_ptr), value :: self\n  type(c_ptr), value :: issuer_raw_dn\n  type(c_ptr), value :: interaction\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_tls_database_lookup_certificates_issued_by_async (GTlsDatabase *self, GByteArray *issuer_raw_dn, GTlsInteraction *interaction, GTlsDatabaseLookupFlags flags, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_tls_database_lookup_certificates_issued_by_async(self,&\n& issuer_raw_dn, interaction, flags, cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: issuer_raw_dn\n  type(c_ptr), value :: interaction\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GList* g_tls_database_lookup_certificates_issued_by_finish (GTlsDatabase *self, GAsyncResult *result, GError **error);\nfunction g_tls_database_lookup_certificates_issued_by_finish(self, result,&\n& error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tls_database_lookup_certificates_issued_by_finish\n  type(c_ptr), value :: self\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gtlsfiledatabase.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_tls_file_database_get_type (void) ;\nfunction g_tls_file_database_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_tls_file_database_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GTlsDatabase* g_tls_file_database_new (const gchar *anchors, GError **error);\nfunction g_tls_file_database_new(anchors, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_tls_file_database_new\n  character(kind=c_char), dimension(*) :: anchors\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gtlsinteraction.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_tls_interaction_get_type (void) ;\nfunction g_tls_interaction_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_tls_interaction_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GTlsInteractionResult g_tls_interaction_invoke_ask_password (GTlsInteraction *interaction, GTlsPassword *password, GCancellable *cancellable, GError **error);\nfunction g_tls_interaction_invoke_ask_password(interaction, password,&\n& cancellable, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_tls_interaction_invoke_ask_password\n  type(c_ptr), value :: interaction\n  type(c_ptr), value :: password\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GTlsInteractionResult g_tls_interaction_ask_password (GTlsInteraction *interaction, GTlsPassword *password, GCancellable *cancellable, GError **error);\nfunction g_tls_interaction_ask_password(interaction, password, cancellable,&\n& error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_tls_interaction_ask_password\n  type(c_ptr), value :: interaction\n  type(c_ptr), value :: password\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_tls_interaction_ask_password_async (GTlsInteraction *interaction, GTlsPassword *password, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_tls_interaction_ask_password_async(interaction, password,&\n& cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: interaction\n  type(c_ptr), value :: password\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GTlsInteractionResult g_tls_interaction_ask_password_finish (GTlsInteraction *interaction, GAsyncResult *result, GError **error);\nfunction g_tls_interaction_ask_password_finish(interaction, result, error)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_tls_interaction_ask_password_finish\n  type(c_ptr), value :: interaction\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!GTlsInteractionResult g_tls_interaction_invoke_request_certificate (GTlsInteraction *interaction, GTlsConnection *connection, GTlsCertificateRequestFlags flags, GCancellable *cancellable, GError **error);\nfunction g_tls_interaction_invoke_request_certificate(interaction, connection,&\n& flags, cancellable, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_tls_interaction_invoke_request_certificate\n  type(c_ptr), value :: interaction\n  type(c_ptr), value :: connection\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!GTlsInteractionResult g_tls_interaction_request_certificate (GTlsInteraction *interaction, GTlsConnection *connection, GTlsCertificateRequestFlags flags, GCancellable *cancellable, GError **error);\nfunction g_tls_interaction_request_certificate(interaction, connection, flags,&\n& cancellable, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_tls_interaction_request_certificate\n  type(c_ptr), value :: interaction\n  type(c_ptr), value :: connection\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_40\n!void g_tls_interaction_request_certificate_async (GTlsInteraction *interaction, GTlsConnection *connection, GTlsCertificateRequestFlags flags, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_tls_interaction_request_certificate_async(interaction, connection,&\n& flags, cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: interaction\n  type(c_ptr), value :: connection\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_2_40\n!GTlsInteractionResult g_tls_interaction_request_certificate_finish (GTlsInteraction *interaction, GAsyncResult *result, GError **error);\nfunction g_tls_interaction_request_certificate_finish(interaction, result,&\n& error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_tls_interaction_request_certificate_finish\n  type(c_ptr), value :: interaction\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gtlspassword.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_tls_password_get_type (void) ;\nfunction g_tls_password_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_tls_password_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GTlsPassword * g_tls_password_new (GTlsPasswordFlags flags, const gchar *description);\nfunction g_tls_password_new(flags, description) bind(c)\n  import :: c_ptr, c_int, c_char\n  implicit none\n  type(c_ptr) :: g_tls_password_new\n  integer(c_int), value :: flags\n  character(kind=c_char), dimension(*) :: description\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const guchar * g_tls_password_get_value (GTlsPassword *password, gsize *length);\nfunction g_tls_password_get_value(password, length) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tls_password_get_value\n  type(c_ptr), value :: password\n  type(c_ptr), value :: length\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_tls_password_set_value (GTlsPassword *password, const guchar *value, gssize length);\nsubroutine g_tls_password_set_value(password, value, length) bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr), value :: password\n  character(kind=c_char), dimension(*) :: value\n  integer(c_size_t), value :: length\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!void g_tls_password_set_value_full (GTlsPassword *password, guchar *value, gssize length, GDestroyNotify destroy);\nsubroutine g_tls_password_set_value_full(password, value, length, destroy)&\n& bind(c)\n  import :: c_ptr, c_char, c_size_t, c_funptr\n  implicit none\n  type(c_ptr), value :: password\n  character(kind=c_char), dimension(*) :: value\n  integer(c_size_t), value :: length\n  type(c_funptr), value :: destroy\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GTlsPasswordFlags g_tls_password_get_flags (GTlsPassword *password);\nfunction g_tls_password_get_flags(password) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_tls_password_get_flags\n  type(c_ptr), value :: password\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_tls_password_set_flags (GTlsPassword *password, GTlsPasswordFlags flags);\nsubroutine g_tls_password_set_flags(password, flags) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: password\n  integer(c_int), value :: flags\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar* g_tls_password_get_description (GTlsPassword *password);\nfunction g_tls_password_get_description(password) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tls_password_get_description\n  type(c_ptr), value :: password\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_tls_password_set_description (GTlsPassword *password, const gchar *description);\nsubroutine g_tls_password_set_description(password, description) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: password\n  character(kind=c_char), dimension(*) :: description\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar * g_tls_password_get_warning (GTlsPassword *password);\nfunction g_tls_password_get_warning(password) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tls_password_get_warning\n  type(c_ptr), value :: password\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_tls_password_set_warning (GTlsPassword *password, const gchar *warning);\nsubroutine g_tls_password_set_warning(password, warning) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: password\n  character(kind=c_char), dimension(*) :: warning\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gtlsserverconnection.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_tls_server_connection_get_type (void) ;\nfunction g_tls_server_connection_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_tls_server_connection_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GIOStream * g_tls_server_connection_new (GIOStream *base_io_stream, GTlsCertificate *certificate, GError **error);\nfunction g_tls_server_connection_new(base_io_stream, certificate, error)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tls_server_connection_new\n  type(c_ptr), value :: base_io_stream\n  type(c_ptr), value :: certificate\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gunixconnection.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_unix_connection_get_type (void);\nfunction g_unix_connection_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_unix_connection_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_unix_connection_send_fd (GUnixConnection *connection, gint fd, GCancellable *cancellable, GError **error);\nfunction g_unix_connection_send_fd(connection, fd, cancellable, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_unix_connection_send_fd\n  type(c_ptr), value :: connection\n  integer(c_int), value :: fd\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gint g_unix_connection_receive_fd (GUnixConnection *connection, GCancellable *cancellable, GError **error);\nfunction g_unix_connection_receive_fd(connection, cancellable, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_unix_connection_receive_fd\n  type(c_ptr), value :: connection\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_unix_connection_send_credentials (GUnixConnection *connection, GCancellable *cancellable, GError **error);\nfunction g_unix_connection_send_credentials(connection, cancellable, error)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_unix_connection_send_credentials\n  type(c_ptr), value :: connection\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!void g_unix_connection_send_credentials_async (GUnixConnection *connection, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_unix_connection_send_credentials_async(connection, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: connection\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_2_32\n!gboolean g_unix_connection_send_credentials_finish (GUnixConnection *connection, GAsyncResult *result, GError **error);\nfunction g_unix_connection_send_credentials_finish(connection, result, error)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_unix_connection_send_credentials_finish\n  type(c_ptr), value :: connection\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!GCredentials *g_unix_connection_receive_credentials (GUnixConnection *connection, GCancellable *cancellable, GError **error);\nfunction g_unix_connection_receive_credentials(connection, cancellable, error)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_unix_connection_receive_credentials\n  type(c_ptr), value :: connection\n  type(c_ptr), value :: cancellable\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!void g_unix_connection_receive_credentials_async (GUnixConnection *connection, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_unix_connection_receive_credentials_async(connection, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: connection\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!GCredentials *g_unix_connection_receive_credentials_finish (GUnixConnection *connection, GAsyncResult *result, GError **error);\nfunction g_unix_connection_receive_credentials_finish(connection, result,&\n& error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_unix_connection_receive_credentials_finish\n  type(c_ptr), value :: connection\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gunixcredentialsmessage.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_unix_credentials_message_get_type (void) ;\nfunction g_unix_credentials_message_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_unix_credentials_message_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketControlMessage *g_unix_credentials_message_new (void);\nfunction g_unix_credentials_message_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_unix_credentials_message_new\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketControlMessage *g_unix_credentials_message_new_with_credentials (GCredentials *credentials);\nfunction g_unix_credentials_message_new_with_credentials(credentials) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_unix_credentials_message_new_with_credentials\n  type(c_ptr), value :: credentials\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GCredentials *g_unix_credentials_message_get_credentials (GUnixCredentialsMessage *message);\nfunction g_unix_credentials_message_get_credentials(message) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_unix_credentials_message_get_credentials\n  type(c_ptr), value :: message\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_unix_credentials_message_is_supported (void);\nfunction g_unix_credentials_message_is_supported() bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: g_unix_credentials_message_is_supported\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gunixfdlist.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_unix_fd_list_get_type (void) ;\nfunction g_unix_fd_list_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_unix_fd_list_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GUnixFDList * g_unix_fd_list_new (void);\nfunction g_unix_fd_list_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_unix_fd_list_new\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GUnixFDList * g_unix_fd_list_new_from_array (const gint *fds, gint n_fds);\nfunction g_unix_fd_list_new_from_array(fds, n_fds) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_unix_fd_list_new_from_array\n  type(c_ptr), value :: fds\n  integer(c_int), value :: n_fds\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gint g_unix_fd_list_append (GUnixFDList *list, gint fd, GError **error);\nfunction g_unix_fd_list_append(list, fd, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_unix_fd_list_append\n  type(c_ptr), value :: list\n  integer(c_int), value :: fd\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gint g_unix_fd_list_get_length (GUnixFDList *list);\nfunction g_unix_fd_list_get_length(list) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_unix_fd_list_get_length\n  type(c_ptr), value :: list\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gint g_unix_fd_list_get (GUnixFDList *list, gint index_, GError **error);\nfunction g_unix_fd_list_get(list, index_, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_unix_fd_list_get\n  type(c_ptr), value :: list\n  integer(c_int), value :: index_\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const gint * g_unix_fd_list_peek_fds (GUnixFDList *list, gint *length);\nfunction g_unix_fd_list_peek_fds(list, length) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_unix_fd_list_peek_fds\n  type(c_ptr), value :: list\n  type(c_ptr), value :: length\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gint * g_unix_fd_list_steal_fds (GUnixFDList *list, gint *length);\nfunction g_unix_fd_list_steal_fds(list, length) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_unix_fd_list_steal_fds\n  type(c_ptr), value :: list\n  type(c_ptr), value :: length\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gunixsocketaddress.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_unix_socket_address_get_type (void) ;\nfunction g_unix_socket_address_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_unix_socket_address_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketAddress *g_unix_socket_address_new (const gchar *path);\nfunction g_unix_socket_address_new(path) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_unix_socket_address_new\n  character(kind=c_char), dimension(*) :: path\nend function\n\n! GIO_DEPRECATED_FOR(g_unix_socket_address_new_with_type)\n!GSocketAddress *g_unix_socket_address_new_abstract (const gchar *path, gint path_len);\nfunction g_unix_socket_address_new_abstract(path, path_len) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_unix_socket_address_new_abstract\n  character(kind=c_char), dimension(*) :: path\n  integer(c_int), value :: path_len\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GSocketAddress *g_unix_socket_address_new_with_type (const gchar *path, gint path_len, GUnixSocketAddressType type);\nfunction g_unix_socket_address_new_with_type(path, path_len, type) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_unix_socket_address_new_with_type\n  character(kind=c_char), dimension(*) :: path\n  integer(c_int), value :: path_len\n  integer(c_int), value :: type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const char * g_unix_socket_address_get_path (GUnixSocketAddress *address);\nfunction g_unix_socket_address_get_path(address) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_unix_socket_address_get_path\n  type(c_ptr), value :: address\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gsize g_unix_socket_address_get_path_len (GUnixSocketAddress *address);\nfunction g_unix_socket_address_get_path_len(address) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_unix_socket_address_get_path_len\n  type(c_ptr), value :: address\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GUnixSocketAddressType g_unix_socket_address_get_address_type (GUnixSocketAddress *address);\nfunction g_unix_socket_address_get_address_type(address) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_unix_socket_address_get_address_type\n  type(c_ptr), value :: address\nend function\n\n! GIO_DEPRECATED\n!gboolean g_unix_socket_address_get_is_abstract (GUnixSocketAddress *address);\nfunction g_unix_socket_address_get_is_abstract(address) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_unix_socket_address_get_is_abstract\n  type(c_ptr), value :: address\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_unix_socket_address_abstract_names_supported (void);\nfunction g_unix_socket_address_abstract_names_supported() bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: g_unix_socket_address_abstract_names_supported\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gvfs.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_vfs_get_type (void) ;\nfunction g_vfs_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_vfs_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_vfs_is_active (GVfs *vfs);\nfunction g_vfs_is_active(vfs) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_vfs_is_active\n  type(c_ptr), value :: vfs\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFile * g_vfs_get_file_for_path (GVfs *vfs, const char *path);\nfunction g_vfs_get_file_for_path(vfs, path) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_vfs_get_file_for_path\n  type(c_ptr), value :: vfs\n  character(kind=c_char), dimension(*) :: path\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFile * g_vfs_get_file_for_uri (GVfs *vfs, const char *uri);\nfunction g_vfs_get_file_for_uri(vfs, uri) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_vfs_get_file_for_uri\n  type(c_ptr), value :: vfs\n  character(kind=c_char), dimension(*) :: uri\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!const gchar* const * g_vfs_get_supported_uri_schemes (GVfs *vfs);\nfunction g_vfs_get_supported_uri_schemes(vfs) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_vfs_get_supported_uri_schemes\n  type(c_ptr), value :: vfs\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFile * g_vfs_parse_name (GVfs *vfs, const char *parse_name);\nfunction g_vfs_parse_name(vfs, parse_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_vfs_parse_name\n  type(c_ptr), value :: vfs\n  character(kind=c_char), dimension(*) :: parse_name\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GVfs * g_vfs_get_default (void);\nfunction g_vfs_get_default() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_vfs_get_default\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GVfs * g_vfs_get_local (void);\nfunction g_vfs_get_local() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_vfs_get_local\nend function\n\n! GIO_AVAILABLE_IN_2_50\n!gboolean g_vfs_register_uri_scheme (GVfs *vfs, const char *scheme, GVfsFileLookupFunc uri_func, gpointer uri_data, GDestroyNotify uri_destroy, GVfsFileLookupFunc parse_name_func, gpointer parse_name_data, GDestroyNotify parse_name_destroy);\nfunction g_vfs_register_uri_scheme(vfs, scheme, uri_func, uri_data,&\n& uri_destroy, parse_name_func, parse_name_data, parse_name_destroy) bind(c)\n  import :: c_int, c_ptr, c_char, c_funptr\n  implicit none\n  integer(c_int) :: g_vfs_register_uri_scheme\n  type(c_ptr), value :: vfs\n  character(kind=c_char), dimension(*) :: scheme\n  type(c_funptr), value :: uri_func\n  type(c_ptr), value :: uri_data\n  type(c_funptr), value :: uri_destroy\n  type(c_funptr), value :: parse_name_func\n  type(c_ptr), value :: parse_name_data\n  type(c_funptr), value :: parse_name_destroy\nend function\n\n! GIO_AVAILABLE_IN_2_50\n!gboolean g_vfs_unregister_uri_scheme (GVfs *vfs, const char *scheme);\nfunction g_vfs_unregister_uri_scheme(vfs, scheme) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_vfs_unregister_uri_scheme\n  type(c_ptr), value :: vfs\n  character(kind=c_char), dimension(*) :: scheme\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gvolume.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_volume_get_type (void) ;\nfunction g_volume_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_volume_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!char * g_volume_get_name (GVolume *volume);\nfunction g_volume_get_name(volume) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_volume_get_name\n  type(c_ptr), value :: volume\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GIcon * g_volume_get_icon (GVolume *volume);\nfunction g_volume_get_icon(volume) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_volume_get_icon\n  type(c_ptr), value :: volume\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GIcon * g_volume_get_symbolic_icon (GVolume *volume);\nfunction g_volume_get_symbolic_icon(volume) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_volume_get_symbolic_icon\n  type(c_ptr), value :: volume\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!char * g_volume_get_uuid (GVolume *volume);\nfunction g_volume_get_uuid(volume) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_volume_get_uuid\n  type(c_ptr), value :: volume\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GDrive * g_volume_get_drive (GVolume *volume);\nfunction g_volume_get_drive(volume) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_volume_get_drive\n  type(c_ptr), value :: volume\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GMount * g_volume_get_mount (GVolume *volume);\nfunction g_volume_get_mount(volume) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_volume_get_mount\n  type(c_ptr), value :: volume\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_volume_can_mount (GVolume *volume);\nfunction g_volume_can_mount(volume) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_volume_can_mount\n  type(c_ptr), value :: volume\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_volume_can_eject (GVolume *volume);\nfunction g_volume_can_eject(volume) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_volume_can_eject\n  type(c_ptr), value :: volume\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_volume_should_automount (GVolume *volume);\nfunction g_volume_should_automount(volume) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_volume_should_automount\n  type(c_ptr), value :: volume\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_volume_mount (GVolume *volume, GMountMountFlags flags, GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_volume_mount(volume, flags, mount_operation, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: volume\n  integer(c_int), value :: flags\n  type(c_ptr), value :: mount_operation\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_volume_mount_finish (GVolume *volume, GAsyncResult *result, GError **error);\nfunction g_volume_mount_finish(volume, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_volume_mount_finish\n  type(c_ptr), value :: volume\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_DEPRECATED_FOR(g_volume_eject_with_operation)\n!void g_volume_eject (GVolume *volume, GMountUnmountFlags flags, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_volume_eject(volume, flags, cancellable, callback, user_data)&\n& bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: volume\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_DEPRECATED_FOR(g_volume_eject_with_operation_finish)\n!gboolean g_volume_eject_finish (GVolume *volume, GAsyncResult *result, GError **error);\nfunction g_volume_eject_finish(volume, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_volume_eject_finish\n  type(c_ptr), value :: volume\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!char * g_volume_get_identifier (GVolume *volume, const char *kind);\nfunction g_volume_get_identifier(volume, kind) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_volume_get_identifier\n  type(c_ptr), value :: volume\n  character(kind=c_char), dimension(*) :: kind\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!char ** g_volume_enumerate_identifiers (GVolume *volume);\nfunction g_volume_enumerate_identifiers(volume) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_volume_enumerate_identifiers\n  type(c_ptr), value :: volume\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFile * g_volume_get_activation_root (GVolume *volume);\nfunction g_volume_get_activation_root(volume) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_volume_get_activation_root\n  type(c_ptr), value :: volume\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_volume_eject_with_operation (GVolume *volume, GMountUnmountFlags flags, GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine g_volume_eject_with_operation(volume, flags, mount_operation,&\n& cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: volume\n  integer(c_int), value :: flags\n  type(c_ptr), value :: mount_operation\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GIO_AVAILABLE_IN_ALL\n!gboolean g_volume_eject_with_operation_finish (GVolume *volume, GAsyncResult *result, GError **error);\nfunction g_volume_eject_with_operation_finish(volume, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_volume_eject_with_operation_finish\n  type(c_ptr), value :: volume\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GIO_AVAILABLE_IN_2_32\n!const gchar *g_volume_get_sort_key (GVolume *volume);\nfunction g_volume_get_sort_key(volume) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_volume_get_sort_key\n  type(c_ptr), value :: volume\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gvolumemonitor.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_volume_monitor_get_type (void) ;\nfunction g_volume_monitor_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_volume_monitor_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GVolumeMonitor *g_volume_monitor_get (void);\nfunction g_volume_monitor_get() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_volume_monitor_get\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GList * g_volume_monitor_get_connected_drives (GVolumeMonitor *volume_monitor);\nfunction g_volume_monitor_get_connected_drives(volume_monitor) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_volume_monitor_get_connected_drives\n  type(c_ptr), value :: volume_monitor\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GList * g_volume_monitor_get_volumes (GVolumeMonitor *volume_monitor);\nfunction g_volume_monitor_get_volumes(volume_monitor) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_volume_monitor_get_volumes\n  type(c_ptr), value :: volume_monitor\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GList * g_volume_monitor_get_mounts (GVolumeMonitor *volume_monitor);\nfunction g_volume_monitor_get_mounts(volume_monitor) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_volume_monitor_get_mounts\n  type(c_ptr), value :: volume_monitor\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GVolume * g_volume_monitor_get_volume_for_uuid (GVolumeMonitor *volume_monitor, const char *uuid);\nfunction g_volume_monitor_get_volume_for_uuid(volume_monitor, uuid) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_volume_monitor_get_volume_for_uuid\n  type(c_ptr), value :: volume_monitor\n  character(kind=c_char), dimension(*) :: uuid\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GMount * g_volume_monitor_get_mount_for_uuid (GVolumeMonitor *volume_monitor, const char *uuid);\nfunction g_volume_monitor_get_mount_for_uuid(volume_monitor, uuid) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_volume_monitor_get_mount_for_uuid\n  type(c_ptr), value :: volume_monitor\n  character(kind=c_char), dimension(*) :: uuid\nend function\n\n! GIO_DEPRECATED\n!GVolume * g_volume_monitor_adopt_orphan_mount (GMount *mount);\nfunction g_volume_monitor_adopt_orphan_mount(mount) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_volume_monitor_adopt_orphan_mount\n  type(c_ptr), value :: mount\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gzlibcompressor.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_zlib_compressor_get_type (void) ;\nfunction g_zlib_compressor_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_zlib_compressor_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GZlibCompressor *g_zlib_compressor_new (GZlibCompressorFormat format, int level);\nfunction g_zlib_compressor_new(format, level) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_zlib_compressor_new\n  integer(c_int), value :: format\n  integer(c_int), value :: level\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFileInfo *g_zlib_compressor_get_file_info (GZlibCompressor *compressor);\nfunction g_zlib_compressor_get_file_info(compressor) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_zlib_compressor_get_file_info\n  type(c_ptr), value :: compressor\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!void g_zlib_compressor_set_file_info (GZlibCompressor *compressor, GFileInfo *file_info);\nsubroutine g_zlib_compressor_set_file_info(compressor, file_info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: compressor\n  type(c_ptr), value :: file_info\nend subroutine\n\n! GIO_AVAILABLE_IN_2_86\n!int g_zlib_compressor_get_os (GZlibCompressor *compressor);\nfunction g_zlib_compressor_get_os(compressor) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_zlib_compressor_get_os\n  type(c_ptr), value :: compressor\nend function\n\n! GIO_AVAILABLE_IN_2_86\n!void g_zlib_compressor_set_os (GZlibCompressor *compressor, int os);\nsubroutine g_zlib_compressor_set_os(compressor, os) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: compressor\n  integer(c_int), value :: os\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gio/gzlibdecompressor.h\n!--------------------------------------------------\n! GIO_AVAILABLE_IN_ALL\n!GType g_zlib_decompressor_get_type (void) ;\nfunction g_zlib_decompressor_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_zlib_decompressor_get_type\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GZlibDecompressor *g_zlib_decompressor_new (GZlibCompressorFormat format);\nfunction g_zlib_decompressor_new(format) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_zlib_decompressor_new\n  integer(c_int), value :: format\nend function\n\n! GIO_AVAILABLE_IN_ALL\n!GFileInfo *g_zlib_decompressor_get_file_info (GZlibDecompressor *decompressor);\nfunction g_zlib_decompressor_get_file_info(decompressor) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_zlib_decompressor_get_file_info\n  type(c_ptr), value :: decompressor\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/girepository/gi-visibility.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/glib-2.0/girepository/giarginfo.h\n!--------------------------------------------------\n! GI_AVAILABLE_IN_ALL\n!GIDirection gi_arg_info_get_direction (GIArgInfo *info);\nfunction gi_arg_info_get_direction(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_arg_info_get_direction\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!gboolean gi_arg_info_is_return_value (GIArgInfo *info);\nfunction gi_arg_info_is_return_value(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_arg_info_is_return_value\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!gboolean gi_arg_info_is_optional (GIArgInfo *info);\nfunction gi_arg_info_is_optional(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_arg_info_is_optional\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!gboolean gi_arg_info_is_caller_allocates (GIArgInfo *info);\nfunction gi_arg_info_is_caller_allocates(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_arg_info_is_caller_allocates\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!gboolean gi_arg_info_may_be_null (GIArgInfo *info);\nfunction gi_arg_info_may_be_null(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_arg_info_may_be_null\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!gboolean gi_arg_info_is_skip (GIArgInfo *info);\nfunction gi_arg_info_is_skip(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_arg_info_is_skip\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GITransfer gi_arg_info_get_ownership_transfer (GIArgInfo *info);\nfunction gi_arg_info_get_ownership_transfer(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_arg_info_get_ownership_transfer\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIScopeType gi_arg_info_get_scope (GIArgInfo *info);\nfunction gi_arg_info_get_scope(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_arg_info_get_scope\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!gboolean gi_arg_info_get_closure_index (GIArgInfo *info, unsigned int *out_closure_index);\nfunction gi_arg_info_get_closure_index(info, out_closure_index) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_arg_info_get_closure_index\n  type(c_ptr), value :: info\n  type(c_ptr), value :: out_closure_index\nend function\n\n! GI_AVAILABLE_IN_ALL\n!gboolean gi_arg_info_get_destroy_index (GIArgInfo *info, unsigned int *out_destroy_index);\nfunction gi_arg_info_get_destroy_index(info, out_destroy_index) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_arg_info_get_destroy_index\n  type(c_ptr), value :: info\n  type(c_ptr), value :: out_destroy_index\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GITypeInfo * gi_arg_info_get_type_info (GIArgInfo *info);\nfunction gi_arg_info_get_type_info(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_arg_info_get_type_info\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!void gi_arg_info_load_type_info (GIArgInfo *info, GITypeInfo *type);\nsubroutine gi_arg_info_load_type_info(info, type) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: info\n  type(c_ptr), value :: type\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/girepository/gibaseinfo.h\n!--------------------------------------------------\n! GI_AVAILABLE_IN_ALL\n!GType gi_base_info_get_type (void) ;\nfunction gi_base_info_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gi_base_info_get_type\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIBaseInfo * gi_base_info_ref (void *info);\nfunction gi_base_info_ref(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_base_info_ref\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!void gi_base_info_unref (void *info);\nsubroutine gi_base_info_unref(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: info\nend subroutine\n\n! GI_AVAILABLE_IN_ALL\n!void gi_base_info_clear (void *info);\nsubroutine gi_base_info_clear(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: info\nend subroutine\n\n! GI_AVAILABLE_IN_ALL\n!const char * gi_base_info_get_name (GIBaseInfo *info);\nfunction gi_base_info_get_name(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_base_info_get_name\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!const char * gi_base_info_get_namespace (GIBaseInfo *info);\nfunction gi_base_info_get_namespace(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_base_info_get_namespace\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!gboolean gi_base_info_is_deprecated (GIBaseInfo *info);\nfunction gi_base_info_is_deprecated(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_base_info_is_deprecated\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!const char * gi_base_info_get_attribute (GIBaseInfo *info, const char *name);\nfunction gi_base_info_get_attribute(info, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gi_base_info_get_attribute\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GI_AVAILABLE_IN_ALL\n!gboolean gi_base_info_iterate_attributes (GIBaseInfo *info, GIAttributeIter *iterator, const char **name, const char **value);\nfunction gi_base_info_iterate_attributes(info, iterator, name, value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_base_info_iterate_attributes\n  type(c_ptr), value :: info\n  type(c_ptr), value :: iterator\n  type(c_ptr), dimension(*) :: name\n  type(c_ptr), dimension(*) :: value\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIBaseInfo * gi_base_info_get_container (GIBaseInfo *info);\nfunction gi_base_info_get_container(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_base_info_get_container\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GITypelib * gi_base_info_get_typelib (GIBaseInfo *info);\nfunction gi_base_info_get_typelib(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_base_info_get_typelib\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!gboolean gi_base_info_equal (GIBaseInfo *info1, GIBaseInfo *info2);\nfunction gi_base_info_equal(info1, info2) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_base_info_equal\n  type(c_ptr), value :: info1\n  type(c_ptr), value :: info2\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/girepository/gicallableinfo.h\n!--------------------------------------------------\n! GI_AVAILABLE_IN_ALL\n!gboolean gi_callable_info_is_method (GICallableInfo *info);\nfunction gi_callable_info_is_method(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_callable_info_is_method\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!gboolean gi_callable_info_can_throw_gerror (GICallableInfo *info);\nfunction gi_callable_info_can_throw_gerror(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_callable_info_can_throw_gerror\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GITypeInfo * gi_callable_info_get_return_type (GICallableInfo *info);\nfunction gi_callable_info_get_return_type(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_callable_info_get_return_type\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!void gi_callable_info_load_return_type (GICallableInfo *info, GITypeInfo *type);\nsubroutine gi_callable_info_load_return_type(info, type) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: info\n  type(c_ptr), value :: type\nend subroutine\n\n! GI_AVAILABLE_IN_ALL\n!const char * gi_callable_info_get_return_attribute (GICallableInfo *info, const char *name);\nfunction gi_callable_info_get_return_attribute(info, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gi_callable_info_get_return_attribute\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GI_AVAILABLE_IN_ALL\n!gboolean gi_callable_info_iterate_return_attributes (GICallableInfo *info, GIAttributeIter *iterator, const char **name, const char **value);\nfunction gi_callable_info_iterate_return_attributes(info, iterator, name,&\n& value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_callable_info_iterate_return_attributes\n  type(c_ptr), value :: info\n  type(c_ptr), value :: iterator\n  type(c_ptr), dimension(*) :: name\n  type(c_ptr), dimension(*) :: value\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GITransfer gi_callable_info_get_caller_owns (GICallableInfo *info);\nfunction gi_callable_info_get_caller_owns(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_callable_info_get_caller_owns\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!gboolean gi_callable_info_may_return_null (GICallableInfo *info);\nfunction gi_callable_info_may_return_null(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_callable_info_may_return_null\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!gboolean gi_callable_info_skip_return (GICallableInfo *info);\nfunction gi_callable_info_skip_return(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_callable_info_skip_return\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!unsigned int gi_callable_info_get_n_args (GICallableInfo *info);\nfunction gi_callable_info_get_n_args(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_callable_info_get_n_args\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIArgInfo * gi_callable_info_get_arg (GICallableInfo *info, unsigned int n);\nfunction gi_callable_info_get_arg(info, n) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gi_callable_info_get_arg\n  type(c_ptr), value :: info\n  integer(c_int), value :: n\nend function\n\n! GI_AVAILABLE_IN_ALL\n!void gi_callable_info_load_arg (GICallableInfo *info, unsigned int n, GIArgInfo *arg);\nsubroutine gi_callable_info_load_arg(info, n, arg) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: info\n  integer(c_int), value :: n\n  type(c_ptr), value :: arg\nend subroutine\n\n! GI_AVAILABLE_IN_ALL\n!gboolean gi_callable_info_invoke (GICallableInfo *info, void *function, const GIArgument *in_args, size_t n_in_args, GIArgument *out_args, size_t n_out_args, GIArgument *return_value, GError **error);\nfunction gi_callable_info_invoke(info, function, in_args, n_in_args, out_args,&\n& n_out_args, return_value, error) bind(c)\n  import :: c_int, c_ptr, c_size_t\n  implicit none\n  integer(c_int) :: gi_callable_info_invoke\n  type(c_ptr), value :: info\n  type(c_ptr), value :: function\n  type(c_ptr), value :: in_args\n  integer(c_size_t), value :: n_in_args\n  type(c_ptr), value :: out_args\n  integer(c_size_t), value :: n_out_args\n  type(c_ptr), value :: return_value\n  type(c_ptr), value :: error\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GITransfer gi_callable_info_get_instance_ownership_transfer (GICallableInfo *info);\nfunction gi_callable_info_get_instance_ownership_transfer(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_callable_info_get_instance_ownership_transfer\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_2_84\n!GICallableInfo *gi_callable_info_get_async_function (GICallableInfo *info);\nfunction gi_callable_info_get_async_function(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_callable_info_get_async_function\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_2_84\n!GICallableInfo *gi_callable_info_get_sync_function (GICallableInfo *info);\nfunction gi_callable_info_get_sync_function(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_callable_info_get_sync_function\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_2_84\n!GICallableInfo *gi_callable_info_get_finish_function (GICallableInfo *info);\nfunction gi_callable_info_get_finish_function(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_callable_info_get_finish_function\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_2_84\n!gboolean gi_callable_info_is_async (GICallableInfo *info);\nfunction gi_callable_info_is_async(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_callable_info_is_async\n  type(c_ptr), value :: info\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/girepository/gicallbackinfo.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/glib-2.0/girepository/giconstantinfo.h\n!--------------------------------------------------\n! GI_AVAILABLE_IN_ALL\n!GITypeInfo * gi_constant_info_get_type_info (GIConstantInfo *info);\nfunction gi_constant_info_get_type_info(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_constant_info_get_type_info\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!void gi_constant_info_free_value (GIConstantInfo *info, GIArgument *value);\nsubroutine gi_constant_info_free_value(info, value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: info\n  type(c_ptr), value :: value\nend subroutine\n\n! GI_AVAILABLE_IN_ALL\n!size_t gi_constant_info_get_value (GIConstantInfo *info, GIArgument *value);\nfunction gi_constant_info_get_value(info, value) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: gi_constant_info_get_value\n  type(c_ptr), value :: info\n  type(c_ptr), value :: value\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/girepository/gienuminfo.h\n!--------------------------------------------------\n! GI_AVAILABLE_IN_ALL\n!unsigned int gi_enum_info_get_n_values (GIEnumInfo *info);\nfunction gi_enum_info_get_n_values(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_enum_info_get_n_values\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIValueInfo * gi_enum_info_get_value (GIEnumInfo *info, unsigned int n);\nfunction gi_enum_info_get_value(info, n) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gi_enum_info_get_value\n  type(c_ptr), value :: info\n  integer(c_int), value :: n\nend function\n\n! GI_AVAILABLE_IN_ALL\n!unsigned int gi_enum_info_get_n_methods (GIEnumInfo *info);\nfunction gi_enum_info_get_n_methods(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_enum_info_get_n_methods\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIFunctionInfo * gi_enum_info_get_method (GIEnumInfo *info, unsigned int n);\nfunction gi_enum_info_get_method(info, n) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gi_enum_info_get_method\n  type(c_ptr), value :: info\n  integer(c_int), value :: n\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GITypeTag gi_enum_info_get_storage_type (GIEnumInfo *info);\nfunction gi_enum_info_get_storage_type(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_enum_info_get_storage_type\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!const char * gi_enum_info_get_error_domain (GIEnumInfo *info);\nfunction gi_enum_info_get_error_domain(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_enum_info_get_error_domain\n  type(c_ptr), value :: info\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/girepository/gifieldinfo.h\n!--------------------------------------------------\n! GI_AVAILABLE_IN_ALL\n!GIFieldInfoFlags gi_field_info_get_flags (GIFieldInfo *info);\nfunction gi_field_info_get_flags(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_field_info_get_flags\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!size_t gi_field_info_get_size (GIFieldInfo *info);\nfunction gi_field_info_get_size(info) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: gi_field_info_get_size\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!size_t gi_field_info_get_offset (GIFieldInfo *info);\nfunction gi_field_info_get_offset(info) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: gi_field_info_get_offset\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GITypeInfo * gi_field_info_get_type_info (GIFieldInfo *info);\nfunction gi_field_info_get_type_info(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_field_info_get_type_info\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!gboolean gi_field_info_get_field (GIFieldInfo *field_info, void *mem, GIArgument *value);\nfunction gi_field_info_get_field(field_info, mem, value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_field_info_get_field\n  type(c_ptr), value :: field_info\n  type(c_ptr), value :: mem\n  type(c_ptr), value :: value\nend function\n\n! GI_AVAILABLE_IN_ALL\n!gboolean gi_field_info_set_field (GIFieldInfo *field_info, void *mem, const GIArgument *value);\nfunction gi_field_info_set_field(field_info, mem, value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_field_info_set_field\n  type(c_ptr), value :: field_info\n  type(c_ptr), value :: mem\n  type(c_ptr), value :: value\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/girepository/giflagsinfo.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/glib-2.0/girepository/gifunctioninfo.h\n!--------------------------------------------------\n! GI_AVAILABLE_IN_ALL\n!const char * gi_function_info_get_symbol (GIFunctionInfo *info);\nfunction gi_function_info_get_symbol(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_function_info_get_symbol\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIFunctionInfoFlags gi_function_info_get_flags (GIFunctionInfo *info);\nfunction gi_function_info_get_flags(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_function_info_get_flags\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIPropertyInfo * gi_function_info_get_property (GIFunctionInfo *info);\nfunction gi_function_info_get_property(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_function_info_get_property\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIVFuncInfo * gi_function_info_get_vfunc (GIFunctionInfo *info);\nfunction gi_function_info_get_vfunc(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_function_info_get_vfunc\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GQuark gi_invoke_error_quark (void);\nfunction gi_invoke_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: gi_invoke_error_quark\nend function\n\n! GI_AVAILABLE_IN_ALL\n!gboolean gi_function_info_invoke (GIFunctionInfo *info, const GIArgument *in_args, size_t n_in_args, GIArgument *out_args, size_t n_out_args, GIArgument *return_value, GError **error);\nfunction gi_function_info_invoke(info, in_args, n_in_args, out_args,&\n& n_out_args, return_value, error) bind(c)\n  import :: c_int, c_ptr, c_size_t\n  implicit none\n  integer(c_int) :: gi_function_info_invoke\n  type(c_ptr), value :: info\n  type(c_ptr), value :: in_args\n  integer(c_size_t), value :: n_in_args\n  type(c_ptr), value :: out_args\n  integer(c_size_t), value :: n_out_args\n  type(c_ptr), value :: return_value\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/girepository/giinterfaceinfo.h\n!--------------------------------------------------\n! GI_AVAILABLE_IN_ALL\n!unsigned int gi_interface_info_get_n_prerequisites (GIInterfaceInfo *info);\nfunction gi_interface_info_get_n_prerequisites(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_interface_info_get_n_prerequisites\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIBaseInfo * gi_interface_info_get_prerequisite (GIInterfaceInfo *info, unsigned int n);\nfunction gi_interface_info_get_prerequisite(info, n) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gi_interface_info_get_prerequisite\n  type(c_ptr), value :: info\n  integer(c_int), value :: n\nend function\n\n! GI_AVAILABLE_IN_ALL\n!unsigned int gi_interface_info_get_n_properties (GIInterfaceInfo *info);\nfunction gi_interface_info_get_n_properties(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_interface_info_get_n_properties\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIPropertyInfo * gi_interface_info_get_property (GIInterfaceInfo *info, unsigned int n);\nfunction gi_interface_info_get_property(info, n) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gi_interface_info_get_property\n  type(c_ptr), value :: info\n  integer(c_int), value :: n\nend function\n\n! GI_AVAILABLE_IN_ALL\n!unsigned int gi_interface_info_get_n_methods (GIInterfaceInfo *info);\nfunction gi_interface_info_get_n_methods(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_interface_info_get_n_methods\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIFunctionInfo * gi_interface_info_get_method (GIInterfaceInfo *info, unsigned int n);\nfunction gi_interface_info_get_method(info, n) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gi_interface_info_get_method\n  type(c_ptr), value :: info\n  integer(c_int), value :: n\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIFunctionInfo * gi_interface_info_find_method (GIInterfaceInfo *info, const char *name);\nfunction gi_interface_info_find_method(info, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gi_interface_info_find_method\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GI_AVAILABLE_IN_ALL\n!unsigned int gi_interface_info_get_n_signals (GIInterfaceInfo *info);\nfunction gi_interface_info_get_n_signals(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_interface_info_get_n_signals\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GISignalInfo * gi_interface_info_get_signal (GIInterfaceInfo *info, unsigned int n);\nfunction gi_interface_info_get_signal(info, n) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gi_interface_info_get_signal\n  type(c_ptr), value :: info\n  integer(c_int), value :: n\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GISignalInfo * gi_interface_info_find_signal (GIInterfaceInfo *info, const char *name);\nfunction gi_interface_info_find_signal(info, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gi_interface_info_find_signal\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GI_AVAILABLE_IN_ALL\n!unsigned int gi_interface_info_get_n_vfuncs (GIInterfaceInfo *info);\nfunction gi_interface_info_get_n_vfuncs(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_interface_info_get_n_vfuncs\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIVFuncInfo * gi_interface_info_get_vfunc (GIInterfaceInfo *info, unsigned int n);\nfunction gi_interface_info_get_vfunc(info, n) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gi_interface_info_get_vfunc\n  type(c_ptr), value :: info\n  integer(c_int), value :: n\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIVFuncInfo * gi_interface_info_find_vfunc (GIInterfaceInfo *info, const char *name);\nfunction gi_interface_info_find_vfunc(info, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gi_interface_info_find_vfunc\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GI_AVAILABLE_IN_ALL\n!unsigned int gi_interface_info_get_n_constants (GIInterfaceInfo *info);\nfunction gi_interface_info_get_n_constants(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_interface_info_get_n_constants\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIConstantInfo * gi_interface_info_get_constant (GIInterfaceInfo *info, unsigned int n);\nfunction gi_interface_info_get_constant(info, n) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gi_interface_info_get_constant\n  type(c_ptr), value :: info\n  integer(c_int), value :: n\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIStructInfo * gi_interface_info_get_iface_struct (GIInterfaceInfo *info);\nfunction gi_interface_info_get_iface_struct(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_interface_info_get_iface_struct\n  type(c_ptr), value :: info\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/girepository/giobjectinfo.h\n!--------------------------------------------------\n! GI_AVAILABLE_IN_ALL\n!const char * gi_object_info_get_type_name (GIObjectInfo *info);\nfunction gi_object_info_get_type_name(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_object_info_get_type_name\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!const char * gi_object_info_get_type_init_function_name (GIObjectInfo *info);\nfunction gi_object_info_get_type_init_function_name(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_object_info_get_type_init_function_name\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!gboolean gi_object_info_get_abstract (GIObjectInfo *info);\nfunction gi_object_info_get_abstract(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_object_info_get_abstract\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!gboolean gi_object_info_get_final (GIObjectInfo *info);\nfunction gi_object_info_get_final(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_object_info_get_final\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!gboolean gi_object_info_get_fundamental (GIObjectInfo *info);\nfunction gi_object_info_get_fundamental(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_object_info_get_fundamental\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIObjectInfo * gi_object_info_get_parent (GIObjectInfo *info);\nfunction gi_object_info_get_parent(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_object_info_get_parent\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!unsigned int gi_object_info_get_n_interfaces (GIObjectInfo *info);\nfunction gi_object_info_get_n_interfaces(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_object_info_get_n_interfaces\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIInterfaceInfo * gi_object_info_get_interface (GIObjectInfo *info, unsigned int n);\nfunction gi_object_info_get_interface(info, n) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gi_object_info_get_interface\n  type(c_ptr), value :: info\n  integer(c_int), value :: n\nend function\n\n! GI_AVAILABLE_IN_ALL\n!unsigned int gi_object_info_get_n_fields (GIObjectInfo *info);\nfunction gi_object_info_get_n_fields(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_object_info_get_n_fields\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIFieldInfo * gi_object_info_get_field (GIObjectInfo *info, unsigned int n);\nfunction gi_object_info_get_field(info, n) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gi_object_info_get_field\n  type(c_ptr), value :: info\n  integer(c_int), value :: n\nend function\n\n! GI_AVAILABLE_IN_ALL\n!unsigned int gi_object_info_get_n_properties (GIObjectInfo *info);\nfunction gi_object_info_get_n_properties(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_object_info_get_n_properties\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIPropertyInfo * gi_object_info_get_property (GIObjectInfo *info, unsigned int n);\nfunction gi_object_info_get_property(info, n) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gi_object_info_get_property\n  type(c_ptr), value :: info\n  integer(c_int), value :: n\nend function\n\n! GI_AVAILABLE_IN_ALL\n!unsigned int gi_object_info_get_n_methods (GIObjectInfo *info);\nfunction gi_object_info_get_n_methods(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_object_info_get_n_methods\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIFunctionInfo * gi_object_info_get_method (GIObjectInfo *info, unsigned int n);\nfunction gi_object_info_get_method(info, n) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gi_object_info_get_method\n  type(c_ptr), value :: info\n  integer(c_int), value :: n\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIFunctionInfo * gi_object_info_find_method (GIObjectInfo *info, const char *name);\nfunction gi_object_info_find_method(info, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gi_object_info_find_method\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIFunctionInfo * gi_object_info_find_method_using_interfaces (GIObjectInfo *info, const char *name, GIBaseInfo **declarer);\nfunction gi_object_info_find_method_using_interfaces(info, name, declarer)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gi_object_info_find_method_using_interfaces\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: name\n  type(c_ptr), value :: declarer\nend function\n\n! GI_AVAILABLE_IN_ALL\n!unsigned int gi_object_info_get_n_signals (GIObjectInfo *info);\nfunction gi_object_info_get_n_signals(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_object_info_get_n_signals\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GISignalInfo * gi_object_info_get_signal (GIObjectInfo *info, unsigned int n);\nfunction gi_object_info_get_signal(info, n) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gi_object_info_get_signal\n  type(c_ptr), value :: info\n  integer(c_int), value :: n\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GISignalInfo * gi_object_info_find_signal (GIObjectInfo *info, const char *name);\nfunction gi_object_info_find_signal(info, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gi_object_info_find_signal\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GI_AVAILABLE_IN_ALL\n!unsigned int gi_object_info_get_n_vfuncs (GIObjectInfo *info);\nfunction gi_object_info_get_n_vfuncs(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_object_info_get_n_vfuncs\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIVFuncInfo * gi_object_info_get_vfunc (GIObjectInfo *info, unsigned int n);\nfunction gi_object_info_get_vfunc(info, n) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gi_object_info_get_vfunc\n  type(c_ptr), value :: info\n  integer(c_int), value :: n\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIVFuncInfo * gi_object_info_find_vfunc (GIObjectInfo *info, const char *name);\nfunction gi_object_info_find_vfunc(info, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gi_object_info_find_vfunc\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIVFuncInfo * gi_object_info_find_vfunc_using_interfaces (GIObjectInfo *info, const char *name, GIBaseInfo **declarer);\nfunction gi_object_info_find_vfunc_using_interfaces(info, name, declarer)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gi_object_info_find_vfunc_using_interfaces\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: name\n  type(c_ptr), value :: declarer\nend function\n\n! GI_AVAILABLE_IN_ALL\n!unsigned int gi_object_info_get_n_constants (GIObjectInfo *info);\nfunction gi_object_info_get_n_constants(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_object_info_get_n_constants\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIConstantInfo * gi_object_info_get_constant (GIObjectInfo *info, unsigned int n);\nfunction gi_object_info_get_constant(info, n) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gi_object_info_get_constant\n  type(c_ptr), value :: info\n  integer(c_int), value :: n\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIStructInfo * gi_object_info_get_class_struct (GIObjectInfo *info);\nfunction gi_object_info_get_class_struct(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_object_info_get_class_struct\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!const char * gi_object_info_get_ref_function_name (GIObjectInfo *info);\nfunction gi_object_info_get_ref_function_name(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_object_info_get_ref_function_name\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIObjectInfoRefFunction gi_object_info_get_ref_function_pointer (GIObjectInfo *info);\nfunction gi_object_info_get_ref_function_pointer(info) bind(c)\n  import :: c_funptr, c_ptr\n  implicit none\n  type(c_funptr) :: gi_object_info_get_ref_function_pointer\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!const char * gi_object_info_get_unref_function_name (GIObjectInfo *info);\nfunction gi_object_info_get_unref_function_name(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_object_info_get_unref_function_name\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIObjectInfoUnrefFunction gi_object_info_get_unref_function_pointer (GIObjectInfo *info);\nfunction gi_object_info_get_unref_function_pointer(info) bind(c)\n  import :: c_funptr, c_ptr\n  implicit none\n  type(c_funptr) :: gi_object_info_get_unref_function_pointer\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!const char * gi_object_info_get_set_value_function_name (GIObjectInfo *info);\nfunction gi_object_info_get_set_value_function_name(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_object_info_get_set_value_function_name\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIObjectInfoSetValueFunction gi_object_info_get_set_value_function_pointer (GIObjectInfo *info);\nfunction gi_object_info_get_set_value_function_pointer(info) bind(c)\n  import :: c_funptr, c_ptr\n  implicit none\n  type(c_funptr) :: gi_object_info_get_set_value_function_pointer\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!const char * gi_object_info_get_get_value_function_name (GIObjectInfo *info);\nfunction gi_object_info_get_get_value_function_name(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_object_info_get_get_value_function_name\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIObjectInfoGetValueFunction gi_object_info_get_get_value_function_pointer (GIObjectInfo *info);\nfunction gi_object_info_get_get_value_function_pointer(info) bind(c)\n  import :: c_funptr, c_ptr\n  implicit none\n  type(c_funptr) :: gi_object_info_get_get_value_function_pointer\n  type(c_ptr), value :: info\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/girepository/gipropertyinfo.h\n!--------------------------------------------------\n! GI_AVAILABLE_IN_ALL\n!GParamFlags gi_property_info_get_flags (GIPropertyInfo *info);\nfunction gi_property_info_get_flags(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_property_info_get_flags\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GITypeInfo *gi_property_info_get_type_info (GIPropertyInfo *info);\nfunction gi_property_info_get_type_info(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_property_info_get_type_info\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GITransfer gi_property_info_get_ownership_transfer (GIPropertyInfo *info);\nfunction gi_property_info_get_ownership_transfer(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_property_info_get_ownership_transfer\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIFunctionInfo *gi_property_info_get_setter (GIPropertyInfo *info);\nfunction gi_property_info_get_setter(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_property_info_get_setter\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIFunctionInfo *gi_property_info_get_getter (GIPropertyInfo *info);\nfunction gi_property_info_get_getter(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_property_info_get_getter\n  type(c_ptr), value :: info\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/girepository/giregisteredtypeinfo.h\n!--------------------------------------------------\n! GI_AVAILABLE_IN_ALL\n!const char * gi_registered_type_info_get_type_name (GIRegisteredTypeInfo *info);\nfunction gi_registered_type_info_get_type_name(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_registered_type_info_get_type_name\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!const char * gi_registered_type_info_get_type_init_function_name (GIRegisteredTypeInfo *info);\nfunction gi_registered_type_info_get_type_init_function_name(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_registered_type_info_get_type_init_function_name\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GType gi_registered_type_info_get_g_type (GIRegisteredTypeInfo *info);\nfunction gi_registered_type_info_get_g_type(info) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: gi_registered_type_info_get_g_type\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!gboolean gi_registered_type_info_is_boxed (GIRegisteredTypeInfo *info);\nfunction gi_registered_type_info_is_boxed(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_registered_type_info_is_boxed\n  type(c_ptr), value :: info\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/girepository/girepository-autocleanups.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/glib-2.0/girepository/girepository.h\n!--------------------------------------------------\n! GI_AVAILABLE_IN_ALL\n!GIRepository *gi_repository_new (void);\nfunction gi_repository_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_repository_new\nend function\n\n! GI_AVAILABLE_IN_ALL\n!void gi_repository_prepend_search_path (GIRepository *repository, const char *directory);\nsubroutine gi_repository_prepend_search_path(repository, directory) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: repository\n  character(kind=c_char), dimension(*) :: directory\nend subroutine\n\n! GI_AVAILABLE_IN_ALL\n!void gi_repository_prepend_library_path (GIRepository *repository, const char *directory);\nsubroutine gi_repository_prepend_library_path(repository, directory) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: repository\n  character(kind=c_char), dimension(*) :: directory\nend subroutine\n\n! GI_AVAILABLE_IN_ALL\n!const char * const * gi_repository_get_search_path (GIRepository *repository, size_t *n_paths_out);\nfunction gi_repository_get_search_path(repository, n_paths_out) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_repository_get_search_path\n  type(c_ptr), value :: repository\n  type(c_ptr), value :: n_paths_out\nend function\n\n! GI_AVAILABLE_IN_ALL\n!const char * const *gi_repository_get_library_path (GIRepository *repository, size_t *n_paths_out);\nfunction gi_repository_get_library_path(repository, n_paths_out) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_repository_get_library_path\n  type(c_ptr), value :: repository\n  type(c_ptr), value :: n_paths_out\nend function\n\n! GI_AVAILABLE_IN_ALL\n!const char * gi_repository_load_typelib (GIRepository *repository, GITypelib *typelib, GIRepositoryLoadFlags flags, GError **error);\nfunction gi_repository_load_typelib(repository, typelib, flags, error) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gi_repository_load_typelib\n  type(c_ptr), value :: repository\n  type(c_ptr), value :: typelib\n  integer(c_int), value :: flags\n  type(c_ptr), value :: error\nend function\n\n! GI_AVAILABLE_IN_ALL\n!gboolean gi_repository_is_registered (GIRepository *repository, const char *namespace_, const char *version);\nfunction gi_repository_is_registered(repository, namespace_, version) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gi_repository_is_registered\n  type(c_ptr), value :: repository\n  character(kind=c_char), dimension(*) :: namespace_\n  character(kind=c_char), dimension(*) :: version\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIBaseInfo * gi_repository_find_by_name (GIRepository *repository, const char *namespace_, const char *name);\nfunction gi_repository_find_by_name(repository, namespace_, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gi_repository_find_by_name\n  type(c_ptr), value :: repository\n  character(kind=c_char), dimension(*) :: namespace_\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GI_AVAILABLE_IN_ALL\n!char ** gi_repository_enumerate_versions (GIRepository *repository, const char *namespace_, size_t *n_versions_out);\nfunction gi_repository_enumerate_versions(repository, namespace_,&\n& n_versions_out) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gi_repository_enumerate_versions\n  type(c_ptr), value :: repository\n  character(kind=c_char), dimension(*) :: namespace_\n  type(c_ptr), value :: n_versions_out\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GITypelib * gi_repository_require (GIRepository *repository, const char *namespace_, const char *version, GIRepositoryLoadFlags flags, GError **error);\nfunction gi_repository_require(repository, namespace_, version, flags, error)&\n& bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: gi_repository_require\n  type(c_ptr), value :: repository\n  character(kind=c_char), dimension(*) :: namespace_\n  character(kind=c_char), dimension(*) :: version\n  integer(c_int), value :: flags\n  type(c_ptr), value :: error\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GITypelib * gi_repository_require_private (GIRepository *repository, const char *typelib_dir, const char *namespace_, const char *version, GIRepositoryLoadFlags flags, GError **error);\nfunction gi_repository_require_private(repository, typelib_dir, namespace_,&\n& version, flags, error) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: gi_repository_require_private\n  type(c_ptr), value :: repository\n  character(kind=c_char), dimension(*) :: typelib_dir\n  character(kind=c_char), dimension(*) :: namespace_\n  character(kind=c_char), dimension(*) :: version\n  integer(c_int), value :: flags\n  type(c_ptr), value :: error\nend function\n\n! GI_AVAILABLE_IN_ALL\n!char ** gi_repository_get_immediate_dependencies (GIRepository *repository, const char *namespace_, size_t *n_dependencies_out);\nfunction gi_repository_get_immediate_dependencies(repository, namespace_,&\n& n_dependencies_out) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gi_repository_get_immediate_dependencies\n  type(c_ptr), value :: repository\n  character(kind=c_char), dimension(*) :: namespace_\n  type(c_ptr), value :: n_dependencies_out\nend function\n\n! GI_AVAILABLE_IN_ALL\n!char ** gi_repository_get_dependencies (GIRepository *repository, const char *namespace_, size_t *n_dependencies_out);\nfunction gi_repository_get_dependencies(repository, namespace_,&\n& n_dependencies_out) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gi_repository_get_dependencies\n  type(c_ptr), value :: repository\n  character(kind=c_char), dimension(*) :: namespace_\n  type(c_ptr), value :: n_dependencies_out\nend function\n\n! GI_AVAILABLE_IN_ALL\n!char ** gi_repository_get_loaded_namespaces (GIRepository *repository, size_t *n_namespaces_out);\nfunction gi_repository_get_loaded_namespaces(repository, n_namespaces_out)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_repository_get_loaded_namespaces\n  type(c_ptr), value :: repository\n  type(c_ptr), value :: n_namespaces_out\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIBaseInfo * gi_repository_find_by_gtype (GIRepository *repository, GType gtype);\nfunction gi_repository_find_by_gtype(repository, gtype) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: gi_repository_find_by_gtype\n  type(c_ptr), value :: repository\n  integer(c_size_t), value :: gtype\nend function\n\n! GI_AVAILABLE_IN_ALL\n!void gi_repository_get_object_gtype_interfaces (GIRepository *repository, GType gtype, size_t *n_interfaces_out, GIInterfaceInfo ***interfaces_out);\nsubroutine gi_repository_get_object_gtype_interfaces(repository, gtype,&\n& n_interfaces_out, interfaces_out) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr), value :: repository\n  integer(c_size_t), value :: gtype\n  type(c_ptr), value :: n_interfaces_out\n  type(c_ptr), value :: interfaces_out\nend subroutine\n\n! GI_AVAILABLE_IN_ALL\n!unsigned int gi_repository_get_n_infos (GIRepository *repository, const char *namespace_);\nfunction gi_repository_get_n_infos(repository, namespace_) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gi_repository_get_n_infos\n  type(c_ptr), value :: repository\n  character(kind=c_char), dimension(*) :: namespace_\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIBaseInfo * gi_repository_get_info (GIRepository *repository, const char *namespace_, unsigned int idx);\nfunction gi_repository_get_info(repository, namespace_, idx) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: gi_repository_get_info\n  type(c_ptr), value :: repository\n  character(kind=c_char), dimension(*) :: namespace_\n  integer(c_int), value :: idx\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIEnumInfo * gi_repository_find_by_error_domain (GIRepository *repository, GQuark domain);\nfunction gi_repository_find_by_error_domain(repository, domain) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr) :: gi_repository_find_by_error_domain\n  type(c_ptr), value :: repository\n  integer(c_int32_t), value :: domain\nend function\n\n! GI_AVAILABLE_IN_ALL\n!const char * gi_repository_get_typelib_path (GIRepository *repository, const char *namespace_);\nfunction gi_repository_get_typelib_path(repository, namespace_) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gi_repository_get_typelib_path\n  type(c_ptr), value :: repository\n  character(kind=c_char), dimension(*) :: namespace_\nend function\n\n! GI_AVAILABLE_IN_ALL\n!const char * const *gi_repository_get_shared_libraries (GIRepository *repository, const char *namespace_, size_t *out_n_elements);\nfunction gi_repository_get_shared_libraries(repository, namespace_,&\n& out_n_elements) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gi_repository_get_shared_libraries\n  type(c_ptr), value :: repository\n  character(kind=c_char), dimension(*) :: namespace_\n  type(c_ptr), value :: out_n_elements\nend function\n\n! GI_AVAILABLE_IN_ALL\n!const char * gi_repository_get_c_prefix (GIRepository *repository, const char *namespace_);\nfunction gi_repository_get_c_prefix(repository, namespace_) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gi_repository_get_c_prefix\n  type(c_ptr), value :: repository\n  character(kind=c_char), dimension(*) :: namespace_\nend function\n\n! GI_AVAILABLE_IN_ALL\n!const char * gi_repository_get_version (GIRepository *repository, const char *namespace_);\nfunction gi_repository_get_version(repository, namespace_) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gi_repository_get_version\n  type(c_ptr), value :: repository\n  character(kind=c_char), dimension(*) :: namespace_\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GOptionGroup * gi_repository_get_option_group (void);\nfunction gi_repository_get_option_group() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_repository_get_option_group\nend function\n\n! GI_AVAILABLE_IN_ALL\n!gboolean gi_repository_dump (const char *input_filename, const char *output_filename, GError **error);\nfunction gi_repository_dump(input_filename, output_filename, error) bind(c)\n  import :: c_int, c_char, c_ptr\n  implicit none\n  integer(c_int) :: gi_repository_dump\n  character(kind=c_char), dimension(*) :: input_filename\n  character(kind=c_char), dimension(*) :: output_filename\n  type(c_ptr), value :: error\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GQuark gi_repository_error_quark (void);\nfunction gi_repository_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: gi_repository_error_quark\nend function\n\n! GI_AVAILABLE_IN_ALL\n!void gi_cclosure_marshal_generic (GClosure *closure, GValue *return_gvalue, unsigned int n_param_values, const GValue *param_values, void *invocation_hint, void *marshal_data);\nsubroutine gi_cclosure_marshal_generic(closure, return_gvalue, n_param_values,&\n& param_values, invocation_hint, marshal_data) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_gvalue\n  integer(c_int), value :: n_param_values\n  type(c_ptr), value :: param_values\n  type(c_ptr), value :: invocation_hint\n  type(c_ptr), value :: marshal_data\nend subroutine\n\n! GI_AVAILABLE_IN_2_86\n!GIRepository *gi_repository_dup_default (void);\nfunction gi_repository_dup_default() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_repository_dup_default\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/girepository/girffi.h\n!--------------------------------------------------\n! GI_AVAILABLE_IN_ALL\n!ffi_type * gi_type_tag_get_ffi_type (GITypeTag type_tag, gboolean is_pointer);\nfunction gi_type_tag_get_ffi_type(type_tag, is_pointer) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gi_type_tag_get_ffi_type\n  integer(c_int), value :: type_tag\n  integer(c_int), value :: is_pointer\nend function\n\n! GI_AVAILABLE_IN_ALL\n!ffi_type * gi_type_info_get_ffi_type (GITypeInfo *info);\nfunction gi_type_info_get_ffi_type(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_type_info_get_ffi_type\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!void gi_type_info_extract_ffi_return_value (GITypeInfo *return_info, GIFFIReturnValue *ffi_value, GIArgument *arg);\nsubroutine gi_type_info_extract_ffi_return_value(return_info, ffi_value, arg)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: return_info\n  type(c_ptr), value :: ffi_value\n  type(c_ptr), value :: arg\nend subroutine\n\n! GI_AVAILABLE_IN_ALL\n!void gi_type_tag_extract_ffi_return_value (GITypeTag return_tag, GType interface_type, GIFFIReturnValue *ffi_value, GIArgument *arg);\nsubroutine gi_type_tag_extract_ffi_return_value(return_tag, interface_type,&\n& ffi_value, arg) bind(c)\n  import :: c_int, c_size_t, c_ptr\n  implicit none\n  integer(c_int), value :: return_tag\n  integer(c_size_t), value :: interface_type\n  type(c_ptr), value :: ffi_value\n  type(c_ptr), value :: arg\nend subroutine\n\n! GI_AVAILABLE_IN_ALL\n!gboolean gi_function_info_prep_invoker (GIFunctionInfo *info, GIFunctionInvoker *invoker, GError **error);\nfunction gi_function_info_prep_invoker(info, invoker, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_function_info_prep_invoker\n  type(c_ptr), value :: info\n  type(c_ptr), value :: invoker\n  type(c_ptr), value :: error\nend function\n\n! GI_AVAILABLE_IN_ALL\n!gboolean gi_function_invoker_new_for_address (void *addr, GICallableInfo *info, GIFunctionInvoker *invoker, GError **error);\nfunction gi_function_invoker_new_for_address(addr, info, invoker, error)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_function_invoker_new_for_address\n  type(c_ptr), value :: addr\n  type(c_ptr), value :: info\n  type(c_ptr), value :: invoker\n  type(c_ptr), value :: error\nend function\n\n! GI_AVAILABLE_IN_ALL\n!void gi_function_invoker_clear (GIFunctionInvoker *invoker);\nsubroutine gi_function_invoker_clear(invoker) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: invoker\nend subroutine\n\n! GI_AVAILABLE_IN_ALL\n!void ** gi_callable_info_get_closure_native_address (GICallableInfo *callable_info, ffi_closure *closure);\nfunction gi_callable_info_get_closure_native_address(callable_info, closure)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_callable_info_get_closure_native_address\n  type(c_ptr), value :: callable_info\n  type(c_ptr), value :: closure\nend function\n\n! GI_AVAILABLE_IN_ALL\n!void gi_callable_info_destroy_closure (GICallableInfo *callable_info, ffi_closure *closure);\nsubroutine gi_callable_info_destroy_closure(callable_info, closure) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: callable_info\n  type(c_ptr), value :: closure\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/girepository/gisignalinfo.h\n!--------------------------------------------------\n! GI_AVAILABLE_IN_ALL\n!GSignalFlags gi_signal_info_get_flags (GISignalInfo *info);\nfunction gi_signal_info_get_flags(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_signal_info_get_flags\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIVFuncInfo * gi_signal_info_get_class_closure (GISignalInfo *info);\nfunction gi_signal_info_get_class_closure(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_signal_info_get_class_closure\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!gboolean gi_signal_info_true_stops_emit (GISignalInfo *info);\nfunction gi_signal_info_true_stops_emit(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_signal_info_true_stops_emit\n  type(c_ptr), value :: info\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/girepository/gistructinfo.h\n!--------------------------------------------------\n! GI_AVAILABLE_IN_ALL\n!unsigned int gi_struct_info_get_n_fields (GIStructInfo *info);\nfunction gi_struct_info_get_n_fields(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_struct_info_get_n_fields\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIFieldInfo * gi_struct_info_get_field (GIStructInfo *info, unsigned int n);\nfunction gi_struct_info_get_field(info, n) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gi_struct_info_get_field\n  type(c_ptr), value :: info\n  integer(c_int), value :: n\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIFieldInfo * gi_struct_info_find_field (GIStructInfo *info, const char *name);\nfunction gi_struct_info_find_field(info, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gi_struct_info_find_field\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GI_AVAILABLE_IN_ALL\n!unsigned int gi_struct_info_get_n_methods (GIStructInfo *info);\nfunction gi_struct_info_get_n_methods(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_struct_info_get_n_methods\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIFunctionInfo * gi_struct_info_get_method (GIStructInfo *info, unsigned int n);\nfunction gi_struct_info_get_method(info, n) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gi_struct_info_get_method\n  type(c_ptr), value :: info\n  integer(c_int), value :: n\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIFunctionInfo * gi_struct_info_find_method (GIStructInfo *info, const char *name);\nfunction gi_struct_info_find_method(info, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gi_struct_info_find_method\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GI_AVAILABLE_IN_ALL\n!size_t gi_struct_info_get_size (GIStructInfo *info);\nfunction gi_struct_info_get_size(info) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: gi_struct_info_get_size\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!size_t gi_struct_info_get_alignment (GIStructInfo *info);\nfunction gi_struct_info_get_alignment(info) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: gi_struct_info_get_alignment\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!gboolean gi_struct_info_is_gtype_struct (GIStructInfo *info);\nfunction gi_struct_info_is_gtype_struct(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_struct_info_is_gtype_struct\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!gboolean gi_struct_info_is_foreign (GIStructInfo *info);\nfunction gi_struct_info_is_foreign(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_struct_info_is_foreign\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!const char * gi_struct_info_get_copy_function_name (GIStructInfo *info);\nfunction gi_struct_info_get_copy_function_name(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_struct_info_get_copy_function_name\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!const char * gi_struct_info_get_free_function_name (GIStructInfo *info);\nfunction gi_struct_info_get_free_function_name(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_struct_info_get_free_function_name\n  type(c_ptr), value :: info\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/girepository/gitypeinfo.h\n!--------------------------------------------------\n! GI_AVAILABLE_IN_ALL\n!gboolean gi_type_info_is_pointer (GITypeInfo *info);\nfunction gi_type_info_is_pointer(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_type_info_is_pointer\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GITypeTag gi_type_info_get_tag (GITypeInfo *info);\nfunction gi_type_info_get_tag(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_type_info_get_tag\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GITypeInfo * gi_type_info_get_param_type (GITypeInfo *info, unsigned int n);\nfunction gi_type_info_get_param_type(info, n) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gi_type_info_get_param_type\n  type(c_ptr), value :: info\n  integer(c_int), value :: n\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIBaseInfo * gi_type_info_get_interface (GITypeInfo *info);\nfunction gi_type_info_get_interface(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_type_info_get_interface\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!gboolean gi_type_info_get_array_length_index (GITypeInfo *info, unsigned int *out_length_index);\nfunction gi_type_info_get_array_length_index(info, out_length_index) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_type_info_get_array_length_index\n  type(c_ptr), value :: info\n  type(c_ptr), value :: out_length_index\nend function\n\n! GI_AVAILABLE_IN_ALL\n!gboolean gi_type_info_get_array_fixed_size (GITypeInfo *info, size_t *out_size);\nfunction gi_type_info_get_array_fixed_size(info, out_size) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_type_info_get_array_fixed_size\n  type(c_ptr), value :: info\n  type(c_ptr), value :: out_size\nend function\n\n! GI_AVAILABLE_IN_ALL\n!gboolean gi_type_info_is_zero_terminated (GITypeInfo *info);\nfunction gi_type_info_is_zero_terminated(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_type_info_is_zero_terminated\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIArrayType gi_type_info_get_array_type (GITypeInfo *info);\nfunction gi_type_info_get_array_type(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_type_info_get_array_type\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GITypeTag gi_type_info_get_storage_type (GITypeInfo *info);\nfunction gi_type_info_get_storage_type(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_type_info_get_storage_type\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!void gi_type_info_argument_from_hash_pointer (GITypeInfo *info, void *hash_pointer, GIArgument *arg);\nsubroutine gi_type_info_argument_from_hash_pointer(info, hash_pointer, arg)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: info\n  type(c_ptr), value :: hash_pointer\n  type(c_ptr), value :: arg\nend subroutine\n\n! GI_AVAILABLE_IN_ALL\n!void * gi_type_info_hash_pointer_from_argument (GITypeInfo *info, GIArgument *arg);\nfunction gi_type_info_hash_pointer_from_argument(info, arg) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_type_info_hash_pointer_from_argument\n  type(c_ptr), value :: info\n  type(c_ptr), value :: arg\nend function\n\n! GI_AVAILABLE_IN_ALL\n!void gi_type_tag_argument_from_hash_pointer (GITypeTag storage_type, void *hash_pointer, GIArgument *arg);\nsubroutine gi_type_tag_argument_from_hash_pointer(storage_type, hash_pointer,&\n& arg) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int), value :: storage_type\n  type(c_ptr), value :: hash_pointer\n  type(c_ptr), value :: arg\nend subroutine\n\n! GI_AVAILABLE_IN_ALL\n!void * gi_type_tag_hash_pointer_from_argument (GITypeTag storage_type, GIArgument *arg);\nfunction gi_type_tag_hash_pointer_from_argument(storage_type, arg) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gi_type_tag_hash_pointer_from_argument\n  integer(c_int), value :: storage_type\n  type(c_ptr), value :: arg\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/girepository/gitypelib.h\n!--------------------------------------------------\n! GI_AVAILABLE_IN_ALL\n!GType gi_typelib_get_type (void) ;\nfunction gi_typelib_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gi_typelib_get_type\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GITypelib * gi_typelib_new_from_bytes (GBytes *bytes, GError **error);\nfunction gi_typelib_new_from_bytes(bytes, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_typelib_new_from_bytes\n  type(c_ptr), value :: bytes\n  type(c_ptr), value :: error\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GITypelib * gi_typelib_ref (GITypelib *typelib);\nfunction gi_typelib_ref(typelib) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_typelib_ref\n  type(c_ptr), value :: typelib\nend function\n\n! GI_AVAILABLE_IN_ALL\n!void gi_typelib_unref (GITypelib *typelib);\nsubroutine gi_typelib_unref(typelib) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: typelib\nend subroutine\n\n! GI_AVAILABLE_IN_ALL\n!gboolean gi_typelib_symbol (GITypelib *typelib, const char *symbol_name, void **symbol);\nfunction gi_typelib_symbol(typelib, symbol_name, symbol) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gi_typelib_symbol\n  type(c_ptr), value :: typelib\n  character(kind=c_char), dimension(*) :: symbol_name\n  type(c_ptr), value :: symbol\nend function\n\n! GI_AVAILABLE_IN_ALL\n!const char * gi_typelib_get_namespace (GITypelib *typelib);\nfunction gi_typelib_get_namespace(typelib) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_typelib_get_namespace\n  type(c_ptr), value :: typelib\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/girepository/gitypes.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/glib-2.0/girepository/giunioninfo.h\n!--------------------------------------------------\n! GI_AVAILABLE_IN_ALL\n!unsigned int gi_union_info_get_n_fields (GIUnionInfo *info);\nfunction gi_union_info_get_n_fields(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_union_info_get_n_fields\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIFieldInfo * gi_union_info_get_field (GIUnionInfo *info, unsigned int n);\nfunction gi_union_info_get_field(info, n) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gi_union_info_get_field\n  type(c_ptr), value :: info\n  integer(c_int), value :: n\nend function\n\n! GI_AVAILABLE_IN_ALL\n!unsigned int gi_union_info_get_n_methods (GIUnionInfo *info);\nfunction gi_union_info_get_n_methods(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_union_info_get_n_methods\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIFunctionInfo * gi_union_info_get_method (GIUnionInfo *info, unsigned int n);\nfunction gi_union_info_get_method(info, n) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gi_union_info_get_method\n  type(c_ptr), value :: info\n  integer(c_int), value :: n\nend function\n\n! GI_AVAILABLE_IN_ALL\n!gboolean gi_union_info_is_discriminated (GIUnionInfo *info);\nfunction gi_union_info_is_discriminated(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_union_info_is_discriminated\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!gboolean gi_union_info_get_discriminator_offset (GIUnionInfo *info, size_t *out_offset);\nfunction gi_union_info_get_discriminator_offset(info, out_offset) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_union_info_get_discriminator_offset\n  type(c_ptr), value :: info\n  type(c_ptr), value :: out_offset\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GITypeInfo * gi_union_info_get_discriminator_type (GIUnionInfo *info);\nfunction gi_union_info_get_discriminator_type(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_union_info_get_discriminator_type\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIConstantInfo * gi_union_info_get_discriminator (GIUnionInfo *info, size_t n);\nfunction gi_union_info_get_discriminator(info, n) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: gi_union_info_get_discriminator\n  type(c_ptr), value :: info\n  integer(c_size_t), value :: n\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIFunctionInfo * gi_union_info_find_method (GIUnionInfo *info, const char *name);\nfunction gi_union_info_find_method(info, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gi_union_info_find_method\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GI_AVAILABLE_IN_ALL\n!size_t gi_union_info_get_size (GIUnionInfo *info);\nfunction gi_union_info_get_size(info) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: gi_union_info_get_size\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!size_t gi_union_info_get_alignment (GIUnionInfo *info);\nfunction gi_union_info_get_alignment(info) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: gi_union_info_get_alignment\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!const char * gi_union_info_get_copy_function_name (GIUnionInfo *info);\nfunction gi_union_info_get_copy_function_name(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_union_info_get_copy_function_name\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!const char * gi_union_info_get_free_function_name (GIUnionInfo *info);\nfunction gi_union_info_get_free_function_name(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_union_info_get_free_function_name\n  type(c_ptr), value :: info\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/girepository/giunresolvedinfo.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/glib-2.0/girepository/givalueinfo.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/glib-2.0/girepository/givfuncinfo.h\n!--------------------------------------------------\n! GI_AVAILABLE_IN_ALL\n!GIVFuncInfoFlags gi_vfunc_info_get_flags (GIVFuncInfo *info);\nfunction gi_vfunc_info_get_flags(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gi_vfunc_info_get_flags\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!size_t gi_vfunc_info_get_offset (GIVFuncInfo *info);\nfunction gi_vfunc_info_get_offset(info) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: gi_vfunc_info_get_offset\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GISignalInfo * gi_vfunc_info_get_signal (GIVFuncInfo *info);\nfunction gi_vfunc_info_get_signal(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_vfunc_info_get_signal\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!GIFunctionInfo * gi_vfunc_info_get_invoker (GIVFuncInfo *info);\nfunction gi_vfunc_info_get_invoker(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gi_vfunc_info_get_invoker\n  type(c_ptr), value :: info\nend function\n\n! GI_AVAILABLE_IN_ALL\n!void * gi_vfunc_info_get_address (GIVFuncInfo *info, GType implementor_gtype, GError **error);\nfunction gi_vfunc_info_get_address(info, implementor_gtype, error) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: gi_vfunc_info_get_address\n  type(c_ptr), value :: info\n  integer(c_size_t), value :: implementor_gtype\n  type(c_ptr), value :: error\nend function\n\n! GI_AVAILABLE_IN_ALL\n!gboolean gi_vfunc_info_invoke (GIVFuncInfo *info, GType implementor, const GIArgument *in_args, size_t n_in_args, GIArgument *out_args, size_t n_out_args, GIArgument *return_value, GError **error);\nfunction gi_vfunc_info_invoke(info, implementor, in_args, n_in_args, out_args,&\n& n_out_args, return_value, error) bind(c)\n  import :: c_int, c_ptr, c_size_t\n  implicit none\n  integer(c_int) :: gi_vfunc_info_invoke\n  type(c_ptr), value :: info\n  integer(c_size_t), value :: implementor\n  type(c_ptr), value :: in_args\n  integer(c_size_t), value :: n_in_args\n  type(c_ptr), value :: out_args\n  integer(c_size_t), value :: n_out_args\n  type(c_ptr), value :: return_value\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/galloca.h\n!--------------------------------------------------\n! \n!char *alloca ();\nfunction alloca() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: alloca\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/garray.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!GArray* g_array_new (gboolean zero_terminated, gboolean clear_, guint element_size);\nfunction g_array_new(zero_terminated, clear_, element_size) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_array_new\n  integer(c_int), value :: zero_terminated\n  integer(c_int), value :: clear_\n  integer(c_int), value :: element_size\nend function\n\n! GLIB_AVAILABLE_IN_2_76\n!GArray* g_array_new_take (gpointer data, gsize len, gboolean clear, gsize element_size);\nfunction g_array_new_take(data, len, clear, element_size) bind(c)\n  import :: c_ptr, c_size_t, c_int\n  implicit none\n  type(c_ptr) :: g_array_new_take\n  type(c_ptr), value :: data\n  integer(c_size_t), value :: len\n  integer(c_int), value :: clear\n  integer(c_size_t), value :: element_size\nend function\n\n! GLIB_AVAILABLE_IN_2_76\n!GArray* g_array_new_take_zero_terminated (gpointer data, gboolean clear, gsize element_size);\nfunction g_array_new_take_zero_terminated(data, clear, element_size) bind(c)\n  import :: c_ptr, c_int, c_size_t\n  implicit none\n  type(c_ptr) :: g_array_new_take_zero_terminated\n  type(c_ptr), value :: data\n  integer(c_int), value :: clear\n  integer(c_size_t), value :: element_size\nend function\n\n! GLIB_AVAILABLE_IN_2_64\n!gpointer g_array_steal (GArray *array, gsize *len);\nfunction g_array_steal(array, len) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_array_steal\n  type(c_ptr), value :: array\n  type(c_ptr), value :: len\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GArray* g_array_sized_new (gboolean zero_terminated, gboolean clear_, guint element_size, guint reserved_size);\nfunction g_array_sized_new(zero_terminated, clear_, element_size,&\n& reserved_size) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_array_sized_new\n  integer(c_int), value :: zero_terminated\n  integer(c_int), value :: clear_\n  integer(c_int), value :: element_size\n  integer(c_int), value :: reserved_size\nend function\n\n! GLIB_AVAILABLE_IN_2_62\n!GArray* g_array_copy (GArray *array);\nfunction g_array_copy(array) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_array_copy\n  type(c_ptr), value :: array\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar* g_array_free (GArray *array, gboolean free_segment);\nfunction g_array_free(array, free_segment) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_array_free\n  type(c_ptr), value :: array\n  integer(c_int), value :: free_segment\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GArray *g_array_ref (GArray *array);\nfunction g_array_ref(array) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_array_ref\n  type(c_ptr), value :: array\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_array_unref (GArray *array);\nsubroutine g_array_unref(array) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: array\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_array_get_element_size (GArray *array);\nfunction g_array_get_element_size(array) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_array_get_element_size\n  type(c_ptr), value :: array\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GArray* g_array_append_vals (GArray *array, gconstpointer data, guint len);\nfunction g_array_append_vals(array, data, len) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_array_append_vals\n  type(c_ptr), value :: array\n  type(c_ptr), value :: data\n  integer(c_int), value :: len\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GArray* g_array_prepend_vals (GArray *array, gconstpointer data, guint len);\nfunction g_array_prepend_vals(array, data, len) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_array_prepend_vals\n  type(c_ptr), value :: array\n  type(c_ptr), value :: data\n  integer(c_int), value :: len\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GArray* g_array_insert_vals (GArray *array, guint index_, gconstpointer data, guint len);\nfunction g_array_insert_vals(array, index_, data, len) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_array_insert_vals\n  type(c_ptr), value :: array\n  integer(c_int), value :: index_\n  type(c_ptr), value :: data\n  integer(c_int), value :: len\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GArray* g_array_set_size (GArray *array, guint length);\nfunction g_array_set_size(array, length) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_array_set_size\n  type(c_ptr), value :: array\n  integer(c_int), value :: length\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GArray* g_array_remove_index (GArray *array, guint index_);\nfunction g_array_remove_index(array, index_) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_array_remove_index\n  type(c_ptr), value :: array\n  integer(c_int), value :: index_\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GArray* g_array_remove_index_fast (GArray *array, guint index_);\nfunction g_array_remove_index_fast(array, index_) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_array_remove_index_fast\n  type(c_ptr), value :: array\n  integer(c_int), value :: index_\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GArray* g_array_remove_range (GArray *array, guint index_, guint length);\nfunction g_array_remove_range(array, index_, length) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_array_remove_range\n  type(c_ptr), value :: array\n  integer(c_int), value :: index_\n  integer(c_int), value :: length\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_array_sort (GArray *array, GCompareFunc compare_func);\nsubroutine g_array_sort(array, compare_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: array\n  type(c_funptr), value :: compare_func\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_array_sort_with_data (GArray *array, GCompareDataFunc compare_func, gpointer user_data);\nsubroutine g_array_sort_with_data(array, compare_func, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: array\n  type(c_funptr), value :: compare_func\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_62\n!gboolean g_array_binary_search (GArray *array, gconstpointer target, GCompareFunc compare_func, guint *out_match_index);\nfunction g_array_binary_search(array, target, compare_func, out_match_index)&\n& bind(c)\n  import :: c_int, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: g_array_binary_search\n  type(c_ptr), value :: array\n  type(c_ptr), value :: target\n  type(c_funptr), value :: compare_func\n  type(c_ptr), value :: out_match_index\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_array_set_clear_func (GArray *array, GDestroyNotify clear_func);\nsubroutine g_array_set_clear_func(array, clear_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: array\n  type(c_funptr), value :: clear_func\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GPtrArray* g_ptr_array_new (void);\nfunction g_ptr_array_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_ptr_array_new\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GPtrArray* g_ptr_array_new_with_free_func (GDestroyNotify element_free_func);\nfunction g_ptr_array_new_with_free_func(element_free_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_ptr_array_new_with_free_func\n  type(c_funptr), value :: element_free_func\nend function\n\n! GLIB_AVAILABLE_IN_2_76\n!GPtrArray* g_ptr_array_new_take (gpointer *data, gsize len, GDestroyNotify element_free_func);\nfunction g_ptr_array_new_take(data, len, element_free_func) bind(c)\n  import :: c_ptr, c_size_t, c_funptr\n  implicit none\n  type(c_ptr) :: g_ptr_array_new_take\n  type(c_ptr), value :: data\n  integer(c_size_t), value :: len\n  type(c_funptr), value :: element_free_func\nend function\n\n! GLIB_AVAILABLE_IN_2_76\n!GPtrArray* g_ptr_array_new_from_array (gpointer *data, gsize len, GCopyFunc copy_func, gpointer copy_func_user_data, GDestroyNotify element_free_func);\nfunction g_ptr_array_new_from_array(data, len, copy_func, copy_func_user_data,&\n& element_free_func) bind(c)\n  import :: c_ptr, c_size_t, c_funptr\n  implicit none\n  type(c_ptr) :: g_ptr_array_new_from_array\n  type(c_ptr), value :: data\n  integer(c_size_t), value :: len\n  type(c_funptr), value :: copy_func\n  type(c_ptr), value :: copy_func_user_data\n  type(c_funptr), value :: element_free_func\nend function\n\n! GLIB_AVAILABLE_IN_2_64\n!gpointer* g_ptr_array_steal (GPtrArray *array, gsize *len);\nfunction g_ptr_array_steal(array, len) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_ptr_array_steal\n  type(c_ptr), value :: array\n  type(c_ptr), value :: len\nend function\n\n! GLIB_AVAILABLE_IN_2_62\n!GPtrArray *g_ptr_array_copy (GPtrArray *array, GCopyFunc func, gpointer user_data);\nfunction g_ptr_array_copy(array, func, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_ptr_array_copy\n  type(c_ptr), value :: array\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GPtrArray* g_ptr_array_sized_new (guint reserved_size);\nfunction g_ptr_array_sized_new(reserved_size) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_ptr_array_sized_new\n  integer(c_int), value :: reserved_size\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GPtrArray* g_ptr_array_new_full (guint reserved_size, GDestroyNotify element_free_func);\nfunction g_ptr_array_new_full(reserved_size, element_free_func) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr) :: g_ptr_array_new_full\n  integer(c_int), value :: reserved_size\n  type(c_funptr), value :: element_free_func\nend function\n\n! GLIB_AVAILABLE_IN_2_74\n!GPtrArray* g_ptr_array_new_null_terminated (guint reserved_size, GDestroyNotify element_free_func, gboolean null_terminated);\nfunction g_ptr_array_new_null_terminated(reserved_size, element_free_func,&\n& null_terminated) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr) :: g_ptr_array_new_null_terminated\n  integer(c_int), value :: reserved_size\n  type(c_funptr), value :: element_free_func\n  integer(c_int), value :: null_terminated\nend function\n\n! GLIB_AVAILABLE_IN_2_76\n!GPtrArray* g_ptr_array_new_take_null_terminated (gpointer *data, GDestroyNotify element_free_func);\nfunction g_ptr_array_new_take_null_terminated(data, element_free_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_ptr_array_new_take_null_terminated\n  type(c_ptr), value :: data\n  type(c_funptr), value :: element_free_func\nend function\n\n! GLIB_AVAILABLE_IN_2_76\n!GPtrArray* g_ptr_array_new_from_null_terminated_array (gpointer *data, GCopyFunc copy_func, gpointer copy_func_user_data, GDestroyNotify element_free_func);\nfunction g_ptr_array_new_from_null_terminated_array(data, copy_func,&\n& copy_func_user_data, element_free_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_ptr_array_new_from_null_terminated_array\n  type(c_ptr), value :: data\n  type(c_funptr), value :: copy_func\n  type(c_ptr), value :: copy_func_user_data\n  type(c_funptr), value :: element_free_func\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer* g_ptr_array_free (GPtrArray *array, gboolean free_segment);\nfunction g_ptr_array_free(array, free_segment) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_ptr_array_free\n  type(c_ptr), value :: array\n  integer(c_int), value :: free_segment\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GPtrArray* g_ptr_array_ref (GPtrArray *array);\nfunction g_ptr_array_ref(array) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_ptr_array_ref\n  type(c_ptr), value :: array\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_ptr_array_unref (GPtrArray *array);\nsubroutine g_ptr_array_unref(array) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: array\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_ptr_array_set_free_func (GPtrArray *array, GDestroyNotify element_free_func);\nsubroutine g_ptr_array_set_free_func(array, element_free_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: array\n  type(c_funptr), value :: element_free_func\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_ptr_array_set_size (GPtrArray *array, gint length);\nsubroutine g_ptr_array_set_size(array, length) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: array\n  integer(c_int), value :: length\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_ptr_array_remove_index (GPtrArray *array, guint index_);\nfunction g_ptr_array_remove_index(array, index_) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_ptr_array_remove_index\n  type(c_ptr), value :: array\n  integer(c_int), value :: index_\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_ptr_array_remove_index_fast (GPtrArray *array, guint index_);\nfunction g_ptr_array_remove_index_fast(array, index_) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_ptr_array_remove_index_fast\n  type(c_ptr), value :: array\n  integer(c_int), value :: index_\nend function\n\n! GLIB_AVAILABLE_IN_2_58\n!gpointer g_ptr_array_steal_index (GPtrArray *array, guint index_);\nfunction g_ptr_array_steal_index(array, index_) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_ptr_array_steal_index\n  type(c_ptr), value :: array\n  integer(c_int), value :: index_\nend function\n\n! GLIB_AVAILABLE_IN_2_58\n!gpointer g_ptr_array_steal_index_fast (GPtrArray *array, guint index_);\nfunction g_ptr_array_steal_index_fast(array, index_) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_ptr_array_steal_index_fast\n  type(c_ptr), value :: array\n  integer(c_int), value :: index_\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_ptr_array_remove (GPtrArray *array, gpointer data);\nfunction g_ptr_array_remove(array, data) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_ptr_array_remove\n  type(c_ptr), value :: array\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_ptr_array_remove_fast (GPtrArray *array, gpointer data);\nfunction g_ptr_array_remove_fast(array, data) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_ptr_array_remove_fast\n  type(c_ptr), value :: array\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GPtrArray *g_ptr_array_remove_range (GPtrArray *array, guint index_, guint length);\nfunction g_ptr_array_remove_range(array, index_, length) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_ptr_array_remove_range\n  type(c_ptr), value :: array\n  integer(c_int), value :: index_\n  integer(c_int), value :: length\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_ptr_array_add (GPtrArray *array, gpointer data);\nsubroutine g_ptr_array_add(array, data) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: array\n  type(c_ptr), value :: data\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_62\n!void g_ptr_array_extend (GPtrArray *array_to_extend, GPtrArray *array, GCopyFunc func, gpointer user_data);\nsubroutine g_ptr_array_extend(array_to_extend, array, func, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: array_to_extend\n  type(c_ptr), value :: array\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_62\n!void g_ptr_array_extend_and_steal (GPtrArray *array_to_extend, GPtrArray *array);\nsubroutine g_ptr_array_extend_and_steal(array_to_extend, array) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: array_to_extend\n  type(c_ptr), value :: array\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_40\n!void g_ptr_array_insert (GPtrArray *array, gint index_, gpointer data);\nsubroutine g_ptr_array_insert(array, index_, data) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: array\n  integer(c_int), value :: index_\n  type(c_ptr), value :: data\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_ptr_array_sort (GPtrArray *array, GCompareFunc compare_func);\nsubroutine g_ptr_array_sort(array, compare_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: array\n  type(c_funptr), value :: compare_func\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_ptr_array_sort_with_data (GPtrArray *array, GCompareDataFunc compare_func, gpointer user_data);\nsubroutine g_ptr_array_sort_with_data(array, compare_func, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: array\n  type(c_funptr), value :: compare_func\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_76\n!void g_ptr_array_sort_values (GPtrArray *array, GCompareFunc compare_func);\nsubroutine g_ptr_array_sort_values(array, compare_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: array\n  type(c_funptr), value :: compare_func\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_76\n!void g_ptr_array_sort_values_with_data (GPtrArray *array, GCompareDataFunc compare_func, gpointer user_data);\nsubroutine g_ptr_array_sort_values_with_data(array, compare_func, user_data)&\n& bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: array\n  type(c_funptr), value :: compare_func\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_ptr_array_foreach (GPtrArray *array, GFunc func, gpointer user_data);\nsubroutine g_ptr_array_foreach(array, func, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: array\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_54\n!gboolean g_ptr_array_find (GPtrArray *haystack, gconstpointer needle, guint *index_);\nfunction g_ptr_array_find(haystack, needle, index_) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_ptr_array_find\n  type(c_ptr), value :: haystack\n  type(c_ptr), value :: needle\n  type(c_ptr), value :: index_\nend function\n\n! GLIB_AVAILABLE_IN_2_54\n!gboolean g_ptr_array_find_with_equal_func (GPtrArray *haystack, gconstpointer needle, GEqualFunc equal_func, guint *index_);\nfunction g_ptr_array_find_with_equal_func(haystack, needle, equal_func, index_)&\n& bind(c)\n  import :: c_int, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: g_ptr_array_find_with_equal_func\n  type(c_ptr), value :: haystack\n  type(c_ptr), value :: needle\n  type(c_funptr), value :: equal_func\n  type(c_ptr), value :: index_\nend function\n\n! GLIB_AVAILABLE_IN_2_74\n!gboolean g_ptr_array_is_null_terminated (GPtrArray *array);\nfunction g_ptr_array_is_null_terminated(array) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_ptr_array_is_null_terminated\n  type(c_ptr), value :: array\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GByteArray* g_byte_array_new (void);\nfunction g_byte_array_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_byte_array_new\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GByteArray* g_byte_array_new_take (guint8 *data, gsize len);\nfunction g_byte_array_new_take(data, len) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_byte_array_new_take\n  type(c_ptr), value :: data\n  integer(c_size_t), value :: len\nend function\n\n! GLIB_AVAILABLE_IN_2_64\n!guint8* g_byte_array_steal (GByteArray *array, gsize *len);\nfunction g_byte_array_steal(array, len) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_byte_array_steal\n  type(c_ptr), value :: array\n  type(c_ptr), value :: len\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GByteArray* g_byte_array_sized_new (guint reserved_size);\nfunction g_byte_array_sized_new(reserved_size) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_byte_array_sized_new\n  integer(c_int), value :: reserved_size\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint8* g_byte_array_free (GByteArray *array, gboolean free_segment);\nfunction g_byte_array_free(array, free_segment) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_byte_array_free\n  type(c_ptr), value :: array\n  integer(c_int), value :: free_segment\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GBytes* g_byte_array_free_to_bytes (GByteArray *array);\nfunction g_byte_array_free_to_bytes(array) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_byte_array_free_to_bytes\n  type(c_ptr), value :: array\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GByteArray *g_byte_array_ref (GByteArray *array);\nfunction g_byte_array_ref(array) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_byte_array_ref\n  type(c_ptr), value :: array\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_byte_array_unref (GByteArray *array);\nsubroutine g_byte_array_unref(array) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: array\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GByteArray* g_byte_array_append (GByteArray *array, const guint8 *data, guint len);\nfunction g_byte_array_append(array, data, len) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_byte_array_append\n  type(c_ptr), value :: array\n  type(c_ptr), value :: data\n  integer(c_int), value :: len\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GByteArray* g_byte_array_prepend (GByteArray *array, const guint8 *data, guint len);\nfunction g_byte_array_prepend(array, data, len) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_byte_array_prepend\n  type(c_ptr), value :: array\n  type(c_ptr), value :: data\n  integer(c_int), value :: len\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GByteArray* g_byte_array_set_size (GByteArray *array, guint length);\nfunction g_byte_array_set_size(array, length) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_byte_array_set_size\n  type(c_ptr), value :: array\n  integer(c_int), value :: length\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GByteArray* g_byte_array_remove_index (GByteArray *array, guint index_);\nfunction g_byte_array_remove_index(array, index_) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_byte_array_remove_index\n  type(c_ptr), value :: array\n  integer(c_int), value :: index_\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GByteArray* g_byte_array_remove_index_fast (GByteArray *array, guint index_);\nfunction g_byte_array_remove_index_fast(array, index_) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_byte_array_remove_index_fast\n  type(c_ptr), value :: array\n  integer(c_int), value :: index_\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GByteArray* g_byte_array_remove_range (GByteArray *array, guint index_, guint length);\nfunction g_byte_array_remove_range(array, index_, length) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_byte_array_remove_range\n  type(c_ptr), value :: array\n  integer(c_int), value :: index_\n  integer(c_int), value :: length\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_byte_array_sort (GByteArray *array, GCompareFunc compare_func);\nsubroutine g_byte_array_sort(array, compare_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: array\n  type(c_funptr), value :: compare_func\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_byte_array_sort_with_data (GByteArray *array, GCompareDataFunc compare_func, gpointer user_data);\nsubroutine g_byte_array_sort_with_data(array, compare_func, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: array\n  type(c_funptr), value :: compare_func\n  type(c_ptr), value :: user_data\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gasyncqueue.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!GAsyncQueue *g_async_queue_new (void);\nfunction g_async_queue_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_async_queue_new\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GAsyncQueue *g_async_queue_new_full (GDestroyNotify item_free_func);\nfunction g_async_queue_new_full(item_free_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_async_queue_new_full\n  type(c_funptr), value :: item_free_func\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_async_queue_lock (GAsyncQueue *queue);\nsubroutine g_async_queue_lock(queue) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: queue\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_async_queue_unlock (GAsyncQueue *queue);\nsubroutine g_async_queue_unlock(queue) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: queue\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GAsyncQueue *g_async_queue_ref (GAsyncQueue *queue);\nfunction g_async_queue_ref(queue) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_async_queue_ref\n  type(c_ptr), value :: queue\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_async_queue_unref (GAsyncQueue *queue);\nsubroutine g_async_queue_unref(queue) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: queue\nend subroutine\n\n! GLIB_DEPRECATED_FOR(g_async_queue_ref)\n!void g_async_queue_ref_unlocked (GAsyncQueue *queue);\nsubroutine g_async_queue_ref_unlocked(queue) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: queue\nend subroutine\n\n! GLIB_DEPRECATED_FOR(g_async_queue_unref)\n!void g_async_queue_unref_and_unlock (GAsyncQueue *queue);\nsubroutine g_async_queue_unref_and_unlock(queue) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: queue\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_async_queue_push (GAsyncQueue *queue, gpointer data);\nsubroutine g_async_queue_push(queue, data) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: queue\n  type(c_ptr), value :: data\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_async_queue_push_unlocked (GAsyncQueue *queue, gpointer data);\nsubroutine g_async_queue_push_unlocked(queue, data) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: queue\n  type(c_ptr), value :: data\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_async_queue_push_sorted (GAsyncQueue *queue, gpointer data, GCompareDataFunc func, gpointer user_data);\nsubroutine g_async_queue_push_sorted(queue, data, func, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: queue\n  type(c_ptr), value :: data\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_async_queue_push_sorted_unlocked (GAsyncQueue *queue, gpointer data, GCompareDataFunc func, gpointer user_data);\nsubroutine g_async_queue_push_sorted_unlocked(queue, data, func, user_data)&\n& bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: queue\n  type(c_ptr), value :: data\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_async_queue_pop (GAsyncQueue *queue);\nfunction g_async_queue_pop(queue) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_async_queue_pop\n  type(c_ptr), value :: queue\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_async_queue_pop_unlocked (GAsyncQueue *queue);\nfunction g_async_queue_pop_unlocked(queue) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_async_queue_pop_unlocked\n  type(c_ptr), value :: queue\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_async_queue_try_pop (GAsyncQueue *queue);\nfunction g_async_queue_try_pop(queue) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_async_queue_try_pop\n  type(c_ptr), value :: queue\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_async_queue_try_pop_unlocked (GAsyncQueue *queue);\nfunction g_async_queue_try_pop_unlocked(queue) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_async_queue_try_pop_unlocked\n  type(c_ptr), value :: queue\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_async_queue_timeout_pop (GAsyncQueue *queue, guint64 timeout);\nfunction g_async_queue_timeout_pop(queue, timeout) bind(c)\n  import :: c_ptr, c_int64_t\n  implicit none\n  type(c_ptr) :: g_async_queue_timeout_pop\n  type(c_ptr), value :: queue\n  integer(c_int64_t), value :: timeout\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_async_queue_timeout_pop_unlocked (GAsyncQueue *queue, guint64 timeout);\nfunction g_async_queue_timeout_pop_unlocked(queue, timeout) bind(c)\n  import :: c_ptr, c_int64_t\n  implicit none\n  type(c_ptr) :: g_async_queue_timeout_pop_unlocked\n  type(c_ptr), value :: queue\n  integer(c_int64_t), value :: timeout\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_async_queue_length (GAsyncQueue *queue);\nfunction g_async_queue_length(queue) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_async_queue_length\n  type(c_ptr), value :: queue\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_async_queue_length_unlocked (GAsyncQueue *queue);\nfunction g_async_queue_length_unlocked(queue) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_async_queue_length_unlocked\n  type(c_ptr), value :: queue\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_async_queue_sort (GAsyncQueue *queue, GCompareDataFunc func, gpointer user_data);\nsubroutine g_async_queue_sort(queue, func, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: queue\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_async_queue_sort_unlocked (GAsyncQueue *queue, GCompareDataFunc func, gpointer user_data);\nsubroutine g_async_queue_sort_unlocked(queue, func, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: queue\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_46\n!gboolean g_async_queue_remove (GAsyncQueue *queue, gpointer item);\nfunction g_async_queue_remove(queue, item) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_async_queue_remove\n  type(c_ptr), value :: queue\n  type(c_ptr), value :: item\nend function\n\n! GLIB_AVAILABLE_IN_2_46\n!gboolean g_async_queue_remove_unlocked (GAsyncQueue *queue, gpointer item);\nfunction g_async_queue_remove_unlocked(queue, item) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_async_queue_remove_unlocked\n  type(c_ptr), value :: queue\n  type(c_ptr), value :: item\nend function\n\n! GLIB_AVAILABLE_IN_2_46\n!void g_async_queue_push_front (GAsyncQueue *queue, gpointer item);\nsubroutine g_async_queue_push_front(queue, item) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: queue\n  type(c_ptr), value :: item\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_46\n!void g_async_queue_push_front_unlocked (GAsyncQueue *queue, gpointer item);\nsubroutine g_async_queue_push_front_unlocked(queue, item) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: queue\n  type(c_ptr), value :: item\nend subroutine\n\n! GLIB_DEPRECATED_FOR(g_async_queue_timeout_pop)\n!gpointer g_async_queue_timed_pop (GAsyncQueue *queue, GTimeVal *end_time);\nfunction g_async_queue_timed_pop(queue, end_time) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_async_queue_timed_pop\n  type(c_ptr), value :: queue\n  type(c_ptr), value :: end_time\nend function\n\n! GLIB_DEPRECATED_FOR(g_async_queue_timeout_pop_unlocked)\n!gpointer g_async_queue_timed_pop_unlocked (GAsyncQueue *queue, GTimeVal *end_time);\nfunction g_async_queue_timed_pop_unlocked(queue, end_time) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_async_queue_timed_pop_unlocked\n  type(c_ptr), value :: queue\n  type(c_ptr), value :: end_time\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gatomic.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!gint g_atomic_int_get (const volatile gint *atomic);\nfunction g_atomic_int_get(atomic) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_atomic_int_get\n  type(c_ptr), value :: atomic\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_atomic_int_set (volatile gint *atomic, gint newval);\nsubroutine g_atomic_int_set(atomic, newval) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: atomic\n  integer(c_int), value :: newval\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_atomic_int_inc (volatile gint *atomic);\nsubroutine g_atomic_int_inc(atomic) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: atomic\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_atomic_int_dec_and_test (volatile gint *atomic);\nfunction g_atomic_int_dec_and_test(atomic) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_atomic_int_dec_and_test\n  type(c_ptr), value :: atomic\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_atomic_int_compare_and_exchange (volatile gint *atomic, gint oldval, gint newval);\nfunction g_atomic_int_compare_and_exchange(atomic, oldval, newval) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_atomic_int_compare_and_exchange\n  type(c_ptr), value :: atomic\n  integer(c_int), value :: oldval\n  integer(c_int), value :: newval\nend function\n\n! GLIB_AVAILABLE_IN_2_74\n!gboolean g_atomic_int_compare_and_exchange_full (gint *atomic, gint oldval, gint newval, gint *preval);\nfunction g_atomic_int_compare_and_exchange_full(atomic, oldval, newval, preval)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_atomic_int_compare_and_exchange_full\n  type(c_ptr), value :: atomic\n  integer(c_int), value :: oldval\n  integer(c_int), value :: newval\n  type(c_ptr), value :: preval\nend function\n\n! GLIB_AVAILABLE_IN_2_74\n!gint g_atomic_int_exchange (gint *atomic, gint newval);\nfunction g_atomic_int_exchange(atomic, newval) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_atomic_int_exchange\n  type(c_ptr), value :: atomic\n  integer(c_int), value :: newval\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_atomic_int_add (volatile gint *atomic, gint val);\nfunction g_atomic_int_add(atomic, val) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_atomic_int_add\n  type(c_ptr), value :: atomic\n  integer(c_int), value :: val\nend function\n\n! GLIB_AVAILABLE_IN_2_30\n!guint g_atomic_int_and (volatile guint *atomic, guint val);\nfunction g_atomic_int_and(atomic, val) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_atomic_int_and\n  type(c_ptr), value :: atomic\n  integer(c_int), value :: val\nend function\n\n! GLIB_AVAILABLE_IN_2_30\n!guint g_atomic_int_or (volatile guint *atomic, guint val);\nfunction g_atomic_int_or(atomic, val) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_atomic_int_or\n  type(c_ptr), value :: atomic\n  integer(c_int), value :: val\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_atomic_int_xor (volatile guint *atomic, guint val);\nfunction g_atomic_int_xor(atomic, val) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_atomic_int_xor\n  type(c_ptr), value :: atomic\n  integer(c_int), value :: val\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_atomic_pointer_get (const volatile void *atomic);\nfunction g_atomic_pointer_get(atomic) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_atomic_pointer_get\n  type(c_ptr), value :: atomic\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_atomic_pointer_set (volatile void *atomic, gpointer newval);\nsubroutine g_atomic_pointer_set(atomic, newval) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: atomic\n  type(c_ptr), value :: newval\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_atomic_pointer_compare_and_exchange (volatile void *atomic, gpointer oldval, gpointer newval);\nfunction g_atomic_pointer_compare_and_exchange(atomic, oldval, newval) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_atomic_pointer_compare_and_exchange\n  type(c_ptr), value :: atomic\n  type(c_ptr), value :: oldval\n  type(c_ptr), value :: newval\nend function\n\n! GLIB_AVAILABLE_IN_2_74\n!gboolean g_atomic_pointer_compare_and_exchange_full (void *atomic, gpointer oldval, gpointer newval, void *preval);\nfunction g_atomic_pointer_compare_and_exchange_full(atomic, oldval, newval,&\n& preval) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_atomic_pointer_compare_and_exchange_full\n  type(c_ptr), value :: atomic\n  type(c_ptr), value :: oldval\n  type(c_ptr), value :: newval\n  type(c_ptr), value :: preval\nend function\n\n! GLIB_AVAILABLE_IN_2_74\n!gpointer g_atomic_pointer_exchange (void *atomic, gpointer newval);\nfunction g_atomic_pointer_exchange(atomic, newval) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_atomic_pointer_exchange\n  type(c_ptr), value :: atomic\n  type(c_ptr), value :: newval\nend function\n\n! GLIB_DEPRECATED_IN_2_30_FOR(g_atomic_int_add)\n!gint g_atomic_int_exchange_and_add (volatile gint *atomic, gint val);\nfunction g_atomic_int_exchange_and_add(atomic, val) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_atomic_int_exchange_and_add\n  type(c_ptr), value :: atomic\n  integer(c_int), value :: val\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gbacktrace.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!void g_on_error_query (const gchar *prg_name);\nsubroutine g_on_error_query(prg_name) bind(c)\n  import :: c_char\n  implicit none\n  character(kind=c_char), dimension(*) :: prg_name\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_on_error_stack_trace (const gchar *prg_name);\nsubroutine g_on_error_stack_trace(prg_name) bind(c)\n  import :: c_char\n  implicit none\n  character(kind=c_char), dimension(*) :: prg_name\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gbase64.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!gsize g_base64_encode_step (const guchar *in, gsize len, gboolean break_lines, gchar *out, gint *state, gint *save);\nfunction g_base64_encode_step(in, len, break_lines, out, state, save) bind(c)\n  import :: c_size_t, c_char, c_int, c_ptr\n  implicit none\n  integer(c_size_t) :: g_base64_encode_step\n  character(kind=c_char), dimension(*) :: in\n  integer(c_size_t), value :: len\n  integer(c_int), value :: break_lines\n  character(kind=c_char), dimension(*) :: out\n  type(c_ptr), value :: state\n  type(c_ptr), value :: save\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gsize g_base64_encode_close (gboolean break_lines, gchar *out, gint *state, gint *save);\nfunction g_base64_encode_close(break_lines, out, state, save) bind(c)\n  import :: c_size_t, c_int, c_char, c_ptr\n  implicit none\n  integer(c_size_t) :: g_base64_encode_close\n  integer(c_int), value :: break_lines\n  character(kind=c_char), dimension(*) :: out\n  type(c_ptr), value :: state\n  type(c_ptr), value :: save\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar* g_base64_encode (const guchar *data, gsize len) ;\nfunction g_base64_encode(data, len) bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr) :: g_base64_encode\n  character(kind=c_char), dimension(*) :: data\n  integer(c_size_t), value :: len\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gsize g_base64_decode_step (const gchar *in, gsize len, guchar *out, gint *state, guint *save);\nfunction g_base64_decode_step(in, len, out, state, save) bind(c)\n  import :: c_size_t, c_char, c_ptr\n  implicit none\n  integer(c_size_t) :: g_base64_decode_step\n  character(kind=c_char), dimension(*) :: in\n  integer(c_size_t), value :: len\n  character(kind=c_char), dimension(*) :: out\n  type(c_ptr), value :: state\n  type(c_ptr), value :: save\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guchar *g_base64_decode (const gchar *text, gsize *out_len) ;\nfunction g_base64_decode(text, out_len) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_base64_decode\n  character(kind=c_char), dimension(*) :: text\n  type(c_ptr), value :: out_len\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guchar *g_base64_decode_inplace (gchar *text, gsize *out_len);\nfunction g_base64_decode_inplace(text, out_len) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_base64_decode_inplace\n  character(kind=c_char), dimension(*) :: text\n  type(c_ptr), value :: out_len\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gbitlock.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!void g_bit_lock (volatile gint *address, gint lock_bit);\nsubroutine g_bit_lock(address, lock_bit) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: address\n  integer(c_int), value :: lock_bit\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_86\n!void g_bit_lock_and_get (gint *address, guint lock_bit, gint *out_val);\nsubroutine g_bit_lock_and_get(address, lock_bit, out_val) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: address\n  integer(c_int), value :: lock_bit\n  type(c_ptr), value :: out_val\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_bit_trylock (volatile gint *address, gint lock_bit);\nfunction g_bit_trylock(address, lock_bit) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_bit_trylock\n  type(c_ptr), value :: address\n  integer(c_int), value :: lock_bit\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_bit_unlock (volatile gint *address, gint lock_bit);\nsubroutine g_bit_unlock(address, lock_bit) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: address\n  integer(c_int), value :: lock_bit\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_86\n!void g_bit_unlock_and_set (gint *address, guint lock_bit, gint new_val, gint preserve_mask);\nsubroutine g_bit_unlock_and_set(address, lock_bit, new_val, preserve_mask)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: address\n  integer(c_int), value :: lock_bit\n  integer(c_int), value :: new_val\n  integer(c_int), value :: preserve_mask\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_pointer_bit_lock (volatile void *address, gint lock_bit);\nsubroutine g_pointer_bit_lock(address, lock_bit) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: address\n  integer(c_int), value :: lock_bit\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_80\n!void g_pointer_bit_lock_and_get (gpointer address, guint lock_bit, guintptr *out_ptr);\nsubroutine g_pointer_bit_lock_and_get(address, lock_bit, out_ptr) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: address\n  integer(c_int), value :: lock_bit\n  type(c_ptr), value :: out_ptr\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_pointer_bit_trylock (volatile void *address, gint lock_bit);\nfunction g_pointer_bit_trylock(address, lock_bit) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_pointer_bit_trylock\n  type(c_ptr), value :: address\n  integer(c_int), value :: lock_bit\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_pointer_bit_unlock (volatile void *address, gint lock_bit);\nsubroutine g_pointer_bit_unlock(address, lock_bit) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: address\n  integer(c_int), value :: lock_bit\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gbookmarkfile.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!GQuark g_bookmark_file_error_quark (void);\nfunction g_bookmark_file_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: g_bookmark_file_error_quark\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GBookmarkFile *g_bookmark_file_new (void);\nfunction g_bookmark_file_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_bookmark_file_new\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_bookmark_file_free (GBookmarkFile *bookmark);\nsubroutine g_bookmark_file_free(bookmark) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: bookmark\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_76\n!GBookmarkFile *g_bookmark_file_copy (GBookmarkFile *bookmark);\nfunction g_bookmark_file_copy(bookmark) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_bookmark_file_copy\n  type(c_ptr), value :: bookmark\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_bookmark_file_load_from_file (GBookmarkFile *bookmark, const gchar *filename, GError **error);\nfunction g_bookmark_file_load_from_file(bookmark, filename, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_bookmark_file_load_from_file\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: filename\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_bookmark_file_load_from_data (GBookmarkFile *bookmark, const gchar *data, gsize length, GError **error);\nfunction g_bookmark_file_load_from_data(bookmark, data, length, error) bind(c)\n  import :: c_int, c_ptr, c_char, c_size_t\n  implicit none\n  integer(c_int) :: g_bookmark_file_load_from_data\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: data\n  integer(c_size_t), value :: length\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_bookmark_file_load_from_data_dirs (GBookmarkFile *bookmark, const gchar *file, gchar **full_path, GError **error);\nfunction g_bookmark_file_load_from_data_dirs(bookmark, file, full_path, error)&\n& bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_bookmark_file_load_from_data_dirs\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: file\n  type(c_ptr), dimension(*) :: full_path\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar * g_bookmark_file_to_data (GBookmarkFile *bookmark, gsize *length, GError **error) ;\nfunction g_bookmark_file_to_data(bookmark, length, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_bookmark_file_to_data\n  type(c_ptr), value :: bookmark\n  type(c_ptr), value :: length\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_bookmark_file_to_file (GBookmarkFile *bookmark, const gchar *filename, GError **error);\nfunction g_bookmark_file_to_file(bookmark, filename, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_bookmark_file_to_file\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: filename\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_bookmark_file_set_title (GBookmarkFile *bookmark, const gchar *uri, const gchar *title);\nsubroutine g_bookmark_file_set_title(bookmark, uri, title) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: uri\n  character(kind=c_char), dimension(*) :: title\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar * g_bookmark_file_get_title (GBookmarkFile *bookmark, const gchar *uri, GError **error) ;\nfunction g_bookmark_file_get_title(bookmark, uri, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_bookmark_file_get_title\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: uri\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_bookmark_file_set_description (GBookmarkFile *bookmark, const gchar *uri, const gchar *description);\nsubroutine g_bookmark_file_set_description(bookmark, uri, description) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: uri\n  character(kind=c_char), dimension(*) :: description\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar * g_bookmark_file_get_description (GBookmarkFile *bookmark, const gchar *uri, GError **error) ;\nfunction g_bookmark_file_get_description(bookmark, uri, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_bookmark_file_get_description\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: uri\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_bookmark_file_set_mime_type (GBookmarkFile *bookmark, const gchar *uri, const gchar *mime_type);\nsubroutine g_bookmark_file_set_mime_type(bookmark, uri, mime_type) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: uri\n  character(kind=c_char), dimension(*) :: mime_type\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar * g_bookmark_file_get_mime_type (GBookmarkFile *bookmark, const gchar *uri, GError **error) ;\nfunction g_bookmark_file_get_mime_type(bookmark, uri, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_bookmark_file_get_mime_type\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: uri\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_bookmark_file_set_groups (GBookmarkFile *bookmark, const gchar *uri, const gchar **groups, gsize length);\nsubroutine g_bookmark_file_set_groups(bookmark, uri, groups, length) bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: uri\n  type(c_ptr), dimension(*) :: groups\n  integer(c_size_t), value :: length\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_bookmark_file_add_group (GBookmarkFile *bookmark, const gchar *uri, const gchar *group);\nsubroutine g_bookmark_file_add_group(bookmark, uri, group) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: uri\n  character(kind=c_char), dimension(*) :: group\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_bookmark_file_has_group (GBookmarkFile *bookmark, const gchar *uri, const gchar *group, GError **error);\nfunction g_bookmark_file_has_group(bookmark, uri, group, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_bookmark_file_has_group\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: uri\n  character(kind=c_char), dimension(*) :: group\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar ** g_bookmark_file_get_groups (GBookmarkFile *bookmark, const gchar *uri, gsize *length, GError **error);\nfunction g_bookmark_file_get_groups(bookmark, uri, length, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_bookmark_file_get_groups\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: uri\n  type(c_ptr), value :: length\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_bookmark_file_add_application (GBookmarkFile *bookmark, const gchar *uri, const gchar *name, const gchar *exec);\nsubroutine g_bookmark_file_add_application(bookmark, uri, name, exec) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: uri\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: exec\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_bookmark_file_has_application (GBookmarkFile *bookmark, const gchar *uri, const gchar *name, GError **error);\nfunction g_bookmark_file_has_application(bookmark, uri, name, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_bookmark_file_has_application\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: uri\n  character(kind=c_char), dimension(*) :: name\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar ** g_bookmark_file_get_applications (GBookmarkFile *bookmark, const gchar *uri, gsize *length, GError **error);\nfunction g_bookmark_file_get_applications(bookmark, uri, length, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_bookmark_file_get_applications\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: uri\n  type(c_ptr), value :: length\n  type(c_ptr), value :: error\nend function\n\n! GLIB_DEPRECATED_IN_2_66_FOR(g_bookmark_file_set_application_info)\n!gboolean g_bookmark_file_set_app_info (GBookmarkFile *bookmark, const gchar *uri, const gchar *name, const gchar *exec, gint count, time_t stamp, GError **error);\nfunction g_bookmark_file_set_app_info(bookmark, uri, name, exec, count, stamp,&\n& error) bind(c)\n  import :: c_int, c_ptr, c_char, c_long\n  implicit none\n  integer(c_int) :: g_bookmark_file_set_app_info\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: uri\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: exec\n  integer(c_int), value :: count\n  integer(c_long), value :: stamp\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_2_66\n!gboolean g_bookmark_file_set_application_info (GBookmarkFile *bookmark, const char *uri, const char *name, const char *exec, int count, GDateTime *stamp, GError **error);\nfunction g_bookmark_file_set_application_info(bookmark, uri, name, exec, count,&\n& stamp, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_bookmark_file_set_application_info\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: uri\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: exec\n  integer(c_int), value :: count\n  type(c_ptr), value :: stamp\n  type(c_ptr), value :: error\nend function\n\n! GLIB_DEPRECATED_IN_2_66_FOR(g_bookmark_file_get_application_info)\n!gboolean g_bookmark_file_get_app_info (GBookmarkFile *bookmark, const gchar *uri, const gchar *name, gchar **exec, guint *count, time_t *stamp, GError **error);\nfunction g_bookmark_file_get_app_info(bookmark, uri, name, exec, count, stamp,&\n& error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_bookmark_file_get_app_info\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: uri\n  character(kind=c_char), dimension(*) :: name\n  type(c_ptr), dimension(*) :: exec\n  type(c_ptr), value :: count\n  type(c_ptr), value :: stamp\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_2_66\n!gboolean g_bookmark_file_get_application_info (GBookmarkFile *bookmark, const char *uri, const char *name, char **exec, unsigned int *count, GDateTime **stamp, GError **error);\nfunction g_bookmark_file_get_application_info(bookmark, uri, name, exec, count,&\n& stamp, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_bookmark_file_get_application_info\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: uri\n  character(kind=c_char), dimension(*) :: name\n  type(c_ptr), dimension(*) :: exec\n  type(c_ptr), value :: count\n  type(c_ptr), value :: stamp\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_bookmark_file_set_is_private (GBookmarkFile *bookmark, const gchar *uri, gboolean is_private);\nsubroutine g_bookmark_file_set_is_private(bookmark, uri, is_private) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: uri\n  integer(c_int), value :: is_private\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_bookmark_file_get_is_private (GBookmarkFile *bookmark, const gchar *uri, GError **error);\nfunction g_bookmark_file_get_is_private(bookmark, uri, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_bookmark_file_get_is_private\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: uri\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_bookmark_file_set_icon (GBookmarkFile *bookmark, const gchar *uri, const gchar *href, const gchar *mime_type);\nsubroutine g_bookmark_file_set_icon(bookmark, uri, href, mime_type) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: uri\n  character(kind=c_char), dimension(*) :: href\n  character(kind=c_char), dimension(*) :: mime_type\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_bookmark_file_get_icon (GBookmarkFile *bookmark, const gchar *uri, gchar **href, gchar **mime_type, GError **error);\nfunction g_bookmark_file_get_icon(bookmark, uri, href, mime_type, error)&\n& bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_bookmark_file_get_icon\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: uri\n  type(c_ptr), dimension(*) :: href\n  type(c_ptr), dimension(*) :: mime_type\n  type(c_ptr), value :: error\nend function\n\n! GLIB_DEPRECATED_IN_2_66_FOR(g_bookmark_file_set_added_date_time)\n!void g_bookmark_file_set_added (GBookmarkFile *bookmark, const gchar *uri, time_t added);\nsubroutine g_bookmark_file_set_added(bookmark, uri, added) bind(c)\n  import :: c_ptr, c_char, c_long\n  implicit none\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: uri\n  integer(c_long), value :: added\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_66\n!void g_bookmark_file_set_added_date_time (GBookmarkFile *bookmark, const char *uri, GDateTime *added);\nsubroutine g_bookmark_file_set_added_date_time(bookmark, uri, added) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: uri\n  type(c_ptr), value :: added\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_66_FOR(g_bookmark_file_get_added_date_time)\n!time_t g_bookmark_file_get_added (GBookmarkFile *bookmark, const gchar *uri, GError **error);\nfunction g_bookmark_file_get_added(bookmark, uri, error) bind(c)\n  import :: c_long, c_ptr, c_char\n  implicit none\n  integer(c_long) :: g_bookmark_file_get_added\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: uri\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_2_66\n!GDateTime *g_bookmark_file_get_added_date_time (GBookmarkFile *bookmark, const char *uri, GError **error);\nfunction g_bookmark_file_get_added_date_time(bookmark, uri, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_bookmark_file_get_added_date_time\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: uri\n  type(c_ptr), value :: error\nend function\n\n! GLIB_DEPRECATED_IN_2_66_FOR(g_bookmark_file_set_modified_date_time)\n!void g_bookmark_file_set_modified (GBookmarkFile *bookmark, const gchar *uri, time_t modified);\nsubroutine g_bookmark_file_set_modified(bookmark, uri, modified) bind(c)\n  import :: c_ptr, c_char, c_long\n  implicit none\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: uri\n  integer(c_long), value :: modified\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_66\n!void g_bookmark_file_set_modified_date_time (GBookmarkFile *bookmark, const char *uri, GDateTime *modified);\nsubroutine g_bookmark_file_set_modified_date_time(bookmark, uri, modified)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: uri\n  type(c_ptr), value :: modified\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_66_FOR(g_bookmark_file_get_modified_date_time)\n!time_t g_bookmark_file_get_modified (GBookmarkFile *bookmark, const gchar *uri, GError **error);\nfunction g_bookmark_file_get_modified(bookmark, uri, error) bind(c)\n  import :: c_long, c_ptr, c_char\n  implicit none\n  integer(c_long) :: g_bookmark_file_get_modified\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: uri\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_2_66\n!GDateTime *g_bookmark_file_get_modified_date_time (GBookmarkFile *bookmark, const char *uri, GError **error);\nfunction g_bookmark_file_get_modified_date_time(bookmark, uri, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_bookmark_file_get_modified_date_time\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: uri\n  type(c_ptr), value :: error\nend function\n\n! GLIB_DEPRECATED_IN_2_66_FOR(g_bookmark_file_set_visited_date_time)\n!void g_bookmark_file_set_visited (GBookmarkFile *bookmark, const gchar *uri, time_t visited);\nsubroutine g_bookmark_file_set_visited(bookmark, uri, visited) bind(c)\n  import :: c_ptr, c_char, c_long\n  implicit none\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: uri\n  integer(c_long), value :: visited\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_66\n!void g_bookmark_file_set_visited_date_time (GBookmarkFile *bookmark, const char *uri, GDateTime *visited);\nsubroutine g_bookmark_file_set_visited_date_time(bookmark, uri, visited)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: uri\n  type(c_ptr), value :: visited\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_66_FOR(g_bookmark_file_get_visited_date_time)\n!time_t g_bookmark_file_get_visited (GBookmarkFile *bookmark, const gchar *uri, GError **error);\nfunction g_bookmark_file_get_visited(bookmark, uri, error) bind(c)\n  import :: c_long, c_ptr, c_char\n  implicit none\n  integer(c_long) :: g_bookmark_file_get_visited\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: uri\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_2_66\n!GDateTime *g_bookmark_file_get_visited_date_time (GBookmarkFile *bookmark, const char *uri, GError **error);\nfunction g_bookmark_file_get_visited_date_time(bookmark, uri, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_bookmark_file_get_visited_date_time\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: uri\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_bookmark_file_has_item (GBookmarkFile *bookmark, const gchar *uri);\nfunction g_bookmark_file_has_item(bookmark, uri) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_bookmark_file_has_item\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: uri\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_bookmark_file_get_size (GBookmarkFile *bookmark);\nfunction g_bookmark_file_get_size(bookmark) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_bookmark_file_get_size\n  type(c_ptr), value :: bookmark\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar ** g_bookmark_file_get_uris (GBookmarkFile *bookmark, gsize *length);\nfunction g_bookmark_file_get_uris(bookmark, length) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_bookmark_file_get_uris\n  type(c_ptr), value :: bookmark\n  type(c_ptr), value :: length\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_bookmark_file_remove_group (GBookmarkFile *bookmark, const gchar *uri, const gchar *group, GError **error);\nfunction g_bookmark_file_remove_group(bookmark, uri, group, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_bookmark_file_remove_group\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: uri\n  character(kind=c_char), dimension(*) :: group\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_bookmark_file_remove_application (GBookmarkFile *bookmark, const gchar *uri, const gchar *name, GError **error);\nfunction g_bookmark_file_remove_application(bookmark, uri, name, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_bookmark_file_remove_application\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: uri\n  character(kind=c_char), dimension(*) :: name\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_bookmark_file_remove_item (GBookmarkFile *bookmark, const gchar *uri, GError **error);\nfunction g_bookmark_file_remove_item(bookmark, uri, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_bookmark_file_remove_item\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: uri\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_bookmark_file_move_item (GBookmarkFile *bookmark, const gchar *old_uri, const gchar *new_uri, GError **error);\nfunction g_bookmark_file_move_item(bookmark, old_uri, new_uri, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_bookmark_file_move_item\n  type(c_ptr), value :: bookmark\n  character(kind=c_char), dimension(*) :: old_uri\n  character(kind=c_char), dimension(*) :: new_uri\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gbytes.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!GBytes * g_bytes_new (gconstpointer data, gsize size);\nfunction g_bytes_new(data, size) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_bytes_new\n  type(c_ptr), value :: data\n  integer(c_size_t), value :: size\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GBytes * g_bytes_new_take (gpointer data, gsize size);\nfunction g_bytes_new_take(data, size) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_bytes_new_take\n  type(c_ptr), value :: data\n  integer(c_size_t), value :: size\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GBytes * g_bytes_new_static (gconstpointer data, gsize size);\nfunction g_bytes_new_static(data, size) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_bytes_new_static\n  type(c_ptr), value :: data\n  integer(c_size_t), value :: size\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GBytes * g_bytes_new_with_free_func (gconstpointer data, gsize size, GDestroyNotify free_func, gpointer user_data);\nfunction g_bytes_new_with_free_func(data, size, free_func, user_data) bind(c)\n  import :: c_ptr, c_size_t, c_funptr\n  implicit none\n  type(c_ptr) :: g_bytes_new_with_free_func\n  type(c_ptr), value :: data\n  integer(c_size_t), value :: size\n  type(c_funptr), value :: free_func\n  type(c_ptr), value :: user_data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GBytes * g_bytes_new_from_bytes (GBytes *bytes, gsize offset, gsize length);\nfunction g_bytes_new_from_bytes(bytes, offset, length) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_bytes_new_from_bytes\n  type(c_ptr), value :: bytes\n  integer(c_size_t), value :: offset\n  integer(c_size_t), value :: length\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gconstpointer g_bytes_get_data (GBytes *bytes, gsize *size);\nfunction g_bytes_get_data(bytes, size) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_bytes_get_data\n  type(c_ptr), value :: bytes\n  type(c_ptr), value :: size\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gsize g_bytes_get_size (GBytes *bytes);\nfunction g_bytes_get_size(bytes) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_bytes_get_size\n  type(c_ptr), value :: bytes\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GBytes * g_bytes_ref (GBytes *bytes);\nfunction g_bytes_ref(bytes) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_bytes_ref\n  type(c_ptr), value :: bytes\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_bytes_unref (GBytes *bytes);\nsubroutine g_bytes_unref(bytes) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: bytes\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_bytes_unref_to_data (GBytes *bytes, gsize *size);\nfunction g_bytes_unref_to_data(bytes, size) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_bytes_unref_to_data\n  type(c_ptr), value :: bytes\n  type(c_ptr), value :: size\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GByteArray * g_bytes_unref_to_array (GBytes *bytes);\nfunction g_bytes_unref_to_array(bytes) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_bytes_unref_to_array\n  type(c_ptr), value :: bytes\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_bytes_hash (gconstpointer bytes);\nfunction g_bytes_hash(bytes) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_bytes_hash\n  type(c_ptr), value :: bytes\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_bytes_equal (gconstpointer bytes1, gconstpointer bytes2);\nfunction g_bytes_equal(bytes1, bytes2) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_bytes_equal\n  type(c_ptr), value :: bytes1\n  type(c_ptr), value :: bytes2\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_bytes_compare (gconstpointer bytes1, gconstpointer bytes2);\nfunction g_bytes_compare(bytes1, bytes2) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_bytes_compare\n  type(c_ptr), value :: bytes1\n  type(c_ptr), value :: bytes2\nend function\n\n! GLIB_AVAILABLE_IN_2_70\n!gconstpointer g_bytes_get_region (GBytes *bytes, gsize element_size, gsize offset, gsize n_elements);\nfunction g_bytes_get_region(bytes, element_size, offset, n_elements) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_bytes_get_region\n  type(c_ptr), value :: bytes\n  integer(c_size_t), value :: element_size\n  integer(c_size_t), value :: offset\n  integer(c_size_t), value :: n_elements\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gcharset.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_get_charset (const char **charset);\nfunction g_get_charset(charset) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_get_charset\n  type(c_ptr), dimension(*) :: charset\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar * g_get_codeset (void);\nfunction g_get_codeset() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_get_codeset\nend function\n\n! GLIB_AVAILABLE_IN_2_62\n!gboolean g_get_console_charset (const char **charset);\nfunction g_get_console_charset(charset) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_get_console_charset\n  type(c_ptr), dimension(*) :: charset\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar * const * g_get_language_names (void);\nfunction g_get_language_names() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_get_language_names\nend function\n\n! GLIB_AVAILABLE_IN_2_58\n!const gchar * const * g_get_language_names_with_category (const gchar *category_name);\nfunction g_get_language_names_with_category(category_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_get_language_names_with_category\n  character(kind=c_char), dimension(*) :: category_name\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar ** g_get_locale_variants (const gchar *locale);\nfunction g_get_locale_variants(locale) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_get_locale_variants\n  character(kind=c_char), dimension(*) :: locale\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gchecksum.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!gssize g_checksum_type_get_length (GChecksumType checksum_type);\nfunction g_checksum_type_get_length(checksum_type) bind(c)\n  import :: c_size_t, c_int\n  implicit none\n  integer(c_size_t) :: g_checksum_type_get_length\n  integer(c_int), value :: checksum_type\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GChecksum * g_checksum_new (GChecksumType checksum_type);\nfunction g_checksum_new(checksum_type) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_checksum_new\n  integer(c_int), value :: checksum_type\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_checksum_reset (GChecksum *checksum);\nsubroutine g_checksum_reset(checksum) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: checksum\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GChecksum * g_checksum_copy (const GChecksum *checksum);\nfunction g_checksum_copy(checksum) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_checksum_copy\n  type(c_ptr), value :: checksum\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_checksum_free (GChecksum *checksum);\nsubroutine g_checksum_free(checksum) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: checksum\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_checksum_update (GChecksum *checksum, const guchar *data, gssize length);\nsubroutine g_checksum_update(checksum, data, length) bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr), value :: checksum\n  character(kind=c_char), dimension(*) :: data\n  integer(c_size_t), value :: length\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar * g_checksum_get_string (GChecksum *checksum);\nfunction g_checksum_get_string(checksum) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_checksum_get_string\n  type(c_ptr), value :: checksum\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_checksum_get_digest (GChecksum *checksum, guint8 *buffer, gsize *digest_len);\nsubroutine g_checksum_get_digest(checksum, buffer, digest_len) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: checksum\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: digest_len\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar *g_compute_checksum_for_data (GChecksumType checksum_type, const guchar *data, gsize length);\nfunction g_compute_checksum_for_data(checksum_type, data, length) bind(c)\n  import :: c_ptr, c_int, c_char, c_size_t\n  implicit none\n  type(c_ptr) :: g_compute_checksum_for_data\n  integer(c_int), value :: checksum_type\n  character(kind=c_char), dimension(*) :: data\n  integer(c_size_t), value :: length\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar *g_compute_checksum_for_string (GChecksumType checksum_type, const gchar *str, gssize length);\nfunction g_compute_checksum_for_string(checksum_type, str, length) bind(c)\n  import :: c_ptr, c_int, c_char, c_size_t\n  implicit none\n  type(c_ptr) :: g_compute_checksum_for_string\n  integer(c_int), value :: checksum_type\n  character(kind=c_char), dimension(*) :: str\n  integer(c_size_t), value :: length\nend function\n\n! GLIB_AVAILABLE_IN_2_34\n!gchar *g_compute_checksum_for_bytes (GChecksumType checksum_type, GBytes *data);\nfunction g_compute_checksum_for_bytes(checksum_type, data) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_compute_checksum_for_bytes\n  integer(c_int), value :: checksum_type\n  type(c_ptr), value :: data\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gconvert.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!GQuark g_convert_error_quark (void);\nfunction g_convert_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: g_convert_error_quark\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GIConv g_iconv_open (const gchar *to_codeset, const gchar *from_codeset);\nfunction g_iconv_open(to_codeset, from_codeset) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_iconv_open\n  character(kind=c_char), dimension(*) :: to_codeset\n  character(kind=c_char), dimension(*) :: from_codeset\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gsize g_iconv (GIConv converter, gchar **inbuf, gsize *inbytes_left, gchar **outbuf, gsize *outbytes_left);\nfunction g_iconv(converter, inbuf, inbytes_left, outbuf, outbytes_left) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_iconv\n  type(c_ptr), value :: converter\n  type(c_ptr), dimension(*) :: inbuf\n  type(c_ptr), value :: inbytes_left\n  type(c_ptr), dimension(*) :: outbuf\n  type(c_ptr), value :: outbytes_left\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_iconv_close (GIConv converter);\nfunction g_iconv_close(converter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_iconv_close\n  type(c_ptr), value :: converter\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar* g_convert (const gchar *str, gssize len, const gchar *to_codeset, const gchar *from_codeset, gsize *bytes_read, gsize *bytes_written, GError **error) ;\nfunction g_convert(str, len, to_codeset, from_codeset, bytes_read,&\n& bytes_written, error) bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr) :: g_convert\n  character(kind=c_char), dimension(*) :: str\n  integer(c_size_t), value :: len\n  character(kind=c_char), dimension(*) :: to_codeset\n  character(kind=c_char), dimension(*) :: from_codeset\n  type(c_ptr), value :: bytes_read\n  type(c_ptr), value :: bytes_written\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar* g_convert_with_iconv (const gchar *str, gssize len, GIConv converter, gsize *bytes_read, gsize *bytes_written, GError **error) ;\nfunction g_convert_with_iconv(str, len, converter, bytes_read, bytes_written,&\n& error) bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr) :: g_convert_with_iconv\n  character(kind=c_char), dimension(*) :: str\n  integer(c_size_t), value :: len\n  type(c_ptr), value :: converter\n  type(c_ptr), value :: bytes_read\n  type(c_ptr), value :: bytes_written\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar* g_convert_with_fallback (const gchar *str, gssize len, const gchar *to_codeset, const gchar *from_codeset, const gchar *fallback, gsize *bytes_read, gsize *bytes_written, GError **error) ;\nfunction g_convert_with_fallback(str, len, to_codeset, from_codeset, fallback,&\n& bytes_read, bytes_written, error) bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr) :: g_convert_with_fallback\n  character(kind=c_char), dimension(*) :: str\n  integer(c_size_t), value :: len\n  character(kind=c_char), dimension(*) :: to_codeset\n  character(kind=c_char), dimension(*) :: from_codeset\n  character(kind=c_char), dimension(*) :: fallback\n  type(c_ptr), value :: bytes_read\n  type(c_ptr), value :: bytes_written\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar* g_locale_to_utf8 (const gchar *opsysstring, gssize len, gsize *bytes_read, gsize *bytes_written, GError **error) ;\nfunction g_locale_to_utf8(opsysstring, len, bytes_read, bytes_written, error)&\n& bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr) :: g_locale_to_utf8\n  character(kind=c_char), dimension(*) :: opsysstring\n  integer(c_size_t), value :: len\n  type(c_ptr), value :: bytes_read\n  type(c_ptr), value :: bytes_written\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar* g_locale_from_utf8 (const gchar *utf8string, gssize len, gsize *bytes_read, gsize *bytes_written, GError **error) ;\nfunction g_locale_from_utf8(utf8string, len, bytes_read, bytes_written, error)&\n& bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr) :: g_locale_from_utf8\n  character(kind=c_char), dimension(*) :: utf8string\n  integer(c_size_t), value :: len\n  type(c_ptr), value :: bytes_read\n  type(c_ptr), value :: bytes_written\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar* g_filename_to_utf8 (const gchar *opsysstring, gssize len, gsize *bytes_read, gsize *bytes_written, GError **error) ;\nfunction g_filename_to_utf8(opsysstring, len, bytes_read, bytes_written, error)&\n& bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr) :: g_filename_to_utf8\n  character(kind=c_char), dimension(*) :: opsysstring\n  integer(c_size_t), value :: len\n  type(c_ptr), value :: bytes_read\n  type(c_ptr), value :: bytes_written\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar* g_filename_from_utf8 (const gchar *utf8string, gssize len, gsize *bytes_read, gsize *bytes_written, GError **error) ;\nfunction g_filename_from_utf8(utf8string, len, bytes_read, bytes_written,&\n& error) bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr) :: g_filename_from_utf8\n  character(kind=c_char), dimension(*) :: utf8string\n  integer(c_size_t), value :: len\n  type(c_ptr), value :: bytes_read\n  type(c_ptr), value :: bytes_written\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar *g_filename_from_uri (const gchar *uri, gchar **hostname, GError **error) ;\nfunction g_filename_from_uri(uri, hostname, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_filename_from_uri\n  character(kind=c_char), dimension(*) :: uri\n  type(c_ptr), dimension(*) :: hostname\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar *g_filename_to_uri (const gchar *filename, const gchar *hostname, GError **error) ;\nfunction g_filename_to_uri(filename, hostname, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_filename_to_uri\n  character(kind=c_char), dimension(*) :: filename\n  character(kind=c_char), dimension(*) :: hostname\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar *g_filename_display_name (const gchar *filename) ;\nfunction g_filename_display_name(filename) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_filename_display_name\n  character(kind=c_char), dimension(*) :: filename\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_get_filename_charsets (const gchar ***filename_charsets);\nfunction g_get_filename_charsets(filename_charsets) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_get_filename_charsets\n  type(c_ptr), dimension(*) :: filename_charsets\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar *g_filename_display_basename (const gchar *filename) ;\nfunction g_filename_display_basename(filename) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_filename_display_basename\n  character(kind=c_char), dimension(*) :: filename\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar **g_uri_list_extract_uris (const gchar *uri_list);\nfunction g_uri_list_extract_uris(uri_list) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_uri_list_extract_uris\n  character(kind=c_char), dimension(*) :: uri_list\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gdataset.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!void g_datalist_init (GData **datalist);\nsubroutine g_datalist_init(datalist) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: datalist\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_datalist_clear (GData **datalist);\nsubroutine g_datalist_clear(datalist) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: datalist\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_datalist_id_get_data (GData **datalist, GQuark key_id);\nfunction g_datalist_id_get_data(datalist, key_id) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr) :: g_datalist_id_get_data\n  type(c_ptr), value :: datalist\n  integer(c_int32_t), value :: key_id\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_datalist_id_set_data_full (GData **datalist, GQuark key_id, gpointer data, GDestroyNotify destroy_func);\nsubroutine g_datalist_id_set_data_full(datalist, key_id, data, destroy_func)&\n& bind(c)\n  import :: c_ptr, c_int32_t, c_funptr\n  implicit none\n  type(c_ptr), value :: datalist\n  integer(c_int32_t), value :: key_id\n  type(c_ptr), value :: data\n  type(c_funptr), value :: destroy_func\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_74\n!void g_datalist_id_remove_multiple (GData **datalist, GQuark *keys, gsize n_keys);\nsubroutine g_datalist_id_remove_multiple(datalist, keys, n_keys) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr), value :: datalist\n  type(c_ptr), value :: keys\n  integer(c_size_t), value :: n_keys\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_34\n!gpointer g_datalist_id_dup_data (GData **datalist, GQuark key_id, GDuplicateFunc dup_func, gpointer user_data);\nfunction g_datalist_id_dup_data(datalist, key_id, dup_func, user_data) bind(c)\n  import :: c_ptr, c_int32_t, c_funptr\n  implicit none\n  type(c_ptr) :: g_datalist_id_dup_data\n  type(c_ptr), value :: datalist\n  integer(c_int32_t), value :: key_id\n  type(c_funptr), value :: dup_func\n  type(c_ptr), value :: user_data\nend function\n\n! GLIB_AVAILABLE_IN_2_34\n!gboolean g_datalist_id_replace_data (GData **datalist, GQuark key_id, gpointer oldval, gpointer newval, GDestroyNotify destroy, GDestroyNotify *old_destroy);\nfunction g_datalist_id_replace_data(datalist, key_id, oldval, newval, destroy,&\n& old_destroy) bind(c)\n  import :: c_int, c_ptr, c_int32_t, c_funptr\n  implicit none\n  integer(c_int) :: g_datalist_id_replace_data\n  type(c_ptr), value :: datalist\n  integer(c_int32_t), value :: key_id\n  type(c_ptr), value :: oldval\n  type(c_ptr), value :: newval\n  type(c_funptr), value :: destroy\n  type(c_funptr), value :: old_destroy\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_datalist_id_remove_no_notify (GData **datalist, GQuark key_id);\nfunction g_datalist_id_remove_no_notify(datalist, key_id) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr) :: g_datalist_id_remove_no_notify\n  type(c_ptr), value :: datalist\n  integer(c_int32_t), value :: key_id\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_datalist_foreach (GData **datalist, GDataForeachFunc func, gpointer user_data);\nsubroutine g_datalist_foreach(datalist, func, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: datalist\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_datalist_set_flags (GData **datalist, guint flags);\nsubroutine g_datalist_set_flags(datalist, flags) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: datalist\n  integer(c_int), value :: flags\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_datalist_unset_flags (GData **datalist, guint flags);\nsubroutine g_datalist_unset_flags(datalist, flags) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: datalist\n  integer(c_int), value :: flags\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_datalist_get_flags (GData **datalist);\nfunction g_datalist_get_flags(datalist) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_datalist_get_flags\n  type(c_ptr), value :: datalist\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_dataset_destroy (gconstpointer dataset_location);\nsubroutine g_dataset_destroy(dataset_location) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: dataset_location\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_dataset_id_get_data (gconstpointer dataset_location, GQuark key_id);\nfunction g_dataset_id_get_data(dataset_location, key_id) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr) :: g_dataset_id_get_data\n  type(c_ptr), value :: dataset_location\n  integer(c_int32_t), value :: key_id\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_datalist_get_data (GData **datalist, const gchar *key);\nfunction g_datalist_get_data(datalist, key) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_datalist_get_data\n  type(c_ptr), value :: datalist\n  character(kind=c_char), dimension(*) :: key\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_dataset_id_set_data_full (gconstpointer dataset_location, GQuark key_id, gpointer data, GDestroyNotify destroy_func);\nsubroutine g_dataset_id_set_data_full(dataset_location, key_id, data,&\n& destroy_func) bind(c)\n  import :: c_ptr, c_int32_t, c_funptr\n  implicit none\n  type(c_ptr), value :: dataset_location\n  integer(c_int32_t), value :: key_id\n  type(c_ptr), value :: data\n  type(c_funptr), value :: destroy_func\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_dataset_id_remove_no_notify (gconstpointer dataset_location, GQuark key_id);\nfunction g_dataset_id_remove_no_notify(dataset_location, key_id) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr) :: g_dataset_id_remove_no_notify\n  type(c_ptr), value :: dataset_location\n  integer(c_int32_t), value :: key_id\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_dataset_foreach (gconstpointer dataset_location, GDataForeachFunc func, gpointer user_data);\nsubroutine g_dataset_foreach(dataset_location, func, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: dataset_location\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gdate.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!GDate* g_date_new (void);\nfunction g_date_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_date_new\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GDate* g_date_new_dmy (GDateDay day, GDateMonth month, GDateYear year);\nfunction g_date_new_dmy(day, month, year) bind(c)\n  import :: c_ptr, c_int8_t, c_int, c_int16_t\n  implicit none\n  type(c_ptr) :: g_date_new_dmy\n  integer(c_int8_t), value :: day\n  integer(c_int), value :: month\n  integer(c_int16_t), value :: year\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GDate* g_date_new_julian (guint32 julian_day);\nfunction g_date_new_julian(julian_day) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr) :: g_date_new_julian\n  integer(c_int32_t), value :: julian_day\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_date_free (GDate *date);\nsubroutine g_date_free(date) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: date\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_56\n!GDate* g_date_copy (const GDate *date);\nfunction g_date_copy(date) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_date_copy\n  type(c_ptr), value :: date\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_date_valid (const GDate *date);\nfunction g_date_valid(date) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_date_valid\n  type(c_ptr), value :: date\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_date_valid_day (GDateDay day) ;\nfunction g_date_valid_day(day) bind(c)\n  import :: c_int, c_int8_t\n  implicit none\n  integer(c_int) :: g_date_valid_day\n  integer(c_int8_t), value :: day\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_date_valid_month (GDateMonth month) ;\nfunction g_date_valid_month(month) bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: g_date_valid_month\n  integer(c_int), value :: month\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_date_valid_year (GDateYear year) ;\nfunction g_date_valid_year(year) bind(c)\n  import :: c_int, c_int16_t\n  implicit none\n  integer(c_int) :: g_date_valid_year\n  integer(c_int16_t), value :: year\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_date_valid_weekday (GDateWeekday weekday) ;\nfunction g_date_valid_weekday(weekday) bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: g_date_valid_weekday\n  integer(c_int), value :: weekday\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_date_valid_julian (guint32 julian_date) ;\nfunction g_date_valid_julian(julian_date) bind(c)\n  import :: c_int, c_int32_t\n  implicit none\n  integer(c_int) :: g_date_valid_julian\n  integer(c_int32_t), value :: julian_date\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_date_valid_dmy (GDateDay day, GDateMonth month, GDateYear year) ;\nfunction g_date_valid_dmy(day, month, year) bind(c)\n  import :: c_int, c_int8_t, c_int16_t\n  implicit none\n  integer(c_int) :: g_date_valid_dmy\n  integer(c_int8_t), value :: day\n  integer(c_int), value :: month\n  integer(c_int16_t), value :: year\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GDateWeekday g_date_get_weekday (const GDate *date);\nfunction g_date_get_weekday(date) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_date_get_weekday\n  type(c_ptr), value :: date\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GDateMonth g_date_get_month (const GDate *date);\nfunction g_date_get_month(date) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_date_get_month\n  type(c_ptr), value :: date\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GDateYear g_date_get_year (const GDate *date);\nfunction g_date_get_year(date) bind(c)\n  import :: c_int16_t, c_ptr\n  implicit none\n  integer(c_int16_t) :: g_date_get_year\n  type(c_ptr), value :: date\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GDateDay g_date_get_day (const GDate *date);\nfunction g_date_get_day(date) bind(c)\n  import :: c_int8_t, c_ptr\n  implicit none\n  integer(c_int8_t) :: g_date_get_day\n  type(c_ptr), value :: date\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint32 g_date_get_julian (const GDate *date);\nfunction g_date_get_julian(date) bind(c)\n  import :: c_int32_t, c_ptr\n  implicit none\n  integer(c_int32_t) :: g_date_get_julian\n  type(c_ptr), value :: date\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_date_get_day_of_year (const GDate *date);\nfunction g_date_get_day_of_year(date) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_date_get_day_of_year\n  type(c_ptr), value :: date\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_date_get_monday_week_of_year (const GDate *date);\nfunction g_date_get_monday_week_of_year(date) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_date_get_monday_week_of_year\n  type(c_ptr), value :: date\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_date_get_sunday_week_of_year (const GDate *date);\nfunction g_date_get_sunday_week_of_year(date) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_date_get_sunday_week_of_year\n  type(c_ptr), value :: date\nend function\n\n! GLIB_AVAILABLE_IN_2_86\n!guint g_date_get_week_of_year (const GDate *date, GDateWeekday first_day_of_week);\nfunction g_date_get_week_of_year(date, first_day_of_week) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_date_get_week_of_year\n  type(c_ptr), value :: date\n  integer(c_int), value :: first_day_of_week\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_date_get_iso8601_week_of_year (const GDate *date);\nfunction g_date_get_iso8601_week_of_year(date) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_date_get_iso8601_week_of_year\n  type(c_ptr), value :: date\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_date_clear (GDate *date, guint n_dates);\nsubroutine g_date_clear(date, n_dates) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: date\n  integer(c_int), value :: n_dates\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_date_set_parse (GDate *date, const gchar *str);\nsubroutine g_date_set_parse(date, str) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: date\n  character(kind=c_char), dimension(*) :: str\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_date_set_time_t (GDate *date, time_t timet);\nsubroutine g_date_set_time_t(date, timet) bind(c)\n  import :: c_ptr, c_long\n  implicit none\n  type(c_ptr), value :: date\n  integer(c_long), value :: timet\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_62_FOR(g_date_set_time_t)\n!void g_date_set_time_val (GDate *date, GTimeVal *timeval);\nsubroutine g_date_set_time_val(date, timeval) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: date\n  type(c_ptr), value :: timeval\nend subroutine\n\n! GLIB_DEPRECATED_FOR(g_date_set_time_t)\n!void g_date_set_time (GDate *date, GTime time_);\nsubroutine g_date_set_time(date, time_) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr), value :: date\n  integer(c_int32_t), value :: time_\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_date_set_month (GDate *date, GDateMonth month);\nsubroutine g_date_set_month(date, month) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: date\n  integer(c_int), value :: month\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_date_set_day (GDate *date, GDateDay day);\nsubroutine g_date_set_day(date, day) bind(c)\n  import :: c_ptr, c_int8_t\n  implicit none\n  type(c_ptr), value :: date\n  integer(c_int8_t), value :: day\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_date_set_year (GDate *date, GDateYear year);\nsubroutine g_date_set_year(date, year) bind(c)\n  import :: c_ptr, c_int16_t\n  implicit none\n  type(c_ptr), value :: date\n  integer(c_int16_t), value :: year\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_date_set_dmy (GDate *date, GDateDay day, GDateMonth month, GDateYear y);\nsubroutine g_date_set_dmy(date, day, month, y) bind(c)\n  import :: c_ptr, c_int8_t, c_int, c_int16_t\n  implicit none\n  type(c_ptr), value :: date\n  integer(c_int8_t), value :: day\n  integer(c_int), value :: month\n  integer(c_int16_t), value :: y\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_date_set_julian (GDate *date, guint32 julian_date);\nsubroutine g_date_set_julian(date, julian_date) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr), value :: date\n  integer(c_int32_t), value :: julian_date\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_date_is_first_of_month (const GDate *date);\nfunction g_date_is_first_of_month(date) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_date_is_first_of_month\n  type(c_ptr), value :: date\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_date_is_last_of_month (const GDate *date);\nfunction g_date_is_last_of_month(date) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_date_is_last_of_month\n  type(c_ptr), value :: date\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_date_add_days (GDate *date, guint n_days);\nsubroutine g_date_add_days(date, n_days) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: date\n  integer(c_int), value :: n_days\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_date_subtract_days (GDate *date, guint n_days);\nsubroutine g_date_subtract_days(date, n_days) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: date\n  integer(c_int), value :: n_days\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_date_add_months (GDate *date, guint n_months);\nsubroutine g_date_add_months(date, n_months) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: date\n  integer(c_int), value :: n_months\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_date_subtract_months (GDate *date, guint n_months);\nsubroutine g_date_subtract_months(date, n_months) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: date\n  integer(c_int), value :: n_months\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_date_add_years (GDate *date, guint n_years);\nsubroutine g_date_add_years(date, n_years) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: date\n  integer(c_int), value :: n_years\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_date_subtract_years (GDate *date, guint n_years);\nsubroutine g_date_subtract_years(date, n_years) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: date\n  integer(c_int), value :: n_years\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_date_is_leap_year (GDateYear year) ;\nfunction g_date_is_leap_year(year) bind(c)\n  import :: c_int, c_int16_t\n  implicit none\n  integer(c_int) :: g_date_is_leap_year\n  integer(c_int16_t), value :: year\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint8 g_date_get_days_in_month (GDateMonth month, GDateYear year) ;\nfunction g_date_get_days_in_month(month, year) bind(c)\n  import :: c_int8_t, c_int, c_int16_t\n  implicit none\n  integer(c_int8_t) :: g_date_get_days_in_month\n  integer(c_int), value :: month\n  integer(c_int16_t), value :: year\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint8 g_date_get_monday_weeks_in_year (GDateYear year) ;\nfunction g_date_get_monday_weeks_in_year(year) bind(c)\n  import :: c_int8_t, c_int16_t\n  implicit none\n  integer(c_int8_t) :: g_date_get_monday_weeks_in_year\n  integer(c_int16_t), value :: year\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint8 g_date_get_sunday_weeks_in_year (GDateYear year) ;\nfunction g_date_get_sunday_weeks_in_year(year) bind(c)\n  import :: c_int8_t, c_int16_t\n  implicit none\n  integer(c_int8_t) :: g_date_get_sunday_weeks_in_year\n  integer(c_int16_t), value :: year\nend function\n\n! GLIB_AVAILABLE_IN_2_86\n!guint8 g_date_get_weeks_in_year (GDateYear year, GDateWeekday first_day_of_week) ;\nfunction g_date_get_weeks_in_year(year, first_day_of_week) bind(c)\n  import :: c_int8_t, c_int16_t, c_int\n  implicit none\n  integer(c_int8_t) :: g_date_get_weeks_in_year\n  integer(c_int16_t), value :: year\n  integer(c_int), value :: first_day_of_week\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_date_days_between (const GDate *date1, const GDate *date2);\nfunction g_date_days_between(date1, date2) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_date_days_between\n  type(c_ptr), value :: date1\n  type(c_ptr), value :: date2\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_date_compare (const GDate *lhs, const GDate *rhs);\nfunction g_date_compare(lhs, rhs) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_date_compare\n  type(c_ptr), value :: lhs\n  type(c_ptr), value :: rhs\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_date_to_struct_tm (const GDate *date, struct tm *tm);\nsubroutine g_date_to_struct_tm(date, tm) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: date\n  type(c_ptr), value :: tm\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_date_clamp (GDate *date, const GDate *min_date, const GDate *max_date);\nsubroutine g_date_clamp(date, min_date, max_date) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: date\n  type(c_ptr), value :: min_date\n  type(c_ptr), value :: max_date\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_date_order (GDate *date1, GDate *date2);\nsubroutine g_date_order(date1, date2) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: date1\n  type(c_ptr), value :: date2\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gsize g_date_strftime (gchar *s, gsize slen, const gchar *format, const GDate *date);\nfunction g_date_strftime(s, slen, format, date) bind(c)\n  import :: c_size_t, c_char, c_ptr\n  implicit none\n  integer(c_size_t) :: g_date_strftime\n  character(kind=c_char), dimension(*) :: s\n  integer(c_size_t), value :: slen\n  character(kind=c_char), dimension(*) :: format\n  type(c_ptr), value :: date\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gdatetime.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!void g_date_time_unref (GDateTime *datetime);\nsubroutine g_date_time_unref(datetime) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: datetime\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GDateTime * g_date_time_ref (GDateTime *datetime);\nfunction g_date_time_ref(datetime) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_date_time_ref\n  type(c_ptr), value :: datetime\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GDateTime * g_date_time_new_now (GTimeZone *tz);\nfunction g_date_time_new_now(tz) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_date_time_new_now\n  type(c_ptr), value :: tz\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GDateTime * g_date_time_new_now_local (void);\nfunction g_date_time_new_now_local() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_date_time_new_now_local\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GDateTime * g_date_time_new_now_utc (void);\nfunction g_date_time_new_now_utc() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_date_time_new_now_utc\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GDateTime * g_date_time_new_from_unix_local (gint64 t);\nfunction g_date_time_new_from_unix_local(t) bind(c)\n  import :: c_ptr, c_int64_t\n  implicit none\n  type(c_ptr) :: g_date_time_new_from_unix_local\n  integer(c_int64_t), value :: t\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GDateTime * g_date_time_new_from_unix_utc (gint64 t);\nfunction g_date_time_new_from_unix_utc(t) bind(c)\n  import :: c_ptr, c_int64_t\n  implicit none\n  type(c_ptr) :: g_date_time_new_from_unix_utc\n  integer(c_int64_t), value :: t\nend function\n\n! GLIB_AVAILABLE_IN_2_80\n!GDateTime * g_date_time_new_from_unix_local_usec (gint64 usecs);\nfunction g_date_time_new_from_unix_local_usec(usecs) bind(c)\n  import :: c_ptr, c_int64_t\n  implicit none\n  type(c_ptr) :: g_date_time_new_from_unix_local_usec\n  integer(c_int64_t), value :: usecs\nend function\n\n! GLIB_AVAILABLE_IN_2_80\n!GDateTime * g_date_time_new_from_unix_utc_usec (gint64 usecs);\nfunction g_date_time_new_from_unix_utc_usec(usecs) bind(c)\n  import :: c_ptr, c_int64_t\n  implicit none\n  type(c_ptr) :: g_date_time_new_from_unix_utc_usec\n  integer(c_int64_t), value :: usecs\nend function\n\n! GLIB_DEPRECATED_IN_2_62_FOR(g_date_time_new_from_unix_local)\n!GDateTime * g_date_time_new_from_timeval_local (const GTimeVal *tv);\nfunction g_date_time_new_from_timeval_local(tv) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_date_time_new_from_timeval_local\n  type(c_ptr), value :: tv\nend function\n\n! GLIB_DEPRECATED_IN_2_62_FOR(g_date_time_new_from_unix_utc)\n!GDateTime * g_date_time_new_from_timeval_utc (const GTimeVal *tv);\nfunction g_date_time_new_from_timeval_utc(tv) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_date_time_new_from_timeval_utc\n  type(c_ptr), value :: tv\nend function\n\n! GLIB_AVAILABLE_IN_2_56\n!GDateTime * g_date_time_new_from_iso8601 (const gchar *text, GTimeZone *default_tz);\nfunction g_date_time_new_from_iso8601(text, default_tz) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_date_time_new_from_iso8601\n  character(kind=c_char), dimension(*) :: text\n  type(c_ptr), value :: default_tz\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GDateTime * g_date_time_new (GTimeZone *tz, gint year, gint month, gint day, gint hour, gint minute, gdouble seconds);\nfunction g_date_time_new(tz, year, month, day, hour, minute, seconds) bind(c)\n  import :: c_ptr, c_int, c_double\n  implicit none\n  type(c_ptr) :: g_date_time_new\n  type(c_ptr), value :: tz\n  integer(c_int), value :: year\n  integer(c_int), value :: month\n  integer(c_int), value :: day\n  integer(c_int), value :: hour\n  integer(c_int), value :: minute\n  real(c_double), value :: seconds\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GDateTime * g_date_time_new_local (gint year, gint month, gint day, gint hour, gint minute, gdouble seconds);\nfunction g_date_time_new_local(year, month, day, hour, minute, seconds) bind(c)\n  import :: c_ptr, c_int, c_double\n  implicit none\n  type(c_ptr) :: g_date_time_new_local\n  integer(c_int), value :: year\n  integer(c_int), value :: month\n  integer(c_int), value :: day\n  integer(c_int), value :: hour\n  integer(c_int), value :: minute\n  real(c_double), value :: seconds\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GDateTime * g_date_time_new_utc (gint year, gint month, gint day, gint hour, gint minute, gdouble seconds);\nfunction g_date_time_new_utc(year, month, day, hour, minute, seconds) bind(c)\n  import :: c_ptr, c_int, c_double\n  implicit none\n  type(c_ptr) :: g_date_time_new_utc\n  integer(c_int), value :: year\n  integer(c_int), value :: month\n  integer(c_int), value :: day\n  integer(c_int), value :: hour\n  integer(c_int), value :: minute\n  real(c_double), value :: seconds\nend function\n\n! \n!GDateTime * g_date_time_add (GDateTime *datetime, GTimeSpan timespan);\nfunction g_date_time_add(datetime, timespan) bind(c)\n  import :: c_ptr, c_int64_t\n  implicit none\n  type(c_ptr) :: g_date_time_add\n  type(c_ptr), value :: datetime\n  integer(c_int64_t), value :: timespan\nend function\n\n! \n!GDateTime * g_date_time_add_years (GDateTime *datetime, gint years);\nfunction g_date_time_add_years(datetime, years) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_date_time_add_years\n  type(c_ptr), value :: datetime\n  integer(c_int), value :: years\nend function\n\n! \n!GDateTime * g_date_time_add_months (GDateTime *datetime, gint months);\nfunction g_date_time_add_months(datetime, months) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_date_time_add_months\n  type(c_ptr), value :: datetime\n  integer(c_int), value :: months\nend function\n\n! \n!GDateTime * g_date_time_add_weeks (GDateTime *datetime, gint weeks);\nfunction g_date_time_add_weeks(datetime, weeks) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_date_time_add_weeks\n  type(c_ptr), value :: datetime\n  integer(c_int), value :: weeks\nend function\n\n! \n!GDateTime * g_date_time_add_days (GDateTime *datetime, gint days);\nfunction g_date_time_add_days(datetime, days) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_date_time_add_days\n  type(c_ptr), value :: datetime\n  integer(c_int), value :: days\nend function\n\n! \n!GDateTime * g_date_time_add_hours (GDateTime *datetime, gint hours);\nfunction g_date_time_add_hours(datetime, hours) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_date_time_add_hours\n  type(c_ptr), value :: datetime\n  integer(c_int), value :: hours\nend function\n\n! \n!GDateTime * g_date_time_add_minutes (GDateTime *datetime, gint minutes);\nfunction g_date_time_add_minutes(datetime, minutes) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_date_time_add_minutes\n  type(c_ptr), value :: datetime\n  integer(c_int), value :: minutes\nend function\n\n! \n!GDateTime * g_date_time_add_seconds (GDateTime *datetime, gdouble seconds);\nfunction g_date_time_add_seconds(datetime, seconds) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr) :: g_date_time_add_seconds\n  type(c_ptr), value :: datetime\n  real(c_double), value :: seconds\nend function\n\n! \n!GDateTime * g_date_time_add_full (GDateTime *datetime, gint years, gint months, gint days, gint hours, gint minutes, gdouble seconds);\nfunction g_date_time_add_full(datetime, years, months, days, hours, minutes,&\n& seconds) bind(c)\n  import :: c_ptr, c_int, c_double\n  implicit none\n  type(c_ptr) :: g_date_time_add_full\n  type(c_ptr), value :: datetime\n  integer(c_int), value :: years\n  integer(c_int), value :: months\n  integer(c_int), value :: days\n  integer(c_int), value :: hours\n  integer(c_int), value :: minutes\n  real(c_double), value :: seconds\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_date_time_compare (gconstpointer dt1, gconstpointer dt2);\nfunction g_date_time_compare(dt1, dt2) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_date_time_compare\n  type(c_ptr), value :: dt1\n  type(c_ptr), value :: dt2\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GTimeSpan g_date_time_difference (GDateTime *end, GDateTime *begin);\nfunction g_date_time_difference(end, begin) bind(c)\n  import :: c_int64_t, c_ptr\n  implicit none\n  integer(c_int64_t) :: g_date_time_difference\n  type(c_ptr), value :: end\n  type(c_ptr), value :: begin\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_date_time_hash (gconstpointer datetime);\nfunction g_date_time_hash(datetime) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_date_time_hash\n  type(c_ptr), value :: datetime\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_date_time_equal (gconstpointer dt1, gconstpointer dt2);\nfunction g_date_time_equal(dt1, dt2) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_date_time_equal\n  type(c_ptr), value :: dt1\n  type(c_ptr), value :: dt2\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_date_time_get_ymd (GDateTime *datetime, gint *year, gint *month, gint *day);\nsubroutine g_date_time_get_ymd(datetime, year, month, day) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: datetime\n  type(c_ptr), value :: year\n  type(c_ptr), value :: month\n  type(c_ptr), value :: day\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_date_time_get_year (GDateTime *datetime);\nfunction g_date_time_get_year(datetime) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_date_time_get_year\n  type(c_ptr), value :: datetime\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_date_time_get_month (GDateTime *datetime);\nfunction g_date_time_get_month(datetime) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_date_time_get_month\n  type(c_ptr), value :: datetime\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_date_time_get_day_of_month (GDateTime *datetime);\nfunction g_date_time_get_day_of_month(datetime) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_date_time_get_day_of_month\n  type(c_ptr), value :: datetime\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_date_time_get_week_numbering_year (GDateTime *datetime);\nfunction g_date_time_get_week_numbering_year(datetime) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_date_time_get_week_numbering_year\n  type(c_ptr), value :: datetime\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_date_time_get_week_of_year (GDateTime *datetime);\nfunction g_date_time_get_week_of_year(datetime) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_date_time_get_week_of_year\n  type(c_ptr), value :: datetime\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_date_time_get_day_of_week (GDateTime *datetime);\nfunction g_date_time_get_day_of_week(datetime) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_date_time_get_day_of_week\n  type(c_ptr), value :: datetime\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_date_time_get_day_of_year (GDateTime *datetime);\nfunction g_date_time_get_day_of_year(datetime) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_date_time_get_day_of_year\n  type(c_ptr), value :: datetime\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_date_time_get_hour (GDateTime *datetime);\nfunction g_date_time_get_hour(datetime) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_date_time_get_hour\n  type(c_ptr), value :: datetime\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_date_time_get_minute (GDateTime *datetime);\nfunction g_date_time_get_minute(datetime) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_date_time_get_minute\n  type(c_ptr), value :: datetime\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_date_time_get_second (GDateTime *datetime);\nfunction g_date_time_get_second(datetime) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_date_time_get_second\n  type(c_ptr), value :: datetime\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_date_time_get_microsecond (GDateTime *datetime);\nfunction g_date_time_get_microsecond(datetime) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_date_time_get_microsecond\n  type(c_ptr), value :: datetime\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gdouble g_date_time_get_seconds (GDateTime *datetime);\nfunction g_date_time_get_seconds(datetime) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: g_date_time_get_seconds\n  type(c_ptr), value :: datetime\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint64 g_date_time_to_unix (GDateTime *datetime);\nfunction g_date_time_to_unix(datetime) bind(c)\n  import :: c_int64_t, c_ptr\n  implicit none\n  integer(c_int64_t) :: g_date_time_to_unix\n  type(c_ptr), value :: datetime\nend function\n\n! GLIB_AVAILABLE_IN_2_80\n!gint64 g_date_time_to_unix_usec (GDateTime *datetime);\nfunction g_date_time_to_unix_usec(datetime) bind(c)\n  import :: c_int64_t, c_ptr\n  implicit none\n  integer(c_int64_t) :: g_date_time_to_unix_usec\n  type(c_ptr), value :: datetime\nend function\n\n! GLIB_DEPRECATED_IN_2_62_FOR(g_date_time_to_unix)\n!gboolean g_date_time_to_timeval (GDateTime *datetime, GTimeVal *tv);\nfunction g_date_time_to_timeval(datetime, tv) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_date_time_to_timeval\n  type(c_ptr), value :: datetime\n  type(c_ptr), value :: tv\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GTimeSpan g_date_time_get_utc_offset (GDateTime *datetime);\nfunction g_date_time_get_utc_offset(datetime) bind(c)\n  import :: c_int64_t, c_ptr\n  implicit none\n  integer(c_int64_t) :: g_date_time_get_utc_offset\n  type(c_ptr), value :: datetime\nend function\n\n! GLIB_AVAILABLE_IN_2_58\n!GTimeZone * g_date_time_get_timezone (GDateTime *datetime);\nfunction g_date_time_get_timezone(datetime) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_date_time_get_timezone\n  type(c_ptr), value :: datetime\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar * g_date_time_get_timezone_abbreviation (GDateTime *datetime);\nfunction g_date_time_get_timezone_abbreviation(datetime) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_date_time_get_timezone_abbreviation\n  type(c_ptr), value :: datetime\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_date_time_is_daylight_savings (GDateTime *datetime);\nfunction g_date_time_is_daylight_savings(datetime) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_date_time_is_daylight_savings\n  type(c_ptr), value :: datetime\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GDateTime * g_date_time_to_timezone (GDateTime *datetime, GTimeZone *tz);\nfunction g_date_time_to_timezone(datetime, tz) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_date_time_to_timezone\n  type(c_ptr), value :: datetime\n  type(c_ptr), value :: tz\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GDateTime * g_date_time_to_local (GDateTime *datetime);\nfunction g_date_time_to_local(datetime) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_date_time_to_local\n  type(c_ptr), value :: datetime\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GDateTime * g_date_time_to_utc (GDateTime *datetime);\nfunction g_date_time_to_utc(datetime) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_date_time_to_utc\n  type(c_ptr), value :: datetime\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar * g_date_time_format (GDateTime *datetime, const gchar *format) ;\nfunction g_date_time_format(datetime, format) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_date_time_format\n  type(c_ptr), value :: datetime\n  character(kind=c_char), dimension(*) :: format\nend function\n\n! GLIB_AVAILABLE_IN_2_62\n!gchar * g_date_time_format_iso8601 (GDateTime *datetime) ;\nfunction g_date_time_format_iso8601(datetime) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_date_time_format_iso8601\n  type(c_ptr), value :: datetime\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gdir.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!GDir * g_dir_open (const gchar *path, guint flags, GError **error);\nfunction g_dir_open(path, flags, error) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_dir_open\n  character(kind=c_char), dimension(*) :: path\n  integer(c_int), value :: flags\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar * g_dir_read_name (GDir *dir);\nfunction g_dir_read_name(dir) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dir_read_name\n  type(c_ptr), value :: dir\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_dir_rewind (GDir *dir);\nsubroutine g_dir_rewind(dir) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: dir\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_dir_close (GDir *dir);\nsubroutine g_dir_close(dir) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: dir\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_80\n!GDir * g_dir_ref (GDir *dir);\nfunction g_dir_ref(dir) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_dir_ref\n  type(c_ptr), value :: dir\nend function\n\n! GLIB_AVAILABLE_IN_2_80\n!void g_dir_unref (GDir *dir);\nsubroutine g_dir_unref(dir) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: dir\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/genviron.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!const gchar * g_getenv (const gchar *variable);\nfunction g_getenv(variable) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_getenv\n  character(kind=c_char), dimension(*) :: variable\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_setenv (const gchar *variable, const gchar *value, gboolean overwrite);\nfunction g_setenv(variable, value, overwrite) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_setenv\n  character(kind=c_char), dimension(*) :: variable\n  character(kind=c_char), dimension(*) :: value\n  integer(c_int), value :: overwrite\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_unsetenv (const gchar *variable);\nsubroutine g_unsetenv(variable) bind(c)\n  import :: c_char\n  implicit none\n  character(kind=c_char), dimension(*) :: variable\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar ** g_listenv (void);\nfunction g_listenv() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_listenv\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar ** g_get_environ (void);\nfunction g_get_environ() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_get_environ\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar * g_environ_getenv (gchar **envp, const gchar *variable);\nfunction g_environ_getenv(envp, variable) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_environ_getenv\n  type(c_ptr), dimension(*) :: envp\n  character(kind=c_char), dimension(*) :: variable\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar ** g_environ_setenv (gchar **envp, const gchar *variable, const gchar *value, gboolean overwrite) ;\nfunction g_environ_setenv(envp, variable, value, overwrite) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_environ_setenv\n  type(c_ptr), dimension(*) :: envp\n  character(kind=c_char), dimension(*) :: variable\n  character(kind=c_char), dimension(*) :: value\n  integer(c_int), value :: overwrite\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar ** g_environ_unsetenv (gchar **envp, const gchar *variable) ;\nfunction g_environ_unsetenv(envp, variable) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_environ_unsetenv\n  type(c_ptr), dimension(*) :: envp\n  character(kind=c_char), dimension(*) :: variable\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gerror.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_2_68\n!GQuark g_error_domain_register_static (const char *error_type_name, gsize error_type_private_size, GErrorInitFunc error_type_init, GErrorCopyFunc error_type_copy, GErrorClearFunc error_type_clear);\nfunction g_error_domain_register_static(error_type_name,&\n& error_type_private_size, error_type_init, error_type_copy, error_type_clear)&\n& bind(c)\n  import :: c_int32_t, c_char, c_size_t, c_funptr\n  implicit none\n  integer(c_int32_t) :: g_error_domain_register_static\n  character(kind=c_char), dimension(*) :: error_type_name\n  integer(c_size_t), value :: error_type_private_size\n  type(c_funptr), value :: error_type_init\n  type(c_funptr), value :: error_type_copy\n  type(c_funptr), value :: error_type_clear\nend function\n\n! GLIB_AVAILABLE_IN_2_68\n!GQuark g_error_domain_register (const char *error_type_name, gsize error_type_private_size, GErrorInitFunc error_type_init, GErrorCopyFunc error_type_copy, GErrorClearFunc error_type_clear);\nfunction g_error_domain_register(error_type_name, error_type_private_size,&\n& error_type_init, error_type_copy, error_type_clear) bind(c)\n  import :: c_int32_t, c_char, c_size_t, c_funptr\n  implicit none\n  integer(c_int32_t) :: g_error_domain_register\n  character(kind=c_char), dimension(*) :: error_type_name\n  integer(c_size_t), value :: error_type_private_size\n  type(c_funptr), value :: error_type_init\n  type(c_funptr), value :: error_type_copy\n  type(c_funptr), value :: error_type_clear\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GError* g_error_new_literal (GQuark domain, gint code, const gchar *message);\nfunction g_error_new_literal(domain, code, message) bind(c)\n  import :: c_ptr, c_int32_t, c_int, c_char\n  implicit none\n  type(c_ptr) :: g_error_new_literal\n  integer(c_int32_t), value :: domain\n  integer(c_int), value :: code\n  character(kind=c_char), dimension(*) :: message\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GError* g_error_new_valist (GQuark domain, gint code, const gchar *format, va_list args) ;\nfunction g_error_new_valist(domain, code, format, args) bind(c)\n  import :: c_ptr, c_int32_t, c_int, c_char\n  implicit none\n  type(c_ptr) :: g_error_new_valist\n  integer(c_int32_t), value :: domain\n  integer(c_int), value :: code\n  character(kind=c_char), dimension(*) :: format\n  type(c_ptr), value :: args\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_error_free (GError *error);\nsubroutine g_error_free(error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: error\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GError* g_error_copy (const GError *error);\nfunction g_error_copy(error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_error_copy\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_error_matches (const GError *error, GQuark domain, gint code);\nfunction g_error_matches(error, domain, code) bind(c)\n  import :: c_int, c_ptr, c_int32_t\n  implicit none\n  integer(c_int) :: g_error_matches\n  type(c_ptr), value :: error\n  integer(c_int32_t), value :: domain\n  integer(c_int), value :: code\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_set_error_literal (GError **err, GQuark domain, gint code, const gchar *message);\nsubroutine g_set_error_literal(err, domain, code, message) bind(c)\n  import :: c_ptr, c_int32_t, c_int, c_char\n  implicit none\n  type(c_ptr), value :: err\n  integer(c_int32_t), value :: domain\n  integer(c_int), value :: code\n  character(kind=c_char), dimension(*) :: message\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_propagate_error (GError **dest, GError *src);\nsubroutine g_propagate_error(dest, src) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: dest\n  type(c_ptr), value :: src\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_clear_error (GError **err);\nsubroutine g_clear_error(err) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: err\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_70\n!void g_prefix_error_literal (GError **err, const gchar *prefix);\nsubroutine g_prefix_error_literal(err, prefix) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: err\n  character(kind=c_char), dimension(*) :: prefix\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gfileutils.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!GQuark g_file_error_quark (void);\nfunction g_file_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: g_file_error_quark\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GFileError g_file_error_from_errno (gint err_no);\nfunction g_file_error_from_errno(err_no) bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: g_file_error_from_errno\n  integer(c_int), value :: err_no\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_file_test (const gchar *filename, GFileTest test);\nfunction g_file_test(filename, test) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_file_test\n  character(kind=c_char), dimension(*) :: filename\n  integer(c_int), value :: test\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_file_get_contents (const gchar *filename, gchar **contents, gsize *length, GError **error);\nfunction g_file_get_contents(filename, contents, length, error) bind(c)\n  import :: c_int, c_char, c_ptr\n  implicit none\n  integer(c_int) :: g_file_get_contents\n  character(kind=c_char), dimension(*) :: filename\n  type(c_ptr), dimension(*) :: contents\n  type(c_ptr), value :: length\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_file_set_contents (const gchar *filename, const gchar *contents, gssize length, GError **error);\nfunction g_file_set_contents(filename, contents, length, error) bind(c)\n  import :: c_int, c_char, c_size_t, c_ptr\n  implicit none\n  integer(c_int) :: g_file_set_contents\n  character(kind=c_char), dimension(*) :: filename\n  character(kind=c_char), dimension(*) :: contents\n  integer(c_size_t), value :: length\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar *g_file_read_link (const gchar *filename, GError **error);\nfunction g_file_read_link(filename, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_file_read_link\n  character(kind=c_char), dimension(*) :: filename\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_2_30\n!gchar *g_mkdtemp (gchar *tmpl);\nfunction g_mkdtemp(tmpl) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_mkdtemp\n  character(kind=c_char), dimension(*) :: tmpl\nend function\n\n! GLIB_AVAILABLE_IN_2_30\n!gchar *g_mkdtemp_full (gchar *tmpl, gint mode);\nfunction g_mkdtemp_full(tmpl, mode) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_mkdtemp_full\n  character(kind=c_char), dimension(*) :: tmpl\n  integer(c_int), value :: mode\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_mkstemp (gchar *tmpl);\nfunction g_mkstemp(tmpl) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_mkstemp\n  character(kind=c_char), dimension(*) :: tmpl\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_mkstemp_full (gchar *tmpl, gint flags, gint mode);\nfunction g_mkstemp_full(tmpl, flags, mode) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_mkstemp_full\n  character(kind=c_char), dimension(*) :: tmpl\n  integer(c_int), value :: flags\n  integer(c_int), value :: mode\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_file_open_tmp (const gchar *tmpl, gchar **name_used, GError **error);\nfunction g_file_open_tmp(tmpl, name_used, error) bind(c)\n  import :: c_int, c_char, c_ptr\n  implicit none\n  integer(c_int) :: g_file_open_tmp\n  character(kind=c_char), dimension(*) :: tmpl\n  type(c_ptr), dimension(*) :: name_used\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_2_30\n!gchar *g_dir_make_tmp (const gchar *tmpl, GError **error);\nfunction g_dir_make_tmp(tmpl, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_dir_make_tmp\n  character(kind=c_char), dimension(*) :: tmpl\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar *g_build_pathv (const gchar *separator, gchar **args) ;\nfunction g_build_pathv(separator, args) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_build_pathv\n  character(kind=c_char), dimension(*) :: separator\n  type(c_ptr), dimension(*) :: args\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar *g_build_filenamev (gchar **args) ;\nfunction g_build_filenamev(args) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_build_filenamev\n  type(c_ptr), dimension(*) :: args\nend function\n\n! GLIB_AVAILABLE_IN_2_56\n!gchar *g_build_filename_valist (const gchar *first_element, va_list *args) ;\nfunction g_build_filename_valist(first_element, args) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_build_filename_valist\n  character(kind=c_char), dimension(*) :: first_element\n  type(c_ptr), value :: args\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_mkdir_with_parents (const gchar *pathname, gint mode);\nfunction g_mkdir_with_parents(pathname, mode) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_mkdir_with_parents\n  character(kind=c_char), dimension(*) :: pathname\n  integer(c_int), value :: mode\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_path_is_absolute (const gchar *file_name);\nfunction g_path_is_absolute(file_name) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_path_is_absolute\n  character(kind=c_char), dimension(*) :: file_name\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar *g_path_skip_root (const gchar *file_name);\nfunction g_path_skip_root(file_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_path_skip_root\n  character(kind=c_char), dimension(*) :: file_name\nend function\n\n! GLIB_DEPRECATED_FOR(g_path_get_basename)\n!const gchar *g_basename (const gchar *file_name);\nfunction g_basename(file_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_basename\n  character(kind=c_char), dimension(*) :: file_name\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar *g_get_current_dir (void);\nfunction g_get_current_dir() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_get_current_dir\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar *g_path_get_basename (const gchar *file_name) ;\nfunction g_path_get_basename(file_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_path_get_basename\n  character(kind=c_char), dimension(*) :: file_name\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar *g_path_get_dirname (const gchar *file_name) ;\nfunction g_path_get_dirname(file_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_path_get_dirname\n  character(kind=c_char), dimension(*) :: file_name\nend function\n\n! GLIB_AVAILABLE_IN_2_58\n!gchar *g_canonicalize_filename (const gchar *filename, const gchar *relative_to) ;\nfunction g_canonicalize_filename(filename, relative_to) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_canonicalize_filename\n  character(kind=c_char), dimension(*) :: filename\n  character(kind=c_char), dimension(*) :: relative_to\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/ggettext.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!const gchar *g_strip_context (const gchar *msgid, const gchar *msgval) ;\nfunction g_strip_context(msgid, msgval) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_strip_context\n  character(kind=c_char), dimension(*) :: msgid\n  character(kind=c_char), dimension(*) :: msgval\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar *g_dgettext (const gchar *domain, const gchar *msgid) ;\nfunction g_dgettext(domain, msgid) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_dgettext\n  character(kind=c_char), dimension(*) :: domain\n  character(kind=c_char), dimension(*) :: msgid\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar *g_dcgettext (const gchar *domain, const gchar *msgid, gint category) ;\nfunction g_dcgettext(domain, msgid, category) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_dcgettext\n  character(kind=c_char), dimension(*) :: domain\n  character(kind=c_char), dimension(*) :: msgid\n  integer(c_int), value :: category\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar *g_dngettext (const gchar *domain, const gchar *msgid, const gchar *msgid_plural, gulong n) ;\nfunction g_dngettext(domain, msgid, msgid_plural, n) bind(c)\n  import :: c_ptr, c_char, c_long\n  implicit none\n  type(c_ptr) :: g_dngettext\n  character(kind=c_char), dimension(*) :: domain\n  character(kind=c_char), dimension(*) :: msgid\n  character(kind=c_char), dimension(*) :: msgid_plural\n  integer(c_long), value :: n\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar *g_dpgettext (const gchar *domain, const gchar *msgctxtid, gsize msgidoffset) ;\nfunction g_dpgettext(domain, msgctxtid, msgidoffset) bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr) :: g_dpgettext\n  character(kind=c_char), dimension(*) :: domain\n  character(kind=c_char), dimension(*) :: msgctxtid\n  integer(c_size_t), value :: msgidoffset\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar *g_dpgettext2 (const gchar *domain, const gchar *context, const gchar *msgid) ;\nfunction g_dpgettext2(domain, context, msgid) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_dpgettext2\n  character(kind=c_char), dimension(*) :: domain\n  character(kind=c_char), dimension(*) :: context\n  character(kind=c_char), dimension(*) :: msgid\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/ghash.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!GHashTable* g_hash_table_new (GHashFunc hash_func, GEqualFunc key_equal_func);\nfunction g_hash_table_new(hash_func, key_equal_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_hash_table_new\n  type(c_funptr), value :: hash_func\n  type(c_funptr), value :: key_equal_func\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GHashTable* g_hash_table_new_full (GHashFunc hash_func, GEqualFunc key_equal_func, GDestroyNotify key_destroy_func, GDestroyNotify value_destroy_func);\nfunction g_hash_table_new_full(hash_func, key_equal_func, key_destroy_func,&\n& value_destroy_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_hash_table_new_full\n  type(c_funptr), value :: hash_func\n  type(c_funptr), value :: key_equal_func\n  type(c_funptr), value :: key_destroy_func\n  type(c_funptr), value :: value_destroy_func\nend function\n\n! GLIB_AVAILABLE_IN_2_72\n!GHashTable *g_hash_table_new_similar (GHashTable *other_hash_table);\nfunction g_hash_table_new_similar(other_hash_table) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_hash_table_new_similar\n  type(c_ptr), value :: other_hash_table\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_hash_table_destroy (GHashTable *hash_table);\nsubroutine g_hash_table_destroy(hash_table) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: hash_table\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_hash_table_insert (GHashTable *hash_table, gpointer key, gpointer value);\nfunction g_hash_table_insert(hash_table, key, value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_hash_table_insert\n  type(c_ptr), value :: hash_table\n  type(c_ptr), value :: key\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_hash_table_replace (GHashTable *hash_table, gpointer key, gpointer value);\nfunction g_hash_table_replace(hash_table, key, value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_hash_table_replace\n  type(c_ptr), value :: hash_table\n  type(c_ptr), value :: key\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_hash_table_add (GHashTable *hash_table, gpointer key);\nfunction g_hash_table_add(hash_table, key) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_hash_table_add\n  type(c_ptr), value :: hash_table\n  type(c_ptr), value :: key\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_hash_table_remove (GHashTable *hash_table, gconstpointer key);\nfunction g_hash_table_remove(hash_table, key) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_hash_table_remove\n  type(c_ptr), value :: hash_table\n  type(c_ptr), value :: key\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_hash_table_remove_all (GHashTable *hash_table);\nsubroutine g_hash_table_remove_all(hash_table) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: hash_table\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_hash_table_steal (GHashTable *hash_table, gconstpointer key);\nfunction g_hash_table_steal(hash_table, key) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_hash_table_steal\n  type(c_ptr), value :: hash_table\n  type(c_ptr), value :: key\nend function\n\n! GLIB_AVAILABLE_IN_2_58\n!gboolean g_hash_table_steal_extended (GHashTable *hash_table, gconstpointer lookup_key, gpointer *stolen_key, gpointer *stolen_value);\nfunction g_hash_table_steal_extended(hash_table, lookup_key, stolen_key,&\n& stolen_value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_hash_table_steal_extended\n  type(c_ptr), value :: hash_table\n  type(c_ptr), value :: lookup_key\n  type(c_ptr), value :: stolen_key\n  type(c_ptr), value :: stolen_value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_hash_table_steal_all (GHashTable *hash_table);\nsubroutine g_hash_table_steal_all(hash_table) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: hash_table\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_76\n!GPtrArray * g_hash_table_steal_all_keys (GHashTable *hash_table);\nfunction g_hash_table_steal_all_keys(hash_table) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_hash_table_steal_all_keys\n  type(c_ptr), value :: hash_table\nend function\n\n! GLIB_AVAILABLE_IN_2_76\n!GPtrArray * g_hash_table_steal_all_values (GHashTable *hash_table);\nfunction g_hash_table_steal_all_values(hash_table) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_hash_table_steal_all_values\n  type(c_ptr), value :: hash_table\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_hash_table_lookup (GHashTable *hash_table, gconstpointer key);\nfunction g_hash_table_lookup(hash_table, key) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_hash_table_lookup\n  type(c_ptr), value :: hash_table\n  type(c_ptr), value :: key\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_hash_table_contains (GHashTable *hash_table, gconstpointer key);\nfunction g_hash_table_contains(hash_table, key) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_hash_table_contains\n  type(c_ptr), value :: hash_table\n  type(c_ptr), value :: key\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_hash_table_lookup_extended (GHashTable *hash_table, gconstpointer lookup_key, gpointer *orig_key, gpointer *value);\nfunction g_hash_table_lookup_extended(hash_table, lookup_key, orig_key, value)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_hash_table_lookup_extended\n  type(c_ptr), value :: hash_table\n  type(c_ptr), value :: lookup_key\n  type(c_ptr), value :: orig_key\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_hash_table_foreach (GHashTable *hash_table, GHFunc func, gpointer user_data);\nsubroutine g_hash_table_foreach(hash_table, func, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: hash_table\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_hash_table_find (GHashTable *hash_table, GHRFunc predicate, gpointer user_data);\nfunction g_hash_table_find(hash_table, predicate, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_hash_table_find\n  type(c_ptr), value :: hash_table\n  type(c_funptr), value :: predicate\n  type(c_ptr), value :: user_data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_hash_table_foreach_remove (GHashTable *hash_table, GHRFunc func, gpointer user_data);\nfunction g_hash_table_foreach_remove(hash_table, func, user_data) bind(c)\n  import :: c_int, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: g_hash_table_foreach_remove\n  type(c_ptr), value :: hash_table\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_hash_table_foreach_steal (GHashTable *hash_table, GHRFunc func, gpointer user_data);\nfunction g_hash_table_foreach_steal(hash_table, func, user_data) bind(c)\n  import :: c_int, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: g_hash_table_foreach_steal\n  type(c_ptr), value :: hash_table\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_hash_table_size (GHashTable *hash_table);\nfunction g_hash_table_size(hash_table) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_hash_table_size\n  type(c_ptr), value :: hash_table\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GList * g_hash_table_get_keys (GHashTable *hash_table);\nfunction g_hash_table_get_keys(hash_table) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_hash_table_get_keys\n  type(c_ptr), value :: hash_table\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GList * g_hash_table_get_values (GHashTable *hash_table);\nfunction g_hash_table_get_values(hash_table) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_hash_table_get_values\n  type(c_ptr), value :: hash_table\nend function\n\n! GLIB_AVAILABLE_IN_2_40\n!gpointer * g_hash_table_get_keys_as_array (GHashTable *hash_table, guint *length);\nfunction g_hash_table_get_keys_as_array(hash_table, length) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_hash_table_get_keys_as_array\n  type(c_ptr), value :: hash_table\n  type(c_ptr), value :: length\nend function\n\n! GLIB_AVAILABLE_IN_2_76\n!GPtrArray * g_hash_table_get_keys_as_ptr_array (GHashTable *hash_table);\nfunction g_hash_table_get_keys_as_ptr_array(hash_table) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_hash_table_get_keys_as_ptr_array\n  type(c_ptr), value :: hash_table\nend function\n\n! GLIB_AVAILABLE_IN_2_76\n!GPtrArray * g_hash_table_get_values_as_ptr_array (GHashTable *hash_table);\nfunction g_hash_table_get_values_as_ptr_array(hash_table) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_hash_table_get_values_as_ptr_array\n  type(c_ptr), value :: hash_table\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_hash_table_iter_init (GHashTableIter *iter, GHashTable *hash_table);\nsubroutine g_hash_table_iter_init(iter, hash_table) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: hash_table\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_hash_table_iter_next (GHashTableIter *iter, gpointer *key, gpointer *value);\nfunction g_hash_table_iter_next(iter, key, value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_hash_table_iter_next\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: key\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GHashTable* g_hash_table_iter_get_hash_table (GHashTableIter *iter);\nfunction g_hash_table_iter_get_hash_table(iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_hash_table_iter_get_hash_table\n  type(c_ptr), value :: iter\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_hash_table_iter_remove (GHashTableIter *iter);\nsubroutine g_hash_table_iter_remove(iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: iter\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_30\n!void g_hash_table_iter_replace (GHashTableIter *iter, gpointer value);\nsubroutine g_hash_table_iter_replace(iter, value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: value\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_hash_table_iter_steal (GHashTableIter *iter);\nsubroutine g_hash_table_iter_steal(iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: iter\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GHashTable* g_hash_table_ref (GHashTable *hash_table);\nfunction g_hash_table_ref(hash_table) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_hash_table_ref\n  type(c_ptr), value :: hash_table\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_hash_table_unref (GHashTable *hash_table);\nsubroutine g_hash_table_unref(hash_table) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: hash_table\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_str_equal (gconstpointer v1, gconstpointer v2);\nfunction g_str_equal(v1, v2) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_str_equal\n  type(c_ptr), value :: v1\n  type(c_ptr), value :: v2\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_str_hash (gconstpointer v);\nfunction g_str_hash(v) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_str_hash\n  type(c_ptr), value :: v\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_int_equal (gconstpointer v1, gconstpointer v2);\nfunction g_int_equal(v1, v2) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_int_equal\n  type(c_ptr), value :: v1\n  type(c_ptr), value :: v2\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_int_hash (gconstpointer v);\nfunction g_int_hash(v) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_int_hash\n  type(c_ptr), value :: v\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_int64_equal (gconstpointer v1, gconstpointer v2);\nfunction g_int64_equal(v1, v2) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_int64_equal\n  type(c_ptr), value :: v1\n  type(c_ptr), value :: v2\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_int64_hash (gconstpointer v);\nfunction g_int64_hash(v) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_int64_hash\n  type(c_ptr), value :: v\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_double_equal (gconstpointer v1, gconstpointer v2);\nfunction g_double_equal(v1, v2) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_double_equal\n  type(c_ptr), value :: v1\n  type(c_ptr), value :: v2\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_double_hash (gconstpointer v);\nfunction g_double_hash(v) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_double_hash\n  type(c_ptr), value :: v\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_direct_hash (gconstpointer v) ;\nfunction g_direct_hash(v) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_direct_hash\n  type(c_ptr), value :: v\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_direct_equal (gconstpointer v1, gconstpointer v2) ;\nfunction g_direct_equal(v1, v2) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_direct_equal\n  type(c_ptr), value :: v1\n  type(c_ptr), value :: v2\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/ghmac.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_2_30\n!GHmac * g_hmac_new (GChecksumType digest_type, const guchar *key, gsize key_len);\nfunction g_hmac_new(digest_type, key, key_len) bind(c)\n  import :: c_ptr, c_int, c_char, c_size_t\n  implicit none\n  type(c_ptr) :: g_hmac_new\n  integer(c_int), value :: digest_type\n  character(kind=c_char), dimension(*) :: key\n  integer(c_size_t), value :: key_len\nend function\n\n! GLIB_AVAILABLE_IN_2_30\n!GHmac * g_hmac_copy (const GHmac *hmac);\nfunction g_hmac_copy(hmac) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_hmac_copy\n  type(c_ptr), value :: hmac\nend function\n\n! GLIB_AVAILABLE_IN_2_30\n!GHmac * g_hmac_ref (GHmac *hmac);\nfunction g_hmac_ref(hmac) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_hmac_ref\n  type(c_ptr), value :: hmac\nend function\n\n! GLIB_AVAILABLE_IN_2_30\n!void g_hmac_unref (GHmac *hmac);\nsubroutine g_hmac_unref(hmac) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: hmac\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_30\n!void g_hmac_update (GHmac *hmac, const guchar *data, gssize length);\nsubroutine g_hmac_update(hmac, data, length) bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr), value :: hmac\n  character(kind=c_char), dimension(*) :: data\n  integer(c_size_t), value :: length\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_30\n!const gchar * g_hmac_get_string (GHmac *hmac);\nfunction g_hmac_get_string(hmac) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_hmac_get_string\n  type(c_ptr), value :: hmac\nend function\n\n! GLIB_AVAILABLE_IN_2_30\n!void g_hmac_get_digest (GHmac *hmac, guint8 *buffer, gsize *digest_len);\nsubroutine g_hmac_get_digest(hmac, buffer, digest_len) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: hmac\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: digest_len\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_30\n!gchar *g_compute_hmac_for_data (GChecksumType digest_type, const guchar *key, gsize key_len, const guchar *data, gsize length);\nfunction g_compute_hmac_for_data(digest_type, key, key_len, data, length)&\n& bind(c)\n  import :: c_ptr, c_int, c_char, c_size_t\n  implicit none\n  type(c_ptr) :: g_compute_hmac_for_data\n  integer(c_int), value :: digest_type\n  character(kind=c_char), dimension(*) :: key\n  integer(c_size_t), value :: key_len\n  character(kind=c_char), dimension(*) :: data\n  integer(c_size_t), value :: length\nend function\n\n! GLIB_AVAILABLE_IN_2_30\n!gchar *g_compute_hmac_for_string (GChecksumType digest_type, const guchar *key, gsize key_len, const gchar *str, gssize length);\nfunction g_compute_hmac_for_string(digest_type, key, key_len, str, length)&\n& bind(c)\n  import :: c_ptr, c_int, c_char, c_size_t\n  implicit none\n  type(c_ptr) :: g_compute_hmac_for_string\n  integer(c_int), value :: digest_type\n  character(kind=c_char), dimension(*) :: key\n  integer(c_size_t), value :: key_len\n  character(kind=c_char), dimension(*) :: str\n  integer(c_size_t), value :: length\nend function\n\n! GLIB_AVAILABLE_IN_2_50\n!gchar *g_compute_hmac_for_bytes (GChecksumType digest_type, GBytes *key, GBytes *data);\nfunction g_compute_hmac_for_bytes(digest_type, key, data) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_compute_hmac_for_bytes\n  integer(c_int), value :: digest_type\n  type(c_ptr), value :: key\n  type(c_ptr), value :: data\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/ghook.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!void g_hook_list_init (GHookList *hook_list, guint hook_size);\nsubroutine g_hook_list_init(hook_list, hook_size) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: hook_list\n  integer(c_int), value :: hook_size\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_hook_list_clear (GHookList *hook_list);\nsubroutine g_hook_list_clear(hook_list) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: hook_list\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GHook* g_hook_alloc (GHookList *hook_list);\nfunction g_hook_alloc(hook_list) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_hook_alloc\n  type(c_ptr), value :: hook_list\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_hook_free (GHookList *hook_list, GHook *hook);\nsubroutine g_hook_free(hook_list, hook) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: hook_list\n  type(c_ptr), value :: hook\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GHook * g_hook_ref (GHookList *hook_list, GHook *hook);\nfunction g_hook_ref(hook_list, hook) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_hook_ref\n  type(c_ptr), value :: hook_list\n  type(c_ptr), value :: hook\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_hook_unref (GHookList *hook_list, GHook *hook);\nsubroutine g_hook_unref(hook_list, hook) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: hook_list\n  type(c_ptr), value :: hook\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_hook_destroy (GHookList *hook_list, gulong hook_id);\nfunction g_hook_destroy(hook_list, hook_id) bind(c)\n  import :: c_int, c_ptr, c_long\n  implicit none\n  integer(c_int) :: g_hook_destroy\n  type(c_ptr), value :: hook_list\n  integer(c_long), value :: hook_id\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_hook_destroy_link (GHookList *hook_list, GHook *hook);\nsubroutine g_hook_destroy_link(hook_list, hook) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: hook_list\n  type(c_ptr), value :: hook\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_hook_prepend (GHookList *hook_list, GHook *hook);\nsubroutine g_hook_prepend(hook_list, hook) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: hook_list\n  type(c_ptr), value :: hook\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_hook_insert_before (GHookList *hook_list, GHook *sibling, GHook *hook);\nsubroutine g_hook_insert_before(hook_list, sibling, hook) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: hook_list\n  type(c_ptr), value :: sibling\n  type(c_ptr), value :: hook\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_hook_insert_sorted (GHookList *hook_list, GHook *hook, GHookCompareFunc func);\nsubroutine g_hook_insert_sorted(hook_list, hook, func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: hook_list\n  type(c_ptr), value :: hook\n  type(c_funptr), value :: func\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GHook* g_hook_get (GHookList *hook_list, gulong hook_id);\nfunction g_hook_get(hook_list, hook_id) bind(c)\n  import :: c_ptr, c_long\n  implicit none\n  type(c_ptr) :: g_hook_get\n  type(c_ptr), value :: hook_list\n  integer(c_long), value :: hook_id\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GHook* g_hook_find (GHookList *hook_list, gboolean need_valids, GHookFindFunc func, gpointer data);\nfunction g_hook_find(hook_list, need_valids, func, data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr) :: g_hook_find\n  type(c_ptr), value :: hook_list\n  integer(c_int), value :: need_valids\n  type(c_funptr), value :: func\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GHook* g_hook_find_data (GHookList *hook_list, gboolean need_valids, gpointer data);\nfunction g_hook_find_data(hook_list, need_valids, data) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_hook_find_data\n  type(c_ptr), value :: hook_list\n  integer(c_int), value :: need_valids\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GHook* g_hook_find_func (GHookList *hook_list, gboolean need_valids, gpointer func);\nfunction g_hook_find_func(hook_list, need_valids, func) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_hook_find_func\n  type(c_ptr), value :: hook_list\n  integer(c_int), value :: need_valids\n  type(c_ptr), value :: func\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GHook* g_hook_find_func_data (GHookList *hook_list, gboolean need_valids, gpointer func, gpointer data);\nfunction g_hook_find_func_data(hook_list, need_valids, func, data) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_hook_find_func_data\n  type(c_ptr), value :: hook_list\n  integer(c_int), value :: need_valids\n  type(c_ptr), value :: func\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GHook* g_hook_first_valid (GHookList *hook_list, gboolean may_be_in_call);\nfunction g_hook_first_valid(hook_list, may_be_in_call) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_hook_first_valid\n  type(c_ptr), value :: hook_list\n  integer(c_int), value :: may_be_in_call\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GHook* g_hook_next_valid (GHookList *hook_list, GHook *hook, gboolean may_be_in_call);\nfunction g_hook_next_valid(hook_list, hook, may_be_in_call) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_hook_next_valid\n  type(c_ptr), value :: hook_list\n  type(c_ptr), value :: hook\n  integer(c_int), value :: may_be_in_call\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_hook_compare_ids (GHook *new_hook, GHook *sibling);\nfunction g_hook_compare_ids(new_hook, sibling) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_hook_compare_ids\n  type(c_ptr), value :: new_hook\n  type(c_ptr), value :: sibling\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_hook_list_invoke (GHookList *hook_list, gboolean may_recurse);\nsubroutine g_hook_list_invoke(hook_list, may_recurse) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: hook_list\n  integer(c_int), value :: may_recurse\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_hook_list_invoke_check (GHookList *hook_list, gboolean may_recurse);\nsubroutine g_hook_list_invoke_check(hook_list, may_recurse) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: hook_list\n  integer(c_int), value :: may_recurse\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_hook_list_marshal (GHookList *hook_list, gboolean may_recurse, GHookMarshaller marshaller, gpointer marshal_data);\nsubroutine g_hook_list_marshal(hook_list, may_recurse, marshaller,&\n& marshal_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: hook_list\n  integer(c_int), value :: may_recurse\n  type(c_funptr), value :: marshaller\n  type(c_ptr), value :: marshal_data\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_hook_list_marshal_check (GHookList *hook_list, gboolean may_recurse, GHookCheckMarshaller marshaller, gpointer marshal_data);\nsubroutine g_hook_list_marshal_check(hook_list, may_recurse, marshaller,&\n& marshal_data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: hook_list\n  integer(c_int), value :: may_recurse\n  type(c_funptr), value :: marshaller\n  type(c_ptr), value :: marshal_data\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/ghostutils.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_hostname_is_non_ascii (const gchar *hostname);\nfunction g_hostname_is_non_ascii(hostname) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_hostname_is_non_ascii\n  character(kind=c_char), dimension(*) :: hostname\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_hostname_is_ascii_encoded (const gchar *hostname);\nfunction g_hostname_is_ascii_encoded(hostname) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_hostname_is_ascii_encoded\n  character(kind=c_char), dimension(*) :: hostname\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_hostname_is_ip_address (const gchar *hostname);\nfunction g_hostname_is_ip_address(hostname) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_hostname_is_ip_address\n  character(kind=c_char), dimension(*) :: hostname\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar *g_hostname_to_ascii (const gchar *hostname);\nfunction g_hostname_to_ascii(hostname) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_hostname_to_ascii\n  character(kind=c_char), dimension(*) :: hostname\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar *g_hostname_to_unicode (const gchar *hostname);\nfunction g_hostname_to_unicode(hostname) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_hostname_to_unicode\n  character(kind=c_char), dimension(*) :: hostname\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gi18n-lib.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gi18n.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/giochannel.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!void g_io_channel_init (GIOChannel *channel);\nsubroutine g_io_channel_init(channel) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: channel\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GIOChannel *g_io_channel_ref (GIOChannel *channel);\nfunction g_io_channel_ref(channel) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_io_channel_ref\n  type(c_ptr), value :: channel\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_io_channel_unref (GIOChannel *channel);\nsubroutine g_io_channel_unref(channel) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: channel\nend subroutine\n\n! GLIB_DEPRECATED_FOR(g_io_channel_read_chars)\n!GIOError g_io_channel_read (GIOChannel *channel, gchar *buf, gsize count, gsize *bytes_read);\nfunction g_io_channel_read(channel, buf, count, bytes_read) bind(c)\n  import :: c_int, c_ptr, c_char, c_size_t\n  implicit none\n  integer(c_int) :: g_io_channel_read\n  type(c_ptr), value :: channel\n  character(kind=c_char), dimension(*) :: buf\n  integer(c_size_t), value :: count\n  type(c_ptr), value :: bytes_read\nend function\n\n! GLIB_DEPRECATED_FOR(g_io_channel_write_chars)\n!GIOError g_io_channel_write (GIOChannel *channel, const gchar *buf, gsize count, gsize *bytes_written);\nfunction g_io_channel_write(channel, buf, count, bytes_written) bind(c)\n  import :: c_int, c_ptr, c_char, c_size_t\n  implicit none\n  integer(c_int) :: g_io_channel_write\n  type(c_ptr), value :: channel\n  character(kind=c_char), dimension(*) :: buf\n  integer(c_size_t), value :: count\n  type(c_ptr), value :: bytes_written\nend function\n\n! GLIB_DEPRECATED_FOR(g_io_channel_seek_position)\n!GIOError g_io_channel_seek (GIOChannel *channel, gint64 offset, GSeekType type);\nfunction g_io_channel_seek(channel, offset, type) bind(c)\n  import :: c_int, c_ptr, c_int64_t\n  implicit none\n  integer(c_int) :: g_io_channel_seek\n  type(c_ptr), value :: channel\n  integer(c_int64_t), value :: offset\n  integer(c_int), value :: type\nend function\n\n! GLIB_DEPRECATED_FOR(g_io_channel_shutdown)\n!void g_io_channel_close (GIOChannel *channel);\nsubroutine g_io_channel_close(channel) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: channel\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GIOStatus g_io_channel_shutdown (GIOChannel *channel, gboolean flush, GError **err);\nfunction g_io_channel_shutdown(channel, flush, err) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_io_channel_shutdown\n  type(c_ptr), value :: channel\n  integer(c_int), value :: flush\n  type(c_ptr), value :: err\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_io_add_watch_full (GIOChannel *channel, gint priority, GIOCondition condition, GIOFunc func, gpointer user_data, GDestroyNotify notify);\nfunction g_io_add_watch_full(channel, priority, condition, func, user_data,&\n& notify) bind(c)\n  import :: c_int, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: g_io_add_watch_full\n  type(c_ptr), value :: channel\n  integer(c_int), value :: priority\n  integer(c_int), value :: condition\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: notify\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSource * g_io_create_watch (GIOChannel *channel, GIOCondition condition);\nfunction g_io_create_watch(channel, condition) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_io_create_watch\n  type(c_ptr), value :: channel\n  integer(c_int), value :: condition\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_io_add_watch (GIOChannel *channel, GIOCondition condition, GIOFunc func, gpointer user_data);\nfunction g_io_add_watch(channel, condition, func, user_data) bind(c)\n  import :: c_int, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: g_io_add_watch\n  type(c_ptr), value :: channel\n  integer(c_int), value :: condition\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_io_channel_set_buffer_size (GIOChannel *channel, gsize size);\nsubroutine g_io_channel_set_buffer_size(channel, size) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr), value :: channel\n  integer(c_size_t), value :: size\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gsize g_io_channel_get_buffer_size (GIOChannel *channel);\nfunction g_io_channel_get_buffer_size(channel) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_io_channel_get_buffer_size\n  type(c_ptr), value :: channel\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GIOCondition g_io_channel_get_buffer_condition (GIOChannel *channel);\nfunction g_io_channel_get_buffer_condition(channel) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_io_channel_get_buffer_condition\n  type(c_ptr), value :: channel\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GIOStatus g_io_channel_set_flags (GIOChannel *channel, GIOFlags flags, GError **error);\nfunction g_io_channel_set_flags(channel, flags, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_io_channel_set_flags\n  type(c_ptr), value :: channel\n  integer(c_int), value :: flags\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GIOFlags g_io_channel_get_flags (GIOChannel *channel);\nfunction g_io_channel_get_flags(channel) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_io_channel_get_flags\n  type(c_ptr), value :: channel\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_io_channel_set_line_term (GIOChannel *channel, const gchar *line_term, gint length);\nsubroutine g_io_channel_set_line_term(channel, line_term, length) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: channel\n  character(kind=c_char), dimension(*) :: line_term\n  integer(c_int), value :: length\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar * g_io_channel_get_line_term (GIOChannel *channel, gint *length);\nfunction g_io_channel_get_line_term(channel, length) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_io_channel_get_line_term\n  type(c_ptr), value :: channel\n  type(c_ptr), value :: length\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_io_channel_set_buffered (GIOChannel *channel, gboolean buffered);\nsubroutine g_io_channel_set_buffered(channel, buffered) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: channel\n  integer(c_int), value :: buffered\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_io_channel_get_buffered (GIOChannel *channel);\nfunction g_io_channel_get_buffered(channel) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_io_channel_get_buffered\n  type(c_ptr), value :: channel\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GIOStatus g_io_channel_set_encoding (GIOChannel *channel, const gchar *encoding, GError **error);\nfunction g_io_channel_set_encoding(channel, encoding, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_io_channel_set_encoding\n  type(c_ptr), value :: channel\n  character(kind=c_char), dimension(*) :: encoding\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar * g_io_channel_get_encoding (GIOChannel *channel);\nfunction g_io_channel_get_encoding(channel) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_io_channel_get_encoding\n  type(c_ptr), value :: channel\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_io_channel_set_close_on_unref (GIOChannel *channel, gboolean do_close);\nsubroutine g_io_channel_set_close_on_unref(channel, do_close) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: channel\n  integer(c_int), value :: do_close\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_io_channel_get_close_on_unref (GIOChannel *channel);\nfunction g_io_channel_get_close_on_unref(channel) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_io_channel_get_close_on_unref\n  type(c_ptr), value :: channel\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GIOStatus g_io_channel_flush (GIOChannel *channel, GError **error);\nfunction g_io_channel_flush(channel, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_io_channel_flush\n  type(c_ptr), value :: channel\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GIOStatus g_io_channel_read_line (GIOChannel *channel, gchar **str_return, gsize *length, gsize *terminator_pos, GError **error);\nfunction g_io_channel_read_line(channel, str_return, length, terminator_pos,&\n& error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_io_channel_read_line\n  type(c_ptr), value :: channel\n  type(c_ptr), dimension(*) :: str_return\n  type(c_ptr), value :: length\n  type(c_ptr), value :: terminator_pos\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GIOStatus g_io_channel_read_line_string (GIOChannel *channel, GString *buffer, gsize *terminator_pos, GError **error);\nfunction g_io_channel_read_line_string(channel, buffer, terminator_pos, error)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_io_channel_read_line_string\n  type(c_ptr), value :: channel\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: terminator_pos\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GIOStatus g_io_channel_read_to_end (GIOChannel *channel, gchar **str_return, gsize *length, GError **error);\nfunction g_io_channel_read_to_end(channel, str_return, length, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_io_channel_read_to_end\n  type(c_ptr), value :: channel\n  type(c_ptr), dimension(*) :: str_return\n  type(c_ptr), value :: length\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GIOStatus g_io_channel_read_chars (GIOChannel *channel, gchar *buf, gsize count, gsize *bytes_read, GError **error);\nfunction g_io_channel_read_chars(channel, buf, count, bytes_read, error)&\n& bind(c)\n  import :: c_int, c_ptr, c_char, c_size_t\n  implicit none\n  integer(c_int) :: g_io_channel_read_chars\n  type(c_ptr), value :: channel\n  character(kind=c_char), dimension(*) :: buf\n  integer(c_size_t), value :: count\n  type(c_ptr), value :: bytes_read\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GIOStatus g_io_channel_read_unichar (GIOChannel *channel, gunichar *thechar, GError **error);\nfunction g_io_channel_read_unichar(channel, thechar, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_io_channel_read_unichar\n  type(c_ptr), value :: channel\n  character(kind=c_char), dimension(*) :: thechar\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GIOStatus g_io_channel_write_chars (GIOChannel *channel, const gchar *buf, gssize count, gsize *bytes_written, GError **error);\nfunction g_io_channel_write_chars(channel, buf, count, bytes_written, error)&\n& bind(c)\n  import :: c_int, c_ptr, c_char, c_size_t\n  implicit none\n  integer(c_int) :: g_io_channel_write_chars\n  type(c_ptr), value :: channel\n  character(kind=c_char), dimension(*) :: buf\n  integer(c_size_t), value :: count\n  type(c_ptr), value :: bytes_written\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GIOStatus g_io_channel_write_unichar (GIOChannel *channel, gunichar thechar, GError **error);\nfunction g_io_channel_write_unichar(channel, thechar, error) bind(c)\n  import :: c_int, c_ptr, c_int32_t\n  implicit none\n  integer(c_int) :: g_io_channel_write_unichar\n  type(c_ptr), value :: channel\n  integer(c_int32_t), value :: thechar\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GIOStatus g_io_channel_seek_position (GIOChannel *channel, gint64 offset, GSeekType type, GError **error);\nfunction g_io_channel_seek_position(channel, offset, type, error) bind(c)\n  import :: c_int, c_ptr, c_int64_t\n  implicit none\n  integer(c_int) :: g_io_channel_seek_position\n  type(c_ptr), value :: channel\n  integer(c_int64_t), value :: offset\n  integer(c_int), value :: type\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GIOChannel* g_io_channel_new_file (const gchar *filename, const gchar *mode, GError **error);\nfunction g_io_channel_new_file(filename, mode, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_io_channel_new_file\n  character(kind=c_char), dimension(*) :: filename\n  character(kind=c_char), dimension(*) :: mode\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GQuark g_io_channel_error_quark (void);\nfunction g_io_channel_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: g_io_channel_error_quark\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GIOChannelError g_io_channel_error_from_errno (gint en);\nfunction g_io_channel_error_from_errno(en) bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: g_io_channel_error_from_errno\n  integer(c_int), value :: en\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GIOChannel* g_io_channel_unix_new (int fd);\nfunction g_io_channel_unix_new(fd) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_io_channel_unix_new\n  integer(c_int), value :: fd\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_io_channel_unix_get_fd (GIOChannel *channel);\nfunction g_io_channel_unix_get_fd(channel) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_io_channel_unix_get_fd\n  type(c_ptr), value :: channel\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_io_channel_win32_make_pollfd (GIOChannel *channel, GIOCondition condition, GPollFD *fd);\nsubroutine g_io_channel_win32_make_pollfd(channel, condition, fd) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: channel\n  integer(c_int), value :: condition\n  type(c_ptr), value :: fd\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_io_channel_win32_poll (GPollFD *fds, gint n_fds, gint timeout_);\nfunction g_io_channel_win32_poll(fds, n_fds, timeout_) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_io_channel_win32_poll\n  type(c_ptr), value :: fds\n  integer(c_int), value :: n_fds\n  integer(c_int), value :: timeout_\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GIOChannel* g_io_channel_win32_new_fd (gint fd);\nfunction g_io_channel_win32_new_fd(fd) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_io_channel_win32_new_fd\n  integer(c_int), value :: fd\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_io_channel_win32_get_fd (GIOChannel *channel);\nfunction g_io_channel_win32_get_fd(channel) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_io_channel_win32_get_fd\n  type(c_ptr), value :: channel\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GIOChannel *g_io_channel_win32_new_socket (gint socket);\nfunction g_io_channel_win32_new_socket(socket) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_io_channel_win32_new_socket\n  integer(c_int), value :: socket\nend function\n\n! GLIB_DEPRECATED_FOR(g_io_channel_win32_new_socket)\n!GIOChannel *g_io_channel_win32_new_stream_socket (gint socket);\nfunction g_io_channel_win32_new_stream_socket(socket) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_io_channel_win32_new_stream_socket\n  integer(c_int), value :: socket\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_io_channel_win32_set_debug (GIOChannel *channel, gboolean flag);\nsubroutine g_io_channel_win32_set_debug(channel, flag) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: channel\n  integer(c_int), value :: flag\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gkeyfile.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!GQuark g_key_file_error_quark (void);\nfunction g_key_file_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: g_key_file_error_quark\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GKeyFile *g_key_file_new (void);\nfunction g_key_file_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_key_file_new\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GKeyFile *g_key_file_ref (GKeyFile *key_file);\nfunction g_key_file_ref(key_file) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_key_file_ref\n  type(c_ptr), value :: key_file\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_key_file_unref (GKeyFile *key_file);\nsubroutine g_key_file_unref(key_file) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: key_file\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_key_file_free (GKeyFile *key_file);\nsubroutine g_key_file_free(key_file) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: key_file\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_key_file_set_list_separator (GKeyFile *key_file, gchar separator);\nsubroutine g_key_file_set_list_separator(key_file, separator) bind(c)\n  import :: c_ptr, c_int8_t\n  implicit none\n  type(c_ptr), value :: key_file\n  integer(kind=c_int8_t), value :: separator\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_key_file_load_from_file (GKeyFile *key_file, const gchar *file, GKeyFileFlags flags, GError **error);\nfunction g_key_file_load_from_file(key_file, file, flags, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_key_file_load_from_file\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: file\n  integer(c_int), value :: flags\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_key_file_load_from_data (GKeyFile *key_file, const gchar *data, gsize length, GKeyFileFlags flags, GError **error);\nfunction g_key_file_load_from_data(key_file, data, length, flags, error)&\n& bind(c)\n  import :: c_int, c_ptr, c_char, c_size_t\n  implicit none\n  integer(c_int) :: g_key_file_load_from_data\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: data\n  integer(c_size_t), value :: length\n  integer(c_int), value :: flags\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_2_50\n!gboolean g_key_file_load_from_bytes (GKeyFile *key_file, GBytes *bytes, GKeyFileFlags flags, GError **error);\nfunction g_key_file_load_from_bytes(key_file, bytes, flags, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_key_file_load_from_bytes\n  type(c_ptr), value :: key_file\n  type(c_ptr), value :: bytes\n  integer(c_int), value :: flags\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_key_file_load_from_dirs (GKeyFile *key_file, const gchar *file, const gchar **search_dirs, gchar **full_path, GKeyFileFlags flags, GError **error);\nfunction g_key_file_load_from_dirs(key_file, file, search_dirs, full_path,&\n& flags, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_key_file_load_from_dirs\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: file\n  type(c_ptr), dimension(*) :: search_dirs\n  type(c_ptr), dimension(*) :: full_path\n  integer(c_int), value :: flags\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_key_file_load_from_data_dirs (GKeyFile *key_file, const gchar *file, gchar **full_path, GKeyFileFlags flags, GError **error);\nfunction g_key_file_load_from_data_dirs(key_file, file, full_path, flags,&\n& error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_key_file_load_from_data_dirs\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: file\n  type(c_ptr), dimension(*) :: full_path\n  integer(c_int), value :: flags\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar *g_key_file_to_data (GKeyFile *key_file, gsize *length, GError **error) ;\nfunction g_key_file_to_data(key_file, length, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_key_file_to_data\n  type(c_ptr), value :: key_file\n  type(c_ptr), value :: length\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_2_40\n!gboolean g_key_file_save_to_file (GKeyFile *key_file, const gchar *filename, GError **error);\nfunction g_key_file_save_to_file(key_file, filename, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_key_file_save_to_file\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: filename\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar *g_key_file_get_start_group (GKeyFile *key_file) ;\nfunction g_key_file_get_start_group(key_file) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_key_file_get_start_group\n  type(c_ptr), value :: key_file\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar **g_key_file_get_groups (GKeyFile *key_file, gsize *length);\nfunction g_key_file_get_groups(key_file, length) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_key_file_get_groups\n  type(c_ptr), value :: key_file\n  type(c_ptr), value :: length\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar **g_key_file_get_keys (GKeyFile *key_file, const gchar *group_name, gsize *length, GError **error);\nfunction g_key_file_get_keys(key_file, group_name, length, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_key_file_get_keys\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\n  type(c_ptr), value :: length\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_key_file_has_group (GKeyFile *key_file, const gchar *group_name);\nfunction g_key_file_has_group(key_file, group_name) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_key_file_has_group\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_key_file_has_key (GKeyFile *key_file, const gchar *group_name, const gchar *key, GError **error);\nfunction g_key_file_has_key(key_file, group_name, key, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_key_file_has_key\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\n  character(kind=c_char), dimension(*) :: key\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar *g_key_file_get_value (GKeyFile *key_file, const gchar *group_name, const gchar *key, GError **error) ;\nfunction g_key_file_get_value(key_file, group_name, key, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_key_file_get_value\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\n  character(kind=c_char), dimension(*) :: key\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_key_file_set_value (GKeyFile *key_file, const gchar *group_name, const gchar *key, const gchar *value);\nsubroutine g_key_file_set_value(key_file, group_name, key, value) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\n  character(kind=c_char), dimension(*) :: key\n  character(kind=c_char), dimension(*) :: value\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar *g_key_file_get_string (GKeyFile *key_file, const gchar *group_name, const gchar *key, GError **error) ;\nfunction g_key_file_get_string(key_file, group_name, key, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_key_file_get_string\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\n  character(kind=c_char), dimension(*) :: key\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_key_file_set_string (GKeyFile *key_file, const gchar *group_name, const gchar *key, const gchar *string);\nsubroutine g_key_file_set_string(key_file, group_name, key, string) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\n  character(kind=c_char), dimension(*) :: key\n  character(kind=c_char), dimension(*) :: string\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar *g_key_file_get_locale_string (GKeyFile *key_file, const gchar *group_name, const gchar *key, const gchar *locale, GError **error) ;\nfunction g_key_file_get_locale_string(key_file, group_name, key, locale, error)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_key_file_get_locale_string\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\n  character(kind=c_char), dimension(*) :: key\n  character(kind=c_char), dimension(*) :: locale\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_2_56\n!gchar *g_key_file_get_locale_for_key (GKeyFile *key_file, const gchar *group_name, const gchar *key, const gchar *locale) ;\nfunction g_key_file_get_locale_for_key(key_file, group_name, key, locale)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_key_file_get_locale_for_key\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\n  character(kind=c_char), dimension(*) :: key\n  character(kind=c_char), dimension(*) :: locale\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_key_file_set_locale_string (GKeyFile *key_file, const gchar *group_name, const gchar *key, const gchar *locale, const gchar *string);\nsubroutine g_key_file_set_locale_string(key_file, group_name, key, locale,&\n& string) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\n  character(kind=c_char), dimension(*) :: key\n  character(kind=c_char), dimension(*) :: locale\n  character(kind=c_char), dimension(*) :: string\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_key_file_get_boolean (GKeyFile *key_file, const gchar *group_name, const gchar *key, GError **error);\nfunction g_key_file_get_boolean(key_file, group_name, key, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_key_file_get_boolean\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\n  character(kind=c_char), dimension(*) :: key\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_key_file_set_boolean (GKeyFile *key_file, const gchar *group_name, const gchar *key, gboolean value);\nsubroutine g_key_file_set_boolean(key_file, group_name, key, value) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\n  character(kind=c_char), dimension(*) :: key\n  integer(c_int), value :: value\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_key_file_get_integer (GKeyFile *key_file, const gchar *group_name, const gchar *key, GError **error);\nfunction g_key_file_get_integer(key_file, group_name, key, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_key_file_get_integer\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\n  character(kind=c_char), dimension(*) :: key\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_key_file_set_integer (GKeyFile *key_file, const gchar *group_name, const gchar *key, gint value);\nsubroutine g_key_file_set_integer(key_file, group_name, key, value) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\n  character(kind=c_char), dimension(*) :: key\n  integer(c_int), value :: value\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gint64 g_key_file_get_int64 (GKeyFile *key_file, const gchar *group_name, const gchar *key, GError **error);\nfunction g_key_file_get_int64(key_file, group_name, key, error) bind(c)\n  import :: c_int64_t, c_ptr, c_char\n  implicit none\n  integer(c_int64_t) :: g_key_file_get_int64\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\n  character(kind=c_char), dimension(*) :: key\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_key_file_set_int64 (GKeyFile *key_file, const gchar *group_name, const gchar *key, gint64 value);\nsubroutine g_key_file_set_int64(key_file, group_name, key, value) bind(c)\n  import :: c_ptr, c_char, c_int64_t\n  implicit none\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\n  character(kind=c_char), dimension(*) :: key\n  integer(c_int64_t), value :: value\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!guint64 g_key_file_get_uint64 (GKeyFile *key_file, const gchar *group_name, const gchar *key, GError **error);\nfunction g_key_file_get_uint64(key_file, group_name, key, error) bind(c)\n  import :: c_int64_t, c_ptr, c_char\n  implicit none\n  integer(c_int64_t) :: g_key_file_get_uint64\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\n  character(kind=c_char), dimension(*) :: key\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_key_file_set_uint64 (GKeyFile *key_file, const gchar *group_name, const gchar *key, guint64 value);\nsubroutine g_key_file_set_uint64(key_file, group_name, key, value) bind(c)\n  import :: c_ptr, c_char, c_int64_t\n  implicit none\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\n  character(kind=c_char), dimension(*) :: key\n  integer(c_int64_t), value :: value\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gdouble g_key_file_get_double (GKeyFile *key_file, const gchar *group_name, const gchar *key, GError **error);\nfunction g_key_file_get_double(key_file, group_name, key, error) bind(c)\n  import :: c_double, c_ptr, c_char\n  implicit none\n  real(c_double) :: g_key_file_get_double\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\n  character(kind=c_char), dimension(*) :: key\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_key_file_set_double (GKeyFile *key_file, const gchar *group_name, const gchar *key, gdouble value);\nsubroutine g_key_file_set_double(key_file, group_name, key, value) bind(c)\n  import :: c_ptr, c_char, c_double\n  implicit none\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\n  character(kind=c_char), dimension(*) :: key\n  real(c_double), value :: value\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar **g_key_file_get_string_list (GKeyFile *key_file, const gchar *group_name, const gchar *key, gsize *length, GError **error);\nfunction g_key_file_get_string_list(key_file, group_name, key, length, error)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_key_file_get_string_list\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\n  character(kind=c_char), dimension(*) :: key\n  type(c_ptr), value :: length\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_key_file_set_string_list (GKeyFile *key_file, const gchar *group_name, const gchar *key, const gchar * const list[], gsize length);\nsubroutine g_key_file_set_string_list(key_file, group_name, key, list, length)&\n& bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\n  character(kind=c_char), dimension(*) :: key\n  character(kind=c_char), dimension(*) :: list\n  integer(c_size_t), value :: length\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar **g_key_file_get_locale_string_list (GKeyFile *key_file, const gchar *group_name, const gchar *key, const gchar *locale, gsize *length, GError **error);\nfunction g_key_file_get_locale_string_list(key_file, group_name, key, locale,&\n& length, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_key_file_get_locale_string_list\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\n  character(kind=c_char), dimension(*) :: key\n  character(kind=c_char), dimension(*) :: locale\n  type(c_ptr), value :: length\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_key_file_set_locale_string_list (GKeyFile *key_file, const gchar *group_name, const gchar *key, const gchar *locale, const gchar * const list[], gsize length);\nsubroutine g_key_file_set_locale_string_list(key_file, group_name, key, locale,&\n& list, length) bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\n  character(kind=c_char), dimension(*) :: key\n  character(kind=c_char), dimension(*) :: locale\n  character(kind=c_char), dimension(*) :: list\n  integer(c_size_t), value :: length\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean *g_key_file_get_boolean_list (GKeyFile *key_file, const gchar *group_name, const gchar *key, gsize *length, GError **error) ;\nfunction g_key_file_get_boolean_list(key_file, group_name, key, length, error)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_key_file_get_boolean_list\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\n  character(kind=c_char), dimension(*) :: key\n  type(c_ptr), value :: length\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_key_file_set_boolean_list (GKeyFile *key_file, const gchar *group_name, const gchar *key, gboolean list[], gsize length);\nsubroutine g_key_file_set_boolean_list(key_file, group_name, key, list, length)&\n& bind(c)\n  import :: c_ptr, c_char, c_int, c_size_t\n  implicit none\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\n  character(kind=c_char), dimension(*) :: key\n  integer(c_int), dimension(*) :: list\n  integer(c_size_t), value :: length\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gint *g_key_file_get_integer_list (GKeyFile *key_file, const gchar *group_name, const gchar *key, gsize *length, GError **error) ;\nfunction g_key_file_get_integer_list(key_file, group_name, key, length, error)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_key_file_get_integer_list\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\n  character(kind=c_char), dimension(*) :: key\n  type(c_ptr), value :: length\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_key_file_set_double_list (GKeyFile *key_file, const gchar *group_name, const gchar *key, gdouble list[], gsize length);\nsubroutine g_key_file_set_double_list(key_file, group_name, key, list, length)&\n& bind(c)\n  import :: c_ptr, c_char, c_double, c_size_t\n  implicit none\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\n  character(kind=c_char), dimension(*) :: key\n  real(c_double), dimension(*) :: list\n  integer(c_size_t), value :: length\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gdouble *g_key_file_get_double_list (GKeyFile *key_file, const gchar *group_name, const gchar *key, gsize *length, GError **error) ;\nfunction g_key_file_get_double_list(key_file, group_name, key, length, error)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_key_file_get_double_list\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\n  character(kind=c_char), dimension(*) :: key\n  type(c_ptr), value :: length\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_key_file_set_integer_list (GKeyFile *key_file, const gchar *group_name, const gchar *key, gint list[], gsize length);\nsubroutine g_key_file_set_integer_list(key_file, group_name, key, list, length)&\n& bind(c)\n  import :: c_ptr, c_char, c_int, c_size_t\n  implicit none\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\n  character(kind=c_char), dimension(*) :: key\n  integer(c_int), dimension(*) :: list\n  integer(c_size_t), value :: length\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_key_file_set_comment (GKeyFile *key_file, const gchar *group_name, const gchar *key, const gchar *comment, GError **error);\nfunction g_key_file_set_comment(key_file, group_name, key, comment, error)&\n& bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_key_file_set_comment\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\n  character(kind=c_char), dimension(*) :: key\n  character(kind=c_char), dimension(*) :: comment\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar *g_key_file_get_comment (GKeyFile *key_file, const gchar *group_name, const gchar *key, GError **error) ;\nfunction g_key_file_get_comment(key_file, group_name, key, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_key_file_get_comment\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\n  character(kind=c_char), dimension(*) :: key\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_key_file_remove_comment (GKeyFile *key_file, const gchar *group_name, const gchar *key, GError **error);\nfunction g_key_file_remove_comment(key_file, group_name, key, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_key_file_remove_comment\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\n  character(kind=c_char), dimension(*) :: key\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_key_file_remove_key (GKeyFile *key_file, const gchar *group_name, const gchar *key, GError **error);\nfunction g_key_file_remove_key(key_file, group_name, key, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_key_file_remove_key\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\n  character(kind=c_char), dimension(*) :: key\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_key_file_remove_group (GKeyFile *key_file, const gchar *group_name, GError **error);\nfunction g_key_file_remove_group(key_file, group_name, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_key_file_remove_group\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/glib-autocleanups.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/glib-typeof.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/glib-visibility.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/glist.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!GList* g_list_alloc (void) ;\nfunction g_list_alloc() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_list_alloc\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_list_free (GList *list);\nsubroutine g_list_free(list) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: list\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_list_free_1 (GList *list);\nsubroutine g_list_free_1(list) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: list\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_list_free_full (GList *list, GDestroyNotify free_func);\nsubroutine g_list_free_full(list, free_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: list\n  type(c_funptr), value :: free_func\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GList* g_list_append (GList *list, gpointer data) ;\nfunction g_list_append(list, data) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_list_append\n  type(c_ptr), value :: list\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GList* g_list_prepend (GList *list, gpointer data) ;\nfunction g_list_prepend(list, data) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_list_prepend\n  type(c_ptr), value :: list\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GList* g_list_insert (GList *list, gpointer data, gint position) ;\nfunction g_list_insert(list, data, position) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_list_insert\n  type(c_ptr), value :: list\n  type(c_ptr), value :: data\n  integer(c_int), value :: position\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GList* g_list_insert_sorted (GList *list, gpointer data, GCompareFunc func) ;\nfunction g_list_insert_sorted(list, data, func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_list_insert_sorted\n  type(c_ptr), value :: list\n  type(c_ptr), value :: data\n  type(c_funptr), value :: func\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GList* g_list_insert_sorted_with_data (GList *list, gpointer data, GCompareDataFunc func, gpointer user_data) ;\nfunction g_list_insert_sorted_with_data(list, data, func, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_list_insert_sorted_with_data\n  type(c_ptr), value :: list\n  type(c_ptr), value :: data\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GList* g_list_insert_before (GList *list, GList *sibling, gpointer data) ;\nfunction g_list_insert_before(list, sibling, data) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_list_insert_before\n  type(c_ptr), value :: list\n  type(c_ptr), value :: sibling\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_2_62\n!GList* g_list_insert_before_link (GList *list, GList *sibling, GList *link_) ;\nfunction g_list_insert_before_link(list, sibling, link_) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_list_insert_before_link\n  type(c_ptr), value :: list\n  type(c_ptr), value :: sibling\n  type(c_ptr), value :: link_\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GList* g_list_concat (GList *list1, GList *list2) ;\nfunction g_list_concat(list1, list2) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_list_concat\n  type(c_ptr), value :: list1\n  type(c_ptr), value :: list2\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GList* g_list_remove (GList *list, gconstpointer data) ;\nfunction g_list_remove(list, data) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_list_remove\n  type(c_ptr), value :: list\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GList* g_list_remove_all (GList *list, gconstpointer data) ;\nfunction g_list_remove_all(list, data) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_list_remove_all\n  type(c_ptr), value :: list\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GList* g_list_remove_link (GList *list, GList *llink) ;\nfunction g_list_remove_link(list, llink) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_list_remove_link\n  type(c_ptr), value :: list\n  type(c_ptr), value :: llink\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GList* g_list_delete_link (GList *list, GList *link_) ;\nfunction g_list_delete_link(list, link_) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_list_delete_link\n  type(c_ptr), value :: list\n  type(c_ptr), value :: link_\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GList* g_list_reverse (GList *list) ;\nfunction g_list_reverse(list) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_list_reverse\n  type(c_ptr), value :: list\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GList* g_list_copy (GList *list) ;\nfunction g_list_copy(list) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_list_copy\n  type(c_ptr), value :: list\nend function\n\n! GLIB_AVAILABLE_IN_2_34\n!GList* g_list_copy_deep (GList *list, GCopyFunc func, gpointer user_data) ;\nfunction g_list_copy_deep(list, func, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_list_copy_deep\n  type(c_ptr), value :: list\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GList* g_list_nth (GList *list, guint n);\nfunction g_list_nth(list, n) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_list_nth\n  type(c_ptr), value :: list\n  integer(c_int), value :: n\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GList* g_list_nth_prev (GList *list, guint n);\nfunction g_list_nth_prev(list, n) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_list_nth_prev\n  type(c_ptr), value :: list\n  integer(c_int), value :: n\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GList* g_list_find (GList *list, gconstpointer data);\nfunction g_list_find(list, data) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_list_find\n  type(c_ptr), value :: list\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GList* g_list_find_custom (GList *list, gconstpointer data, GCompareFunc func);\nfunction g_list_find_custom(list, data, func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_list_find_custom\n  type(c_ptr), value :: list\n  type(c_ptr), value :: data\n  type(c_funptr), value :: func\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_list_position (GList *list, GList *llink);\nfunction g_list_position(list, llink) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_list_position\n  type(c_ptr), value :: list\n  type(c_ptr), value :: llink\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_list_index (GList *list, gconstpointer data);\nfunction g_list_index(list, data) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_list_index\n  type(c_ptr), value :: list\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GList* g_list_last (GList *list);\nfunction g_list_last(list) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_list_last\n  type(c_ptr), value :: list\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GList* g_list_first (GList *list);\nfunction g_list_first(list) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_list_first\n  type(c_ptr), value :: list\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_list_length (GList *list);\nfunction g_list_length(list) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_list_length\n  type(c_ptr), value :: list\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_list_foreach (GList *list, GFunc func, gpointer user_data);\nsubroutine g_list_foreach(list, func, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: list\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GList* g_list_sort (GList *list, GCompareFunc compare_func) ;\nfunction g_list_sort(list, compare_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_list_sort\n  type(c_ptr), value :: list\n  type(c_funptr), value :: compare_func\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GList* g_list_sort_with_data (GList *list, GCompareDataFunc compare_func, gpointer user_data) ;\nfunction g_list_sort_with_data(list, compare_func, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_list_sort_with_data\n  type(c_ptr), value :: list\n  type(c_funptr), value :: compare_func\n  type(c_ptr), value :: user_data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_list_nth_data (GList *list, guint n);\nfunction g_list_nth_data(list, n) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_list_nth_data\n  type(c_ptr), value :: list\n  integer(c_int), value :: n\nend function\n\n! GLIB_AVAILABLE_IN_2_64\n!void g_clear_list (GList **list_ptr, GDestroyNotify destroy);\nsubroutine g_clear_list(list_ptr, destroy) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: list_ptr\n  type(c_funptr), value :: destroy\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gmacros.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gmain.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!GLIB_AVAILABLE_TYPE_IN_2_72 GLIB_AVAILABLE_TYPE_IN_2_64 GMainContext *g_main_context_new (void);\nfunction g_main_context_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_main_context_new\nend function\n\n! GLIB_AVAILABLE_IN_2_72\n!GMainContext *g_main_context_new_with_flags (GMainContextFlags flags);\nfunction g_main_context_new_with_flags(flags) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_main_context_new_with_flags\n  integer(c_int), value :: flags\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GMainContext *g_main_context_ref (GMainContext *context);\nfunction g_main_context_ref(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_main_context_ref\n  type(c_ptr), value :: context\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_main_context_unref (GMainContext *context);\nsubroutine g_main_context_unref(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GMainContext *g_main_context_default (void);\nfunction g_main_context_default() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_main_context_default\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_main_context_iteration (GMainContext *context, gboolean may_block);\nfunction g_main_context_iteration(context, may_block) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_main_context_iteration\n  type(c_ptr), value :: context\n  integer(c_int), value :: may_block\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_main_context_pending (GMainContext *context);\nfunction g_main_context_pending(context) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_main_context_pending\n  type(c_ptr), value :: context\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSource *g_main_context_find_source_by_id (GMainContext *context, guint source_id);\nfunction g_main_context_find_source_by_id(context, source_id) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_main_context_find_source_by_id\n  type(c_ptr), value :: context\n  integer(c_int), value :: source_id\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSource *g_main_context_find_source_by_user_data (GMainContext *context, gpointer user_data);\nfunction g_main_context_find_source_by_user_data(context, user_data) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_main_context_find_source_by_user_data\n  type(c_ptr), value :: context\n  type(c_ptr), value :: user_data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSource *g_main_context_find_source_by_funcs_user_data (GMainContext *context, GSourceFuncs *funcs, gpointer user_data);\nfunction g_main_context_find_source_by_funcs_user_data(context, funcs,&\n& user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_main_context_find_source_by_funcs_user_data\n  type(c_ptr), value :: context\n  type(c_funptr), value :: funcs\n  type(c_ptr), value :: user_data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_main_context_wakeup (GMainContext *context);\nsubroutine g_main_context_wakeup(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_main_context_acquire (GMainContext *context);\nfunction g_main_context_acquire(context) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_main_context_acquire\n  type(c_ptr), value :: context\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_main_context_release (GMainContext *context);\nsubroutine g_main_context_release(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_main_context_is_owner (GMainContext *context);\nfunction g_main_context_is_owner(context) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_main_context_is_owner\n  type(c_ptr), value :: context\nend function\n\n! GLIB_DEPRECATED_IN_2_58_FOR(g_main_context_is_owner)\n!gboolean g_main_context_wait (GMainContext *context, GCond *cond, GMutex *mutex);\nfunction g_main_context_wait(context, cond, mutex) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_main_context_wait\n  type(c_ptr), value :: context\n  type(c_ptr), value :: cond\n  type(c_ptr), value :: mutex\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_main_context_prepare (GMainContext *context, gint *priority);\nfunction g_main_context_prepare(context, priority) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_main_context_prepare\n  type(c_ptr), value :: context\n  type(c_ptr), value :: priority\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_main_context_query (GMainContext *context, gint max_priority, gint *timeout_, GPollFD *fds, gint n_fds);\nfunction g_main_context_query(context, max_priority, timeout_, fds, n_fds)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_main_context_query\n  type(c_ptr), value :: context\n  integer(c_int), value :: max_priority\n  type(c_ptr), value :: timeout_\n  type(c_ptr), value :: fds\n  integer(c_int), value :: n_fds\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_main_context_check (GMainContext *context, gint max_priority, GPollFD *fds, gint n_fds);\nfunction g_main_context_check(context, max_priority, fds, n_fds) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_main_context_check\n  type(c_ptr), value :: context\n  integer(c_int), value :: max_priority\n  type(c_ptr), value :: fds\n  integer(c_int), value :: n_fds\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_main_context_dispatch (GMainContext *context);\nsubroutine g_main_context_dispatch(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_main_context_set_poll_func (GMainContext *context, GPollFunc func);\nsubroutine g_main_context_set_poll_func(context, func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: context\n  type(c_funptr), value :: func\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GPollFunc g_main_context_get_poll_func (GMainContext *context);\nfunction g_main_context_get_poll_func(context) bind(c)\n  import :: c_funptr, c_ptr\n  implicit none\n  type(c_funptr) :: g_main_context_get_poll_func\n  type(c_ptr), value :: context\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_main_context_add_poll (GMainContext *context, GPollFD *fd, gint priority);\nsubroutine g_main_context_add_poll(context, fd, priority) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: fd\n  integer(c_int), value :: priority\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_main_context_remove_poll (GMainContext *context, GPollFD *fd);\nsubroutine g_main_context_remove_poll(context, fd) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: fd\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_main_depth (void);\nfunction g_main_depth() bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: g_main_depth\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSource *g_main_current_source (void);\nfunction g_main_current_source() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_main_current_source\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_main_context_push_thread_default (GMainContext *context);\nsubroutine g_main_context_push_thread_default(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_main_context_pop_thread_default (GMainContext *context);\nsubroutine g_main_context_pop_thread_default(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GMainContext *g_main_context_get_thread_default (void);\nfunction g_main_context_get_thread_default() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_main_context_get_thread_default\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GMainContext *g_main_context_ref_thread_default (void);\nfunction g_main_context_ref_thread_default() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_main_context_ref_thread_default\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GLIB_AVAILABLE_STATIC_INLINE_IN_2_64 GLIB_AVAILABLE_STATIC_INLINE_IN_2_64 GMainLoop *g_main_loop_new (GMainContext *context, gboolean is_running);\nfunction g_main_loop_new(context, is_running) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_main_loop_new\n  type(c_ptr), value :: context\n  integer(c_int), value :: is_running\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_main_loop_run (GMainLoop *loop);\nsubroutine g_main_loop_run(loop) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: loop\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_main_loop_quit (GMainLoop *loop);\nsubroutine g_main_loop_quit(loop) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: loop\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GMainLoop *g_main_loop_ref (GMainLoop *loop);\nfunction g_main_loop_ref(loop) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_main_loop_ref\n  type(c_ptr), value :: loop\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_main_loop_unref (GMainLoop *loop);\nsubroutine g_main_loop_unref(loop) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: loop\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_main_loop_is_running (GMainLoop *loop);\nfunction g_main_loop_is_running(loop) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_main_loop_is_running\n  type(c_ptr), value :: loop\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GMainContext *g_main_loop_get_context (GMainLoop *loop);\nfunction g_main_loop_get_context(loop) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_main_loop_get_context\n  type(c_ptr), value :: loop\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSource *g_source_new (GSourceFuncs *source_funcs, guint struct_size);\nfunction g_source_new(source_funcs, struct_size) bind(c)\n  import :: c_ptr, c_funptr, c_int\n  implicit none\n  type(c_ptr) :: g_source_new\n  type(c_funptr), value :: source_funcs\n  integer(c_int), value :: struct_size\nend function\n\n! GLIB_AVAILABLE_IN_2_64\n!void g_source_set_dispose_function (GSource *source, GSourceDisposeFunc dispose);\nsubroutine g_source_set_dispose_function(source, dispose) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: source\n  type(c_funptr), value :: dispose\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GSource *g_source_ref (GSource *source);\nfunction g_source_ref(source) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_source_ref\n  type(c_ptr), value :: source\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_source_unref (GSource *source);\nsubroutine g_source_unref(source) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: source\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_source_attach (GSource *source, GMainContext *context);\nfunction g_source_attach(source, context) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_source_attach\n  type(c_ptr), value :: source\n  type(c_ptr), value :: context\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_source_destroy (GSource *source);\nsubroutine g_source_destroy(source) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: source\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_source_set_priority (GSource *source, gint priority);\nsubroutine g_source_set_priority(source, priority) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: source\n  integer(c_int), value :: priority\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_source_get_priority (GSource *source);\nfunction g_source_get_priority(source) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_source_get_priority\n  type(c_ptr), value :: source\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_source_set_can_recurse (GSource *source, gboolean can_recurse);\nsubroutine g_source_set_can_recurse(source, can_recurse) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: source\n  integer(c_int), value :: can_recurse\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_source_get_can_recurse (GSource *source);\nfunction g_source_get_can_recurse(source) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_source_get_can_recurse\n  type(c_ptr), value :: source\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_source_get_id (GSource *source);\nfunction g_source_get_id(source) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_source_get_id\n  type(c_ptr), value :: source\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GMainContext *g_source_get_context (GSource *source);\nfunction g_source_get_context(source) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_source_get_context\n  type(c_ptr), value :: source\nend function\n\n! GLIB_AVAILABLE_IN_2_86\n!GMainContext *g_source_dup_context (GSource *source);\nfunction g_source_dup_context(source) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_source_dup_context\n  type(c_ptr), value :: source\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_source_set_callback (GSource *source, GSourceFunc func, gpointer data, GDestroyNotify notify);\nsubroutine g_source_set_callback(source, func, data, notify) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: source\n  type(c_funptr), value :: func\n  type(c_ptr), value :: data\n  type(c_funptr), value :: notify\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_source_set_funcs (GSource *source, GSourceFuncs *funcs);\nsubroutine g_source_set_funcs(source, funcs) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: source\n  type(c_funptr), value :: funcs\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_source_is_destroyed (GSource *source);\nfunction g_source_is_destroyed(source) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_source_is_destroyed\n  type(c_ptr), value :: source\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_source_set_name (GSource *source, const char *name);\nsubroutine g_source_set_name(source, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: source\n  character(kind=c_char), dimension(*) :: name\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_70\n!void g_source_set_static_name (GSource *source, const char *name);\nsubroutine g_source_set_static_name(source, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: source\n  character(kind=c_char), dimension(*) :: name\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!const char * g_source_get_name (GSource *source);\nfunction g_source_get_name(source) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_source_get_name\n  type(c_ptr), value :: source\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_source_set_name_by_id (guint tag, const char *name);\nsubroutine g_source_set_name_by_id(tag, name) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int), value :: tag\n  character(kind=c_char), dimension(*) :: name\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_36\n!void g_source_set_ready_time (GSource *source, gint64 ready_time);\nsubroutine g_source_set_ready_time(source, ready_time) bind(c)\n  import :: c_ptr, c_int64_t\n  implicit none\n  type(c_ptr), value :: source\n  integer(c_int64_t), value :: ready_time\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_36\n!gint64 g_source_get_ready_time (GSource *source);\nfunction g_source_get_ready_time(source) bind(c)\n  import :: c_int64_t, c_ptr\n  implicit none\n  integer(c_int64_t) :: g_source_get_ready_time\n  type(c_ptr), value :: source\nend function\n\n! GLIB_AVAILABLE_IN_2_36\n!gpointer g_source_add_unix_fd (GSource *source, gint fd, GIOCondition events);\nfunction g_source_add_unix_fd(source, fd, events) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_source_add_unix_fd\n  type(c_ptr), value :: source\n  integer(c_int), value :: fd\n  integer(c_int), value :: events\nend function\n\n! GLIB_AVAILABLE_IN_2_36\n!void g_source_modify_unix_fd (GSource *source, gpointer tag, GIOCondition new_events);\nsubroutine g_source_modify_unix_fd(source, tag, new_events) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: source\n  type(c_ptr), value :: tag\n  integer(c_int), value :: new_events\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_36\n!void g_source_remove_unix_fd (GSource *source, gpointer tag);\nsubroutine g_source_remove_unix_fd(source, tag) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: source\n  type(c_ptr), value :: tag\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_36\n!GIOCondition g_source_query_unix_fd (GSource *source, gpointer tag);\nfunction g_source_query_unix_fd(source, tag) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_source_query_unix_fd\n  type(c_ptr), value :: source\n  type(c_ptr), value :: tag\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_source_set_callback_indirect (GSource *source, gpointer callback_data, GSourceCallbackFuncs *callback_funcs);\nsubroutine g_source_set_callback_indirect(source, callback_data,&\n& callback_funcs) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: source\n  type(c_ptr), value :: callback_data\n  type(c_ptr), value :: callback_funcs\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_source_add_poll (GSource *source, GPollFD *fd);\nsubroutine g_source_add_poll(source, fd) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: source\n  type(c_ptr), value :: fd\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_source_remove_poll (GSource *source, GPollFD *fd);\nsubroutine g_source_remove_poll(source, fd) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: source\n  type(c_ptr), value :: fd\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_source_add_child_source (GSource *source, GSource *child_source);\nsubroutine g_source_add_child_source(source, child_source) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: source\n  type(c_ptr), value :: child_source\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_source_remove_child_source (GSource *source, GSource *child_source);\nsubroutine g_source_remove_child_source(source, child_source) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: source\n  type(c_ptr), value :: child_source\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_28_FOR(g_source_get_time)\n!void g_source_get_current_time (GSource *source, GTimeVal *timeval);\nsubroutine g_source_get_current_time(source, timeval) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: source\n  type(c_ptr), value :: timeval\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gint64 g_source_get_time (GSource *source);\nfunction g_source_get_time(source) bind(c)\n  import :: c_int64_t, c_ptr\n  implicit none\n  integer(c_int64_t) :: g_source_get_time\n  type(c_ptr), value :: source\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSource *g_idle_source_new (void);\nfunction g_idle_source_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_idle_source_new\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSource *g_child_watch_source_new (GPid pid);\nfunction g_child_watch_source_new(pid) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_child_watch_source_new\n  integer(c_int), value :: pid\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSource *g_timeout_source_new (guint interval);\nfunction g_timeout_source_new(interval) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_timeout_source_new\n  integer(c_int), value :: interval\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSource *g_timeout_source_new_seconds (guint interval);\nfunction g_timeout_source_new_seconds(interval) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_timeout_source_new_seconds\n  integer(c_int), value :: interval\nend function\n\n! GLIB_DEPRECATED_IN_2_62_FOR(g_get_real_time)\n!void g_get_current_time (GTimeVal *result);\nsubroutine g_get_current_time(result) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: result\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gint64 g_get_monotonic_time (void);\nfunction g_get_monotonic_time() bind(c)\n  import :: c_int64_t\n  implicit none\n  integer(c_int64_t) :: g_get_monotonic_time\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint64 g_get_real_time (void);\nfunction g_get_real_time() bind(c)\n  import :: c_int64_t\n  implicit none\n  integer(c_int64_t) :: g_get_real_time\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_source_remove (guint tag);\nfunction g_source_remove(tag) bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: g_source_remove\n  integer(c_int), value :: tag\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_source_remove_by_user_data (gpointer user_data);\nfunction g_source_remove_by_user_data(user_data) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_source_remove_by_user_data\n  type(c_ptr), value :: user_data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_source_remove_by_funcs_user_data (GSourceFuncs *funcs, gpointer user_data);\nfunction g_source_remove_by_funcs_user_data(funcs, user_data) bind(c)\n  import :: c_int, c_funptr, c_ptr\n  implicit none\n  integer(c_int) :: g_source_remove_by_funcs_user_data\n  type(c_funptr), value :: funcs\n  type(c_ptr), value :: user_data\nend function\n\n! GLIB_AVAILABLE_IN_2_56\n!void g_clear_handle_id (guint *tag_ptr, GClearHandleFunc clear_func);\nsubroutine g_clear_handle_id(tag_ptr, clear_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: tag_ptr\n  type(c_funptr), value :: clear_func\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_timeout_add (guint interval, GSourceFunc function, gpointer data);\nfunction g_timeout_add(interval, function, data) bind(c)\n  import :: c_int, c_funptr, c_ptr\n  implicit none\n  integer(c_int) :: g_timeout_add\n  integer(c_int), value :: interval\n  type(c_funptr), value :: function\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_2_74\n!guint g_timeout_add_once (guint interval, GSourceOnceFunc function, gpointer data);\nfunction g_timeout_add_once(interval, function, data) bind(c)\n  import :: c_int, c_funptr, c_ptr\n  implicit none\n  integer(c_int) :: g_timeout_add_once\n  integer(c_int), value :: interval\n  type(c_funptr), value :: function\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_timeout_add_seconds_full (gint priority, guint interval, GSourceFunc function, gpointer data, GDestroyNotify notify);\nfunction g_timeout_add_seconds_full(priority, interval, function, data, notify)&\n& bind(c)\n  import :: c_int, c_funptr, c_ptr\n  implicit none\n  integer(c_int) :: g_timeout_add_seconds_full\n  integer(c_int), value :: priority\n  integer(c_int), value :: interval\n  type(c_funptr), value :: function\n  type(c_ptr), value :: data\n  type(c_funptr), value :: notify\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_timeout_add_seconds (guint interval, GSourceFunc function, gpointer data);\nfunction g_timeout_add_seconds(interval, function, data) bind(c)\n  import :: c_int, c_funptr, c_ptr\n  implicit none\n  integer(c_int) :: g_timeout_add_seconds\n  integer(c_int), value :: interval\n  type(c_funptr), value :: function\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_2_78\n!guint g_timeout_add_seconds_once (guint interval, GSourceOnceFunc function, gpointer data);\nfunction g_timeout_add_seconds_once(interval, function, data) bind(c)\n  import :: c_int, c_funptr, c_ptr\n  implicit none\n  integer(c_int) :: g_timeout_add_seconds_once\n  integer(c_int), value :: interval\n  type(c_funptr), value :: function\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_child_watch_add_full (gint priority, GPid pid, GChildWatchFunc function, gpointer data, GDestroyNotify notify);\nfunction g_child_watch_add_full(priority, pid, function, data, notify) bind(c)\n  import :: c_int, c_funptr, c_ptr\n  implicit none\n  integer(c_int) :: g_child_watch_add_full\n  integer(c_int), value :: priority\n  integer(c_int), value :: pid\n  type(c_funptr), value :: function\n  type(c_ptr), value :: data\n  type(c_funptr), value :: notify\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_child_watch_add (GPid pid, GChildWatchFunc function, gpointer data);\nfunction g_child_watch_add(pid, function, data) bind(c)\n  import :: c_int, c_funptr, c_ptr\n  implicit none\n  integer(c_int) :: g_child_watch_add\n  integer(c_int), value :: pid\n  type(c_funptr), value :: function\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_idle_add (GSourceFunc function, gpointer data);\nfunction g_idle_add(function, data) bind(c)\n  import :: c_int, c_funptr, c_ptr\n  implicit none\n  integer(c_int) :: g_idle_add\n  type(c_funptr), value :: function\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_idle_add_full (gint priority, GSourceFunc function, gpointer data, GDestroyNotify notify);\nfunction g_idle_add_full(priority, function, data, notify) bind(c)\n  import :: c_int, c_funptr, c_ptr\n  implicit none\n  integer(c_int) :: g_idle_add_full\n  integer(c_int), value :: priority\n  type(c_funptr), value :: function\n  type(c_ptr), value :: data\n  type(c_funptr), value :: notify\nend function\n\n! GLIB_AVAILABLE_IN_2_74\n!guint g_idle_add_once (GSourceOnceFunc function, gpointer data);\nfunction g_idle_add_once(function, data) bind(c)\n  import :: c_int, c_funptr, c_ptr\n  implicit none\n  integer(c_int) :: g_idle_add_once\n  type(c_funptr), value :: function\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_idle_remove_by_data (gpointer data);\nfunction g_idle_remove_by_data(data) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_idle_remove_by_data\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_main_context_invoke_full (GMainContext *context, gint priority, GSourceFunc function, gpointer data, GDestroyNotify notify);\nsubroutine g_main_context_invoke_full(context, priority, function, data,&\n& notify) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: context\n  integer(c_int), value :: priority\n  type(c_funptr), value :: function\n  type(c_ptr), value :: data\n  type(c_funptr), value :: notify\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_main_context_invoke (GMainContext *context, GSourceFunc function, gpointer data);\nsubroutine g_main_context_invoke(context, function, data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: context\n  type(c_funptr), value :: function\n  type(c_ptr), value :: data\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gmappedfile.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!GMappedFile *g_mapped_file_new (const gchar *filename, gboolean writable, GError **error);\nfunction g_mapped_file_new(filename, writable, error) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_mapped_file_new\n  character(kind=c_char), dimension(*) :: filename\n  integer(c_int), value :: writable\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GMappedFile *g_mapped_file_new_from_fd (gint fd, gboolean writable, GError **error);\nfunction g_mapped_file_new_from_fd(fd, writable, error) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_mapped_file_new_from_fd\n  integer(c_int), value :: fd\n  integer(c_int), value :: writable\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gsize g_mapped_file_get_length (GMappedFile *file);\nfunction g_mapped_file_get_length(file) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_mapped_file_get_length\n  type(c_ptr), value :: file\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar *g_mapped_file_get_contents (GMappedFile *file);\nfunction g_mapped_file_get_contents(file) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_mapped_file_get_contents\n  type(c_ptr), value :: file\nend function\n\n! GLIB_AVAILABLE_IN_2_34\n!GBytes * g_mapped_file_get_bytes (GMappedFile *file);\nfunction g_mapped_file_get_bytes(file) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_mapped_file_get_bytes\n  type(c_ptr), value :: file\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GMappedFile *g_mapped_file_ref (GMappedFile *file);\nfunction g_mapped_file_ref(file) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_mapped_file_ref\n  type(c_ptr), value :: file\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_mapped_file_unref (GMappedFile *file);\nsubroutine g_mapped_file_unref(file) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: file\nend subroutine\n\n! GLIB_DEPRECATED_FOR(g_mapped_file_unref)\n!void g_mapped_file_free (GMappedFile *file);\nsubroutine g_mapped_file_free(file) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: file\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gmarkup.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!GQuark g_markup_error_quark (void);\nfunction g_markup_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: g_markup_error_quark\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GMarkupParseContext *g_markup_parse_context_new (const GMarkupParser *parser, GMarkupParseFlags flags, gpointer user_data, GDestroyNotify user_data_dnotify);\nfunction g_markup_parse_context_new(parser, flags, user_data,&\n& user_data_dnotify) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr) :: g_markup_parse_context_new\n  type(c_ptr), value :: parser\n  integer(c_int), value :: flags\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: user_data_dnotify\nend function\n\n! GLIB_AVAILABLE_IN_2_36\n!GMarkupParseContext *g_markup_parse_context_ref (GMarkupParseContext *context);\nfunction g_markup_parse_context_ref(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_markup_parse_context_ref\n  type(c_ptr), value :: context\nend function\n\n! GLIB_AVAILABLE_IN_2_36\n!void g_markup_parse_context_unref (GMarkupParseContext *context);\nsubroutine g_markup_parse_context_unref(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_markup_parse_context_free (GMarkupParseContext *context);\nsubroutine g_markup_parse_context_free(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_markup_parse_context_parse (GMarkupParseContext *context, const gchar *text, gssize text_len, GError **error);\nfunction g_markup_parse_context_parse(context, text, text_len, error) bind(c)\n  import :: c_int, c_ptr, c_char, c_size_t\n  implicit none\n  integer(c_int) :: g_markup_parse_context_parse\n  type(c_ptr), value :: context\n  character(kind=c_char), dimension(*) :: text\n  integer(c_size_t), value :: text_len\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_markup_parse_context_push (GMarkupParseContext *context, const GMarkupParser *parser, gpointer user_data);\nsubroutine g_markup_parse_context_push(context, parser, user_data) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: parser\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_markup_parse_context_pop (GMarkupParseContext *context);\nfunction g_markup_parse_context_pop(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_markup_parse_context_pop\n  type(c_ptr), value :: context\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_markup_parse_context_end_parse (GMarkupParseContext *context, GError **error);\nfunction g_markup_parse_context_end_parse(context, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_markup_parse_context_end_parse\n  type(c_ptr), value :: context\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar * g_markup_parse_context_get_element (GMarkupParseContext *context);\nfunction g_markup_parse_context_get_element(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_markup_parse_context_get_element\n  type(c_ptr), value :: context\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const GSList * g_markup_parse_context_get_element_stack (GMarkupParseContext *context);\nfunction g_markup_parse_context_get_element_stack(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_markup_parse_context_get_element_stack\n  type(c_ptr), value :: context\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_markup_parse_context_get_position (GMarkupParseContext *context, gint *line_number, gint *char_number);\nsubroutine g_markup_parse_context_get_position(context, line_number,&\n& char_number) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: line_number\n  type(c_ptr), value :: char_number\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_markup_parse_context_get_user_data (GMarkupParseContext *context);\nfunction g_markup_parse_context_get_user_data(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_markup_parse_context_get_user_data\n  type(c_ptr), value :: context\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar* g_markup_escape_text (const gchar *text, gssize length);\nfunction g_markup_escape_text(text, length) bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr) :: g_markup_escape_text\n  character(kind=c_char), dimension(*) :: text\n  integer(c_size_t), value :: length\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar *g_markup_vprintf_escaped (const char *format, va_list args) ;\nfunction g_markup_vprintf_escaped(format, args) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_markup_vprintf_escaped\n  character(kind=c_char), dimension(*) :: format\n  type(c_ptr), value :: args\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gmem.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!void (g_free) (gpointer mem);\nsubroutine g_free(mem) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: mem\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_76\n!void g_free_sized (gpointer mem, size_t size);\nsubroutine g_free_sized(mem, size) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr), value :: mem\n  integer(c_size_t), value :: size\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_34\n!void g_clear_pointer (gpointer *pp, GDestroyNotify destroy);\nsubroutine g_clear_pointer(pp, destroy) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: pp\n  type(c_funptr), value :: destroy\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_malloc (gsize n_bytes) ;\nfunction g_malloc(n_bytes) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_malloc\n  integer(c_size_t), value :: n_bytes\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_malloc0 (gsize n_bytes) ;\nfunction g_malloc0(n_bytes) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_malloc0\n  integer(c_size_t), value :: n_bytes\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_realloc (gpointer mem, gsize n_bytes) ;\nfunction g_realloc(mem, n_bytes) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_realloc\n  type(c_ptr), value :: mem\n  integer(c_size_t), value :: n_bytes\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_try_malloc (gsize n_bytes) ;\nfunction g_try_malloc(n_bytes) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_try_malloc\n  integer(c_size_t), value :: n_bytes\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_try_malloc0 (gsize n_bytes) ;\nfunction g_try_malloc0(n_bytes) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_try_malloc0\n  integer(c_size_t), value :: n_bytes\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_try_realloc (gpointer mem, gsize n_bytes) ;\nfunction g_try_realloc(mem, n_bytes) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_try_realloc\n  type(c_ptr), value :: mem\n  integer(c_size_t), value :: n_bytes\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_malloc_n (gsize n_blocks, gsize n_block_bytes) ;\nfunction g_malloc_n(n_blocks, n_block_bytes) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_malloc_n\n  integer(c_size_t), value :: n_blocks\n  integer(c_size_t), value :: n_block_bytes\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_malloc0_n (gsize n_blocks, gsize n_block_bytes) ;\nfunction g_malloc0_n(n_blocks, n_block_bytes) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_malloc0_n\n  integer(c_size_t), value :: n_blocks\n  integer(c_size_t), value :: n_block_bytes\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_realloc_n (gpointer mem, gsize n_blocks, gsize n_block_bytes) ;\nfunction g_realloc_n(mem, n_blocks, n_block_bytes) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_realloc_n\n  type(c_ptr), value :: mem\n  integer(c_size_t), value :: n_blocks\n  integer(c_size_t), value :: n_block_bytes\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_try_malloc_n (gsize n_blocks, gsize n_block_bytes) ;\nfunction g_try_malloc_n(n_blocks, n_block_bytes) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_try_malloc_n\n  integer(c_size_t), value :: n_blocks\n  integer(c_size_t), value :: n_block_bytes\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_try_malloc0_n (gsize n_blocks, gsize n_block_bytes) ;\nfunction g_try_malloc0_n(n_blocks, n_block_bytes) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_try_malloc0_n\n  integer(c_size_t), value :: n_blocks\n  integer(c_size_t), value :: n_block_bytes\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_try_realloc_n (gpointer mem, gsize n_blocks, gsize n_block_bytes) ;\nfunction g_try_realloc_n(mem, n_blocks, n_block_bytes) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_try_realloc_n\n  type(c_ptr), value :: mem\n  integer(c_size_t), value :: n_blocks\n  integer(c_size_t), value :: n_block_bytes\nend function\n\n! GLIB_AVAILABLE_IN_2_72\n!gpointer g_aligned_alloc (gsize n_blocks, gsize n_block_bytes, gsize alignment) ;\nfunction g_aligned_alloc(n_blocks, n_block_bytes, alignment) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_aligned_alloc\n  integer(c_size_t), value :: n_blocks\n  integer(c_size_t), value :: n_block_bytes\n  integer(c_size_t), value :: alignment\nend function\n\n! GLIB_AVAILABLE_IN_2_72\n!gpointer g_aligned_alloc0 (gsize n_blocks, gsize n_block_bytes, gsize alignment) ;\nfunction g_aligned_alloc0(n_blocks, n_block_bytes, alignment) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_aligned_alloc0\n  integer(c_size_t), value :: n_blocks\n  integer(c_size_t), value :: n_block_bytes\n  integer(c_size_t), value :: alignment\nend function\n\n! GLIB_AVAILABLE_IN_2_72\n!void g_aligned_free (gpointer mem);\nsubroutine g_aligned_free(mem) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: mem\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_76\n!void g_aligned_free_sized (gpointer mem, size_t alignment, size_t size);\nsubroutine g_aligned_free_sized(mem, alignment, size) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr), value :: mem\n  integer(c_size_t), value :: alignment\n  integer(c_size_t), value :: size\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_46\n!GLIB_AVAILABLE_STATIC_INLINE_IN_2_44 void g_mem_set_vtable (GMemVTable *vtable);\nsubroutine g_mem_set_vtable(vtable) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: vtable\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_46\n!gboolean g_mem_is_system_malloc (void);\nfunction g_mem_is_system_malloc() bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: g_mem_is_system_malloc\nend function\n\n! GLIB_DEPRECATED_IN_2_46\n!void g_mem_profile (void);\nsubroutine g_mem_profile() bind(c)\n  implicit none\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gmessages.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!gsize g_printf_string_upper_bound (const gchar* format, va_list args) ;\nfunction g_printf_string_upper_bound(format, args) bind(c)\n  import :: c_size_t, c_char, c_ptr\n  implicit none\n  integer(c_size_t) :: g_printf_string_upper_bound\n  character(kind=c_char), dimension(*) :: format\n  type(c_ptr), value :: args\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_log_set_handler (const gchar *log_domain, GLogLevelFlags log_levels, GLogFunc log_func, gpointer user_data);\nfunction g_log_set_handler(log_domain, log_levels, log_func, user_data) bind(c)\n  import :: c_int, c_char, c_funptr, c_ptr\n  implicit none\n  integer(c_int) :: g_log_set_handler\n  character(kind=c_char), dimension(*) :: log_domain\n  integer(c_int), value :: log_levels\n  type(c_funptr), value :: log_func\n  type(c_ptr), value :: user_data\nend function\n\n! GLIB_AVAILABLE_IN_2_46\n!guint g_log_set_handler_full (const gchar *log_domain, GLogLevelFlags log_levels, GLogFunc log_func, gpointer user_data, GDestroyNotify destroy);\nfunction g_log_set_handler_full(log_domain, log_levels, log_func, user_data,&\n& destroy) bind(c)\n  import :: c_int, c_char, c_funptr, c_ptr\n  implicit none\n  integer(c_int) :: g_log_set_handler_full\n  character(kind=c_char), dimension(*) :: log_domain\n  integer(c_int), value :: log_levels\n  type(c_funptr), value :: log_func\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: destroy\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_log_remove_handler (const gchar *log_domain, guint handler_id);\nsubroutine g_log_remove_handler(log_domain, handler_id) bind(c)\n  import :: c_char, c_int\n  implicit none\n  character(kind=c_char), dimension(*) :: log_domain\n  integer(c_int), value :: handler_id\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_log_default_handler (const gchar *log_domain, GLogLevelFlags log_level, const gchar *message, gpointer unused_data);\nsubroutine g_log_default_handler(log_domain, log_level, message, unused_data)&\n& bind(c)\n  import :: c_char, c_int, c_ptr\n  implicit none\n  character(kind=c_char), dimension(*) :: log_domain\n  integer(c_int), value :: log_level\n  character(kind=c_char), dimension(*) :: message\n  type(c_ptr), value :: unused_data\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GLogFunc g_log_set_default_handler (GLogFunc log_func, gpointer user_data);\nfunction g_log_set_default_handler(log_func, user_data) bind(c)\n  import :: c_funptr, c_ptr\n  implicit none\n  type(c_funptr) :: g_log_set_default_handler\n  type(c_funptr), value :: log_func\n  type(c_ptr), value :: user_data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_logv (const gchar *log_domain, GLogLevelFlags log_level, const gchar *format, va_list args) ;\nsubroutine g_logv(log_domain, log_level, format, args) bind(c)\n  import :: c_char, c_int, c_ptr\n  implicit none\n  character(kind=c_char), dimension(*) :: log_domain\n  integer(c_int), value :: log_level\n  character(kind=c_char), dimension(*) :: format\n  type(c_ptr), value :: args\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GLogLevelFlags g_log_set_fatal_mask (const gchar *log_domain, GLogLevelFlags fatal_mask);\nfunction g_log_set_fatal_mask(log_domain, fatal_mask) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_log_set_fatal_mask\n  character(kind=c_char), dimension(*) :: log_domain\n  integer(c_int), value :: fatal_mask\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GLogLevelFlags g_log_set_always_fatal (GLogLevelFlags fatal_mask);\nfunction g_log_set_always_fatal(fatal_mask) bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: g_log_set_always_fatal\n  integer(c_int), value :: fatal_mask\nend function\n\n! GLIB_AVAILABLE_IN_2_86\n!GLogLevelFlags g_log_get_always_fatal (void);\nfunction g_log_get_always_fatal() bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: g_log_get_always_fatal\nend function\n\n! GLIB_AVAILABLE_IN_2_50\n!void g_log_structured_array (GLogLevelFlags log_level, const GLogField *fields, gsize n_fields);\nsubroutine g_log_structured_array(log_level, fields, n_fields) bind(c)\n  import :: c_int, c_ptr, c_size_t\n  implicit none\n  integer(c_int), value :: log_level\n  type(c_ptr), value :: fields\n  integer(c_size_t), value :: n_fields\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_50\n!void g_log_variant (const gchar *log_domain, GLogLevelFlags log_level, GVariant *fields);\nsubroutine g_log_variant(log_domain, log_level, fields) bind(c)\n  import :: c_char, c_int, c_ptr\n  implicit none\n  character(kind=c_char), dimension(*) :: log_domain\n  integer(c_int), value :: log_level\n  type(c_ptr), value :: fields\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_50\n!void g_log_set_writer_func (GLogWriterFunc func, gpointer user_data, GDestroyNotify user_data_free);\nsubroutine g_log_set_writer_func(func, user_data, user_data_free) bind(c)\n  import :: c_funptr, c_ptr\n  implicit none\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: user_data_free\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_50\n!gboolean g_log_writer_supports_color (gint output_fd);\nfunction g_log_writer_supports_color(output_fd) bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: g_log_writer_supports_color\n  integer(c_int), value :: output_fd\nend function\n\n! GLIB_AVAILABLE_IN_2_50\n!gboolean g_log_writer_is_journald (gint output_fd);\nfunction g_log_writer_is_journald(output_fd) bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: g_log_writer_is_journald\n  integer(c_int), value :: output_fd\nend function\n\n! GLIB_AVAILABLE_IN_2_50\n!gchar *g_log_writer_format_fields (GLogLevelFlags log_level, const GLogField *fields, gsize n_fields, gboolean use_color);\nfunction g_log_writer_format_fields(log_level, fields, n_fields, use_color)&\n& bind(c)\n  import :: c_ptr, c_int, c_size_t\n  implicit none\n  type(c_ptr) :: g_log_writer_format_fields\n  integer(c_int), value :: log_level\n  type(c_ptr), value :: fields\n  integer(c_size_t), value :: n_fields\n  integer(c_int), value :: use_color\nend function\n\n! GLIB_AVAILABLE_IN_2_80\n!GLogWriterOutput g_log_writer_syslog (GLogLevelFlags log_level, const GLogField *fields, gsize n_fields, gpointer user_data);\nfunction g_log_writer_syslog(log_level, fields, n_fields, user_data) bind(c)\n  import :: c_int, c_ptr, c_size_t\n  implicit none\n  integer(c_int) :: g_log_writer_syslog\n  integer(c_int), value :: log_level\n  type(c_ptr), value :: fields\n  integer(c_size_t), value :: n_fields\n  type(c_ptr), value :: user_data\nend function\n\n! GLIB_AVAILABLE_IN_2_50\n!GLogWriterOutput g_log_writer_journald (GLogLevelFlags log_level, const GLogField *fields, gsize n_fields, gpointer user_data);\nfunction g_log_writer_journald(log_level, fields, n_fields, user_data) bind(c)\n  import :: c_int, c_ptr, c_size_t\n  implicit none\n  integer(c_int) :: g_log_writer_journald\n  integer(c_int), value :: log_level\n  type(c_ptr), value :: fields\n  integer(c_size_t), value :: n_fields\n  type(c_ptr), value :: user_data\nend function\n\n! GLIB_AVAILABLE_IN_2_50\n!GLogWriterOutput g_log_writer_standard_streams (GLogLevelFlags log_level, const GLogField *fields, gsize n_fields, gpointer user_data);\nfunction g_log_writer_standard_streams(log_level, fields, n_fields, user_data)&\n& bind(c)\n  import :: c_int, c_ptr, c_size_t\n  implicit none\n  integer(c_int) :: g_log_writer_standard_streams\n  integer(c_int), value :: log_level\n  type(c_ptr), value :: fields\n  integer(c_size_t), value :: n_fields\n  type(c_ptr), value :: user_data\nend function\n\n! GLIB_AVAILABLE_IN_2_50\n!GLogWriterOutput g_log_writer_default (GLogLevelFlags log_level, const GLogField *fields, gsize n_fields, gpointer user_data);\nfunction g_log_writer_default(log_level, fields, n_fields, user_data) bind(c)\n  import :: c_int, c_ptr, c_size_t\n  implicit none\n  integer(c_int) :: g_log_writer_default\n  integer(c_int), value :: log_level\n  type(c_ptr), value :: fields\n  integer(c_size_t), value :: n_fields\n  type(c_ptr), value :: user_data\nend function\n\n! GLIB_AVAILABLE_IN_2_68\n!void g_log_writer_default_set_use_stderr (gboolean use_stderr);\nsubroutine g_log_writer_default_set_use_stderr(use_stderr) bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int), value :: use_stderr\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_68\n!gboolean g_log_writer_default_would_drop (GLogLevelFlags log_level, const char *log_domain);\nfunction g_log_writer_default_would_drop(log_level, log_domain) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_log_writer_default_would_drop\n  integer(c_int), value :: log_level\n  character(kind=c_char), dimension(*) :: log_domain\nend function\n\n! GLIB_AVAILABLE_IN_2_80\n!void g_log_writer_default_set_debug_domains (const gchar * const *domains);\nsubroutine g_log_writer_default_set_debug_domains(domains) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), dimension(*) :: domains\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_72\n!gboolean g_log_get_debug_enabled (void);\nfunction g_log_get_debug_enabled() bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: g_log_get_debug_enabled\nend function\n\n! GLIB_AVAILABLE_IN_2_72\n!void g_log_set_debug_enabled (gboolean enabled);\nsubroutine g_log_set_debug_enabled(enabled) bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int), value :: enabled\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_return_if_fail_warning (const char *log_domain, const char *pretty_function, const char *expression) ;\nsubroutine g_return_if_fail_warning(log_domain, pretty_function, expression)&\n& bind(c)\n  import :: c_char\n  implicit none\n  character(kind=c_char), dimension(*) :: log_domain\n  character(kind=c_char), dimension(*) :: pretty_function\n  character(kind=c_char), dimension(*) :: expression\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_warn_message (const char *domain, const char *file, int line, const char *func, const char *warnexpr) ;\nsubroutine g_warn_message(domain, file, line, func, warnexpr) bind(c)\n  import :: c_char, c_int\n  implicit none\n  character(kind=c_char), dimension(*) :: domain\n  character(kind=c_char), dimension(*) :: file\n  integer(c_int), value :: line\n  character(kind=c_char), dimension(*) :: func\n  character(kind=c_char), dimension(*) :: warnexpr\nend subroutine\n\n! GLIB_DEPRECATED\n!G_NORETURN void g_assert_warning (const char *log_domain, const char *file, const int line, const char *pretty_function, const char *expression);\nsubroutine g_assert_warning(log_domain, file, line, pretty_function,&\n& expression) bind(c)\n  import :: c_char, c_int\n  implicit none\n  character(kind=c_char), dimension(*) :: log_domain\n  character(kind=c_char), dimension(*) :: file\n  integer(c_int), value :: line\n  character(kind=c_char), dimension(*) :: pretty_function\n  character(kind=c_char), dimension(*) :: expression\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GPrintFunc g_set_print_handler (GPrintFunc func);\nfunction g_set_print_handler(func) bind(c)\n  import :: c_funptr\n  implicit none\n  type(c_funptr) :: g_set_print_handler\n  type(c_funptr), value :: func\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GPrintFunc g_set_printerr_handler (GPrintFunc func);\nfunction g_set_printerr_handler(func) bind(c)\n  import :: c_funptr\n  implicit none\n  type(c_funptr) :: g_set_printerr_handler\n  type(c_funptr), value :: func\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gnode.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!GNode* g_node_new (gpointer data);\nfunction g_node_new(data) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_node_new\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_node_destroy (GNode *root);\nsubroutine g_node_destroy(root) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: root\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_node_unlink (GNode *node);\nsubroutine g_node_unlink(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: node\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GNode* g_node_copy_deep (GNode *node, GCopyFunc copy_func, gpointer data);\nfunction g_node_copy_deep(node, copy_func, data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_node_copy_deep\n  type(c_ptr), value :: node\n  type(c_funptr), value :: copy_func\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GNode* g_node_copy (GNode *node);\nfunction g_node_copy(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_node_copy\n  type(c_ptr), value :: node\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GNode* g_node_insert (GNode *parent, gint position, GNode *node);\nfunction g_node_insert(parent, position, node) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_node_insert\n  type(c_ptr), value :: parent\n  integer(c_int), value :: position\n  type(c_ptr), value :: node\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GNode* g_node_insert_before (GNode *parent, GNode *sibling, GNode *node);\nfunction g_node_insert_before(parent, sibling, node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_node_insert_before\n  type(c_ptr), value :: parent\n  type(c_ptr), value :: sibling\n  type(c_ptr), value :: node\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GNode* g_node_insert_after (GNode *parent, GNode *sibling, GNode *node);\nfunction g_node_insert_after(parent, sibling, node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_node_insert_after\n  type(c_ptr), value :: parent\n  type(c_ptr), value :: sibling\n  type(c_ptr), value :: node\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GNode* g_node_prepend (GNode *parent, GNode *node);\nfunction g_node_prepend(parent, node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_node_prepend\n  type(c_ptr), value :: parent\n  type(c_ptr), value :: node\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_node_n_nodes (GNode *root, GTraverseFlags flags);\nfunction g_node_n_nodes(root, flags) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_node_n_nodes\n  type(c_ptr), value :: root\n  integer(c_int), value :: flags\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GNode* g_node_get_root (GNode *node);\nfunction g_node_get_root(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_node_get_root\n  type(c_ptr), value :: node\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_node_is_ancestor (GNode *node, GNode *descendant);\nfunction g_node_is_ancestor(node, descendant) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_node_is_ancestor\n  type(c_ptr), value :: node\n  type(c_ptr), value :: descendant\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_node_depth (GNode *node);\nfunction g_node_depth(node) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_node_depth\n  type(c_ptr), value :: node\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GNode* g_node_find (GNode *root, GTraverseType order, GTraverseFlags flags, gpointer data);\nfunction g_node_find(root, order, flags, data) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_node_find\n  type(c_ptr), value :: root\n  integer(c_int), value :: order\n  integer(c_int), value :: flags\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_node_traverse (GNode *root, GTraverseType order, GTraverseFlags flags, gint max_depth, GNodeTraverseFunc func, gpointer data);\nsubroutine g_node_traverse(root, order, flags, max_depth, func, data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: root\n  integer(c_int), value :: order\n  integer(c_int), value :: flags\n  integer(c_int), value :: max_depth\n  type(c_funptr), value :: func\n  type(c_ptr), value :: data\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_node_max_height (GNode *root);\nfunction g_node_max_height(root) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_node_max_height\n  type(c_ptr), value :: root\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_node_children_foreach (GNode *node, GTraverseFlags flags, GNodeForeachFunc func, gpointer data);\nsubroutine g_node_children_foreach(node, flags, func, data) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: node\n  integer(c_int), value :: flags\n  type(c_funptr), value :: func\n  type(c_ptr), value :: data\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_node_reverse_children (GNode *node);\nsubroutine g_node_reverse_children(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: node\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_node_n_children (GNode *node);\nfunction g_node_n_children(node) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_node_n_children\n  type(c_ptr), value :: node\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GNode* g_node_nth_child (GNode *node, guint n);\nfunction g_node_nth_child(node, n) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_node_nth_child\n  type(c_ptr), value :: node\n  integer(c_int), value :: n\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GNode* g_node_last_child (GNode *node);\nfunction g_node_last_child(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_node_last_child\n  type(c_ptr), value :: node\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GNode* g_node_find_child (GNode *node, GTraverseFlags flags, gpointer data);\nfunction g_node_find_child(node, flags, data) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_node_find_child\n  type(c_ptr), value :: node\n  integer(c_int), value :: flags\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_node_child_position (GNode *node, GNode *child);\nfunction g_node_child_position(node, child) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_node_child_position\n  type(c_ptr), value :: node\n  type(c_ptr), value :: child\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_node_child_index (GNode *node, gpointer data);\nfunction g_node_child_index(node, data) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_node_child_index\n  type(c_ptr), value :: node\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GNode* g_node_first_sibling (GNode *node);\nfunction g_node_first_sibling(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_node_first_sibling\n  type(c_ptr), value :: node\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GNode* g_node_last_sibling (GNode *node);\nfunction g_node_last_sibling(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_node_last_sibling\n  type(c_ptr), value :: node\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/goption.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!GQuark g_option_error_quark (void);\nfunction g_option_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: g_option_error_quark\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GOptionContext *g_option_context_new (const gchar *parameter_string);\nfunction g_option_context_new(parameter_string) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_option_context_new\n  character(kind=c_char), dimension(*) :: parameter_string\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_option_context_set_summary (GOptionContext *context, const gchar *summary);\nsubroutine g_option_context_set_summary(context, summary) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: context\n  character(kind=c_char), dimension(*) :: summary\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar * g_option_context_get_summary (GOptionContext *context);\nfunction g_option_context_get_summary(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_option_context_get_summary\n  type(c_ptr), value :: context\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_option_context_set_description (GOptionContext *context, const gchar *description);\nsubroutine g_option_context_set_description(context, description) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: context\n  character(kind=c_char), dimension(*) :: description\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar * g_option_context_get_description (GOptionContext *context);\nfunction g_option_context_get_description(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_option_context_get_description\n  type(c_ptr), value :: context\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_option_context_free (GOptionContext *context);\nsubroutine g_option_context_free(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_option_context_set_help_enabled (GOptionContext *context, gboolean help_enabled);\nsubroutine g_option_context_set_help_enabled(context, help_enabled) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: context\n  integer(c_int), value :: help_enabled\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_option_context_get_help_enabled (GOptionContext *context);\nfunction g_option_context_get_help_enabled(context) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_option_context_get_help_enabled\n  type(c_ptr), value :: context\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_option_context_set_ignore_unknown_options (GOptionContext *context, gboolean ignore_unknown);\nsubroutine g_option_context_set_ignore_unknown_options(context, ignore_unknown)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: context\n  integer(c_int), value :: ignore_unknown\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_option_context_get_ignore_unknown_options (GOptionContext *context);\nfunction g_option_context_get_ignore_unknown_options(context) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_option_context_get_ignore_unknown_options\n  type(c_ptr), value :: context\nend function\n\n! GLIB_AVAILABLE_IN_2_44\n!void g_option_context_set_strict_posix (GOptionContext *context, gboolean strict_posix);\nsubroutine g_option_context_set_strict_posix(context, strict_posix) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: context\n  integer(c_int), value :: strict_posix\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_44\n!gboolean g_option_context_get_strict_posix (GOptionContext *context);\nfunction g_option_context_get_strict_posix(context) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_option_context_get_strict_posix\n  type(c_ptr), value :: context\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_option_context_add_main_entries (GOptionContext *context, const GOptionEntry *entries, const gchar *translation_domain);\nsubroutine g_option_context_add_main_entries(context, entries,&\n& translation_domain) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: entries\n  character(kind=c_char), dimension(*) :: translation_domain\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_option_context_parse (GOptionContext *context, gint *argc, gchar ***argv, GError **error);\nfunction g_option_context_parse(context, argc, argv, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_option_context_parse\n  type(c_ptr), value :: context\n  type(c_ptr), value :: argc\n  type(c_ptr), dimension(*) :: argv\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_2_40\n!gboolean g_option_context_parse_strv (GOptionContext *context, gchar ***arguments, GError **error);\nfunction g_option_context_parse_strv(context, arguments, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_option_context_parse_strv\n  type(c_ptr), value :: context\n  type(c_ptr), dimension(*) :: arguments\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_option_context_set_translate_func (GOptionContext *context, GTranslateFunc func, gpointer data, GDestroyNotify destroy_notify);\nsubroutine g_option_context_set_translate_func(context, func, data,&\n& destroy_notify) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: context\n  type(c_funptr), value :: func\n  type(c_ptr), value :: data\n  type(c_funptr), value :: destroy_notify\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_option_context_set_translation_domain (GOptionContext *context, const gchar *domain);\nsubroutine g_option_context_set_translation_domain(context, domain) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: context\n  character(kind=c_char), dimension(*) :: domain\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_option_context_add_group (GOptionContext *context, GOptionGroup *group);\nsubroutine g_option_context_add_group(context, group) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: group\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_option_context_set_main_group (GOptionContext *context, GOptionGroup *group);\nsubroutine g_option_context_set_main_group(context, group) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: group\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GOptionGroup *g_option_context_get_main_group (GOptionContext *context);\nfunction g_option_context_get_main_group(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_option_context_get_main_group\n  type(c_ptr), value :: context\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar *g_option_context_get_help (GOptionContext *context, gboolean main_help, GOptionGroup *group);\nfunction g_option_context_get_help(context, main_help, group) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_option_context_get_help\n  type(c_ptr), value :: context\n  integer(c_int), value :: main_help\n  type(c_ptr), value :: group\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GOptionGroup *g_option_group_new (const gchar *name, const gchar *description, const gchar *help_description, gpointer user_data, GDestroyNotify destroy);\nfunction g_option_group_new(name, description, help_description, user_data,&\n& destroy) bind(c)\n  import :: c_ptr, c_char, c_funptr\n  implicit none\n  type(c_ptr) :: g_option_group_new\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: description\n  character(kind=c_char), dimension(*) :: help_description\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: destroy\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_option_group_set_parse_hooks (GOptionGroup *group, GOptionParseFunc pre_parse_func, GOptionParseFunc post_parse_func);\nsubroutine g_option_group_set_parse_hooks(group, pre_parse_func,&\n& post_parse_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: group\n  type(c_funptr), value :: pre_parse_func\n  type(c_funptr), value :: post_parse_func\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_option_group_set_error_hook (GOptionGroup *group, GOptionErrorFunc error_func);\nsubroutine g_option_group_set_error_hook(group, error_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: group\n  type(c_funptr), value :: error_func\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_44\n!void g_option_group_free (GOptionGroup *group);\nsubroutine g_option_group_free(group) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: group\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_44\n!GOptionGroup *g_option_group_ref (GOptionGroup *group);\nfunction g_option_group_ref(group) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_option_group_ref\n  type(c_ptr), value :: group\nend function\n\n! GLIB_AVAILABLE_IN_2_44\n!void g_option_group_unref (GOptionGroup *group);\nsubroutine g_option_group_unref(group) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: group\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_option_group_add_entries (GOptionGroup *group, const GOptionEntry *entries);\nsubroutine g_option_group_add_entries(group, entries) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: group\n  type(c_ptr), value :: entries\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_option_group_set_translate_func (GOptionGroup *group, GTranslateFunc func, gpointer data, GDestroyNotify destroy_notify);\nsubroutine g_option_group_set_translate_func(group, func, data, destroy_notify)&\n& bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: group\n  type(c_funptr), value :: func\n  type(c_ptr), value :: data\n  type(c_funptr), value :: destroy_notify\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_option_group_set_translation_domain (GOptionGroup *group, const gchar *domain);\nsubroutine g_option_group_set_translation_domain(group, domain) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: group\n  character(kind=c_char), dimension(*) :: domain\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gpathbuf.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_2_76\n!GPathBuf * g_path_buf_new (void);\nfunction g_path_buf_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_path_buf_new\nend function\n\n! GLIB_AVAILABLE_IN_2_76\n!GPathBuf * g_path_buf_new_from_path (const char *path);\nfunction g_path_buf_new_from_path(path) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_path_buf_new_from_path\n  character(kind=c_char), dimension(*) :: path\nend function\n\n! GLIB_AVAILABLE_IN_2_76\n!GPathBuf * g_path_buf_init (GPathBuf *buf);\nfunction g_path_buf_init(buf) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_path_buf_init\n  type(c_ptr), value :: buf\nend function\n\n! GLIB_AVAILABLE_IN_2_76\n!GPathBuf * g_path_buf_init_from_path (GPathBuf *buf, const char *path);\nfunction g_path_buf_init_from_path(buf, path) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_path_buf_init_from_path\n  type(c_ptr), value :: buf\n  character(kind=c_char), dimension(*) :: path\nend function\n\n! GLIB_AVAILABLE_IN_2_76\n!void g_path_buf_clear (GPathBuf *buf);\nsubroutine g_path_buf_clear(buf) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: buf\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_76\n!char * g_path_buf_clear_to_path (GPathBuf *buf) ;\nfunction g_path_buf_clear_to_path(buf) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_path_buf_clear_to_path\n  type(c_ptr), value :: buf\nend function\n\n! GLIB_AVAILABLE_IN_2_76\n!void g_path_buf_free (GPathBuf *buf);\nsubroutine g_path_buf_free(buf) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: buf\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_76\n!char * g_path_buf_free_to_path (GPathBuf *buf) ;\nfunction g_path_buf_free_to_path(buf) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_path_buf_free_to_path\n  type(c_ptr), value :: buf\nend function\n\n! GLIB_AVAILABLE_IN_2_76\n!GPathBuf * g_path_buf_copy (GPathBuf *buf);\nfunction g_path_buf_copy(buf) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_path_buf_copy\n  type(c_ptr), value :: buf\nend function\n\n! GLIB_AVAILABLE_IN_2_76\n!GPathBuf * g_path_buf_push (GPathBuf *buf, const char *path);\nfunction g_path_buf_push(buf, path) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_path_buf_push\n  type(c_ptr), value :: buf\n  character(kind=c_char), dimension(*) :: path\nend function\n\n! GLIB_AVAILABLE_IN_2_76\n!gboolean g_path_buf_pop (GPathBuf *buf);\nfunction g_path_buf_pop(buf) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_path_buf_pop\n  type(c_ptr), value :: buf\nend function\n\n! GLIB_AVAILABLE_IN_2_76\n!gboolean g_path_buf_set_filename (GPathBuf *buf, const char *file_name);\nfunction g_path_buf_set_filename(buf, file_name) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_path_buf_set_filename\n  type(c_ptr), value :: buf\n  character(kind=c_char), dimension(*) :: file_name\nend function\n\n! GLIB_AVAILABLE_IN_2_76\n!gboolean g_path_buf_set_extension (GPathBuf *buf, const char *extension);\nfunction g_path_buf_set_extension(buf, extension) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_path_buf_set_extension\n  type(c_ptr), value :: buf\n  character(kind=c_char), dimension(*) :: extension\nend function\n\n! GLIB_AVAILABLE_IN_2_76\n!char * g_path_buf_to_path (GPathBuf *buf) ;\nfunction g_path_buf_to_path(buf) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_path_buf_to_path\n  type(c_ptr), value :: buf\nend function\n\n! GLIB_AVAILABLE_IN_2_76\n!gboolean g_path_buf_equal (gconstpointer v1, gconstpointer v2);\nfunction g_path_buf_equal(v1, v2) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_path_buf_equal\n  type(c_ptr), value :: v1\n  type(c_ptr), value :: v2\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gpattern.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!GPatternSpec* g_pattern_spec_new (const gchar *pattern);\nfunction g_pattern_spec_new(pattern) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_pattern_spec_new\n  character(kind=c_char), dimension(*) :: pattern\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_pattern_spec_free (GPatternSpec *pspec);\nsubroutine g_pattern_spec_free(pspec) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: pspec\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_70\n!GPatternSpec *g_pattern_spec_copy (GPatternSpec *pspec);\nfunction g_pattern_spec_copy(pspec) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_pattern_spec_copy\n  type(c_ptr), value :: pspec\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_pattern_spec_equal (GPatternSpec *pspec1, GPatternSpec *pspec2);\nfunction g_pattern_spec_equal(pspec1, pspec2) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_pattern_spec_equal\n  type(c_ptr), value :: pspec1\n  type(c_ptr), value :: pspec2\nend function\n\n! GLIB_AVAILABLE_IN_2_70\n!gboolean g_pattern_spec_match (GPatternSpec *pspec, gsize string_length, const gchar *string, const gchar *string_reversed);\nfunction g_pattern_spec_match(pspec, string_length, string, string_reversed)&\n& bind(c)\n  import :: c_int, c_ptr, c_size_t, c_char\n  implicit none\n  integer(c_int) :: g_pattern_spec_match\n  type(c_ptr), value :: pspec\n  integer(c_size_t), value :: string_length\n  character(kind=c_char), dimension(*) :: string\n  character(kind=c_char), dimension(*) :: string_reversed\nend function\n\n! GLIB_AVAILABLE_IN_2_70\n!gboolean g_pattern_spec_match_string (GPatternSpec *pspec, const gchar *string);\nfunction g_pattern_spec_match_string(pspec, string) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_pattern_spec_match_string\n  type(c_ptr), value :: pspec\n  character(kind=c_char), dimension(*) :: string\nend function\n\n! GLIB_DEPRECATED_IN_2_70_FOR (g_pattern_spec_match)\n!gboolean g_pattern_match (GPatternSpec *pspec, guint string_length, const gchar *string, const gchar *string_reversed);\nfunction g_pattern_match(pspec, string_length, string, string_reversed) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_pattern_match\n  type(c_ptr), value :: pspec\n  integer(c_int), value :: string_length\n  character(kind=c_char), dimension(*) :: string\n  character(kind=c_char), dimension(*) :: string_reversed\nend function\n\n! GLIB_DEPRECATED_IN_2_70_FOR (g_pattern_spec_match_string)\n!gboolean g_pattern_match_string (GPatternSpec *pspec, const gchar *string);\nfunction g_pattern_match_string(pspec, string) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_pattern_match_string\n  type(c_ptr), value :: pspec\n  character(kind=c_char), dimension(*) :: string\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_pattern_match_simple (const gchar *pattern, const gchar *string);\nfunction g_pattern_match_simple(pattern, string) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_pattern_match_simple\n  character(kind=c_char), dimension(*) :: pattern\n  character(kind=c_char), dimension(*) :: string\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gpoll.h\n!--------------------------------------------------\n! \n!gint g_poll (GPollFD *fds, guint nfds, gint timeout);\nfunction g_poll(fds, nfds, timeout) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_poll\n  type(c_ptr), value :: fds\n  integer(c_int), value :: nfds\n  integer(c_int), value :: timeout\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gprimes.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!guint g_spaced_primes_closest (guint num) ;\nfunction g_spaced_primes_closest(num) bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: g_spaced_primes_closest\n  integer(c_int), value :: num\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gprintf.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!gint g_vprintf (gchar const *format, va_list args) ;\nfunction g_vprintf(format, args) bind(c)\n  import :: c_int, c_char, c_ptr\n  implicit none\n  integer(c_int) :: g_vprintf\n  character(kind=c_char), dimension(*) :: format\n  type(c_ptr), value :: args\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_vfprintf (FILE *file, gchar const *format, va_list args) ;\nfunction g_vfprintf(file, format, args) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_vfprintf\n  type(c_ptr), value :: file\n  character(kind=c_char), dimension(*) :: format\n  type(c_ptr), value :: args\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_vsprintf (gchar *string, gchar const *format, va_list args) ;\nfunction g_vsprintf(string, format, args) bind(c)\n  import :: c_int, c_char, c_ptr\n  implicit none\n  integer(c_int) :: g_vsprintf\n  character(kind=c_char), dimension(*) :: string\n  character(kind=c_char), dimension(*) :: format\n  type(c_ptr), value :: args\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_vasprintf (gchar **string, gchar const *format, va_list args) ;\nfunction g_vasprintf(string, format, args) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_vasprintf\n  type(c_ptr), dimension(*) :: string\n  character(kind=c_char), dimension(*) :: format\n  type(c_ptr), value :: args\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gqsort.h\n!--------------------------------------------------\n! GLIB_DEPRECATED_IN_2_82_FOR(g_sort_array)\n!void g_qsort_with_data (gconstpointer pbase, gint total_elems, gsize size, GCompareDataFunc compare_func, gpointer user_data);\nsubroutine g_qsort_with_data(pbase, total_elems, size, compare_func, user_data)&\n& bind(c)\n  import :: c_ptr, c_int, c_size_t, c_funptr\n  implicit none\n  type(c_ptr), value :: pbase\n  integer(c_int), value :: total_elems\n  integer(c_size_t), value :: size\n  type(c_funptr), value :: compare_func\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_82\n!void g_sort_array (const void *array, size_t n_elements, size_t element_size, GCompareDataFunc compare_func, void *user_data);\nsubroutine g_sort_array(array, n_elements, element_size, compare_func,&\n& user_data) bind(c)\n  import :: c_ptr, c_size_t, c_funptr\n  implicit none\n  type(c_ptr), value :: array\n  integer(c_size_t), value :: n_elements\n  integer(c_size_t), value :: element_size\n  type(c_funptr), value :: compare_func\n  type(c_ptr), value :: user_data\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gquark.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!GQuark g_quark_try_string (const gchar *string);\nfunction g_quark_try_string(string) bind(c)\n  import :: c_int32_t, c_char\n  implicit none\n  integer(c_int32_t) :: g_quark_try_string\n  character(kind=c_char), dimension(*) :: string\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GQuark g_quark_from_static_string (const gchar *string);\nfunction g_quark_from_static_string(string) bind(c)\n  import :: c_int32_t, c_char\n  implicit none\n  integer(c_int32_t) :: g_quark_from_static_string\n  character(kind=c_char), dimension(*) :: string\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GQuark g_quark_from_string (const gchar *string);\nfunction g_quark_from_string(string) bind(c)\n  import :: c_int32_t, c_char\n  implicit none\n  integer(c_int32_t) :: g_quark_from_string\n  character(kind=c_char), dimension(*) :: string\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar * g_quark_to_string (GQuark quark) ;\nfunction g_quark_to_string(quark) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr) :: g_quark_to_string\n  integer(c_int32_t), value :: quark\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar * g_intern_string (const gchar *string);\nfunction g_intern_string(string) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_intern_string\n  character(kind=c_char), dimension(*) :: string\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar * g_intern_static_string (const gchar *string);\nfunction g_intern_static_string(string) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_intern_static_string\n  character(kind=c_char), dimension(*) :: string\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gqueue.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!GQueue* g_queue_new (void);\nfunction g_queue_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_queue_new\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_queue_free (GQueue *queue);\nsubroutine g_queue_free(queue) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: queue\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_queue_free_full (GQueue *queue, GDestroyNotify free_func);\nsubroutine g_queue_free_full(queue, free_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: queue\n  type(c_funptr), value :: free_func\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_queue_init (GQueue *queue);\nsubroutine g_queue_init(queue) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: queue\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_queue_clear (GQueue *queue);\nsubroutine g_queue_clear(queue) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: queue\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_queue_is_empty (GQueue *queue);\nfunction g_queue_is_empty(queue) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_queue_is_empty\n  type(c_ptr), value :: queue\nend function\n\n! GLIB_AVAILABLE_IN_2_60\n!void g_queue_clear_full (GQueue *queue, GDestroyNotify free_func);\nsubroutine g_queue_clear_full(queue, free_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: queue\n  type(c_funptr), value :: free_func\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_queue_get_length (GQueue *queue);\nfunction g_queue_get_length(queue) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_queue_get_length\n  type(c_ptr), value :: queue\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_queue_reverse (GQueue *queue);\nsubroutine g_queue_reverse(queue) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: queue\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GQueue * g_queue_copy (GQueue *queue);\nfunction g_queue_copy(queue) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_queue_copy\n  type(c_ptr), value :: queue\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_queue_foreach (GQueue *queue, GFunc func, gpointer user_data);\nsubroutine g_queue_foreach(queue, func, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: queue\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GList * g_queue_find (GQueue *queue, gconstpointer data);\nfunction g_queue_find(queue, data) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_queue_find\n  type(c_ptr), value :: queue\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GList * g_queue_find_custom (GQueue *queue, gconstpointer data, GCompareFunc func);\nfunction g_queue_find_custom(queue, data, func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_queue_find_custom\n  type(c_ptr), value :: queue\n  type(c_ptr), value :: data\n  type(c_funptr), value :: func\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_queue_sort (GQueue *queue, GCompareDataFunc compare_func, gpointer user_data);\nsubroutine g_queue_sort(queue, compare_func, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: queue\n  type(c_funptr), value :: compare_func\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_queue_push_head (GQueue *queue, gpointer data);\nsubroutine g_queue_push_head(queue, data) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: queue\n  type(c_ptr), value :: data\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_queue_push_tail (GQueue *queue, gpointer data);\nsubroutine g_queue_push_tail(queue, data) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: queue\n  type(c_ptr), value :: data\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_queue_push_nth (GQueue *queue, gpointer data, gint n);\nsubroutine g_queue_push_nth(queue, data, n) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: queue\n  type(c_ptr), value :: data\n  integer(c_int), value :: n\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_queue_pop_head (GQueue *queue);\nfunction g_queue_pop_head(queue) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_queue_pop_head\n  type(c_ptr), value :: queue\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_queue_pop_tail (GQueue *queue);\nfunction g_queue_pop_tail(queue) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_queue_pop_tail\n  type(c_ptr), value :: queue\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_queue_pop_nth (GQueue *queue, guint n);\nfunction g_queue_pop_nth(queue, n) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_queue_pop_nth\n  type(c_ptr), value :: queue\n  integer(c_int), value :: n\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_queue_peek_head (GQueue *queue);\nfunction g_queue_peek_head(queue) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_queue_peek_head\n  type(c_ptr), value :: queue\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_queue_peek_tail (GQueue *queue);\nfunction g_queue_peek_tail(queue) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_queue_peek_tail\n  type(c_ptr), value :: queue\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_queue_peek_nth (GQueue *queue, guint n);\nfunction g_queue_peek_nth(queue, n) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_queue_peek_nth\n  type(c_ptr), value :: queue\n  integer(c_int), value :: n\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_queue_index (GQueue *queue, gconstpointer data);\nfunction g_queue_index(queue, data) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_queue_index\n  type(c_ptr), value :: queue\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_queue_remove (GQueue *queue, gconstpointer data);\nfunction g_queue_remove(queue, data) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_queue_remove\n  type(c_ptr), value :: queue\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_queue_remove_all (GQueue *queue, gconstpointer data);\nfunction g_queue_remove_all(queue, data) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_queue_remove_all\n  type(c_ptr), value :: queue\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_queue_insert_before (GQueue *queue, GList *sibling, gpointer data);\nsubroutine g_queue_insert_before(queue, sibling, data) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: queue\n  type(c_ptr), value :: sibling\n  type(c_ptr), value :: data\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_62\n!void g_queue_insert_before_link (GQueue *queue, GList *sibling, GList *link_);\nsubroutine g_queue_insert_before_link(queue, sibling, link_) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: queue\n  type(c_ptr), value :: sibling\n  type(c_ptr), value :: link_\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_queue_insert_after (GQueue *queue, GList *sibling, gpointer data);\nsubroutine g_queue_insert_after(queue, sibling, data) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: queue\n  type(c_ptr), value :: sibling\n  type(c_ptr), value :: data\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_62\n!void g_queue_insert_after_link (GQueue *queue, GList *sibling, GList *link_);\nsubroutine g_queue_insert_after_link(queue, sibling, link_) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: queue\n  type(c_ptr), value :: sibling\n  type(c_ptr), value :: link_\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_queue_insert_sorted (GQueue *queue, gpointer data, GCompareDataFunc func, gpointer user_data);\nsubroutine g_queue_insert_sorted(queue, data, func, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: queue\n  type(c_ptr), value :: data\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_queue_push_head_link (GQueue *queue, GList *link_);\nsubroutine g_queue_push_head_link(queue, link_) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: queue\n  type(c_ptr), value :: link_\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_queue_push_tail_link (GQueue *queue, GList *link_);\nsubroutine g_queue_push_tail_link(queue, link_) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: queue\n  type(c_ptr), value :: link_\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_queue_push_nth_link (GQueue *queue, gint n, GList *link_);\nsubroutine g_queue_push_nth_link(queue, n, link_) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: queue\n  integer(c_int), value :: n\n  type(c_ptr), value :: link_\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GList* g_queue_pop_head_link (GQueue *queue);\nfunction g_queue_pop_head_link(queue) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_queue_pop_head_link\n  type(c_ptr), value :: queue\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GList* g_queue_pop_tail_link (GQueue *queue);\nfunction g_queue_pop_tail_link(queue) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_queue_pop_tail_link\n  type(c_ptr), value :: queue\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GList* g_queue_pop_nth_link (GQueue *queue, guint n);\nfunction g_queue_pop_nth_link(queue, n) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_queue_pop_nth_link\n  type(c_ptr), value :: queue\n  integer(c_int), value :: n\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GList* g_queue_peek_head_link (GQueue *queue);\nfunction g_queue_peek_head_link(queue) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_queue_peek_head_link\n  type(c_ptr), value :: queue\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GList* g_queue_peek_tail_link (GQueue *queue);\nfunction g_queue_peek_tail_link(queue) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_queue_peek_tail_link\n  type(c_ptr), value :: queue\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GList* g_queue_peek_nth_link (GQueue *queue, guint n);\nfunction g_queue_peek_nth_link(queue, n) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_queue_peek_nth_link\n  type(c_ptr), value :: queue\n  integer(c_int), value :: n\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_queue_link_index (GQueue *queue, GList *link_);\nfunction g_queue_link_index(queue, link_) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_queue_link_index\n  type(c_ptr), value :: queue\n  type(c_ptr), value :: link_\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_queue_unlink (GQueue *queue, GList *link_);\nsubroutine g_queue_unlink(queue, link_) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: queue\n  type(c_ptr), value :: link_\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_queue_delete_link (GQueue *queue, GList *link_);\nsubroutine g_queue_delete_link(queue, link_) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: queue\n  type(c_ptr), value :: link_\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/grand.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!GRand* g_rand_new_with_seed (guint32 seed);\nfunction g_rand_new_with_seed(seed) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr) :: g_rand_new_with_seed\n  integer(c_int32_t), value :: seed\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GRand* g_rand_new_with_seed_array (const guint32 *seed, guint seed_length);\nfunction g_rand_new_with_seed_array(seed, seed_length) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_rand_new_with_seed_array\n  type(c_ptr), value :: seed\n  integer(c_int), value :: seed_length\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GRand* g_rand_new (void);\nfunction g_rand_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_rand_new\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_rand_free (GRand *rand_);\nsubroutine g_rand_free(rand_) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: rand_\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GRand* g_rand_copy (GRand *rand_);\nfunction g_rand_copy(rand_) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_rand_copy\n  type(c_ptr), value :: rand_\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_rand_set_seed (GRand *rand_, guint32 seed);\nsubroutine g_rand_set_seed(rand_, seed) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr), value :: rand_\n  integer(c_int32_t), value :: seed\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_rand_set_seed_array (GRand *rand_, const guint32 *seed, guint seed_length);\nsubroutine g_rand_set_seed_array(rand_, seed, seed_length) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: rand_\n  type(c_ptr), value :: seed\n  integer(c_int), value :: seed_length\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!guint32 g_rand_int (GRand *rand_);\nfunction g_rand_int(rand_) bind(c)\n  import :: c_int32_t, c_ptr\n  implicit none\n  integer(c_int32_t) :: g_rand_int\n  type(c_ptr), value :: rand_\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint32 g_rand_int_range (GRand *rand_, gint32 begin, gint32 end);\nfunction g_rand_int_range(rand_, begin, end) bind(c)\n  import :: c_int32_t, c_ptr\n  implicit none\n  integer(c_int32_t) :: g_rand_int_range\n  type(c_ptr), value :: rand_\n  integer(c_int32_t), value :: begin\n  integer(c_int32_t), value :: end\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gdouble g_rand_double (GRand *rand_);\nfunction g_rand_double(rand_) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: g_rand_double\n  type(c_ptr), value :: rand_\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gdouble g_rand_double_range (GRand *rand_, gdouble begin, gdouble end);\nfunction g_rand_double_range(rand_, begin, end) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: g_rand_double_range\n  type(c_ptr), value :: rand_\n  real(c_double), value :: begin\n  real(c_double), value :: end\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_random_set_seed (guint32 seed);\nsubroutine g_random_set_seed(seed) bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t), value :: seed\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!guint32 g_random_int (void);\nfunction g_random_int() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: g_random_int\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint32 g_random_int_range (gint32 begin, gint32 end);\nfunction g_random_int_range(begin, end) bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: g_random_int_range\n  integer(c_int32_t), value :: begin\n  integer(c_int32_t), value :: end\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gdouble g_random_double (void);\nfunction g_random_double() bind(c)\n  import :: c_double\n  implicit none\n  real(c_double) :: g_random_double\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gdouble g_random_double_range (gdouble begin, gdouble end);\nfunction g_random_double_range(begin, end) bind(c)\n  import :: c_double\n  implicit none\n  real(c_double) :: g_random_double_range\n  real(c_double), value :: begin\n  real(c_double), value :: end\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/grcbox.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_2_58\n!gpointer g_rc_box_alloc (gsize block_size) ;\nfunction g_rc_box_alloc(block_size) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_rc_box_alloc\n  integer(c_size_t), value :: block_size\nend function\n\n! GLIB_AVAILABLE_IN_2_58\n!gpointer g_rc_box_alloc0 (gsize block_size) ;\nfunction g_rc_box_alloc0(block_size) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_rc_box_alloc0\n  integer(c_size_t), value :: block_size\nend function\n\n! GLIB_AVAILABLE_IN_2_58\n!gpointer g_rc_box_dup (gsize block_size, gconstpointer mem_block) ;\nfunction g_rc_box_dup(block_size, mem_block) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_rc_box_dup\n  integer(c_size_t), value :: block_size\n  type(c_ptr), value :: mem_block\nend function\n\n! GLIB_AVAILABLE_IN_2_58\n!gpointer g_rc_box_acquire (gpointer mem_block);\nfunction g_rc_box_acquire(mem_block) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_rc_box_acquire\n  type(c_ptr), value :: mem_block\nend function\n\n! GLIB_AVAILABLE_IN_2_58\n!void g_rc_box_release (gpointer mem_block);\nsubroutine g_rc_box_release(mem_block) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: mem_block\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_58\n!void g_rc_box_release_full (gpointer mem_block, GDestroyNotify clear_func);\nsubroutine g_rc_box_release_full(mem_block, clear_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: mem_block\n  type(c_funptr), value :: clear_func\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_58\n!gsize g_rc_box_get_size (gpointer mem_block);\nfunction g_rc_box_get_size(mem_block) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_rc_box_get_size\n  type(c_ptr), value :: mem_block\nend function\n\n! GLIB_AVAILABLE_IN_2_58\n!gpointer g_atomic_rc_box_alloc (gsize block_size) ;\nfunction g_atomic_rc_box_alloc(block_size) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_atomic_rc_box_alloc\n  integer(c_size_t), value :: block_size\nend function\n\n! GLIB_AVAILABLE_IN_2_58\n!gpointer g_atomic_rc_box_alloc0 (gsize block_size) ;\nfunction g_atomic_rc_box_alloc0(block_size) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_atomic_rc_box_alloc0\n  integer(c_size_t), value :: block_size\nend function\n\n! GLIB_AVAILABLE_IN_2_58\n!gpointer g_atomic_rc_box_dup (gsize block_size, gconstpointer mem_block) ;\nfunction g_atomic_rc_box_dup(block_size, mem_block) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_atomic_rc_box_dup\n  integer(c_size_t), value :: block_size\n  type(c_ptr), value :: mem_block\nend function\n\n! GLIB_AVAILABLE_IN_2_58\n!gpointer g_atomic_rc_box_acquire (gpointer mem_block);\nfunction g_atomic_rc_box_acquire(mem_block) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_atomic_rc_box_acquire\n  type(c_ptr), value :: mem_block\nend function\n\n! GLIB_AVAILABLE_IN_2_58\n!void g_atomic_rc_box_release (gpointer mem_block);\nsubroutine g_atomic_rc_box_release(mem_block) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: mem_block\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_58\n!void g_atomic_rc_box_release_full (gpointer mem_block, GDestroyNotify clear_func);\nsubroutine g_atomic_rc_box_release_full(mem_block, clear_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: mem_block\n  type(c_funptr), value :: clear_func\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_58\n!gsize g_atomic_rc_box_get_size (gpointer mem_block);\nfunction g_atomic_rc_box_get_size(mem_block) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_atomic_rc_box_get_size\n  type(c_ptr), value :: mem_block\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/grefcount.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_2_58\n!void g_ref_count_init (grefcount *rc);\nsubroutine g_ref_count_init(rc) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: rc\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_58\n!void g_ref_count_inc (grefcount *rc);\nsubroutine g_ref_count_inc(rc) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: rc\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_58\n!gboolean g_ref_count_dec (grefcount *rc);\nfunction g_ref_count_dec(rc) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_ref_count_dec\n  type(c_ptr), value :: rc\nend function\n\n! GLIB_AVAILABLE_IN_2_58\n!gboolean g_ref_count_compare (grefcount *rc, gint val);\nfunction g_ref_count_compare(rc, val) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_ref_count_compare\n  type(c_ptr), value :: rc\n  integer(c_int), value :: val\nend function\n\n! GLIB_AVAILABLE_IN_2_58\n!void g_atomic_ref_count_init (gatomicrefcount *arc);\nsubroutine g_atomic_ref_count_init(arc) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: arc\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_58\n!void g_atomic_ref_count_inc (gatomicrefcount *arc);\nsubroutine g_atomic_ref_count_inc(arc) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: arc\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_58\n!gboolean g_atomic_ref_count_dec (gatomicrefcount *arc);\nfunction g_atomic_ref_count_dec(arc) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_atomic_ref_count_dec\n  type(c_ptr), value :: arc\nend function\n\n! GLIB_AVAILABLE_IN_2_58\n!gboolean g_atomic_ref_count_compare (gatomicrefcount *arc, gint val);\nfunction g_atomic_ref_count_compare(arc, val) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_atomic_ref_count_compare\n  type(c_ptr), value :: arc\n  integer(c_int), value :: val\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/grefstring.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_2_58\n!char * g_ref_string_new (const char *str);\nfunction g_ref_string_new(str) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_ref_string_new\n  character(kind=c_char), dimension(*) :: str\nend function\n\n! GLIB_AVAILABLE_IN_2_58\n!char * g_ref_string_new_len (const char *str, gssize len);\nfunction g_ref_string_new_len(str, len) bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr) :: g_ref_string_new_len\n  character(kind=c_char), dimension(*) :: str\n  integer(c_size_t), value :: len\nend function\n\n! GLIB_AVAILABLE_IN_2_58\n!char * g_ref_string_new_intern (const char *str);\nfunction g_ref_string_new_intern(str) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_ref_string_new_intern\n  character(kind=c_char), dimension(*) :: str\nend function\n\n! GLIB_AVAILABLE_IN_2_58\n!char * g_ref_string_acquire (char *str);\nfunction g_ref_string_acquire(str) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_ref_string_acquire\n  character(kind=c_char), dimension(*) :: str\nend function\n\n! GLIB_AVAILABLE_IN_2_58\n!void g_ref_string_release (char *str);\nsubroutine g_ref_string_release(str) bind(c)\n  import :: c_char\n  implicit none\n  character(kind=c_char), dimension(*) :: str\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_58\n!gsize g_ref_string_length (char *str);\nfunction g_ref_string_length(str) bind(c)\n  import :: c_size_t, c_char\n  implicit none\n  integer(c_size_t) :: g_ref_string_length\n  character(kind=c_char), dimension(*) :: str\nend function\n\n! GLIB_AVAILABLE_IN_2_84\n!gboolean g_ref_string_equal (const char *str1, const char *str2);\nfunction g_ref_string_equal(str1, str2) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_ref_string_equal\n  character(kind=c_char), dimension(*) :: str1\n  character(kind=c_char), dimension(*) :: str2\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gregex.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!GQuark g_regex_error_quark (void);\nfunction g_regex_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: g_regex_error_quark\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GRegex *g_regex_new (const gchar *pattern, GRegexCompileFlags compile_options, GRegexMatchFlags match_options, GError **error);\nfunction g_regex_new(pattern, compile_options, match_options, error) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_regex_new\n  character(kind=c_char), dimension(*) :: pattern\n  integer(c_int), value :: compile_options\n  integer(c_int), value :: match_options\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GRegex *g_regex_ref (GRegex *regex);\nfunction g_regex_ref(regex) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_regex_ref\n  type(c_ptr), value :: regex\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_regex_unref (GRegex *regex);\nsubroutine g_regex_unref(regex) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: regex\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar *g_regex_get_pattern (const GRegex *regex);\nfunction g_regex_get_pattern(regex) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_regex_get_pattern\n  type(c_ptr), value :: regex\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_regex_get_max_backref (const GRegex *regex);\nfunction g_regex_get_max_backref(regex) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_regex_get_max_backref\n  type(c_ptr), value :: regex\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_regex_get_capture_count (const GRegex *regex);\nfunction g_regex_get_capture_count(regex) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_regex_get_capture_count\n  type(c_ptr), value :: regex\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_regex_get_has_cr_or_lf (const GRegex *regex);\nfunction g_regex_get_has_cr_or_lf(regex) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_regex_get_has_cr_or_lf\n  type(c_ptr), value :: regex\nend function\n\n! GLIB_AVAILABLE_IN_2_38\n!gint g_regex_get_max_lookbehind (const GRegex *regex);\nfunction g_regex_get_max_lookbehind(regex) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_regex_get_max_lookbehind\n  type(c_ptr), value :: regex\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_regex_get_string_number (const GRegex *regex, const gchar *name);\nfunction g_regex_get_string_number(regex, name) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_regex_get_string_number\n  type(c_ptr), value :: regex\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar *g_regex_escape_string (const gchar *string, gint length);\nfunction g_regex_escape_string(string, length) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_regex_escape_string\n  character(kind=c_char), dimension(*) :: string\n  integer(c_int), value :: length\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar *g_regex_escape_nul (const gchar *string, gint length);\nfunction g_regex_escape_nul(string, length) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_regex_escape_nul\n  character(kind=c_char), dimension(*) :: string\n  integer(c_int), value :: length\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GRegexCompileFlags g_regex_get_compile_flags (const GRegex *regex);\nfunction g_regex_get_compile_flags(regex) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_regex_get_compile_flags\n  type(c_ptr), value :: regex\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GRegexMatchFlags g_regex_get_match_flags (const GRegex *regex);\nfunction g_regex_get_match_flags(regex) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_regex_get_match_flags\n  type(c_ptr), value :: regex\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_regex_match_simple (const gchar *pattern, const gchar *string, GRegexCompileFlags compile_options, GRegexMatchFlags match_options);\nfunction g_regex_match_simple(pattern, string, compile_options, match_options)&\n& bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_regex_match_simple\n  character(kind=c_char), dimension(*) :: pattern\n  character(kind=c_char), dimension(*) :: string\n  integer(c_int), value :: compile_options\n  integer(c_int), value :: match_options\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_regex_match (const GRegex *regex, const gchar *string, GRegexMatchFlags match_options, GMatchInfo **match_info);\nfunction g_regex_match(regex, string, match_options, match_info) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_regex_match\n  type(c_ptr), value :: regex\n  character(kind=c_char), dimension(*) :: string\n  integer(c_int), value :: match_options\n  type(c_ptr), value :: match_info\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_regex_match_full (const GRegex *regex, const gchar *string, gssize string_len, gint start_position, GRegexMatchFlags match_options, GMatchInfo **match_info, GError **error);\nfunction g_regex_match_full(regex, string, string_len, start_position,&\n& match_options, match_info, error) bind(c)\n  import :: c_int, c_ptr, c_char, c_size_t\n  implicit none\n  integer(c_int) :: g_regex_match_full\n  type(c_ptr), value :: regex\n  character(kind=c_char), dimension(*) :: string\n  integer(c_size_t), value :: string_len\n  integer(c_int), value :: start_position\n  integer(c_int), value :: match_options\n  type(c_ptr), value :: match_info\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_regex_match_all (const GRegex *regex, const gchar *string, GRegexMatchFlags match_options, GMatchInfo **match_info);\nfunction g_regex_match_all(regex, string, match_options, match_info) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_regex_match_all\n  type(c_ptr), value :: regex\n  character(kind=c_char), dimension(*) :: string\n  integer(c_int), value :: match_options\n  type(c_ptr), value :: match_info\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_regex_match_all_full (const GRegex *regex, const gchar *string, gssize string_len, gint start_position, GRegexMatchFlags match_options, GMatchInfo **match_info, GError **error);\nfunction g_regex_match_all_full(regex, string, string_len, start_position,&\n& match_options, match_info, error) bind(c)\n  import :: c_int, c_ptr, c_char, c_size_t\n  implicit none\n  integer(c_int) :: g_regex_match_all_full\n  type(c_ptr), value :: regex\n  character(kind=c_char), dimension(*) :: string\n  integer(c_size_t), value :: string_len\n  integer(c_int), value :: start_position\n  integer(c_int), value :: match_options\n  type(c_ptr), value :: match_info\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar **g_regex_split_simple (const gchar *pattern, const gchar *string, GRegexCompileFlags compile_options, GRegexMatchFlags match_options);\nfunction g_regex_split_simple(pattern, string, compile_options, match_options)&\n& bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_regex_split_simple\n  character(kind=c_char), dimension(*) :: pattern\n  character(kind=c_char), dimension(*) :: string\n  integer(c_int), value :: compile_options\n  integer(c_int), value :: match_options\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar **g_regex_split (const GRegex *regex, const gchar *string, GRegexMatchFlags match_options);\nfunction g_regex_split(regex, string, match_options) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_regex_split\n  type(c_ptr), value :: regex\n  character(kind=c_char), dimension(*) :: string\n  integer(c_int), value :: match_options\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar **g_regex_split_full (const GRegex *regex, const gchar *string, gssize string_len, gint start_position, GRegexMatchFlags match_options, gint max_tokens, GError **error);\nfunction g_regex_split_full(regex, string, string_len, start_position,&\n& match_options, max_tokens, error) bind(c)\n  import :: c_ptr, c_char, c_size_t, c_int\n  implicit none\n  type(c_ptr) :: g_regex_split_full\n  type(c_ptr), value :: regex\n  character(kind=c_char), dimension(*) :: string\n  integer(c_size_t), value :: string_len\n  integer(c_int), value :: start_position\n  integer(c_int), value :: match_options\n  integer(c_int), value :: max_tokens\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar *g_regex_replace (const GRegex *regex, const gchar *string, gssize string_len, gint start_position, const gchar *replacement, GRegexMatchFlags match_options, GError **error);\nfunction g_regex_replace(regex, string, string_len, start_position,&\n& replacement, match_options, error) bind(c)\n  import :: c_ptr, c_char, c_size_t, c_int\n  implicit none\n  type(c_ptr) :: g_regex_replace\n  type(c_ptr), value :: regex\n  character(kind=c_char), dimension(*) :: string\n  integer(c_size_t), value :: string_len\n  integer(c_int), value :: start_position\n  character(kind=c_char), dimension(*) :: replacement\n  integer(c_int), value :: match_options\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar *g_regex_replace_literal (const GRegex *regex, const gchar *string, gssize string_len, gint start_position, const gchar *replacement, GRegexMatchFlags match_options, GError **error);\nfunction g_regex_replace_literal(regex, string, string_len, start_position,&\n& replacement, match_options, error) bind(c)\n  import :: c_ptr, c_char, c_size_t, c_int\n  implicit none\n  type(c_ptr) :: g_regex_replace_literal\n  type(c_ptr), value :: regex\n  character(kind=c_char), dimension(*) :: string\n  integer(c_size_t), value :: string_len\n  integer(c_int), value :: start_position\n  character(kind=c_char), dimension(*) :: replacement\n  integer(c_int), value :: match_options\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar *g_regex_replace_eval (const GRegex *regex, const gchar *string, gssize string_len, gint start_position, GRegexMatchFlags match_options, GRegexEvalCallback eval, gpointer user_data, GError **error);\nfunction g_regex_replace_eval(regex, string, string_len, start_position,&\n& match_options, eval, user_data, error) bind(c)\n  import :: c_ptr, c_char, c_size_t, c_int, c_funptr\n  implicit none\n  type(c_ptr) :: g_regex_replace_eval\n  type(c_ptr), value :: regex\n  character(kind=c_char), dimension(*) :: string\n  integer(c_size_t), value :: string_len\n  integer(c_int), value :: start_position\n  integer(c_int), value :: match_options\n  type(c_funptr), value :: eval\n  type(c_ptr), value :: user_data\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_regex_check_replacement (const gchar *replacement, gboolean *has_references, GError **error);\nfunction g_regex_check_replacement(replacement, has_references, error) bind(c)\n  import :: c_int, c_char, c_ptr\n  implicit none\n  integer(c_int) :: g_regex_check_replacement\n  character(kind=c_char), dimension(*) :: replacement\n  type(c_ptr), value :: has_references\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GRegex *g_match_info_get_regex (const GMatchInfo *match_info);\nfunction g_match_info_get_regex(match_info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_match_info_get_regex\n  type(c_ptr), value :: match_info\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar *g_match_info_get_string (const GMatchInfo *match_info);\nfunction g_match_info_get_string(match_info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_match_info_get_string\n  type(c_ptr), value :: match_info\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GMatchInfo *g_match_info_ref (GMatchInfo *match_info);\nfunction g_match_info_ref(match_info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_match_info_ref\n  type(c_ptr), value :: match_info\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_match_info_unref (GMatchInfo *match_info);\nsubroutine g_match_info_unref(match_info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: match_info\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_match_info_free (GMatchInfo *match_info);\nsubroutine g_match_info_free(match_info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: match_info\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_match_info_next (GMatchInfo *match_info, GError **error);\nfunction g_match_info_next(match_info, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_match_info_next\n  type(c_ptr), value :: match_info\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_match_info_matches (const GMatchInfo *match_info);\nfunction g_match_info_matches(match_info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_match_info_matches\n  type(c_ptr), value :: match_info\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_match_info_get_match_count (const GMatchInfo *match_info);\nfunction g_match_info_get_match_count(match_info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_match_info_get_match_count\n  type(c_ptr), value :: match_info\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_match_info_is_partial_match (const GMatchInfo *match_info);\nfunction g_match_info_is_partial_match(match_info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_match_info_is_partial_match\n  type(c_ptr), value :: match_info\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar *g_match_info_expand_references(const GMatchInfo *match_info, const gchar *string_to_expand, GError **error);\nfunction g_match_info_expand_references(match_info, string_to_expand, error)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_match_info_expand_references\n  type(c_ptr), value :: match_info\n  character(kind=c_char), dimension(*) :: string_to_expand\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar *g_match_info_fetch (const GMatchInfo *match_info, gint match_num);\nfunction g_match_info_fetch(match_info, match_num) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_match_info_fetch\n  type(c_ptr), value :: match_info\n  integer(c_int), value :: match_num\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_match_info_fetch_pos (const GMatchInfo *match_info, gint match_num, gint *start_pos, gint *end_pos);\nfunction g_match_info_fetch_pos(match_info, match_num, start_pos, end_pos)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_match_info_fetch_pos\n  type(c_ptr), value :: match_info\n  integer(c_int), value :: match_num\n  type(c_ptr), value :: start_pos\n  type(c_ptr), value :: end_pos\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar *g_match_info_fetch_named (const GMatchInfo *match_info, const gchar *name);\nfunction g_match_info_fetch_named(match_info, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_match_info_fetch_named\n  type(c_ptr), value :: match_info\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_match_info_fetch_named_pos (const GMatchInfo *match_info, const gchar *name, gint *start_pos, gint *end_pos);\nfunction g_match_info_fetch_named_pos(match_info, name, start_pos, end_pos)&\n& bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_match_info_fetch_named_pos\n  type(c_ptr), value :: match_info\n  character(kind=c_char), dimension(*) :: name\n  type(c_ptr), value :: start_pos\n  type(c_ptr), value :: end_pos\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar **g_match_info_fetch_all (const GMatchInfo *match_info);\nfunction g_match_info_fetch_all(match_info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_match_info_fetch_all\n  type(c_ptr), value :: match_info\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gscanner.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!GScanner* g_scanner_new (const GScannerConfig *config_templ);\nfunction g_scanner_new(config_templ) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_scanner_new\n  type(c_ptr), value :: config_templ\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_scanner_destroy (GScanner *scanner);\nsubroutine g_scanner_destroy(scanner) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: scanner\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_scanner_input_file (GScanner *scanner, gint input_fd);\nsubroutine g_scanner_input_file(scanner, input_fd) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: scanner\n  integer(c_int), value :: input_fd\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_scanner_sync_file_offset (GScanner *scanner);\nsubroutine g_scanner_sync_file_offset(scanner) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: scanner\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_scanner_input_text (GScanner *scanner, const gchar *text, guint text_len);\nsubroutine g_scanner_input_text(scanner, text, text_len) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: scanner\n  character(kind=c_char), dimension(*) :: text\n  integer(c_int), value :: text_len\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GTokenType g_scanner_get_next_token (GScanner *scanner);\nfunction g_scanner_get_next_token(scanner) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_scanner_get_next_token\n  type(c_ptr), value :: scanner\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GTokenType g_scanner_peek_next_token (GScanner *scanner);\nfunction g_scanner_peek_next_token(scanner) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_scanner_peek_next_token\n  type(c_ptr), value :: scanner\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GTokenType g_scanner_cur_token (GScanner *scanner);\nfunction g_scanner_cur_token(scanner) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_scanner_cur_token\n  type(c_ptr), value :: scanner\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_scanner_cur_line (GScanner *scanner);\nfunction g_scanner_cur_line(scanner) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_scanner_cur_line\n  type(c_ptr), value :: scanner\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_scanner_cur_position (GScanner *scanner);\nfunction g_scanner_cur_position(scanner) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_scanner_cur_position\n  type(c_ptr), value :: scanner\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_scanner_eof (GScanner *scanner);\nfunction g_scanner_eof(scanner) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_scanner_eof\n  type(c_ptr), value :: scanner\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_scanner_set_scope (GScanner *scanner, guint scope_id);\nfunction g_scanner_set_scope(scanner, scope_id) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_scanner_set_scope\n  type(c_ptr), value :: scanner\n  integer(c_int), value :: scope_id\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_scanner_scope_add_symbol (GScanner *scanner, guint scope_id, const gchar *symbol, gpointer value);\nsubroutine g_scanner_scope_add_symbol(scanner, scope_id, symbol, value) bind(c)\n  import :: c_ptr, c_int, c_char\n  implicit none\n  type(c_ptr), value :: scanner\n  integer(c_int), value :: scope_id\n  character(kind=c_char), dimension(*) :: symbol\n  type(c_ptr), value :: value\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_scanner_scope_remove_symbol (GScanner *scanner, guint scope_id, const gchar *symbol);\nsubroutine g_scanner_scope_remove_symbol(scanner, scope_id, symbol) bind(c)\n  import :: c_ptr, c_int, c_char\n  implicit none\n  type(c_ptr), value :: scanner\n  integer(c_int), value :: scope_id\n  character(kind=c_char), dimension(*) :: symbol\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_scanner_scope_lookup_symbol (GScanner *scanner, guint scope_id, const gchar *symbol);\nfunction g_scanner_scope_lookup_symbol(scanner, scope_id, symbol) bind(c)\n  import :: c_ptr, c_int, c_char\n  implicit none\n  type(c_ptr) :: g_scanner_scope_lookup_symbol\n  type(c_ptr), value :: scanner\n  integer(c_int), value :: scope_id\n  character(kind=c_char), dimension(*) :: symbol\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_scanner_scope_foreach_symbol (GScanner *scanner, guint scope_id, GHFunc func, gpointer user_data);\nsubroutine g_scanner_scope_foreach_symbol(scanner, scope_id, func, user_data)&\n& bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: scanner\n  integer(c_int), value :: scope_id\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_scanner_lookup_symbol (GScanner *scanner, const gchar *symbol);\nfunction g_scanner_lookup_symbol(scanner, symbol) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_scanner_lookup_symbol\n  type(c_ptr), value :: scanner\n  character(kind=c_char), dimension(*) :: symbol\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_scanner_unexp_token (GScanner *scanner, GTokenType expected_token, const gchar *identifier_spec, const gchar *symbol_spec, const gchar *symbol_name, const gchar *message, gint is_error);\nsubroutine g_scanner_unexp_token(scanner, expected_token, identifier_spec,&\n& symbol_spec, symbol_name, message, is_error) bind(c)\n  import :: c_ptr, c_int, c_char\n  implicit none\n  type(c_ptr), value :: scanner\n  integer(c_int), value :: expected_token\n  character(kind=c_char), dimension(*) :: identifier_spec\n  character(kind=c_char), dimension(*) :: symbol_spec\n  character(kind=c_char), dimension(*) :: symbol_name\n  character(kind=c_char), dimension(*) :: message\n  integer(c_int), value :: is_error\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gsequence.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!GSequence * g_sequence_new (GDestroyNotify data_destroy);\nfunction g_sequence_new(data_destroy) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_sequence_new\n  type(c_funptr), value :: data_destroy\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_sequence_free (GSequence *seq);\nsubroutine g_sequence_free(seq) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: seq\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_sequence_get_length (GSequence *seq);\nfunction g_sequence_get_length(seq) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_sequence_get_length\n  type(c_ptr), value :: seq\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_sequence_foreach (GSequence *seq, GFunc func, gpointer user_data);\nsubroutine g_sequence_foreach(seq, func, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: seq\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_sequence_foreach_range (GSequenceIter *begin, GSequenceIter *end, GFunc func, gpointer user_data);\nsubroutine g_sequence_foreach_range(begin, end, func, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: begin\n  type(c_ptr), value :: end\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_sequence_sort (GSequence *seq, GCompareDataFunc cmp_func, gpointer cmp_data);\nsubroutine g_sequence_sort(seq, cmp_func, cmp_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: seq\n  type(c_funptr), value :: cmp_func\n  type(c_ptr), value :: cmp_data\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_sequence_sort_iter (GSequence *seq, GSequenceIterCompareFunc cmp_func, gpointer cmp_data);\nsubroutine g_sequence_sort_iter(seq, cmp_func, cmp_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: seq\n  type(c_funptr), value :: cmp_func\n  type(c_ptr), value :: cmp_data\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_48\n!gboolean g_sequence_is_empty (GSequence *seq);\nfunction g_sequence_is_empty(seq) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_sequence_is_empty\n  type(c_ptr), value :: seq\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSequenceIter *g_sequence_get_begin_iter (GSequence *seq);\nfunction g_sequence_get_begin_iter(seq) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_sequence_get_begin_iter\n  type(c_ptr), value :: seq\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSequenceIter *g_sequence_get_end_iter (GSequence *seq);\nfunction g_sequence_get_end_iter(seq) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_sequence_get_end_iter\n  type(c_ptr), value :: seq\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSequenceIter *g_sequence_get_iter_at_pos (GSequence *seq, gint pos);\nfunction g_sequence_get_iter_at_pos(seq, pos) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_sequence_get_iter_at_pos\n  type(c_ptr), value :: seq\n  integer(c_int), value :: pos\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSequenceIter *g_sequence_append (GSequence *seq, gpointer data);\nfunction g_sequence_append(seq, data) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_sequence_append\n  type(c_ptr), value :: seq\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSequenceIter *g_sequence_prepend (GSequence *seq, gpointer data);\nfunction g_sequence_prepend(seq, data) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_sequence_prepend\n  type(c_ptr), value :: seq\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSequenceIter *g_sequence_insert_before (GSequenceIter *iter, gpointer data);\nfunction g_sequence_insert_before(iter, data) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_sequence_insert_before\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_sequence_move (GSequenceIter *src, GSequenceIter *dest);\nsubroutine g_sequence_move(src, dest) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: src\n  type(c_ptr), value :: dest\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_sequence_swap (GSequenceIter *a, GSequenceIter *b);\nsubroutine g_sequence_swap(a, b) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GSequenceIter *g_sequence_insert_sorted (GSequence *seq, gpointer data, GCompareDataFunc cmp_func, gpointer cmp_data);\nfunction g_sequence_insert_sorted(seq, data, cmp_func, cmp_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_sequence_insert_sorted\n  type(c_ptr), value :: seq\n  type(c_ptr), value :: data\n  type(c_funptr), value :: cmp_func\n  type(c_ptr), value :: cmp_data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSequenceIter *g_sequence_insert_sorted_iter (GSequence *seq, gpointer data, GSequenceIterCompareFunc iter_cmp, gpointer cmp_data);\nfunction g_sequence_insert_sorted_iter(seq, data, iter_cmp, cmp_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_sequence_insert_sorted_iter\n  type(c_ptr), value :: seq\n  type(c_ptr), value :: data\n  type(c_funptr), value :: iter_cmp\n  type(c_ptr), value :: cmp_data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_sequence_sort_changed (GSequenceIter *iter, GCompareDataFunc cmp_func, gpointer cmp_data);\nsubroutine g_sequence_sort_changed(iter, cmp_func, cmp_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: iter\n  type(c_funptr), value :: cmp_func\n  type(c_ptr), value :: cmp_data\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_sequence_sort_changed_iter (GSequenceIter *iter, GSequenceIterCompareFunc iter_cmp, gpointer cmp_data);\nsubroutine g_sequence_sort_changed_iter(iter, iter_cmp, cmp_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: iter\n  type(c_funptr), value :: iter_cmp\n  type(c_ptr), value :: cmp_data\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_sequence_remove (GSequenceIter *iter);\nsubroutine g_sequence_remove(iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: iter\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_sequence_remove_range (GSequenceIter *begin, GSequenceIter *end);\nsubroutine g_sequence_remove_range(begin, end) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: begin\n  type(c_ptr), value :: end\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_sequence_move_range (GSequenceIter *dest, GSequenceIter *begin, GSequenceIter *end);\nsubroutine g_sequence_move_range(dest, begin, end) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: dest\n  type(c_ptr), value :: begin\n  type(c_ptr), value :: end\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GSequenceIter *g_sequence_search (GSequence *seq, gpointer data, GCompareDataFunc cmp_func, gpointer cmp_data);\nfunction g_sequence_search(seq, data, cmp_func, cmp_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_sequence_search\n  type(c_ptr), value :: seq\n  type(c_ptr), value :: data\n  type(c_funptr), value :: cmp_func\n  type(c_ptr), value :: cmp_data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSequenceIter *g_sequence_search_iter (GSequence *seq, gpointer data, GSequenceIterCompareFunc iter_cmp, gpointer cmp_data);\nfunction g_sequence_search_iter(seq, data, iter_cmp, cmp_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_sequence_search_iter\n  type(c_ptr), value :: seq\n  type(c_ptr), value :: data\n  type(c_funptr), value :: iter_cmp\n  type(c_ptr), value :: cmp_data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSequenceIter *g_sequence_lookup (GSequence *seq, gpointer data, GCompareDataFunc cmp_func, gpointer cmp_data);\nfunction g_sequence_lookup(seq, data, cmp_func, cmp_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_sequence_lookup\n  type(c_ptr), value :: seq\n  type(c_ptr), value :: data\n  type(c_funptr), value :: cmp_func\n  type(c_ptr), value :: cmp_data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSequenceIter *g_sequence_lookup_iter (GSequence *seq, gpointer data, GSequenceIterCompareFunc iter_cmp, gpointer cmp_data);\nfunction g_sequence_lookup_iter(seq, data, iter_cmp, cmp_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_sequence_lookup_iter\n  type(c_ptr), value :: seq\n  type(c_ptr), value :: data\n  type(c_funptr), value :: iter_cmp\n  type(c_ptr), value :: cmp_data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_sequence_get (GSequenceIter *iter);\nfunction g_sequence_get(iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_sequence_get\n  type(c_ptr), value :: iter\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_sequence_set (GSequenceIter *iter, gpointer data);\nsubroutine g_sequence_set(iter, data) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: data\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_sequence_iter_is_begin (GSequenceIter *iter);\nfunction g_sequence_iter_is_begin(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_sequence_iter_is_begin\n  type(c_ptr), value :: iter\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_sequence_iter_is_end (GSequenceIter *iter);\nfunction g_sequence_iter_is_end(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_sequence_iter_is_end\n  type(c_ptr), value :: iter\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSequenceIter *g_sequence_iter_next (GSequenceIter *iter);\nfunction g_sequence_iter_next(iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_sequence_iter_next\n  type(c_ptr), value :: iter\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSequenceIter *g_sequence_iter_prev (GSequenceIter *iter);\nfunction g_sequence_iter_prev(iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_sequence_iter_prev\n  type(c_ptr), value :: iter\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_sequence_iter_get_position (GSequenceIter *iter);\nfunction g_sequence_iter_get_position(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_sequence_iter_get_position\n  type(c_ptr), value :: iter\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSequenceIter *g_sequence_iter_move (GSequenceIter *iter, gint delta);\nfunction g_sequence_iter_move(iter, delta) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_sequence_iter_move\n  type(c_ptr), value :: iter\n  integer(c_int), value :: delta\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSequence * g_sequence_iter_get_sequence (GSequenceIter *iter);\nfunction g_sequence_iter_get_sequence(iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_sequence_iter_get_sequence\n  type(c_ptr), value :: iter\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_sequence_iter_compare (GSequenceIter *a, GSequenceIter *b);\nfunction g_sequence_iter_compare(a, b) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_sequence_iter_compare\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSequenceIter *g_sequence_range_get_midpoint (GSequenceIter *begin, GSequenceIter *end);\nfunction g_sequence_range_get_midpoint(begin, end) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_sequence_range_get_midpoint\n  type(c_ptr), value :: begin\n  type(c_ptr), value :: end\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gshell.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!GQuark g_shell_error_quark (void);\nfunction g_shell_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: g_shell_error_quark\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar* g_shell_quote (const gchar *unquoted_string);\nfunction g_shell_quote(unquoted_string) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_shell_quote\n  character(kind=c_char), dimension(*) :: unquoted_string\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar* g_shell_unquote (const gchar *quoted_string, GError **error);\nfunction g_shell_unquote(quoted_string, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_shell_unquote\n  character(kind=c_char), dimension(*) :: quoted_string\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_shell_parse_argv (const gchar *command_line, gint *argcp, gchar ***argvp, GError **error);\nfunction g_shell_parse_argv(command_line, argcp, argvp, error) bind(c)\n  import :: c_int, c_char, c_ptr\n  implicit none\n  integer(c_int) :: g_shell_parse_argv\n  character(kind=c_char), dimension(*) :: command_line\n  type(c_ptr), value :: argcp\n  type(c_ptr), dimension(*) :: argvp\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gslice.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_slice_alloc (gsize block_size) ;\nfunction g_slice_alloc(block_size) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_slice_alloc\n  integer(c_size_t), value :: block_size\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_slice_alloc0 (gsize block_size) ;\nfunction g_slice_alloc0(block_size) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_slice_alloc0\n  integer(c_size_t), value :: block_size\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_slice_copy (gsize block_size, gconstpointer mem_block) ;\nfunction g_slice_copy(block_size, mem_block) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_slice_copy\n  integer(c_size_t), value :: block_size\n  type(c_ptr), value :: mem_block\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_slice_free1 (gsize block_size, gpointer mem_block);\nsubroutine g_slice_free1(block_size, mem_block) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t), value :: block_size\n  type(c_ptr), value :: mem_block\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_slice_free_chain_with_offset (gsize block_size, gpointer mem_chain, gsize next_offset);\nsubroutine g_slice_free_chain_with_offset(block_size, mem_chain, next_offset)&\n& bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t), value :: block_size\n  type(c_ptr), value :: mem_chain\n  integer(c_size_t), value :: next_offset\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_34\n!void g_slice_set_config (GSliceConfig ckey, gint64 value);\nsubroutine g_slice_set_config(ckey, value) bind(c)\n  import :: c_int, c_int64_t\n  implicit none\n  integer(c_int), value :: ckey\n  integer(c_int64_t), value :: value\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_34\n!gint64 g_slice_get_config (GSliceConfig ckey);\nfunction g_slice_get_config(ckey) bind(c)\n  import :: c_int64_t, c_int\n  implicit none\n  integer(c_int64_t) :: g_slice_get_config\n  integer(c_int), value :: ckey\nend function\n\n! GLIB_DEPRECATED_IN_2_34\n!gint64* g_slice_get_config_state (GSliceConfig ckey, gint64 address, guint *n_values);\nfunction g_slice_get_config_state(ckey, address, n_values) bind(c)\n  import :: c_ptr, c_int, c_int64_t\n  implicit none\n  type(c_ptr) :: g_slice_get_config_state\n  integer(c_int), value :: ckey\n  integer(c_int64_t), value :: address\n  type(c_ptr), value :: n_values\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_slice_debug_tree_statistics (void);\nsubroutine g_slice_debug_tree_statistics() bind(c)\n  implicit none\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gslist.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!GSList* g_slist_alloc (void) ;\nfunction g_slist_alloc() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_slist_alloc\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_slist_free (GSList *list);\nsubroutine g_slist_free(list) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: list\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_slist_free_1 (GSList *list);\nsubroutine g_slist_free_1(list) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: list\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_slist_free_full (GSList *list, GDestroyNotify free_func);\nsubroutine g_slist_free_full(list, free_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: list\n  type(c_funptr), value :: free_func\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GSList* g_slist_append (GSList *list, gpointer data) ;\nfunction g_slist_append(list, data) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_slist_append\n  type(c_ptr), value :: list\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSList* g_slist_prepend (GSList *list, gpointer data) ;\nfunction g_slist_prepend(list, data) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_slist_prepend\n  type(c_ptr), value :: list\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSList* g_slist_insert (GSList *list, gpointer data, gint position) ;\nfunction g_slist_insert(list, data, position) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_slist_insert\n  type(c_ptr), value :: list\n  type(c_ptr), value :: data\n  integer(c_int), value :: position\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSList* g_slist_insert_sorted (GSList *list, gpointer data, GCompareFunc func) ;\nfunction g_slist_insert_sorted(list, data, func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_slist_insert_sorted\n  type(c_ptr), value :: list\n  type(c_ptr), value :: data\n  type(c_funptr), value :: func\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSList* g_slist_insert_sorted_with_data (GSList *list, gpointer data, GCompareDataFunc func, gpointer user_data) ;\nfunction g_slist_insert_sorted_with_data(list, data, func, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_slist_insert_sorted_with_data\n  type(c_ptr), value :: list\n  type(c_ptr), value :: data\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSList* g_slist_insert_before (GSList *slist, GSList *sibling, gpointer data) ;\nfunction g_slist_insert_before(slist, sibling, data) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_slist_insert_before\n  type(c_ptr), value :: slist\n  type(c_ptr), value :: sibling\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSList* g_slist_concat (GSList *list1, GSList *list2) ;\nfunction g_slist_concat(list1, list2) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_slist_concat\n  type(c_ptr), value :: list1\n  type(c_ptr), value :: list2\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSList* g_slist_remove (GSList *list, gconstpointer data) ;\nfunction g_slist_remove(list, data) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_slist_remove\n  type(c_ptr), value :: list\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSList* g_slist_remove_all (GSList *list, gconstpointer data) ;\nfunction g_slist_remove_all(list, data) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_slist_remove_all\n  type(c_ptr), value :: list\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSList* g_slist_remove_link (GSList *list, GSList *link_) ;\nfunction g_slist_remove_link(list, link_) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_slist_remove_link\n  type(c_ptr), value :: list\n  type(c_ptr), value :: link_\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSList* g_slist_delete_link (GSList *list, GSList *link_) ;\nfunction g_slist_delete_link(list, link_) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_slist_delete_link\n  type(c_ptr), value :: list\n  type(c_ptr), value :: link_\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSList* g_slist_reverse (GSList *list) ;\nfunction g_slist_reverse(list) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_slist_reverse\n  type(c_ptr), value :: list\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSList* g_slist_copy (GSList *list) ;\nfunction g_slist_copy(list) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_slist_copy\n  type(c_ptr), value :: list\nend function\n\n! GLIB_AVAILABLE_IN_2_34\n!GSList* g_slist_copy_deep (GSList *list, GCopyFunc func, gpointer user_data) ;\nfunction g_slist_copy_deep(list, func, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_slist_copy_deep\n  type(c_ptr), value :: list\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSList* g_slist_nth (GSList *list, guint n);\nfunction g_slist_nth(list, n) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_slist_nth\n  type(c_ptr), value :: list\n  integer(c_int), value :: n\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSList* g_slist_find (GSList *list, gconstpointer data);\nfunction g_slist_find(list, data) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_slist_find\n  type(c_ptr), value :: list\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSList* g_slist_find_custom (GSList *list, gconstpointer data, GCompareFunc func);\nfunction g_slist_find_custom(list, data, func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_slist_find_custom\n  type(c_ptr), value :: list\n  type(c_ptr), value :: data\n  type(c_funptr), value :: func\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_slist_position (GSList *list, GSList *llink);\nfunction g_slist_position(list, llink) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_slist_position\n  type(c_ptr), value :: list\n  type(c_ptr), value :: llink\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_slist_index (GSList *list, gconstpointer data);\nfunction g_slist_index(list, data) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_slist_index\n  type(c_ptr), value :: list\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSList* g_slist_last (GSList *list);\nfunction g_slist_last(list) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_slist_last\n  type(c_ptr), value :: list\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_slist_length (GSList *list);\nfunction g_slist_length(list) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_slist_length\n  type(c_ptr), value :: list\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_slist_foreach (GSList *list, GFunc func, gpointer user_data);\nsubroutine g_slist_foreach(list, func, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: list\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GSList* g_slist_sort (GSList *list, GCompareFunc compare_func) ;\nfunction g_slist_sort(list, compare_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_slist_sort\n  type(c_ptr), value :: list\n  type(c_funptr), value :: compare_func\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GSList* g_slist_sort_with_data (GSList *list, GCompareDataFunc compare_func, gpointer user_data) ;\nfunction g_slist_sort_with_data(list, compare_func, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_slist_sort_with_data\n  type(c_ptr), value :: list\n  type(c_funptr), value :: compare_func\n  type(c_ptr), value :: user_data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_slist_nth_data (GSList *list, guint n);\nfunction g_slist_nth_data(list, n) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_slist_nth_data\n  type(c_ptr), value :: list\n  integer(c_int), value :: n\nend function\n\n! GLIB_AVAILABLE_IN_2_64\n!void g_clear_slist (GSList **slist_ptr, GDestroyNotify destroy);\nsubroutine g_clear_slist(slist_ptr, destroy) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: slist_ptr\n  type(c_funptr), value :: destroy\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gspawn.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!GQuark g_spawn_error_quark (void);\nfunction g_spawn_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: g_spawn_error_quark\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GQuark g_spawn_exit_error_quark (void);\nfunction g_spawn_exit_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: g_spawn_exit_error_quark\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_spawn_async (const gchar *working_directory, gchar **argv, gchar **envp, GSpawnFlags flags, GSpawnChildSetupFunc child_setup, gpointer user_data, GPid *child_pid, GError **error);\nfunction g_spawn_async(working_directory, argv, envp, flags, child_setup,&\n& user_data, child_pid, error) bind(c)\n  import :: c_int, c_char, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: g_spawn_async\n  character(kind=c_char), dimension(*) :: working_directory\n  type(c_ptr), dimension(*) :: argv\n  type(c_ptr), dimension(*) :: envp\n  integer(c_int), value :: flags\n  type(c_funptr), value :: child_setup\n  type(c_ptr), value :: user_data\n  type(c_ptr), value :: child_pid\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_spawn_async_with_pipes (const gchar *working_directory, gchar **argv, gchar **envp, GSpawnFlags flags, GSpawnChildSetupFunc child_setup, gpointer user_data, GPid *child_pid, gint *standard_input, gint *standard_output, gint *standard_error, GError **error);\nfunction g_spawn_async_with_pipes(working_directory, argv, envp, flags,&\n& child_setup, user_data, child_pid, standard_input, standard_output,&\n& standard_error, error) bind(c)\n  import :: c_int, c_char, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: g_spawn_async_with_pipes\n  character(kind=c_char), dimension(*) :: working_directory\n  type(c_ptr), dimension(*) :: argv\n  type(c_ptr), dimension(*) :: envp\n  integer(c_int), value :: flags\n  type(c_funptr), value :: child_setup\n  type(c_ptr), value :: user_data\n  type(c_ptr), value :: child_pid\n  type(c_ptr), value :: standard_input\n  type(c_ptr), value :: standard_output\n  type(c_ptr), value :: standard_error\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_2_68\n!gboolean g_spawn_async_with_pipes_and_fds (const gchar *working_directory, const gchar * const *argv, const gchar * const *envp, GSpawnFlags flags, GSpawnChildSetupFunc child_setup, gpointer user_data, gint stdin_fd, gint stdout_fd, gint stderr_fd, const gint *source_fds, const gint *target_fds, gsize n_fds, GPid *child_pid_out, gint *stdin_pipe_out, gint *stdout_pipe_out, gint *stderr_pipe_out, GError **error);\nfunction g_spawn_async_with_pipes_and_fds(working_directory, argv, envp, flags,&\n& child_setup, user_data, stdin_fd, stdout_fd, stderr_fd, source_fds,&\n& target_fds, n_fds, child_pid_out, stdin_pipe_out, stdout_pipe_out,&\n& stderr_pipe_out, error) bind(c)\n  import :: c_int, c_char, c_ptr, c_funptr, c_size_t\n  implicit none\n  integer(c_int) :: g_spawn_async_with_pipes_and_fds\n  character(kind=c_char), dimension(*) :: working_directory\n  type(c_ptr), dimension(*) :: argv\n  type(c_ptr), dimension(*) :: envp\n  integer(c_int), value :: flags\n  type(c_funptr), value :: child_setup\n  type(c_ptr), value :: user_data\n  integer(c_int), value :: stdin_fd\n  integer(c_int), value :: stdout_fd\n  integer(c_int), value :: stderr_fd\n  type(c_ptr), value :: source_fds\n  type(c_ptr), value :: target_fds\n  integer(c_size_t), value :: n_fds\n  type(c_ptr), value :: child_pid_out\n  type(c_ptr), value :: stdin_pipe_out\n  type(c_ptr), value :: stdout_pipe_out\n  type(c_ptr), value :: stderr_pipe_out\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_2_58\n!gboolean g_spawn_async_with_fds (const gchar *working_directory, gchar **argv, gchar **envp, GSpawnFlags flags, GSpawnChildSetupFunc child_setup, gpointer user_data, GPid *child_pid, gint stdin_fd, gint stdout_fd, gint stderr_fd, GError **error);\nfunction g_spawn_async_with_fds(working_directory, argv, envp, flags,&\n& child_setup, user_data, child_pid, stdin_fd, stdout_fd, stderr_fd, error)&\n& bind(c)\n  import :: c_int, c_char, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: g_spawn_async_with_fds\n  character(kind=c_char), dimension(*) :: working_directory\n  type(c_ptr), dimension(*) :: argv\n  type(c_ptr), dimension(*) :: envp\n  integer(c_int), value :: flags\n  type(c_funptr), value :: child_setup\n  type(c_ptr), value :: user_data\n  type(c_ptr), value :: child_pid\n  integer(c_int), value :: stdin_fd\n  integer(c_int), value :: stdout_fd\n  integer(c_int), value :: stderr_fd\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_spawn_sync (const gchar *working_directory, gchar **argv, gchar **envp, GSpawnFlags flags, GSpawnChildSetupFunc child_setup, gpointer user_data, gchar **standard_output, gchar **standard_error, gint *wait_status, GError **error);\nfunction g_spawn_sync(working_directory, argv, envp, flags, child_setup,&\n& user_data, standard_output, standard_error, wait_status, error) bind(c)\n  import :: c_int, c_char, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: g_spawn_sync\n  character(kind=c_char), dimension(*) :: working_directory\n  type(c_ptr), dimension(*) :: argv\n  type(c_ptr), dimension(*) :: envp\n  integer(c_int), value :: flags\n  type(c_funptr), value :: child_setup\n  type(c_ptr), value :: user_data\n  type(c_ptr), dimension(*) :: standard_output\n  type(c_ptr), dimension(*) :: standard_error\n  type(c_ptr), value :: wait_status\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_spawn_command_line_sync (const gchar *command_line, gchar **standard_output, gchar **standard_error, gint *wait_status, GError **error);\nfunction g_spawn_command_line_sync(command_line, standard_output,&\n& standard_error, wait_status, error) bind(c)\n  import :: c_int, c_char, c_ptr\n  implicit none\n  integer(c_int) :: g_spawn_command_line_sync\n  character(kind=c_char), dimension(*) :: command_line\n  type(c_ptr), dimension(*) :: standard_output\n  type(c_ptr), dimension(*) :: standard_error\n  type(c_ptr), value :: wait_status\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_spawn_command_line_async (const gchar *command_line, GError **error);\nfunction g_spawn_command_line_async(command_line, error) bind(c)\n  import :: c_int, c_char, c_ptr\n  implicit none\n  integer(c_int) :: g_spawn_command_line_async\n  character(kind=c_char), dimension(*) :: command_line\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_2_70\n!gboolean g_spawn_check_wait_status (gint wait_status, GError **error);\nfunction g_spawn_check_wait_status(wait_status, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_spawn_check_wait_status\n  integer(c_int), value :: wait_status\n  type(c_ptr), value :: error\nend function\n\n! GLIB_DEPRECATED_IN_2_70_FOR(g_spawn_check_wait_status)\n!gboolean g_spawn_check_exit_status (gint wait_status, GError **error);\nfunction g_spawn_check_exit_status(wait_status, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_spawn_check_exit_status\n  integer(c_int), value :: wait_status\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_spawn_close_pid (GPid pid);\nsubroutine g_spawn_close_pid(pid) bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int), value :: pid\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gstdio.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!FILE *g_fopen (const gchar *filename, const gchar *mode);\nfunction g_fopen(filename, mode) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_fopen\n  character(kind=c_char), dimension(*) :: filename\n  character(kind=c_char), dimension(*) :: mode\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!FILE *g_freopen (const gchar *filename, const gchar *mode, FILE *stream);\nfunction g_freopen(filename, mode, stream) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_freopen\n  character(kind=c_char), dimension(*) :: filename\n  character(kind=c_char), dimension(*) :: mode\n  type(c_ptr), value :: stream\nend function\n\n! GLIB_AVAILABLE_IN_2_36\n!gboolean g_close (gint fd, GError **error);\nfunction g_close(fd, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_close\n  integer(c_int), value :: fd\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_2_64\n!gint g_fsync (gint fd);\nfunction g_fsync(fd) bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: g_fsync\n  integer(c_int), value :: fd\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!int g_access (const gchar *filename, int mode);\nfunction g_access(filename, mode) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_access\n  character(kind=c_char), dimension(*) :: filename\n  integer(c_int), value :: mode\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!int g_chdir (const gchar *path);\nfunction g_chdir(path) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_chdir\n  character(kind=c_char), dimension(*) :: path\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!int g_chmod (const gchar *filename, int mode);\nfunction g_chmod(filename, mode) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_chmod\n  character(kind=c_char), dimension(*) :: filename\n  integer(c_int), value :: mode\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!int g_creat (const gchar *filename, int mode);\nfunction g_creat(filename, mode) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_creat\n  character(kind=c_char), dimension(*) :: filename\n  integer(c_int), value :: mode\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!int g_lstat (const gchar *filename, GStatBuf *buf);\nfunction g_lstat(filename, buf) bind(c)\n  import :: c_int, c_char, c_ptr\n  implicit none\n  integer(c_int) :: g_lstat\n  character(kind=c_char), dimension(*) :: filename\n  type(c_ptr), value :: buf\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!int g_mkdir (const gchar *filename, int mode);\nfunction g_mkdir(filename, mode) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_mkdir\n  character(kind=c_char), dimension(*) :: filename\n  integer(c_int), value :: mode\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!int g_open (const gchar *filename, int flags, int mode);\nfunction g_open(filename, flags, mode) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_open\n  character(kind=c_char), dimension(*) :: filename\n  integer(c_int), value :: flags\n  integer(c_int), value :: mode\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!int g_remove (const gchar *filename);\nfunction g_remove(filename) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_remove\n  character(kind=c_char), dimension(*) :: filename\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!int g_rename (const gchar *oldfilename, const gchar *newfilename);\nfunction g_rename(oldfilename, newfilename) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_rename\n  character(kind=c_char), dimension(*) :: oldfilename\n  character(kind=c_char), dimension(*) :: newfilename\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!int g_rmdir (const gchar *filename);\nfunction g_rmdir(filename) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_rmdir\n  character(kind=c_char), dimension(*) :: filename\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!int g_stat (const gchar *filename, GStatBuf *buf);\nfunction g_stat(filename, buf) bind(c)\n  import :: c_int, c_char, c_ptr\n  implicit none\n  integer(c_int) :: g_stat\n  character(kind=c_char), dimension(*) :: filename\n  type(c_ptr), value :: buf\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!int g_unlink (const gchar *filename);\nfunction g_unlink(filename) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_unlink\n  character(kind=c_char), dimension(*) :: filename\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!int g_utime (const gchar *filename, struct utimbuf *utb);\nfunction g_utime(filename, utb) bind(c)\n  import :: c_int, c_char, c_ptr\n  implicit none\n  integer(c_int) :: g_utime\n  character(kind=c_char), dimension(*) :: filename\n  type(c_ptr), value :: utb\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gstrfuncs.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!gchar g_ascii_tolower (gchar c) ;\nfunction g_ascii_tolower(c) bind(c)\n  import :: c_int8_t\n  implicit none\n  integer(kind=c_int8_t) :: g_ascii_tolower\n  integer(kind=c_int8_t), value :: c\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar g_ascii_toupper (gchar c) ;\nfunction g_ascii_toupper(c) bind(c)\n  import :: c_int8_t\n  implicit none\n  integer(kind=c_int8_t) :: g_ascii_toupper\n  integer(kind=c_int8_t), value :: c\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_ascii_digit_value (gchar c) ;\nfunction g_ascii_digit_value(c) bind(c)\n  import :: c_int, c_int8_t\n  implicit none\n  integer(c_int) :: g_ascii_digit_value\n  integer(kind=c_int8_t), value :: c\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_ascii_xdigit_value (gchar c) ;\nfunction g_ascii_xdigit_value(c) bind(c)\n  import :: c_int, c_int8_t\n  implicit none\n  integer(c_int) :: g_ascii_xdigit_value\n  integer(kind=c_int8_t), value :: c\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar* g_strdelimit (gchar *string, const gchar *delimiters, gchar new_delimiter);\nfunction g_strdelimit(string, delimiters, new_delimiter) bind(c)\n  import :: c_ptr, c_char, c_int8_t\n  implicit none\n  type(c_ptr) :: g_strdelimit\n  character(kind=c_char), dimension(*) :: string\n  character(kind=c_char), dimension(*) :: delimiters\n  integer(kind=c_int8_t), value :: new_delimiter\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar* g_strcanon (gchar *string, const gchar *valid_chars, gchar substitutor);\nfunction g_strcanon(string, valid_chars, substitutor) bind(c)\n  import :: c_ptr, c_char, c_int8_t\n  implicit none\n  type(c_ptr) :: g_strcanon\n  character(kind=c_char), dimension(*) :: string\n  character(kind=c_char), dimension(*) :: valid_chars\n  integer(kind=c_int8_t), value :: substitutor\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar * g_strerror (gint errnum) ;\nfunction g_strerror(errnum) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_strerror\n  integer(c_int), value :: errnum\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar * g_strsignal (gint signum) ;\nfunction g_strsignal(signum) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_strsignal\n  integer(c_int), value :: signum\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar * g_strreverse (gchar *string);\nfunction g_strreverse(string) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_strreverse\n  character(kind=c_char), dimension(*) :: string\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gsize g_strlcpy (gchar *dest, const gchar *src, gsize dest_size);\nfunction g_strlcpy(dest, src, dest_size) bind(c)\n  import :: c_size_t, c_char\n  implicit none\n  integer(c_size_t) :: g_strlcpy\n  character(kind=c_char), dimension(*) :: dest\n  character(kind=c_char), dimension(*) :: src\n  integer(c_size_t), value :: dest_size\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gsize g_strlcat (gchar *dest, const gchar *src, gsize dest_size);\nfunction g_strlcat(dest, src, dest_size) bind(c)\n  import :: c_size_t, c_char\n  implicit none\n  integer(c_size_t) :: g_strlcat\n  character(kind=c_char), dimension(*) :: dest\n  character(kind=c_char), dimension(*) :: src\n  integer(c_size_t), value :: dest_size\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar * g_strstr_len (const gchar *haystack, gssize haystack_len, const gchar *needle);\nfunction g_strstr_len(haystack, haystack_len, needle) bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr) :: g_strstr_len\n  character(kind=c_char), dimension(*) :: haystack\n  integer(c_size_t), value :: haystack_len\n  character(kind=c_char), dimension(*) :: needle\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar * g_strrstr (const gchar *haystack, const gchar *needle);\nfunction g_strrstr(haystack, needle) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_strrstr\n  character(kind=c_char), dimension(*) :: haystack\n  character(kind=c_char), dimension(*) :: needle\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar * g_strrstr_len (const gchar *haystack, gssize haystack_len, const gchar *needle);\nfunction g_strrstr_len(haystack, haystack_len, needle) bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr) :: g_strrstr_len\n  character(kind=c_char), dimension(*) :: haystack\n  integer(c_size_t), value :: haystack_len\n  character(kind=c_char), dimension(*) :: needle\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean (g_str_has_suffix) (const gchar *str, const gchar *suffix);\nfunction g_str_has_suffix(str, suffix) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_str_has_suffix\n  character(kind=c_char), dimension(*) :: str\n  character(kind=c_char), dimension(*) :: suffix\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean (g_str_has_prefix) (const gchar *str, const gchar *prefix);\nfunction g_str_has_prefix(str, prefix) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_str_has_prefix\n  character(kind=c_char), dimension(*) :: str\n  character(kind=c_char), dimension(*) :: prefix\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gdouble g_strtod (const gchar *nptr, gchar **endptr);\nfunction g_strtod(nptr, endptr) bind(c)\n  import :: c_double, c_char, c_ptr\n  implicit none\n  real(c_double) :: g_strtod\n  character(kind=c_char), dimension(*) :: nptr\n  type(c_ptr), dimension(*) :: endptr\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gdouble g_ascii_strtod (const gchar *nptr, gchar **endptr);\nfunction g_ascii_strtod(nptr, endptr) bind(c)\n  import :: c_double, c_char, c_ptr\n  implicit none\n  real(c_double) :: g_ascii_strtod\n  character(kind=c_char), dimension(*) :: nptr\n  type(c_ptr), dimension(*) :: endptr\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint64 g_ascii_strtoull (const gchar *nptr, gchar **endptr, guint base);\nfunction g_ascii_strtoull(nptr, endptr, base) bind(c)\n  import :: c_int64_t, c_char, c_ptr, c_int\n  implicit none\n  integer(c_int64_t) :: g_ascii_strtoull\n  character(kind=c_char), dimension(*) :: nptr\n  type(c_ptr), dimension(*) :: endptr\n  integer(c_int), value :: base\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint64 g_ascii_strtoll (const gchar *nptr, gchar **endptr, guint base);\nfunction g_ascii_strtoll(nptr, endptr, base) bind(c)\n  import :: c_int64_t, c_char, c_ptr, c_int\n  implicit none\n  integer(c_int64_t) :: g_ascii_strtoll\n  character(kind=c_char), dimension(*) :: nptr\n  type(c_ptr), dimension(*) :: endptr\n  integer(c_int), value :: base\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar * g_ascii_dtostr (gchar *buffer, gint buf_len, gdouble d);\nfunction g_ascii_dtostr(buffer, buf_len, d) bind(c)\n  import :: c_ptr, c_char, c_int, c_double\n  implicit none\n  type(c_ptr) :: g_ascii_dtostr\n  character(kind=c_char), dimension(*) :: buffer\n  integer(c_int), value :: buf_len\n  real(c_double), value :: d\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar * g_ascii_formatd (gchar *buffer, gint buf_len, const gchar *format, gdouble d);\nfunction g_ascii_formatd(buffer, buf_len, format, d) bind(c)\n  import :: c_ptr, c_char, c_int, c_double\n  implicit none\n  type(c_ptr) :: g_ascii_formatd\n  character(kind=c_char), dimension(*) :: buffer\n  integer(c_int), value :: buf_len\n  character(kind=c_char), dimension(*) :: format\n  real(c_double), value :: d\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar* g_strchug (gchar *string);\nfunction g_strchug(string) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_strchug\n  character(kind=c_char), dimension(*) :: string\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar* g_strchomp (gchar *string);\nfunction g_strchomp(string) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_strchomp\n  character(kind=c_char), dimension(*) :: string\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_ascii_strcasecmp (const gchar *s1, const gchar *s2);\nfunction g_ascii_strcasecmp(s1, s2) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_ascii_strcasecmp\n  character(kind=c_char), dimension(*) :: s1\n  character(kind=c_char), dimension(*) :: s2\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_ascii_strncasecmp (const gchar *s1, const gchar *s2, gsize n);\nfunction g_ascii_strncasecmp(s1, s2, n) bind(c)\n  import :: c_int, c_char, c_size_t\n  implicit none\n  integer(c_int) :: g_ascii_strncasecmp\n  character(kind=c_char), dimension(*) :: s1\n  character(kind=c_char), dimension(*) :: s2\n  integer(c_size_t), value :: n\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar* g_ascii_strdown (const gchar *str, gssize len) ;\nfunction g_ascii_strdown(str, len) bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr) :: g_ascii_strdown\n  character(kind=c_char), dimension(*) :: str\n  integer(c_size_t), value :: len\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar* g_ascii_strup (const gchar *str, gssize len) ;\nfunction g_ascii_strup(str, len) bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr) :: g_ascii_strup\n  character(kind=c_char), dimension(*) :: str\n  integer(c_size_t), value :: len\nend function\n\n! GLIB_AVAILABLE_IN_2_40\n!gboolean g_str_is_ascii (const gchar *str);\nfunction g_str_is_ascii(str) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_str_is_ascii\n  character(kind=c_char), dimension(*) :: str\nend function\n\n! GLIB_DEPRECATED\n!gint g_strcasecmp (const gchar *s1, const gchar *s2);\nfunction g_strcasecmp(s1, s2) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_strcasecmp\n  character(kind=c_char), dimension(*) :: s1\n  character(kind=c_char), dimension(*) :: s2\nend function\n\n! GLIB_DEPRECATED\n!gint g_strncasecmp (const gchar *s1, const gchar *s2, guint n);\nfunction g_strncasecmp(s1, s2, n) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_strncasecmp\n  character(kind=c_char), dimension(*) :: s1\n  character(kind=c_char), dimension(*) :: s2\n  integer(c_int), value :: n\nend function\n\n! GLIB_DEPRECATED\n!gchar* g_strdown (gchar *string);\nfunction g_strdown(string) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_strdown\n  character(kind=c_char), dimension(*) :: string\nend function\n\n! GLIB_DEPRECATED\n!gchar* g_strup (gchar *string);\nfunction g_strup(string) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_strup\n  character(kind=c_char), dimension(*) :: string\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar* (g_strdup) (const gchar *str) ;\nfunction g_strdup(str) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_strdup\n  character(kind=c_char), dimension(*) :: str\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar* g_strdup_vprintf (const gchar *format, va_list args) ;\nfunction g_strdup_vprintf(format, args) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_strdup_vprintf\n  character(kind=c_char), dimension(*) :: format\n  type(c_ptr), value :: args\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar* g_strndup (const gchar *str, gsize n) ;\nfunction g_strndup(str, n) bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr) :: g_strndup\n  character(kind=c_char), dimension(*) :: str\n  integer(c_size_t), value :: n\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar* g_strnfill (gsize length, gchar fill_char) ;\nfunction g_strnfill(length, fill_char) bind(c)\n  import :: c_ptr, c_size_t, c_int8_t\n  implicit none\n  type(c_ptr) :: g_strnfill\n  integer(c_size_t), value :: length\n  integer(kind=c_int8_t), value :: fill_char\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!G_ALWAYS_INLINE static inline char * g_strdup_inline (const char *str) gchar* g_strcompress (const gchar *source) ;\nfunction g_strcompress(source) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_strcompress\n  character(kind=c_char), dimension(*) :: source\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar* g_strescape (const gchar *source, const gchar *exceptions) ;\nfunction g_strescape(source, exceptions) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_strescape\n  character(kind=c_char), dimension(*) :: source\n  character(kind=c_char), dimension(*) :: exceptions\nend function\n\n! GLIB_DEPRECATED_IN_2_68_FOR (g_memdup2)\n!gpointer g_memdup (gconstpointer mem, guint byte_size) ;\nfunction g_memdup(mem, byte_size) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_memdup\n  type(c_ptr), value :: mem\n  integer(c_int), value :: byte_size\nend function\n\n! GLIB_AVAILABLE_IN_2_68\n!gpointer g_memdup2 (gconstpointer mem, gsize byte_size) ;\nfunction g_memdup2(mem, byte_size) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_memdup2\n  type(c_ptr), value :: mem\n  integer(c_size_t), value :: byte_size\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar** g_strsplit (const gchar *string, const gchar *delimiter, gint max_tokens);\nfunction g_strsplit(string, delimiter, max_tokens) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_strsplit\n  character(kind=c_char), dimension(*) :: string\n  character(kind=c_char), dimension(*) :: delimiter\n  integer(c_int), value :: max_tokens\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar ** g_strsplit_set (const gchar *string, const gchar *delimiters, gint max_tokens);\nfunction g_strsplit_set(string, delimiters, max_tokens) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_strsplit_set\n  character(kind=c_char), dimension(*) :: string\n  character(kind=c_char), dimension(*) :: delimiters\n  integer(c_int), value :: max_tokens\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar* g_strjoinv (const gchar *separator, gchar **str_array) ;\nfunction g_strjoinv(separator, str_array) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_strjoinv\n  character(kind=c_char), dimension(*) :: separator\n  type(c_ptr), dimension(*) :: str_array\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_strfreev (gchar **str_array);\nsubroutine g_strfreev(str_array) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), dimension(*) :: str_array\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar** g_strdupv (gchar **str_array);\nfunction g_strdupv(str_array) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_strdupv\n  type(c_ptr), dimension(*) :: str_array\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_strv_length (gchar **str_array);\nfunction g_strv_length(str_array) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_strv_length\n  type(c_ptr), dimension(*) :: str_array\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar* g_stpcpy (gchar *dest, const char *src);\nfunction g_stpcpy(dest, src) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_stpcpy\n  character(kind=c_char), dimension(*) :: dest\n  character(kind=c_char), dimension(*) :: src\nend function\n\n! GLIB_AVAILABLE_IN_2_40\n!gchar * g_str_to_ascii (const gchar *str, const gchar *from_locale);\nfunction g_str_to_ascii(str, from_locale) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_str_to_ascii\n  character(kind=c_char), dimension(*) :: str\n  character(kind=c_char), dimension(*) :: from_locale\nend function\n\n! GLIB_AVAILABLE_IN_2_40\n!gchar ** g_str_tokenize_and_fold (const gchar *string, const gchar *translit_locale, gchar ***ascii_alternates);\nfunction g_str_tokenize_and_fold(string, translit_locale, ascii_alternates)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_str_tokenize_and_fold\n  character(kind=c_char), dimension(*) :: string\n  character(kind=c_char), dimension(*) :: translit_locale\n  type(c_ptr), dimension(*) :: ascii_alternates\nend function\n\n! GLIB_AVAILABLE_IN_2_40\n!gboolean g_str_match_string (const gchar *search_term, const gchar *potential_hit, gboolean accept_alternates);\nfunction g_str_match_string(search_term, potential_hit, accept_alternates)&\n& bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_str_match_string\n  character(kind=c_char), dimension(*) :: search_term\n  character(kind=c_char), dimension(*) :: potential_hit\n  integer(c_int), value :: accept_alternates\nend function\n\n! GLIB_AVAILABLE_IN_2_44\n!gboolean g_strv_contains (const gchar * const *strv, const gchar *str);\nfunction g_strv_contains(strv, str) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_strv_contains\n  type(c_ptr), dimension(*) :: strv\n  character(kind=c_char), dimension(*) :: str\nend function\n\n! GLIB_AVAILABLE_IN_2_60\n!gboolean g_strv_equal (const gchar * const *strv1, const gchar * const *strv2);\nfunction g_strv_equal(strv1, strv2) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_strv_equal\n  type(c_ptr), dimension(*) :: strv1\n  type(c_ptr), dimension(*) :: strv2\nend function\n\n! GLIB_AVAILABLE_IN_2_54\n!GQuark g_number_parser_error_quark (void);\nfunction g_number_parser_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: g_number_parser_error_quark\nend function\n\n! GLIB_AVAILABLE_IN_2_54\n!gboolean g_ascii_string_to_signed (const gchar *str, guint base, gint64 min, gint64 max, gint64 *out_num, GError **error);\nfunction g_ascii_string_to_signed(str, base, min, max, out_num, error) bind(c)\n  import :: c_int, c_char, c_int64_t, c_ptr\n  implicit none\n  integer(c_int) :: g_ascii_string_to_signed\n  character(kind=c_char), dimension(*) :: str\n  integer(c_int), value :: base\n  integer(c_int64_t), value :: min\n  integer(c_int64_t), value :: max\n  type(c_ptr), value :: out_num\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_2_54\n!gboolean g_ascii_string_to_unsigned (const gchar *str, guint base, guint64 min, guint64 max, guint64 *out_num, GError **error);\nfunction g_ascii_string_to_unsigned(str, base, min, max, out_num, error)&\n& bind(c)\n  import :: c_int, c_char, c_int64_t, c_ptr\n  implicit none\n  integer(c_int) :: g_ascii_string_to_unsigned\n  character(kind=c_char), dimension(*) :: str\n  integer(c_int), value :: base\n  integer(c_int64_t), value :: min\n  integer(c_int64_t), value :: max\n  type(c_ptr), value :: out_num\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gstring.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!GString* g_string_new (const gchar *init);\nfunction g_string_new(init) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_string_new\n  character(kind=c_char), dimension(*) :: init\nend function\n\n! GLIB_AVAILABLE_IN_2_78\n!GString* g_string_new_take (gchar *init);\nfunction g_string_new_take(init) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_string_new_take\n  character(kind=c_char), dimension(*) :: init\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GString* g_string_new_len (const gchar *init, gssize len);\nfunction g_string_new_len(init, len) bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr) :: g_string_new_len\n  character(kind=c_char), dimension(*) :: init\n  integer(c_size_t), value :: len\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GString* g_string_sized_new (gsize dfl_size);\nfunction g_string_sized_new(dfl_size) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_string_sized_new\n  integer(c_size_t), value :: dfl_size\nend function\n\n! GLIB_AVAILABLE_IN_2_86\n!GString *g_string_copy (GString *string);\nfunction g_string_copy(string) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_string_copy\n  type(c_ptr), value :: string\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar* (g_string_free) (GString *string, gboolean free_segment);\nfunction g_string_free(string, free_segment) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_string_free\n  type(c_ptr), value :: string\n  integer(c_int), value :: free_segment\nend function\n\n! GLIB_AVAILABLE_IN_2_76\n!gchar* g_string_free_and_steal (GString *string) ;\nfunction g_string_free_and_steal(string) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_string_free_and_steal\n  type(c_ptr), value :: string\nend function\n\n! GLIB_AVAILABLE_IN_2_34\n!GBytes* g_string_free_to_bytes (GString *string);\nfunction g_string_free_to_bytes(string) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_string_free_to_bytes\n  type(c_ptr), value :: string\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_string_equal (const GString *v, const GString *v2);\nfunction g_string_equal(v, v2) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_string_equal\n  type(c_ptr), value :: v\n  type(c_ptr), value :: v2\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_string_hash (const GString *str);\nfunction g_string_hash(str) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_string_hash\n  type(c_ptr), value :: str\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GString* g_string_assign (GString *string, const gchar *rval);\nfunction g_string_assign(string, rval) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_string_assign\n  type(c_ptr), value :: string\n  character(kind=c_char), dimension(*) :: rval\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GString* g_string_truncate (GString *string, gsize len);\nfunction g_string_truncate(string, len) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_string_truncate\n  type(c_ptr), value :: string\n  integer(c_size_t), value :: len\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GString* g_string_set_size (GString *string, gsize len);\nfunction g_string_set_size(string, len) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_string_set_size\n  type(c_ptr), value :: string\n  integer(c_size_t), value :: len\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GString* g_string_insert_len (GString *string, gssize pos, const gchar *val, gssize len);\nfunction g_string_insert_len(string, pos, val, len) bind(c)\n  import :: c_ptr, c_size_t, c_char\n  implicit none\n  type(c_ptr) :: g_string_insert_len\n  type(c_ptr), value :: string\n  integer(c_size_t), value :: pos\n  character(kind=c_char), dimension(*) :: val\n  integer(c_size_t), value :: len\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GString* g_string_append (GString *string, const gchar *val);\nfunction g_string_append(string, val) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_string_append\n  type(c_ptr), value :: string\n  character(kind=c_char), dimension(*) :: val\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GString* g_string_append_len (GString *string, const gchar *val, gssize len);\nfunction g_string_append_len(string, val, len) bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr) :: g_string_append_len\n  type(c_ptr), value :: string\n  character(kind=c_char), dimension(*) :: val\n  integer(c_size_t), value :: len\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GString* g_string_append_c (GString *string, gchar c);\nfunction g_string_append_c(string, c) bind(c)\n  import :: c_ptr, c_int8_t\n  implicit none\n  type(c_ptr) :: g_string_append_c\n  type(c_ptr), value :: string\n  integer(kind=c_int8_t), value :: c\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GString* g_string_append_unichar (GString *string, gunichar wc);\nfunction g_string_append_unichar(string, wc) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr) :: g_string_append_unichar\n  type(c_ptr), value :: string\n  integer(c_int32_t), value :: wc\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GString* g_string_prepend (GString *string, const gchar *val);\nfunction g_string_prepend(string, val) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_string_prepend\n  type(c_ptr), value :: string\n  character(kind=c_char), dimension(*) :: val\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GString* g_string_prepend_c (GString *string, gchar c);\nfunction g_string_prepend_c(string, c) bind(c)\n  import :: c_ptr, c_int8_t\n  implicit none\n  type(c_ptr) :: g_string_prepend_c\n  type(c_ptr), value :: string\n  integer(kind=c_int8_t), value :: c\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GString* g_string_prepend_unichar (GString *string, gunichar wc);\nfunction g_string_prepend_unichar(string, wc) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr) :: g_string_prepend_unichar\n  type(c_ptr), value :: string\n  integer(c_int32_t), value :: wc\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GString* g_string_prepend_len (GString *string, const gchar *val, gssize len);\nfunction g_string_prepend_len(string, val, len) bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr) :: g_string_prepend_len\n  type(c_ptr), value :: string\n  character(kind=c_char), dimension(*) :: val\n  integer(c_size_t), value :: len\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GString* g_string_insert (GString *string, gssize pos, const gchar *val);\nfunction g_string_insert(string, pos, val) bind(c)\n  import :: c_ptr, c_size_t, c_char\n  implicit none\n  type(c_ptr) :: g_string_insert\n  type(c_ptr), value :: string\n  integer(c_size_t), value :: pos\n  character(kind=c_char), dimension(*) :: val\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GString* g_string_insert_c (GString *string, gssize pos, gchar c);\nfunction g_string_insert_c(string, pos, c) bind(c)\n  import :: c_ptr, c_size_t, c_int8_t\n  implicit none\n  type(c_ptr) :: g_string_insert_c\n  type(c_ptr), value :: string\n  integer(c_size_t), value :: pos\n  integer(kind=c_int8_t), value :: c\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GString* g_string_insert_unichar (GString *string, gssize pos, gunichar wc);\nfunction g_string_insert_unichar(string, pos, wc) bind(c)\n  import :: c_ptr, c_size_t, c_int32_t\n  implicit none\n  type(c_ptr) :: g_string_insert_unichar\n  type(c_ptr), value :: string\n  integer(c_size_t), value :: pos\n  integer(c_int32_t), value :: wc\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GString* g_string_overwrite (GString *string, gsize pos, const gchar *val);\nfunction g_string_overwrite(string, pos, val) bind(c)\n  import :: c_ptr, c_size_t, c_char\n  implicit none\n  type(c_ptr) :: g_string_overwrite\n  type(c_ptr), value :: string\n  integer(c_size_t), value :: pos\n  character(kind=c_char), dimension(*) :: val\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GString* g_string_overwrite_len (GString *string, gsize pos, const gchar *val, gssize len);\nfunction g_string_overwrite_len(string, pos, val, len) bind(c)\n  import :: c_ptr, c_size_t, c_char\n  implicit none\n  type(c_ptr) :: g_string_overwrite_len\n  type(c_ptr), value :: string\n  integer(c_size_t), value :: pos\n  character(kind=c_char), dimension(*) :: val\n  integer(c_size_t), value :: len\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GString* g_string_erase (GString *string, gssize pos, gssize len);\nfunction g_string_erase(string, pos, len) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_string_erase\n  type(c_ptr), value :: string\n  integer(c_size_t), value :: pos\n  integer(c_size_t), value :: len\nend function\n\n! GLIB_AVAILABLE_IN_2_68\n!guint g_string_replace (GString *string, const gchar *find, const gchar *replace, guint limit);\nfunction g_string_replace(string, find, replace, limit) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_string_replace\n  type(c_ptr), value :: string\n  character(kind=c_char), dimension(*) :: find\n  character(kind=c_char), dimension(*) :: replace\n  integer(c_int), value :: limit\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GString* g_string_ascii_down (GString *string);\nfunction g_string_ascii_down(string) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_string_ascii_down\n  type(c_ptr), value :: string\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GString* g_string_ascii_up (GString *string);\nfunction g_string_ascii_up(string) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_string_ascii_up\n  type(c_ptr), value :: string\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_string_vprintf (GString *string, const gchar *format, va_list args) ;\nsubroutine g_string_vprintf(string, format, args) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: string\n  character(kind=c_char), dimension(*) :: format\n  type(c_ptr), value :: args\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_string_append_vprintf (GString *string, const gchar *format, va_list args) ;\nsubroutine g_string_append_vprintf(string, format, args) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: string\n  character(kind=c_char), dimension(*) :: format\n  type(c_ptr), value :: args\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GString* g_string_append_uri_escaped (GString *string, const gchar *unescaped, const gchar *reserved_chars_allowed, gboolean allow_utf8);\nfunction g_string_append_uri_escaped(string, unescaped, reserved_chars_allowed,&\n& allow_utf8) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_string_append_uri_escaped\n  type(c_ptr), value :: string\n  character(kind=c_char), dimension(*) :: unescaped\n  character(kind=c_char), dimension(*) :: reserved_chars_allowed\n  integer(c_int), value :: allow_utf8\nend function\n\n! GLIB_DEPRECATED\n!G_ALWAYS_INLINE G_ALWAYS_INLINE G_ALWAYS_INLINE GString *g_string_down (GString *string);\nfunction g_string_down(string) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_string_down\n  type(c_ptr), value :: string\nend function\n\n! GLIB_DEPRECATED\n!GString *g_string_up (GString *string);\nfunction g_string_up(string) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_string_up\n  type(c_ptr), value :: string\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gstringchunk.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!GStringChunk* g_string_chunk_new (gsize size);\nfunction g_string_chunk_new(size) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_string_chunk_new\n  integer(c_size_t), value :: size\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_string_chunk_free (GStringChunk *chunk);\nsubroutine g_string_chunk_free(chunk) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: chunk\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_string_chunk_clear (GStringChunk *chunk);\nsubroutine g_string_chunk_clear(chunk) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: chunk\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar* g_string_chunk_insert (GStringChunk *chunk, const gchar *string);\nfunction g_string_chunk_insert(chunk, string) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_string_chunk_insert\n  type(c_ptr), value :: chunk\n  character(kind=c_char), dimension(*) :: string\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar* g_string_chunk_insert_len (GStringChunk *chunk, const gchar *string, gssize len);\nfunction g_string_chunk_insert_len(chunk, string, len) bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr) :: g_string_chunk_insert_len\n  type(c_ptr), value :: chunk\n  character(kind=c_char), dimension(*) :: string\n  integer(c_size_t), value :: len\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar* g_string_chunk_insert_const (GStringChunk *chunk, const gchar *string);\nfunction g_string_chunk_insert_const(chunk, string) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_string_chunk_insert_const\n  type(c_ptr), value :: chunk\n  character(kind=c_char), dimension(*) :: string\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gstrvbuilder.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_2_68\n!GStrvBuilder *g_strv_builder_new (void);\nfunction g_strv_builder_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_strv_builder_new\nend function\n\n! GLIB_AVAILABLE_IN_2_68\n!void g_strv_builder_unref (GStrvBuilder *builder);\nsubroutine g_strv_builder_unref(builder) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: builder\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_82\n!GStrv g_strv_builder_unref_to_strv (GStrvBuilder *builder);\nfunction g_strv_builder_unref_to_strv(builder) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_strv_builder_unref_to_strv\n  type(c_ptr), value :: builder\nend function\n\n! GLIB_AVAILABLE_IN_2_68\n!GStrvBuilder *g_strv_builder_ref (GStrvBuilder *builder);\nfunction g_strv_builder_ref(builder) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_strv_builder_ref\n  type(c_ptr), value :: builder\nend function\n\n! GLIB_AVAILABLE_IN_2_68\n!void g_strv_builder_add (GStrvBuilder *builder, const char *value);\nsubroutine g_strv_builder_add(builder, value) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: builder\n  character(kind=c_char), dimension(*) :: value\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_70\n!void g_strv_builder_addv (GStrvBuilder *builder, const char **value);\nsubroutine g_strv_builder_addv(builder, value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: builder\n  type(c_ptr), dimension(*) :: value\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_80\n!void g_strv_builder_take (GStrvBuilder *builder, char *value);\nsubroutine g_strv_builder_take(builder, value) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: builder\n  character(kind=c_char), dimension(*) :: value\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_68\n!GStrv g_strv_builder_end (GStrvBuilder *builder);\nfunction g_strv_builder_end(builder) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_strv_builder_end\n  type(c_ptr), value :: builder\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gtestutils.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!int g_strcmp0 (const char *str1, const char *str2);\nfunction g_strcmp0(str1, str2) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_strcmp0\n  character(kind=c_char), dimension(*) :: str1\n  character(kind=c_char), dimension(*) :: str2\nend function\n\n! GLIB_AVAILABLE_IN_2_38\n!gboolean g_test_subprocess (void);\nfunction g_test_subprocess() bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: g_test_subprocess\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!int g_test_run (void);\nfunction g_test_run() bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: g_test_run\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_test_add_func (const char *testpath, GTestFunc test_func);\nsubroutine g_test_add_func(testpath, test_func) bind(c)\n  import :: c_char, c_funptr\n  implicit none\n  character(kind=c_char), dimension(*) :: testpath\n  type(c_funptr), value :: test_func\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_test_add_data_func (const char *testpath, gconstpointer test_data, GTestDataFunc test_func);\nsubroutine g_test_add_data_func(testpath, test_data, test_func) bind(c)\n  import :: c_char, c_ptr, c_funptr\n  implicit none\n  character(kind=c_char), dimension(*) :: testpath\n  type(c_ptr), value :: test_data\n  type(c_funptr), value :: test_func\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_34\n!void g_test_add_data_func_full (const char *testpath, gpointer test_data, GTestDataFunc test_func, GDestroyNotify data_free_func);\nsubroutine g_test_add_data_func_full(testpath, test_data, test_func,&\n& data_free_func) bind(c)\n  import :: c_char, c_ptr, c_funptr\n  implicit none\n  character(kind=c_char), dimension(*) :: testpath\n  type(c_ptr), value :: test_data\n  type(c_funptr), value :: test_func\n  type(c_funptr), value :: data_free_func\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_68\n!const char * g_test_get_path (void);\nfunction g_test_get_path() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_test_get_path\nend function\n\n! GLIB_AVAILABLE_IN_2_30\n!void g_test_fail (void);\nsubroutine g_test_fail() bind(c)\n  implicit none\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_38\n!void g_test_incomplete (const gchar *msg);\nsubroutine g_test_incomplete(msg) bind(c)\n  import :: c_char\n  implicit none\n  character(kind=c_char), dimension(*) :: msg\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_38\n!void g_test_skip (const gchar *msg);\nsubroutine g_test_skip(msg) bind(c)\n  import :: c_char\n  implicit none\n  character(kind=c_char), dimension(*) :: msg\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_38\n!gboolean g_test_failed (void);\nfunction g_test_failed() bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: g_test_failed\nend function\n\n! GLIB_AVAILABLE_IN_2_38\n!void g_test_set_nonfatal_assertions (void);\nsubroutine g_test_set_nonfatal_assertions() bind(c)\n  implicit none\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_78\n!void g_test_disable_crash_reporting (void);\nsubroutine g_test_disable_crash_reporting() bind(c)\n  implicit none\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_test_bug_base (const char *uri_pattern);\nsubroutine g_test_bug_base(uri_pattern) bind(c)\n  import :: c_char\n  implicit none\n  character(kind=c_char), dimension(*) :: uri_pattern\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_test_bug (const char *bug_uri_snippet);\nsubroutine g_test_bug(bug_uri_snippet) bind(c)\n  import :: c_char\n  implicit none\n  character(kind=c_char), dimension(*) :: bug_uri_snippet\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_62\n!void g_test_summary (const char *summary);\nsubroutine g_test_summary(summary) bind(c)\n  import :: c_char\n  implicit none\n  character(kind=c_char), dimension(*) :: summary\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_test_timer_start (void);\nsubroutine g_test_timer_start() bind(c)\n  implicit none\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!double g_test_timer_elapsed (void);\nfunction g_test_timer_elapsed() bind(c)\n  import :: c_double\n  implicit none\n  real(c_double) :: g_test_timer_elapsed\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!double g_test_timer_last (void);\nfunction g_test_timer_last() bind(c)\n  import :: c_double\n  implicit none\n  real(c_double) :: g_test_timer_last\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_test_queue_free (gpointer gfree_pointer);\nsubroutine g_test_queue_free(gfree_pointer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: gfree_pointer\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_test_queue_destroy (GDestroyNotify destroy_func, gpointer destroy_data);\nsubroutine g_test_queue_destroy(destroy_func, destroy_data) bind(c)\n  import :: c_funptr, c_ptr\n  implicit none\n  type(c_funptr), value :: destroy_func\n  type(c_ptr), value :: destroy_data\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_38\n!void g_test_trap_subprocess (const char *test_path, guint64 usec_timeout, GTestSubprocessFlags test_flags);\nsubroutine g_test_trap_subprocess(test_path, usec_timeout, test_flags) bind(c)\n  import :: c_char, c_int64_t, c_int\n  implicit none\n  character(kind=c_char), dimension(*) :: test_path\n  integer(c_int64_t), value :: usec_timeout\n  integer(c_int), value :: test_flags\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_80\n!void g_test_trap_subprocess_with_envp (const char *test_path, const char * const *envp, guint64 usec_timeout, GTestSubprocessFlags test_flags);\nsubroutine g_test_trap_subprocess_with_envp(test_path, envp, usec_timeout,&\n& test_flags) bind(c)\n  import :: c_char, c_ptr, c_int64_t, c_int\n  implicit none\n  character(kind=c_char), dimension(*) :: test_path\n  type(c_ptr), dimension(*) :: envp\n  integer(c_int64_t), value :: usec_timeout\n  integer(c_int), value :: test_flags\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_test_trap_has_passed (void);\nfunction g_test_trap_has_passed() bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: g_test_trap_has_passed\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_test_trap_reached_timeout (void);\nfunction g_test_trap_reached_timeout() bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: g_test_trap_reached_timeout\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint32 g_test_rand_int (void);\nfunction g_test_rand_int() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: g_test_rand_int\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint32 g_test_rand_int_range (gint32 begin, gint32 end);\nfunction g_test_rand_int_range(begin, end) bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: g_test_rand_int_range\n  integer(c_int32_t), value :: begin\n  integer(c_int32_t), value :: end\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!double g_test_rand_double (void);\nfunction g_test_rand_double() bind(c)\n  import :: c_double\n  implicit none\n  real(c_double) :: g_test_rand_double\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!double g_test_rand_double_range (double range_start, double range_end);\nfunction g_test_rand_double_range(range_start, range_end) bind(c)\n  import :: c_double\n  implicit none\n  real(c_double) :: g_test_rand_double_range\n  real(c_double), value :: range_start\n  real(c_double), value :: range_end\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GTestCase* g_test_create_case (const char *test_name, gsize data_size, gconstpointer test_data, GTestFixtureFunc data_setup, GTestFixtureFunc data_test, GTestFixtureFunc data_teardown);\nfunction g_test_create_case(test_name, data_size, test_data, data_setup,&\n& data_test, data_teardown) bind(c)\n  import :: c_ptr, c_char, c_size_t, c_funptr\n  implicit none\n  type(c_ptr) :: g_test_create_case\n  character(kind=c_char), dimension(*) :: test_name\n  integer(c_size_t), value :: data_size\n  type(c_ptr), value :: test_data\n  type(c_funptr), value :: data_setup\n  type(c_funptr), value :: data_test\n  type(c_funptr), value :: data_teardown\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GTestSuite* g_test_create_suite (const char *suite_name);\nfunction g_test_create_suite(suite_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_test_create_suite\n  character(kind=c_char), dimension(*) :: suite_name\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GTestSuite* g_test_get_root (void);\nfunction g_test_get_root() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_test_get_root\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_test_suite_add (GTestSuite *suite, GTestCase *test_case);\nsubroutine g_test_suite_add(suite, test_case) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: suite\n  type(c_ptr), value :: test_case\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_test_suite_add_suite (GTestSuite *suite, GTestSuite *nestedsuite);\nsubroutine g_test_suite_add_suite(suite, nestedsuite) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: suite\n  type(c_ptr), value :: nestedsuite\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!int g_test_run_suite (GTestSuite *suite);\nfunction g_test_run_suite(suite) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_test_run_suite\n  type(c_ptr), value :: suite\nend function\n\n! GLIB_AVAILABLE_IN_2_70\n!void g_test_case_free (GTestCase *test_case);\nsubroutine g_test_case_free(test_case) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: test_case\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_70\n!void g_test_suite_free (GTestSuite *suite);\nsubroutine g_test_suite_free(suite) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: suite\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_test_trap_assertions (const char *domain, const char *file, int line, const char *func, guint64 assertion_flags, const char *pattern);\nsubroutine g_test_trap_assertions(domain, file, line, func, assertion_flags,&\n& pattern) bind(c)\n  import :: c_char, c_int, c_int64_t\n  implicit none\n  character(kind=c_char), dimension(*) :: domain\n  character(kind=c_char), dimension(*) :: file\n  integer(c_int), value :: line\n  character(kind=c_char), dimension(*) :: func\n  integer(c_int64_t), value :: assertion_flags\n  character(kind=c_char), dimension(*) :: pattern\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_assertion_message (const char *domain, const char *file, int line, const char *func, const char *message) ;\nsubroutine g_assertion_message(domain, file, line, func, message) bind(c)\n  import :: c_char, c_int\n  implicit none\n  character(kind=c_char), dimension(*) :: domain\n  character(kind=c_char), dimension(*) :: file\n  integer(c_int), value :: line\n  character(kind=c_char), dimension(*) :: func\n  character(kind=c_char), dimension(*) :: message\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!G_NORETURN void g_assertion_message_expr (const char *domain, const char *file, int line, const char *func, const char *expr);\nsubroutine g_assertion_message_expr(domain, file, line, func, expr) bind(c)\n  import :: c_char, c_int\n  implicit none\n  character(kind=c_char), dimension(*) :: domain\n  character(kind=c_char), dimension(*) :: file\n  integer(c_int), value :: line\n  character(kind=c_char), dimension(*) :: func\n  character(kind=c_char), dimension(*) :: expr\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_assertion_message_cmpstr (const char *domain, const char *file, int line, const char *func, const char *expr, const char *arg1, const char *cmp, const char *arg2) ;\nsubroutine g_assertion_message_cmpstr(domain, file, line, func, expr, arg1,&\n& cmp, arg2) bind(c)\n  import :: c_char, c_int\n  implicit none\n  character(kind=c_char), dimension(*) :: domain\n  character(kind=c_char), dimension(*) :: file\n  integer(c_int), value :: line\n  character(kind=c_char), dimension(*) :: func\n  character(kind=c_char), dimension(*) :: expr\n  character(kind=c_char), dimension(*) :: arg1\n  character(kind=c_char), dimension(*) :: cmp\n  character(kind=c_char), dimension(*) :: arg2\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_68\n!void g_assertion_message_cmpstrv (const char *domain, const char *file, int line, const char *func, const char *expr, const char * const *arg1, const char * const *arg2, gsize first_wrong_idx) ;\nsubroutine g_assertion_message_cmpstrv(domain, file, line, func, expr, arg1,&\n& arg2, first_wrong_idx) bind(c)\n  import :: c_char, c_int, c_ptr, c_size_t\n  implicit none\n  character(kind=c_char), dimension(*) :: domain\n  character(kind=c_char), dimension(*) :: file\n  integer(c_int), value :: line\n  character(kind=c_char), dimension(*) :: func\n  character(kind=c_char), dimension(*) :: expr\n  type(c_ptr), dimension(*) :: arg1\n  type(c_ptr), dimension(*) :: arg2\n  integer(c_size_t), value :: first_wrong_idx\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_78\n!void g_assertion_message_cmpint (const char *domain, const char *file, int line, const char *func, const char *expr, guint64 arg1, const char *cmp, guint64 arg2, char numtype) ;\nsubroutine g_assertion_message_cmpint(domain, file, line, func, expr, arg1,&\n& cmp, arg2, numtype) bind(c)\n  import :: c_char, c_int, c_int64_t\n  implicit none\n  character(kind=c_char), dimension(*) :: domain\n  character(kind=c_char), dimension(*) :: file\n  integer(c_int), value :: line\n  character(kind=c_char), dimension(*) :: func\n  character(kind=c_char), dimension(*) :: expr\n  integer(c_int64_t), value :: arg1\n  character(kind=c_char), dimension(*) :: cmp\n  integer(c_int64_t), value :: arg2\n  character(kind=c_char), value :: numtype\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_assertion_message_cmpnum (const char *domain, const char *file, int line, const char *func, const char *expr, long double arg1, const char *cmp, long double arg2, char numtype) ;\nsubroutine g_assertion_message_cmpnum(domain, file, line, func, expr, arg1,&\n& cmp, arg2, numtype) bind(c)\n  import :: c_char, c_int, c_long_double\n  implicit none\n  character(kind=c_char), dimension(*) :: domain\n  character(kind=c_char), dimension(*) :: file\n  integer(c_int), value :: line\n  character(kind=c_char), dimension(*) :: func\n  character(kind=c_char), dimension(*) :: expr\n  real(c_long_double), value :: arg1\n  character(kind=c_char), dimension(*) :: cmp\n  real(c_long_double), value :: arg2\n  character(kind=c_char), value :: numtype\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_assertion_message_error (const char *domain, const char *file, int line, const char *func, const char *expr, const GError *error, GQuark error_domain, int error_code) ;\nsubroutine g_assertion_message_error(domain, file, line, func, expr, error,&\n& error_domain, error_code) bind(c)\n  import :: c_char, c_int, c_ptr, c_int32_t\n  implicit none\n  character(kind=c_char), dimension(*) :: domain\n  character(kind=c_char), dimension(*) :: file\n  integer(c_int), value :: line\n  character(kind=c_char), dimension(*) :: func\n  character(kind=c_char), dimension(*) :: expr\n  type(c_ptr), value :: error\n  integer(c_int32_t), value :: error_domain\n  integer(c_int), value :: error_code\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_test_add_vtable (const char *testpath, gsize data_size, gconstpointer test_data, GTestFixtureFunc data_setup, GTestFixtureFunc data_test, GTestFixtureFunc data_teardown);\nsubroutine g_test_add_vtable(testpath, data_size, test_data, data_setup,&\n& data_test, data_teardown) bind(c)\n  import :: c_char, c_size_t, c_ptr, c_funptr\n  implicit none\n  character(kind=c_char), dimension(*) :: testpath\n  integer(c_size_t), value :: data_size\n  type(c_ptr), value :: test_data\n  type(c_funptr), value :: data_setup\n  type(c_funptr), value :: data_test\n  type(c_funptr), value :: data_teardown\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!const char* g_test_log_type_name (GTestLogType log_type);\nfunction g_test_log_type_name(log_type) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_test_log_type_name\n  integer(c_int), value :: log_type\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GTestLogBuffer* g_test_log_buffer_new (void);\nfunction g_test_log_buffer_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_test_log_buffer_new\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_test_log_buffer_free (GTestLogBuffer *tbuffer);\nsubroutine g_test_log_buffer_free(tbuffer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tbuffer\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_test_log_buffer_push (GTestLogBuffer *tbuffer, guint n_bytes, const guint8 *bytes);\nsubroutine g_test_log_buffer_push(tbuffer, n_bytes, bytes) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tbuffer\n  integer(c_int), value :: n_bytes\n  type(c_ptr), value :: bytes\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GTestLogMsg* g_test_log_buffer_pop (GTestLogBuffer *tbuffer);\nfunction g_test_log_buffer_pop(tbuffer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_test_log_buffer_pop\n  type(c_ptr), value :: tbuffer\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_test_log_msg_free (GTestLogMsg *tmsg);\nsubroutine g_test_log_msg_free(tmsg) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tmsg\nend subroutine\n\n! \n!void g_test_log_set_fatal_handler (GTestLogFatalFunc log_func, gpointer user_data);\nsubroutine g_test_log_set_fatal_handler(log_func, user_data) bind(c)\n  import :: c_funptr, c_ptr\n  implicit none\n  type(c_funptr), value :: log_func\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_34\n!void g_test_expect_message (const gchar *log_domain, GLogLevelFlags log_level, const gchar *pattern);\nsubroutine g_test_expect_message(log_domain, log_level, pattern) bind(c)\n  import :: c_char, c_int\n  implicit none\n  character(kind=c_char), dimension(*) :: log_domain\n  integer(c_int), value :: log_level\n  character(kind=c_char), dimension(*) :: pattern\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_34\n!void g_test_assert_expected_messages_internal (const char *domain, const char *file, int line, const char *func);\nsubroutine g_test_assert_expected_messages_internal(domain, file, line, func)&\n& bind(c)\n  import :: c_char, c_int\n  implicit none\n  character(kind=c_char), dimension(*) :: domain\n  character(kind=c_char), dimension(*) :: file\n  integer(c_int), value :: line\n  character(kind=c_char), dimension(*) :: func\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_38\n!const gchar *g_test_get_dir (GTestFileType file_type);\nfunction g_test_get_dir(file_type) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_test_get_dir\n  integer(c_int), value :: file_type\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gthread.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!GQuark g_thread_error_quark (void);\nfunction g_thread_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: g_thread_error_quark\nend function\n\n! GLIB_AVAILABLE_IN_2_32\n!GThread * g_thread_ref (GThread *thread);\nfunction g_thread_ref(thread) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_thread_ref\n  type(c_ptr), value :: thread\nend function\n\n! GLIB_AVAILABLE_IN_2_32\n!void g_thread_unref (GThread *thread);\nsubroutine g_thread_unref(thread) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: thread\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_32\n!GThread * g_thread_new (const gchar *name, GThreadFunc func, gpointer data);\nfunction g_thread_new(name, func, data) bind(c)\n  import :: c_ptr, c_char, c_funptr\n  implicit none\n  type(c_ptr) :: g_thread_new\n  character(kind=c_char), dimension(*) :: name\n  type(c_funptr), value :: func\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_2_32\n!GThread * g_thread_try_new (const gchar *name, GThreadFunc func, gpointer data, GError **error);\nfunction g_thread_try_new(name, func, data, error) bind(c)\n  import :: c_ptr, c_char, c_funptr\n  implicit none\n  type(c_ptr) :: g_thread_try_new\n  character(kind=c_char), dimension(*) :: name\n  type(c_funptr), value :: func\n  type(c_ptr), value :: data\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GThread * g_thread_self (void);\nfunction g_thread_self() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_thread_self\nend function\n\n! G_NORETURN GLIB_AVAILABLE_IN_ALL\n!void g_thread_exit (gpointer retval);\nsubroutine g_thread_exit(retval) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: retval\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_thread_join (GThread *thread);\nfunction g_thread_join(thread) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_thread_join\n  type(c_ptr), value :: thread\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_thread_yield (void);\nsubroutine g_thread_yield() bind(c)\n  implicit none\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_84\n!const char * g_thread_get_name (GThread *thread);\nfunction g_thread_get_name(thread) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_thread_get_name\n  type(c_ptr), value :: thread\nend function\n\n! GLIB_AVAILABLE_IN_2_32\n!void g_mutex_init (GMutex *mutex);\nsubroutine g_mutex_init(mutex) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: mutex\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_32\n!void g_mutex_clear (GMutex *mutex);\nsubroutine g_mutex_clear(mutex) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: mutex\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_mutex_lock (GMutex *mutex);\nsubroutine g_mutex_lock(mutex) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: mutex\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_mutex_trylock (GMutex *mutex);\nfunction g_mutex_trylock(mutex) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_mutex_trylock\n  type(c_ptr), value :: mutex\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_mutex_unlock (GMutex *mutex);\nsubroutine g_mutex_unlock(mutex) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: mutex\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_32\n!void g_rw_lock_init (GRWLock *rw_lock);\nsubroutine g_rw_lock_init(rw_lock) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: rw_lock\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_32\n!void g_rw_lock_clear (GRWLock *rw_lock);\nsubroutine g_rw_lock_clear(rw_lock) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: rw_lock\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_32\n!void g_rw_lock_writer_lock (GRWLock *rw_lock);\nsubroutine g_rw_lock_writer_lock(rw_lock) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: rw_lock\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_32\n!gboolean g_rw_lock_writer_trylock (GRWLock *rw_lock);\nfunction g_rw_lock_writer_trylock(rw_lock) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_rw_lock_writer_trylock\n  type(c_ptr), value :: rw_lock\nend function\n\n! GLIB_AVAILABLE_IN_2_32\n!void g_rw_lock_writer_unlock (GRWLock *rw_lock);\nsubroutine g_rw_lock_writer_unlock(rw_lock) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: rw_lock\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_32\n!void g_rw_lock_reader_lock (GRWLock *rw_lock);\nsubroutine g_rw_lock_reader_lock(rw_lock) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: rw_lock\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_32\n!gboolean g_rw_lock_reader_trylock (GRWLock *rw_lock);\nfunction g_rw_lock_reader_trylock(rw_lock) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_rw_lock_reader_trylock\n  type(c_ptr), value :: rw_lock\nend function\n\n! GLIB_AVAILABLE_IN_2_32\n!void g_rw_lock_reader_unlock (GRWLock *rw_lock);\nsubroutine g_rw_lock_reader_unlock(rw_lock) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: rw_lock\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_32\n!void g_rec_mutex_init (GRecMutex *rec_mutex);\nsubroutine g_rec_mutex_init(rec_mutex) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: rec_mutex\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_32\n!void g_rec_mutex_clear (GRecMutex *rec_mutex);\nsubroutine g_rec_mutex_clear(rec_mutex) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: rec_mutex\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_32\n!void g_rec_mutex_lock (GRecMutex *rec_mutex);\nsubroutine g_rec_mutex_lock(rec_mutex) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: rec_mutex\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_32\n!gboolean g_rec_mutex_trylock (GRecMutex *rec_mutex);\nfunction g_rec_mutex_trylock(rec_mutex) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_rec_mutex_trylock\n  type(c_ptr), value :: rec_mutex\nend function\n\n! GLIB_AVAILABLE_IN_2_32\n!void g_rec_mutex_unlock (GRecMutex *rec_mutex);\nsubroutine g_rec_mutex_unlock(rec_mutex) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: rec_mutex\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_32\n!void g_cond_init (GCond *cond);\nsubroutine g_cond_init(cond) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cond\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_32\n!void g_cond_clear (GCond *cond);\nsubroutine g_cond_clear(cond) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cond\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_cond_wait (GCond *cond, GMutex *mutex);\nsubroutine g_cond_wait(cond, mutex) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cond\n  type(c_ptr), value :: mutex\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_cond_signal (GCond *cond);\nsubroutine g_cond_signal(cond) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cond\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_cond_broadcast (GCond *cond);\nsubroutine g_cond_broadcast(cond) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cond\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_32\n!gboolean g_cond_wait_until (GCond *cond, GMutex *mutex, gint64 end_time);\nfunction g_cond_wait_until(cond, mutex, end_time) bind(c)\n  import :: c_int, c_ptr, c_int64_t\n  implicit none\n  integer(c_int) :: g_cond_wait_until\n  type(c_ptr), value :: cond\n  type(c_ptr), value :: mutex\n  integer(c_int64_t), value :: end_time\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_private_get (GPrivate *key);\nfunction g_private_get(key) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_private_get\n  type(c_ptr), value :: key\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_private_set (GPrivate *key, gpointer value);\nsubroutine g_private_set(key, value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: key\n  type(c_ptr), value :: value\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_32\n!void g_private_replace (GPrivate *key, gpointer value);\nsubroutine g_private_replace(key, value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: key\n  type(c_ptr), value :: value\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_once_impl (GOnce *once, GThreadFunc func, gpointer arg);\nfunction g_once_impl(once, func, arg) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_once_impl\n  type(c_ptr), value :: once\n  type(c_funptr), value :: func\n  type(c_ptr), value :: arg\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_once_init_enter (volatile void *location);\nfunction g_once_init_enter(location) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_once_init_enter\n  type(c_ptr), value :: location\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_once_init_leave (volatile void *location, gsize result);\nsubroutine g_once_init_leave(location, result) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr), value :: location\n  integer(c_size_t), value :: result\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_80\n!gboolean g_once_init_enter_pointer (void *location);\nfunction g_once_init_enter_pointer(location) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_once_init_enter_pointer\n  type(c_ptr), value :: location\nend function\n\n! GLIB_AVAILABLE_IN_2_80\n!void g_once_init_leave_pointer (void *location, gpointer result);\nsubroutine g_once_init_leave_pointer(location, result) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: location\n  type(c_ptr), value :: result\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_36\n!guint g_get_num_processors (void);\nfunction g_get_num_processors() bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: g_get_num_processors\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gthreadpool.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!GThreadPool * g_thread_pool_new (GFunc func, gpointer user_data, gint max_threads, gboolean exclusive, GError **error);\nfunction g_thread_pool_new(func, user_data, max_threads, exclusive, error)&\n& bind(c)\n  import :: c_ptr, c_funptr, c_int\n  implicit none\n  type(c_ptr) :: g_thread_pool_new\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\n  integer(c_int), value :: max_threads\n  integer(c_int), value :: exclusive\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_2_70\n!GThreadPool * g_thread_pool_new_full (GFunc func, gpointer user_data, GDestroyNotify item_free_func, gint max_threads, gboolean exclusive, GError **error);\nfunction g_thread_pool_new_full(func, user_data, item_free_func, max_threads,&\n& exclusive, error) bind(c)\n  import :: c_ptr, c_funptr, c_int\n  implicit none\n  type(c_ptr) :: g_thread_pool_new_full\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: item_free_func\n  integer(c_int), value :: max_threads\n  integer(c_int), value :: exclusive\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_thread_pool_free (GThreadPool *pool, gboolean immediate, gboolean wait_);\nsubroutine g_thread_pool_free(pool, immediate, wait_) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: pool\n  integer(c_int), value :: immediate\n  integer(c_int), value :: wait_\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_thread_pool_push (GThreadPool *pool, gpointer data, GError **error);\nfunction g_thread_pool_push(pool, data, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_thread_pool_push\n  type(c_ptr), value :: pool\n  type(c_ptr), value :: data\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_thread_pool_unprocessed (GThreadPool *pool);\nfunction g_thread_pool_unprocessed(pool) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_thread_pool_unprocessed\n  type(c_ptr), value :: pool\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_thread_pool_set_sort_function (GThreadPool *pool, GCompareDataFunc func, gpointer user_data);\nsubroutine g_thread_pool_set_sort_function(pool, func, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: pool\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_46\n!gboolean g_thread_pool_move_to_front (GThreadPool *pool, gpointer data);\nfunction g_thread_pool_move_to_front(pool, data) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_thread_pool_move_to_front\n  type(c_ptr), value :: pool\n  type(c_ptr), value :: data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_thread_pool_set_max_threads (GThreadPool *pool, gint max_threads, GError **error);\nfunction g_thread_pool_set_max_threads(pool, max_threads, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_thread_pool_set_max_threads\n  type(c_ptr), value :: pool\n  integer(c_int), value :: max_threads\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_thread_pool_get_max_threads (GThreadPool *pool);\nfunction g_thread_pool_get_max_threads(pool) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_thread_pool_get_max_threads\n  type(c_ptr), value :: pool\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_thread_pool_get_num_threads (GThreadPool *pool);\nfunction g_thread_pool_get_num_threads(pool) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_thread_pool_get_num_threads\n  type(c_ptr), value :: pool\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_thread_pool_set_max_unused_threads (gint max_threads);\nsubroutine g_thread_pool_set_max_unused_threads(max_threads) bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int), value :: max_threads\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_thread_pool_get_max_unused_threads (void);\nfunction g_thread_pool_get_max_unused_threads() bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: g_thread_pool_get_max_unused_threads\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_thread_pool_get_num_unused_threads (void);\nfunction g_thread_pool_get_num_unused_threads() bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: g_thread_pool_get_num_unused_threads\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_thread_pool_stop_unused_threads (void);\nsubroutine g_thread_pool_stop_unused_threads() bind(c)\n  implicit none\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_thread_pool_set_max_idle_time (guint interval);\nsubroutine g_thread_pool_set_max_idle_time(interval) bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int), value :: interval\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_thread_pool_get_max_idle_time (void);\nfunction g_thread_pool_get_max_idle_time() bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: g_thread_pool_get_max_idle_time\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gtimer.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!GTimer* g_timer_new (void);\nfunction g_timer_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_timer_new\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_timer_destroy (GTimer *timer);\nsubroutine g_timer_destroy(timer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: timer\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_timer_start (GTimer *timer);\nsubroutine g_timer_start(timer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: timer\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_timer_stop (GTimer *timer);\nsubroutine g_timer_stop(timer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: timer\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_timer_reset (GTimer *timer);\nsubroutine g_timer_reset(timer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: timer\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_timer_continue (GTimer *timer);\nsubroutine g_timer_continue(timer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: timer\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gdouble g_timer_elapsed (GTimer *timer, gulong *microseconds);\nfunction g_timer_elapsed(timer, microseconds) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: g_timer_elapsed\n  type(c_ptr), value :: timer\n  type(c_ptr), value :: microseconds\nend function\n\n! GLIB_AVAILABLE_IN_2_62\n!gboolean g_timer_is_active (GTimer *timer);\nfunction g_timer_is_active(timer) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_timer_is_active\n  type(c_ptr), value :: timer\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_usleep (gulong microseconds);\nsubroutine g_usleep(microseconds) bind(c)\n  import :: c_long\n  implicit none\n  integer(c_long), value :: microseconds\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_62\n!void g_time_val_add (GTimeVal *time_, glong microseconds);\nsubroutine g_time_val_add(time_, microseconds) bind(c)\n  import :: c_ptr, c_long\n  implicit none\n  type(c_ptr), value :: time_\n  integer(c_long), value :: microseconds\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_62_FOR(g_date_time_new_from_iso8601)\n!gboolean g_time_val_from_iso8601 (const gchar *iso_date, GTimeVal *time_);\nfunction g_time_val_from_iso8601(iso_date, time_) bind(c)\n  import :: c_int, c_char, c_ptr\n  implicit none\n  integer(c_int) :: g_time_val_from_iso8601\n  character(kind=c_char), dimension(*) :: iso_date\n  type(c_ptr), value :: time_\nend function\n\n! GLIB_DEPRECATED_IN_2_62_FOR(g_date_time_format)\n!gchar* g_time_val_to_iso8601 (GTimeVal *time_) ;\nfunction g_time_val_to_iso8601(time_) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_time_val_to_iso8601\n  type(c_ptr), value :: time_\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gtimezone.h\n!--------------------------------------------------\n! GLIB_DEPRECATED_IN_2_68_FOR (g_time_zone_new_identifier)\n!GTimeZone * g_time_zone_new (const gchar *identifier);\nfunction g_time_zone_new(identifier) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_time_zone_new\n  character(kind=c_char), dimension(*) :: identifier\nend function\n\n! GLIB_AVAILABLE_IN_2_68\n!GTimeZone * g_time_zone_new_identifier (const gchar *identifier);\nfunction g_time_zone_new_identifier(identifier) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_time_zone_new_identifier\n  character(kind=c_char), dimension(*) :: identifier\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GTimeZone * g_time_zone_new_utc (void);\nfunction g_time_zone_new_utc() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_time_zone_new_utc\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GTimeZone * g_time_zone_new_local (void);\nfunction g_time_zone_new_local() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_time_zone_new_local\nend function\n\n! GLIB_AVAILABLE_IN_2_58\n!GTimeZone * g_time_zone_new_offset (gint32 seconds);\nfunction g_time_zone_new_offset(seconds) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr) :: g_time_zone_new_offset\n  integer(c_int32_t), value :: seconds\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GTimeZone * g_time_zone_ref (GTimeZone *tz);\nfunction g_time_zone_ref(tz) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_time_zone_ref\n  type(c_ptr), value :: tz\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_time_zone_unref (GTimeZone *tz);\nsubroutine g_time_zone_unref(tz) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tz\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_time_zone_find_interval (GTimeZone *tz, GTimeType type, gint64 time_);\nfunction g_time_zone_find_interval(tz, type, time_) bind(c)\n  import :: c_int, c_ptr, c_int64_t\n  implicit none\n  integer(c_int) :: g_time_zone_find_interval\n  type(c_ptr), value :: tz\n  integer(c_int), value :: type\n  integer(c_int64_t), value :: time_\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_time_zone_adjust_time (GTimeZone *tz, GTimeType type, gint64 *time_);\nfunction g_time_zone_adjust_time(tz, type, time_) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_time_zone_adjust_time\n  type(c_ptr), value :: tz\n  integer(c_int), value :: type\n  type(c_ptr), value :: time_\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar * g_time_zone_get_abbreviation (GTimeZone *tz, gint interval);\nfunction g_time_zone_get_abbreviation(tz, interval) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_time_zone_get_abbreviation\n  type(c_ptr), value :: tz\n  integer(c_int), value :: interval\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint32 g_time_zone_get_offset (GTimeZone *tz, gint interval);\nfunction g_time_zone_get_offset(tz, interval) bind(c)\n  import :: c_int32_t, c_ptr, c_int\n  implicit none\n  integer(c_int32_t) :: g_time_zone_get_offset\n  type(c_ptr), value :: tz\n  integer(c_int), value :: interval\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_time_zone_is_dst (GTimeZone *tz, gint interval);\nfunction g_time_zone_is_dst(tz, interval) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_time_zone_is_dst\n  type(c_ptr), value :: tz\n  integer(c_int), value :: interval\nend function\n\n! GLIB_AVAILABLE_IN_2_58\n!const gchar * g_time_zone_get_identifier (GTimeZone *tz);\nfunction g_time_zone_get_identifier(tz) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_time_zone_get_identifier\n  type(c_ptr), value :: tz\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gtrashstack.h\n!--------------------------------------------------\n! GLIB_DEPRECATED_IN_2_48\n!void g_trash_stack_push (GTrashStack **stack_p, gpointer data_p);\nsubroutine g_trash_stack_push(stack_p, data_p) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: stack_p\n  type(c_ptr), value :: data_p\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_48\n!gpointer g_trash_stack_pop (GTrashStack **stack_p);\nfunction g_trash_stack_pop(stack_p) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_trash_stack_pop\n  type(c_ptr), value :: stack_p\nend function\n\n! GLIB_DEPRECATED_IN_2_48\n!gpointer g_trash_stack_peek (GTrashStack **stack_p);\nfunction g_trash_stack_peek(stack_p) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_trash_stack_peek\n  type(c_ptr), value :: stack_p\nend function\n\n! GLIB_DEPRECATED_IN_2_48\n!guint g_trash_stack_height (GTrashStack **stack_p);\nfunction g_trash_stack_height(stack_p) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_trash_stack_height\n  type(c_ptr), value :: stack_p\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gtree.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!GTree* g_tree_new (GCompareFunc key_compare_func);\nfunction g_tree_new(key_compare_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_tree_new\n  type(c_funptr), value :: key_compare_func\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GTree* g_tree_new_with_data (GCompareDataFunc key_compare_func, gpointer key_compare_data);\nfunction g_tree_new_with_data(key_compare_func, key_compare_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_tree_new_with_data\n  type(c_funptr), value :: key_compare_func\n  type(c_ptr), value :: key_compare_data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GTree* g_tree_new_full (GCompareDataFunc key_compare_func, gpointer key_compare_data, GDestroyNotify key_destroy_func, GDestroyNotify value_destroy_func);\nfunction g_tree_new_full(key_compare_func, key_compare_data, key_destroy_func,&\n& value_destroy_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_tree_new_full\n  type(c_funptr), value :: key_compare_func\n  type(c_ptr), value :: key_compare_data\n  type(c_funptr), value :: key_destroy_func\n  type(c_funptr), value :: value_destroy_func\nend function\n\n! GLIB_AVAILABLE_IN_2_68\n!GTreeNode *g_tree_node_first (GTree *tree);\nfunction g_tree_node_first(tree) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tree_node_first\n  type(c_ptr), value :: tree\nend function\n\n! GLIB_AVAILABLE_IN_2_68\n!GTreeNode *g_tree_node_last (GTree *tree);\nfunction g_tree_node_last(tree) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tree_node_last\n  type(c_ptr), value :: tree\nend function\n\n! GLIB_AVAILABLE_IN_2_68\n!GTreeNode *g_tree_node_previous (GTreeNode *node);\nfunction g_tree_node_previous(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tree_node_previous\n  type(c_ptr), value :: node\nend function\n\n! GLIB_AVAILABLE_IN_2_68\n!GTreeNode *g_tree_node_next (GTreeNode *node);\nfunction g_tree_node_next(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tree_node_next\n  type(c_ptr), value :: node\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GTree* g_tree_ref (GTree *tree);\nfunction g_tree_ref(tree) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tree_ref\n  type(c_ptr), value :: tree\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_tree_unref (GTree *tree);\nsubroutine g_tree_unref(tree) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_tree_destroy (GTree *tree);\nsubroutine g_tree_destroy(tree) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_68\n!GTreeNode *g_tree_insert_node (GTree *tree, gpointer key, gpointer value);\nfunction g_tree_insert_node(tree, key, value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tree_insert_node\n  type(c_ptr), value :: tree\n  type(c_ptr), value :: key\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_tree_insert (GTree *tree, gpointer key, gpointer value);\nsubroutine g_tree_insert(tree, key, value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree\n  type(c_ptr), value :: key\n  type(c_ptr), value :: value\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_68\n!GTreeNode *g_tree_replace_node (GTree *tree, gpointer key, gpointer value);\nfunction g_tree_replace_node(tree, key, value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tree_replace_node\n  type(c_ptr), value :: tree\n  type(c_ptr), value :: key\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_tree_replace (GTree *tree, gpointer key, gpointer value);\nsubroutine g_tree_replace(tree, key, value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree\n  type(c_ptr), value :: key\n  type(c_ptr), value :: value\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_tree_remove (GTree *tree, gconstpointer key);\nfunction g_tree_remove(tree, key) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_tree_remove\n  type(c_ptr), value :: tree\n  type(c_ptr), value :: key\nend function\n\n! GLIB_AVAILABLE_IN_2_70\n!void g_tree_remove_all (GTree *tree);\nsubroutine g_tree_remove_all(tree) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_tree_steal (GTree *tree, gconstpointer key);\nfunction g_tree_steal(tree, key) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_tree_steal\n  type(c_ptr), value :: tree\n  type(c_ptr), value :: key\nend function\n\n! GLIB_AVAILABLE_IN_2_68\n!gpointer g_tree_node_key (GTreeNode *node);\nfunction g_tree_node_key(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tree_node_key\n  type(c_ptr), value :: node\nend function\n\n! GLIB_AVAILABLE_IN_2_68\n!gpointer g_tree_node_value (GTreeNode *node);\nfunction g_tree_node_value(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tree_node_value\n  type(c_ptr), value :: node\nend function\n\n! GLIB_AVAILABLE_IN_2_68\n!GTreeNode *g_tree_lookup_node (GTree *tree, gconstpointer key);\nfunction g_tree_lookup_node(tree, key) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tree_lookup_node\n  type(c_ptr), value :: tree\n  type(c_ptr), value :: key\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_tree_lookup (GTree *tree, gconstpointer key);\nfunction g_tree_lookup(tree, key) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tree_lookup\n  type(c_ptr), value :: tree\n  type(c_ptr), value :: key\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_tree_lookup_extended (GTree *tree, gconstpointer lookup_key, gpointer *orig_key, gpointer *value);\nfunction g_tree_lookup_extended(tree, lookup_key, orig_key, value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_tree_lookup_extended\n  type(c_ptr), value :: tree\n  type(c_ptr), value :: lookup_key\n  type(c_ptr), value :: orig_key\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_tree_foreach (GTree *tree, GTraverseFunc func, gpointer user_data);\nsubroutine g_tree_foreach(tree, func, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: tree\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_68\n!void g_tree_foreach_node (GTree *tree, GTraverseNodeFunc func, gpointer user_data);\nsubroutine g_tree_foreach_node(tree, func, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: tree\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GLIB_DEPRECATED\n!void g_tree_traverse (GTree *tree, GTraverseFunc traverse_func, GTraverseType traverse_type, gpointer user_data);\nsubroutine g_tree_traverse(tree, traverse_func, traverse_type, user_data)&\n& bind(c)\n  import :: c_ptr, c_funptr, c_int\n  implicit none\n  type(c_ptr), value :: tree\n  type(c_funptr), value :: traverse_func\n  integer(c_int), value :: traverse_type\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_68\n!GTreeNode *g_tree_search_node (GTree *tree, GCompareFunc search_func, gconstpointer user_data);\nfunction g_tree_search_node(tree, search_func, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_tree_search_node\n  type(c_ptr), value :: tree\n  type(c_funptr), value :: search_func\n  type(c_ptr), value :: user_data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gpointer g_tree_search (GTree *tree, GCompareFunc search_func, gconstpointer user_data);\nfunction g_tree_search(tree, search_func, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_tree_search\n  type(c_ptr), value :: tree\n  type(c_funptr), value :: search_func\n  type(c_ptr), value :: user_data\nend function\n\n! GLIB_AVAILABLE_IN_2_68\n!GTreeNode *g_tree_lower_bound (GTree *tree, gconstpointer key);\nfunction g_tree_lower_bound(tree, key) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tree_lower_bound\n  type(c_ptr), value :: tree\n  type(c_ptr), value :: key\nend function\n\n! GLIB_AVAILABLE_IN_2_68\n!GTreeNode *g_tree_upper_bound (GTree *tree, gconstpointer key);\nfunction g_tree_upper_bound(tree, key) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_tree_upper_bound\n  type(c_ptr), value :: tree\n  type(c_ptr), value :: key\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_tree_height (GTree *tree);\nfunction g_tree_height(tree) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_tree_height\n  type(c_ptr), value :: tree\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_tree_nnodes (GTree *tree);\nfunction g_tree_nnodes(tree) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_tree_nnodes\n  type(c_ptr), value :: tree\nend function\n\n! \n!void g_tree_dump (GTree *tree);\nsubroutine g_tree_dump(tree) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gtypes.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gunicode.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!guint32 g_unicode_script_to_iso15924 (GUnicodeScript script);\nfunction g_unicode_script_to_iso15924(script) bind(c)\n  import :: c_int32_t, c_int\n  implicit none\n  integer(c_int32_t) :: g_unicode_script_to_iso15924\n  integer(c_int), value :: script\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GUnicodeScript g_unicode_script_from_iso15924 (guint32 iso15924);\nfunction g_unicode_script_from_iso15924(iso15924) bind(c)\n  import :: c_int, c_int32_t\n  implicit none\n  integer(c_int) :: g_unicode_script_from_iso15924\n  integer(c_int32_t), value :: iso15924\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_unichar_isalnum (gunichar c) ;\nfunction g_unichar_isalnum(c) bind(c)\n  import :: c_int, c_int32_t\n  implicit none\n  integer(c_int) :: g_unichar_isalnum\n  integer(c_int32_t), value :: c\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_unichar_isalpha (gunichar c) ;\nfunction g_unichar_isalpha(c) bind(c)\n  import :: c_int, c_int32_t\n  implicit none\n  integer(c_int) :: g_unichar_isalpha\n  integer(c_int32_t), value :: c\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_unichar_iscntrl (gunichar c) ;\nfunction g_unichar_iscntrl(c) bind(c)\n  import :: c_int, c_int32_t\n  implicit none\n  integer(c_int) :: g_unichar_iscntrl\n  integer(c_int32_t), value :: c\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_unichar_isdigit (gunichar c) ;\nfunction g_unichar_isdigit(c) bind(c)\n  import :: c_int, c_int32_t\n  implicit none\n  integer(c_int) :: g_unichar_isdigit\n  integer(c_int32_t), value :: c\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_unichar_isgraph (gunichar c) ;\nfunction g_unichar_isgraph(c) bind(c)\n  import :: c_int, c_int32_t\n  implicit none\n  integer(c_int) :: g_unichar_isgraph\n  integer(c_int32_t), value :: c\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_unichar_islower (gunichar c) ;\nfunction g_unichar_islower(c) bind(c)\n  import :: c_int, c_int32_t\n  implicit none\n  integer(c_int) :: g_unichar_islower\n  integer(c_int32_t), value :: c\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_unichar_isprint (gunichar c) ;\nfunction g_unichar_isprint(c) bind(c)\n  import :: c_int, c_int32_t\n  implicit none\n  integer(c_int) :: g_unichar_isprint\n  integer(c_int32_t), value :: c\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_unichar_ispunct (gunichar c) ;\nfunction g_unichar_ispunct(c) bind(c)\n  import :: c_int, c_int32_t\n  implicit none\n  integer(c_int) :: g_unichar_ispunct\n  integer(c_int32_t), value :: c\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_unichar_isspace (gunichar c) ;\nfunction g_unichar_isspace(c) bind(c)\n  import :: c_int, c_int32_t\n  implicit none\n  integer(c_int) :: g_unichar_isspace\n  integer(c_int32_t), value :: c\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_unichar_isupper (gunichar c) ;\nfunction g_unichar_isupper(c) bind(c)\n  import :: c_int, c_int32_t\n  implicit none\n  integer(c_int) :: g_unichar_isupper\n  integer(c_int32_t), value :: c\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_unichar_isxdigit (gunichar c) ;\nfunction g_unichar_isxdigit(c) bind(c)\n  import :: c_int, c_int32_t\n  implicit none\n  integer(c_int) :: g_unichar_isxdigit\n  integer(c_int32_t), value :: c\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_unichar_istitle (gunichar c) ;\nfunction g_unichar_istitle(c) bind(c)\n  import :: c_int, c_int32_t\n  implicit none\n  integer(c_int) :: g_unichar_istitle\n  integer(c_int32_t), value :: c\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_unichar_isdefined (gunichar c) ;\nfunction g_unichar_isdefined(c) bind(c)\n  import :: c_int, c_int32_t\n  implicit none\n  integer(c_int) :: g_unichar_isdefined\n  integer(c_int32_t), value :: c\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_unichar_iswide (gunichar c) ;\nfunction g_unichar_iswide(c) bind(c)\n  import :: c_int, c_int32_t\n  implicit none\n  integer(c_int) :: g_unichar_iswide\n  integer(c_int32_t), value :: c\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_unichar_iswide_cjk(gunichar c) ;\nfunction g_unichar_iswide_cjk(c) bind(c)\n  import :: c_int, c_int32_t\n  implicit none\n  integer(c_int) :: g_unichar_iswide_cjk\n  integer(c_int32_t), value :: c\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_unichar_iszerowidth(gunichar c) ;\nfunction g_unichar_iszerowidth(c) bind(c)\n  import :: c_int, c_int32_t\n  implicit none\n  integer(c_int) :: g_unichar_iszerowidth\n  integer(c_int32_t), value :: c\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_unichar_ismark (gunichar c) ;\nfunction g_unichar_ismark(c) bind(c)\n  import :: c_int, c_int32_t\n  implicit none\n  integer(c_int) :: g_unichar_ismark\n  integer(c_int32_t), value :: c\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gunichar g_unichar_toupper (gunichar c) ;\nfunction g_unichar_toupper(c) bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: g_unichar_toupper\n  integer(c_int32_t), value :: c\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gunichar g_unichar_tolower (gunichar c) ;\nfunction g_unichar_tolower(c) bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: g_unichar_tolower\n  integer(c_int32_t), value :: c\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gunichar g_unichar_totitle (gunichar c) ;\nfunction g_unichar_totitle(c) bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: g_unichar_totitle\n  integer(c_int32_t), value :: c\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_unichar_digit_value (gunichar c) ;\nfunction g_unichar_digit_value(c) bind(c)\n  import :: c_int, c_int32_t\n  implicit none\n  integer(c_int) :: g_unichar_digit_value\n  integer(c_int32_t), value :: c\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_unichar_xdigit_value (gunichar c) ;\nfunction g_unichar_xdigit_value(c) bind(c)\n  import :: c_int, c_int32_t\n  implicit none\n  integer(c_int) :: g_unichar_xdigit_value\n  integer(c_int32_t), value :: c\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GUnicodeType g_unichar_type (gunichar c) ;\nfunction g_unichar_type(c) bind(c)\n  import :: c_int, c_int32_t\n  implicit none\n  integer(c_int) :: g_unichar_type\n  integer(c_int32_t), value :: c\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GUnicodeBreakType g_unichar_break_type (gunichar c) ;\nfunction g_unichar_break_type(c) bind(c)\n  import :: c_int, c_int32_t\n  implicit none\n  integer(c_int) :: g_unichar_break_type\n  integer(c_int32_t), value :: c\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_unichar_combining_class (gunichar uc) ;\nfunction g_unichar_combining_class(uc) bind(c)\n  import :: c_int, c_int32_t\n  implicit none\n  integer(c_int) :: g_unichar_combining_class\n  integer(c_int32_t), value :: uc\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_unichar_get_mirror_char (gunichar ch, gunichar *mirrored_ch);\nfunction g_unichar_get_mirror_char(ch, mirrored_ch) bind(c)\n  import :: c_int, c_int32_t, c_char\n  implicit none\n  integer(c_int) :: g_unichar_get_mirror_char\n  integer(c_int32_t), value :: ch\n  character(kind=c_char), dimension(*) :: mirrored_ch\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GUnicodeScript g_unichar_get_script (gunichar ch) ;\nfunction g_unichar_get_script(ch) bind(c)\n  import :: c_int, c_int32_t\n  implicit none\n  integer(c_int) :: g_unichar_get_script\n  integer(c_int32_t), value :: ch\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_unichar_validate (gunichar ch) ;\nfunction g_unichar_validate(ch) bind(c)\n  import :: c_int, c_int32_t\n  implicit none\n  integer(c_int) :: g_unichar_validate\n  integer(c_int32_t), value :: ch\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_unichar_compose (gunichar a, gunichar b, gunichar *ch);\nfunction g_unichar_compose(a, b, ch) bind(c)\n  import :: c_int, c_int32_t, c_char\n  implicit none\n  integer(c_int) :: g_unichar_compose\n  integer(c_int32_t), value :: a\n  integer(c_int32_t), value :: b\n  character(kind=c_char), dimension(*) :: ch\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_unichar_decompose (gunichar ch, gunichar *a, gunichar *b);\nfunction g_unichar_decompose(ch, a, b) bind(c)\n  import :: c_int, c_int32_t, c_char\n  implicit none\n  integer(c_int) :: g_unichar_decompose\n  integer(c_int32_t), value :: ch\n  character(kind=c_char), dimension(*) :: a\n  character(kind=c_char), dimension(*) :: b\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gsize g_unichar_fully_decompose (gunichar ch, gboolean compat, gunichar *result, gsize result_len);\nfunction g_unichar_fully_decompose(ch, compat, result, result_len) bind(c)\n  import :: c_size_t, c_int32_t, c_int, c_char\n  implicit none\n  integer(c_size_t) :: g_unichar_fully_decompose\n  integer(c_int32_t), value :: ch\n  integer(c_int), value :: compat\n  character(kind=c_char), dimension(*) :: result\n  integer(c_size_t), value :: result_len\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_unicode_canonical_ordering (gunichar *string, gsize len);\nsubroutine g_unicode_canonical_ordering(string, len) bind(c)\n  import :: c_char, c_size_t\n  implicit none\n  character(kind=c_char), dimension(*) :: string\n  integer(c_size_t), value :: len\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_30\n!gunichar *g_unicode_canonical_decomposition (gunichar ch, gsize *result_len) ;\nfunction g_unicode_canonical_decomposition(ch, result_len) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr) :: g_unicode_canonical_decomposition\n  integer(c_int32_t), value :: ch\n  type(c_ptr), value :: result_len\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gunichar g_utf8_get_char (const gchar *p) ;\nfunction g_utf8_get_char(p) bind(c)\n  import :: c_int32_t, c_char\n  implicit none\n  integer(c_int32_t) :: g_utf8_get_char\n  character(kind=c_char), dimension(*) :: p\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gunichar g_utf8_get_char_validated (const gchar *p, gssize max_len) ;\nfunction g_utf8_get_char_validated(p, max_len) bind(c)\n  import :: c_int32_t, c_char, c_size_t\n  implicit none\n  integer(c_int32_t) :: g_utf8_get_char_validated\n  character(kind=c_char), dimension(*) :: p\n  integer(c_size_t), value :: max_len\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar* g_utf8_offset_to_pointer (const gchar *str, glong offset) ;\nfunction g_utf8_offset_to_pointer(str, offset) bind(c)\n  import :: c_ptr, c_char, c_long\n  implicit none\n  type(c_ptr) :: g_utf8_offset_to_pointer\n  character(kind=c_char), dimension(*) :: str\n  integer(c_long), value :: offset\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!glong g_utf8_pointer_to_offset (const gchar *str, const gchar *pos) ;\nfunction g_utf8_pointer_to_offset(str, pos) bind(c)\n  import :: c_long, c_char\n  implicit none\n  integer(c_long) :: g_utf8_pointer_to_offset\n  character(kind=c_char), dimension(*) :: str\n  character(kind=c_char), dimension(*) :: pos\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar* g_utf8_prev_char (const gchar *p) ;\nfunction g_utf8_prev_char(p) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_utf8_prev_char\n  character(kind=c_char), dimension(*) :: p\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar* g_utf8_find_next_char (const gchar *p, const gchar *end) ;\nfunction g_utf8_find_next_char(p, end) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_utf8_find_next_char\n  character(kind=c_char), dimension(*) :: p\n  character(kind=c_char), dimension(*) :: end\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar* g_utf8_find_prev_char (const gchar *str, const gchar *p) ;\nfunction g_utf8_find_prev_char(str, p) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_utf8_find_prev_char\n  character(kind=c_char), dimension(*) :: str\n  character(kind=c_char), dimension(*) :: p\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!glong g_utf8_strlen (const gchar *p, gssize max) ;\nfunction g_utf8_strlen(p, max) bind(c)\n  import :: c_long, c_char, c_size_t\n  implicit none\n  integer(c_long) :: g_utf8_strlen\n  character(kind=c_char), dimension(*) :: p\n  integer(c_size_t), value :: max\nend function\n\n! GLIB_AVAILABLE_IN_2_30\n!gchar *g_utf8_substring (const gchar *str, glong start_pos, glong end_pos) ;\nfunction g_utf8_substring(str, start_pos, end_pos) bind(c)\n  import :: c_ptr, c_char, c_long\n  implicit none\n  type(c_ptr) :: g_utf8_substring\n  character(kind=c_char), dimension(*) :: str\n  integer(c_long), value :: start_pos\n  integer(c_long), value :: end_pos\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar *g_utf8_strncpy (gchar *dest, const gchar *src, gsize n);\nfunction g_utf8_strncpy(dest, src, n) bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr) :: g_utf8_strncpy\n  character(kind=c_char), dimension(*) :: dest\n  character(kind=c_char), dimension(*) :: src\n  integer(c_size_t), value :: n\nend function\n\n! GLIB_AVAILABLE_IN_2_78\n!gchar *g_utf8_truncate_middle (const gchar *string, gsize truncate_length);\nfunction g_utf8_truncate_middle(string, truncate_length) bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr) :: g_utf8_truncate_middle\n  character(kind=c_char), dimension(*) :: string\n  integer(c_size_t), value :: truncate_length\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar* g_utf8_strchr (const gchar *p, gssize len, gunichar c);\nfunction g_utf8_strchr(p, len, c) bind(c)\n  import :: c_ptr, c_char, c_size_t, c_int32_t\n  implicit none\n  type(c_ptr) :: g_utf8_strchr\n  character(kind=c_char), dimension(*) :: p\n  integer(c_size_t), value :: len\n  integer(c_int32_t), value :: c\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar* g_utf8_strrchr (const gchar *p, gssize len, gunichar c);\nfunction g_utf8_strrchr(p, len, c) bind(c)\n  import :: c_ptr, c_char, c_size_t, c_int32_t\n  implicit none\n  type(c_ptr) :: g_utf8_strrchr\n  character(kind=c_char), dimension(*) :: p\n  integer(c_size_t), value :: len\n  integer(c_int32_t), value :: c\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar* g_utf8_strreverse (const gchar *str, gssize len);\nfunction g_utf8_strreverse(str, len) bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr) :: g_utf8_strreverse\n  character(kind=c_char), dimension(*) :: str\n  integer(c_size_t), value :: len\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gunichar2 *g_utf8_to_utf16 (const gchar *str, glong len, glong *items_read, glong *items_written, GError **error) ;\nfunction g_utf8_to_utf16(str, len, items_read, items_written, error) bind(c)\n  import :: c_ptr, c_char, c_long\n  implicit none\n  type(c_ptr) :: g_utf8_to_utf16\n  character(kind=c_char), dimension(*) :: str\n  integer(c_long), value :: len\n  type(c_ptr), value :: items_read\n  type(c_ptr), value :: items_written\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gunichar * g_utf8_to_ucs4 (const gchar *str, glong len, glong *items_read, glong *items_written, GError **error) ;\nfunction g_utf8_to_ucs4(str, len, items_read, items_written, error) bind(c)\n  import :: c_ptr, c_char, c_long\n  implicit none\n  type(c_ptr) :: g_utf8_to_ucs4\n  character(kind=c_char), dimension(*) :: str\n  integer(c_long), value :: len\n  type(c_ptr), value :: items_read\n  type(c_ptr), value :: items_written\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gunichar * g_utf8_to_ucs4_fast (const gchar *str, glong len, glong *items_written) ;\nfunction g_utf8_to_ucs4_fast(str, len, items_written) bind(c)\n  import :: c_ptr, c_char, c_long\n  implicit none\n  type(c_ptr) :: g_utf8_to_ucs4_fast\n  character(kind=c_char), dimension(*) :: str\n  integer(c_long), value :: len\n  type(c_ptr), value :: items_written\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gunichar * g_utf16_to_ucs4 (const gunichar2 *str, glong len, glong *items_read, glong *items_written, GError **error) ;\nfunction g_utf16_to_ucs4(str, len, items_read, items_written, error) bind(c)\n  import :: c_ptr, c_char, c_long\n  implicit none\n  type(c_ptr) :: g_utf16_to_ucs4\n  character(kind=c_char), dimension(*) :: str\n  integer(c_long), value :: len\n  type(c_ptr), value :: items_read\n  type(c_ptr), value :: items_written\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar* g_utf16_to_utf8 (const gunichar2 *str, glong len, glong *items_read, glong *items_written, GError **error) ;\nfunction g_utf16_to_utf8(str, len, items_read, items_written, error) bind(c)\n  import :: c_ptr, c_char, c_long\n  implicit none\n  type(c_ptr) :: g_utf16_to_utf8\n  character(kind=c_char), dimension(*) :: str\n  integer(c_long), value :: len\n  type(c_ptr), value :: items_read\n  type(c_ptr), value :: items_written\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gunichar2 *g_ucs4_to_utf16 (const gunichar *str, glong len, glong *items_read, glong *items_written, GError **error) ;\nfunction g_ucs4_to_utf16(str, len, items_read, items_written, error) bind(c)\n  import :: c_ptr, c_char, c_long\n  implicit none\n  type(c_ptr) :: g_ucs4_to_utf16\n  character(kind=c_char), dimension(*) :: str\n  integer(c_long), value :: len\n  type(c_ptr), value :: items_read\n  type(c_ptr), value :: items_written\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar* g_ucs4_to_utf8 (const gunichar *str, glong len, glong *items_read, glong *items_written, GError **error) ;\nfunction g_ucs4_to_utf8(str, len, items_read, items_written, error) bind(c)\n  import :: c_ptr, c_char, c_long\n  implicit none\n  type(c_ptr) :: g_ucs4_to_utf8\n  character(kind=c_char), dimension(*) :: str\n  integer(c_long), value :: len\n  type(c_ptr), value :: items_read\n  type(c_ptr), value :: items_written\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_unichar_to_utf8 (gunichar c, gchar *outbuf);\nfunction g_unichar_to_utf8(c, outbuf) bind(c)\n  import :: c_int, c_int32_t, c_char\n  implicit none\n  integer(c_int) :: g_unichar_to_utf8\n  integer(c_int32_t), value :: c\n  character(kind=c_char), dimension(*) :: outbuf\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_utf8_validate (const gchar *str, gssize max_len, const gchar **end);\nfunction g_utf8_validate(str, max_len, end) bind(c)\n  import :: c_int, c_char, c_size_t, c_ptr\n  implicit none\n  integer(c_int) :: g_utf8_validate\n  character(kind=c_char), dimension(*) :: str\n  integer(c_size_t), value :: max_len\n  type(c_ptr), dimension(*) :: end\nend function\n\n! GLIB_AVAILABLE_IN_2_60\n!gboolean g_utf8_validate_len (const gchar *str, gsize max_len, const gchar **end);\nfunction g_utf8_validate_len(str, max_len, end) bind(c)\n  import :: c_int, c_char, c_size_t, c_ptr\n  implicit none\n  integer(c_int) :: g_utf8_validate_len\n  character(kind=c_char), dimension(*) :: str\n  integer(c_size_t), value :: max_len\n  type(c_ptr), dimension(*) :: end\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar *g_utf8_strup (const gchar *str, gssize len) ;\nfunction g_utf8_strup(str, len) bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr) :: g_utf8_strup\n  character(kind=c_char), dimension(*) :: str\n  integer(c_size_t), value :: len\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar *g_utf8_strdown (const gchar *str, gssize len) ;\nfunction g_utf8_strdown(str, len) bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr) :: g_utf8_strdown\n  character(kind=c_char), dimension(*) :: str\n  integer(c_size_t), value :: len\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar *g_utf8_casefold (const gchar *str, gssize len) ;\nfunction g_utf8_casefold(str, len) bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr) :: g_utf8_casefold\n  character(kind=c_char), dimension(*) :: str\n  integer(c_size_t), value :: len\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar *g_utf8_normalize (const gchar *str, gssize len, GNormalizeMode mode) ;\nfunction g_utf8_normalize(str, len, mode) bind(c)\n  import :: c_ptr, c_char, c_size_t, c_int\n  implicit none\n  type(c_ptr) :: g_utf8_normalize\n  character(kind=c_char), dimension(*) :: str\n  integer(c_size_t), value :: len\n  integer(c_int), value :: mode\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_utf8_collate (const gchar *str1, const gchar *str2) ;\nfunction g_utf8_collate(str1, str2) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_utf8_collate\n  character(kind=c_char), dimension(*) :: str1\n  character(kind=c_char), dimension(*) :: str2\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar *g_utf8_collate_key (const gchar *str, gssize len) ;\nfunction g_utf8_collate_key(str, len) bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr) :: g_utf8_collate_key\n  character(kind=c_char), dimension(*) :: str\n  integer(c_size_t), value :: len\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar *g_utf8_collate_key_for_filename (const gchar *str, gssize len) ;\nfunction g_utf8_collate_key_for_filename(str, len) bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr) :: g_utf8_collate_key_for_filename\n  character(kind=c_char), dimension(*) :: str\n  integer(c_size_t), value :: len\nend function\n\n! GLIB_AVAILABLE_IN_2_52\n!gchar *g_utf8_make_valid (const gchar *str, gssize len) ;\nfunction g_utf8_make_valid(str, len) bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr) :: g_utf8_make_valid\n  character(kind=c_char), dimension(*) :: str\n  integer(c_size_t), value :: len\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/guri.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_2_66\n!GUri * g_uri_ref (GUri *uri);\nfunction g_uri_ref(uri) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_uri_ref\n  type(c_ptr), value :: uri\nend function\n\n! GLIB_AVAILABLE_IN_2_66\n!void g_uri_unref (GUri *uri);\nsubroutine g_uri_unref(uri) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: uri\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_66\n!gboolean g_uri_split_with_user (const gchar *uri_ref, GUriFlags flags, gchar **scheme, gchar **user, gchar **password, gchar **auth_params, gchar **host, gint *port, gchar **path, gchar **query, gchar **fragment, GError **error);\nfunction g_uri_split_with_user(uri_ref, flags, scheme, user, password,&\n& auth_params, host, port, path, query, fragment, error) bind(c)\n  import :: c_int, c_char, c_ptr\n  implicit none\n  integer(c_int) :: g_uri_split_with_user\n  character(kind=c_char), dimension(*) :: uri_ref\n  integer(c_int), value :: flags\n  type(c_ptr), dimension(*) :: scheme\n  type(c_ptr), dimension(*) :: user\n  type(c_ptr), dimension(*) :: password\n  type(c_ptr), dimension(*) :: auth_params\n  type(c_ptr), dimension(*) :: host\n  type(c_ptr), value :: port\n  type(c_ptr), dimension(*) :: path\n  type(c_ptr), dimension(*) :: query\n  type(c_ptr), dimension(*) :: fragment\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_2_66\n!gboolean g_uri_split_network (const gchar *uri_string, GUriFlags flags, gchar **scheme, gchar **host, gint *port, GError **error);\nfunction g_uri_split_network(uri_string, flags, scheme, host, port, error)&\n& bind(c)\n  import :: c_int, c_char, c_ptr\n  implicit none\n  integer(c_int) :: g_uri_split_network\n  character(kind=c_char), dimension(*) :: uri_string\n  integer(c_int), value :: flags\n  type(c_ptr), dimension(*) :: scheme\n  type(c_ptr), dimension(*) :: host\n  type(c_ptr), value :: port\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_2_66\n!gboolean g_uri_is_valid (const gchar *uri_string, GUriFlags flags, GError **error);\nfunction g_uri_is_valid(uri_string, flags, error) bind(c)\n  import :: c_int, c_char, c_ptr\n  implicit none\n  integer(c_int) :: g_uri_is_valid\n  character(kind=c_char), dimension(*) :: uri_string\n  integer(c_int), value :: flags\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_2_66\n!gchar * g_uri_join (GUriFlags flags, const gchar *scheme, const gchar *userinfo, const gchar *host, gint port, const gchar *path, const gchar *query, const gchar *fragment);\nfunction g_uri_join(flags, scheme, userinfo, host, port, path, query, fragment)&\n& bind(c)\n  import :: c_ptr, c_int, c_char\n  implicit none\n  type(c_ptr) :: g_uri_join\n  integer(c_int), value :: flags\n  character(kind=c_char), dimension(*) :: scheme\n  character(kind=c_char), dimension(*) :: userinfo\n  character(kind=c_char), dimension(*) :: host\n  integer(c_int), value :: port\n  character(kind=c_char), dimension(*) :: path\n  character(kind=c_char), dimension(*) :: query\n  character(kind=c_char), dimension(*) :: fragment\nend function\n\n! GLIB_AVAILABLE_IN_2_66\n!gchar * g_uri_join_with_user (GUriFlags flags, const gchar *scheme, const gchar *user, const gchar *password, const gchar *auth_params, const gchar *host, gint port, const gchar *path, const gchar *query, const gchar *fragment);\nfunction g_uri_join_with_user(flags, scheme, user, password, auth_params, host,&\n& port, path, query, fragment) bind(c)\n  import :: c_ptr, c_int, c_char\n  implicit none\n  type(c_ptr) :: g_uri_join_with_user\n  integer(c_int), value :: flags\n  character(kind=c_char), dimension(*) :: scheme\n  character(kind=c_char), dimension(*) :: user\n  character(kind=c_char), dimension(*) :: password\n  character(kind=c_char), dimension(*) :: auth_params\n  character(kind=c_char), dimension(*) :: host\n  integer(c_int), value :: port\n  character(kind=c_char), dimension(*) :: path\n  character(kind=c_char), dimension(*) :: query\n  character(kind=c_char), dimension(*) :: fragment\nend function\n\n! GLIB_AVAILABLE_IN_2_66\n!GUri * g_uri_parse (const gchar *uri_string, GUriFlags flags, GError **error);\nfunction g_uri_parse(uri_string, flags, error) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_uri_parse\n  character(kind=c_char), dimension(*) :: uri_string\n  integer(c_int), value :: flags\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_2_66\n!GUri * g_uri_parse_relative (GUri *base_uri, const gchar *uri_ref, GUriFlags flags, GError **error);\nfunction g_uri_parse_relative(base_uri, uri_ref, flags, error) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_uri_parse_relative\n  type(c_ptr), value :: base_uri\n  character(kind=c_char), dimension(*) :: uri_ref\n  integer(c_int), value :: flags\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_2_66\n!gchar * g_uri_resolve_relative (const gchar *base_uri_string, const gchar *uri_ref, GUriFlags flags, GError **error);\nfunction g_uri_resolve_relative(base_uri_string, uri_ref, flags, error) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_uri_resolve_relative\n  character(kind=c_char), dimension(*) :: base_uri_string\n  character(kind=c_char), dimension(*) :: uri_ref\n  integer(c_int), value :: flags\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_2_66\n!GUri * g_uri_build (GUriFlags flags, const gchar *scheme, const gchar *userinfo, const gchar *host, gint port, const gchar *path, const gchar *query, const gchar *fragment);\nfunction g_uri_build(flags, scheme, userinfo, host, port, path, query,&\n& fragment) bind(c)\n  import :: c_ptr, c_int, c_char\n  implicit none\n  type(c_ptr) :: g_uri_build\n  integer(c_int), value :: flags\n  character(kind=c_char), dimension(*) :: scheme\n  character(kind=c_char), dimension(*) :: userinfo\n  character(kind=c_char), dimension(*) :: host\n  integer(c_int), value :: port\n  character(kind=c_char), dimension(*) :: path\n  character(kind=c_char), dimension(*) :: query\n  character(kind=c_char), dimension(*) :: fragment\nend function\n\n! GLIB_AVAILABLE_IN_2_66\n!GUri * g_uri_build_with_user (GUriFlags flags, const gchar *scheme, const gchar *user, const gchar *password, const gchar *auth_params, const gchar *host, gint port, const gchar *path, const gchar *query, const gchar *fragment);\nfunction g_uri_build_with_user(flags, scheme, user, password, auth_params,&\n& host, port, path, query, fragment) bind(c)\n  import :: c_ptr, c_int, c_char\n  implicit none\n  type(c_ptr) :: g_uri_build_with_user\n  integer(c_int), value :: flags\n  character(kind=c_char), dimension(*) :: scheme\n  character(kind=c_char), dimension(*) :: user\n  character(kind=c_char), dimension(*) :: password\n  character(kind=c_char), dimension(*) :: auth_params\n  character(kind=c_char), dimension(*) :: host\n  integer(c_int), value :: port\n  character(kind=c_char), dimension(*) :: path\n  character(kind=c_char), dimension(*) :: query\n  character(kind=c_char), dimension(*) :: fragment\nend function\n\n! GLIB_AVAILABLE_IN_2_66\n!GLIB_AVAILABLE_TYPE_IN_2_66 char * g_uri_to_string (GUri *uri);\nfunction g_uri_to_string(uri) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_uri_to_string\n  type(c_ptr), value :: uri\nend function\n\n! GLIB_AVAILABLE_IN_2_66\n!char * g_uri_to_string_partial (GUri *uri, GUriHideFlags flags);\nfunction g_uri_to_string_partial(uri, flags) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_uri_to_string_partial\n  type(c_ptr), value :: uri\n  integer(c_int), value :: flags\nend function\n\n! GLIB_AVAILABLE_IN_2_66\n!const gchar *g_uri_get_scheme (GUri *uri);\nfunction g_uri_get_scheme(uri) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_uri_get_scheme\n  type(c_ptr), value :: uri\nend function\n\n! GLIB_AVAILABLE_IN_2_66\n!const gchar *g_uri_get_userinfo (GUri *uri);\nfunction g_uri_get_userinfo(uri) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_uri_get_userinfo\n  type(c_ptr), value :: uri\nend function\n\n! GLIB_AVAILABLE_IN_2_66\n!const gchar *g_uri_get_user (GUri *uri);\nfunction g_uri_get_user(uri) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_uri_get_user\n  type(c_ptr), value :: uri\nend function\n\n! GLIB_AVAILABLE_IN_2_66\n!const gchar *g_uri_get_password (GUri *uri);\nfunction g_uri_get_password(uri) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_uri_get_password\n  type(c_ptr), value :: uri\nend function\n\n! GLIB_AVAILABLE_IN_2_66\n!const gchar *g_uri_get_auth_params (GUri *uri);\nfunction g_uri_get_auth_params(uri) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_uri_get_auth_params\n  type(c_ptr), value :: uri\nend function\n\n! GLIB_AVAILABLE_IN_2_66\n!const gchar *g_uri_get_host (GUri *uri);\nfunction g_uri_get_host(uri) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_uri_get_host\n  type(c_ptr), value :: uri\nend function\n\n! GLIB_AVAILABLE_IN_2_66\n!gint g_uri_get_port (GUri *uri);\nfunction g_uri_get_port(uri) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_uri_get_port\n  type(c_ptr), value :: uri\nend function\n\n! GLIB_AVAILABLE_IN_2_66\n!const gchar *g_uri_get_path (GUri *uri);\nfunction g_uri_get_path(uri) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_uri_get_path\n  type(c_ptr), value :: uri\nend function\n\n! GLIB_AVAILABLE_IN_2_66\n!const gchar *g_uri_get_query (GUri *uri);\nfunction g_uri_get_query(uri) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_uri_get_query\n  type(c_ptr), value :: uri\nend function\n\n! GLIB_AVAILABLE_IN_2_66\n!const gchar *g_uri_get_fragment (GUri *uri);\nfunction g_uri_get_fragment(uri) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_uri_get_fragment\n  type(c_ptr), value :: uri\nend function\n\n! GLIB_AVAILABLE_IN_2_66\n!GUriFlags g_uri_get_flags (GUri *uri);\nfunction g_uri_get_flags(uri) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_uri_get_flags\n  type(c_ptr), value :: uri\nend function\n\n! GLIB_AVAILABLE_IN_2_66\n!GLIB_AVAILABLE_TYPE_IN_2_66 GHashTable *g_uri_parse_params (const gchar *params, gssize length, const gchar *separators, GUriParamsFlags flags, GError **error);\nfunction g_uri_parse_params(params, length, separators, flags, error) bind(c)\n  import :: c_ptr, c_char, c_size_t, c_int\n  implicit none\n  type(c_ptr) :: g_uri_parse_params\n  character(kind=c_char), dimension(*) :: params\n  integer(c_size_t), value :: length\n  character(kind=c_char), dimension(*) :: separators\n  integer(c_int), value :: flags\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_2_66\n!void g_uri_params_iter_init (GUriParamsIter *iter, const gchar *params, gssize length, const gchar *separators, GUriParamsFlags flags);\nsubroutine g_uri_params_iter_init(iter, params, length, separators, flags)&\n& bind(c)\n  import :: c_ptr, c_char, c_size_t, c_int\n  implicit none\n  type(c_ptr), value :: iter\n  character(kind=c_char), dimension(*) :: params\n  integer(c_size_t), value :: length\n  character(kind=c_char), dimension(*) :: separators\n  integer(c_int), value :: flags\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_66\n!gboolean g_uri_params_iter_next (GUriParamsIter *iter, gchar **attribute, gchar **value, GError **error);\nfunction g_uri_params_iter_next(iter, attribute, value, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_uri_params_iter_next\n  type(c_ptr), value :: iter\n  type(c_ptr), dimension(*) :: attribute\n  type(c_ptr), dimension(*) :: value\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_2_66\n!GQuark g_uri_error_quark (void);\nfunction g_uri_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: g_uri_error_quark\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!char * g_uri_unescape_string (const char *escaped_string, const char *illegal_characters);\nfunction g_uri_unescape_string(escaped_string, illegal_characters) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_uri_unescape_string\n  character(kind=c_char), dimension(*) :: escaped_string\n  character(kind=c_char), dimension(*) :: illegal_characters\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!char * g_uri_unescape_segment (const char *escaped_string, const char *escaped_string_end, const char *illegal_characters);\nfunction g_uri_unescape_segment(escaped_string, escaped_string_end,&\n& illegal_characters) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_uri_unescape_segment\n  character(kind=c_char), dimension(*) :: escaped_string\n  character(kind=c_char), dimension(*) :: escaped_string_end\n  character(kind=c_char), dimension(*) :: illegal_characters\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!char * g_uri_parse_scheme (const char *uri);\nfunction g_uri_parse_scheme(uri) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_uri_parse_scheme\n  character(kind=c_char), dimension(*) :: uri\nend function\n\n! GLIB_AVAILABLE_IN_2_66\n!const char *g_uri_peek_scheme (const char *uri);\nfunction g_uri_peek_scheme(uri) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_uri_peek_scheme\n  character(kind=c_char), dimension(*) :: uri\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!char * g_uri_escape_string (const char *unescaped, const char *reserved_chars_allowed, gboolean allow_utf8);\nfunction g_uri_escape_string(unescaped, reserved_chars_allowed, allow_utf8)&\n& bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_uri_escape_string\n  character(kind=c_char), dimension(*) :: unescaped\n  character(kind=c_char), dimension(*) :: reserved_chars_allowed\n  integer(c_int), value :: allow_utf8\nend function\n\n! GLIB_AVAILABLE_IN_2_66\n!GBytes * g_uri_unescape_bytes (const char *escaped_string, gssize length, const char *illegal_characters, GError **error);\nfunction g_uri_unescape_bytes(escaped_string, length, illegal_characters,&\n& error) bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr) :: g_uri_unescape_bytes\n  character(kind=c_char), dimension(*) :: escaped_string\n  integer(c_size_t), value :: length\n  character(kind=c_char), dimension(*) :: illegal_characters\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_2_66\n!char * g_uri_escape_bytes (const guint8 *unescaped, gsize length, const char *reserved_chars_allowed);\nfunction g_uri_escape_bytes(unescaped, length, reserved_chars_allowed) bind(c)\n  import :: c_ptr, c_size_t, c_char\n  implicit none\n  type(c_ptr) :: g_uri_escape_bytes\n  type(c_ptr), value :: unescaped\n  integer(c_size_t), value :: length\n  character(kind=c_char), dimension(*) :: reserved_chars_allowed\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gutils.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!const gchar * g_get_user_name (void);\nfunction g_get_user_name() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_get_user_name\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar * g_get_real_name (void);\nfunction g_get_real_name() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_get_real_name\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar * g_get_home_dir (void);\nfunction g_get_home_dir() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_get_home_dir\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar * g_get_tmp_dir (void);\nfunction g_get_tmp_dir() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_get_tmp_dir\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar * g_get_host_name (void);\nfunction g_get_host_name() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_get_host_name\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar * g_get_prgname (void);\nfunction g_get_prgname() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_get_prgname\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_set_prgname (const gchar *prgname);\nsubroutine g_set_prgname(prgname) bind(c)\n  import :: c_char\n  implicit none\n  character(kind=c_char), dimension(*) :: prgname\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar * g_get_application_name (void);\nfunction g_get_application_name() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_get_application_name\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_set_application_name (const gchar *application_name);\nsubroutine g_set_application_name(application_name) bind(c)\n  import :: c_char\n  implicit none\n  character(kind=c_char), dimension(*) :: application_name\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_64\n!gchar * g_get_os_info (const gchar *key_name);\nfunction g_get_os_info(key_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_get_os_info\n  character(kind=c_char), dimension(*) :: key_name\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_reload_user_special_dirs_cache (void);\nsubroutine g_reload_user_special_dirs_cache() bind(c)\n  implicit none\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar * g_get_user_data_dir (void);\nfunction g_get_user_data_dir() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_get_user_data_dir\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar * g_get_user_config_dir (void);\nfunction g_get_user_config_dir() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_get_user_config_dir\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar * g_get_user_cache_dir (void);\nfunction g_get_user_cache_dir() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_get_user_cache_dir\nend function\n\n! GLIB_AVAILABLE_IN_2_72\n!const gchar * g_get_user_state_dir (void);\nfunction g_get_user_state_dir() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_get_user_state_dir\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar * const * g_get_system_data_dirs (void);\nfunction g_get_system_data_dirs() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_get_system_data_dirs\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar * const * g_win32_get_system_data_dirs_for_module (void (*address_of_function)(void));\nfunction address_of_function() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: address_of_function\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar * const * g_get_system_config_dirs (void);\nfunction g_get_system_config_dirs() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_get_system_config_dirs\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar * g_get_user_runtime_dir (void);\nfunction g_get_user_runtime_dir() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_get_user_runtime_dir\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar * g_get_user_special_dir (GUserDirectory directory);\nfunction g_get_user_special_dir(directory) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_get_user_special_dir\n  integer(c_int), value :: directory\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_parse_debug_string (const gchar *string, const GDebugKey *keys, guint nkeys);\nfunction g_parse_debug_string(string, keys, nkeys) bind(c)\n  import :: c_int, c_char, c_ptr\n  implicit none\n  integer(c_int) :: g_parse_debug_string\n  character(kind=c_char), dimension(*) :: string\n  type(c_ptr), value :: keys\n  integer(c_int), value :: nkeys\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_vsnprintf (gchar *string, gulong n, gchar const *format, va_list args) ;\nfunction g_vsnprintf(string, n, format, args) bind(c)\n  import :: c_int, c_char, c_long, c_ptr\n  implicit none\n  integer(c_int) :: g_vsnprintf\n  character(kind=c_char), dimension(*) :: string\n  integer(c_long), value :: n\n  character(kind=c_char), dimension(*) :: format\n  type(c_ptr), value :: args\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_nullify_pointer (gpointer *nullify_location);\nsubroutine g_nullify_pointer(nullify_location) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: nullify_location\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_30\n!gchar *g_format_size_full (guint64 size, GFormatSizeFlags flags);\nfunction g_format_size_full(size, flags) bind(c)\n  import :: c_ptr, c_int64_t, c_int\n  implicit none\n  type(c_ptr) :: g_format_size_full\n  integer(c_int64_t), value :: size\n  integer(c_int), value :: flags\nend function\n\n! GLIB_AVAILABLE_IN_2_30\n!gchar *g_format_size (guint64 size);\nfunction g_format_size(size) bind(c)\n  import :: c_ptr, c_int64_t\n  implicit none\n  type(c_ptr) :: g_format_size\n  integer(c_int64_t), value :: size\nend function\n\n! GLIB_DEPRECATED_IN_2_30_FOR(g_format_size)\n!gchar *g_format_size_for_display (goffset size);\nfunction g_format_size_for_display(size) bind(c)\n  import :: c_ptr, c_int64_t\n  implicit none\n  type(c_ptr) :: g_format_size_for_display\n  integer(c_int64_t), value :: size\nend function\n\n! GLIB_DEPRECATED\n!void g_atexit (GVoidFunc func);\nsubroutine g_atexit(func) bind(c)\n  import :: c_funptr\n  implicit none\n  type(c_funptr), value :: func\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar* g_find_program_in_path (const gchar *program);\nfunction g_find_program_in_path(program) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_find_program_in_path\n  character(kind=c_char), dimension(*) :: program\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint (g_bit_nth_lsf) (gulong mask, gint nth_bit);\nfunction g_bit_nth_lsf(mask, nth_bit) bind(c)\n  import :: c_int, c_long\n  implicit none\n  integer(c_int) :: g_bit_nth_lsf\n  integer(c_long), value :: mask\n  integer(c_int), value :: nth_bit\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint (g_bit_nth_msf) (gulong mask, gint nth_bit);\nfunction g_bit_nth_msf(mask, nth_bit) bind(c)\n  import :: c_int, c_long\n  implicit none\n  integer(c_int) :: g_bit_nth_msf\n  integer(c_long), value :: mask\n  integer(c_int), value :: nth_bit\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint (g_bit_storage) (gulong number);\nfunction g_bit_storage(number) bind(c)\n  import :: c_int, c_long\n  implicit none\n  integer(c_int) :: g_bit_storage\n  integer(c_long), value :: number\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/guuid.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_2_52\n!gboolean g_uuid_string_is_valid (const gchar *str);\nfunction g_uuid_string_is_valid(str) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_uuid_string_is_valid\n  character(kind=c_char), dimension(*) :: str\nend function\n\n! GLIB_AVAILABLE_IN_2_52\n!gchar * g_uuid_string_random (void);\nfunction g_uuid_string_random() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_uuid_string_random\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gvariant.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!void g_variant_unref (GVariant *value);\nsubroutine g_variant_unref(value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: value\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariant * g_variant_ref (GVariant *value);\nfunction g_variant_ref(value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_ref\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariant * g_variant_ref_sink (GVariant *value);\nfunction g_variant_ref_sink(value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_ref_sink\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_variant_is_floating (GVariant *value);\nfunction g_variant_is_floating(value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_variant_is_floating\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariant * g_variant_take_ref (GVariant *value);\nfunction g_variant_take_ref(value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_take_ref\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const GVariantType * g_variant_get_type (GVariant *value);\nfunction g_variant_get_type(value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_get_type\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar * g_variant_get_type_string (GVariant *value);\nfunction g_variant_get_type_string(value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_get_type_string\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_variant_is_of_type (GVariant *value, const GVariantType *type);\nfunction g_variant_is_of_type(value, type) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_variant_is_of_type\n  type(c_ptr), value :: value\n  type(c_ptr), value :: type\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_variant_is_container (GVariant *value);\nfunction g_variant_is_container(value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_variant_is_container\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariantClass g_variant_classify (GVariant *value);\nfunction g_variant_classify(value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_variant_classify\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariant * g_variant_new_boolean (gboolean value);\nfunction g_variant_new_boolean(value) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_variant_new_boolean\n  integer(c_int), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariant * g_variant_new_byte (guint8 value);\nfunction g_variant_new_byte(value) bind(c)\n  import :: c_ptr, c_int8_t\n  implicit none\n  type(c_ptr) :: g_variant_new_byte\n  integer(c_int8_t), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariant * g_variant_new_int16 (gint16 value);\nfunction g_variant_new_int16(value) bind(c)\n  import :: c_ptr, c_int16_t\n  implicit none\n  type(c_ptr) :: g_variant_new_int16\n  integer(c_int16_t), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariant * g_variant_new_uint16 (guint16 value);\nfunction g_variant_new_uint16(value) bind(c)\n  import :: c_ptr, c_int16_t\n  implicit none\n  type(c_ptr) :: g_variant_new_uint16\n  integer(c_int16_t), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariant * g_variant_new_int32 (gint32 value);\nfunction g_variant_new_int32(value) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr) :: g_variant_new_int32\n  integer(c_int32_t), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariant * g_variant_new_uint32 (guint32 value);\nfunction g_variant_new_uint32(value) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr) :: g_variant_new_uint32\n  integer(c_int32_t), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariant * g_variant_new_int64 (gint64 value);\nfunction g_variant_new_int64(value) bind(c)\n  import :: c_ptr, c_int64_t\n  implicit none\n  type(c_ptr) :: g_variant_new_int64\n  integer(c_int64_t), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariant * g_variant_new_uint64 (guint64 value);\nfunction g_variant_new_uint64(value) bind(c)\n  import :: c_ptr, c_int64_t\n  implicit none\n  type(c_ptr) :: g_variant_new_uint64\n  integer(c_int64_t), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariant * g_variant_new_handle (gint32 value);\nfunction g_variant_new_handle(value) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr) :: g_variant_new_handle\n  integer(c_int32_t), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariant * g_variant_new_double (gdouble value);\nfunction g_variant_new_double(value) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr) :: g_variant_new_double\n  real(c_double), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariant * g_variant_new_string (const gchar *string);\nfunction g_variant_new_string(string) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_variant_new_string\n  character(kind=c_char), dimension(*) :: string\nend function\n\n! GLIB_AVAILABLE_IN_2_38\n!GVariant * g_variant_new_take_string (gchar *string);\nfunction g_variant_new_take_string(string) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_variant_new_take_string\n  character(kind=c_char), dimension(*) :: string\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariant * g_variant_new_object_path (const gchar *object_path);\nfunction g_variant_new_object_path(object_path) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_variant_new_object_path\n  character(kind=c_char), dimension(*) :: object_path\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_variant_is_object_path (const gchar *string);\nfunction g_variant_is_object_path(string) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_variant_is_object_path\n  character(kind=c_char), dimension(*) :: string\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariant * g_variant_new_signature (const gchar *signature);\nfunction g_variant_new_signature(signature) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_variant_new_signature\n  character(kind=c_char), dimension(*) :: signature\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_variant_is_signature (const gchar *string);\nfunction g_variant_is_signature(string) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_variant_is_signature\n  character(kind=c_char), dimension(*) :: string\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariant * g_variant_new_variant (GVariant *value);\nfunction g_variant_new_variant(value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_new_variant\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariant * g_variant_new_strv (const gchar * const *strv, gssize length);\nfunction g_variant_new_strv(strv, length) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_variant_new_strv\n  type(c_ptr), dimension(*) :: strv\n  integer(c_size_t), value :: length\nend function\n\n! GLIB_AVAILABLE_IN_2_30\n!GVariant * g_variant_new_objv (const gchar * const *strv, gssize length);\nfunction g_variant_new_objv(strv, length) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_variant_new_objv\n  type(c_ptr), dimension(*) :: strv\n  integer(c_size_t), value :: length\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariant * g_variant_new_bytestring (const gchar *string);\nfunction g_variant_new_bytestring(string) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_variant_new_bytestring\n  character(kind=c_char), dimension(*) :: string\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariant * g_variant_new_bytestring_array (const gchar * const *strv, gssize length);\nfunction g_variant_new_bytestring_array(strv, length) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_variant_new_bytestring_array\n  type(c_ptr), dimension(*) :: strv\n  integer(c_size_t), value :: length\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariant * g_variant_new_fixed_array (const GVariantType *element_type, gconstpointer elements, gsize n_elements, gsize element_size);\nfunction g_variant_new_fixed_array(element_type, elements, n_elements,&\n& element_size) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_variant_new_fixed_array\n  type(c_ptr), value :: element_type\n  type(c_ptr), value :: elements\n  integer(c_size_t), value :: n_elements\n  integer(c_size_t), value :: element_size\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_variant_get_boolean (GVariant *value);\nfunction g_variant_get_boolean(value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_variant_get_boolean\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint8 g_variant_get_byte (GVariant *value);\nfunction g_variant_get_byte(value) bind(c)\n  import :: c_int8_t, c_ptr\n  implicit none\n  integer(c_int8_t) :: g_variant_get_byte\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint16 g_variant_get_int16 (GVariant *value);\nfunction g_variant_get_int16(value) bind(c)\n  import :: c_int16_t, c_ptr\n  implicit none\n  integer(c_int16_t) :: g_variant_get_int16\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint16 g_variant_get_uint16 (GVariant *value);\nfunction g_variant_get_uint16(value) bind(c)\n  import :: c_int16_t, c_ptr\n  implicit none\n  integer(c_int16_t) :: g_variant_get_uint16\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint32 g_variant_get_int32 (GVariant *value);\nfunction g_variant_get_int32(value) bind(c)\n  import :: c_int32_t, c_ptr\n  implicit none\n  integer(c_int32_t) :: g_variant_get_int32\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint32 g_variant_get_uint32 (GVariant *value);\nfunction g_variant_get_uint32(value) bind(c)\n  import :: c_int32_t, c_ptr\n  implicit none\n  integer(c_int32_t) :: g_variant_get_uint32\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint64 g_variant_get_int64 (GVariant *value);\nfunction g_variant_get_int64(value) bind(c)\n  import :: c_int64_t, c_ptr\n  implicit none\n  integer(c_int64_t) :: g_variant_get_int64\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint64 g_variant_get_uint64 (GVariant *value);\nfunction g_variant_get_uint64(value) bind(c)\n  import :: c_int64_t, c_ptr\n  implicit none\n  integer(c_int64_t) :: g_variant_get_uint64\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint32 g_variant_get_handle (GVariant *value);\nfunction g_variant_get_handle(value) bind(c)\n  import :: c_int32_t, c_ptr\n  implicit none\n  integer(c_int32_t) :: g_variant_get_handle\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gdouble g_variant_get_double (GVariant *value);\nfunction g_variant_get_double(value) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: g_variant_get_double\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariant * g_variant_get_variant (GVariant *value);\nfunction g_variant_get_variant(value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_get_variant\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar * g_variant_get_string (GVariant *value, gsize *length);\nfunction g_variant_get_string(value, length) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_get_string\n  type(c_ptr), value :: value\n  type(c_ptr), value :: length\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar * g_variant_dup_string (GVariant *value, gsize *length);\nfunction g_variant_dup_string(value, length) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_dup_string\n  type(c_ptr), value :: value\n  type(c_ptr), value :: length\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar ** g_variant_get_strv (GVariant *value, gsize *length);\nfunction g_variant_get_strv(value, length) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_get_strv\n  type(c_ptr), value :: value\n  type(c_ptr), value :: length\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar ** g_variant_dup_strv (GVariant *value, gsize *length);\nfunction g_variant_dup_strv(value, length) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_dup_strv\n  type(c_ptr), value :: value\n  type(c_ptr), value :: length\nend function\n\n! GLIB_AVAILABLE_IN_2_30\n!const gchar ** g_variant_get_objv (GVariant *value, gsize *length);\nfunction g_variant_get_objv(value, length) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_get_objv\n  type(c_ptr), value :: value\n  type(c_ptr), value :: length\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar ** g_variant_dup_objv (GVariant *value, gsize *length);\nfunction g_variant_dup_objv(value, length) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_dup_objv\n  type(c_ptr), value :: value\n  type(c_ptr), value :: length\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar * g_variant_get_bytestring (GVariant *value);\nfunction g_variant_get_bytestring(value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_get_bytestring\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar * g_variant_dup_bytestring (GVariant *value, gsize *length);\nfunction g_variant_dup_bytestring(value, length) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_dup_bytestring\n  type(c_ptr), value :: value\n  type(c_ptr), value :: length\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar ** g_variant_get_bytestring_array (GVariant *value, gsize *length);\nfunction g_variant_get_bytestring_array(value, length) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_get_bytestring_array\n  type(c_ptr), value :: value\n  type(c_ptr), value :: length\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar ** g_variant_dup_bytestring_array (GVariant *value, gsize *length);\nfunction g_variant_dup_bytestring_array(value, length) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_dup_bytestring_array\n  type(c_ptr), value :: value\n  type(c_ptr), value :: length\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariant * g_variant_new_maybe (const GVariantType *child_type, GVariant *child);\nfunction g_variant_new_maybe(child_type, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_new_maybe\n  type(c_ptr), value :: child_type\n  type(c_ptr), value :: child\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariant * g_variant_new_array (const GVariantType *child_type, GVariant * const *children, gsize n_children);\nfunction g_variant_new_array(child_type, children, n_children) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_variant_new_array\n  type(c_ptr), value :: child_type\n  type(c_ptr), dimension(*) :: children\n  integer(c_size_t), value :: n_children\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariant * g_variant_new_tuple (GVariant * const *children, gsize n_children);\nfunction g_variant_new_tuple(children, n_children) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_variant_new_tuple\n  type(c_ptr), dimension(*) :: children\n  integer(c_size_t), value :: n_children\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariant * g_variant_new_dict_entry (GVariant *key, GVariant *value);\nfunction g_variant_new_dict_entry(key, value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_new_dict_entry\n  type(c_ptr), value :: key\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariant * g_variant_get_maybe (GVariant *value);\nfunction g_variant_get_maybe(value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_get_maybe\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gsize g_variant_n_children (GVariant *value);\nfunction g_variant_n_children(value) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_variant_n_children\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariant * g_variant_get_child_value (GVariant *value, gsize index_);\nfunction g_variant_get_child_value(value, index_) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_variant_get_child_value\n  type(c_ptr), value :: value\n  integer(c_size_t), value :: index_\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariant * g_variant_lookup_value (GVariant *dictionary, const gchar *key, const GVariantType *expected_type);\nfunction g_variant_lookup_value(dictionary, key, expected_type) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_variant_lookup_value\n  type(c_ptr), value :: dictionary\n  character(kind=c_char), dimension(*) :: key\n  type(c_ptr), value :: expected_type\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gconstpointer g_variant_get_fixed_array (GVariant *value, gsize *n_elements, gsize element_size);\nfunction g_variant_get_fixed_array(value, n_elements, element_size) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_variant_get_fixed_array\n  type(c_ptr), value :: value\n  type(c_ptr), value :: n_elements\n  integer(c_size_t), value :: element_size\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gsize g_variant_get_size (GVariant *value);\nfunction g_variant_get_size(value) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_variant_get_size\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gconstpointer g_variant_get_data (GVariant *value);\nfunction g_variant_get_data(value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_get_data\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_2_36\n!GBytes * g_variant_get_data_as_bytes (GVariant *value);\nfunction g_variant_get_data_as_bytes(value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_get_data_as_bytes\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_variant_store (GVariant *value, gpointer data);\nsubroutine g_variant_store(value, data) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: value\n  type(c_ptr), value :: data\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar * g_variant_print (GVariant *value, gboolean type_annotate);\nfunction g_variant_print(value, type_annotate) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_variant_print\n  type(c_ptr), value :: value\n  integer(c_int), value :: type_annotate\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GString * g_variant_print_string (GVariant *value, GString *string, gboolean type_annotate);\nfunction g_variant_print_string(value, string, type_annotate) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_variant_print_string\n  type(c_ptr), value :: value\n  type(c_ptr), value :: string\n  integer(c_int), value :: type_annotate\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_variant_hash (gconstpointer value);\nfunction g_variant_hash(value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_variant_hash\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_variant_equal (gconstpointer one, gconstpointer two);\nfunction g_variant_equal(one, two) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_variant_equal\n  type(c_ptr), value :: one\n  type(c_ptr), value :: two\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariant * g_variant_get_normal_form (GVariant *value);\nfunction g_variant_get_normal_form(value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_get_normal_form\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_variant_is_normal_form (GVariant *value);\nfunction g_variant_is_normal_form(value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_variant_is_normal_form\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariant * g_variant_byteswap (GVariant *value);\nfunction g_variant_byteswap(value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_byteswap\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_2_36\n!GVariant * g_variant_new_from_bytes (const GVariantType *type, GBytes *bytes, gboolean trusted);\nfunction g_variant_new_from_bytes(type, bytes, trusted) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_variant_new_from_bytes\n  type(c_ptr), value :: type\n  type(c_ptr), value :: bytes\n  integer(c_int), value :: trusted\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariant * g_variant_new_from_data (const GVariantType *type, gconstpointer data, gsize size, gboolean trusted, GDestroyNotify notify, gpointer user_data);\nfunction g_variant_new_from_data(type, data, size, trusted, notify, user_data)&\n& bind(c)\n  import :: c_ptr, c_size_t, c_int, c_funptr\n  implicit none\n  type(c_ptr) :: g_variant_new_from_data\n  type(c_ptr), value :: type\n  type(c_ptr), value :: data\n  integer(c_size_t), value :: size\n  integer(c_int), value :: trusted\n  type(c_funptr), value :: notify\n  type(c_ptr), value :: user_data\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariantIter * g_variant_iter_new (GVariant *value);\nfunction g_variant_iter_new(value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_iter_new\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gsize g_variant_iter_init (GVariantIter *iter, GVariant *value);\nfunction g_variant_iter_init(iter, value) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_variant_iter_init\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariantIter * g_variant_iter_copy (GVariantIter *iter);\nfunction g_variant_iter_copy(iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_iter_copy\n  type(c_ptr), value :: iter\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gsize g_variant_iter_n_children (GVariantIter *iter);\nfunction g_variant_iter_n_children(iter) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_variant_iter_n_children\n  type(c_ptr), value :: iter\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_variant_iter_free (GVariantIter *iter);\nsubroutine g_variant_iter_free(iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: iter\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariant * g_variant_iter_next_value (GVariantIter *iter);\nfunction g_variant_iter_next_value(iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_iter_next_value\n  type(c_ptr), value :: iter\nend function\n\n! GLIB_DEPRECATED_IN_2_38_FOR(g_variant_parse_error_quark)\n!GQuark g_variant_parser_get_error_quark (void);\nfunction g_variant_parser_get_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: g_variant_parser_get_error_quark\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GQuark g_variant_parse_error_quark (void);\nfunction g_variant_parse_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: g_variant_parse_error_quark\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariantBuilder * g_variant_builder_new (const GVariantType *type);\nfunction g_variant_builder_new(type) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_builder_new\n  type(c_ptr), value :: type\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_variant_builder_unref (GVariantBuilder *builder);\nsubroutine g_variant_builder_unref(builder) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: builder\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariantBuilder * g_variant_builder_ref (GVariantBuilder *builder);\nfunction g_variant_builder_ref(builder) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_builder_ref\n  type(c_ptr), value :: builder\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_variant_builder_init (GVariantBuilder *builder, const GVariantType *type);\nsubroutine g_variant_builder_init(builder, type) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: builder\n  type(c_ptr), value :: type\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_84\n!void g_variant_builder_init_static (GVariantBuilder *builder, const GVariantType *type);\nsubroutine g_variant_builder_init_static(builder, type) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: builder\n  type(c_ptr), value :: type\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariant * g_variant_builder_end (GVariantBuilder *builder);\nfunction g_variant_builder_end(builder) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_builder_end\n  type(c_ptr), value :: builder\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_variant_builder_clear (GVariantBuilder *builder);\nsubroutine g_variant_builder_clear(builder) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: builder\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_variant_builder_open (GVariantBuilder *builder, const GVariantType *type);\nsubroutine g_variant_builder_open(builder, type) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: builder\n  type(c_ptr), value :: type\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_variant_builder_close (GVariantBuilder *builder);\nsubroutine g_variant_builder_close(builder) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: builder\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_variant_builder_add_value (GVariantBuilder *builder, GVariant *value);\nsubroutine g_variant_builder_add_value(builder, value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: builder\n  type(c_ptr), value :: value\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariant * g_variant_new_va (const gchar *format_string, const gchar **endptr, va_list *app);\nfunction g_variant_new_va(format_string, endptr, app) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_variant_new_va\n  character(kind=c_char), dimension(*) :: format_string\n  type(c_ptr), dimension(*) :: endptr\n  type(c_ptr), value :: app\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_variant_get_va (GVariant *value, const gchar *format_string, const gchar **endptr, va_list *app);\nsubroutine g_variant_get_va(value, format_string, endptr, app) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: value\n  character(kind=c_char), dimension(*) :: format_string\n  type(c_ptr), dimension(*) :: endptr\n  type(c_ptr), value :: app\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_34\n!gboolean g_variant_check_format_string (GVariant *value, const gchar *format_string, gboolean copy_only);\nfunction g_variant_check_format_string(value, format_string, copy_only) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_variant_check_format_string\n  type(c_ptr), value :: value\n  character(kind=c_char), dimension(*) :: format_string\n  integer(c_int), value :: copy_only\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariant * g_variant_parse (const GVariantType *type, const gchar *text, const gchar *limit, const gchar **endptr, GError **error);\nfunction g_variant_parse(type, text, limit, endptr, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_variant_parse\n  type(c_ptr), value :: type\n  character(kind=c_char), dimension(*) :: text\n  character(kind=c_char), dimension(*) :: limit\n  type(c_ptr), dimension(*) :: endptr\n  type(c_ptr), value :: error\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariant * g_variant_new_parsed_va (const gchar *format, va_list *app);\nfunction g_variant_new_parsed_va(format, app) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_variant_new_parsed_va\n  character(kind=c_char), dimension(*) :: format\n  type(c_ptr), value :: app\nend function\n\n! GLIB_AVAILABLE_IN_2_40\n!gchar * g_variant_parse_error_print_context (GError *error, const gchar *source_str);\nfunction g_variant_parse_error_print_context(error, source_str) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_variant_parse_error_print_context\n  type(c_ptr), value :: error\n  character(kind=c_char), dimension(*) :: source_str\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gint g_variant_compare (gconstpointer one, gconstpointer two);\nfunction g_variant_compare(one, two) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_variant_compare\n  type(c_ptr), value :: one\n  type(c_ptr), value :: two\nend function\n\n! GLIB_AVAILABLE_IN_2_40\n!GVariantDict * g_variant_dict_new (GVariant *from_asv);\nfunction g_variant_dict_new(from_asv) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_dict_new\n  type(c_ptr), value :: from_asv\nend function\n\n! GLIB_AVAILABLE_IN_2_40\n!void g_variant_dict_init (GVariantDict *dict, GVariant *from_asv);\nsubroutine g_variant_dict_init(dict, from_asv) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: dict\n  type(c_ptr), value :: from_asv\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_40\n!GVariant * g_variant_dict_lookup_value (GVariantDict *dict, const gchar *key, const GVariantType *expected_type);\nfunction g_variant_dict_lookup_value(dict, key, expected_type) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_variant_dict_lookup_value\n  type(c_ptr), value :: dict\n  character(kind=c_char), dimension(*) :: key\n  type(c_ptr), value :: expected_type\nend function\n\n! GLIB_AVAILABLE_IN_2_40\n!gboolean g_variant_dict_contains (GVariantDict *dict, const gchar *key);\nfunction g_variant_dict_contains(dict, key) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_variant_dict_contains\n  type(c_ptr), value :: dict\n  character(kind=c_char), dimension(*) :: key\nend function\n\n! GLIB_AVAILABLE_IN_2_40\n!void g_variant_dict_insert_value (GVariantDict *dict, const gchar *key, GVariant *value);\nsubroutine g_variant_dict_insert_value(dict, key, value) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: dict\n  character(kind=c_char), dimension(*) :: key\n  type(c_ptr), value :: value\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_40\n!gboolean g_variant_dict_remove (GVariantDict *dict, const gchar *key);\nfunction g_variant_dict_remove(dict, key) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: g_variant_dict_remove\n  type(c_ptr), value :: dict\n  character(kind=c_char), dimension(*) :: key\nend function\n\n! GLIB_AVAILABLE_IN_2_40\n!void g_variant_dict_clear (GVariantDict *dict);\nsubroutine g_variant_dict_clear(dict) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: dict\nend subroutine\n\n! GLIB_AVAILABLE_IN_2_40\n!GVariant * g_variant_dict_end (GVariantDict *dict);\nfunction g_variant_dict_end(dict) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_dict_end\n  type(c_ptr), value :: dict\nend function\n\n! GLIB_AVAILABLE_IN_2_40\n!GVariantDict * g_variant_dict_ref (GVariantDict *dict);\nfunction g_variant_dict_ref(dict) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_dict_ref\n  type(c_ptr), value :: dict\nend function\n\n! GLIB_AVAILABLE_IN_2_40\n!void g_variant_dict_unref (GVariantDict *dict);\nsubroutine g_variant_dict_unref(dict) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: dict\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gvarianttype.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_variant_type_string_is_valid (const gchar *type_string) ;\nfunction g_variant_type_string_is_valid(type_string) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_variant_type_string_is_valid\n  character(kind=c_char), dimension(*) :: type_string\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_variant_type_string_scan (const gchar *string, const gchar *limit, const gchar **endptr);\nfunction g_variant_type_string_scan(string, limit, endptr) bind(c)\n  import :: c_int, c_char, c_ptr\n  implicit none\n  integer(c_int) :: g_variant_type_string_scan\n  character(kind=c_char), dimension(*) :: string\n  character(kind=c_char), dimension(*) :: limit\n  type(c_ptr), dimension(*) :: endptr\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!void g_variant_type_free (GVariantType *type);\nsubroutine g_variant_type_free(type) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: type\nend subroutine\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariantType * g_variant_type_copy (const GVariantType *type);\nfunction g_variant_type_copy(type) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_type_copy\n  type(c_ptr), value :: type\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariantType * g_variant_type_new (const gchar *type_string);\nfunction g_variant_type_new(type_string) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_variant_type_new\n  character(kind=c_char), dimension(*) :: type_string\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gsize g_variant_type_get_string_length (const GVariantType *type);\nfunction g_variant_type_get_string_length(type) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_variant_type_get_string_length\n  type(c_ptr), value :: type\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const gchar * g_variant_type_peek_string (const GVariantType *type);\nfunction g_variant_type_peek_string(type) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_type_peek_string\n  type(c_ptr), value :: type\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gchar * g_variant_type_dup_string (const GVariantType *type);\nfunction g_variant_type_dup_string(type) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_type_dup_string\n  type(c_ptr), value :: type\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_variant_type_is_definite (const GVariantType *type) ;\nfunction g_variant_type_is_definite(type) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_variant_type_is_definite\n  type(c_ptr), value :: type\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_variant_type_is_container (const GVariantType *type) ;\nfunction g_variant_type_is_container(type) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_variant_type_is_container\n  type(c_ptr), value :: type\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_variant_type_is_basic (const GVariantType *type) ;\nfunction g_variant_type_is_basic(type) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_variant_type_is_basic\n  type(c_ptr), value :: type\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_variant_type_is_maybe (const GVariantType *type) ;\nfunction g_variant_type_is_maybe(type) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_variant_type_is_maybe\n  type(c_ptr), value :: type\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_variant_type_is_array (const GVariantType *type) ;\nfunction g_variant_type_is_array(type) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_variant_type_is_array\n  type(c_ptr), value :: type\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_variant_type_is_tuple (const GVariantType *type) ;\nfunction g_variant_type_is_tuple(type) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_variant_type_is_tuple\n  type(c_ptr), value :: type\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_variant_type_is_dict_entry (const GVariantType *type) ;\nfunction g_variant_type_is_dict_entry(type) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_variant_type_is_dict_entry\n  type(c_ptr), value :: type\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_variant_type_is_variant (const GVariantType *type) ;\nfunction g_variant_type_is_variant(type) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_variant_type_is_variant\n  type(c_ptr), value :: type\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!guint g_variant_type_hash (gconstpointer type);\nfunction g_variant_type_hash(type) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_variant_type_hash\n  type(c_ptr), value :: type\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_variant_type_equal (gconstpointer type1, gconstpointer type2);\nfunction g_variant_type_equal(type1, type2) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_variant_type_equal\n  type(c_ptr), value :: type1\n  type(c_ptr), value :: type2\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gboolean g_variant_type_is_subtype_of (const GVariantType *type, const GVariantType *supertype) ;\nfunction g_variant_type_is_subtype_of(type, supertype) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_variant_type_is_subtype_of\n  type(c_ptr), value :: type\n  type(c_ptr), value :: supertype\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const GVariantType * g_variant_type_element (const GVariantType *type) ;\nfunction g_variant_type_element(type) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_type_element\n  type(c_ptr), value :: type\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const GVariantType * g_variant_type_first (const GVariantType *type) ;\nfunction g_variant_type_first(type) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_type_first\n  type(c_ptr), value :: type\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const GVariantType * g_variant_type_next (const GVariantType *type) ;\nfunction g_variant_type_next(type) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_type_next\n  type(c_ptr), value :: type\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!gsize g_variant_type_n_items (const GVariantType *type) ;\nfunction g_variant_type_n_items(type) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_variant_type_n_items\n  type(c_ptr), value :: type\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const GVariantType * g_variant_type_key (const GVariantType *type) ;\nfunction g_variant_type_key(type) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_type_key\n  type(c_ptr), value :: type\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const GVariantType * g_variant_type_value (const GVariantType *type) ;\nfunction g_variant_type_value(type) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_type_value\n  type(c_ptr), value :: type\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariantType * g_variant_type_new_array (const GVariantType *element);\nfunction g_variant_type_new_array(element) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_type_new_array\n  type(c_ptr), value :: element\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariantType * g_variant_type_new_maybe (const GVariantType *element);\nfunction g_variant_type_new_maybe(element) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_type_new_maybe\n  type(c_ptr), value :: element\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariantType * g_variant_type_new_tuple (const GVariantType * const *items, gint length);\nfunction g_variant_type_new_tuple(items, length) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_variant_type_new_tuple\n  type(c_ptr), dimension(*) :: items\n  integer(c_int), value :: length\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!GVariantType * g_variant_type_new_dict_entry (const GVariantType *key, const GVariantType *value);\nfunction g_variant_type_new_dict_entry(key, value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_variant_type_new_dict_entry\n  type(c_ptr), value :: key\n  type(c_ptr), value :: value\nend function\n\n! GLIB_AVAILABLE_IN_ALL\n!const GVariantType * g_variant_type_checked_ (const gchar *type_string);\nfunction g_variant_type_checked_(type_string) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_variant_type_checked_\n  character(kind=c_char), dimension(*) :: type_string\nend function\n\n! GLIB_AVAILABLE_IN_2_60\n!gsize g_variant_type_string_get_depth_ (const gchar *type_string);\nfunction g_variant_type_string_get_depth_(type_string) bind(c)\n  import :: c_size_t, c_char\n  implicit none\n  integer(c_size_t) :: g_variant_type_string_get_depth_\n  character(kind=c_char), dimension(*) :: type_string\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gversion.h\n!--------------------------------------------------\n! GLIB_AVAILABLE_IN_ALL\n!const gchar * glib_check_version (guint required_major, guint required_minor, guint required_micro);\nfunction glib_check_version(required_major, required_minor, required_micro)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: glib_check_version\n  integer(c_int), value :: required_major\n  integer(c_int), value :: required_minor\n  integer(c_int), value :: required_micro\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/gversionmacros.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/deprecated/gallocator.h\n!--------------------------------------------------\n! GLIB_DEPRECATED\n!GMemChunk * g_mem_chunk_new (const gchar *name, gint atom_size, gsize area_size, gint type);\nfunction g_mem_chunk_new(name, atom_size, area_size, type) bind(c)\n  import :: c_ptr, c_char, c_int, c_size_t\n  implicit none\n  type(c_ptr) :: g_mem_chunk_new\n  character(kind=c_char), dimension(*) :: name\n  integer(c_int), value :: atom_size\n  integer(c_size_t), value :: area_size\n  integer(c_int), value :: type\nend function\n\n! GLIB_DEPRECATED\n!void g_mem_chunk_destroy (GMemChunk *mem_chunk);\nsubroutine g_mem_chunk_destroy(mem_chunk) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: mem_chunk\nend subroutine\n\n! GLIB_DEPRECATED\n!gpointer g_mem_chunk_alloc (GMemChunk *mem_chunk);\nfunction g_mem_chunk_alloc(mem_chunk) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_mem_chunk_alloc\n  type(c_ptr), value :: mem_chunk\nend function\n\n! GLIB_DEPRECATED\n!gpointer g_mem_chunk_alloc0 (GMemChunk *mem_chunk);\nfunction g_mem_chunk_alloc0(mem_chunk) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_mem_chunk_alloc0\n  type(c_ptr), value :: mem_chunk\nend function\n\n! GLIB_DEPRECATED\n!void g_mem_chunk_free (GMemChunk *mem_chunk, gpointer mem);\nsubroutine g_mem_chunk_free(mem_chunk, mem) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: mem_chunk\n  type(c_ptr), value :: mem\nend subroutine\n\n! GLIB_DEPRECATED\n!void g_mem_chunk_clean (GMemChunk *mem_chunk);\nsubroutine g_mem_chunk_clean(mem_chunk) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: mem_chunk\nend subroutine\n\n! GLIB_DEPRECATED\n!void g_mem_chunk_reset (GMemChunk *mem_chunk);\nsubroutine g_mem_chunk_reset(mem_chunk) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: mem_chunk\nend subroutine\n\n! GLIB_DEPRECATED\n!void g_mem_chunk_print (GMemChunk *mem_chunk);\nsubroutine g_mem_chunk_print(mem_chunk) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: mem_chunk\nend subroutine\n\n! GLIB_DEPRECATED\n!void g_mem_chunk_info (void);\nsubroutine g_mem_chunk_info() bind(c)\n  implicit none\nend subroutine\n\n! GLIB_DEPRECATED\n!void g_blow_chunks (void);\nsubroutine g_blow_chunks() bind(c)\n  implicit none\nend subroutine\n\n! GLIB_DEPRECATED\n!GAllocator * g_allocator_new (const gchar *name, guint n_preallocs);\nfunction g_allocator_new(name, n_preallocs) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_allocator_new\n  character(kind=c_char), dimension(*) :: name\n  integer(c_int), value :: n_preallocs\nend function\n\n! GLIB_DEPRECATED\n!void g_allocator_free (GAllocator *allocator);\nsubroutine g_allocator_free(allocator) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: allocator\nend subroutine\n\n! GLIB_DEPRECATED\n!void g_list_push_allocator (GAllocator *allocator);\nsubroutine g_list_push_allocator(allocator) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: allocator\nend subroutine\n\n! GLIB_DEPRECATED\n!void g_list_pop_allocator (void);\nsubroutine g_list_pop_allocator() bind(c)\n  implicit none\nend subroutine\n\n! GLIB_DEPRECATED\n!void g_slist_push_allocator (GAllocator *allocator);\nsubroutine g_slist_push_allocator(allocator) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: allocator\nend subroutine\n\n! GLIB_DEPRECATED\n!void g_slist_pop_allocator (void);\nsubroutine g_slist_pop_allocator() bind(c)\n  implicit none\nend subroutine\n\n! GLIB_DEPRECATED\n!void g_node_push_allocator (GAllocator *allocator);\nsubroutine g_node_push_allocator(allocator) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: allocator\nend subroutine\n\n! GLIB_DEPRECATED\n!void g_node_pop_allocator (void);\nsubroutine g_node_pop_allocator() bind(c)\n  implicit none\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/deprecated/gcache.h\n!--------------------------------------------------\n! GLIB_DEPRECATED\n!GCache* g_cache_new (GCacheNewFunc value_new_func, GCacheDestroyFunc value_destroy_func, GCacheDupFunc key_dup_func, GCacheDestroyFunc key_destroy_func, GHashFunc hash_key_func, GHashFunc hash_value_func, GEqualFunc key_equal_func);\nfunction g_cache_new(value_new_func, value_destroy_func, key_dup_func,&\n& key_destroy_func, hash_key_func, hash_value_func, key_equal_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_cache_new\n  type(c_funptr), value :: value_new_func\n  type(c_funptr), value :: value_destroy_func\n  type(c_funptr), value :: key_dup_func\n  type(c_funptr), value :: key_destroy_func\n  type(c_funptr), value :: hash_key_func\n  type(c_funptr), value :: hash_value_func\n  type(c_funptr), value :: key_equal_func\nend function\n\n! GLIB_DEPRECATED\n!void g_cache_destroy (GCache *cache);\nsubroutine g_cache_destroy(cache) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cache\nend subroutine\n\n! GLIB_DEPRECATED\n!gpointer g_cache_insert (GCache *cache, gpointer key);\nfunction g_cache_insert(cache, key) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_cache_insert\n  type(c_ptr), value :: cache\n  type(c_ptr), value :: key\nend function\n\n! GLIB_DEPRECATED\n!void g_cache_remove (GCache *cache, gconstpointer value);\nsubroutine g_cache_remove(cache, value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cache\n  type(c_ptr), value :: value\nend subroutine\n\n! GLIB_DEPRECATED\n!void g_cache_key_foreach (GCache *cache, GHFunc func, gpointer user_data);\nsubroutine g_cache_key_foreach(cache, func, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: cache\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GLIB_DEPRECATED\n!void g_cache_value_foreach (GCache *cache, GHFunc func, gpointer user_data);\nsubroutine g_cache_value_foreach(cache, func, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: cache\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/deprecated/gcompletion.h\n!--------------------------------------------------\n! GLIB_DEPRECATED_IN_2_26\n!GCompletion* g_completion_new (GCompletionFunc func);\nfunction g_completion_new(func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_completion_new\n  type(c_funptr), value :: func\nend function\n\n! GLIB_DEPRECATED_IN_2_26\n!void g_completion_add_items (GCompletion* cmp, GList* items);\nsubroutine g_completion_add_items(cmp, items) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cmp\n  type(c_ptr), value :: items\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_26\n!void g_completion_remove_items (GCompletion* cmp, GList* items);\nsubroutine g_completion_remove_items(cmp, items) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cmp\n  type(c_ptr), value :: items\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_26\n!void g_completion_clear_items (GCompletion* cmp);\nsubroutine g_completion_clear_items(cmp) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cmp\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_26\n!GList* g_completion_complete (GCompletion* cmp, const gchar* prefix, gchar** new_prefix);\nfunction g_completion_complete(cmp, prefix, new_prefix) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_completion_complete\n  type(c_ptr), value :: cmp\n  character(kind=c_char), dimension(*) :: prefix\n  type(c_ptr), dimension(*) :: new_prefix\nend function\n\n! GLIB_DEPRECATED_IN_2_26\n!GList* g_completion_complete_utf8 (GCompletion *cmp, const gchar* prefix, gchar** new_prefix);\nfunction g_completion_complete_utf8(cmp, prefix, new_prefix) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_completion_complete_utf8\n  type(c_ptr), value :: cmp\n  character(kind=c_char), dimension(*) :: prefix\n  type(c_ptr), dimension(*) :: new_prefix\nend function\n\n! GLIB_DEPRECATED_IN_2_26\n!void g_completion_set_compare (GCompletion *cmp, GCompletionStrncmpFunc strncmp_func);\nsubroutine g_completion_set_compare(cmp, strncmp_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: cmp\n  type(c_funptr), value :: strncmp_func\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_26\n!void g_completion_free (GCompletion* cmp);\nsubroutine g_completion_free(cmp) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cmp\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/deprecated/gmain.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/deprecated/grel.h\n!--------------------------------------------------\n! GLIB_DEPRECATED_IN_2_26\n!GRelation* g_relation_new (gint fields);\nfunction g_relation_new(fields) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_relation_new\n  integer(c_int), value :: fields\nend function\n\n! GLIB_DEPRECATED_IN_2_26\n!void g_relation_destroy (GRelation *relation);\nsubroutine g_relation_destroy(relation) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: relation\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_26\n!void g_relation_index (GRelation *relation, gint field, GHashFunc hash_func, GEqualFunc key_equal_func);\nsubroutine g_relation_index(relation, field, hash_func, key_equal_func) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: relation\n  integer(c_int), value :: field\n  type(c_funptr), value :: hash_func\n  type(c_funptr), value :: key_equal_func\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_26\n!gint g_relation_delete (GRelation *relation, gconstpointer key, gint field);\nfunction g_relation_delete(relation, key, field) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_relation_delete\n  type(c_ptr), value :: relation\n  type(c_ptr), value :: key\n  integer(c_int), value :: field\nend function\n\n! GLIB_DEPRECATED_IN_2_26\n!GTuples* g_relation_select (GRelation *relation, gconstpointer key, gint field);\nfunction g_relation_select(relation, key, field) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_relation_select\n  type(c_ptr), value :: relation\n  type(c_ptr), value :: key\n  integer(c_int), value :: field\nend function\n\n! GLIB_DEPRECATED_IN_2_26\n!gint g_relation_count (GRelation *relation, gconstpointer key, gint field);\nfunction g_relation_count(relation, key, field) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_relation_count\n  type(c_ptr), value :: relation\n  type(c_ptr), value :: key\n  integer(c_int), value :: field\nend function\n\n! GLIB_DEPRECATED_IN_2_26\n!void g_relation_print (GRelation *relation);\nsubroutine g_relation_print(relation) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: relation\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_26\n!void g_tuples_destroy (GTuples *tuples);\nsubroutine g_tuples_destroy(tuples) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tuples\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_26\n!gpointer g_tuples_index (GTuples *tuples, gint index_, gint field);\nfunction g_tuples_index(tuples, index_, field) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_tuples_index\n  type(c_ptr), value :: tuples\n  integer(c_int), value :: index_\n  integer(c_int), value :: field\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/glib/deprecated/gthread.h\n!--------------------------------------------------\n! \n!guint64 (*g_thread_gettime) (void);\nfunction g_thread_gettime() bind(c)\n  import :: c_int64_t\n  implicit none\n  integer(c_int64_t) :: g_thread_gettime\nend function\n\n! GLIB_DEPRECATED_IN_2_32_FOR(g_thread_new)\n!GThread *g_thread_create (GThreadFunc func, gpointer data, gboolean joinable, GError **error);\nfunction g_thread_create(func, data, joinable, error) bind(c)\n  import :: c_ptr, c_funptr, c_int\n  implicit none\n  type(c_ptr) :: g_thread_create\n  type(c_funptr), value :: func\n  type(c_ptr), value :: data\n  integer(c_int), value :: joinable\n  type(c_ptr), value :: error\nend function\n\n! GLIB_DEPRECATED_IN_2_32\n!void g_thread_foreach (GFunc thread_func, gpointer user_data);\nsubroutine g_thread_foreach(thread_func, user_data) bind(c)\n  import :: c_funptr, c_ptr\n  implicit none\n  type(c_funptr), value :: thread_func\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_32_FOR(g_mutex_init)\n!void g_static_mutex_init (GStaticMutex *mutex);\nsubroutine g_static_mutex_init(mutex) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: mutex\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_32_FOR(g_mutex_clear)\n!void g_static_mutex_free (GStaticMutex *mutex);\nsubroutine g_static_mutex_free(mutex) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: mutex\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_32_FOR(GMutex)\n!GMutex *g_static_mutex_get_mutex_impl (GStaticMutex *mutex);\nfunction g_static_mutex_get_mutex_impl(mutex) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_static_mutex_get_mutex_impl\n  type(c_ptr), value :: mutex\nend function\n\n! GLIB_DEPRECATED_IN_2_32_FOR(g_rec_mutex_init)\n!void g_static_rec_mutex_init (GStaticRecMutex *mutex);\nsubroutine g_static_rec_mutex_init(mutex) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: mutex\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_32_FOR(g_rec_mutex_lock)\n!void g_static_rec_mutex_lock (GStaticRecMutex *mutex);\nsubroutine g_static_rec_mutex_lock(mutex) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: mutex\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_32_FOR(g_rec_mutex_try_lock)\n!gboolean g_static_rec_mutex_trylock (GStaticRecMutex *mutex);\nfunction g_static_rec_mutex_trylock(mutex) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_static_rec_mutex_trylock\n  type(c_ptr), value :: mutex\nend function\n\n! GLIB_DEPRECATED_IN_2_32_FOR(g_rec_mutex_unlock)\n!void g_static_rec_mutex_unlock (GStaticRecMutex *mutex);\nsubroutine g_static_rec_mutex_unlock(mutex) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: mutex\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_32\n!void g_static_rec_mutex_lock_full (GStaticRecMutex *mutex, guint depth);\nsubroutine g_static_rec_mutex_lock_full(mutex, depth) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: mutex\n  integer(c_int), value :: depth\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_32\n!guint g_static_rec_mutex_unlock_full (GStaticRecMutex *mutex);\nfunction g_static_rec_mutex_unlock_full(mutex) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_static_rec_mutex_unlock_full\n  type(c_ptr), value :: mutex\nend function\n\n! GLIB_DEPRECATED_IN_2_32_FOR(g_rec_mutex_free)\n!void g_static_rec_mutex_free (GStaticRecMutex *mutex);\nsubroutine g_static_rec_mutex_free(mutex) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: mutex\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_32_FOR(g_rw_lock_init)\n!void g_static_rw_lock_init (GStaticRWLock *lock);\nsubroutine g_static_rw_lock_init(lock) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: lock\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_32_FOR(g_rw_lock_reader_lock)\n!void g_static_rw_lock_reader_lock (GStaticRWLock *lock);\nsubroutine g_static_rw_lock_reader_lock(lock) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: lock\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_32_FOR(g_rw_lock_reader_trylock)\n!gboolean g_static_rw_lock_reader_trylock (GStaticRWLock *lock);\nfunction g_static_rw_lock_reader_trylock(lock) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_static_rw_lock_reader_trylock\n  type(c_ptr), value :: lock\nend function\n\n! GLIB_DEPRECATED_IN_2_32_FOR(g_rw_lock_reader_unlock)\n!void g_static_rw_lock_reader_unlock (GStaticRWLock *lock);\nsubroutine g_static_rw_lock_reader_unlock(lock) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: lock\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_32_FOR(g_rw_lock_writer_lock)\n!void g_static_rw_lock_writer_lock (GStaticRWLock *lock);\nsubroutine g_static_rw_lock_writer_lock(lock) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: lock\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_32_FOR(g_rw_lock_writer_trylock)\n!gboolean g_static_rw_lock_writer_trylock (GStaticRWLock *lock);\nfunction g_static_rw_lock_writer_trylock(lock) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_static_rw_lock_writer_trylock\n  type(c_ptr), value :: lock\nend function\n\n! GLIB_DEPRECATED_IN_2_32_FOR(g_rw_lock_writer_unlock)\n!void g_static_rw_lock_writer_unlock (GStaticRWLock *lock);\nsubroutine g_static_rw_lock_writer_unlock(lock) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: lock\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_32_FOR(g_rw_lock_free)\n!void g_static_rw_lock_free (GStaticRWLock *lock);\nsubroutine g_static_rw_lock_free(lock) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: lock\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_32\n!GPrivate * g_private_new (GDestroyNotify notify);\nfunction g_private_new(notify) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_private_new\n  type(c_funptr), value :: notify\nend function\n\n! GLIB_DEPRECATED_IN_2_32\n!void g_static_private_init (GStaticPrivate *private_key);\nsubroutine g_static_private_init(private_key) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: private_key\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_32_FOR(g_private_get)\n!gpointer g_static_private_get (GStaticPrivate *private_key);\nfunction g_static_private_get(private_key) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_static_private_get\n  type(c_ptr), value :: private_key\nend function\n\n! GLIB_DEPRECATED_IN_2_32_FOR(g_private_set)\n!void g_static_private_set (GStaticPrivate *private_key, gpointer data, GDestroyNotify notify);\nsubroutine g_static_private_set(private_key, data, notify) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: private_key\n  type(c_ptr), value :: data\n  type(c_funptr), value :: notify\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_32\n!void g_static_private_free (GStaticPrivate *private_key);\nsubroutine g_static_private_free(private_key) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: private_key\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_32\n!gboolean g_once_init_enter_impl (volatile gsize *location);\nfunction g_once_init_enter_impl(location) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_once_init_enter_impl\n  type(c_ptr), value :: location\nend function\n\n! GLIB_DEPRECATED_IN_2_32\n!void g_thread_init (gpointer vtable);\nsubroutine g_thread_init(vtable) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: vtable\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_32\n!void g_thread_init_with_errorcheck_mutexes (gpointer vtable);\nsubroutine g_thread_init_with_errorcheck_mutexes(vtable) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: vtable\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_32\n!gboolean g_thread_get_initialized (void);\nfunction g_thread_get_initialized() bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: g_thread_get_initialized\nend function\n\n! GLIB_DEPRECATED_IN_2_32\n!GMutex * g_mutex_new (void);\nfunction g_mutex_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_mutex_new\nend function\n\n! GLIB_DEPRECATED_IN_2_32\n!void g_mutex_free (GMutex *mutex);\nsubroutine g_mutex_free(mutex) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: mutex\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_32\n!GCond * g_cond_new (void);\nfunction g_cond_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_cond_new\nend function\n\n! GLIB_DEPRECATED_IN_2_32\n!void g_cond_free (GCond *cond);\nsubroutine g_cond_free(cond) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cond\nend subroutine\n\n! GLIB_DEPRECATED_IN_2_32\n!gboolean g_cond_timed_wait (GCond *cond, GMutex *mutex, GTimeVal *abs_time);\nfunction g_cond_timed_wait(cond, mutex, abs_time) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_cond_timed_wait\n  type(c_ptr), value :: cond\n  type(c_ptr), value :: mutex\n  type(c_ptr), value :: abs_time\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gmodule/gmodule-visibility.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/glib-2.0/gobject/gbinding.h\n!--------------------------------------------------\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_binding_flags_get_type (void) ;\nfunction g_binding_flags_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_binding_flags_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_binding_get_type (void) ;\nfunction g_binding_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_binding_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GBindingFlags g_binding_get_flags (GBinding *binding);\nfunction g_binding_get_flags(binding) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_binding_get_flags\n  type(c_ptr), value :: binding\nend function\n\n! GOBJECT_DEPRECATED_IN_2_68_FOR(g_binding_dup_source)\n!GObject * g_binding_get_source (GBinding *binding);\nfunction g_binding_get_source(binding) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_binding_get_source\n  type(c_ptr), value :: binding\nend function\n\n! GOBJECT_AVAILABLE_IN_2_68\n!GObject * g_binding_dup_source (GBinding *binding);\nfunction g_binding_dup_source(binding) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_binding_dup_source\n  type(c_ptr), value :: binding\nend function\n\n! GOBJECT_DEPRECATED_IN_2_68_FOR(g_binding_dup_target)\n!GObject * g_binding_get_target (GBinding *binding);\nfunction g_binding_get_target(binding) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_binding_get_target\n  type(c_ptr), value :: binding\nend function\n\n! GOBJECT_AVAILABLE_IN_2_68\n!GObject * g_binding_dup_target (GBinding *binding);\nfunction g_binding_dup_target(binding) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_binding_dup_target\n  type(c_ptr), value :: binding\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!const gchar * g_binding_get_source_property (GBinding *binding);\nfunction g_binding_get_source_property(binding) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_binding_get_source_property\n  type(c_ptr), value :: binding\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!const gchar * g_binding_get_target_property (GBinding *binding);\nfunction g_binding_get_target_property(binding) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_binding_get_target_property\n  type(c_ptr), value :: binding\nend function\n\n! GOBJECT_AVAILABLE_IN_2_38\n!void g_binding_unbind (GBinding *binding);\nsubroutine g_binding_unbind(binding) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: binding\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GBinding *g_object_bind_property (gpointer source, const gchar *source_property, gpointer target, const gchar *target_property, GBindingFlags flags);\nfunction g_object_bind_property(source, source_property, target,&\n& target_property, flags) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_object_bind_property\n  type(c_ptr), value :: source\n  character(kind=c_char), dimension(*) :: source_property\n  type(c_ptr), value :: target\n  character(kind=c_char), dimension(*) :: target_property\n  integer(c_int), value :: flags\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GBinding *g_object_bind_property_full (gpointer source, const gchar *source_property, gpointer target, const gchar *target_property, GBindingFlags flags, GBindingTransformFunc transform_to, GBindingTransformFunc transform_from, gpointer user_data, GDestroyNotify notify);\nfunction g_object_bind_property_full(source, source_property, target,&\n& target_property, flags, transform_to, transform_from, user_data, notify)&\n& bind(c)\n  import :: c_ptr, c_char, c_int, c_funptr\n  implicit none\n  type(c_ptr) :: g_object_bind_property_full\n  type(c_ptr), value :: source\n  character(kind=c_char), dimension(*) :: source_property\n  type(c_ptr), value :: target\n  character(kind=c_char), dimension(*) :: target_property\n  integer(c_int), value :: flags\n  type(c_funptr), value :: transform_to\n  type(c_funptr), value :: transform_from\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: notify\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GBinding *g_object_bind_property_with_closures (gpointer source, const gchar *source_property, gpointer target, const gchar *target_property, GBindingFlags flags, GClosure *transform_to, GClosure *transform_from);\nfunction g_object_bind_property_with_closures(source, source_property, target,&\n& target_property, flags, transform_to, transform_from) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_object_bind_property_with_closures\n  type(c_ptr), value :: source\n  character(kind=c_char), dimension(*) :: source_property\n  type(c_ptr), value :: target\n  character(kind=c_char), dimension(*) :: target_property\n  integer(c_int), value :: flags\n  type(c_ptr), value :: transform_to\n  type(c_ptr), value :: transform_from\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gobject/gbindinggroup.h\n!--------------------------------------------------\n! GOBJECT_AVAILABLE_IN_2_72\n!GType g_binding_group_get_type (void) ;\nfunction g_binding_group_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_binding_group_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_2_72\n!GBindingGroup *g_binding_group_new (void);\nfunction g_binding_group_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_binding_group_new\nend function\n\n! GOBJECT_AVAILABLE_IN_2_72\n!gpointer g_binding_group_dup_source (GBindingGroup *self);\nfunction g_binding_group_dup_source(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_binding_group_dup_source\n  type(c_ptr), value :: self\nend function\n\n! GOBJECT_AVAILABLE_IN_2_72\n!void g_binding_group_set_source (GBindingGroup *self, gpointer source);\nsubroutine g_binding_group_set_source(self, source) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: source\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_2_72\n!void g_binding_group_bind (GBindingGroup *self, const gchar *source_property, gpointer target, const gchar *target_property, GBindingFlags flags);\nsubroutine g_binding_group_bind(self, source_property, target, target_property,&\n& flags) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: source_property\n  type(c_ptr), value :: target\n  character(kind=c_char), dimension(*) :: target_property\n  integer(c_int), value :: flags\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_2_72\n!void g_binding_group_bind_full (GBindingGroup *self, const gchar *source_property, gpointer target, const gchar *target_property, GBindingFlags flags, GBindingTransformFunc transform_to, GBindingTransformFunc transform_from, gpointer user_data, GDestroyNotify user_data_destroy);\nsubroutine g_binding_group_bind_full(self, source_property, target,&\n& target_property, flags, transform_to, transform_from, user_data,&\n& user_data_destroy) bind(c)\n  import :: c_ptr, c_char, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: source_property\n  type(c_ptr), value :: target\n  character(kind=c_char), dimension(*) :: target_property\n  integer(c_int), value :: flags\n  type(c_funptr), value :: transform_to\n  type(c_funptr), value :: transform_from\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: user_data_destroy\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_2_72\n!void g_binding_group_bind_with_closures (GBindingGroup *self, const gchar *source_property, gpointer target, const gchar *target_property, GBindingFlags flags, GClosure *transform_to, GClosure *transform_from);\nsubroutine g_binding_group_bind_with_closures(self, source_property, target,&\n& target_property, flags, transform_to, transform_from) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: source_property\n  type(c_ptr), value :: target\n  character(kind=c_char), dimension(*) :: target_property\n  integer(c_int), value :: flags\n  type(c_ptr), value :: transform_to\n  type(c_ptr), value :: transform_from\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gobject/gboxed.h\n!--------------------------------------------------\n! GOBJECT_AVAILABLE_IN_ALL\n!gpointer g_boxed_copy (GType boxed_type, gconstpointer src_boxed);\nfunction g_boxed_copy(boxed_type, src_boxed) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_boxed_copy\n  integer(c_size_t), value :: boxed_type\n  type(c_ptr), value :: src_boxed\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_boxed_free (GType boxed_type, gpointer boxed);\nsubroutine g_boxed_free(boxed_type, boxed) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t), value :: boxed_type\n  type(c_ptr), value :: boxed\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_value_set_boxed (GValue *value, gconstpointer v_boxed);\nsubroutine g_value_set_boxed(value, v_boxed) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: value\n  type(c_ptr), value :: v_boxed\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_value_set_static_boxed (GValue *value, gconstpointer v_boxed);\nsubroutine g_value_set_static_boxed(value, v_boxed) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: value\n  type(c_ptr), value :: v_boxed\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_value_take_boxed (GValue *value, gconstpointer v_boxed);\nsubroutine g_value_take_boxed(value, v_boxed) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: value\n  type(c_ptr), value :: v_boxed\nend subroutine\n\n! GOBJECT_DEPRECATED_FOR(g_value_take_boxed)\n!void g_value_set_boxed_take_ownership (GValue *value, gconstpointer v_boxed);\nsubroutine g_value_set_boxed_take_ownership(value, v_boxed) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: value\n  type(c_ptr), value :: v_boxed\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gpointer g_value_get_boxed (const GValue *value);\nfunction g_value_get_boxed(value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_value_get_boxed\n  type(c_ptr), value :: value\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gpointer g_value_dup_boxed (const GValue *value);\nfunction g_value_dup_boxed(value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_value_dup_boxed\n  type(c_ptr), value :: value\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_boxed_type_register_static (const gchar *name, GBoxedCopyFunc boxed_copy, GBoxedFreeFunc boxed_free);\nfunction g_boxed_type_register_static(name, boxed_copy, boxed_free) bind(c)\n  import :: c_size_t, c_char, c_funptr\n  implicit none\n  integer(c_size_t) :: g_boxed_type_register_static\n  character(kind=c_char), dimension(*) :: name\n  type(c_funptr), value :: boxed_copy\n  type(c_funptr), value :: boxed_free\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_closure_get_type (void) ;\nfunction g_closure_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_closure_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_value_get_type (void) ;\nfunction g_value_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_value_get_type\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gobject/gclosure.h\n!--------------------------------------------------\n! GOBJECT_AVAILABLE_IN_ALL\n!GClosure* g_cclosure_new (GCallback callback_func, gpointer user_data, GClosureNotify destroy_data);\nfunction g_cclosure_new(callback_func, user_data, destroy_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_cclosure_new\n  type(c_funptr), value :: callback_func\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: destroy_data\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GClosure* g_cclosure_new_swap (GCallback callback_func, gpointer user_data, GClosureNotify destroy_data);\nfunction g_cclosure_new_swap(callback_func, user_data, destroy_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_cclosure_new_swap\n  type(c_funptr), value :: callback_func\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: destroy_data\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GClosure* g_signal_type_cclosure_new (GType itype, guint struct_offset);\nfunction g_signal_type_cclosure_new(itype, struct_offset) bind(c)\n  import :: c_ptr, c_size_t, c_int\n  implicit none\n  type(c_ptr) :: g_signal_type_cclosure_new\n  integer(c_size_t), value :: itype\n  integer(c_int), value :: struct_offset\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GClosure* g_closure_ref (GClosure *closure);\nfunction g_closure_ref(closure) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_closure_ref\n  type(c_ptr), value :: closure\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_closure_sink (GClosure *closure);\nsubroutine g_closure_sink(closure) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: closure\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_closure_unref (GClosure *closure);\nsubroutine g_closure_unref(closure) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: closure\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GClosure* g_closure_new_simple (guint sizeof_closure, gpointer data);\nfunction g_closure_new_simple(sizeof_closure, data) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_closure_new_simple\n  integer(c_int), value :: sizeof_closure\n  type(c_ptr), value :: data\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_closure_add_finalize_notifier (GClosure *closure, gpointer notify_data, GClosureNotify notify_func);\nsubroutine g_closure_add_finalize_notifier(closure, notify_data, notify_func)&\n& bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: notify_data\n  type(c_funptr), value :: notify_func\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_closure_remove_finalize_notifier (GClosure *closure, gpointer notify_data, GClosureNotify notify_func);\nsubroutine g_closure_remove_finalize_notifier(closure, notify_data,&\n& notify_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: notify_data\n  type(c_funptr), value :: notify_func\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_closure_add_invalidate_notifier (GClosure *closure, gpointer notify_data, GClosureNotify notify_func);\nsubroutine g_closure_add_invalidate_notifier(closure, notify_data, notify_func)&\n& bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: notify_data\n  type(c_funptr), value :: notify_func\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_closure_remove_invalidate_notifier (GClosure *closure, gpointer notify_data, GClosureNotify notify_func);\nsubroutine g_closure_remove_invalidate_notifier(closure, notify_data,&\n& notify_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: notify_data\n  type(c_funptr), value :: notify_func\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_closure_add_marshal_guards (GClosure *closure, gpointer pre_marshal_data, GClosureNotify pre_marshal_notify, gpointer post_marshal_data, GClosureNotify post_marshal_notify);\nsubroutine g_closure_add_marshal_guards(closure, pre_marshal_data,&\n& pre_marshal_notify, post_marshal_data, post_marshal_notify) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: pre_marshal_data\n  type(c_funptr), value :: pre_marshal_notify\n  type(c_ptr), value :: post_marshal_data\n  type(c_funptr), value :: post_marshal_notify\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_closure_set_marshal (GClosure *closure, GClosureMarshal marshal);\nsubroutine g_closure_set_marshal(closure, marshal) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_funptr), value :: marshal\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_closure_set_meta_marshal (GClosure *closure, gpointer marshal_data, GClosureMarshal meta_marshal);\nsubroutine g_closure_set_meta_marshal(closure, marshal_data, meta_marshal)&\n& bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: marshal_data\n  type(c_funptr), value :: meta_marshal\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_closure_invalidate (GClosure *closure);\nsubroutine g_closure_invalidate(closure) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: closure\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_closure_invoke (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint);\nsubroutine g_closure_invoke(closure, return_value, n_param_values,&\n& param_values, invocation_hint) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  integer(c_int), value :: n_param_values\n  type(c_ptr), value :: param_values\n  type(c_ptr), value :: invocation_hint\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_generic (GClosure *closure, GValue *return_gvalue, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\nsubroutine g_cclosure_marshal_generic(closure, return_gvalue, n_param_values,&\n& param_values, invocation_hint, marshal_data) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_gvalue\n  integer(c_int), value :: n_param_values\n  type(c_ptr), value :: param_values\n  type(c_ptr), value :: invocation_hint\n  type(c_ptr), value :: marshal_data\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_generic_va (GClosure *closure, GValue *return_value, gpointer instance, va_list args_list, gpointer marshal_data, int n_params, GType *param_types);\nsubroutine g_cclosure_marshal_generic_va(closure, return_value, instance,&\n& args_list, marshal_data, n_params, param_types) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  type(c_ptr), value :: instance\n  type(c_ptr), value :: args_list\n  type(c_ptr), value :: marshal_data\n  integer(c_int), value :: n_params\n  type(c_ptr), value :: param_types\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gobject/genums.h\n!--------------------------------------------------\n! GOBJECT_AVAILABLE_IN_ALL\n!GEnumValue* g_enum_get_value (GEnumClass *enum_class, gint value);\nfunction g_enum_get_value(enum_class, value) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_enum_get_value\n  type(c_ptr), value :: enum_class\n  integer(c_int), value :: value\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GEnumValue* g_enum_get_value_by_name (GEnumClass *enum_class, const gchar *name);\nfunction g_enum_get_value_by_name(enum_class, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_enum_get_value_by_name\n  type(c_ptr), value :: enum_class\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GEnumValue* g_enum_get_value_by_nick (GEnumClass *enum_class, const gchar *nick);\nfunction g_enum_get_value_by_nick(enum_class, nick) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_enum_get_value_by_nick\n  type(c_ptr), value :: enum_class\n  character(kind=c_char), dimension(*) :: nick\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GFlagsValue* g_flags_get_first_value (GFlagsClass *flags_class, guint value);\nfunction g_flags_get_first_value(flags_class, value) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_flags_get_first_value\n  type(c_ptr), value :: flags_class\n  integer(c_int), value :: value\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GFlagsValue* g_flags_get_value_by_name (GFlagsClass *flags_class, const gchar *name);\nfunction g_flags_get_value_by_name(flags_class, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_flags_get_value_by_name\n  type(c_ptr), value :: flags_class\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GFlagsValue* g_flags_get_value_by_nick (GFlagsClass *flags_class, const gchar *nick);\nfunction g_flags_get_value_by_nick(flags_class, nick) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_flags_get_value_by_nick\n  type(c_ptr), value :: flags_class\n  character(kind=c_char), dimension(*) :: nick\nend function\n\n! GOBJECT_AVAILABLE_IN_2_54\n!gchar *g_enum_to_string (GType g_enum_type, gint value);\nfunction g_enum_to_string(g_enum_type, value) bind(c)\n  import :: c_ptr, c_size_t, c_int\n  implicit none\n  type(c_ptr) :: g_enum_to_string\n  integer(c_size_t), value :: g_enum_type\n  integer(c_int), value :: value\nend function\n\n! GOBJECT_AVAILABLE_IN_2_54\n!gchar *g_flags_to_string (GType flags_type, guint value);\nfunction g_flags_to_string(flags_type, value) bind(c)\n  import :: c_ptr, c_size_t, c_int\n  implicit none\n  type(c_ptr) :: g_flags_to_string\n  integer(c_size_t), value :: flags_type\n  integer(c_int), value :: value\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_value_set_enum (GValue *value, gint v_enum);\nsubroutine g_value_set_enum(value, v_enum) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: value\n  integer(c_int), value :: v_enum\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gint g_value_get_enum (const GValue *value);\nfunction g_value_get_enum(value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_value_get_enum\n  type(c_ptr), value :: value\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_value_set_flags (GValue *value, guint v_flags);\nsubroutine g_value_set_flags(value, v_flags) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: value\n  integer(c_int), value :: v_flags\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!guint g_value_get_flags (const GValue *value);\nfunction g_value_get_flags(value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_value_get_flags\n  type(c_ptr), value :: value\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_enum_register_static (const gchar *name, const GEnumValue *const_static_values);\nfunction g_enum_register_static(name, const_static_values) bind(c)\n  import :: c_size_t, c_char, c_ptr\n  implicit none\n  integer(c_size_t) :: g_enum_register_static\n  character(kind=c_char), dimension(*) :: name\n  type(c_ptr), value :: const_static_values\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_flags_register_static (const gchar *name, const GFlagsValue *const_static_values);\nfunction g_flags_register_static(name, const_static_values) bind(c)\n  import :: c_size_t, c_char, c_ptr\n  implicit none\n  integer(c_size_t) :: g_flags_register_static\n  character(kind=c_char), dimension(*) :: name\n  type(c_ptr), value :: const_static_values\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_enum_complete_type_info (GType g_enum_type, GTypeInfo *info, const GEnumValue *const_values);\nsubroutine g_enum_complete_type_info(g_enum_type, info, const_values) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t), value :: g_enum_type\n  type(c_ptr), value :: info\n  type(c_ptr), value :: const_values\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_flags_complete_type_info (GType g_flags_type, GTypeInfo *info, const GFlagsValue *const_values);\nsubroutine g_flags_complete_type_info(g_flags_type, info, const_values) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t), value :: g_flags_type\n  type(c_ptr), value :: info\n  type(c_ptr), value :: const_values\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gobject/glib-enumtypes.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/glib-2.0/gobject/glib-types.h\n!--------------------------------------------------\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_date_get_type (void) ;\nfunction g_date_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_date_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_strv_get_type (void) ;\nfunction g_strv_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_strv_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_gstring_get_type (void) ;\nfunction g_gstring_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_gstring_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_hash_table_get_type (void) ;\nfunction g_hash_table_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_hash_table_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_array_get_type (void) ;\nfunction g_array_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_array_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_byte_array_get_type (void) ;\nfunction g_byte_array_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_byte_array_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_ptr_array_get_type (void) ;\nfunction g_ptr_array_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_ptr_array_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_bytes_get_type (void) ;\nfunction g_bytes_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_bytes_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_variant_type_get_gtype (void) ;\nfunction g_variant_type_get_gtype() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_variant_type_get_gtype\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_regex_get_type (void) ;\nfunction g_regex_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_regex_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_2_30\n!GType g_match_info_get_type (void) ;\nfunction g_match_info_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_match_info_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_error_get_type (void) ;\nfunction g_error_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_error_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_date_time_get_type (void) ;\nfunction g_date_time_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_date_time_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_time_zone_get_type (void) ;\nfunction g_time_zone_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_time_zone_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_io_channel_get_type (void) ;\nfunction g_io_channel_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_io_channel_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_io_condition_get_type (void) ;\nfunction g_io_condition_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_io_condition_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_variant_builder_get_type (void) ;\nfunction g_variant_builder_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_variant_builder_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_2_40\n!GType g_variant_dict_get_type (void) ;\nfunction g_variant_dict_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_variant_dict_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_key_file_get_type (void) ;\nfunction g_key_file_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_key_file_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_2_30\n!GType g_main_loop_get_type (void) ;\nfunction g_main_loop_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_main_loop_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_2_30\n!GType g_main_context_get_type (void) ;\nfunction g_main_context_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_main_context_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_2_30\n!GType g_source_get_type (void) ;\nfunction g_source_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_source_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_2_36\n!GType g_pollfd_get_type (void) ;\nfunction g_pollfd_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_pollfd_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_2_36\n!GType g_thread_get_type (void) ;\nfunction g_thread_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_thread_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_2_36\n!GType g_checksum_get_type (void) ;\nfunction g_checksum_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_checksum_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_2_36\n!GType g_markup_parse_context_get_type (void) ;\nfunction g_markup_parse_context_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_markup_parse_context_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_2_40\n!GType g_mapped_file_get_type (void) ;\nfunction g_mapped_file_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_mapped_file_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_2_44\n!GType g_option_group_get_type (void) ;\nfunction g_option_group_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_option_group_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_2_66\n!GType g_uri_get_type (void) ;\nfunction g_uri_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_uri_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_2_68\n!GType g_tree_get_type (void) ;\nfunction g_tree_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_tree_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_2_70\n!GType g_pattern_spec_get_type (void) ;\nfunction g_pattern_spec_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_pattern_spec_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_2_76\n!GType g_bookmark_file_get_type (void) ;\nfunction g_bookmark_file_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_bookmark_file_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_2_80\n!GType g_hmac_get_type (void) ;\nfunction g_hmac_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_hmac_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_2_80\n!GType g_dir_get_type (void) ;\nfunction g_dir_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_dir_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_2_80\n!GType g_rand_get_type (void) ;\nfunction g_rand_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_rand_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_2_80\n!GType g_strv_builder_get_type (void) ;\nfunction g_strv_builder_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_strv_builder_get_type\nend function\n\n! GOBJECT_DEPRECATED_FOR('G_TYPE_VARIANT')\n!GType g_variant_get_gtype (void) ;\nfunction g_variant_get_gtype() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_variant_get_gtype\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gobject/gmarshal.h\n!--------------------------------------------------\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_VOID__VOID (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\nsubroutine g_cclosure_marshal_VOID__VOID(closure, return_value, n_param_values,&\n& param_values, invocation_hint, marshal_data) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  integer(c_int), value :: n_param_values\n  type(c_ptr), value :: param_values\n  type(c_ptr), value :: invocation_hint\n  type(c_ptr), value :: marshal_data\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_VOID__VOIDv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\nsubroutine g_cclosure_marshal_VOID__VOIDv(closure, return_value, instance,&\n& args, marshal_data, n_params, param_types) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  type(c_ptr), value :: instance\n  type(c_ptr), value :: args\n  type(c_ptr), value :: marshal_data\n  integer(c_int), value :: n_params\n  type(c_ptr), value :: param_types\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_VOID__BOOLEAN (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\nsubroutine g_cclosure_marshal_VOID__BOOLEAN(closure, return_value,&\n& n_param_values, param_values, invocation_hint, marshal_data) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  integer(c_int), value :: n_param_values\n  type(c_ptr), value :: param_values\n  type(c_ptr), value :: invocation_hint\n  type(c_ptr), value :: marshal_data\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_VOID__BOOLEANv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\nsubroutine g_cclosure_marshal_VOID__BOOLEANv(closure, return_value, instance,&\n& args, marshal_data, n_params, param_types) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  type(c_ptr), value :: instance\n  type(c_ptr), value :: args\n  type(c_ptr), value :: marshal_data\n  integer(c_int), value :: n_params\n  type(c_ptr), value :: param_types\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_VOID__CHAR (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\nsubroutine g_cclosure_marshal_VOID__CHAR(closure, return_value, n_param_values,&\n& param_values, invocation_hint, marshal_data) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  integer(c_int), value :: n_param_values\n  type(c_ptr), value :: param_values\n  type(c_ptr), value :: invocation_hint\n  type(c_ptr), value :: marshal_data\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_VOID__CHARv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\nsubroutine g_cclosure_marshal_VOID__CHARv(closure, return_value, instance,&\n& args, marshal_data, n_params, param_types) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  type(c_ptr), value :: instance\n  type(c_ptr), value :: args\n  type(c_ptr), value :: marshal_data\n  integer(c_int), value :: n_params\n  type(c_ptr), value :: param_types\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_VOID__UCHAR (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\nsubroutine g_cclosure_marshal_VOID__UCHAR(closure, return_value,&\n& n_param_values, param_values, invocation_hint, marshal_data) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  integer(c_int), value :: n_param_values\n  type(c_ptr), value :: param_values\n  type(c_ptr), value :: invocation_hint\n  type(c_ptr), value :: marshal_data\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_VOID__UCHARv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\nsubroutine g_cclosure_marshal_VOID__UCHARv(closure, return_value, instance,&\n& args, marshal_data, n_params, param_types) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  type(c_ptr), value :: instance\n  type(c_ptr), value :: args\n  type(c_ptr), value :: marshal_data\n  integer(c_int), value :: n_params\n  type(c_ptr), value :: param_types\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_VOID__INT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\nsubroutine g_cclosure_marshal_VOID__INT(closure, return_value, n_param_values,&\n& param_values, invocation_hint, marshal_data) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  integer(c_int), value :: n_param_values\n  type(c_ptr), value :: param_values\n  type(c_ptr), value :: invocation_hint\n  type(c_ptr), value :: marshal_data\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_VOID__INTv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\nsubroutine g_cclosure_marshal_VOID__INTv(closure, return_value, instance, args,&\n& marshal_data, n_params, param_types) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  type(c_ptr), value :: instance\n  type(c_ptr), value :: args\n  type(c_ptr), value :: marshal_data\n  integer(c_int), value :: n_params\n  type(c_ptr), value :: param_types\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_VOID__UINT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\nsubroutine g_cclosure_marshal_VOID__UINT(closure, return_value, n_param_values,&\n& param_values, invocation_hint, marshal_data) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  integer(c_int), value :: n_param_values\n  type(c_ptr), value :: param_values\n  type(c_ptr), value :: invocation_hint\n  type(c_ptr), value :: marshal_data\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_VOID__UINTv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\nsubroutine g_cclosure_marshal_VOID__UINTv(closure, return_value, instance,&\n& args, marshal_data, n_params, param_types) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  type(c_ptr), value :: instance\n  type(c_ptr), value :: args\n  type(c_ptr), value :: marshal_data\n  integer(c_int), value :: n_params\n  type(c_ptr), value :: param_types\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_VOID__LONG (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\nsubroutine g_cclosure_marshal_VOID__LONG(closure, return_value, n_param_values,&\n& param_values, invocation_hint, marshal_data) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  integer(c_int), value :: n_param_values\n  type(c_ptr), value :: param_values\n  type(c_ptr), value :: invocation_hint\n  type(c_ptr), value :: marshal_data\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_VOID__LONGv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\nsubroutine g_cclosure_marshal_VOID__LONGv(closure, return_value, instance,&\n& args, marshal_data, n_params, param_types) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  type(c_ptr), value :: instance\n  type(c_ptr), value :: args\n  type(c_ptr), value :: marshal_data\n  integer(c_int), value :: n_params\n  type(c_ptr), value :: param_types\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_VOID__ULONG (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\nsubroutine g_cclosure_marshal_VOID__ULONG(closure, return_value,&\n& n_param_values, param_values, invocation_hint, marshal_data) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  integer(c_int), value :: n_param_values\n  type(c_ptr), value :: param_values\n  type(c_ptr), value :: invocation_hint\n  type(c_ptr), value :: marshal_data\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_VOID__ULONGv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\nsubroutine g_cclosure_marshal_VOID__ULONGv(closure, return_value, instance,&\n& args, marshal_data, n_params, param_types) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  type(c_ptr), value :: instance\n  type(c_ptr), value :: args\n  type(c_ptr), value :: marshal_data\n  integer(c_int), value :: n_params\n  type(c_ptr), value :: param_types\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_VOID__ENUM (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\nsubroutine g_cclosure_marshal_VOID__ENUM(closure, return_value, n_param_values,&\n& param_values, invocation_hint, marshal_data) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  integer(c_int), value :: n_param_values\n  type(c_ptr), value :: param_values\n  type(c_ptr), value :: invocation_hint\n  type(c_ptr), value :: marshal_data\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_VOID__ENUMv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\nsubroutine g_cclosure_marshal_VOID__ENUMv(closure, return_value, instance,&\n& args, marshal_data, n_params, param_types) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  type(c_ptr), value :: instance\n  type(c_ptr), value :: args\n  type(c_ptr), value :: marshal_data\n  integer(c_int), value :: n_params\n  type(c_ptr), value :: param_types\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_VOID__FLAGS (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\nsubroutine g_cclosure_marshal_VOID__FLAGS(closure, return_value,&\n& n_param_values, param_values, invocation_hint, marshal_data) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  integer(c_int), value :: n_param_values\n  type(c_ptr), value :: param_values\n  type(c_ptr), value :: invocation_hint\n  type(c_ptr), value :: marshal_data\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_VOID__FLAGSv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\nsubroutine g_cclosure_marshal_VOID__FLAGSv(closure, return_value, instance,&\n& args, marshal_data, n_params, param_types) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  type(c_ptr), value :: instance\n  type(c_ptr), value :: args\n  type(c_ptr), value :: marshal_data\n  integer(c_int), value :: n_params\n  type(c_ptr), value :: param_types\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_VOID__FLOAT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\nsubroutine g_cclosure_marshal_VOID__FLOAT(closure, return_value,&\n& n_param_values, param_values, invocation_hint, marshal_data) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  integer(c_int), value :: n_param_values\n  type(c_ptr), value :: param_values\n  type(c_ptr), value :: invocation_hint\n  type(c_ptr), value :: marshal_data\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_VOID__FLOATv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\nsubroutine g_cclosure_marshal_VOID__FLOATv(closure, return_value, instance,&\n& args, marshal_data, n_params, param_types) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  type(c_ptr), value :: instance\n  type(c_ptr), value :: args\n  type(c_ptr), value :: marshal_data\n  integer(c_int), value :: n_params\n  type(c_ptr), value :: param_types\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_VOID__DOUBLE (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\nsubroutine g_cclosure_marshal_VOID__DOUBLE(closure, return_value,&\n& n_param_values, param_values, invocation_hint, marshal_data) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  integer(c_int), value :: n_param_values\n  type(c_ptr), value :: param_values\n  type(c_ptr), value :: invocation_hint\n  type(c_ptr), value :: marshal_data\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_VOID__DOUBLEv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\nsubroutine g_cclosure_marshal_VOID__DOUBLEv(closure, return_value, instance,&\n& args, marshal_data, n_params, param_types) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  type(c_ptr), value :: instance\n  type(c_ptr), value :: args\n  type(c_ptr), value :: marshal_data\n  integer(c_int), value :: n_params\n  type(c_ptr), value :: param_types\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_VOID__STRING (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\nsubroutine g_cclosure_marshal_VOID__STRING(closure, return_value,&\n& n_param_values, param_values, invocation_hint, marshal_data) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  integer(c_int), value :: n_param_values\n  type(c_ptr), value :: param_values\n  type(c_ptr), value :: invocation_hint\n  type(c_ptr), value :: marshal_data\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_VOID__STRINGv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\nsubroutine g_cclosure_marshal_VOID__STRINGv(closure, return_value, instance,&\n& args, marshal_data, n_params, param_types) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  type(c_ptr), value :: instance\n  type(c_ptr), value :: args\n  type(c_ptr), value :: marshal_data\n  integer(c_int), value :: n_params\n  type(c_ptr), value :: param_types\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_VOID__PARAM (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\nsubroutine g_cclosure_marshal_VOID__PARAM(closure, return_value,&\n& n_param_values, param_values, invocation_hint, marshal_data) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  integer(c_int), value :: n_param_values\n  type(c_ptr), value :: param_values\n  type(c_ptr), value :: invocation_hint\n  type(c_ptr), value :: marshal_data\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_VOID__PARAMv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\nsubroutine g_cclosure_marshal_VOID__PARAMv(closure, return_value, instance,&\n& args, marshal_data, n_params, param_types) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  type(c_ptr), value :: instance\n  type(c_ptr), value :: args\n  type(c_ptr), value :: marshal_data\n  integer(c_int), value :: n_params\n  type(c_ptr), value :: param_types\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_VOID__BOXED (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\nsubroutine g_cclosure_marshal_VOID__BOXED(closure, return_value,&\n& n_param_values, param_values, invocation_hint, marshal_data) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  integer(c_int), value :: n_param_values\n  type(c_ptr), value :: param_values\n  type(c_ptr), value :: invocation_hint\n  type(c_ptr), value :: marshal_data\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_VOID__BOXEDv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\nsubroutine g_cclosure_marshal_VOID__BOXEDv(closure, return_value, instance,&\n& args, marshal_data, n_params, param_types) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  type(c_ptr), value :: instance\n  type(c_ptr), value :: args\n  type(c_ptr), value :: marshal_data\n  integer(c_int), value :: n_params\n  type(c_ptr), value :: param_types\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_VOID__POINTER (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\nsubroutine g_cclosure_marshal_VOID__POINTER(closure, return_value,&\n& n_param_values, param_values, invocation_hint, marshal_data) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  integer(c_int), value :: n_param_values\n  type(c_ptr), value :: param_values\n  type(c_ptr), value :: invocation_hint\n  type(c_ptr), value :: marshal_data\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_VOID__POINTERv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\nsubroutine g_cclosure_marshal_VOID__POINTERv(closure, return_value, instance,&\n& args, marshal_data, n_params, param_types) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  type(c_ptr), value :: instance\n  type(c_ptr), value :: args\n  type(c_ptr), value :: marshal_data\n  integer(c_int), value :: n_params\n  type(c_ptr), value :: param_types\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_VOID__OBJECT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\nsubroutine g_cclosure_marshal_VOID__OBJECT(closure, return_value,&\n& n_param_values, param_values, invocation_hint, marshal_data) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  integer(c_int), value :: n_param_values\n  type(c_ptr), value :: param_values\n  type(c_ptr), value :: invocation_hint\n  type(c_ptr), value :: marshal_data\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_VOID__OBJECTv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\nsubroutine g_cclosure_marshal_VOID__OBJECTv(closure, return_value, instance,&\n& args, marshal_data, n_params, param_types) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  type(c_ptr), value :: instance\n  type(c_ptr), value :: args\n  type(c_ptr), value :: marshal_data\n  integer(c_int), value :: n_params\n  type(c_ptr), value :: param_types\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_VOID__VARIANT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\nsubroutine g_cclosure_marshal_VOID__VARIANT(closure, return_value,&\n& n_param_values, param_values, invocation_hint, marshal_data) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  integer(c_int), value :: n_param_values\n  type(c_ptr), value :: param_values\n  type(c_ptr), value :: invocation_hint\n  type(c_ptr), value :: marshal_data\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_VOID__VARIANTv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\nsubroutine g_cclosure_marshal_VOID__VARIANTv(closure, return_value, instance,&\n& args, marshal_data, n_params, param_types) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  type(c_ptr), value :: instance\n  type(c_ptr), value :: args\n  type(c_ptr), value :: marshal_data\n  integer(c_int), value :: n_params\n  type(c_ptr), value :: param_types\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_VOID__UINT_POINTER (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\nsubroutine g_cclosure_marshal_VOID__UINT_POINTER(closure, return_value,&\n& n_param_values, param_values, invocation_hint, marshal_data) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  integer(c_int), value :: n_param_values\n  type(c_ptr), value :: param_values\n  type(c_ptr), value :: invocation_hint\n  type(c_ptr), value :: marshal_data\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_VOID__UINT_POINTERv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\nsubroutine g_cclosure_marshal_VOID__UINT_POINTERv(closure, return_value,&\n& instance, args, marshal_data, n_params, param_types) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  type(c_ptr), value :: instance\n  type(c_ptr), value :: args\n  type(c_ptr), value :: marshal_data\n  integer(c_int), value :: n_params\n  type(c_ptr), value :: param_types\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_BOOLEAN__FLAGS (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\nsubroutine g_cclosure_marshal_BOOLEAN__FLAGS(closure, return_value,&\n& n_param_values, param_values, invocation_hint, marshal_data) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  integer(c_int), value :: n_param_values\n  type(c_ptr), value :: param_values\n  type(c_ptr), value :: invocation_hint\n  type(c_ptr), value :: marshal_data\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_BOOLEAN__FLAGSv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\nsubroutine g_cclosure_marshal_BOOLEAN__FLAGSv(closure, return_value, instance,&\n& args, marshal_data, n_params, param_types) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  type(c_ptr), value :: instance\n  type(c_ptr), value :: args\n  type(c_ptr), value :: marshal_data\n  integer(c_int), value :: n_params\n  type(c_ptr), value :: param_types\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_STRING__OBJECT_POINTER (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\nsubroutine g_cclosure_marshal_STRING__OBJECT_POINTER(closure, return_value,&\n& n_param_values, param_values, invocation_hint, marshal_data) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  integer(c_int), value :: n_param_values\n  type(c_ptr), value :: param_values\n  type(c_ptr), value :: invocation_hint\n  type(c_ptr), value :: marshal_data\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_STRING__OBJECT_POINTERv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\nsubroutine g_cclosure_marshal_STRING__OBJECT_POINTERv(closure, return_value,&\n& instance, args, marshal_data, n_params, param_types) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  type(c_ptr), value :: instance\n  type(c_ptr), value :: args\n  type(c_ptr), value :: marshal_data\n  integer(c_int), value :: n_params\n  type(c_ptr), value :: param_types\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_BOOLEAN__BOXED_BOXED (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\nsubroutine g_cclosure_marshal_BOOLEAN__BOXED_BOXED(closure, return_value,&\n& n_param_values, param_values, invocation_hint, marshal_data) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  integer(c_int), value :: n_param_values\n  type(c_ptr), value :: param_values\n  type(c_ptr), value :: invocation_hint\n  type(c_ptr), value :: marshal_data\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_cclosure_marshal_BOOLEAN__BOXED_BOXEDv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\nsubroutine g_cclosure_marshal_BOOLEAN__BOXED_BOXEDv(closure, return_value,&\n& instance, args, marshal_data, n_params, param_types) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: return_value\n  type(c_ptr), value :: instance\n  type(c_ptr), value :: args\n  type(c_ptr), value :: marshal_data\n  integer(c_int), value :: n_params\n  type(c_ptr), value :: param_types\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gobject/gobject-autocleanups.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/glib-2.0/gobject/gobject-visibility.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/glib-2.0/gobject/gobject.h\n!--------------------------------------------------\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_initially_unowned_get_type (void);\nfunction g_initially_unowned_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_initially_unowned_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_object_class_install_property (GObjectClass *oclass, guint property_id, GParamSpec *pspec);\nsubroutine g_object_class_install_property(oclass, property_id, pspec) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: oclass\n  integer(c_int), value :: property_id\n  type(c_ptr), value :: pspec\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GParamSpec* g_object_class_find_property (GObjectClass *oclass, const gchar *property_name);\nfunction g_object_class_find_property(oclass, property_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_object_class_find_property\n  type(c_ptr), value :: oclass\n  character(kind=c_char), dimension(*) :: property_name\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GParamSpec**g_object_class_list_properties (GObjectClass *oclass, guint *n_properties);\nfunction g_object_class_list_properties(oclass, n_properties) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_object_class_list_properties\n  type(c_ptr), value :: oclass\n  type(c_ptr), value :: n_properties\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_object_class_override_property (GObjectClass *oclass, guint property_id, const gchar *name);\nsubroutine g_object_class_override_property(oclass, property_id, name) bind(c)\n  import :: c_ptr, c_int, c_char\n  implicit none\n  type(c_ptr), value :: oclass\n  integer(c_int), value :: property_id\n  character(kind=c_char), dimension(*) :: name\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_object_class_install_properties (GObjectClass *oclass, guint n_pspecs, GParamSpec **pspecs);\nsubroutine g_object_class_install_properties(oclass, n_pspecs, pspecs) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: oclass\n  integer(c_int), value :: n_pspecs\n  type(c_ptr), value :: pspecs\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_object_interface_install_property (gpointer g_iface, GParamSpec *pspec);\nsubroutine g_object_interface_install_property(g_iface, pspec) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: g_iface\n  type(c_ptr), value :: pspec\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GParamSpec* g_object_interface_find_property (gpointer g_iface, const gchar *property_name);\nfunction g_object_interface_find_property(g_iface, property_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_object_interface_find_property\n  type(c_ptr), value :: g_iface\n  character(kind=c_char), dimension(*) :: property_name\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GParamSpec**g_object_interface_list_properties (gpointer g_iface, guint *n_properties_p);\nfunction g_object_interface_list_properties(g_iface, n_properties_p) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_object_interface_list_properties\n  type(c_ptr), value :: g_iface\n  type(c_ptr), value :: n_properties_p\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_object_get_type (void) ;\nfunction g_object_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_object_get_type\nend function\n\n! GOBJECT_DEPRECATED_IN_2_54_FOR(g_object_new_with_properties)\n!gpointer g_object_newv (GType object_type, guint n_parameters, GParameter *parameters);\nfunction g_object_newv(object_type, n_parameters, parameters) bind(c)\n  import :: c_ptr, c_size_t, c_int\n  implicit none\n  type(c_ptr) :: g_object_newv\n  integer(c_size_t), value :: object_type\n  integer(c_int), value :: n_parameters\n  type(c_ptr), value :: parameters\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GObject* g_object_new_valist (GType object_type, const gchar *first_property_name, va_list var_args);\nfunction g_object_new_valist(object_type, first_property_name, var_args)&\n& bind(c)\n  import :: c_ptr, c_size_t, c_char\n  implicit none\n  type(c_ptr) :: g_object_new_valist\n  integer(c_size_t), value :: object_type\n  character(kind=c_char), dimension(*) :: first_property_name\n  type(c_ptr), value :: var_args\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_object_set_valist (GObject *object, const gchar *first_property_name, va_list var_args);\nsubroutine g_object_set_valist(object, first_property_name, var_args) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: object\n  character(kind=c_char), dimension(*) :: first_property_name\n  type(c_ptr), value :: var_args\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_object_get_valist (GObject *object, const gchar *first_property_name, va_list var_args);\nsubroutine g_object_get_valist(object, first_property_name, var_args) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: object\n  character(kind=c_char), dimension(*) :: first_property_name\n  type(c_ptr), value :: var_args\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_object_set_property (GObject *object, const gchar *property_name, const GValue *value);\nsubroutine g_object_set_property(object, property_name, value) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: object\n  character(kind=c_char), dimension(*) :: property_name\n  type(c_ptr), value :: value\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_object_get_property (GObject *object, const gchar *property_name, GValue *value);\nsubroutine g_object_get_property(object, property_name, value) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: object\n  character(kind=c_char), dimension(*) :: property_name\n  type(c_ptr), value :: value\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_object_freeze_notify (GObject *object);\nsubroutine g_object_freeze_notify(object) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: object\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_object_notify (GObject *object, const gchar *property_name);\nsubroutine g_object_notify(object, property_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: object\n  character(kind=c_char), dimension(*) :: property_name\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_object_notify_by_pspec (GObject *object, GParamSpec *pspec);\nsubroutine g_object_notify_by_pspec(object, pspec) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: object\n  type(c_ptr), value :: pspec\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_object_thaw_notify (GObject *object);\nsubroutine g_object_thaw_notify(object) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: object\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gboolean g_object_is_floating (gpointer object);\nfunction g_object_is_floating(object) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_object_is_floating\n  type(c_ptr), value :: object\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gpointer g_object_ref_sink (gpointer object);\nfunction g_object_ref_sink(object) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_object_ref_sink\n  type(c_ptr), value :: object\nend function\n\n! GOBJECT_AVAILABLE_IN_2_70\n!gpointer g_object_take_ref (gpointer object);\nfunction g_object_take_ref(object) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_object_take_ref\n  type(c_ptr), value :: object\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gpointer g_object_ref (gpointer object);\nfunction g_object_ref(object) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_object_ref\n  type(c_ptr), value :: object\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_object_unref (gpointer object);\nsubroutine g_object_unref(object) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: object\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_object_weak_ref (GObject *object, GWeakNotify notify, gpointer data);\nsubroutine g_object_weak_ref(object, notify, data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: object\n  type(c_funptr), value :: notify\n  type(c_ptr), value :: data\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_object_weak_unref (GObject *object, GWeakNotify notify, gpointer data);\nsubroutine g_object_weak_unref(object, notify, data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: object\n  type(c_funptr), value :: notify\n  type(c_ptr), value :: data\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_object_add_weak_pointer (GObject *object, gpointer *weak_pointer_location);\nsubroutine g_object_add_weak_pointer(object, weak_pointer_location) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: object\n  type(c_ptr), value :: weak_pointer_location\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_object_remove_weak_pointer (GObject *object, gpointer *weak_pointer_location);\nsubroutine g_object_remove_weak_pointer(object, weak_pointer_location) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: object\n  type(c_ptr), value :: weak_pointer_location\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_object_add_toggle_ref (GObject *object, GToggleNotify notify, gpointer data);\nsubroutine g_object_add_toggle_ref(object, notify, data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: object\n  type(c_funptr), value :: notify\n  type(c_ptr), value :: data\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_object_remove_toggle_ref (GObject *object, GToggleNotify notify, gpointer data);\nsubroutine g_object_remove_toggle_ref(object, notify, data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: object\n  type(c_funptr), value :: notify\n  type(c_ptr), value :: data\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gpointer g_object_get_qdata (GObject *object, GQuark quark);\nfunction g_object_get_qdata(object, quark) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr) :: g_object_get_qdata\n  type(c_ptr), value :: object\n  integer(c_int32_t), value :: quark\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_object_set_qdata (GObject *object, GQuark quark, gpointer data);\nsubroutine g_object_set_qdata(object, quark, data) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr), value :: object\n  integer(c_int32_t), value :: quark\n  type(c_ptr), value :: data\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_object_set_qdata_full (GObject *object, GQuark quark, gpointer data, GDestroyNotify destroy);\nsubroutine g_object_set_qdata_full(object, quark, data, destroy) bind(c)\n  import :: c_ptr, c_int32_t, c_funptr\n  implicit none\n  type(c_ptr), value :: object\n  integer(c_int32_t), value :: quark\n  type(c_ptr), value :: data\n  type(c_funptr), value :: destroy\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gpointer g_object_steal_qdata (GObject *object, GQuark quark);\nfunction g_object_steal_qdata(object, quark) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr) :: g_object_steal_qdata\n  type(c_ptr), value :: object\n  integer(c_int32_t), value :: quark\nend function\n\n! GOBJECT_AVAILABLE_IN_2_34\n!gpointer g_object_dup_qdata (GObject *object, GQuark quark, GDuplicateFunc dup_func, gpointer user_data);\nfunction g_object_dup_qdata(object, quark, dup_func, user_data) bind(c)\n  import :: c_ptr, c_int32_t, c_funptr\n  implicit none\n  type(c_ptr) :: g_object_dup_qdata\n  type(c_ptr), value :: object\n  integer(c_int32_t), value :: quark\n  type(c_funptr), value :: dup_func\n  type(c_ptr), value :: user_data\nend function\n\n! GOBJECT_AVAILABLE_IN_2_34\n!gboolean g_object_replace_qdata (GObject *object, GQuark quark, gpointer oldval, gpointer newval, GDestroyNotify destroy, GDestroyNotify *old_destroy);\nfunction g_object_replace_qdata(object, quark, oldval, newval, destroy,&\n& old_destroy) bind(c)\n  import :: c_int, c_ptr, c_int32_t, c_funptr\n  implicit none\n  integer(c_int) :: g_object_replace_qdata\n  type(c_ptr), value :: object\n  integer(c_int32_t), value :: quark\n  type(c_ptr), value :: oldval\n  type(c_ptr), value :: newval\n  type(c_funptr), value :: destroy\n  type(c_funptr), value :: old_destroy\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gpointer g_object_get_data (GObject *object, const gchar *key);\nfunction g_object_get_data(object, key) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_object_get_data\n  type(c_ptr), value :: object\n  character(kind=c_char), dimension(*) :: key\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_object_set_data (GObject *object, const gchar *key, gpointer data);\nsubroutine g_object_set_data(object, key, data) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: object\n  character(kind=c_char), dimension(*) :: key\n  type(c_ptr), value :: data\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_object_set_data_full (GObject *object, const gchar *key, gpointer data, GDestroyNotify destroy);\nsubroutine g_object_set_data_full(object, key, data, destroy) bind(c)\n  import :: c_ptr, c_char, c_funptr\n  implicit none\n  type(c_ptr), value :: object\n  character(kind=c_char), dimension(*) :: key\n  type(c_ptr), value :: data\n  type(c_funptr), value :: destroy\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gpointer g_object_steal_data (GObject *object, const gchar *key);\nfunction g_object_steal_data(object, key) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_object_steal_data\n  type(c_ptr), value :: object\n  character(kind=c_char), dimension(*) :: key\nend function\n\n! GOBJECT_AVAILABLE_IN_2_34\n!gpointer g_object_dup_data (GObject *object, const gchar *key, GDuplicateFunc dup_func, gpointer user_data);\nfunction g_object_dup_data(object, key, dup_func, user_data) bind(c)\n  import :: c_ptr, c_char, c_funptr\n  implicit none\n  type(c_ptr) :: g_object_dup_data\n  type(c_ptr), value :: object\n  character(kind=c_char), dimension(*) :: key\n  type(c_funptr), value :: dup_func\n  type(c_ptr), value :: user_data\nend function\n\n! GOBJECT_AVAILABLE_IN_2_34\n!gboolean g_object_replace_data (GObject *object, const gchar *key, gpointer oldval, gpointer newval, GDestroyNotify destroy, GDestroyNotify *old_destroy);\nfunction g_object_replace_data(object, key, oldval, newval, destroy,&\n& old_destroy) bind(c)\n  import :: c_int, c_ptr, c_char, c_funptr\n  implicit none\n  integer(c_int) :: g_object_replace_data\n  type(c_ptr), value :: object\n  character(kind=c_char), dimension(*) :: key\n  type(c_ptr), value :: oldval\n  type(c_ptr), value :: newval\n  type(c_funptr), value :: destroy\n  type(c_funptr), value :: old_destroy\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_object_watch_closure (GObject *object, GClosure *closure);\nsubroutine g_object_watch_closure(object, closure) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: object\n  type(c_ptr), value :: closure\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GClosure* g_cclosure_new_object (GCallback callback_func, GObject *object);\nfunction g_cclosure_new_object(callback_func, object) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_cclosure_new_object\n  type(c_funptr), value :: callback_func\n  type(c_ptr), value :: object\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GClosure* g_cclosure_new_object_swap (GCallback callback_func, GObject *object);\nfunction g_cclosure_new_object_swap(callback_func, object) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_cclosure_new_object_swap\n  type(c_funptr), value :: callback_func\n  type(c_ptr), value :: object\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GClosure* g_closure_new_object (guint sizeof_closure, GObject *object);\nfunction g_closure_new_object(sizeof_closure, object) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_closure_new_object\n  integer(c_int), value :: sizeof_closure\n  type(c_ptr), value :: object\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_value_set_object (GValue *value, gpointer v_object);\nsubroutine g_value_set_object(value, v_object) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: value\n  type(c_ptr), value :: v_object\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gpointer g_value_get_object (const GValue *value);\nfunction g_value_get_object(value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_value_get_object\n  type(c_ptr), value :: value\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gpointer g_value_dup_object (const GValue *value);\nfunction g_value_dup_object(value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_value_dup_object\n  type(c_ptr), value :: value\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gulong g_signal_connect_object (gpointer instance, const gchar *detailed_signal, GCallback c_handler, gpointer gobject, GConnectFlags connect_flags);\nfunction g_signal_connect_object(instance, detailed_signal, c_handler, gobject,&\n& connect_flags) bind(c)\n  import :: c_long, c_ptr, c_char, c_funptr, c_int\n  implicit none\n  integer(c_long) :: g_signal_connect_object\n  type(c_ptr), value :: instance\n  character(kind=c_char), dimension(*) :: detailed_signal\n  type(c_funptr), value :: c_handler\n  type(c_ptr), value :: gobject\n  integer(c_int), value :: connect_flags\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_object_force_floating (GObject *object);\nsubroutine g_object_force_floating(object) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: object\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_object_run_dispose (GObject *object);\nsubroutine g_object_run_dispose(object) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: object\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_value_take_object (GValue *value, gpointer v_object);\nsubroutine g_value_take_object(value, v_object) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: value\n  type(c_ptr), value :: v_object\nend subroutine\n\n! GOBJECT_DEPRECATED_FOR(g_value_take_object)\n!void g_value_set_object_take_ownership (GValue *value, gpointer v_object);\nsubroutine g_value_set_object_take_ownership(value, v_object) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: value\n  type(c_ptr), value :: v_object\nend subroutine\n\n! GOBJECT_DEPRECATED\n!gsize g_object_compat_control (gsize what, gpointer data);\nfunction g_object_compat_control(what, data) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_object_compat_control\n  integer(c_size_t), value :: what\n  type(c_ptr), value :: data\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_clear_object (GObject **object_ptr);\nsubroutine g_clear_object(object_ptr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: object_ptr\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_weak_ref_init (GWeakRef *weak_ref, gpointer object);\nsubroutine g_weak_ref_init(weak_ref, object) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: weak_ref\n  type(c_ptr), value :: object\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_weak_ref_clear (GWeakRef *weak_ref);\nsubroutine g_weak_ref_clear(weak_ref) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: weak_ref\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gpointer g_weak_ref_get (GWeakRef *weak_ref);\nfunction g_weak_ref_get(weak_ref) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_weak_ref_get\n  type(c_ptr), value :: weak_ref\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_weak_ref_set (GWeakRef *weak_ref, gpointer object);\nsubroutine g_weak_ref_set(weak_ref, object) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: weak_ref\n  type(c_ptr), value :: object\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gobject/gparam.h\n!--------------------------------------------------\n! GOBJECT_AVAILABLE_IN_ALL\n!GParamSpec* g_param_spec_ref (GParamSpec *pspec);\nfunction g_param_spec_ref(pspec) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_param_spec_ref\n  type(c_ptr), value :: pspec\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_param_spec_unref (GParamSpec *pspec);\nsubroutine g_param_spec_unref(pspec) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: pspec\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_param_spec_sink (GParamSpec *pspec);\nsubroutine g_param_spec_sink(pspec) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: pspec\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GParamSpec* g_param_spec_ref_sink (GParamSpec *pspec);\nfunction g_param_spec_ref_sink(pspec) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_param_spec_ref_sink\n  type(c_ptr), value :: pspec\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gpointer g_param_spec_get_qdata (GParamSpec *pspec, GQuark quark);\nfunction g_param_spec_get_qdata(pspec, quark) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr) :: g_param_spec_get_qdata\n  type(c_ptr), value :: pspec\n  integer(c_int32_t), value :: quark\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_param_spec_set_qdata (GParamSpec *pspec, GQuark quark, gpointer data);\nsubroutine g_param_spec_set_qdata(pspec, quark, data) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr), value :: pspec\n  integer(c_int32_t), value :: quark\n  type(c_ptr), value :: data\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_param_spec_set_qdata_full (GParamSpec *pspec, GQuark quark, gpointer data, GDestroyNotify destroy);\nsubroutine g_param_spec_set_qdata_full(pspec, quark, data, destroy) bind(c)\n  import :: c_ptr, c_int32_t, c_funptr\n  implicit none\n  type(c_ptr), value :: pspec\n  integer(c_int32_t), value :: quark\n  type(c_ptr), value :: data\n  type(c_funptr), value :: destroy\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gpointer g_param_spec_steal_qdata (GParamSpec *pspec, GQuark quark);\nfunction g_param_spec_steal_qdata(pspec, quark) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr) :: g_param_spec_steal_qdata\n  type(c_ptr), value :: pspec\n  integer(c_int32_t), value :: quark\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GParamSpec* g_param_spec_get_redirect_target (GParamSpec *pspec);\nfunction g_param_spec_get_redirect_target(pspec) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_param_spec_get_redirect_target\n  type(c_ptr), value :: pspec\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_param_value_set_default (GParamSpec *pspec, GValue *value);\nsubroutine g_param_value_set_default(pspec, value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: pspec\n  type(c_ptr), value :: value\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gboolean g_param_value_defaults (GParamSpec *pspec, const GValue *value);\nfunction g_param_value_defaults(pspec, value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_param_value_defaults\n  type(c_ptr), value :: pspec\n  type(c_ptr), value :: value\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gboolean g_param_value_validate (GParamSpec *pspec, GValue *value);\nfunction g_param_value_validate(pspec, value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_param_value_validate\n  type(c_ptr), value :: pspec\n  type(c_ptr), value :: value\nend function\n\n! GOBJECT_AVAILABLE_IN_2_74\n!gboolean g_param_value_is_valid (GParamSpec *pspec, const GValue *value);\nfunction g_param_value_is_valid(pspec, value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_param_value_is_valid\n  type(c_ptr), value :: pspec\n  type(c_ptr), value :: value\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gboolean g_param_value_convert (GParamSpec *pspec, const GValue *src_value, GValue *dest_value, gboolean strict_validation);\nfunction g_param_value_convert(pspec, src_value, dest_value, strict_validation)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_param_value_convert\n  type(c_ptr), value :: pspec\n  type(c_ptr), value :: src_value\n  type(c_ptr), value :: dest_value\n  integer(c_int), value :: strict_validation\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gint g_param_values_cmp (GParamSpec *pspec, const GValue *value1, const GValue *value2);\nfunction g_param_values_cmp(pspec, value1, value2) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_param_values_cmp\n  type(c_ptr), value :: pspec\n  type(c_ptr), value :: value1\n  type(c_ptr), value :: value2\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!const gchar * g_param_spec_get_name (GParamSpec *pspec);\nfunction g_param_spec_get_name(pspec) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_param_spec_get_name\n  type(c_ptr), value :: pspec\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!const gchar * g_param_spec_get_nick (GParamSpec *pspec);\nfunction g_param_spec_get_nick(pspec) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_param_spec_get_nick\n  type(c_ptr), value :: pspec\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!const gchar * g_param_spec_get_blurb (GParamSpec *pspec);\nfunction g_param_spec_get_blurb(pspec) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_param_spec_get_blurb\n  type(c_ptr), value :: pspec\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_value_set_param (GValue *value, GParamSpec *param);\nsubroutine g_value_set_param(value, param) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: value\n  type(c_ptr), value :: param\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GParamSpec* g_value_get_param (const GValue *value);\nfunction g_value_get_param(value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_value_get_param\n  type(c_ptr), value :: value\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GParamSpec* g_value_dup_param (const GValue *value);\nfunction g_value_dup_param(value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_value_dup_param\n  type(c_ptr), value :: value\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_value_take_param (GValue *value, GParamSpec *param);\nsubroutine g_value_take_param(value, param) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: value\n  type(c_ptr), value :: param\nend subroutine\n\n! GOBJECT_DEPRECATED_FOR(g_value_take_param)\n!void g_value_set_param_take_ownership (GValue *value, GParamSpec *param);\nsubroutine g_value_set_param_take_ownership(value, param) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: value\n  type(c_ptr), value :: param\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_2_36\n!const GValue * g_param_spec_get_default_value (GParamSpec *pspec);\nfunction g_param_spec_get_default_value(pspec) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_param_spec_get_default_value\n  type(c_ptr), value :: pspec\nend function\n\n! GOBJECT_AVAILABLE_IN_2_46\n!GQuark g_param_spec_get_name_quark (GParamSpec *pspec);\nfunction g_param_spec_get_name_quark(pspec) bind(c)\n  import :: c_int32_t, c_ptr\n  implicit none\n  integer(c_int32_t) :: g_param_spec_get_name_quark\n  type(c_ptr), value :: pspec\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_param_type_register_static (const gchar *name, const GParamSpecTypeInfo *pspec_info);\nfunction g_param_type_register_static(name, pspec_info) bind(c)\n  import :: c_size_t, c_char, c_ptr\n  implicit none\n  integer(c_size_t) :: g_param_type_register_static\n  character(kind=c_char), dimension(*) :: name\n  type(c_ptr), value :: pspec_info\nend function\n\n! GOBJECT_AVAILABLE_IN_2_66\n!gboolean g_param_spec_is_valid_name (const gchar *name);\nfunction g_param_spec_is_valid_name(name) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_param_spec_is_valid_name\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gpointer g_param_spec_internal (GType param_type, const gchar *name, const gchar *nick, const gchar *blurb, GParamFlags flags);\nfunction g_param_spec_internal(param_type, name, nick, blurb, flags) bind(c)\n  import :: c_ptr, c_size_t, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_param_spec_internal\n  integer(c_size_t), value :: param_type\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: nick\n  character(kind=c_char), dimension(*) :: blurb\n  integer(c_int), value :: flags\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GParamSpecPool* g_param_spec_pool_new (gboolean type_prefixing);\nfunction g_param_spec_pool_new(type_prefixing) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_param_spec_pool_new\n  integer(c_int), value :: type_prefixing\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_param_spec_pool_insert (GParamSpecPool *pool, GParamSpec *pspec, GType owner_type);\nsubroutine g_param_spec_pool_insert(pool, pspec, owner_type) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr), value :: pool\n  type(c_ptr), value :: pspec\n  integer(c_size_t), value :: owner_type\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_param_spec_pool_remove (GParamSpecPool *pool, GParamSpec *pspec);\nsubroutine g_param_spec_pool_remove(pool, pspec) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: pool\n  type(c_ptr), value :: pspec\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GParamSpec* g_param_spec_pool_lookup (GParamSpecPool *pool, const gchar *param_name, GType owner_type, gboolean walk_ancestors);\nfunction g_param_spec_pool_lookup(pool, param_name, owner_type, walk_ancestors)&\n& bind(c)\n  import :: c_ptr, c_char, c_size_t, c_int\n  implicit none\n  type(c_ptr) :: g_param_spec_pool_lookup\n  type(c_ptr), value :: pool\n  character(kind=c_char), dimension(*) :: param_name\n  integer(c_size_t), value :: owner_type\n  integer(c_int), value :: walk_ancestors\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GList* g_param_spec_pool_list_owned (GParamSpecPool *pool, GType owner_type);\nfunction g_param_spec_pool_list_owned(pool, owner_type) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_param_spec_pool_list_owned\n  type(c_ptr), value :: pool\n  integer(c_size_t), value :: owner_type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GParamSpec** g_param_spec_pool_list (GParamSpecPool *pool, GType owner_type, guint *n_pspecs_p);\nfunction g_param_spec_pool_list(pool, owner_type, n_pspecs_p) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_param_spec_pool_list\n  type(c_ptr), value :: pool\n  integer(c_size_t), value :: owner_type\n  type(c_ptr), value :: n_pspecs_p\nend function\n\n! GOBJECT_AVAILABLE_IN_2_80\n!void g_param_spec_pool_free (GParamSpecPool *pool);\nsubroutine g_param_spec_pool_free(pool) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: pool\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gobject/gparamspecs.h\n!--------------------------------------------------\n! GOBJECT_AVAILABLE_IN_ALL\n!GParamSpec* g_param_spec_char (const gchar *name, const gchar *nick, const gchar *blurb, gint8 minimum, gint8 maximum, gint8 default_value, GParamFlags flags);\nfunction g_param_spec_char(name, nick, blurb, minimum, maximum, default_value,&\n& flags) bind(c)\n  import :: c_ptr, c_char, c_int8_t, c_int\n  implicit none\n  type(c_ptr) :: g_param_spec_char\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: nick\n  character(kind=c_char), dimension(*) :: blurb\n  integer(c_int8_t), value :: minimum\n  integer(c_int8_t), value :: maximum\n  integer(c_int8_t), value :: default_value\n  integer(c_int), value :: flags\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GParamSpec* g_param_spec_uchar (const gchar *name, const gchar *nick, const gchar *blurb, guint8 minimum, guint8 maximum, guint8 default_value, GParamFlags flags);\nfunction g_param_spec_uchar(name, nick, blurb, minimum, maximum, default_value,&\n& flags) bind(c)\n  import :: c_ptr, c_char, c_int8_t, c_int\n  implicit none\n  type(c_ptr) :: g_param_spec_uchar\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: nick\n  character(kind=c_char), dimension(*) :: blurb\n  integer(c_int8_t), value :: minimum\n  integer(c_int8_t), value :: maximum\n  integer(c_int8_t), value :: default_value\n  integer(c_int), value :: flags\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GParamSpec* g_param_spec_boolean (const gchar *name, const gchar *nick, const gchar *blurb, gboolean default_value, GParamFlags flags);\nfunction g_param_spec_boolean(name, nick, blurb, default_value, flags) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_param_spec_boolean\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: nick\n  character(kind=c_char), dimension(*) :: blurb\n  integer(c_int), value :: default_value\n  integer(c_int), value :: flags\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GParamSpec* g_param_spec_int (const gchar *name, const gchar *nick, const gchar *blurb, gint minimum, gint maximum, gint default_value, GParamFlags flags);\nfunction g_param_spec_int(name, nick, blurb, minimum, maximum, default_value,&\n& flags) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_param_spec_int\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: nick\n  character(kind=c_char), dimension(*) :: blurb\n  integer(c_int), value :: minimum\n  integer(c_int), value :: maximum\n  integer(c_int), value :: default_value\n  integer(c_int), value :: flags\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GParamSpec* g_param_spec_uint (const gchar *name, const gchar *nick, const gchar *blurb, guint minimum, guint maximum, guint default_value, GParamFlags flags);\nfunction g_param_spec_uint(name, nick, blurb, minimum, maximum, default_value,&\n& flags) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_param_spec_uint\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: nick\n  character(kind=c_char), dimension(*) :: blurb\n  integer(c_int), value :: minimum\n  integer(c_int), value :: maximum\n  integer(c_int), value :: default_value\n  integer(c_int), value :: flags\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GParamSpec* g_param_spec_long (const gchar *name, const gchar *nick, const gchar *blurb, glong minimum, glong maximum, glong default_value, GParamFlags flags);\nfunction g_param_spec_long(name, nick, blurb, minimum, maximum, default_value,&\n& flags) bind(c)\n  import :: c_ptr, c_char, c_long, c_int\n  implicit none\n  type(c_ptr) :: g_param_spec_long\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: nick\n  character(kind=c_char), dimension(*) :: blurb\n  integer(c_long), value :: minimum\n  integer(c_long), value :: maximum\n  integer(c_long), value :: default_value\n  integer(c_int), value :: flags\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GParamSpec* g_param_spec_ulong (const gchar *name, const gchar *nick, const gchar *blurb, gulong minimum, gulong maximum, gulong default_value, GParamFlags flags);\nfunction g_param_spec_ulong(name, nick, blurb, minimum, maximum, default_value,&\n& flags) bind(c)\n  import :: c_ptr, c_char, c_long, c_int\n  implicit none\n  type(c_ptr) :: g_param_spec_ulong\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: nick\n  character(kind=c_char), dimension(*) :: blurb\n  integer(c_long), value :: minimum\n  integer(c_long), value :: maximum\n  integer(c_long), value :: default_value\n  integer(c_int), value :: flags\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GParamSpec* g_param_spec_int64 (const gchar *name, const gchar *nick, const gchar *blurb, gint64 minimum, gint64 maximum, gint64 default_value, GParamFlags flags);\nfunction g_param_spec_int64(name, nick, blurb, minimum, maximum, default_value,&\n& flags) bind(c)\n  import :: c_ptr, c_char, c_int64_t, c_int\n  implicit none\n  type(c_ptr) :: g_param_spec_int64\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: nick\n  character(kind=c_char), dimension(*) :: blurb\n  integer(c_int64_t), value :: minimum\n  integer(c_int64_t), value :: maximum\n  integer(c_int64_t), value :: default_value\n  integer(c_int), value :: flags\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GParamSpec* g_param_spec_uint64 (const gchar *name, const gchar *nick, const gchar *blurb, guint64 minimum, guint64 maximum, guint64 default_value, GParamFlags flags);\nfunction g_param_spec_uint64(name, nick, blurb, minimum, maximum,&\n& default_value, flags) bind(c)\n  import :: c_ptr, c_char, c_int64_t, c_int\n  implicit none\n  type(c_ptr) :: g_param_spec_uint64\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: nick\n  character(kind=c_char), dimension(*) :: blurb\n  integer(c_int64_t), value :: minimum\n  integer(c_int64_t), value :: maximum\n  integer(c_int64_t), value :: default_value\n  integer(c_int), value :: flags\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GParamSpec* g_param_spec_unichar (const gchar *name, const gchar *nick, const gchar *blurb, gunichar default_value, GParamFlags flags);\nfunction g_param_spec_unichar(name, nick, blurb, default_value, flags) bind(c)\n  import :: c_ptr, c_char, c_int32_t, c_int\n  implicit none\n  type(c_ptr) :: g_param_spec_unichar\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: nick\n  character(kind=c_char), dimension(*) :: blurb\n  integer(c_int32_t), value :: default_value\n  integer(c_int), value :: flags\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GParamSpec* g_param_spec_enum (const gchar *name, const gchar *nick, const gchar *blurb, GType enum_type, gint default_value, GParamFlags flags);\nfunction g_param_spec_enum(name, nick, blurb, enum_type, default_value, flags)&\n& bind(c)\n  import :: c_ptr, c_char, c_size_t, c_int\n  implicit none\n  type(c_ptr) :: g_param_spec_enum\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: nick\n  character(kind=c_char), dimension(*) :: blurb\n  integer(c_size_t), value :: enum_type\n  integer(c_int), value :: default_value\n  integer(c_int), value :: flags\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GParamSpec* g_param_spec_flags (const gchar *name, const gchar *nick, const gchar *blurb, GType flags_type, guint default_value, GParamFlags flags);\nfunction g_param_spec_flags(name, nick, blurb, flags_type, default_value,&\n& flags) bind(c)\n  import :: c_ptr, c_char, c_size_t, c_int\n  implicit none\n  type(c_ptr) :: g_param_spec_flags\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: nick\n  character(kind=c_char), dimension(*) :: blurb\n  integer(c_size_t), value :: flags_type\n  integer(c_int), value :: default_value\n  integer(c_int), value :: flags\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GParamSpec* g_param_spec_float (const gchar *name, const gchar *nick, const gchar *blurb, gfloat minimum, gfloat maximum, gfloat default_value, GParamFlags flags);\nfunction g_param_spec_float(name, nick, blurb, minimum, maximum, default_value,&\n& flags) bind(c)\n  import :: c_ptr, c_char, c_float, c_int\n  implicit none\n  type(c_ptr) :: g_param_spec_float\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: nick\n  character(kind=c_char), dimension(*) :: blurb\n  real(c_float), value :: minimum\n  real(c_float), value :: maximum\n  real(c_float), value :: default_value\n  integer(c_int), value :: flags\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GParamSpec* g_param_spec_double (const gchar *name, const gchar *nick, const gchar *blurb, gdouble minimum, gdouble maximum, gdouble default_value, GParamFlags flags);\nfunction g_param_spec_double(name, nick, blurb, minimum, maximum,&\n& default_value, flags) bind(c)\n  import :: c_ptr, c_char, c_double, c_int\n  implicit none\n  type(c_ptr) :: g_param_spec_double\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: nick\n  character(kind=c_char), dimension(*) :: blurb\n  real(c_double), value :: minimum\n  real(c_double), value :: maximum\n  real(c_double), value :: default_value\n  integer(c_int), value :: flags\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GParamSpec* g_param_spec_string (const gchar *name, const gchar *nick, const gchar *blurb, const gchar *default_value, GParamFlags flags);\nfunction g_param_spec_string(name, nick, blurb, default_value, flags) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_param_spec_string\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: nick\n  character(kind=c_char), dimension(*) :: blurb\n  character(kind=c_char), dimension(*) :: default_value\n  integer(c_int), value :: flags\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GParamSpec* g_param_spec_param (const gchar *name, const gchar *nick, const gchar *blurb, GType param_type, GParamFlags flags);\nfunction g_param_spec_param(name, nick, blurb, param_type, flags) bind(c)\n  import :: c_ptr, c_char, c_size_t, c_int\n  implicit none\n  type(c_ptr) :: g_param_spec_param\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: nick\n  character(kind=c_char), dimension(*) :: blurb\n  integer(c_size_t), value :: param_type\n  integer(c_int), value :: flags\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GParamSpec* g_param_spec_boxed (const gchar *name, const gchar *nick, const gchar *blurb, GType boxed_type, GParamFlags flags);\nfunction g_param_spec_boxed(name, nick, blurb, boxed_type, flags) bind(c)\n  import :: c_ptr, c_char, c_size_t, c_int\n  implicit none\n  type(c_ptr) :: g_param_spec_boxed\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: nick\n  character(kind=c_char), dimension(*) :: blurb\n  integer(c_size_t), value :: boxed_type\n  integer(c_int), value :: flags\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GParamSpec* g_param_spec_pointer (const gchar *name, const gchar *nick, const gchar *blurb, GParamFlags flags);\nfunction g_param_spec_pointer(name, nick, blurb, flags) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_param_spec_pointer\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: nick\n  character(kind=c_char), dimension(*) :: blurb\n  integer(c_int), value :: flags\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GParamSpec* g_param_spec_value_array (const gchar *name, const gchar *nick, const gchar *blurb, GParamSpec *element_spec, GParamFlags flags);\nfunction g_param_spec_value_array(name, nick, blurb, element_spec, flags)&\n& bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_param_spec_value_array\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: nick\n  character(kind=c_char), dimension(*) :: blurb\n  type(c_ptr), value :: element_spec\n  integer(c_int), value :: flags\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GParamSpec* g_param_spec_object (const gchar *name, const gchar *nick, const gchar *blurb, GType object_type, GParamFlags flags);\nfunction g_param_spec_object(name, nick, blurb, object_type, flags) bind(c)\n  import :: c_ptr, c_char, c_size_t, c_int\n  implicit none\n  type(c_ptr) :: g_param_spec_object\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: nick\n  character(kind=c_char), dimension(*) :: blurb\n  integer(c_size_t), value :: object_type\n  integer(c_int), value :: flags\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GParamSpec* g_param_spec_override (const gchar *name, GParamSpec *overridden);\nfunction g_param_spec_override(name, overridden) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: g_param_spec_override\n  character(kind=c_char), dimension(*) :: name\n  type(c_ptr), value :: overridden\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GParamSpec* g_param_spec_gtype (const gchar *name, const gchar *nick, const gchar *blurb, GType is_a_type, GParamFlags flags);\nfunction g_param_spec_gtype(name, nick, blurb, is_a_type, flags) bind(c)\n  import :: c_ptr, c_char, c_size_t, c_int\n  implicit none\n  type(c_ptr) :: g_param_spec_gtype\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: nick\n  character(kind=c_char), dimension(*) :: blurb\n  integer(c_size_t), value :: is_a_type\n  integer(c_int), value :: flags\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GParamSpec* g_param_spec_variant (const gchar *name, const gchar *nick, const gchar *blurb, const GVariantType *type, GVariant *default_value, GParamFlags flags);\nfunction g_param_spec_variant(name, nick, blurb, type, default_value, flags)&\n& bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: g_param_spec_variant\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: nick\n  character(kind=c_char), dimension(*) :: blurb\n  type(c_ptr), value :: type\n  type(c_ptr), value :: default_value\n  integer(c_int), value :: flags\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gobject/gsignal.h\n!--------------------------------------------------\n! GOBJECT_AVAILABLE_IN_ALL\n!guint g_signal_newv (const gchar *signal_name, GType itype, GSignalFlags signal_flags, GClosure *class_closure, GSignalAccumulator accumulator, gpointer accu_data, GSignalCMarshaller c_marshaller, GType return_type, guint n_params, GType *param_types);\nfunction g_signal_newv(signal_name, itype, signal_flags, class_closure,&\n& accumulator, accu_data, c_marshaller, return_type, n_params, param_types)&\n& bind(c)\n  import :: c_int, c_char, c_size_t, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: g_signal_newv\n  character(kind=c_char), dimension(*) :: signal_name\n  integer(c_size_t), value :: itype\n  integer(c_int), value :: signal_flags\n  type(c_ptr), value :: class_closure\n  type(c_funptr), value :: accumulator\n  type(c_ptr), value :: accu_data\n  type(c_ptr), value :: c_marshaller\n  integer(c_size_t), value :: return_type\n  integer(c_int), value :: n_params\n  type(c_ptr), value :: param_types\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!guint g_signal_new_valist (const gchar *signal_name, GType itype, GSignalFlags signal_flags, GClosure *class_closure, GSignalAccumulator accumulator, gpointer accu_data, GSignalCMarshaller c_marshaller, GType return_type, guint n_params, va_list args);\nfunction g_signal_new_valist(signal_name, itype, signal_flags, class_closure,&\n& accumulator, accu_data, c_marshaller, return_type, n_params, args) bind(c)\n  import :: c_int, c_char, c_size_t, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: g_signal_new_valist\n  character(kind=c_char), dimension(*) :: signal_name\n  integer(c_size_t), value :: itype\n  integer(c_int), value :: signal_flags\n  type(c_ptr), value :: class_closure\n  type(c_funptr), value :: accumulator\n  type(c_ptr), value :: accu_data\n  type(c_ptr), value :: c_marshaller\n  integer(c_size_t), value :: return_type\n  integer(c_int), value :: n_params\n  type(c_ptr), value :: args\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_signal_emitv (const GValue *instance_and_params, guint signal_id, GQuark detail, GValue *return_value);\nsubroutine g_signal_emitv(instance_and_params, signal_id, detail, return_value)&\n& bind(c)\n  import :: c_ptr, c_int, c_int32_t\n  implicit none\n  type(c_ptr), value :: instance_and_params\n  integer(c_int), value :: signal_id\n  integer(c_int32_t), value :: detail\n  type(c_ptr), value :: return_value\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_signal_emit_valist (gpointer instance, guint signal_id, GQuark detail, va_list var_args);\nsubroutine g_signal_emit_valist(instance, signal_id, detail, var_args) bind(c)\n  import :: c_ptr, c_int, c_int32_t\n  implicit none\n  type(c_ptr), value :: instance\n  integer(c_int), value :: signal_id\n  integer(c_int32_t), value :: detail\n  type(c_ptr), value :: var_args\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!guint g_signal_lookup (const gchar *name, GType itype);\nfunction g_signal_lookup(name, itype) bind(c)\n  import :: c_int, c_char, c_size_t\n  implicit none\n  integer(c_int) :: g_signal_lookup\n  character(kind=c_char), dimension(*) :: name\n  integer(c_size_t), value :: itype\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!const gchar * g_signal_name (guint signal_id);\nfunction g_signal_name(signal_id) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_signal_name\n  integer(c_int), value :: signal_id\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_signal_query (guint signal_id, GSignalQuery *query);\nsubroutine g_signal_query(signal_id, query) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int), value :: signal_id\n  type(c_ptr), value :: query\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!guint* g_signal_list_ids (GType itype, guint *n_ids);\nfunction g_signal_list_ids(itype, n_ids) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_signal_list_ids\n  integer(c_size_t), value :: itype\n  type(c_ptr), value :: n_ids\nend function\n\n! GOBJECT_AVAILABLE_IN_2_66\n!gboolean g_signal_is_valid_name (const gchar *name);\nfunction g_signal_is_valid_name(name) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: g_signal_is_valid_name\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gboolean g_signal_parse_name (const gchar *detailed_signal, GType itype, guint *signal_id_p, GQuark *detail_p, gboolean force_detail_quark);\nfunction g_signal_parse_name(detailed_signal, itype, signal_id_p, detail_p,&\n& force_detail_quark) bind(c)\n  import :: c_int, c_char, c_size_t, c_ptr\n  implicit none\n  integer(c_int) :: g_signal_parse_name\n  character(kind=c_char), dimension(*) :: detailed_signal\n  integer(c_size_t), value :: itype\n  type(c_ptr), value :: signal_id_p\n  type(c_ptr), value :: detail_p\n  integer(c_int), value :: force_detail_quark\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GSignalInvocationHint* g_signal_get_invocation_hint (gpointer instance);\nfunction g_signal_get_invocation_hint(instance) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_signal_get_invocation_hint\n  type(c_ptr), value :: instance\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_signal_stop_emission (gpointer instance, guint signal_id, GQuark detail);\nsubroutine g_signal_stop_emission(instance, signal_id, detail) bind(c)\n  import :: c_ptr, c_int, c_int32_t\n  implicit none\n  type(c_ptr), value :: instance\n  integer(c_int), value :: signal_id\n  integer(c_int32_t), value :: detail\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_signal_stop_emission_by_name (gpointer instance, const gchar *detailed_signal);\nsubroutine g_signal_stop_emission_by_name(instance, detailed_signal) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: instance\n  character(kind=c_char), dimension(*) :: detailed_signal\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gulong g_signal_add_emission_hook (guint signal_id, GQuark detail, GSignalEmissionHook hook_func, gpointer hook_data, GDestroyNotify data_destroy);\nfunction g_signal_add_emission_hook(signal_id, detail, hook_func, hook_data,&\n& data_destroy) bind(c)\n  import :: c_long, c_int, c_int32_t, c_funptr, c_ptr\n  implicit none\n  integer(c_long) :: g_signal_add_emission_hook\n  integer(c_int), value :: signal_id\n  integer(c_int32_t), value :: detail\n  type(c_funptr), value :: hook_func\n  type(c_ptr), value :: hook_data\n  type(c_funptr), value :: data_destroy\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_signal_remove_emission_hook (guint signal_id, gulong hook_id);\nsubroutine g_signal_remove_emission_hook(signal_id, hook_id) bind(c)\n  import :: c_int, c_long\n  implicit none\n  integer(c_int), value :: signal_id\n  integer(c_long), value :: hook_id\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gboolean g_signal_has_handler_pending (gpointer instance, guint signal_id, GQuark detail, gboolean may_be_blocked);\nfunction g_signal_has_handler_pending(instance, signal_id, detail,&\n& may_be_blocked) bind(c)\n  import :: c_int, c_ptr, c_int32_t\n  implicit none\n  integer(c_int) :: g_signal_has_handler_pending\n  type(c_ptr), value :: instance\n  integer(c_int), value :: signal_id\n  integer(c_int32_t), value :: detail\n  integer(c_int), value :: may_be_blocked\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gulong g_signal_connect_closure_by_id (gpointer instance, guint signal_id, GQuark detail, GClosure *closure, gboolean after);\nfunction g_signal_connect_closure_by_id(instance, signal_id, detail, closure,&\n& after) bind(c)\n  import :: c_long, c_ptr, c_int, c_int32_t\n  implicit none\n  integer(c_long) :: g_signal_connect_closure_by_id\n  type(c_ptr), value :: instance\n  integer(c_int), value :: signal_id\n  integer(c_int32_t), value :: detail\n  type(c_ptr), value :: closure\n  integer(c_int), value :: after\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gulong g_signal_connect_closure (gpointer instance, const gchar *detailed_signal, GClosure *closure, gboolean after);\nfunction g_signal_connect_closure(instance, detailed_signal, closure, after)&\n& bind(c)\n  import :: c_long, c_ptr, c_char, c_int\n  implicit none\n  integer(c_long) :: g_signal_connect_closure\n  type(c_ptr), value :: instance\n  character(kind=c_char), dimension(*) :: detailed_signal\n  type(c_ptr), value :: closure\n  integer(c_int), value :: after\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gulong g_signal_connect_data (gpointer instance, const gchar *detailed_signal, GCallback c_handler, gpointer data, GClosureNotify destroy_data, GConnectFlags connect_flags);\nfunction g_signal_connect_data(instance, detailed_signal, c_handler, data,&\n& destroy_data, connect_flags) bind(c)\n  import :: c_long, c_ptr, c_char, c_funptr, c_int\n  implicit none\n  integer(c_long) :: g_signal_connect_data\n  type(c_ptr), value :: instance\n  character(kind=c_char), dimension(*) :: detailed_signal\n  type(c_funptr), value :: c_handler\n  type(c_ptr), value :: data\n  type(c_funptr), value :: destroy_data\n  integer(c_int), value :: connect_flags\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_signal_handler_block (gpointer instance, gulong handler_id);\nsubroutine g_signal_handler_block(instance, handler_id) bind(c)\n  import :: c_ptr, c_long\n  implicit none\n  type(c_ptr), value :: instance\n  integer(c_long), value :: handler_id\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_signal_handler_unblock (gpointer instance, gulong handler_id);\nsubroutine g_signal_handler_unblock(instance, handler_id) bind(c)\n  import :: c_ptr, c_long\n  implicit none\n  type(c_ptr), value :: instance\n  integer(c_long), value :: handler_id\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_signal_handler_disconnect (gpointer instance, gulong handler_id);\nsubroutine g_signal_handler_disconnect(instance, handler_id) bind(c)\n  import :: c_ptr, c_long\n  implicit none\n  type(c_ptr), value :: instance\n  integer(c_long), value :: handler_id\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gboolean g_signal_handler_is_connected (gpointer instance, gulong handler_id);\nfunction g_signal_handler_is_connected(instance, handler_id) bind(c)\n  import :: c_int, c_ptr, c_long\n  implicit none\n  integer(c_int) :: g_signal_handler_is_connected\n  type(c_ptr), value :: instance\n  integer(c_long), value :: handler_id\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gulong g_signal_handler_find (gpointer instance, GSignalMatchType mask, guint signal_id, GQuark detail, GClosure *closure, gpointer func, gpointer data);\nfunction g_signal_handler_find(instance, mask, signal_id, detail, closure,&\n& func, data) bind(c)\n  import :: c_long, c_ptr, c_int, c_int32_t\n  implicit none\n  integer(c_long) :: g_signal_handler_find\n  type(c_ptr), value :: instance\n  integer(c_int), value :: mask\n  integer(c_int), value :: signal_id\n  integer(c_int32_t), value :: detail\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: func\n  type(c_ptr), value :: data\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!guint g_signal_handlers_block_matched (gpointer instance, GSignalMatchType mask, guint signal_id, GQuark detail, GClosure *closure, gpointer func, gpointer data);\nfunction g_signal_handlers_block_matched(instance, mask, signal_id, detail,&\n& closure, func, data) bind(c)\n  import :: c_int, c_ptr, c_int32_t\n  implicit none\n  integer(c_int) :: g_signal_handlers_block_matched\n  type(c_ptr), value :: instance\n  integer(c_int), value :: mask\n  integer(c_int), value :: signal_id\n  integer(c_int32_t), value :: detail\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: func\n  type(c_ptr), value :: data\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!guint g_signal_handlers_unblock_matched (gpointer instance, GSignalMatchType mask, guint signal_id, GQuark detail, GClosure *closure, gpointer func, gpointer data);\nfunction g_signal_handlers_unblock_matched(instance, mask, signal_id, detail,&\n& closure, func, data) bind(c)\n  import :: c_int, c_ptr, c_int32_t\n  implicit none\n  integer(c_int) :: g_signal_handlers_unblock_matched\n  type(c_ptr), value :: instance\n  integer(c_int), value :: mask\n  integer(c_int), value :: signal_id\n  integer(c_int32_t), value :: detail\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: func\n  type(c_ptr), value :: data\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!guint g_signal_handlers_disconnect_matched (gpointer instance, GSignalMatchType mask, guint signal_id, GQuark detail, GClosure *closure, gpointer func, gpointer data);\nfunction g_signal_handlers_disconnect_matched(instance, mask, signal_id,&\n& detail, closure, func, data) bind(c)\n  import :: c_int, c_ptr, c_int32_t\n  implicit none\n  integer(c_int) :: g_signal_handlers_disconnect_matched\n  type(c_ptr), value :: instance\n  integer(c_int), value :: mask\n  integer(c_int), value :: signal_id\n  integer(c_int32_t), value :: detail\n  type(c_ptr), value :: closure\n  type(c_ptr), value :: func\n  type(c_ptr), value :: data\nend function\n\n! GOBJECT_AVAILABLE_IN_2_62\n!void g_clear_signal_handler (gulong *handler_id_ptr, gpointer instance);\nsubroutine g_clear_signal_handler(handler_id_ptr, instance) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: handler_id_ptr\n  type(c_ptr), value :: instance\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_signal_override_class_closure (guint signal_id, GType instance_type, GClosure *class_closure);\nsubroutine g_signal_override_class_closure(signal_id, instance_type,&\n& class_closure) bind(c)\n  import :: c_int, c_size_t, c_ptr\n  implicit none\n  integer(c_int), value :: signal_id\n  integer(c_size_t), value :: instance_type\n  type(c_ptr), value :: class_closure\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_signal_override_class_handler (const gchar *signal_name, GType instance_type, GCallback class_handler);\nsubroutine g_signal_override_class_handler(signal_name, instance_type,&\n& class_handler) bind(c)\n  import :: c_char, c_size_t, c_funptr\n  implicit none\n  character(kind=c_char), dimension(*) :: signal_name\n  integer(c_size_t), value :: instance_type\n  type(c_funptr), value :: class_handler\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_signal_chain_from_overridden (const GValue *instance_and_params, GValue *return_value);\nsubroutine g_signal_chain_from_overridden(instance_and_params, return_value)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: instance_and_params\n  type(c_ptr), value :: return_value\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gboolean g_signal_accumulator_true_handled (GSignalInvocationHint *ihint, GValue *return_accu, const GValue *handler_return, gpointer dummy);\nfunction g_signal_accumulator_true_handled(ihint, return_accu, handler_return,&\n& dummy) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_signal_accumulator_true_handled\n  type(c_ptr), value :: ihint\n  type(c_ptr), value :: return_accu\n  type(c_ptr), value :: handler_return\n  type(c_ptr), value :: dummy\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gboolean g_signal_accumulator_first_wins (GSignalInvocationHint *ihint, GValue *return_accu, const GValue *handler_return, gpointer dummy);\nfunction g_signal_accumulator_first_wins(ihint, return_accu, handler_return,&\n& dummy) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_signal_accumulator_first_wins\n  type(c_ptr), value :: ihint\n  type(c_ptr), value :: return_accu\n  type(c_ptr), value :: handler_return\n  type(c_ptr), value :: dummy\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_signal_handlers_destroy (gpointer instance);\nsubroutine g_signal_handlers_destroy(instance) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: instance\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gobject/gsignalgroup.h\n!--------------------------------------------------\n! GOBJECT_AVAILABLE_IN_2_72\n!GType g_signal_group_get_type (void) ;\nfunction g_signal_group_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_signal_group_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_2_72\n!GSignalGroup *g_signal_group_new (GType target_type);\nfunction g_signal_group_new(target_type) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_signal_group_new\n  integer(c_size_t), value :: target_type\nend function\n\n! GOBJECT_AVAILABLE_IN_2_72\n!void g_signal_group_set_target (GSignalGroup *self, gpointer target);\nsubroutine g_signal_group_set_target(self, target) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: target\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_2_72\n!gpointer g_signal_group_dup_target (GSignalGroup *self);\nfunction g_signal_group_dup_target(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_signal_group_dup_target\n  type(c_ptr), value :: self\nend function\n\n! GOBJECT_AVAILABLE_IN_2_72\n!void g_signal_group_block (GSignalGroup *self);\nsubroutine g_signal_group_block(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_2_72\n!void g_signal_group_unblock (GSignalGroup *self);\nsubroutine g_signal_group_unblock(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_2_74\n!void g_signal_group_connect_closure (GSignalGroup *self, const gchar *detailed_signal, GClosure *closure, gboolean after);\nsubroutine g_signal_group_connect_closure(self, detailed_signal, closure,&\n& after) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: detailed_signal\n  type(c_ptr), value :: closure\n  integer(c_int), value :: after\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_2_72\n!void g_signal_group_connect_object (GSignalGroup *self, const gchar *detailed_signal, GCallback c_handler, gpointer object, GConnectFlags flags);\nsubroutine g_signal_group_connect_object(self, detailed_signal, c_handler,&\n& object, flags) bind(c)\n  import :: c_ptr, c_char, c_funptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: detailed_signal\n  type(c_funptr), value :: c_handler\n  type(c_ptr), value :: object\n  integer(c_int), value :: flags\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_2_72\n!void g_signal_group_connect_data (GSignalGroup *self, const gchar *detailed_signal, GCallback c_handler, gpointer data, GClosureNotify notify, GConnectFlags flags);\nsubroutine g_signal_group_connect_data(self, detailed_signal, c_handler, data,&\n& notify, flags) bind(c)\n  import :: c_ptr, c_char, c_funptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: detailed_signal\n  type(c_funptr), value :: c_handler\n  type(c_ptr), value :: data\n  type(c_funptr), value :: notify\n  integer(c_int), value :: flags\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_2_72\n!void g_signal_group_connect (GSignalGroup *self, const gchar *detailed_signal, GCallback c_handler, gpointer data);\nsubroutine g_signal_group_connect(self, detailed_signal, c_handler, data)&\n& bind(c)\n  import :: c_ptr, c_char, c_funptr\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: detailed_signal\n  type(c_funptr), value :: c_handler\n  type(c_ptr), value :: data\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_2_72\n!void g_signal_group_connect_after (GSignalGroup *self, const gchar *detailed_signal, GCallback c_handler, gpointer data);\nsubroutine g_signal_group_connect_after(self, detailed_signal, c_handler, data)&\n& bind(c)\n  import :: c_ptr, c_char, c_funptr\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: detailed_signal\n  type(c_funptr), value :: c_handler\n  type(c_ptr), value :: data\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_2_72\n!void g_signal_group_connect_swapped (GSignalGroup *self, const gchar *detailed_signal, GCallback c_handler, gpointer data);\nsubroutine g_signal_group_connect_swapped(self, detailed_signal, c_handler,&\n& data) bind(c)\n  import :: c_ptr, c_char, c_funptr\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: detailed_signal\n  type(c_funptr), value :: c_handler\n  type(c_ptr), value :: data\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gobject/gsourceclosure.h\n!--------------------------------------------------\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_source_set_closure (GSource *source, GClosure *closure);\nsubroutine g_source_set_closure(source, closure) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: source\n  type(c_ptr), value :: closure\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_source_set_dummy_callback (GSource *source);\nsubroutine g_source_set_dummy_callback(source) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: source\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gobject/gtype.h\n!--------------------------------------------------\n! GOBJECT_DEPRECATED_IN_2_36\n!void g_type_init (void);\nsubroutine g_type_init() bind(c)\n  implicit none\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!const gchar * g_type_name (GType type);\nfunction g_type_name(type) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_type_name\n  integer(c_size_t), value :: type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GQuark g_type_qname (GType type);\nfunction g_type_qname(type) bind(c)\n  import :: c_int32_t, c_size_t\n  implicit none\n  integer(c_int32_t) :: g_type_qname\n  integer(c_size_t), value :: type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_type_from_name (const gchar *name);\nfunction g_type_from_name(name) bind(c)\n  import :: c_size_t, c_char\n  implicit none\n  integer(c_size_t) :: g_type_from_name\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_type_parent (GType type);\nfunction g_type_parent(type) bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_type_parent\n  integer(c_size_t), value :: type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!guint g_type_depth (GType type);\nfunction g_type_depth(type) bind(c)\n  import :: c_int, c_size_t\n  implicit none\n  integer(c_int) :: g_type_depth\n  integer(c_size_t), value :: type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_type_next_base (GType leaf_type, GType root_type);\nfunction g_type_next_base(leaf_type, root_type) bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_type_next_base\n  integer(c_size_t), value :: leaf_type\n  integer(c_size_t), value :: root_type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gboolean g_type_is_a (GType type, GType is_a_type);\nfunction g_type_is_a(type, is_a_type) bind(c)\n  import :: c_int, c_size_t\n  implicit none\n  integer(c_int) :: g_type_is_a\n  integer(c_size_t), value :: type\n  integer(c_size_t), value :: is_a_type\nend function\n\n! GOBJECT_AVAILABLE_IN_2_84\n!gpointer g_type_class_get (GType type);\nfunction g_type_class_get(type) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_type_class_get\n  integer(c_size_t), value :: type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gpointer g_type_class_ref (GType type);\nfunction g_type_class_ref(type) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_type_class_ref\n  integer(c_size_t), value :: type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gpointer g_type_class_peek (GType type);\nfunction g_type_class_peek(type) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_type_class_peek\n  integer(c_size_t), value :: type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gpointer g_type_class_peek_static (GType type);\nfunction g_type_class_peek_static(type) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_type_class_peek_static\n  integer(c_size_t), value :: type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_type_class_unref (gpointer g_class);\nsubroutine g_type_class_unref(g_class) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: g_class\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gpointer g_type_class_peek_parent (gpointer g_class);\nfunction g_type_class_peek_parent(g_class) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_type_class_peek_parent\n  type(c_ptr), value :: g_class\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gpointer g_type_interface_peek (gpointer instance_class, GType iface_type);\nfunction g_type_interface_peek(instance_class, iface_type) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_type_interface_peek\n  type(c_ptr), value :: instance_class\n  integer(c_size_t), value :: iface_type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gpointer g_type_interface_peek_parent (gpointer g_iface);\nfunction g_type_interface_peek_parent(g_iface) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_type_interface_peek_parent\n  type(c_ptr), value :: g_iface\nend function\n\n! GOBJECT_AVAILABLE_IN_2_84\n!gpointer g_type_default_interface_get (GType g_type);\nfunction g_type_default_interface_get(g_type) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_type_default_interface_get\n  integer(c_size_t), value :: g_type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gpointer g_type_default_interface_ref (GType g_type);\nfunction g_type_default_interface_ref(g_type) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_type_default_interface_ref\n  integer(c_size_t), value :: g_type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gpointer g_type_default_interface_peek (GType g_type);\nfunction g_type_default_interface_peek(g_type) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_type_default_interface_peek\n  integer(c_size_t), value :: g_type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_type_default_interface_unref (gpointer g_iface);\nsubroutine g_type_default_interface_unref(g_iface) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: g_iface\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType* g_type_children (GType type, guint *n_children);\nfunction g_type_children(type, n_children) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_type_children\n  integer(c_size_t), value :: type\n  type(c_ptr), value :: n_children\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType* g_type_interfaces (GType type, guint *n_interfaces);\nfunction g_type_interfaces(type, n_interfaces) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_type_interfaces\n  integer(c_size_t), value :: type\n  type(c_ptr), value :: n_interfaces\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_type_set_qdata (GType type, GQuark quark, gpointer data);\nsubroutine g_type_set_qdata(type, quark, data) bind(c)\n  import :: c_size_t, c_int32_t, c_ptr\n  implicit none\n  integer(c_size_t), value :: type\n  integer(c_int32_t), value :: quark\n  type(c_ptr), value :: data\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gpointer g_type_get_qdata (GType type, GQuark quark);\nfunction g_type_get_qdata(type, quark) bind(c)\n  import :: c_ptr, c_size_t, c_int32_t\n  implicit none\n  type(c_ptr) :: g_type_get_qdata\n  integer(c_size_t), value :: type\n  integer(c_int32_t), value :: quark\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_type_query (GType type, GTypeQuery *query);\nsubroutine g_type_query(type, query) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t), value :: type\n  type(c_ptr), value :: query\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_2_44\n!int g_type_get_instance_count (GType type);\nfunction g_type_get_instance_count(type) bind(c)\n  import :: c_int, c_size_t\n  implicit none\n  integer(c_int) :: g_type_get_instance_count\n  integer(c_size_t), value :: type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_type_register_static_simple (GType parent_type, const gchar *type_name, guint class_size, GClassInitFunc class_init, guint instance_size, GInstanceInitFunc instance_init, GTypeFlags flags);\nfunction g_type_register_static_simple(parent_type, type_name, class_size,&\n& class_init, instance_size, instance_init, flags) bind(c)\n  import :: c_size_t, c_char, c_int, c_funptr\n  implicit none\n  integer(c_size_t) :: g_type_register_static_simple\n  integer(c_size_t), value :: parent_type\n  character(kind=c_char), dimension(*) :: type_name\n  integer(c_int), value :: class_size\n  type(c_funptr), value :: class_init\n  integer(c_int), value :: instance_size\n  type(c_funptr), value :: instance_init\n  integer(c_int), value :: flags\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_type_register_dynamic (GType parent_type, const gchar *type_name, GTypePlugin *plugin, GTypeFlags flags);\nfunction g_type_register_dynamic(parent_type, type_name, plugin, flags) bind(c)\n  import :: c_size_t, c_char, c_ptr, c_int\n  implicit none\n  integer(c_size_t) :: g_type_register_dynamic\n  integer(c_size_t), value :: parent_type\n  character(kind=c_char), dimension(*) :: type_name\n  type(c_ptr), value :: plugin\n  integer(c_int), value :: flags\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_type_register_fundamental (GType type_id, const gchar *type_name, const GTypeInfo *info, const GTypeFundamentalInfo *finfo, GTypeFlags flags);\nfunction g_type_register_fundamental(type_id, type_name, info, finfo, flags)&\n& bind(c)\n  import :: c_size_t, c_char, c_ptr, c_int\n  implicit none\n  integer(c_size_t) :: g_type_register_fundamental\n  integer(c_size_t), value :: type_id\n  character(kind=c_char), dimension(*) :: type_name\n  type(c_ptr), value :: info\n  type(c_ptr), value :: finfo\n  integer(c_int), value :: flags\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_type_add_interface_static (GType instance_type, GType interface_type, const GInterfaceInfo *info);\nsubroutine g_type_add_interface_static(instance_type, interface_type, info)&\n& bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t), value :: instance_type\n  integer(c_size_t), value :: interface_type\n  type(c_ptr), value :: info\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_type_add_interface_dynamic (GType instance_type, GType interface_type, GTypePlugin *plugin);\nsubroutine g_type_add_interface_dynamic(instance_type, interface_type, plugin)&\n& bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t), value :: instance_type\n  integer(c_size_t), value :: interface_type\n  type(c_ptr), value :: plugin\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_type_interface_add_prerequisite (GType interface_type, GType prerequisite_type);\nsubroutine g_type_interface_add_prerequisite(interface_type, prerequisite_type)&\n& bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t), value :: interface_type\n  integer(c_size_t), value :: prerequisite_type\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType*g_type_interface_prerequisites (GType interface_type, guint *n_prerequisites);\nfunction g_type_interface_prerequisites(interface_type, n_prerequisites)&\n& bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_type_interface_prerequisites\n  integer(c_size_t), value :: interface_type\n  type(c_ptr), value :: n_prerequisites\nend function\n\n! GOBJECT_AVAILABLE_IN_2_68\n!GType g_type_interface_instantiatable_prerequisite (GType interface_type);\nfunction g_type_interface_instantiatable_prerequisite(interface_type) bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_type_interface_instantiatable_prerequisite\n  integer(c_size_t), value :: interface_type\nend function\n\n! GOBJECT_DEPRECATED_IN_2_58\n!void g_type_class_add_private (gpointer g_class, gsize private_size);\nsubroutine g_type_class_add_private(g_class, private_size) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr), value :: g_class\n  integer(c_size_t), value :: private_size\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_2_38\n!gint g_type_add_instance_private (GType class_type, gsize private_size);\nfunction g_type_add_instance_private(class_type, private_size) bind(c)\n  import :: c_int, c_size_t\n  implicit none\n  integer(c_int) :: g_type_add_instance_private\n  integer(c_size_t), value :: class_type\n  integer(c_size_t), value :: private_size\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gpointer g_type_instance_get_private (GTypeInstance *instance, GType private_type);\nfunction g_type_instance_get_private(instance, private_type) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_type_instance_get_private\n  type(c_ptr), value :: instance\n  integer(c_size_t), value :: private_type\nend function\n\n! GOBJECT_AVAILABLE_IN_2_38\n!void g_type_class_adjust_private_offset (gpointer g_class, gint *private_size_or_offset);\nsubroutine g_type_class_adjust_private_offset(g_class, private_size_or_offset)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: g_class\n  type(c_ptr), value :: private_size_or_offset\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_type_add_class_private (GType class_type, gsize private_size);\nsubroutine g_type_add_class_private(class_type, private_size) bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t), value :: class_type\n  integer(c_size_t), value :: private_size\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gpointer g_type_class_get_private (GTypeClass *klass, GType private_type);\nfunction g_type_class_get_private(klass, private_type) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_type_class_get_private\n  type(c_ptr), value :: klass\n  integer(c_size_t), value :: private_type\nend function\n\n! GOBJECT_AVAILABLE_IN_2_38\n!gint g_type_class_get_instance_private_offset (gpointer g_class);\nfunction g_type_class_get_instance_private_offset(g_class) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_type_class_get_instance_private_offset\n  type(c_ptr), value :: g_class\nend function\n\n! GOBJECT_AVAILABLE_IN_2_34\n!void g_type_ensure (GType type);\nsubroutine g_type_ensure(type) bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t), value :: type\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_2_36\n!guint g_type_get_type_registration_serial (void);\nfunction g_type_get_type_registration_serial() bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: g_type_get_type_registration_serial\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GTypePlugin* g_type_get_plugin (GType type);\nfunction g_type_get_plugin(type) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_type_get_plugin\n  integer(c_size_t), value :: type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GTypePlugin* g_type_interface_get_plugin (GType instance_type, GType interface_type);\nfunction g_type_interface_get_plugin(instance_type, interface_type) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_type_interface_get_plugin\n  integer(c_size_t), value :: instance_type\n  integer(c_size_t), value :: interface_type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_type_fundamental_next (void);\nfunction g_type_fundamental_next() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_type_fundamental_next\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_type_fundamental (GType type_id);\nfunction g_type_fundamental(type_id) bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_type_fundamental\n  integer(c_size_t), value :: type_id\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GTypeInstance* g_type_create_instance (GType type);\nfunction g_type_create_instance(type) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_type_create_instance\n  integer(c_size_t), value :: type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_type_free_instance (GTypeInstance *instance);\nsubroutine g_type_free_instance(instance) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: instance\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_type_add_class_cache_func (gpointer cache_data, GTypeClassCacheFunc cache_func);\nsubroutine g_type_add_class_cache_func(cache_data, cache_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: cache_data\n  type(c_funptr), value :: cache_func\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_type_remove_class_cache_func (gpointer cache_data, GTypeClassCacheFunc cache_func);\nsubroutine g_type_remove_class_cache_func(cache_data, cache_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: cache_data\n  type(c_funptr), value :: cache_func\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_type_class_unref_uncached (gpointer g_class);\nsubroutine g_type_class_unref_uncached(g_class) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: g_class\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_type_add_interface_check (gpointer check_data, GTypeInterfaceCheckFunc check_func);\nsubroutine g_type_add_interface_check(check_data, check_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: check_data\n  type(c_funptr), value :: check_func\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_type_remove_interface_check (gpointer check_data, GTypeInterfaceCheckFunc check_func);\nsubroutine g_type_remove_interface_check(check_data, check_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: check_data\n  type(c_funptr), value :: check_func\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GTypeValueTable* g_type_value_table_peek (GType type);\nfunction g_type_value_table_peek(type) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_type_value_table_peek\n  integer(c_size_t), value :: type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gboolean g_type_check_instance (GTypeInstance *instance) ;\nfunction g_type_check_instance(instance) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_type_check_instance\n  type(c_ptr), value :: instance\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GTypeInstance* g_type_check_instance_cast (GTypeInstance *instance, GType iface_type);\nfunction g_type_check_instance_cast(instance, iface_type) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_type_check_instance_cast\n  type(c_ptr), value :: instance\n  integer(c_size_t), value :: iface_type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gboolean g_type_check_instance_is_a (GTypeInstance *instance, GType iface_type) ;\nfunction g_type_check_instance_is_a(instance, iface_type) bind(c)\n  import :: c_int, c_ptr, c_size_t\n  implicit none\n  integer(c_int) :: g_type_check_instance_is_a\n  type(c_ptr), value :: instance\n  integer(c_size_t), value :: iface_type\nend function\n\n! GOBJECT_AVAILABLE_IN_2_42\n!gboolean g_type_check_instance_is_fundamentally_a (GTypeInstance *instance, GType fundamental_type) ;\nfunction g_type_check_instance_is_fundamentally_a(instance, fundamental_type)&\n& bind(c)\n  import :: c_int, c_ptr, c_size_t\n  implicit none\n  integer(c_int) :: g_type_check_instance_is_fundamentally_a\n  type(c_ptr), value :: instance\n  integer(c_size_t), value :: fundamental_type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GTypeClass* g_type_check_class_cast (GTypeClass *g_class, GType is_a_type);\nfunction g_type_check_class_cast(g_class, is_a_type) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_type_check_class_cast\n  type(c_ptr), value :: g_class\n  integer(c_size_t), value :: is_a_type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gboolean g_type_check_class_is_a (GTypeClass *g_class, GType is_a_type) ;\nfunction g_type_check_class_is_a(g_class, is_a_type) bind(c)\n  import :: c_int, c_ptr, c_size_t\n  implicit none\n  integer(c_int) :: g_type_check_class_is_a\n  type(c_ptr), value :: g_class\n  integer(c_size_t), value :: is_a_type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gboolean g_type_check_is_value_type (GType type) ;\nfunction g_type_check_is_value_type(type) bind(c)\n  import :: c_int, c_size_t\n  implicit none\n  integer(c_int) :: g_type_check_is_value_type\n  integer(c_size_t), value :: type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gboolean g_type_check_value (const GValue *value) ;\nfunction g_type_check_value(value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_type_check_value\n  type(c_ptr), value :: value\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gboolean g_type_check_value_holds (const GValue *value, GType type) ;\nfunction g_type_check_value_holds(value, type) bind(c)\n  import :: c_int, c_ptr, c_size_t\n  implicit none\n  integer(c_int) :: g_type_check_value_holds\n  type(c_ptr), value :: value\n  integer(c_size_t), value :: type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gboolean g_type_test_flags (GType type, guint flags) ;\nfunction g_type_test_flags(type, flags) bind(c)\n  import :: c_int, c_size_t\n  implicit none\n  integer(c_int) :: g_type_test_flags\n  integer(c_size_t), value :: type\n  integer(c_int), value :: flags\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!const gchar * g_type_name_from_instance (GTypeInstance *instance);\nfunction g_type_name_from_instance(instance) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_type_name_from_instance\n  type(c_ptr), value :: instance\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!const gchar * g_type_name_from_class (GTypeClass *g_class);\nfunction g_type_name_from_class(g_class) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_type_name_from_class\n  type(c_ptr), value :: g_class\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gobject/gtypemodule.h\n!--------------------------------------------------\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_type_module_get_type (void) ;\nfunction g_type_module_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_type_module_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gboolean g_type_module_use (GTypeModule *module);\nfunction g_type_module_use(module) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_type_module_use\n  type(c_ptr), value :: module\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_type_module_unuse (GTypeModule *module);\nsubroutine g_type_module_unuse(module) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: module\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_type_module_set_name (GTypeModule *module, const gchar *name);\nsubroutine g_type_module_set_name(module, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: module\n  character(kind=c_char), dimension(*) :: name\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_type_module_register_type (GTypeModule *module, GType parent_type, const gchar *type_name, const GTypeInfo *type_info, GTypeFlags flags);\nfunction g_type_module_register_type(module, parent_type, type_name, type_info,&\n& flags) bind(c)\n  import :: c_size_t, c_ptr, c_char, c_int\n  implicit none\n  integer(c_size_t) :: g_type_module_register_type\n  type(c_ptr), value :: module\n  integer(c_size_t), value :: parent_type\n  character(kind=c_char), dimension(*) :: type_name\n  type(c_ptr), value :: type_info\n  integer(c_int), value :: flags\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_type_module_add_interface (GTypeModule *module, GType instance_type, GType interface_type, const GInterfaceInfo *interface_info);\nsubroutine g_type_module_add_interface(module, instance_type, interface_type,&\n& interface_info) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr), value :: module\n  integer(c_size_t), value :: instance_type\n  integer(c_size_t), value :: interface_type\n  type(c_ptr), value :: interface_info\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_type_module_register_enum (GTypeModule *module, const gchar *name, const GEnumValue *const_static_values);\nfunction g_type_module_register_enum(module, name, const_static_values) bind(c)\n  import :: c_size_t, c_ptr, c_char\n  implicit none\n  integer(c_size_t) :: g_type_module_register_enum\n  type(c_ptr), value :: module\n  character(kind=c_char), dimension(*) :: name\n  type(c_ptr), value :: const_static_values\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_type_module_register_flags (GTypeModule *module, const gchar *name, const GFlagsValue *const_static_values);\nfunction g_type_module_register_flags(module, name, const_static_values)&\n& bind(c)\n  import :: c_size_t, c_ptr, c_char\n  implicit none\n  integer(c_size_t) :: g_type_module_register_flags\n  type(c_ptr), value :: module\n  character(kind=c_char), dimension(*) :: name\n  type(c_ptr), value :: const_static_values\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gobject/gtypeplugin.h\n!--------------------------------------------------\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_type_plugin_get_type (void) ;\nfunction g_type_plugin_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_type_plugin_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_type_plugin_use (GTypePlugin *plugin);\nsubroutine g_type_plugin_use(plugin) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: plugin\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_type_plugin_unuse (GTypePlugin *plugin);\nsubroutine g_type_plugin_unuse(plugin) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: plugin\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_type_plugin_complete_type_info (GTypePlugin *plugin, GType g_type, GTypeInfo *info, GTypeValueTable *value_table);\nsubroutine g_type_plugin_complete_type_info(plugin, g_type, info, value_table)&\n& bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr), value :: plugin\n  integer(c_size_t), value :: g_type\n  type(c_ptr), value :: info\n  type(c_ptr), value :: value_table\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_type_plugin_complete_interface_info (GTypePlugin *plugin, GType instance_type, GType interface_type, GInterfaceInfo *info);\nsubroutine g_type_plugin_complete_interface_info(plugin, instance_type,&\n& interface_type, info) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr), value :: plugin\n  integer(c_size_t), value :: instance_type\n  integer(c_size_t), value :: interface_type\n  type(c_ptr), value :: info\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gobject/gvalue.h\n!--------------------------------------------------\n! GOBJECT_AVAILABLE_IN_ALL\n!union GValue* g_value_init (GValue *value, GType g_type);\nfunction g_value_init(value, g_type) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: g_value_init\n  type(c_ptr), value :: value\n  integer(c_size_t), value :: g_type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_value_copy (const GValue *src_value, GValue *dest_value);\nsubroutine g_value_copy(src_value, dest_value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: src_value\n  type(c_ptr), value :: dest_value\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GValue* g_value_reset (GValue *value);\nfunction g_value_reset(value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_value_reset\n  type(c_ptr), value :: value\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_value_unset (GValue *value);\nsubroutine g_value_unset(value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: value\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_value_set_instance (GValue *value, gpointer instance);\nsubroutine g_value_set_instance(value, instance) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: value\n  type(c_ptr), value :: instance\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_2_42\n!void g_value_init_from_instance (GValue *value, gpointer instance);\nsubroutine g_value_init_from_instance(value, instance) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: value\n  type(c_ptr), value :: instance\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gboolean g_value_fits_pointer (const GValue *value);\nfunction g_value_fits_pointer(value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_value_fits_pointer\n  type(c_ptr), value :: value\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gpointer g_value_peek_pointer (const GValue *value);\nfunction g_value_peek_pointer(value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_value_peek_pointer\n  type(c_ptr), value :: value\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gboolean g_value_type_compatible (GType src_type, GType dest_type);\nfunction g_value_type_compatible(src_type, dest_type) bind(c)\n  import :: c_int, c_size_t\n  implicit none\n  integer(c_int) :: g_value_type_compatible\n  integer(c_size_t), value :: src_type\n  integer(c_size_t), value :: dest_type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gboolean g_value_type_transformable (GType src_type, GType dest_type);\nfunction g_value_type_transformable(src_type, dest_type) bind(c)\n  import :: c_int, c_size_t\n  implicit none\n  integer(c_int) :: g_value_type_transformable\n  integer(c_size_t), value :: src_type\n  integer(c_size_t), value :: dest_type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gboolean g_value_transform (const GValue *src_value, GValue *dest_value);\nfunction g_value_transform(src_value, dest_value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_value_transform\n  type(c_ptr), value :: src_value\n  type(c_ptr), value :: dest_value\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_value_register_transform_func (GType src_type, GType dest_type, GValueTransform transform_func);\nsubroutine g_value_register_transform_func(src_type, dest_type, transform_func)&\n& bind(c)\n  import :: c_size_t, c_funptr\n  implicit none\n  integer(c_size_t), value :: src_type\n  integer(c_size_t), value :: dest_type\n  type(c_funptr), value :: transform_func\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gobject/gvaluearray.h\n!--------------------------------------------------\n! GOBJECT_DEPRECATED_IN_2_32_FOR(GArray)\n!GType g_value_array_get_type (void) ;\nfunction g_value_array_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_value_array_get_type\nend function\n\n! GOBJECT_DEPRECATED_IN_2_32_FOR(GArray)\n!GValue* g_value_array_get_nth (GValueArray *value_array, guint index_);\nfunction g_value_array_get_nth(value_array, index_) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_value_array_get_nth\n  type(c_ptr), value :: value_array\n  integer(c_int), value :: index_\nend function\n\n! GOBJECT_DEPRECATED_IN_2_32_FOR(GArray)\n!GValueArray* g_value_array_new (guint n_prealloced);\nfunction g_value_array_new(n_prealloced) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_value_array_new\n  integer(c_int), value :: n_prealloced\nend function\n\n! GOBJECT_DEPRECATED_IN_2_32_FOR(GArray)\n!void g_value_array_free (GValueArray *value_array);\nsubroutine g_value_array_free(value_array) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: value_array\nend subroutine\n\n! GOBJECT_DEPRECATED_IN_2_32_FOR(GArray)\n!GValueArray* g_value_array_copy (const GValueArray *value_array);\nfunction g_value_array_copy(value_array) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_value_array_copy\n  type(c_ptr), value :: value_array\nend function\n\n! GOBJECT_DEPRECATED_IN_2_32_FOR(GArray)\n!GValueArray* g_value_array_prepend (GValueArray *value_array, const GValue *value);\nfunction g_value_array_prepend(value_array, value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_value_array_prepend\n  type(c_ptr), value :: value_array\n  type(c_ptr), value :: value\nend function\n\n! GOBJECT_DEPRECATED_IN_2_32_FOR(GArray)\n!GValueArray* g_value_array_append (GValueArray *value_array, const GValue *value);\nfunction g_value_array_append(value_array, value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_value_array_append\n  type(c_ptr), value :: value_array\n  type(c_ptr), value :: value\nend function\n\n! GOBJECT_DEPRECATED_IN_2_32_FOR(GArray)\n!GValueArray* g_value_array_insert (GValueArray *value_array, guint index_, const GValue *value);\nfunction g_value_array_insert(value_array, index_, value) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_value_array_insert\n  type(c_ptr), value :: value_array\n  integer(c_int), value :: index_\n  type(c_ptr), value :: value\nend function\n\n! GOBJECT_DEPRECATED_IN_2_32_FOR(GArray)\n!GValueArray* g_value_array_remove (GValueArray *value_array, guint index_);\nfunction g_value_array_remove(value_array, index_) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: g_value_array_remove\n  type(c_ptr), value :: value_array\n  integer(c_int), value :: index_\nend function\n\n! GOBJECT_DEPRECATED_IN_2_32_FOR(GArray)\n!GValueArray* g_value_array_sort (GValueArray *value_array, GCompareFunc compare_func);\nfunction g_value_array_sort(value_array, compare_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_value_array_sort\n  type(c_ptr), value :: value_array\n  type(c_funptr), value :: compare_func\nend function\n\n! GOBJECT_DEPRECATED_IN_2_32_FOR(GArray)\n!GValueArray* g_value_array_sort_with_data (GValueArray *value_array, GCompareDataFunc compare_func, gpointer user_data);\nfunction g_value_array_sort_with_data(value_array, compare_func, user_data)&\n& bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: g_value_array_sort_with_data\n  type(c_ptr), value :: value_array\n  type(c_funptr), value :: compare_func\n  type(c_ptr), value :: user_data\nend function\n\n!--------------------------------------------------\n! /usr/include/glib-2.0/gobject/gvaluecollector.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/glib-2.0/gobject/gvaluetypes.h\n!--------------------------------------------------\n! GOBJECT_DEPRECATED_IN_2_32_FOR(g_value_set_schar)\n!void g_value_set_char (GValue *value, gchar v_char);\nsubroutine g_value_set_char(value, v_char) bind(c)\n  import :: c_ptr, c_int8_t\n  implicit none\n  type(c_ptr), value :: value\n  integer(kind=c_int8_t), value :: v_char\nend subroutine\n\n! GOBJECT_DEPRECATED_IN_2_32_FOR(g_value_get_schar)\n!gchar g_value_get_char (const GValue *value);\nfunction g_value_get_char(value) bind(c)\n  import :: c_int8_t, c_ptr\n  implicit none\n  integer(kind=c_int8_t) :: g_value_get_char\n  type(c_ptr), value :: value\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_value_set_schar (GValue *value, gint8 v_char);\nsubroutine g_value_set_schar(value, v_char) bind(c)\n  import :: c_ptr, c_int8_t\n  implicit none\n  type(c_ptr), value :: value\n  integer(c_int8_t), value :: v_char\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gint8 g_value_get_schar (const GValue *value);\nfunction g_value_get_schar(value) bind(c)\n  import :: c_int8_t, c_ptr\n  implicit none\n  integer(c_int8_t) :: g_value_get_schar\n  type(c_ptr), value :: value\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_value_set_uchar (GValue *value, guchar v_uchar);\nsubroutine g_value_set_uchar(value, v_uchar) bind(c)\n  import :: c_ptr, c_int8_t\n  implicit none\n  type(c_ptr), value :: value\n  integer(kind=c_int8_t), value :: v_uchar\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!guchar g_value_get_uchar (const GValue *value);\nfunction g_value_get_uchar(value) bind(c)\n  import :: c_int8_t, c_ptr\n  implicit none\n  integer(kind=c_int8_t) :: g_value_get_uchar\n  type(c_ptr), value :: value\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_value_set_boolean (GValue *value, gboolean v_boolean);\nsubroutine g_value_set_boolean(value, v_boolean) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: value\n  integer(c_int), value :: v_boolean\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gboolean g_value_get_boolean (const GValue *value);\nfunction g_value_get_boolean(value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_value_get_boolean\n  type(c_ptr), value :: value\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_value_set_int (GValue *value, gint v_int);\nsubroutine g_value_set_int(value, v_int) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: value\n  integer(c_int), value :: v_int\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gint g_value_get_int (const GValue *value);\nfunction g_value_get_int(value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_value_get_int\n  type(c_ptr), value :: value\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_value_set_uint (GValue *value, guint v_uint);\nsubroutine g_value_set_uint(value, v_uint) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: value\n  integer(c_int), value :: v_uint\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!guint g_value_get_uint (const GValue *value);\nfunction g_value_get_uint(value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: g_value_get_uint\n  type(c_ptr), value :: value\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_value_set_long (GValue *value, glong v_long);\nsubroutine g_value_set_long(value, v_long) bind(c)\n  import :: c_ptr, c_long\n  implicit none\n  type(c_ptr), value :: value\n  integer(c_long), value :: v_long\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!glong g_value_get_long (const GValue *value);\nfunction g_value_get_long(value) bind(c)\n  import :: c_long, c_ptr\n  implicit none\n  integer(c_long) :: g_value_get_long\n  type(c_ptr), value :: value\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_value_set_ulong (GValue *value, gulong v_ulong);\nsubroutine g_value_set_ulong(value, v_ulong) bind(c)\n  import :: c_ptr, c_long\n  implicit none\n  type(c_ptr), value :: value\n  integer(c_long), value :: v_ulong\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gulong g_value_get_ulong (const GValue *value);\nfunction g_value_get_ulong(value) bind(c)\n  import :: c_long, c_ptr\n  implicit none\n  integer(c_long) :: g_value_get_ulong\n  type(c_ptr), value :: value\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_value_set_int64 (GValue *value, gint64 v_int64);\nsubroutine g_value_set_int64(value, v_int64) bind(c)\n  import :: c_ptr, c_int64_t\n  implicit none\n  type(c_ptr), value :: value\n  integer(c_int64_t), value :: v_int64\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gint64 g_value_get_int64 (const GValue *value);\nfunction g_value_get_int64(value) bind(c)\n  import :: c_int64_t, c_ptr\n  implicit none\n  integer(c_int64_t) :: g_value_get_int64\n  type(c_ptr), value :: value\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_value_set_uint64 (GValue *value, guint64 v_uint64);\nsubroutine g_value_set_uint64(value, v_uint64) bind(c)\n  import :: c_ptr, c_int64_t\n  implicit none\n  type(c_ptr), value :: value\n  integer(c_int64_t), value :: v_uint64\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!guint64 g_value_get_uint64 (const GValue *value);\nfunction g_value_get_uint64(value) bind(c)\n  import :: c_int64_t, c_ptr\n  implicit none\n  integer(c_int64_t) :: g_value_get_uint64\n  type(c_ptr), value :: value\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_value_set_float (GValue *value, gfloat v_float);\nsubroutine g_value_set_float(value, v_float) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: value\n  real(c_float), value :: v_float\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gfloat g_value_get_float (const GValue *value);\nfunction g_value_get_float(value) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: g_value_get_float\n  type(c_ptr), value :: value\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_value_set_double (GValue *value, gdouble v_double);\nsubroutine g_value_set_double(value, v_double) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: value\n  real(c_double), value :: v_double\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gdouble g_value_get_double (const GValue *value);\nfunction g_value_get_double(value) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: g_value_get_double\n  type(c_ptr), value :: value\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_value_set_string (GValue *value, const gchar *v_string);\nsubroutine g_value_set_string(value, v_string) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: value\n  character(kind=c_char), dimension(*) :: v_string\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_value_set_static_string (GValue *value, const gchar *v_string);\nsubroutine g_value_set_static_string(value, v_string) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: value\n  character(kind=c_char), dimension(*) :: v_string\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_2_66\n!void g_value_set_interned_string (GValue *value, const gchar *v_string);\nsubroutine g_value_set_interned_string(value, v_string) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: value\n  character(kind=c_char), dimension(*) :: v_string\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!const gchar * g_value_get_string (const GValue *value);\nfunction g_value_get_string(value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_value_get_string\n  type(c_ptr), value :: value\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gchar* g_value_dup_string (const GValue *value);\nfunction g_value_dup_string(value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_value_dup_string\n  type(c_ptr), value :: value\nend function\n\n! GOBJECT_AVAILABLE_IN_2_80\n!gchar* g_value_steal_string (GValue *value);\nfunction g_value_steal_string(value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_value_steal_string\n  type(c_ptr), value :: value\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_value_set_pointer (GValue *value, gpointer v_pointer);\nsubroutine g_value_set_pointer(value, v_pointer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: value\n  type(c_ptr), value :: v_pointer\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gpointer g_value_get_pointer (const GValue *value);\nfunction g_value_get_pointer(value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_value_get_pointer\n  type(c_ptr), value :: value\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_gtype_get_type (void);\nfunction g_gtype_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: g_gtype_get_type\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_value_set_gtype (GValue *value, GType v_gtype);\nsubroutine g_value_set_gtype(value, v_gtype) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr), value :: value\n  integer(c_size_t), value :: v_gtype\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_value_get_gtype (const GValue *value);\nfunction g_value_get_gtype(value) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: g_value_get_gtype\n  type(c_ptr), value :: value\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_value_set_variant (GValue *value, GVariant *variant);\nsubroutine g_value_set_variant(value, variant) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: value\n  type(c_ptr), value :: variant\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_value_take_variant (GValue *value, GVariant *variant);\nsubroutine g_value_take_variant(value, variant) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: value\n  type(c_ptr), value :: variant\nend subroutine\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GVariant* g_value_get_variant (const GValue *value);\nfunction g_value_get_variant(value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_value_get_variant\n  type(c_ptr), value :: value\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GVariant* g_value_dup_variant (const GValue *value);\nfunction g_value_dup_variant(value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_value_dup_variant\n  type(c_ptr), value :: value\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!GType g_pointer_type_register_static (const gchar *name);\nfunction g_pointer_type_register_static(name) bind(c)\n  import :: c_size_t, c_char\n  implicit none\n  integer(c_size_t) :: g_pointer_type_register_static\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!gchar* g_strdup_value_contents (const GValue *value);\nfunction g_strdup_value_contents(value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: g_strdup_value_contents\n  type(c_ptr), value :: value\nend function\n\n! GOBJECT_AVAILABLE_IN_ALL\n!void g_value_take_string (GValue *value, gchar *v_string);\nsubroutine g_value_take_string(value, v_string) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: value\n  character(kind=c_char), dimension(*) :: v_string\nend subroutine\n\n! GOBJECT_DEPRECATED_FOR(g_value_take_string)\n!void g_value_set_string_take_ownership (GValue *value, gchar *v_string);\nsubroutine g_value_set_string_take_ownership(value, v_string) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: value\n  character(kind=c_char), dimension(*) :: v_string\nend subroutine\n\nend interface\nend module g\n"
  },
  {
    "path": "src/graphene-auto.f90",
    "content": "! Do not modify this file automatically generated by cfwrapper.py using:\n! gtk-fortran 4.9.0, GTK 4.20.2, GLib 2.86.1, Fedora 43 x86_64\n! This file is part of the gtk-fortran library, distributed under\n! GNU General Public License version 3.\n\nmodule graphene\nuse, intrinsic :: iso_c_binding\nimplicit none\ninterface\n\n!--------------------------------------------------\n! /usr/include/graphene-1.0/graphene-box.h\n!--------------------------------------------------\n! GRAPHENE_AVAILABLE_IN_1_2\n!graphene_box_t * graphene_box_alloc (void);\nfunction graphene_box_alloc() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_box_alloc\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_box_free (graphene_box_t *box);\nsubroutine graphene_box_free(box) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: box\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!graphene_box_t * graphene_box_init (graphene_box_t *box, const graphene_point3d_t *min, const graphene_point3d_t *max);\nfunction graphene_box_init(box, min, max) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_box_init\n  type(c_ptr), value :: box\n  type(c_ptr), value :: min\n  type(c_ptr), value :: max\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!graphene_box_t * graphene_box_init_from_points (graphene_box_t *box, unsigned int n_points, const graphene_point3d_t *points);\nfunction graphene_box_init_from_points(box, n_points, points) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: graphene_box_init_from_points\n  type(c_ptr), value :: box\n  integer(c_int), value :: n_points\n  type(c_ptr), value :: points\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!graphene_box_t * graphene_box_init_from_vectors (graphene_box_t *box, unsigned int n_vectors, const graphene_vec3_t *vectors);\nfunction graphene_box_init_from_vectors(box, n_vectors, vectors) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: graphene_box_init_from_vectors\n  type(c_ptr), value :: box\n  integer(c_int), value :: n_vectors\n  type(c_ptr), value :: vectors\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!graphene_box_t * graphene_box_init_from_box (graphene_box_t *box, const graphene_box_t *src);\nfunction graphene_box_init_from_box(box, src) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_box_init_from_box\n  type(c_ptr), value :: box\n  type(c_ptr), value :: src\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!graphene_box_t * graphene_box_init_from_vec3 (graphene_box_t *box, const graphene_vec3_t *min, const graphene_vec3_t *max);\nfunction graphene_box_init_from_vec3(box, min, max) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_box_init_from_vec3\n  type(c_ptr), value :: box\n  type(c_ptr), value :: min\n  type(c_ptr), value :: max\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_box_expand (const graphene_box_t *box, const graphene_point3d_t *point, graphene_box_t *res);\nsubroutine graphene_box_expand(box, point, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: box\n  type(c_ptr), value :: point\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_box_expand_vec3 (const graphene_box_t *box, const graphene_vec3_t *vec, graphene_box_t *res);\nsubroutine graphene_box_expand_vec3(box, vec, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: box\n  type(c_ptr), value :: vec\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_box_expand_scalar (const graphene_box_t *box, float scalar, graphene_box_t *res);\nsubroutine graphene_box_expand_scalar(box, scalar, res) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: box\n  real(c_float), value :: scalar\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_box_union (const graphene_box_t *a, const graphene_box_t *b, graphene_box_t *res);\nsubroutine graphene_box_union(a, b, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!bool graphene_box_intersection (const graphene_box_t *a, const graphene_box_t *b, graphene_box_t *res);\nfunction graphene_box_intersection(a, b, res) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_box_intersection\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  type(c_ptr), value :: res\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!float graphene_box_get_width (const graphene_box_t *box);\nfunction graphene_box_get_width(box) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_box_get_width\n  type(c_ptr), value :: box\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!float graphene_box_get_height (const graphene_box_t *box);\nfunction graphene_box_get_height(box) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_box_get_height\n  type(c_ptr), value :: box\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!float graphene_box_get_depth (const graphene_box_t *box);\nfunction graphene_box_get_depth(box) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_box_get_depth\n  type(c_ptr), value :: box\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_box_get_size (const graphene_box_t *box, graphene_vec3_t *size);\nsubroutine graphene_box_get_size(box, size) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: box\n  type(c_ptr), value :: size\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_box_get_center (const graphene_box_t *box, graphene_point3d_t *center);\nsubroutine graphene_box_get_center(box, center) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: box\n  type(c_ptr), value :: center\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_box_get_min (const graphene_box_t *box, graphene_point3d_t *min);\nsubroutine graphene_box_get_min(box, min) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: box\n  type(c_ptr), value :: min\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_box_get_max (const graphene_box_t *box, graphene_point3d_t *max);\nsubroutine graphene_box_get_max(box, max) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: box\n  type(c_ptr), value :: max\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_box_get_bounding_sphere (const graphene_box_t *box, graphene_sphere_t *sphere);\nsubroutine graphene_box_get_bounding_sphere(box, sphere) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: box\n  type(c_ptr), value :: sphere\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!bool graphene_box_contains_point (const graphene_box_t *box, const graphene_point3d_t *point);\nfunction graphene_box_contains_point(box, point) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_box_contains_point\n  type(c_ptr), value :: box\n  type(c_ptr), value :: point\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!bool graphene_box_contains_box (const graphene_box_t *a, const graphene_box_t *b);\nfunction graphene_box_contains_box(a, b) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_box_contains_box\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!bool graphene_box_equal (const graphene_box_t *a, const graphene_box_t *b);\nfunction graphene_box_equal(a, b) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_box_equal\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!const graphene_box_t * graphene_box_zero (void);\nfunction graphene_box_zero() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_box_zero\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!const graphene_box_t * graphene_box_one (void);\nfunction graphene_box_one() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_box_one\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!const graphene_box_t * graphene_box_minus_one (void);\nfunction graphene_box_minus_one() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_box_minus_one\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!const graphene_box_t * graphene_box_one_minus_one (void);\nfunction graphene_box_one_minus_one() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_box_one_minus_one\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!const graphene_box_t * graphene_box_infinite (void);\nfunction graphene_box_infinite() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_box_infinite\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!const graphene_box_t * graphene_box_empty (void);\nfunction graphene_box_empty() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_box_empty\nend function\n\n!--------------------------------------------------\n! /usr/include/graphene-1.0/graphene-euler.h\n!--------------------------------------------------\n! GRAPHENE_AVAILABLE_IN_1_2\n!graphene_euler_t * graphene_euler_alloc (void);\nfunction graphene_euler_alloc() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_euler_alloc\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_euler_free (graphene_euler_t *e);\nsubroutine graphene_euler_free(e) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: e\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!graphene_euler_t * graphene_euler_init (graphene_euler_t *e, float x, float y, float z);\nfunction graphene_euler_init(e, x, y, z) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: graphene_euler_init\n  type(c_ptr), value :: e\n  real(c_float), value :: x\n  real(c_float), value :: y\n  real(c_float), value :: z\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!graphene_euler_t * graphene_euler_init_with_order (graphene_euler_t *e, float x, float y, float z, graphene_euler_order_t order);\nfunction graphene_euler_init_with_order(e, x, y, z, order) bind(c)\n  import :: c_ptr, c_float, c_int\n  implicit none\n  type(c_ptr) :: graphene_euler_init_with_order\n  type(c_ptr), value :: e\n  real(c_float), value :: x\n  real(c_float), value :: y\n  real(c_float), value :: z\n  integer(c_int), value :: order\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!graphene_euler_t * graphene_euler_init_from_matrix (graphene_euler_t *e, const graphene_matrix_t *m, graphene_euler_order_t order);\nfunction graphene_euler_init_from_matrix(e, m, order) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: graphene_euler_init_from_matrix\n  type(c_ptr), value :: e\n  type(c_ptr), value :: m\n  integer(c_int), value :: order\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!graphene_euler_t * graphene_euler_init_from_quaternion (graphene_euler_t *e, const graphene_quaternion_t *q, graphene_euler_order_t order);\nfunction graphene_euler_init_from_quaternion(e, q, order) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: graphene_euler_init_from_quaternion\n  type(c_ptr), value :: e\n  type(c_ptr), value :: q\n  integer(c_int), value :: order\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!graphene_euler_t * graphene_euler_init_from_vec3 (graphene_euler_t *e, const graphene_vec3_t *v, graphene_euler_order_t order);\nfunction graphene_euler_init_from_vec3(e, v, order) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: graphene_euler_init_from_vec3\n  type(c_ptr), value :: e\n  type(c_ptr), value :: v\n  integer(c_int), value :: order\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!graphene_euler_t * graphene_euler_init_from_euler (graphene_euler_t *e, const graphene_euler_t *src);\nfunction graphene_euler_init_from_euler(e, src) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_euler_init_from_euler\n  type(c_ptr), value :: e\n  type(c_ptr), value :: src\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_10\n!graphene_euler_t * graphene_euler_init_from_radians (graphene_euler_t *e, float x, float y, float z, graphene_euler_order_t order);\nfunction graphene_euler_init_from_radians(e, x, y, z, order) bind(c)\n  import :: c_ptr, c_float, c_int\n  implicit none\n  type(c_ptr) :: graphene_euler_init_from_radians\n  type(c_ptr), value :: e\n  real(c_float), value :: x\n  real(c_float), value :: y\n  real(c_float), value :: z\n  integer(c_int), value :: order\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!bool graphene_euler_equal (const graphene_euler_t *a, const graphene_euler_t *b);\nfunction graphene_euler_equal(a, b) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_euler_equal\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!float graphene_euler_get_x (const graphene_euler_t *e);\nfunction graphene_euler_get_x(e) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_euler_get_x\n  type(c_ptr), value :: e\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!float graphene_euler_get_y (const graphene_euler_t *e);\nfunction graphene_euler_get_y(e) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_euler_get_y\n  type(c_ptr), value :: e\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!float graphene_euler_get_z (const graphene_euler_t *e);\nfunction graphene_euler_get_z(e) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_euler_get_z\n  type(c_ptr), value :: e\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!graphene_euler_order_t graphene_euler_get_order (const graphene_euler_t *e);\nfunction graphene_euler_get_order(e) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_euler_get_order\n  type(c_ptr), value :: e\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_10\n!float graphene_euler_get_alpha (const graphene_euler_t *e);\nfunction graphene_euler_get_alpha(e) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_euler_get_alpha\n  type(c_ptr), value :: e\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_10\n!float graphene_euler_get_beta (const graphene_euler_t *e);\nfunction graphene_euler_get_beta(e) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_euler_get_beta\n  type(c_ptr), value :: e\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_10\n!float graphene_euler_get_gamma (const graphene_euler_t *e);\nfunction graphene_euler_get_gamma(e) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_euler_get_gamma\n  type(c_ptr), value :: e\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_euler_to_vec3 (const graphene_euler_t *e, graphene_vec3_t *res);\nsubroutine graphene_euler_to_vec3(e, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: e\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_euler_to_matrix (const graphene_euler_t *e, graphene_matrix_t *res);\nsubroutine graphene_euler_to_matrix(e, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: e\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_10\n!void graphene_euler_to_quaternion (const graphene_euler_t *e, graphene_quaternion_t *res);\nsubroutine graphene_euler_to_quaternion(e, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: e\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_euler_reorder (const graphene_euler_t *e, graphene_euler_order_t order, graphene_euler_t *res);\nsubroutine graphene_euler_reorder(e, order, res) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: e\n  integer(c_int), value :: order\n  type(c_ptr), value :: res\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/graphene-1.0/graphene-frustum.h\n!--------------------------------------------------\n! GRAPHENE_AVAILABLE_IN_1_2\n!graphene_frustum_t * graphene_frustum_alloc (void);\nfunction graphene_frustum_alloc() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_frustum_alloc\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_frustum_free (graphene_frustum_t *f);\nsubroutine graphene_frustum_free(f) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: f\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!graphene_frustum_t * graphene_frustum_init (graphene_frustum_t *f, const graphene_plane_t *p0, const graphene_plane_t *p1, const graphene_plane_t *p2, const graphene_plane_t *p3, const graphene_plane_t *p4, const graphene_plane_t *p5);\nfunction graphene_frustum_init(f, p0, p1, p2, p3, p4, p5) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_frustum_init\n  type(c_ptr), value :: f\n  type(c_ptr), value :: p0\n  type(c_ptr), value :: p1\n  type(c_ptr), value :: p2\n  type(c_ptr), value :: p3\n  type(c_ptr), value :: p4\n  type(c_ptr), value :: p5\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!graphene_frustum_t * graphene_frustum_init_from_frustum (graphene_frustum_t *f, const graphene_frustum_t *src);\nfunction graphene_frustum_init_from_frustum(f, src) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_frustum_init_from_frustum\n  type(c_ptr), value :: f\n  type(c_ptr), value :: src\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!graphene_frustum_t * graphene_frustum_init_from_matrix (graphene_frustum_t *f, const graphene_matrix_t *matrix);\nfunction graphene_frustum_init_from_matrix(f, matrix) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_frustum_init_from_matrix\n  type(c_ptr), value :: f\n  type(c_ptr), value :: matrix\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!bool graphene_frustum_contains_point (const graphene_frustum_t *f, const graphene_point3d_t *point);\nfunction graphene_frustum_contains_point(f, point) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_frustum_contains_point\n  type(c_ptr), value :: f\n  type(c_ptr), value :: point\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!bool graphene_frustum_intersects_sphere (const graphene_frustum_t *f, const graphene_sphere_t *sphere);\nfunction graphene_frustum_intersects_sphere(f, sphere) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_frustum_intersects_sphere\n  type(c_ptr), value :: f\n  type(c_ptr), value :: sphere\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!bool graphene_frustum_intersects_box (const graphene_frustum_t *f, const graphene_box_t *box);\nfunction graphene_frustum_intersects_box(f, box) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_frustum_intersects_box\n  type(c_ptr), value :: f\n  type(c_ptr), value :: box\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_6\n!bool graphene_frustum_equal (const graphene_frustum_t *a, const graphene_frustum_t *b);\nfunction graphene_frustum_equal(a, b) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_frustum_equal\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\nend function\n\n!--------------------------------------------------\n! /usr/include/graphene-1.0/graphene-gobject.h\n!--------------------------------------------------\n! GRAPHENE_AVAILABLE_IN_1_0\n!GType graphene_point_get_type (void);\nfunction graphene_point_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: graphene_point_get_type\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!GType graphene_point3d_get_type (void);\nfunction graphene_point3d_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: graphene_point3d_get_type\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!GType graphene_size_get_type (void);\nfunction graphene_size_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: graphene_size_get_type\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!GType graphene_rect_get_type (void);\nfunction graphene_rect_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: graphene_rect_get_type\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!GType graphene_vec2_get_type (void);\nfunction graphene_vec2_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: graphene_vec2_get_type\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!GType graphene_vec3_get_type (void);\nfunction graphene_vec3_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: graphene_vec3_get_type\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!GType graphene_vec4_get_type (void);\nfunction graphene_vec4_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: graphene_vec4_get_type\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!GType graphene_quad_get_type (void);\nfunction graphene_quad_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: graphene_quad_get_type\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!GType graphene_quaternion_get_type (void);\nfunction graphene_quaternion_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: graphene_quaternion_get_type\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!GType graphene_matrix_get_type (void);\nfunction graphene_matrix_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: graphene_matrix_get_type\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!GType graphene_plane_get_type (void);\nfunction graphene_plane_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: graphene_plane_get_type\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!GType graphene_frustum_get_type (void);\nfunction graphene_frustum_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: graphene_frustum_get_type\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!GType graphene_sphere_get_type (void);\nfunction graphene_sphere_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: graphene_sphere_get_type\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!GType graphene_box_get_type (void);\nfunction graphene_box_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: graphene_box_get_type\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!GType graphene_triangle_get_type (void);\nfunction graphene_triangle_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: graphene_triangle_get_type\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!GType graphene_euler_get_type (void);\nfunction graphene_euler_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: graphene_euler_get_type\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_4\n!GType graphene_ray_get_type (void);\nfunction graphene_ray_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: graphene_ray_get_type\nend function\n\n!--------------------------------------------------\n! /usr/include/graphene-1.0/graphene-macros.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/graphene-1.0/graphene-matrix.h\n!--------------------------------------------------\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_matrix_t * graphene_matrix_alloc (void);\nfunction graphene_matrix_alloc() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_matrix_alloc\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_matrix_free (graphene_matrix_t *m);\nsubroutine graphene_matrix_free(m) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: m\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_matrix_t * graphene_matrix_init_identity (graphene_matrix_t *m);\nfunction graphene_matrix_init_identity(m) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_matrix_init_identity\n  type(c_ptr), value :: m\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_matrix_t * graphene_matrix_init_from_float (graphene_matrix_t *m, const float *v);\nfunction graphene_matrix_init_from_float(m, v) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_matrix_init_from_float\n  type(c_ptr), value :: m\n  type(c_ptr), value :: v\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_matrix_t * graphene_matrix_init_from_vec4 (graphene_matrix_t *m, const graphene_vec4_t *v0, const graphene_vec4_t *v1, const graphene_vec4_t *v2, const graphene_vec4_t *v3);\nfunction graphene_matrix_init_from_vec4(m, v0, v1, v2, v3) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_matrix_init_from_vec4\n  type(c_ptr), value :: m\n  type(c_ptr), value :: v0\n  type(c_ptr), value :: v1\n  type(c_ptr), value :: v2\n  type(c_ptr), value :: v3\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_matrix_t * graphene_matrix_init_from_matrix (graphene_matrix_t *m, const graphene_matrix_t *src);\nfunction graphene_matrix_init_from_matrix(m, src) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_matrix_init_from_matrix\n  type(c_ptr), value :: m\n  type(c_ptr), value :: src\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_matrix_t * graphene_matrix_init_perspective (graphene_matrix_t *m, float fovy, float aspect, float z_near, float z_far);\nfunction graphene_matrix_init_perspective(m, fovy, aspect, z_near, z_far)&\n& bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: graphene_matrix_init_perspective\n  type(c_ptr), value :: m\n  real(c_float), value :: fovy\n  real(c_float), value :: aspect\n  real(c_float), value :: z_near\n  real(c_float), value :: z_far\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_matrix_t * graphene_matrix_init_ortho (graphene_matrix_t *m, float left, float right, float top, float bottom, float z_near, float z_far);\nfunction graphene_matrix_init_ortho(m, left, right, top, bottom, z_near, z_far)&\n& bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: graphene_matrix_init_ortho\n  type(c_ptr), value :: m\n  real(c_float), value :: left\n  real(c_float), value :: right\n  real(c_float), value :: top\n  real(c_float), value :: bottom\n  real(c_float), value :: z_near\n  real(c_float), value :: z_far\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_matrix_t * graphene_matrix_init_look_at (graphene_matrix_t *m, const graphene_vec3_t *eye, const graphene_vec3_t *center, const graphene_vec3_t *up);\nfunction graphene_matrix_init_look_at(m, eye, center, up) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_matrix_init_look_at\n  type(c_ptr), value :: m\n  type(c_ptr), value :: eye\n  type(c_ptr), value :: center\n  type(c_ptr), value :: up\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!graphene_matrix_t * graphene_matrix_init_frustum (graphene_matrix_t *m, float left, float right, float bottom, float top, float z_near, float z_far);\nfunction graphene_matrix_init_frustum(m, left, right, bottom, top, z_near,&\n& z_far) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: graphene_matrix_init_frustum\n  type(c_ptr), value :: m\n  real(c_float), value :: left\n  real(c_float), value :: right\n  real(c_float), value :: bottom\n  real(c_float), value :: top\n  real(c_float), value :: z_near\n  real(c_float), value :: z_far\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_matrix_t * graphene_matrix_init_scale (graphene_matrix_t *m, float x, float y, float z);\nfunction graphene_matrix_init_scale(m, x, y, z) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: graphene_matrix_init_scale\n  type(c_ptr), value :: m\n  real(c_float), value :: x\n  real(c_float), value :: y\n  real(c_float), value :: z\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_matrix_t * graphene_matrix_init_translate (graphene_matrix_t *m, const graphene_point3d_t *p);\nfunction graphene_matrix_init_translate(m, p) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_matrix_init_translate\n  type(c_ptr), value :: m\n  type(c_ptr), value :: p\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_matrix_t * graphene_matrix_init_rotate (graphene_matrix_t *m, float angle, const graphene_vec3_t *axis);\nfunction graphene_matrix_init_rotate(m, angle, axis) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: graphene_matrix_init_rotate\n  type(c_ptr), value :: m\n  real(c_float), value :: angle\n  type(c_ptr), value :: axis\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_matrix_t * graphene_matrix_init_skew (graphene_matrix_t *m, float x_skew, float y_skew);\nfunction graphene_matrix_init_skew(m, x_skew, y_skew) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: graphene_matrix_init_skew\n  type(c_ptr), value :: m\n  real(c_float), value :: x_skew\n  real(c_float), value :: y_skew\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_matrix_t * graphene_matrix_init_from_2d (graphene_matrix_t *m, double xx, double yx, double xy, double yy, double x_0, double y_0);\nfunction graphene_matrix_init_from_2d(m, xx, yx, xy, yy, x_0, y_0) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr) :: graphene_matrix_init_from_2d\n  type(c_ptr), value :: m\n  real(c_double), value :: xx\n  real(c_double), value :: yx\n  real(c_double), value :: xy\n  real(c_double), value :: yy\n  real(c_double), value :: x_0\n  real(c_double), value :: y_0\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!bool graphene_matrix_is_identity (const graphene_matrix_t *m);\nfunction graphene_matrix_is_identity(m) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_matrix_is_identity\n  type(c_ptr), value :: m\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!bool graphene_matrix_is_2d (const graphene_matrix_t *m);\nfunction graphene_matrix_is_2d(m) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_matrix_is_2d\n  type(c_ptr), value :: m\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!bool graphene_matrix_is_backface_visible (const graphene_matrix_t *m);\nfunction graphene_matrix_is_backface_visible(m) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_matrix_is_backface_visible\n  type(c_ptr), value :: m\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!bool graphene_matrix_is_singular (const graphene_matrix_t *m);\nfunction graphene_matrix_is_singular(m) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_matrix_is_singular\n  type(c_ptr), value :: m\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_matrix_to_float (const graphene_matrix_t *m, float *v);\nsubroutine graphene_matrix_to_float(m, v) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: m\n  type(c_ptr), value :: v\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!bool graphene_matrix_to_2d (const graphene_matrix_t *m, double *xx, double *yx, double *xy, double *yy, double *x_0, double *y_0);\nfunction graphene_matrix_to_2d(m, xx, yx, xy, yy, x_0, y_0) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_matrix_to_2d\n  type(c_ptr), value :: m\n  type(c_ptr), value :: xx\n  type(c_ptr), value :: yx\n  type(c_ptr), value :: xy\n  type(c_ptr), value :: yy\n  type(c_ptr), value :: x_0\n  type(c_ptr), value :: y_0\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_matrix_get_row (const graphene_matrix_t *m, unsigned int index_, graphene_vec4_t *res);\nsubroutine graphene_matrix_get_row(m, index_, res) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: m\n  integer(c_int), value :: index_\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!float graphene_matrix_get_value (const graphene_matrix_t *m, unsigned int row, unsigned int col);\nfunction graphene_matrix_get_value(m, row, col) bind(c)\n  import :: c_float, c_ptr, c_int\n  implicit none\n  real(c_float) :: graphene_matrix_get_value\n  type(c_ptr), value :: m\n  integer(c_int), value :: row\n  integer(c_int), value :: col\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_matrix_multiply (const graphene_matrix_t *a, const graphene_matrix_t *b, graphene_matrix_t *res);\nsubroutine graphene_matrix_multiply(a, b, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!float graphene_matrix_determinant (const graphene_matrix_t *m);\nfunction graphene_matrix_determinant(m) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_matrix_determinant\n  type(c_ptr), value :: m\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_matrix_transform_vec4 (const graphene_matrix_t *m, const graphene_vec4_t *v, graphene_vec4_t *res);\nsubroutine graphene_matrix_transform_vec4(m, v, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: m\n  type(c_ptr), value :: v\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_matrix_transform_vec3 (const graphene_matrix_t *m, const graphene_vec3_t *v, graphene_vec3_t *res);\nsubroutine graphene_matrix_transform_vec3(m, v, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: m\n  type(c_ptr), value :: v\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_matrix_transform_point (const graphene_matrix_t *m, const graphene_point_t *p, graphene_point_t *res);\nsubroutine graphene_matrix_transform_point(m, p, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: m\n  type(c_ptr), value :: p\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_matrix_transform_point3d (const graphene_matrix_t *m, const graphene_point3d_t *p, graphene_point3d_t *res);\nsubroutine graphene_matrix_transform_point3d(m, p, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: m\n  type(c_ptr), value :: p\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_matrix_transform_rect (const graphene_matrix_t *m, const graphene_rect_t *r, graphene_quad_t *res);\nsubroutine graphene_matrix_transform_rect(m, r, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: m\n  type(c_ptr), value :: r\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_matrix_transform_bounds (const graphene_matrix_t *m, const graphene_rect_t *r, graphene_rect_t *res);\nsubroutine graphene_matrix_transform_bounds(m, r, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: m\n  type(c_ptr), value :: r\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_matrix_transform_sphere (const graphene_matrix_t *m, const graphene_sphere_t *s, graphene_sphere_t *res);\nsubroutine graphene_matrix_transform_sphere(m, s, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: m\n  type(c_ptr), value :: s\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_matrix_transform_box (const graphene_matrix_t *m, const graphene_box_t *b, graphene_box_t *res);\nsubroutine graphene_matrix_transform_box(m, b, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: m\n  type(c_ptr), value :: b\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_4\n!void graphene_matrix_transform_ray (const graphene_matrix_t *m, const graphene_ray_t *r, graphene_ray_t *res);\nsubroutine graphene_matrix_transform_ray(m, r, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: m\n  type(c_ptr), value :: r\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_matrix_project_point (const graphene_matrix_t *m, const graphene_point_t *p, graphene_point_t *res);\nsubroutine graphene_matrix_project_point(m, p, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: m\n  type(c_ptr), value :: p\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_matrix_project_rect_bounds (const graphene_matrix_t *m, const graphene_rect_t *r, graphene_rect_t *res);\nsubroutine graphene_matrix_project_rect_bounds(m, r, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: m\n  type(c_ptr), value :: r\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_matrix_project_rect (const graphene_matrix_t *m, const graphene_rect_t *r, graphene_quad_t *res);\nsubroutine graphene_matrix_project_rect(m, r, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: m\n  type(c_ptr), value :: r\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!bool graphene_matrix_untransform_point (const graphene_matrix_t *m, const graphene_point_t *p, const graphene_rect_t *bounds, graphene_point_t *res);\nfunction graphene_matrix_untransform_point(m, p, bounds, res) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_matrix_untransform_point\n  type(c_ptr), value :: m\n  type(c_ptr), value :: p\n  type(c_ptr), value :: bounds\n  type(c_ptr), value :: res\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_matrix_untransform_bounds (const graphene_matrix_t *m, const graphene_rect_t *r, const graphene_rect_t *bounds, graphene_rect_t *res);\nsubroutine graphene_matrix_untransform_bounds(m, r, bounds, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: m\n  type(c_ptr), value :: r\n  type(c_ptr), value :: bounds\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_matrix_unproject_point3d (const graphene_matrix_t *projection, const graphene_matrix_t *modelview, const graphene_point3d_t *point, graphene_point3d_t *res);\nsubroutine graphene_matrix_unproject_point3d(projection, modelview, point, res)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: projection\n  type(c_ptr), value :: modelview\n  type(c_ptr), value :: point\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_matrix_translate (graphene_matrix_t *m, const graphene_point3d_t *pos);\nsubroutine graphene_matrix_translate(m, pos) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: m\n  type(c_ptr), value :: pos\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_matrix_rotate (graphene_matrix_t *m, float angle, const graphene_vec3_t *axis);\nsubroutine graphene_matrix_rotate(m, angle, axis) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: m\n  real(c_float), value :: angle\n  type(c_ptr), value :: axis\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_matrix_rotate_x (graphene_matrix_t *m, float angle);\nsubroutine graphene_matrix_rotate_x(m, angle) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: m\n  real(c_float), value :: angle\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_matrix_rotate_y (graphene_matrix_t *m, float angle);\nsubroutine graphene_matrix_rotate_y(m, angle) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: m\n  real(c_float), value :: angle\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_matrix_rotate_z (graphene_matrix_t *m, float angle);\nsubroutine graphene_matrix_rotate_z(m, angle) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: m\n  real(c_float), value :: angle\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_matrix_rotate_quaternion (graphene_matrix_t *m, const graphene_quaternion_t *q);\nsubroutine graphene_matrix_rotate_quaternion(m, q) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: m\n  type(c_ptr), value :: q\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_matrix_rotate_euler (graphene_matrix_t *m, const graphene_euler_t *e);\nsubroutine graphene_matrix_rotate_euler(m, e) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: m\n  type(c_ptr), value :: e\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_matrix_scale (graphene_matrix_t *m, float factor_x, float factor_y, float factor_z);\nsubroutine graphene_matrix_scale(m, factor_x, factor_y, factor_z) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: m\n  real(c_float), value :: factor_x\n  real(c_float), value :: factor_y\n  real(c_float), value :: factor_z\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_matrix_skew_xy (graphene_matrix_t *m, float factor);\nsubroutine graphene_matrix_skew_xy(m, factor) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: m\n  real(c_float), value :: factor\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_matrix_skew_xz (graphene_matrix_t *m, float factor);\nsubroutine graphene_matrix_skew_xz(m, factor) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: m\n  real(c_float), value :: factor\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_matrix_skew_yz (graphene_matrix_t *m, float factor);\nsubroutine graphene_matrix_skew_yz(m, factor) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: m\n  real(c_float), value :: factor\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_matrix_transpose (const graphene_matrix_t *m, graphene_matrix_t *res);\nsubroutine graphene_matrix_transpose(m, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: m\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!bool graphene_matrix_inverse (const graphene_matrix_t *m, graphene_matrix_t *res);\nfunction graphene_matrix_inverse(m, res) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_matrix_inverse\n  type(c_ptr), value :: m\n  type(c_ptr), value :: res\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_matrix_perspective (const graphene_matrix_t *m, float depth, graphene_matrix_t *res);\nsubroutine graphene_matrix_perspective(m, depth, res) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: m\n  real(c_float), value :: depth\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_matrix_normalize (const graphene_matrix_t *m, graphene_matrix_t *res);\nsubroutine graphene_matrix_normalize(m, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: m\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_10\n!float graphene_matrix_get_x_translation (const graphene_matrix_t *m);\nfunction graphene_matrix_get_x_translation(m) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_matrix_get_x_translation\n  type(c_ptr), value :: m\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_10\n!float graphene_matrix_get_y_translation (const graphene_matrix_t *m);\nfunction graphene_matrix_get_y_translation(m) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_matrix_get_y_translation\n  type(c_ptr), value :: m\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_10\n!float graphene_matrix_get_z_translation (const graphene_matrix_t *m);\nfunction graphene_matrix_get_z_translation(m) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_matrix_get_z_translation\n  type(c_ptr), value :: m\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!float graphene_matrix_get_x_scale (const graphene_matrix_t *m);\nfunction graphene_matrix_get_x_scale(m) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_matrix_get_x_scale\n  type(c_ptr), value :: m\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!float graphene_matrix_get_y_scale (const graphene_matrix_t *m);\nfunction graphene_matrix_get_y_scale(m) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_matrix_get_y_scale\n  type(c_ptr), value :: m\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!float graphene_matrix_get_z_scale (const graphene_matrix_t *m);\nfunction graphene_matrix_get_z_scale(m) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_matrix_get_z_scale\n  type(c_ptr), value :: m\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_matrix_interpolate (const graphene_matrix_t *a, const graphene_matrix_t *b, double factor, graphene_matrix_t *res);\nsubroutine graphene_matrix_interpolate(a, b, factor, res) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  real(c_double), value :: factor\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_10\n!bool graphene_matrix_near (const graphene_matrix_t *a, const graphene_matrix_t *b, float epsilon);\nfunction graphene_matrix_near(a, b, epsilon) bind(c)\n  import :: c_int, c_ptr, c_float\n  implicit none\n  integer(c_int) :: graphene_matrix_near\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  real(c_float), value :: epsilon\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_10\n!bool graphene_matrix_equal (const graphene_matrix_t *a, const graphene_matrix_t *b);\nfunction graphene_matrix_equal(a, b) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_matrix_equal\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_10\n!bool graphene_matrix_equal_fast (const graphene_matrix_t *a, const graphene_matrix_t *b);\nfunction graphene_matrix_equal_fast(a, b) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_matrix_equal_fast\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_matrix_print (const graphene_matrix_t *m);\nsubroutine graphene_matrix_print(m) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: m\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_10\n!bool graphene_matrix_decompose (const graphene_matrix_t *m, graphene_vec3_t *translate, graphene_vec3_t *scale, graphene_quaternion_t *rotate, graphene_vec3_t *shear, graphene_vec4_t *perspective);\nfunction graphene_matrix_decompose(m, translate, scale, rotate, shear,&\n& perspective) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_matrix_decompose\n  type(c_ptr), value :: m\n  type(c_ptr), value :: translate\n  type(c_ptr), value :: scale\n  type(c_ptr), value :: rotate\n  type(c_ptr), value :: shear\n  type(c_ptr), value :: perspective\nend function\n\n!--------------------------------------------------\n! /usr/include/graphene-1.0/graphene-plane.h\n!--------------------------------------------------\n! GRAPHENE_AVAILABLE_IN_1_2\n!graphene_plane_t * graphene_plane_alloc (void);\nfunction graphene_plane_alloc() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_plane_alloc\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_plane_free (graphene_plane_t *p);\nsubroutine graphene_plane_free(p) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: p\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!graphene_plane_t * graphene_plane_init (graphene_plane_t *p, const graphene_vec3_t *normal, float constant);\nfunction graphene_plane_init(p, normal, constant) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: graphene_plane_init\n  type(c_ptr), value :: p\n  type(c_ptr), value :: normal\n  real(c_float), value :: constant\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!graphene_plane_t * graphene_plane_init_from_vec4 (graphene_plane_t *p, const graphene_vec4_t *src);\nfunction graphene_plane_init_from_vec4(p, src) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_plane_init_from_vec4\n  type(c_ptr), value :: p\n  type(c_ptr), value :: src\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!graphene_plane_t * graphene_plane_init_from_plane (graphene_plane_t *p, const graphene_plane_t *src);\nfunction graphene_plane_init_from_plane(p, src) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_plane_init_from_plane\n  type(c_ptr), value :: p\n  type(c_ptr), value :: src\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!graphene_plane_t * graphene_plane_init_from_point (graphene_plane_t *p, const graphene_vec3_t *normal, const graphene_point3d_t *point);\nfunction graphene_plane_init_from_point(p, normal, point) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_plane_init_from_point\n  type(c_ptr), value :: p\n  type(c_ptr), value :: normal\n  type(c_ptr), value :: point\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!graphene_plane_t * graphene_plane_init_from_points (graphene_plane_t *p, const graphene_point3d_t *a, const graphene_point3d_t *b, const graphene_point3d_t *c);\nfunction graphene_plane_init_from_points(p, a, b, c) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_plane_init_from_points\n  type(c_ptr), value :: p\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  type(c_ptr), value :: c\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_plane_normalize (const graphene_plane_t *p, graphene_plane_t *res);\nsubroutine graphene_plane_normalize(p, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: p\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_plane_negate (const graphene_plane_t *p, graphene_plane_t *res);\nsubroutine graphene_plane_negate(p, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: p\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!bool graphene_plane_equal (const graphene_plane_t *a, const graphene_plane_t *b);\nfunction graphene_plane_equal(a, b) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_plane_equal\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!float graphene_plane_distance (const graphene_plane_t *p, const graphene_point3d_t *point);\nfunction graphene_plane_distance(p, point) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_plane_distance\n  type(c_ptr), value :: p\n  type(c_ptr), value :: point\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_plane_get_normal (const graphene_plane_t *p, graphene_vec3_t *normal);\nsubroutine graphene_plane_get_normal(p, normal) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: p\n  type(c_ptr), value :: normal\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!float graphene_plane_get_constant (const graphene_plane_t *p);\nfunction graphene_plane_get_constant(p) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_plane_get_constant\n  type(c_ptr), value :: p\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_10\n!void graphene_plane_transform (const graphene_plane_t *p, const graphene_matrix_t *matrix, const graphene_matrix_t *normal_matrix, graphene_plane_t *res);\nsubroutine graphene_plane_transform(p, matrix, normal_matrix, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: p\n  type(c_ptr), value :: matrix\n  type(c_ptr), value :: normal_matrix\n  type(c_ptr), value :: res\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/graphene-1.0/graphene-point.h\n!--------------------------------------------------\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_point_t * graphene_point_alloc (void);\nfunction graphene_point_alloc() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_point_alloc\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_point_free (graphene_point_t *p);\nsubroutine graphene_point_free(p) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: p\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_point_t * graphene_point_init (graphene_point_t *p, float x, float y);\nfunction graphene_point_init(p, x, y) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: graphene_point_init\n  type(c_ptr), value :: p\n  real(c_float), value :: x\n  real(c_float), value :: y\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_point_t * graphene_point_init_from_point (graphene_point_t *p, const graphene_point_t *src);\nfunction graphene_point_init_from_point(p, src) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_point_init_from_point\n  type(c_ptr), value :: p\n  type(c_ptr), value :: src\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_4\n!graphene_point_t * graphene_point_init_from_vec2 (graphene_point_t *p, const graphene_vec2_t *src);\nfunction graphene_point_init_from_vec2(p, src) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_point_init_from_vec2\n  type(c_ptr), value :: p\n  type(c_ptr), value :: src\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!bool graphene_point_equal (const graphene_point_t *a, const graphene_point_t *b);\nfunction graphene_point_equal(a, b) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_point_equal\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!float graphene_point_distance (const graphene_point_t *a, const graphene_point_t *b, float *d_x, float *d_y);\nfunction graphene_point_distance(a, b, d_x, d_y) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_point_distance\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  type(c_ptr), value :: d_x\n  type(c_ptr), value :: d_y\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!bool graphene_point_near (const graphene_point_t *a, const graphene_point_t *b, float epsilon);\nfunction graphene_point_near(a, b, epsilon) bind(c)\n  import :: c_int, c_ptr, c_float\n  implicit none\n  integer(c_int) :: graphene_point_near\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  real(c_float), value :: epsilon\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_point_interpolate (const graphene_point_t *a, const graphene_point_t *b, double factor, graphene_point_t *res);\nsubroutine graphene_point_interpolate(a, b, factor, res) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  real(c_double), value :: factor\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_4\n!void graphene_point_to_vec2 (const graphene_point_t *p, graphene_vec2_t *v);\nsubroutine graphene_point_to_vec2(p, v) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: p\n  type(c_ptr), value :: v\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!const graphene_point_t * graphene_point_zero (void);\nfunction graphene_point_zero() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_point_zero\nend function\n\n!--------------------------------------------------\n! /usr/include/graphene-1.0/graphene-point3d.h\n!--------------------------------------------------\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_point3d_t * graphene_point3d_alloc (void);\nfunction graphene_point3d_alloc() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_point3d_alloc\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_point3d_free (graphene_point3d_t *p);\nsubroutine graphene_point3d_free(p) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: p\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_point3d_t * graphene_point3d_init (graphene_point3d_t *p, float x, float y, float z);\nfunction graphene_point3d_init(p, x, y, z) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: graphene_point3d_init\n  type(c_ptr), value :: p\n  real(c_float), value :: x\n  real(c_float), value :: y\n  real(c_float), value :: z\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_point3d_t * graphene_point3d_init_from_point (graphene_point3d_t *p, const graphene_point3d_t *src);\nfunction graphene_point3d_init_from_point(p, src) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_point3d_init_from_point\n  type(c_ptr), value :: p\n  type(c_ptr), value :: src\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_point3d_t * graphene_point3d_init_from_vec3 (graphene_point3d_t *p, const graphene_vec3_t *v);\nfunction graphene_point3d_init_from_vec3(p, v) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_point3d_init_from_vec3\n  type(c_ptr), value :: p\n  type(c_ptr), value :: v\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_point3d_to_vec3 (const graphene_point3d_t *p, graphene_vec3_t *v);\nsubroutine graphene_point3d_to_vec3(p, v) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: p\n  type(c_ptr), value :: v\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!bool graphene_point3d_equal (const graphene_point3d_t *a, const graphene_point3d_t *b);\nfunction graphene_point3d_equal(a, b) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_point3d_equal\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!bool graphene_point3d_near (const graphene_point3d_t *a, const graphene_point3d_t *b, float epsilon);\nfunction graphene_point3d_near(a, b, epsilon) bind(c)\n  import :: c_int, c_ptr, c_float\n  implicit none\n  integer(c_int) :: graphene_point3d_near\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  real(c_float), value :: epsilon\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_point3d_scale (const graphene_point3d_t *p, float factor, graphene_point3d_t *res);\nsubroutine graphene_point3d_scale(p, factor, res) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: p\n  real(c_float), value :: factor\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_point3d_cross (const graphene_point3d_t *a, const graphene_point3d_t *b, graphene_point3d_t *res);\nsubroutine graphene_point3d_cross(a, b, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!float graphene_point3d_dot (const graphene_point3d_t *a, const graphene_point3d_t *b);\nfunction graphene_point3d_dot(a, b) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_point3d_dot\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!float graphene_point3d_length (const graphene_point3d_t *p);\nfunction graphene_point3d_length(p) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_point3d_length\n  type(c_ptr), value :: p\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_point3d_normalize (const graphene_point3d_t *p, graphene_point3d_t *res);\nsubroutine graphene_point3d_normalize(p, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: p\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_4\n!float graphene_point3d_distance (const graphene_point3d_t *a, const graphene_point3d_t *b, graphene_vec3_t *delta);\nfunction graphene_point3d_distance(a, b, delta) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_point3d_distance\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  type(c_ptr), value :: delta\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_point3d_interpolate (const graphene_point3d_t *a, const graphene_point3d_t *b, double factor, graphene_point3d_t *res);\nsubroutine graphene_point3d_interpolate(a, b, factor, res) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  real(c_double), value :: factor\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_4\n!void graphene_point3d_normalize_viewport (const graphene_point3d_t *p, const graphene_rect_t *viewport, float z_near, float z_far, graphene_point3d_t *res);\nsubroutine graphene_point3d_normalize_viewport(p, viewport, z_near, z_far, res)&\n& bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: p\n  type(c_ptr), value :: viewport\n  real(c_float), value :: z_near\n  real(c_float), value :: z_far\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!const graphene_point3d_t * graphene_point3d_zero (void);\nfunction graphene_point3d_zero() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_point3d_zero\nend function\n\n!--------------------------------------------------\n! /usr/include/graphene-1.0/graphene-quad.h\n!--------------------------------------------------\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_quad_t * graphene_quad_alloc (void);\nfunction graphene_quad_alloc() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_quad_alloc\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_quad_free (graphene_quad_t *q);\nsubroutine graphene_quad_free(q) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: q\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_quad_t * graphene_quad_init (graphene_quad_t *q, const graphene_point_t *p1, const graphene_point_t *p2, const graphene_point_t *p3, const graphene_point_t *p4);\nfunction graphene_quad_init(q, p1, p2, p3, p4) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_quad_init\n  type(c_ptr), value :: q\n  type(c_ptr), value :: p1\n  type(c_ptr), value :: p2\n  type(c_ptr), value :: p3\n  type(c_ptr), value :: p4\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_quad_t * graphene_quad_init_from_rect (graphene_quad_t *q, const graphene_rect_t *r);\nfunction graphene_quad_init_from_rect(q, r) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_quad_init_from_rect\n  type(c_ptr), value :: q\n  type(c_ptr), value :: r\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!bool graphene_quad_contains (const graphene_quad_t *q, const graphene_point_t *p);\nfunction graphene_quad_contains(q, p) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_quad_contains\n  type(c_ptr), value :: q\n  type(c_ptr), value :: p\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_quad_bounds (const graphene_quad_t *q, graphene_rect_t *r);\nsubroutine graphene_quad_bounds(q, r) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: q\n  type(c_ptr), value :: r\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!const graphene_point_t *graphene_quad_get_point (const graphene_quad_t *q, unsigned int index_);\nfunction graphene_quad_get_point(q, index_) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: graphene_quad_get_point\n  type(c_ptr), value :: q\n  integer(c_int), value :: index_\nend function\n\n!--------------------------------------------------\n! /usr/include/graphene-1.0/graphene-quaternion.h\n!--------------------------------------------------\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_quaternion_t * graphene_quaternion_alloc (void);\nfunction graphene_quaternion_alloc() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_quaternion_alloc\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_quaternion_free (graphene_quaternion_t *q);\nsubroutine graphene_quaternion_free(q) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: q\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_quaternion_t * graphene_quaternion_init (graphene_quaternion_t *q, float x, float y, float z, float w);\nfunction graphene_quaternion_init(q, x, y, z, w) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: graphene_quaternion_init\n  type(c_ptr), value :: q\n  real(c_float), value :: x\n  real(c_float), value :: y\n  real(c_float), value :: z\n  real(c_float), value :: w\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_quaternion_t * graphene_quaternion_init_identity (graphene_quaternion_t *q);\nfunction graphene_quaternion_init_identity(q) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_quaternion_init_identity\n  type(c_ptr), value :: q\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_quaternion_t * graphene_quaternion_init_from_quaternion (graphene_quaternion_t *q, const graphene_quaternion_t *src);\nfunction graphene_quaternion_init_from_quaternion(q, src) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_quaternion_init_from_quaternion\n  type(c_ptr), value :: q\n  type(c_ptr), value :: src\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_quaternion_t * graphene_quaternion_init_from_vec4 (graphene_quaternion_t *q, const graphene_vec4_t *src);\nfunction graphene_quaternion_init_from_vec4(q, src) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_quaternion_init_from_vec4\n  type(c_ptr), value :: q\n  type(c_ptr), value :: src\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_quaternion_t * graphene_quaternion_init_from_matrix (graphene_quaternion_t *q, const graphene_matrix_t *m);\nfunction graphene_quaternion_init_from_matrix(q, m) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_quaternion_init_from_matrix\n  type(c_ptr), value :: q\n  type(c_ptr), value :: m\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_quaternion_t * graphene_quaternion_init_from_angles (graphene_quaternion_t *q, float deg_x, float deg_y, float deg_z);\nfunction graphene_quaternion_init_from_angles(q, deg_x, deg_y, deg_z) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: graphene_quaternion_init_from_angles\n  type(c_ptr), value :: q\n  real(c_float), value :: deg_x\n  real(c_float), value :: deg_y\n  real(c_float), value :: deg_z\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_4\n!graphene_quaternion_t * graphene_quaternion_init_from_radians (graphene_quaternion_t *q, float rad_x, float rad_y, float rad_z);\nfunction graphene_quaternion_init_from_radians(q, rad_x, rad_y, rad_z) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: graphene_quaternion_init_from_radians\n  type(c_ptr), value :: q\n  real(c_float), value :: rad_x\n  real(c_float), value :: rad_y\n  real(c_float), value :: rad_z\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_quaternion_t * graphene_quaternion_init_from_angle_vec3 (graphene_quaternion_t *q, float angle, const graphene_vec3_t *axis);\nfunction graphene_quaternion_init_from_angle_vec3(q, angle, axis) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: graphene_quaternion_init_from_angle_vec3\n  type(c_ptr), value :: q\n  real(c_float), value :: angle\n  type(c_ptr), value :: axis\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!graphene_quaternion_t * graphene_quaternion_init_from_euler (graphene_quaternion_t *q, const graphene_euler_t *e);\nfunction graphene_quaternion_init_from_euler(q, e) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_quaternion_init_from_euler\n  type(c_ptr), value :: q\n  type(c_ptr), value :: e\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_quaternion_to_vec4 (const graphene_quaternion_t *q, graphene_vec4_t *res);\nsubroutine graphene_quaternion_to_vec4(q, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: q\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_quaternion_to_matrix (const graphene_quaternion_t *q, graphene_matrix_t *m);\nsubroutine graphene_quaternion_to_matrix(q, m) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: q\n  type(c_ptr), value :: m\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_quaternion_to_angles (const graphene_quaternion_t *q, float *deg_x, float *deg_y, float *deg_z);\nsubroutine graphene_quaternion_to_angles(q, deg_x, deg_y, deg_z) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: q\n  type(c_ptr), value :: deg_x\n  type(c_ptr), value :: deg_y\n  type(c_ptr), value :: deg_z\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_4\n!void graphene_quaternion_to_radians (const graphene_quaternion_t *q, float *rad_x, float *rad_y, float *rad_z);\nsubroutine graphene_quaternion_to_radians(q, rad_x, rad_y, rad_z) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: q\n  type(c_ptr), value :: rad_x\n  type(c_ptr), value :: rad_y\n  type(c_ptr), value :: rad_z\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_quaternion_to_angle_vec3 (const graphene_quaternion_t *q, float *angle, graphene_vec3_t *axis);\nsubroutine graphene_quaternion_to_angle_vec3(q, angle, axis) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: q\n  type(c_ptr), value :: angle\n  type(c_ptr), value :: axis\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!bool graphene_quaternion_equal (const graphene_quaternion_t *a, const graphene_quaternion_t *b);\nfunction graphene_quaternion_equal(a, b) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_quaternion_equal\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!float graphene_quaternion_dot (const graphene_quaternion_t *a, const graphene_quaternion_t *b);\nfunction graphene_quaternion_dot(a, b) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_quaternion_dot\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_quaternion_invert (const graphene_quaternion_t *q, graphene_quaternion_t *res);\nsubroutine graphene_quaternion_invert(q, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: q\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_quaternion_normalize (const graphene_quaternion_t *q, graphene_quaternion_t *res);\nsubroutine graphene_quaternion_normalize(q, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: q\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_quaternion_slerp (const graphene_quaternion_t *a, const graphene_quaternion_t *b, float factor, graphene_quaternion_t *res);\nsubroutine graphene_quaternion_slerp(a, b, factor, res) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  real(c_float), value :: factor\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_10\n!void graphene_quaternion_multiply (const graphene_quaternion_t *a, const graphene_quaternion_t *b, graphene_quaternion_t *res);\nsubroutine graphene_quaternion_multiply(a, b, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_10\n!void graphene_quaternion_scale (const graphene_quaternion_t *q, float factor, graphene_quaternion_t *res);\nsubroutine graphene_quaternion_scale(q, factor, res) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: q\n  real(c_float), value :: factor\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_10\n!void graphene_quaternion_add (const graphene_quaternion_t *a, const graphene_quaternion_t *b, graphene_quaternion_t *res);\nsubroutine graphene_quaternion_add(a, b, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  type(c_ptr), value :: res\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/graphene-1.0/graphene-ray.h\n!--------------------------------------------------\n! GRAPHENE_AVAILABLE_IN_1_4\n!graphene_ray_t * graphene_ray_alloc (void);\nfunction graphene_ray_alloc() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_ray_alloc\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_4\n!void graphene_ray_free (graphene_ray_t *r);\nsubroutine graphene_ray_free(r) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: r\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_4\n!graphene_ray_t * graphene_ray_init (graphene_ray_t *r, const graphene_point3d_t *origin, const graphene_vec3_t *direction);\nfunction graphene_ray_init(r, origin, direction) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_ray_init\n  type(c_ptr), value :: r\n  type(c_ptr), value :: origin\n  type(c_ptr), value :: direction\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_4\n!graphene_ray_t * graphene_ray_init_from_ray (graphene_ray_t *r, const graphene_ray_t *src);\nfunction graphene_ray_init_from_ray(r, src) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_ray_init_from_ray\n  type(c_ptr), value :: r\n  type(c_ptr), value :: src\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_4\n!graphene_ray_t * graphene_ray_init_from_vec3 (graphene_ray_t *r, const graphene_vec3_t *origin, const graphene_vec3_t *direction);\nfunction graphene_ray_init_from_vec3(r, origin, direction) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_ray_init_from_vec3\n  type(c_ptr), value :: r\n  type(c_ptr), value :: origin\n  type(c_ptr), value :: direction\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_4\n!void graphene_ray_get_origin (const graphene_ray_t *r, graphene_point3d_t *origin);\nsubroutine graphene_ray_get_origin(r, origin) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: r\n  type(c_ptr), value :: origin\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_4\n!void graphene_ray_get_direction (const graphene_ray_t *r, graphene_vec3_t *direction);\nsubroutine graphene_ray_get_direction(r, direction) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: r\n  type(c_ptr), value :: direction\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_4\n!void graphene_ray_get_position_at (const graphene_ray_t *r, float t, graphene_point3d_t *position);\nsubroutine graphene_ray_get_position_at(r, t, position) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: r\n  real(c_float), value :: t\n  type(c_ptr), value :: position\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_4\n!float graphene_ray_get_distance_to_point (const graphene_ray_t *r, const graphene_point3d_t *p);\nfunction graphene_ray_get_distance_to_point(r, p) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_ray_get_distance_to_point\n  type(c_ptr), value :: r\n  type(c_ptr), value :: p\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_4\n!float graphene_ray_get_distance_to_plane (const graphene_ray_t *r, const graphene_plane_t *p);\nfunction graphene_ray_get_distance_to_plane(r, p) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_ray_get_distance_to_plane\n  type(c_ptr), value :: r\n  type(c_ptr), value :: p\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_4\n!bool graphene_ray_equal (const graphene_ray_t *a, const graphene_ray_t *b);\nfunction graphene_ray_equal(a, b) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_ray_equal\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_4\n!void graphene_ray_get_closest_point_to_point (const graphene_ray_t *r, const graphene_point3d_t *p, graphene_point3d_t *res);\nsubroutine graphene_ray_get_closest_point_to_point(r, p, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: r\n  type(c_ptr), value :: p\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_10\n!graphene_ray_intersection_kind_t graphene_ray_intersect_sphere (const graphene_ray_t *r, const graphene_sphere_t *s, float *t_out);\nfunction graphene_ray_intersect_sphere(r, s, t_out) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_ray_intersect_sphere\n  type(c_ptr), value :: r\n  type(c_ptr), value :: s\n  type(c_ptr), value :: t_out\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_10\n!bool graphene_ray_intersects_sphere (const graphene_ray_t *r, const graphene_sphere_t *s);\nfunction graphene_ray_intersects_sphere(r, s) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_ray_intersects_sphere\n  type(c_ptr), value :: r\n  type(c_ptr), value :: s\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_10\n!graphene_ray_intersection_kind_t graphene_ray_intersect_box (const graphene_ray_t *r, const graphene_box_t *b, float *t_out);\nfunction graphene_ray_intersect_box(r, b, t_out) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_ray_intersect_box\n  type(c_ptr), value :: r\n  type(c_ptr), value :: b\n  type(c_ptr), value :: t_out\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_10\n!bool graphene_ray_intersects_box (const graphene_ray_t *r, const graphene_box_t *b);\nfunction graphene_ray_intersects_box(r, b) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_ray_intersects_box\n  type(c_ptr), value :: r\n  type(c_ptr), value :: b\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_10\n!graphene_ray_intersection_kind_t graphene_ray_intersect_triangle (const graphene_ray_t *r, const graphene_triangle_t *t, float *t_out);\nfunction graphene_ray_intersect_triangle(r, t, t_out) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_ray_intersect_triangle\n  type(c_ptr), value :: r\n  type(c_ptr), value :: t\n  type(c_ptr), value :: t_out\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_10\n!bool graphene_ray_intersects_triangle (const graphene_ray_t *r, const graphene_triangle_t *t);\nfunction graphene_ray_intersects_triangle(r, t) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_ray_intersects_triangle\n  type(c_ptr), value :: r\n  type(c_ptr), value :: t\nend function\n\n!--------------------------------------------------\n! /usr/include/graphene-1.0/graphene-rect.h\n!--------------------------------------------------\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_rect_t * graphene_rect_alloc (void);\nfunction graphene_rect_alloc() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_rect_alloc\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_rect_free (graphene_rect_t *r);\nsubroutine graphene_rect_free(r) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: r\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_rect_t * graphene_rect_init (graphene_rect_t *r, float x, float y, float width, float height);\nfunction graphene_rect_init(r, x, y, width, height) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: graphene_rect_init\n  type(c_ptr), value :: r\n  real(c_float), value :: x\n  real(c_float), value :: y\n  real(c_float), value :: width\n  real(c_float), value :: height\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_rect_t * graphene_rect_init_from_rect (graphene_rect_t *r, const graphene_rect_t *src);\nfunction graphene_rect_init_from_rect(r, src) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_rect_init_from_rect\n  type(c_ptr), value :: r\n  type(c_ptr), value :: src\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!bool graphene_rect_equal (const graphene_rect_t *a, const graphene_rect_t *b);\nfunction graphene_rect_equal(a, b) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_rect_equal\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_rect_t * graphene_rect_normalize (graphene_rect_t *r);\nfunction graphene_rect_normalize(r) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_rect_normalize\n  type(c_ptr), value :: r\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_4\n!void graphene_rect_normalize_r (const graphene_rect_t *r, graphene_rect_t *res);\nsubroutine graphene_rect_normalize_r(r, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: r\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_rect_get_center (const graphene_rect_t *r, graphene_point_t *p);\nsubroutine graphene_rect_get_center(r, p) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: r\n  type(c_ptr), value :: p\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_rect_get_top_left (const graphene_rect_t *r, graphene_point_t *p);\nsubroutine graphene_rect_get_top_left(r, p) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: r\n  type(c_ptr), value :: p\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_rect_get_top_right (const graphene_rect_t *r, graphene_point_t *p);\nsubroutine graphene_rect_get_top_right(r, p) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: r\n  type(c_ptr), value :: p\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_rect_get_bottom_right (const graphene_rect_t *r, graphene_point_t *p);\nsubroutine graphene_rect_get_bottom_right(r, p) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: r\n  type(c_ptr), value :: p\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_rect_get_bottom_left (const graphene_rect_t *r, graphene_point_t *p);\nsubroutine graphene_rect_get_bottom_left(r, p) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: r\n  type(c_ptr), value :: p\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!float graphene_rect_get_x (const graphene_rect_t *r);\nfunction graphene_rect_get_x(r) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_rect_get_x\n  type(c_ptr), value :: r\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!float graphene_rect_get_y (const graphene_rect_t *r);\nfunction graphene_rect_get_y(r) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_rect_get_y\n  type(c_ptr), value :: r\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!float graphene_rect_get_width (const graphene_rect_t *r);\nfunction graphene_rect_get_width(r) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_rect_get_width\n  type(c_ptr), value :: r\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!float graphene_rect_get_height (const graphene_rect_t *r);\nfunction graphene_rect_get_height(r) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_rect_get_height\n  type(c_ptr), value :: r\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_10\n!float graphene_rect_get_area (const graphene_rect_t *r);\nfunction graphene_rect_get_area(r) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_rect_get_area\n  type(c_ptr), value :: r\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_rect_union (const graphene_rect_t *a, const graphene_rect_t *b, graphene_rect_t *res);\nsubroutine graphene_rect_union(a, b, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!bool graphene_rect_intersection (const graphene_rect_t *a, const graphene_rect_t *b, graphene_rect_t *res);\nfunction graphene_rect_intersection(a, b, res) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_rect_intersection\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  type(c_ptr), value :: res\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!bool graphene_rect_contains_point (const graphene_rect_t *r, const graphene_point_t *p);\nfunction graphene_rect_contains_point(r, p) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_rect_contains_point\n  type(c_ptr), value :: r\n  type(c_ptr), value :: p\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!bool graphene_rect_contains_rect (const graphene_rect_t *a, const graphene_rect_t *b);\nfunction graphene_rect_contains_rect(a, b) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_rect_contains_rect\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_rect_t * graphene_rect_offset (graphene_rect_t *r, float d_x, float d_y);\nfunction graphene_rect_offset(r, d_x, d_y) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: graphene_rect_offset\n  type(c_ptr), value :: r\n  real(c_float), value :: d_x\n  real(c_float), value :: d_y\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_4\n!void graphene_rect_offset_r (const graphene_rect_t *r, float d_x, float d_y, graphene_rect_t *res);\nsubroutine graphene_rect_offset_r(r, d_x, d_y, res) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: r\n  real(c_float), value :: d_x\n  real(c_float), value :: d_y\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_rect_t * graphene_rect_inset (graphene_rect_t *r, float d_x, float d_y);\nfunction graphene_rect_inset(r, d_x, d_y) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: graphene_rect_inset\n  type(c_ptr), value :: r\n  real(c_float), value :: d_x\n  real(c_float), value :: d_y\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_4\n!void graphene_rect_inset_r (const graphene_rect_t *r, float d_x, float d_y, graphene_rect_t *res);\nsubroutine graphene_rect_inset_r(r, d_x, d_y, res) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: r\n  real(c_float), value :: d_x\n  real(c_float), value :: d_y\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_DEPRECATED_IN_1_4_FOR (graphene_rect_round)\n!graphene_rect_t * graphene_rect_round_to_pixel (graphene_rect_t *r);\nfunction graphene_rect_round_to_pixel(r) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_rect_round_to_pixel\n  type(c_ptr), value :: r\nend function\n\n! GRAPHENE_DEPRECATED_IN_1_10_FOR (graphene_rect_round_extents)\n!void graphene_rect_round (const graphene_rect_t *r, graphene_rect_t *res);\nsubroutine graphene_rect_round(r, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: r\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_10\n!void graphene_rect_round_extents (const graphene_rect_t *r, graphene_rect_t *res);\nsubroutine graphene_rect_round_extents(r, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: r\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_rect_interpolate (const graphene_rect_t *a, const graphene_rect_t *b, double factor, graphene_rect_t *res);\nsubroutine graphene_rect_interpolate(a, b, factor, res) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  real(c_double), value :: factor\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_4\n!void graphene_rect_expand (const graphene_rect_t *r, const graphene_point_t *p, graphene_rect_t *res);\nsubroutine graphene_rect_expand(r, p, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: r\n  type(c_ptr), value :: p\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_4\n!const graphene_rect_t * graphene_rect_zero (void);\nfunction graphene_rect_zero() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_rect_zero\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_10\n!void graphene_rect_scale (const graphene_rect_t *r, float s_h, float s_v, graphene_rect_t *res);\nsubroutine graphene_rect_scale(r, s_h, s_v, res) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: r\n  real(c_float), value :: s_h\n  real(c_float), value :: s_v\n  type(c_ptr), value :: res\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/graphene-1.0/graphene-simd4f.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/graphene-1.0/graphene-simd4x4f.h\n!--------------------------------------------------\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_simd4x4f_transpose_in_place (graphene_simd4x4f_t *s);\nsubroutine graphene_simd4x4f_transpose_in_place(s) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: s\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/graphene-1.0/graphene-size.h\n!--------------------------------------------------\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_size_t * graphene_size_alloc (void);\nfunction graphene_size_alloc() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_size_alloc\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_size_free (graphene_size_t *s);\nsubroutine graphene_size_free(s) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: s\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_size_t * graphene_size_init (graphene_size_t *s, float width, float height);\nfunction graphene_size_init(s, width, height) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: graphene_size_init\n  type(c_ptr), value :: s\n  real(c_float), value :: width\n  real(c_float), value :: height\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_size_t * graphene_size_init_from_size (graphene_size_t *s, const graphene_size_t *src);\nfunction graphene_size_init_from_size(s, src) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_size_init_from_size\n  type(c_ptr), value :: s\n  type(c_ptr), value :: src\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!bool graphene_size_equal (const graphene_size_t *a, const graphene_size_t *b);\nfunction graphene_size_equal(a, b) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_size_equal\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_size_scale (const graphene_size_t *s, float factor, graphene_size_t *res);\nsubroutine graphene_size_scale(s, factor, res) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: s\n  real(c_float), value :: factor\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_size_interpolate (const graphene_size_t *a, const graphene_size_t *b, double factor, graphene_size_t *res);\nsubroutine graphene_size_interpolate(a, b, factor, res) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  real(c_double), value :: factor\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!const graphene_size_t * graphene_size_zero (void);\nfunction graphene_size_zero() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_size_zero\nend function\n\n!--------------------------------------------------\n! /usr/include/graphene-1.0/graphene-sphere.h\n!--------------------------------------------------\n! GRAPHENE_AVAILABLE_IN_1_2\n!graphene_sphere_t * graphene_sphere_alloc (void);\nfunction graphene_sphere_alloc() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_sphere_alloc\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_sphere_free (graphene_sphere_t *s);\nsubroutine graphene_sphere_free(s) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: s\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!graphene_sphere_t * graphene_sphere_init (graphene_sphere_t *s, const graphene_point3d_t *center, float radius);\nfunction graphene_sphere_init(s, center, radius) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: graphene_sphere_init\n  type(c_ptr), value :: s\n  type(c_ptr), value :: center\n  real(c_float), value :: radius\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!graphene_sphere_t * graphene_sphere_init_from_points (graphene_sphere_t *s, unsigned int n_points, const graphene_point3d_t *points, const graphene_point3d_t *center);\nfunction graphene_sphere_init_from_points(s, n_points, points, center) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: graphene_sphere_init_from_points\n  type(c_ptr), value :: s\n  integer(c_int), value :: n_points\n  type(c_ptr), value :: points\n  type(c_ptr), value :: center\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!graphene_sphere_t * graphene_sphere_init_from_vectors (graphene_sphere_t *s, unsigned int n_vectors, const graphene_vec3_t *vectors, const graphene_point3d_t *center);\nfunction graphene_sphere_init_from_vectors(s, n_vectors, vectors, center)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: graphene_sphere_init_from_vectors\n  type(c_ptr), value :: s\n  integer(c_int), value :: n_vectors\n  type(c_ptr), value :: vectors\n  type(c_ptr), value :: center\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_sphere_get_center (const graphene_sphere_t *s, graphene_point3d_t *center);\nsubroutine graphene_sphere_get_center(s, center) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: s\n  type(c_ptr), value :: center\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!float graphene_sphere_get_radius (const graphene_sphere_t *s);\nfunction graphene_sphere_get_radius(s) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_sphere_get_radius\n  type(c_ptr), value :: s\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!bool graphene_sphere_is_empty (const graphene_sphere_t *s);\nfunction graphene_sphere_is_empty(s) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_sphere_is_empty\n  type(c_ptr), value :: s\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!bool graphene_sphere_equal (const graphene_sphere_t *a, const graphene_sphere_t *b);\nfunction graphene_sphere_equal(a, b) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_sphere_equal\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!bool graphene_sphere_contains_point (const graphene_sphere_t *s, const graphene_point3d_t *point);\nfunction graphene_sphere_contains_point(s, point) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_sphere_contains_point\n  type(c_ptr), value :: s\n  type(c_ptr), value :: point\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!float graphene_sphere_distance (const graphene_sphere_t *s, const graphene_point3d_t *point);\nfunction graphene_sphere_distance(s, point) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_sphere_distance\n  type(c_ptr), value :: s\n  type(c_ptr), value :: point\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_sphere_get_bounding_box (const graphene_sphere_t *s, graphene_box_t *box);\nsubroutine graphene_sphere_get_bounding_box(s, box) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: s\n  type(c_ptr), value :: box\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_sphere_translate (const graphene_sphere_t *s, const graphene_point3d_t *point, graphene_sphere_t *res);\nsubroutine graphene_sphere_translate(s, point, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: s\n  type(c_ptr), value :: point\n  type(c_ptr), value :: res\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/graphene-1.0/graphene-triangle.h\n!--------------------------------------------------\n! GRAPHENE_AVAILABLE_IN_1_2\n!graphene_triangle_t * graphene_triangle_alloc (void);\nfunction graphene_triangle_alloc() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_triangle_alloc\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_triangle_free (graphene_triangle_t *t);\nsubroutine graphene_triangle_free(t) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: t\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!graphene_triangle_t * graphene_triangle_init_from_point3d (graphene_triangle_t *t, const graphene_point3d_t *a, const graphene_point3d_t *b, const graphene_point3d_t *c);\nfunction graphene_triangle_init_from_point3d(t, a, b, c) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_triangle_init_from_point3d\n  type(c_ptr), value :: t\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  type(c_ptr), value :: c\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!graphene_triangle_t * graphene_triangle_init_from_vec3 (graphene_triangle_t *t, const graphene_vec3_t *a, const graphene_vec3_t *b, const graphene_vec3_t *c);\nfunction graphene_triangle_init_from_vec3(t, a, b, c) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_triangle_init_from_vec3\n  type(c_ptr), value :: t\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  type(c_ptr), value :: c\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_10\n!graphene_triangle_t * graphene_triangle_init_from_float (graphene_triangle_t *t, const float *a, const float *b, const float *c);\nfunction graphene_triangle_init_from_float(t, a, b, c) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_triangle_init_from_float\n  type(c_ptr), value :: t\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  type(c_ptr), value :: c\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_triangle_get_points (const graphene_triangle_t *t, graphene_point3d_t *a, graphene_point3d_t *b, graphene_point3d_t *c);\nsubroutine graphene_triangle_get_points(t, a, b, c) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: t\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  type(c_ptr), value :: c\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_triangle_get_vertices (const graphene_triangle_t *t, graphene_vec3_t *a, graphene_vec3_t *b, graphene_vec3_t *c);\nsubroutine graphene_triangle_get_vertices(t, a, b, c) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: t\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  type(c_ptr), value :: c\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!float graphene_triangle_get_area (const graphene_triangle_t *t);\nfunction graphene_triangle_get_area(t) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_triangle_get_area\n  type(c_ptr), value :: t\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_triangle_get_midpoint (const graphene_triangle_t *t, graphene_point3d_t *res);\nsubroutine graphene_triangle_get_midpoint(t, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: t\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_triangle_get_normal (const graphene_triangle_t *t, graphene_vec3_t *res);\nsubroutine graphene_triangle_get_normal(t, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: t\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_triangle_get_plane (const graphene_triangle_t *t, graphene_plane_t *res);\nsubroutine graphene_triangle_get_plane(t, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: t\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_triangle_get_bounding_box (const graphene_triangle_t *t, graphene_box_t *res);\nsubroutine graphene_triangle_get_bounding_box(t, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: t\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!bool graphene_triangle_get_barycoords (const graphene_triangle_t *t, const graphene_point3d_t *p, graphene_vec2_t *res);\nfunction graphene_triangle_get_barycoords(t, p, res) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_triangle_get_barycoords\n  type(c_ptr), value :: t\n  type(c_ptr), value :: p\n  type(c_ptr), value :: res\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_10\n!bool graphene_triangle_get_uv (const graphene_triangle_t *t, const graphene_point3d_t *p, const graphene_vec2_t *uv_a, const graphene_vec2_t *uv_b, const graphene_vec2_t *uv_c, graphene_vec2_t *res);\nfunction graphene_triangle_get_uv(t, p, uv_a, uv_b, uv_c, res) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_triangle_get_uv\n  type(c_ptr), value :: t\n  type(c_ptr), value :: p\n  type(c_ptr), value :: uv_a\n  type(c_ptr), value :: uv_b\n  type(c_ptr), value :: uv_c\n  type(c_ptr), value :: res\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!bool graphene_triangle_contains_point (const graphene_triangle_t *t, const graphene_point3d_t *p);\nfunction graphene_triangle_contains_point(t, p) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_triangle_contains_point\n  type(c_ptr), value :: t\n  type(c_ptr), value :: p\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!bool graphene_triangle_equal (const graphene_triangle_t *a, const graphene_triangle_t *b);\nfunction graphene_triangle_equal(a, b) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_triangle_equal\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\nend function\n\n!--------------------------------------------------\n! /usr/include/graphene-1.0/graphene-types.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/graphene-1.0/graphene-vec2.h\n!--------------------------------------------------\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_vec2_t * graphene_vec2_alloc (void);\nfunction graphene_vec2_alloc() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_vec2_alloc\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_vec2_free (graphene_vec2_t *v);\nsubroutine graphene_vec2_free(v) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: v\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_vec2_t * graphene_vec2_init (graphene_vec2_t *v, float x, float y);\nfunction graphene_vec2_init(v, x, y) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: graphene_vec2_init\n  type(c_ptr), value :: v\n  real(c_float), value :: x\n  real(c_float), value :: y\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_vec2_t * graphene_vec2_init_from_vec2 (graphene_vec2_t *v, const graphene_vec2_t *src);\nfunction graphene_vec2_init_from_vec2(v, src) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_vec2_init_from_vec2\n  type(c_ptr), value :: v\n  type(c_ptr), value :: src\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_vec2_t * graphene_vec2_init_from_float (graphene_vec2_t *v, const float *src);\nfunction graphene_vec2_init_from_float(v, src) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_vec2_init_from_float\n  type(c_ptr), value :: v\n  type(c_ptr), value :: src\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_vec2_to_float (const graphene_vec2_t *v, float *dest);\nsubroutine graphene_vec2_to_float(v, dest) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: v\n  type(c_ptr), value :: dest\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_vec2_add (const graphene_vec2_t *a, const graphene_vec2_t *b, graphene_vec2_t *res);\nsubroutine graphene_vec2_add(a, b, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_vec2_subtract (const graphene_vec2_t *a, const graphene_vec2_t *b, graphene_vec2_t *res);\nsubroutine graphene_vec2_subtract(a, b, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_vec2_multiply (const graphene_vec2_t *a, const graphene_vec2_t *b, graphene_vec2_t *res);\nsubroutine graphene_vec2_multiply(a, b, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_vec2_divide (const graphene_vec2_t *a, const graphene_vec2_t *b, graphene_vec2_t *res);\nsubroutine graphene_vec2_divide(a, b, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!float graphene_vec2_dot (const graphene_vec2_t *a, const graphene_vec2_t *b);\nfunction graphene_vec2_dot(a, b) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_vec2_dot\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!float graphene_vec2_length (const graphene_vec2_t *v);\nfunction graphene_vec2_length(v) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_vec2_length\n  type(c_ptr), value :: v\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_vec2_normalize (const graphene_vec2_t *v, graphene_vec2_t *res);\nsubroutine graphene_vec2_normalize(v, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: v\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_vec2_scale (const graphene_vec2_t *v, float factor, graphene_vec2_t *res);\nsubroutine graphene_vec2_scale(v, factor, res) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: v\n  real(c_float), value :: factor\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_vec2_negate (const graphene_vec2_t *v, graphene_vec2_t *res);\nsubroutine graphene_vec2_negate(v, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: v\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!bool graphene_vec2_near (const graphene_vec2_t *v1, const graphene_vec2_t *v2, float epsilon);\nfunction graphene_vec2_near(v1, v2, epsilon) bind(c)\n  import :: c_int, c_ptr, c_float\n  implicit none\n  integer(c_int) :: graphene_vec2_near\n  type(c_ptr), value :: v1\n  type(c_ptr), value :: v2\n  real(c_float), value :: epsilon\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!bool graphene_vec2_equal (const graphene_vec2_t *v1, const graphene_vec2_t *v2);\nfunction graphene_vec2_equal(v1, v2) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_vec2_equal\n  type(c_ptr), value :: v1\n  type(c_ptr), value :: v2\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_vec2_min (const graphene_vec2_t *a, const graphene_vec2_t *b, graphene_vec2_t *res);\nsubroutine graphene_vec2_min(a, b, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_vec2_max (const graphene_vec2_t *a, const graphene_vec2_t *b, graphene_vec2_t *res);\nsubroutine graphene_vec2_max(a, b, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_10\n!void graphene_vec2_interpolate (const graphene_vec2_t *v1, const graphene_vec2_t *v2, double factor, graphene_vec2_t *res);\nsubroutine graphene_vec2_interpolate(v1, v2, factor, res) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: v1\n  type(c_ptr), value :: v2\n  real(c_double), value :: factor\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!float graphene_vec2_get_x (const graphene_vec2_t *v);\nfunction graphene_vec2_get_x(v) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_vec2_get_x\n  type(c_ptr), value :: v\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!float graphene_vec2_get_y (const graphene_vec2_t *v);\nfunction graphene_vec2_get_y(v) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_vec2_get_y\n  type(c_ptr), value :: v\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!const graphene_vec2_t * graphene_vec2_zero (void);\nfunction graphene_vec2_zero() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_vec2_zero\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!const graphene_vec2_t * graphene_vec2_one (void);\nfunction graphene_vec2_one() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_vec2_one\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!const graphene_vec2_t * graphene_vec2_x_axis (void);\nfunction graphene_vec2_x_axis() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_vec2_x_axis\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!const graphene_vec2_t * graphene_vec2_y_axis (void);\nfunction graphene_vec2_y_axis() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_vec2_y_axis\nend function\n\n!--------------------------------------------------\n! /usr/include/graphene-1.0/graphene-vec3.h\n!--------------------------------------------------\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_vec3_t * graphene_vec3_alloc (void);\nfunction graphene_vec3_alloc() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_vec3_alloc\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_vec3_free (graphene_vec3_t *v);\nsubroutine graphene_vec3_free(v) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: v\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_vec3_t * graphene_vec3_init (graphene_vec3_t *v, float x, float y, float z);\nfunction graphene_vec3_init(v, x, y, z) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: graphene_vec3_init\n  type(c_ptr), value :: v\n  real(c_float), value :: x\n  real(c_float), value :: y\n  real(c_float), value :: z\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_vec3_t * graphene_vec3_init_from_vec3 (graphene_vec3_t *v, const graphene_vec3_t *src);\nfunction graphene_vec3_init_from_vec3(v, src) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_vec3_init_from_vec3\n  type(c_ptr), value :: v\n  type(c_ptr), value :: src\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_vec3_t * graphene_vec3_init_from_float (graphene_vec3_t *v, const float *src);\nfunction graphene_vec3_init_from_float(v, src) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_vec3_init_from_float\n  type(c_ptr), value :: v\n  type(c_ptr), value :: src\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_vec3_to_float (const graphene_vec3_t *v, float *dest);\nsubroutine graphene_vec3_to_float(v, dest) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: v\n  type(c_ptr), value :: dest\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_vec3_add (const graphene_vec3_t *a, const graphene_vec3_t *b, graphene_vec3_t *res);\nsubroutine graphene_vec3_add(a, b, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_vec3_subtract (const graphene_vec3_t *a, const graphene_vec3_t *b, graphene_vec3_t *res);\nsubroutine graphene_vec3_subtract(a, b, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_vec3_multiply (const graphene_vec3_t *a, const graphene_vec3_t *b, graphene_vec3_t *res);\nsubroutine graphene_vec3_multiply(a, b, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_vec3_divide (const graphene_vec3_t *a, const graphene_vec3_t *b, graphene_vec3_t *res);\nsubroutine graphene_vec3_divide(a, b, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_vec3_cross (const graphene_vec3_t *a, const graphene_vec3_t *b, graphene_vec3_t *res);\nsubroutine graphene_vec3_cross(a, b, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!float graphene_vec3_dot (const graphene_vec3_t *a, const graphene_vec3_t *b);\nfunction graphene_vec3_dot(a, b) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_vec3_dot\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!float graphene_vec3_length (const graphene_vec3_t *v);\nfunction graphene_vec3_length(v) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_vec3_length\n  type(c_ptr), value :: v\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_vec3_normalize (const graphene_vec3_t *v, graphene_vec3_t *res);\nsubroutine graphene_vec3_normalize(v, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: v\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_vec3_scale (const graphene_vec3_t *v, float factor, graphene_vec3_t *res);\nsubroutine graphene_vec3_scale(v, factor, res) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: v\n  real(c_float), value :: factor\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_vec3_negate (const graphene_vec3_t *v, graphene_vec3_t *res);\nsubroutine graphene_vec3_negate(v, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: v\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!bool graphene_vec3_equal (const graphene_vec3_t *v1, const graphene_vec3_t *v2);\nfunction graphene_vec3_equal(v1, v2) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_vec3_equal\n  type(c_ptr), value :: v1\n  type(c_ptr), value :: v2\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!bool graphene_vec3_near (const graphene_vec3_t *v1, const graphene_vec3_t *v2, float epsilon);\nfunction graphene_vec3_near(v1, v2, epsilon) bind(c)\n  import :: c_int, c_ptr, c_float\n  implicit none\n  integer(c_int) :: graphene_vec3_near\n  type(c_ptr), value :: v1\n  type(c_ptr), value :: v2\n  real(c_float), value :: epsilon\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_vec3_min (const graphene_vec3_t *a, const graphene_vec3_t *b, graphene_vec3_t *res);\nsubroutine graphene_vec3_min(a, b, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_vec3_max (const graphene_vec3_t *a, const graphene_vec3_t *b, graphene_vec3_t *res);\nsubroutine graphene_vec3_max(a, b, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_10\n!void graphene_vec3_interpolate (const graphene_vec3_t *v1, const graphene_vec3_t *v2, double factor, graphene_vec3_t *res);\nsubroutine graphene_vec3_interpolate(v1, v2, factor, res) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: v1\n  type(c_ptr), value :: v2\n  real(c_double), value :: factor\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!float graphene_vec3_get_x (const graphene_vec3_t *v);\nfunction graphene_vec3_get_x(v) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_vec3_get_x\n  type(c_ptr), value :: v\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!float graphene_vec3_get_y (const graphene_vec3_t *v);\nfunction graphene_vec3_get_y(v) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_vec3_get_y\n  type(c_ptr), value :: v\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!float graphene_vec3_get_z (const graphene_vec3_t *v);\nfunction graphene_vec3_get_z(v) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_vec3_get_z\n  type(c_ptr), value :: v\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_vec3_get_xy (const graphene_vec3_t *v, graphene_vec2_t *res);\nsubroutine graphene_vec3_get_xy(v, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: v\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_vec3_get_xy0 (const graphene_vec3_t *v, graphene_vec3_t *res);\nsubroutine graphene_vec3_get_xy0(v, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: v\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_vec3_get_xyz0 (const graphene_vec3_t *v, graphene_vec4_t *res);\nsubroutine graphene_vec3_get_xyz0(v, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: v\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_vec3_get_xyz1 (const graphene_vec3_t *v, graphene_vec4_t *res);\nsubroutine graphene_vec3_get_xyz1(v, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: v\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_vec3_get_xyzw (const graphene_vec3_t *v, float w, graphene_vec4_t *res);\nsubroutine graphene_vec3_get_xyzw(v, w, res) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: v\n  real(c_float), value :: w\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!const graphene_vec3_t * graphene_vec3_zero (void);\nfunction graphene_vec3_zero() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_vec3_zero\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!const graphene_vec3_t * graphene_vec3_one (void);\nfunction graphene_vec3_one() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_vec3_one\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!const graphene_vec3_t * graphene_vec3_x_axis (void);\nfunction graphene_vec3_x_axis() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_vec3_x_axis\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!const graphene_vec3_t * graphene_vec3_y_axis (void);\nfunction graphene_vec3_y_axis() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_vec3_y_axis\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!const graphene_vec3_t * graphene_vec3_z_axis (void);\nfunction graphene_vec3_z_axis() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_vec3_z_axis\nend function\n\n!--------------------------------------------------\n! /usr/include/graphene-1.0/graphene-vec4.h\n!--------------------------------------------------\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_vec4_t * graphene_vec4_alloc (void);\nfunction graphene_vec4_alloc() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_vec4_alloc\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_vec4_free (graphene_vec4_t *v);\nsubroutine graphene_vec4_free(v) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: v\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_vec4_t * graphene_vec4_init (graphene_vec4_t *v, float x, float y, float z, float w);\nfunction graphene_vec4_init(v, x, y, z, w) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: graphene_vec4_init\n  type(c_ptr), value :: v\n  real(c_float), value :: x\n  real(c_float), value :: y\n  real(c_float), value :: z\n  real(c_float), value :: w\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_vec4_t * graphene_vec4_init_from_vec4 (graphene_vec4_t *v, const graphene_vec4_t *src);\nfunction graphene_vec4_init_from_vec4(v, src) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_vec4_init_from_vec4\n  type(c_ptr), value :: v\n  type(c_ptr), value :: src\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_vec4_t * graphene_vec4_init_from_vec3 (graphene_vec4_t *v, const graphene_vec3_t *src, float w);\nfunction graphene_vec4_init_from_vec3(v, src, w) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: graphene_vec4_init_from_vec3\n  type(c_ptr), value :: v\n  type(c_ptr), value :: src\n  real(c_float), value :: w\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_vec4_t * graphene_vec4_init_from_vec2 (graphene_vec4_t *v, const graphene_vec2_t *src, float z, float w);\nfunction graphene_vec4_init_from_vec2(v, src, z, w) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: graphene_vec4_init_from_vec2\n  type(c_ptr), value :: v\n  type(c_ptr), value :: src\n  real(c_float), value :: z\n  real(c_float), value :: w\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!graphene_vec4_t * graphene_vec4_init_from_float (graphene_vec4_t *v, const float *src);\nfunction graphene_vec4_init_from_float(v, src) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_vec4_init_from_float\n  type(c_ptr), value :: v\n  type(c_ptr), value :: src\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_vec4_to_float (const graphene_vec4_t *v, float *dest);\nsubroutine graphene_vec4_to_float(v, dest) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: v\n  type(c_ptr), value :: dest\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_vec4_add (const graphene_vec4_t *a, const graphene_vec4_t *b, graphene_vec4_t *res);\nsubroutine graphene_vec4_add(a, b, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_vec4_subtract (const graphene_vec4_t *a, const graphene_vec4_t *b, graphene_vec4_t *res);\nsubroutine graphene_vec4_subtract(a, b, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_vec4_multiply (const graphene_vec4_t *a, const graphene_vec4_t *b, graphene_vec4_t *res);\nsubroutine graphene_vec4_multiply(a, b, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_vec4_divide (const graphene_vec4_t *a, const graphene_vec4_t *b, graphene_vec4_t *res);\nsubroutine graphene_vec4_divide(a, b, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!float graphene_vec4_dot (const graphene_vec4_t *a, const graphene_vec4_t *b);\nfunction graphene_vec4_dot(a, b) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_vec4_dot\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!float graphene_vec4_length (const graphene_vec4_t *v);\nfunction graphene_vec4_length(v) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_vec4_length\n  type(c_ptr), value :: v\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_vec4_normalize (const graphene_vec4_t *v, graphene_vec4_t *res);\nsubroutine graphene_vec4_normalize(v, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: v\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_vec4_scale (const graphene_vec4_t *v, float factor, graphene_vec4_t *res);\nsubroutine graphene_vec4_scale(v, factor, res) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: v\n  real(c_float), value :: factor\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!void graphene_vec4_negate (const graphene_vec4_t *v, graphene_vec4_t *res);\nsubroutine graphene_vec4_negate(v, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: v\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!bool graphene_vec4_equal (const graphene_vec4_t *v1, const graphene_vec4_t *v2);\nfunction graphene_vec4_equal(v1, v2) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: graphene_vec4_equal\n  type(c_ptr), value :: v1\n  type(c_ptr), value :: v2\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_2\n!bool graphene_vec4_near (const graphene_vec4_t *v1, const graphene_vec4_t *v2, float epsilon);\nfunction graphene_vec4_near(v1, v2, epsilon) bind(c)\n  import :: c_int, c_ptr, c_float\n  implicit none\n  integer(c_int) :: graphene_vec4_near\n  type(c_ptr), value :: v1\n  type(c_ptr), value :: v2\n  real(c_float), value :: epsilon\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_vec4_min (const graphene_vec4_t *a, const graphene_vec4_t *b, graphene_vec4_t *res);\nsubroutine graphene_vec4_min(a, b, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_vec4_max (const graphene_vec4_t *a, const graphene_vec4_t *b, graphene_vec4_t *res);\nsubroutine graphene_vec4_max(a, b, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_10\n!void graphene_vec4_interpolate (const graphene_vec4_t *v1, const graphene_vec4_t *v2, double factor, graphene_vec4_t *res);\nsubroutine graphene_vec4_interpolate(v1, v2, factor, res) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: v1\n  type(c_ptr), value :: v2\n  real(c_double), value :: factor\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!float graphene_vec4_get_x (const graphene_vec4_t *v);\nfunction graphene_vec4_get_x(v) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_vec4_get_x\n  type(c_ptr), value :: v\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!float graphene_vec4_get_y (const graphene_vec4_t *v);\nfunction graphene_vec4_get_y(v) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_vec4_get_y\n  type(c_ptr), value :: v\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!float graphene_vec4_get_z (const graphene_vec4_t *v);\nfunction graphene_vec4_get_z(v) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_vec4_get_z\n  type(c_ptr), value :: v\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!float graphene_vec4_get_w (const graphene_vec4_t *v);\nfunction graphene_vec4_get_w(v) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: graphene_vec4_get_w\n  type(c_ptr), value :: v\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_vec4_get_xy (const graphene_vec4_t *v, graphene_vec2_t *res);\nsubroutine graphene_vec4_get_xy(v, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: v\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!void graphene_vec4_get_xyz (const graphene_vec4_t *v, graphene_vec3_t *res);\nsubroutine graphene_vec4_get_xyz(v, res) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: v\n  type(c_ptr), value :: res\nend subroutine\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!const graphene_vec4_t * graphene_vec4_zero (void);\nfunction graphene_vec4_zero() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_vec4_zero\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!const graphene_vec4_t * graphene_vec4_one (void);\nfunction graphene_vec4_one() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_vec4_one\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!const graphene_vec4_t * graphene_vec4_x_axis (void);\nfunction graphene_vec4_x_axis() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_vec4_x_axis\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!const graphene_vec4_t * graphene_vec4_y_axis (void);\nfunction graphene_vec4_y_axis() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_vec4_y_axis\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!const graphene_vec4_t * graphene_vec4_z_axis (void);\nfunction graphene_vec4_z_axis() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_vec4_z_axis\nend function\n\n! GRAPHENE_AVAILABLE_IN_1_0\n!const graphene_vec4_t * graphene_vec4_w_axis (void);\nfunction graphene_vec4_w_axis() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: graphene_vec4_w_axis\nend function\n\n!--------------------------------------------------\n! /usr/include/graphene-1.0/graphene-version-macros.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/graphene-1.0/graphene-version.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/graphene-1.0/graphene.h\n!--------------------------------------------------\nend interface\nend module graphene\n"
  },
  {
    "path": "src/gsk-auto.f90",
    "content": "! Do not modify this file automatically generated by cfwrapper.py using:\n! gtk-fortran 4.9.0, GTK 4.20.2, GLib 2.86.1, Fedora 43 x86_64\n! This file is part of the gtk-fortran library, distributed under\n! GNU General Public License version 3.\n\nmodule gsk\nuse, intrinsic :: iso_c_binding\nimplicit none\ninterface\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gsk/gsk.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gsk/gskcairorenderer.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gsk_cairo_renderer_get_type (void) ;\nfunction gsk_cairo_renderer_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_cairo_renderer_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderer * gsk_cairo_renderer_new (void);\nfunction gsk_cairo_renderer_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_cairo_renderer_new\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gsk/gskcomponenttransfer.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_4_20\n!GType gsk_component_transfer_get_type (void) ;\nfunction gsk_component_transfer_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_component_transfer_get_type\nend function\n\n! GDK_AVAILABLE_IN_4_20\n!GskComponentTransfer * gsk_component_transfer_new_identity (void);\nfunction gsk_component_transfer_new_identity() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_component_transfer_new_identity\nend function\n\n! GDK_AVAILABLE_IN_4_20\n!GskComponentTransfer * gsk_component_transfer_new_levels (float n);\nfunction gsk_component_transfer_new_levels(n) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: gsk_component_transfer_new_levels\n  real(c_float), value :: n\nend function\n\n! GDK_AVAILABLE_IN_4_20\n!GskComponentTransfer * gsk_component_transfer_new_linear (float m, float b);\nfunction gsk_component_transfer_new_linear(m, b) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: gsk_component_transfer_new_linear\n  real(c_float), value :: m\n  real(c_float), value :: b\nend function\n\n! GDK_AVAILABLE_IN_4_20\n!GskComponentTransfer * gsk_component_transfer_new_gamma (float amp, float exp, float ofs);\nfunction gsk_component_transfer_new_gamma(amp, exp, ofs) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: gsk_component_transfer_new_gamma\n  real(c_float), value :: amp\n  real(c_float), value :: exp\n  real(c_float), value :: ofs\nend function\n\n! GDK_AVAILABLE_IN_4_20\n!GskComponentTransfer * gsk_component_transfer_new_discrete (guint n, float *values);\nfunction gsk_component_transfer_new_discrete(n, values) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gsk_component_transfer_new_discrete\n  integer(c_int), value :: n\n  type(c_ptr), value :: values\nend function\n\n! GDK_AVAILABLE_IN_4_20\n!GskComponentTransfer * gsk_component_transfer_new_table (guint n, float *values);\nfunction gsk_component_transfer_new_table(n, values) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gsk_component_transfer_new_table\n  integer(c_int), value :: n\n  type(c_ptr), value :: values\nend function\n\n! GDK_AVAILABLE_IN_4_20\n!GskComponentTransfer * gsk_component_transfer_copy (const GskComponentTransfer *other);\nfunction gsk_component_transfer_copy(other) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_component_transfer_copy\n  type(c_ptr), value :: other\nend function\n\n! GDK_AVAILABLE_IN_4_20\n!void gsk_component_transfer_free (GskComponentTransfer *self);\nsubroutine gsk_component_transfer_free(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n! GDK_AVAILABLE_IN_4_20\n!gboolean gsk_component_transfer_equal (gconstpointer self, gconstpointer other);\nfunction gsk_component_transfer_equal(self, other) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gsk_component_transfer_equal\n  type(c_ptr), value :: self\n  type(c_ptr), value :: other\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gsk/gskenums.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gsk/gskenumtypes.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gsk/gskglshader.h\n!--------------------------------------------------\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!GskGLShader * gsk_gl_shader_new_from_bytes (GBytes *sourcecode);\nfunction gsk_gl_shader_new_from_bytes(sourcecode) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_gl_shader_new_from_bytes\n  type(c_ptr), value :: sourcecode\nend function\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!GskGLShader * gsk_gl_shader_new_from_resource (const char *resource_path);\nfunction gsk_gl_shader_new_from_resource(resource_path) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gsk_gl_shader_new_from_resource\n  character(kind=c_char), dimension(*) :: resource_path\nend function\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!gboolean gsk_gl_shader_compile (GskGLShader *shader, GskRenderer *renderer, GError **error);\nfunction gsk_gl_shader_compile(shader, renderer, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gsk_gl_shader_compile\n  type(c_ptr), value :: shader\n  type(c_ptr), value :: renderer\n  type(c_ptr), value :: error\nend function\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!GBytes * gsk_gl_shader_get_source (GskGLShader *shader);\nfunction gsk_gl_shader_get_source(shader) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_gl_shader_get_source\n  type(c_ptr), value :: shader\nend function\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!const char * gsk_gl_shader_get_resource (GskGLShader *shader);\nfunction gsk_gl_shader_get_resource(shader) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_gl_shader_get_resource\n  type(c_ptr), value :: shader\nend function\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!int gsk_gl_shader_get_n_textures (GskGLShader *shader);\nfunction gsk_gl_shader_get_n_textures(shader) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gsk_gl_shader_get_n_textures\n  type(c_ptr), value :: shader\nend function\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!int gsk_gl_shader_get_n_uniforms (GskGLShader *shader);\nfunction gsk_gl_shader_get_n_uniforms(shader) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gsk_gl_shader_get_n_uniforms\n  type(c_ptr), value :: shader\nend function\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!const char * gsk_gl_shader_get_uniform_name (GskGLShader *shader, int idx);\nfunction gsk_gl_shader_get_uniform_name(shader, idx) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gsk_gl_shader_get_uniform_name\n  type(c_ptr), value :: shader\n  integer(c_int), value :: idx\nend function\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!int gsk_gl_shader_find_uniform_by_name (GskGLShader *shader, const char *name);\nfunction gsk_gl_shader_find_uniform_by_name(shader, name) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gsk_gl_shader_find_uniform_by_name\n  type(c_ptr), value :: shader\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!GskGLUniformType gsk_gl_shader_get_uniform_type (GskGLShader *shader, int idx);\nfunction gsk_gl_shader_get_uniform_type(shader, idx) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gsk_gl_shader_get_uniform_type\n  type(c_ptr), value :: shader\n  integer(c_int), value :: idx\nend function\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!int gsk_gl_shader_get_uniform_offset (GskGLShader *shader, int idx);\nfunction gsk_gl_shader_get_uniform_offset(shader, idx) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gsk_gl_shader_get_uniform_offset\n  type(c_ptr), value :: shader\n  integer(c_int), value :: idx\nend function\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!gsize gsk_gl_shader_get_args_size (GskGLShader *shader);\nfunction gsk_gl_shader_get_args_size(shader) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: gsk_gl_shader_get_args_size\n  type(c_ptr), value :: shader\nend function\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!GBytes * gsk_gl_shader_format_args_va (GskGLShader *shader, va_list uniforms);\nfunction gsk_gl_shader_format_args_va(shader, uniforms) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_gl_shader_format_args_va\n  type(c_ptr), value :: shader\n  type(c_ptr), value :: uniforms\nend function\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!float gsk_gl_shader_get_arg_float (GskGLShader *shader, GBytes *args, int idx);\nfunction gsk_gl_shader_get_arg_float(shader, args, idx) bind(c)\n  import :: c_float, c_ptr, c_int\n  implicit none\n  real(c_float) :: gsk_gl_shader_get_arg_float\n  type(c_ptr), value :: shader\n  type(c_ptr), value :: args\n  integer(c_int), value :: idx\nend function\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!gint32 gsk_gl_shader_get_arg_int (GskGLShader *shader, GBytes *args, int idx);\nfunction gsk_gl_shader_get_arg_int(shader, args, idx) bind(c)\n  import :: c_int32_t, c_ptr, c_int\n  implicit none\n  integer(c_int32_t) :: gsk_gl_shader_get_arg_int\n  type(c_ptr), value :: shader\n  type(c_ptr), value :: args\n  integer(c_int), value :: idx\nend function\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!guint32 gsk_gl_shader_get_arg_uint (GskGLShader *shader, GBytes *args, int idx);\nfunction gsk_gl_shader_get_arg_uint(shader, args, idx) bind(c)\n  import :: c_int32_t, c_ptr, c_int\n  implicit none\n  integer(c_int32_t) :: gsk_gl_shader_get_arg_uint\n  type(c_ptr), value :: shader\n  type(c_ptr), value :: args\n  integer(c_int), value :: idx\nend function\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!gboolean gsk_gl_shader_get_arg_bool (GskGLShader *shader, GBytes *args, int idx);\nfunction gsk_gl_shader_get_arg_bool(shader, args, idx) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gsk_gl_shader_get_arg_bool\n  type(c_ptr), value :: shader\n  type(c_ptr), value :: args\n  integer(c_int), value :: idx\nend function\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!void gsk_gl_shader_get_arg_vec2 (GskGLShader *shader, GBytes *args, int idx, graphene_vec2_t *out_value);\nsubroutine gsk_gl_shader_get_arg_vec2(shader, args, idx, out_value) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: shader\n  type(c_ptr), value :: args\n  integer(c_int), value :: idx\n  type(c_ptr), value :: out_value\nend subroutine\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!void gsk_gl_shader_get_arg_vec3 (GskGLShader *shader, GBytes *args, int idx, graphene_vec3_t *out_value);\nsubroutine gsk_gl_shader_get_arg_vec3(shader, args, idx, out_value) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: shader\n  type(c_ptr), value :: args\n  integer(c_int), value :: idx\n  type(c_ptr), value :: out_value\nend subroutine\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!void gsk_gl_shader_get_arg_vec4 (GskGLShader *shader, GBytes *args, int idx, graphene_vec4_t *out_value);\nsubroutine gsk_gl_shader_get_arg_vec4(shader, args, idx, out_value) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: shader\n  type(c_ptr), value :: args\n  integer(c_int), value :: idx\n  type(c_ptr), value :: out_value\nend subroutine\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!GType gsk_shader_args_builder_get_type (void) ;\nfunction gsk_shader_args_builder_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_shader_args_builder_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!GskShaderArgsBuilder *gsk_shader_args_builder_new (GskGLShader *shader, GBytes *initial_values);\nfunction gsk_shader_args_builder_new(shader, initial_values) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_shader_args_builder_new\n  type(c_ptr), value :: shader\n  type(c_ptr), value :: initial_values\nend function\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!GBytes * gsk_shader_args_builder_to_args (GskShaderArgsBuilder *builder);\nfunction gsk_shader_args_builder_to_args(builder) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_shader_args_builder_to_args\n  type(c_ptr), value :: builder\nend function\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!GBytes * gsk_shader_args_builder_free_to_args (GskShaderArgsBuilder *builder);\nfunction gsk_shader_args_builder_free_to_args(builder) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_shader_args_builder_free_to_args\n  type(c_ptr), value :: builder\nend function\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!GskShaderArgsBuilder *gsk_shader_args_builder_ref (GskShaderArgsBuilder *builder);\nfunction gsk_shader_args_builder_ref(builder) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_shader_args_builder_ref\n  type(c_ptr), value :: builder\nend function\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!void gsk_shader_args_builder_unref (GskShaderArgsBuilder *builder);\nsubroutine gsk_shader_args_builder_unref(builder) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: builder\nend subroutine\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!void gsk_shader_args_builder_set_float (GskShaderArgsBuilder *builder, int idx, float value);\nsubroutine gsk_shader_args_builder_set_float(builder, idx, value) bind(c)\n  import :: c_ptr, c_int, c_float\n  implicit none\n  type(c_ptr), value :: builder\n  integer(c_int), value :: idx\n  real(c_float), value :: value\nend subroutine\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!void gsk_shader_args_builder_set_int (GskShaderArgsBuilder *builder, int idx, gint32 value);\nsubroutine gsk_shader_args_builder_set_int(builder, idx, value) bind(c)\n  import :: c_ptr, c_int, c_int32_t\n  implicit none\n  type(c_ptr), value :: builder\n  integer(c_int), value :: idx\n  integer(c_int32_t), value :: value\nend subroutine\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!void gsk_shader_args_builder_set_uint (GskShaderArgsBuilder *builder, int idx, guint32 value);\nsubroutine gsk_shader_args_builder_set_uint(builder, idx, value) bind(c)\n  import :: c_ptr, c_int, c_int32_t\n  implicit none\n  type(c_ptr), value :: builder\n  integer(c_int), value :: idx\n  integer(c_int32_t), value :: value\nend subroutine\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!void gsk_shader_args_builder_set_bool (GskShaderArgsBuilder *builder, int idx, gboolean value);\nsubroutine gsk_shader_args_builder_set_bool(builder, idx, value) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: builder\n  integer(c_int), value :: idx\n  integer(c_int), value :: value\nend subroutine\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!void gsk_shader_args_builder_set_vec2 (GskShaderArgsBuilder *builder, int idx, const graphene_vec2_t *value);\nsubroutine gsk_shader_args_builder_set_vec2(builder, idx, value) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: builder\n  integer(c_int), value :: idx\n  type(c_ptr), value :: value\nend subroutine\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!void gsk_shader_args_builder_set_vec3 (GskShaderArgsBuilder *builder, int idx, const graphene_vec3_t *value);\nsubroutine gsk_shader_args_builder_set_vec3(builder, idx, value) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: builder\n  integer(c_int), value :: idx\n  type(c_ptr), value :: value\nend subroutine\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!void gsk_shader_args_builder_set_vec4 (GskShaderArgsBuilder *builder, int idx, const graphene_vec4_t *value);\nsubroutine gsk_shader_args_builder_set_vec4(builder, idx, value) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: builder\n  integer(c_int), value :: idx\n  type(c_ptr), value :: value\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gsk/gskpath.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_4_14\n!GType gsk_path_get_type (void) ;\nfunction gsk_path_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_path_get_type\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!GskPath * gsk_path_ref (GskPath *self);\nfunction gsk_path_ref(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_path_ref\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_path_unref (GskPath *self);\nsubroutine gsk_path_unref(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_path_print (GskPath *self, GString *string);\nsubroutine gsk_path_print(self, string) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: string\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!char * gsk_path_to_string (GskPath *self);\nfunction gsk_path_to_string(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_path_to_string\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!GskPath * gsk_path_parse (const char *string);\nfunction gsk_path_parse(string) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gsk_path_parse\n  character(kind=c_char), dimension(*) :: string\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_path_to_cairo (GskPath *self, cairo_t *cr);\nsubroutine gsk_path_to_cairo(self, cr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: cr\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!gboolean gsk_path_is_empty (GskPath *self);\nfunction gsk_path_is_empty(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gsk_path_is_empty\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!gboolean gsk_path_is_closed (GskPath *self);\nfunction gsk_path_is_closed(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gsk_path_is_closed\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!gboolean gsk_path_get_bounds (GskPath *self, graphene_rect_t *bounds) ;\nfunction gsk_path_get_bounds(self, bounds) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gsk_path_get_bounds\n  type(c_ptr), value :: self\n  type(c_ptr), value :: bounds\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!gboolean gsk_path_get_stroke_bounds (GskPath *self, const GskStroke *stroke, graphene_rect_t *bounds);\nfunction gsk_path_get_stroke_bounds(self, stroke, bounds) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gsk_path_get_stroke_bounds\n  type(c_ptr), value :: self\n  type(c_ptr), value :: stroke\n  type(c_ptr), value :: bounds\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!gboolean gsk_path_in_fill (GskPath *self, const graphene_point_t *point, GskFillRule fill_rule);\nfunction gsk_path_in_fill(self, point, fill_rule) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gsk_path_in_fill\n  type(c_ptr), value :: self\n  type(c_ptr), value :: point\n  integer(c_int), value :: fill_rule\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!gboolean gsk_path_get_start_point (GskPath *self, GskPathPoint *result);\nfunction gsk_path_get_start_point(self, result) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gsk_path_get_start_point\n  type(c_ptr), value :: self\n  type(c_ptr), value :: result\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!gboolean gsk_path_get_end_point (GskPath *self, GskPathPoint *result);\nfunction gsk_path_get_end_point(self, result) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gsk_path_get_end_point\n  type(c_ptr), value :: self\n  type(c_ptr), value :: result\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!gboolean gsk_path_get_closest_point (GskPath *self, const graphene_point_t *point, float threshold, GskPathPoint *result, float *distance);\nfunction gsk_path_get_closest_point(self, point, threshold, result, distance)&\n& bind(c)\n  import :: c_int, c_ptr, c_float\n  implicit none\n  integer(c_int) :: gsk_path_get_closest_point\n  type(c_ptr), value :: self\n  type(c_ptr), value :: point\n  real(c_float), value :: threshold\n  type(c_ptr), value :: result\n  type(c_ptr), value :: distance\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!gboolean gsk_path_foreach (GskPath *self, GskPathForeachFlags flags, GskPathForeachFunc func, gpointer user_data);\nfunction gsk_path_foreach(self, flags, func, user_data) bind(c)\n  import :: c_int, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: gsk_path_foreach\n  type(c_ptr), value :: self\n  integer(c_int), value :: flags\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\nend function\n\n! GDK_AVAILABLE_IN_4_20\n!gboolean gsk_path_foreach_intersection (GskPath *path1, GskPath *path2, GskPathIntersectionFunc func, gpointer user_data);\nfunction gsk_path_foreach_intersection(path1, path2, func, user_data) bind(c)\n  import :: c_int, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: gsk_path_foreach_intersection\n  type(c_ptr), value :: path1\n  type(c_ptr), value :: path2\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gsk/gskpathbuilder.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_4_14\n!GType gsk_path_builder_get_type (void) ;\nfunction gsk_path_builder_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_path_builder_get_type\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!GskPathBuilder * gsk_path_builder_new (void);\nfunction gsk_path_builder_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_path_builder_new\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!GskPathBuilder * gsk_path_builder_ref (GskPathBuilder *self);\nfunction gsk_path_builder_ref(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_path_builder_ref\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_path_builder_unref (GskPathBuilder *self);\nsubroutine gsk_path_builder_unref(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!GskPath * gsk_path_builder_free_to_path (GskPathBuilder *self) ;\nfunction gsk_path_builder_free_to_path(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_path_builder_free_to_path\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!GskPath * gsk_path_builder_to_path (GskPathBuilder *self) ;\nfunction gsk_path_builder_to_path(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_path_builder_to_path\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!const graphene_point_t *gsk_path_builder_get_current_point (GskPathBuilder *self);\nfunction gsk_path_builder_get_current_point(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_path_builder_get_current_point\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_path_builder_add_path (GskPathBuilder *self, GskPath *path);\nsubroutine gsk_path_builder_add_path(self, path) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: path\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_path_builder_add_reverse_path (GskPathBuilder *self, GskPath *path);\nsubroutine gsk_path_builder_add_reverse_path(self, path) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: path\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_path_builder_add_cairo_path (GskPathBuilder *self, const cairo_path_t *path);\nsubroutine gsk_path_builder_add_cairo_path(self, path) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: path\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_path_builder_add_layout (GskPathBuilder *self, PangoLayout *layout);\nsubroutine gsk_path_builder_add_layout(self, layout) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: layout\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_path_builder_add_rect (GskPathBuilder *self, const graphene_rect_t *rect);\nsubroutine gsk_path_builder_add_rect(self, rect) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: rect\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_path_builder_add_rounded_rect (GskPathBuilder *self, const GskRoundedRect *rect);\nsubroutine gsk_path_builder_add_rounded_rect(self, rect) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: rect\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_path_builder_add_circle (GskPathBuilder *self, const graphene_point_t *center, float radius);\nsubroutine gsk_path_builder_add_circle(self, center, radius) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: center\n  real(c_float), value :: radius\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_path_builder_add_segment (GskPathBuilder *self, GskPath *path, const GskPathPoint *start, const GskPathPoint *end);\nsubroutine gsk_path_builder_add_segment(self, path, start, end) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: path\n  type(c_ptr), value :: start\n  type(c_ptr), value :: end\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_path_builder_move_to (GskPathBuilder *self, float x, float y);\nsubroutine gsk_path_builder_move_to(self, x, y) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: self\n  real(c_float), value :: x\n  real(c_float), value :: y\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_path_builder_rel_move_to (GskPathBuilder *self, float x, float y);\nsubroutine gsk_path_builder_rel_move_to(self, x, y) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: self\n  real(c_float), value :: x\n  real(c_float), value :: y\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_path_builder_line_to (GskPathBuilder *self, float x, float y);\nsubroutine gsk_path_builder_line_to(self, x, y) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: self\n  real(c_float), value :: x\n  real(c_float), value :: y\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_path_builder_rel_line_to (GskPathBuilder *self, float x, float y);\nsubroutine gsk_path_builder_rel_line_to(self, x, y) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: self\n  real(c_float), value :: x\n  real(c_float), value :: y\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_path_builder_quad_to (GskPathBuilder *self, float x1, float y1, float x2, float y2);\nsubroutine gsk_path_builder_quad_to(self, x1, y1, x2, y2) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: self\n  real(c_float), value :: x1\n  real(c_float), value :: y1\n  real(c_float), value :: x2\n  real(c_float), value :: y2\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_path_builder_rel_quad_to (GskPathBuilder *self, float x1, float y1, float x2, float y2);\nsubroutine gsk_path_builder_rel_quad_to(self, x1, y1, x2, y2) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: self\n  real(c_float), value :: x1\n  real(c_float), value :: y1\n  real(c_float), value :: x2\n  real(c_float), value :: y2\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_path_builder_cubic_to (GskPathBuilder *self, float x1, float y1, float x2, float y2, float x3, float y3);\nsubroutine gsk_path_builder_cubic_to(self, x1, y1, x2, y2, x3, y3) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: self\n  real(c_float), value :: x1\n  real(c_float), value :: y1\n  real(c_float), value :: x2\n  real(c_float), value :: y2\n  real(c_float), value :: x3\n  real(c_float), value :: y3\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_path_builder_rel_cubic_to (GskPathBuilder *self, float x1, float y1, float x2, float y2, float x3, float y3);\nsubroutine gsk_path_builder_rel_cubic_to(self, x1, y1, x2, y2, x3, y3) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: self\n  real(c_float), value :: x1\n  real(c_float), value :: y1\n  real(c_float), value :: x2\n  real(c_float), value :: y2\n  real(c_float), value :: x3\n  real(c_float), value :: y3\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_path_builder_conic_to (GskPathBuilder *self, float x1, float y1, float x2, float y2, float weight);\nsubroutine gsk_path_builder_conic_to(self, x1, y1, x2, y2, weight) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: self\n  real(c_float), value :: x1\n  real(c_float), value :: y1\n  real(c_float), value :: x2\n  real(c_float), value :: y2\n  real(c_float), value :: weight\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_path_builder_rel_conic_to (GskPathBuilder *self, float x1, float y1, float x2, float y2, float weight);\nsubroutine gsk_path_builder_rel_conic_to(self, x1, y1, x2, y2, weight) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: self\n  real(c_float), value :: x1\n  real(c_float), value :: y1\n  real(c_float), value :: x2\n  real(c_float), value :: y2\n  real(c_float), value :: weight\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_path_builder_arc_to (GskPathBuilder *self, float x1, float y1, float x2, float y2);\nsubroutine gsk_path_builder_arc_to(self, x1, y1, x2, y2) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: self\n  real(c_float), value :: x1\n  real(c_float), value :: y1\n  real(c_float), value :: x2\n  real(c_float), value :: y2\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_path_builder_rel_arc_to (GskPathBuilder *self, float x1, float y1, float x2, float y2);\nsubroutine gsk_path_builder_rel_arc_to(self, x1, y1, x2, y2) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: self\n  real(c_float), value :: x1\n  real(c_float), value :: y1\n  real(c_float), value :: x2\n  real(c_float), value :: y2\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_path_builder_svg_arc_to (GskPathBuilder *self, float rx, float ry, float x_axis_rotation, gboolean large_arc, gboolean positive_sweep, float x, float y);\nsubroutine gsk_path_builder_svg_arc_to(self, rx, ry, x_axis_rotation,&\n& large_arc, positive_sweep, x, y) bind(c)\n  import :: c_ptr, c_float, c_int\n  implicit none\n  type(c_ptr), value :: self\n  real(c_float), value :: rx\n  real(c_float), value :: ry\n  real(c_float), value :: x_axis_rotation\n  integer(c_int), value :: large_arc\n  integer(c_int), value :: positive_sweep\n  real(c_float), value :: x\n  real(c_float), value :: y\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_path_builder_rel_svg_arc_to (GskPathBuilder *self, float rx, float ry, float x_axis_rotation, gboolean large_arc, gboolean positive_sweep, float x, float y);\nsubroutine gsk_path_builder_rel_svg_arc_to(self, rx, ry, x_axis_rotation,&\n& large_arc, positive_sweep, x, y) bind(c)\n  import :: c_ptr, c_float, c_int\n  implicit none\n  type(c_ptr), value :: self\n  real(c_float), value :: rx\n  real(c_float), value :: ry\n  real(c_float), value :: x_axis_rotation\n  integer(c_int), value :: large_arc\n  integer(c_int), value :: positive_sweep\n  real(c_float), value :: x\n  real(c_float), value :: y\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_path_builder_html_arc_to (GskPathBuilder *self, float x1, float y1, float x2, float y2, float radius);\nsubroutine gsk_path_builder_html_arc_to(self, x1, y1, x2, y2, radius) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: self\n  real(c_float), value :: x1\n  real(c_float), value :: y1\n  real(c_float), value :: x2\n  real(c_float), value :: y2\n  real(c_float), value :: radius\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_path_builder_rel_html_arc_to (GskPathBuilder *self, float x1, float y1, float x2, float y2, float radius);\nsubroutine gsk_path_builder_rel_html_arc_to(self, x1, y1, x2, y2, radius)&\n& bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: self\n  real(c_float), value :: x1\n  real(c_float), value :: y1\n  real(c_float), value :: x2\n  real(c_float), value :: y2\n  real(c_float), value :: radius\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_path_builder_close (GskPathBuilder *self);\nsubroutine gsk_path_builder_close(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gsk/gskpathmeasure.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_4_14\n!GType gsk_path_measure_get_type (void) ;\nfunction gsk_path_measure_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_path_measure_get_type\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!GskPathMeasure * gsk_path_measure_new (GskPath *path);\nfunction gsk_path_measure_new(path) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_path_measure_new\n  type(c_ptr), value :: path\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!GskPathMeasure * gsk_path_measure_new_with_tolerance (GskPath *path, float tolerance);\nfunction gsk_path_measure_new_with_tolerance(path, tolerance) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: gsk_path_measure_new_with_tolerance\n  type(c_ptr), value :: path\n  real(c_float), value :: tolerance\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!GskPathMeasure * gsk_path_measure_ref (GskPathMeasure *self);\nfunction gsk_path_measure_ref(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_path_measure_ref\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_path_measure_unref (GskPathMeasure *self);\nsubroutine gsk_path_measure_unref(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!GskPath * gsk_path_measure_get_path (GskPathMeasure *self) ;\nfunction gsk_path_measure_get_path(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_path_measure_get_path\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!float gsk_path_measure_get_tolerance (GskPathMeasure *self) ;\nfunction gsk_path_measure_get_tolerance(self) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: gsk_path_measure_get_tolerance\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!float gsk_path_measure_get_length (GskPathMeasure *self);\nfunction gsk_path_measure_get_length(self) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: gsk_path_measure_get_length\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!gboolean gsk_path_measure_get_point (GskPathMeasure *self, float distance, GskPathPoint *result);\nfunction gsk_path_measure_get_point(self, distance, result) bind(c)\n  import :: c_int, c_ptr, c_float\n  implicit none\n  integer(c_int) :: gsk_path_measure_get_point\n  type(c_ptr), value :: self\n  real(c_float), value :: distance\n  type(c_ptr), value :: result\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gsk/gskpathpoint.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_4_14\n!GType gsk_path_point_get_type (void) ;\nfunction gsk_path_point_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_path_point_get_type\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!GskPathPoint * gsk_path_point_copy (GskPathPoint *point);\nfunction gsk_path_point_copy(point) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_path_point_copy\n  type(c_ptr), value :: point\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_path_point_free (GskPathPoint *point);\nsubroutine gsk_path_point_free(point) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: point\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!gboolean gsk_path_point_equal (const GskPathPoint *point1, const GskPathPoint *point2) ;\nfunction gsk_path_point_equal(point1, point2) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gsk_path_point_equal\n  type(c_ptr), value :: point1\n  type(c_ptr), value :: point2\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!int gsk_path_point_compare (const GskPathPoint *point1, const GskPathPoint *point2) ;\nfunction gsk_path_point_compare(point1, point2) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gsk_path_point_compare\n  type(c_ptr), value :: point1\n  type(c_ptr), value :: point2\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_path_point_get_position (const GskPathPoint *point, GskPath *path, graphene_point_t *position);\nsubroutine gsk_path_point_get_position(point, path, position) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: point\n  type(c_ptr), value :: path\n  type(c_ptr), value :: position\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_path_point_get_tangent (const GskPathPoint *point, GskPath *path, GskPathDirection direction, graphene_vec2_t *tangent);\nsubroutine gsk_path_point_get_tangent(point, path, direction, tangent) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: point\n  type(c_ptr), value :: path\n  integer(c_int), value :: direction\n  type(c_ptr), value :: tangent\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!float gsk_path_point_get_rotation (const GskPathPoint *point, GskPath *path, GskPathDirection direction);\nfunction gsk_path_point_get_rotation(point, path, direction) bind(c)\n  import :: c_float, c_ptr, c_int\n  implicit none\n  real(c_float) :: gsk_path_point_get_rotation\n  type(c_ptr), value :: point\n  type(c_ptr), value :: path\n  integer(c_int), value :: direction\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!float gsk_path_point_get_curvature (const GskPathPoint *point, GskPath *path, GskPathDirection direction, graphene_point_t *center);\nfunction gsk_path_point_get_curvature(point, path, direction, center) bind(c)\n  import :: c_float, c_ptr, c_int\n  implicit none\n  real(c_float) :: gsk_path_point_get_curvature\n  type(c_ptr), value :: point\n  type(c_ptr), value :: path\n  integer(c_int), value :: direction\n  type(c_ptr), value :: center\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!float gsk_path_point_get_distance (const GskPathPoint *point, GskPathMeasure *measure);\nfunction gsk_path_point_get_distance(point, measure) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: gsk_path_point_get_distance\n  type(c_ptr), value :: point\n  type(c_ptr), value :: measure\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gsk/gskrenderer.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gsk_renderer_get_type (void) ;\nfunction gsk_renderer_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_renderer_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderer * gsk_renderer_new_for_surface (GdkSurface *surface);\nfunction gsk_renderer_new_for_surface(surface) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_renderer_new_for_surface\n  type(c_ptr), value :: surface\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkSurface * gsk_renderer_get_surface (GskRenderer *renderer);\nfunction gsk_renderer_get_surface(renderer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_renderer_get_surface\n  type(c_ptr), value :: renderer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gsk_renderer_realize (GskRenderer *renderer, GdkSurface *surface, GError **error);\nfunction gsk_renderer_realize(renderer, surface, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gsk_renderer_realize\n  type(c_ptr), value :: renderer\n  type(c_ptr), value :: surface\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!gboolean gsk_renderer_realize_for_display (GskRenderer *renderer, GdkDisplay *display, GError **error);\nfunction gsk_renderer_realize_for_display(renderer, display, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gsk_renderer_realize_for_display\n  type(c_ptr), value :: renderer\n  type(c_ptr), value :: display\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gsk_renderer_unrealize (GskRenderer *renderer);\nsubroutine gsk_renderer_unrealize(renderer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: renderer\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gsk_renderer_is_realized (GskRenderer *renderer);\nfunction gsk_renderer_is_realized(renderer) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gsk_renderer_is_realized\n  type(c_ptr), value :: renderer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkTexture * gsk_renderer_render_texture (GskRenderer *renderer, GskRenderNode *root, const graphene_rect_t *viewport);\nfunction gsk_renderer_render_texture(renderer, root, viewport) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_renderer_render_texture\n  type(c_ptr), value :: renderer\n  type(c_ptr), value :: root\n  type(c_ptr), value :: viewport\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gsk_renderer_render (GskRenderer *renderer, GskRenderNode *root, const cairo_region_t *region);\nsubroutine gsk_renderer_render(renderer, root, region) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: renderer\n  type(c_ptr), value :: root\n  type(c_ptr), value :: region\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gsk/gskrendernode.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gsk_render_node_get_type (void) ;\nfunction gsk_render_node_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_render_node_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GQuark gsk_serialization_error_quark (void);\nfunction gsk_serialization_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: gsk_serialization_error_quark\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gsk_render_node_ref (GskRenderNode *node);\nfunction gsk_render_node_ref(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_render_node_ref\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gsk_render_node_unref (GskRenderNode *node);\nsubroutine gsk_render_node_unref(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: node\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNodeType gsk_render_node_get_node_type (const GskRenderNode *node);\nfunction gsk_render_node_get_node_type(node) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gsk_render_node_get_node_type\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gsk_render_node_get_bounds (GskRenderNode *node, graphene_rect_t *bounds);\nsubroutine gsk_render_node_get_bounds(node, bounds) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: node\n  type(c_ptr), value :: bounds\nend subroutine\n\n! GDK_AVAILABLE_IN_4_16\n!gboolean gsk_render_node_get_opaque_rect (GskRenderNode *self, graphene_rect_t *out_opaque) ;\nfunction gsk_render_node_get_opaque_rect(self, out_opaque) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gsk_render_node_get_opaque_rect\n  type(c_ptr), value :: self\n  type(c_ptr), value :: out_opaque\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gsk_render_node_draw (GskRenderNode *node, cairo_t *cr);\nsubroutine gsk_render_node_draw(node, cr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: node\n  type(c_ptr), value :: cr\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GBytes * gsk_render_node_serialize (GskRenderNode *node);\nfunction gsk_render_node_serialize(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_render_node_serialize\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gsk_render_node_write_to_file (GskRenderNode *node, const char *filename, GError **error);\nfunction gsk_render_node_write_to_file(node, filename, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gsk_render_node_write_to_file\n  type(c_ptr), value :: node\n  character(kind=c_char), dimension(*) :: filename\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gsk_render_node_deserialize (GBytes *bytes, GskParseErrorFunc error_func, gpointer user_data);\nfunction gsk_render_node_deserialize(bytes, error_func, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: gsk_render_node_deserialize\n  type(c_ptr), value :: bytes\n  type(c_funptr), value :: error_func\n  type(c_ptr), value :: user_data\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gsk_debug_node_get_type (void) ;\nfunction gsk_debug_node_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_debug_node_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gsk_debug_node_new (GskRenderNode *child, char *message);\nfunction gsk_debug_node_new(child, message) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gsk_debug_node_new\n  type(c_ptr), value :: child\n  character(kind=c_char), dimension(*) :: message\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gsk_debug_node_get_child (const GskRenderNode *node) ;\nfunction gsk_debug_node_get_child(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_debug_node_get_child\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gsk_debug_node_get_message (const GskRenderNode *node) ;\nfunction gsk_debug_node_get_message(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_debug_node_get_message\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gsk_color_node_get_type (void) ;\nfunction gsk_color_node_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_color_node_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gsk_color_node_new (const GdkRGBA *rgba, const graphene_rect_t *bounds);\nfunction gsk_color_node_new(rgba, bounds) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_color_node_new\n  type(c_ptr), value :: rgba\n  type(c_ptr), value :: bounds\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const GdkRGBA * gsk_color_node_get_color (const GskRenderNode *node) ;\nfunction gsk_color_node_get_color(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_color_node_get_color\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gsk_texture_node_get_type (void) ;\nfunction gsk_texture_node_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_texture_node_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gsk_texture_node_new (GdkTexture *texture, const graphene_rect_t *bounds);\nfunction gsk_texture_node_new(texture, bounds) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_texture_node_new\n  type(c_ptr), value :: texture\n  type(c_ptr), value :: bounds\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkTexture * gsk_texture_node_get_texture (const GskRenderNode *node) ;\nfunction gsk_texture_node_get_texture(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_texture_node_get_texture\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!GType gsk_texture_scale_node_get_type (void) ;\nfunction gsk_texture_scale_node_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_texture_scale_node_get_type\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!GskRenderNode * gsk_texture_scale_node_new (GdkTexture *texture, const graphene_rect_t *bounds, GskScalingFilter filter);\nfunction gsk_texture_scale_node_new(texture, bounds, filter) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gsk_texture_scale_node_new\n  type(c_ptr), value :: texture\n  type(c_ptr), value :: bounds\n  integer(c_int), value :: filter\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!GdkTexture * gsk_texture_scale_node_get_texture (const GskRenderNode *node) ;\nfunction gsk_texture_scale_node_get_texture(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_texture_scale_node_get_texture\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!GskScalingFilter gsk_texture_scale_node_get_filter (const GskRenderNode *node) ;\nfunction gsk_texture_scale_node_get_filter(node) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gsk_texture_scale_node_get_filter\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gsk_linear_gradient_node_get_type (void) ;\nfunction gsk_linear_gradient_node_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_linear_gradient_node_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gsk_linear_gradient_node_new (const graphene_rect_t *bounds, const graphene_point_t *start, const graphene_point_t *end, const GskColorStop *color_stops, gsize n_color_stops);\nfunction gsk_linear_gradient_node_new(bounds, start, end, color_stops,&\n& n_color_stops) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: gsk_linear_gradient_node_new\n  type(c_ptr), value :: bounds\n  type(c_ptr), value :: start\n  type(c_ptr), value :: end\n  type(c_ptr), value :: color_stops\n  integer(c_size_t), value :: n_color_stops\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const graphene_point_t * gsk_linear_gradient_node_get_start (const GskRenderNode *node) ;\nfunction gsk_linear_gradient_node_get_start(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_linear_gradient_node_get_start\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const graphene_point_t * gsk_linear_gradient_node_get_end (const GskRenderNode *node) ;\nfunction gsk_linear_gradient_node_get_end(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_linear_gradient_node_get_end\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gsize gsk_linear_gradient_node_get_n_color_stops (const GskRenderNode *node) ;\nfunction gsk_linear_gradient_node_get_n_color_stops(node) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: gsk_linear_gradient_node_get_n_color_stops\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const GskColorStop * gsk_linear_gradient_node_get_color_stops (const GskRenderNode *node, gsize *n_stops);\nfunction gsk_linear_gradient_node_get_color_stops(node, n_stops) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_linear_gradient_node_get_color_stops\n  type(c_ptr), value :: node\n  type(c_ptr), value :: n_stops\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gsk_repeating_linear_gradient_node_get_type (void) ;\nfunction gsk_repeating_linear_gradient_node_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_repeating_linear_gradient_node_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gsk_repeating_linear_gradient_node_new (const graphene_rect_t *bounds, const graphene_point_t *start, const graphene_point_t *end, const GskColorStop *color_stops, gsize n_color_stops);\nfunction gsk_repeating_linear_gradient_node_new(bounds, start, end,&\n& color_stops, n_color_stops) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: gsk_repeating_linear_gradient_node_new\n  type(c_ptr), value :: bounds\n  type(c_ptr), value :: start\n  type(c_ptr), value :: end\n  type(c_ptr), value :: color_stops\n  integer(c_size_t), value :: n_color_stops\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gsk_conic_gradient_node_get_type (void) ;\nfunction gsk_conic_gradient_node_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_conic_gradient_node_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gsk_conic_gradient_node_new (const graphene_rect_t *bounds, const graphene_point_t *center, float rotation, const GskColorStop *color_stops, gsize n_color_stops);\nfunction gsk_conic_gradient_node_new(bounds, center, rotation, color_stops,&\n& n_color_stops) bind(c)\n  import :: c_ptr, c_float, c_size_t\n  implicit none\n  type(c_ptr) :: gsk_conic_gradient_node_new\n  type(c_ptr), value :: bounds\n  type(c_ptr), value :: center\n  real(c_float), value :: rotation\n  type(c_ptr), value :: color_stops\n  integer(c_size_t), value :: n_color_stops\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const graphene_point_t * gsk_conic_gradient_node_get_center (const GskRenderNode *node) ;\nfunction gsk_conic_gradient_node_get_center(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_conic_gradient_node_get_center\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!float gsk_conic_gradient_node_get_rotation (const GskRenderNode *node) ;\nfunction gsk_conic_gradient_node_get_rotation(node) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: gsk_conic_gradient_node_get_rotation\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_4_2\n!float gsk_conic_gradient_node_get_angle (const GskRenderNode *node) ;\nfunction gsk_conic_gradient_node_get_angle(node) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: gsk_conic_gradient_node_get_angle\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gsize gsk_conic_gradient_node_get_n_color_stops (const GskRenderNode *node) ;\nfunction gsk_conic_gradient_node_get_n_color_stops(node) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: gsk_conic_gradient_node_get_n_color_stops\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const GskColorStop * gsk_conic_gradient_node_get_color_stops (const GskRenderNode *node, gsize *n_stops);\nfunction gsk_conic_gradient_node_get_color_stops(node, n_stops) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_conic_gradient_node_get_color_stops\n  type(c_ptr), value :: node\n  type(c_ptr), value :: n_stops\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gsk_radial_gradient_node_get_type (void) ;\nfunction gsk_radial_gradient_node_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_radial_gradient_node_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gsk_radial_gradient_node_new (const graphene_rect_t *bounds, const graphene_point_t *center, float hradius, float vradius, float start, float end, const GskColorStop *color_stops, gsize n_color_stops);\nfunction gsk_radial_gradient_node_new(bounds, center, hradius, vradius, start,&\n& end, color_stops, n_color_stops) bind(c)\n  import :: c_ptr, c_float, c_size_t\n  implicit none\n  type(c_ptr) :: gsk_radial_gradient_node_new\n  type(c_ptr), value :: bounds\n  type(c_ptr), value :: center\n  real(c_float), value :: hradius\n  real(c_float), value :: vradius\n  real(c_float), value :: start\n  real(c_float), value :: end\n  type(c_ptr), value :: color_stops\n  integer(c_size_t), value :: n_color_stops\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gsize gsk_radial_gradient_node_get_n_color_stops (const GskRenderNode *node) ;\nfunction gsk_radial_gradient_node_get_n_color_stops(node) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: gsk_radial_gradient_node_get_n_color_stops\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const GskColorStop * gsk_radial_gradient_node_get_color_stops (const GskRenderNode *node, gsize *n_stops);\nfunction gsk_radial_gradient_node_get_color_stops(node, n_stops) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_radial_gradient_node_get_color_stops\n  type(c_ptr), value :: node\n  type(c_ptr), value :: n_stops\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const graphene_point_t *gsk_radial_gradient_node_get_center (const GskRenderNode *node) ;\nfunction gsk_radial_gradient_node_get_center(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_radial_gradient_node_get_center\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!float gsk_radial_gradient_node_get_hradius (const GskRenderNode *node) ;\nfunction gsk_radial_gradient_node_get_hradius(node) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: gsk_radial_gradient_node_get_hradius\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!float gsk_radial_gradient_node_get_vradius (const GskRenderNode *node) ;\nfunction gsk_radial_gradient_node_get_vradius(node) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: gsk_radial_gradient_node_get_vradius\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!float gsk_radial_gradient_node_get_start (const GskRenderNode *node) ;\nfunction gsk_radial_gradient_node_get_start(node) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: gsk_radial_gradient_node_get_start\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!float gsk_radial_gradient_node_get_end (const GskRenderNode *node) ;\nfunction gsk_radial_gradient_node_get_end(node) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: gsk_radial_gradient_node_get_end\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gsk_repeating_radial_gradient_node_get_type (void) ;\nfunction gsk_repeating_radial_gradient_node_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_repeating_radial_gradient_node_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gsk_repeating_radial_gradient_node_new (const graphene_rect_t *bounds, const graphene_point_t *center, float hradius, float vradius, float start, float end, const GskColorStop *color_stops, gsize n_color_stops);\nfunction gsk_repeating_radial_gradient_node_new(bounds, center, hradius,&\n& vradius, start, end, color_stops, n_color_stops) bind(c)\n  import :: c_ptr, c_float, c_size_t\n  implicit none\n  type(c_ptr) :: gsk_repeating_radial_gradient_node_new\n  type(c_ptr), value :: bounds\n  type(c_ptr), value :: center\n  real(c_float), value :: hradius\n  real(c_float), value :: vradius\n  real(c_float), value :: start\n  real(c_float), value :: end\n  type(c_ptr), value :: color_stops\n  integer(c_size_t), value :: n_color_stops\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gsk_border_node_get_type (void) ;\nfunction gsk_border_node_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_border_node_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const GskRoundedRect * gsk_border_node_get_outline (const GskRenderNode *node) ;\nfunction gsk_border_node_get_outline(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_border_node_get_outline\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const float * gsk_border_node_get_widths (const GskRenderNode *node) ;\nfunction gsk_border_node_get_widths(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_border_node_get_widths\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const GdkRGBA * gsk_border_node_get_colors (const GskRenderNode *node) ;\nfunction gsk_border_node_get_colors(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_border_node_get_colors\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gsk_inset_shadow_node_get_type (void) ;\nfunction gsk_inset_shadow_node_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_inset_shadow_node_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gsk_inset_shadow_node_new (const GskRoundedRect *outline, const GdkRGBA *color, float dx, float dy, float spread, float blur_radius);\nfunction gsk_inset_shadow_node_new(outline, color, dx, dy, spread, blur_radius)&\n& bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: gsk_inset_shadow_node_new\n  type(c_ptr), value :: outline\n  type(c_ptr), value :: color\n  real(c_float), value :: dx\n  real(c_float), value :: dy\n  real(c_float), value :: spread\n  real(c_float), value :: blur_radius\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const GskRoundedRect * gsk_inset_shadow_node_get_outline (const GskRenderNode *node) ;\nfunction gsk_inset_shadow_node_get_outline(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_inset_shadow_node_get_outline\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const GdkRGBA * gsk_inset_shadow_node_get_color (const GskRenderNode *node) ;\nfunction gsk_inset_shadow_node_get_color(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_inset_shadow_node_get_color\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!float gsk_inset_shadow_node_get_dx (const GskRenderNode *node) ;\nfunction gsk_inset_shadow_node_get_dx(node) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: gsk_inset_shadow_node_get_dx\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!float gsk_inset_shadow_node_get_dy (const GskRenderNode *node) ;\nfunction gsk_inset_shadow_node_get_dy(node) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: gsk_inset_shadow_node_get_dy\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!float gsk_inset_shadow_node_get_spread (const GskRenderNode *node) ;\nfunction gsk_inset_shadow_node_get_spread(node) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: gsk_inset_shadow_node_get_spread\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!float gsk_inset_shadow_node_get_blur_radius (const GskRenderNode *node) ;\nfunction gsk_inset_shadow_node_get_blur_radius(node) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: gsk_inset_shadow_node_get_blur_radius\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gsk_outset_shadow_node_get_type (void) ;\nfunction gsk_outset_shadow_node_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_outset_shadow_node_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gsk_outset_shadow_node_new (const GskRoundedRect *outline, const GdkRGBA *color, float dx, float dy, float spread, float blur_radius);\nfunction gsk_outset_shadow_node_new(outline, color, dx, dy, spread,&\n& blur_radius) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: gsk_outset_shadow_node_new\n  type(c_ptr), value :: outline\n  type(c_ptr), value :: color\n  real(c_float), value :: dx\n  real(c_float), value :: dy\n  real(c_float), value :: spread\n  real(c_float), value :: blur_radius\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const GskRoundedRect * gsk_outset_shadow_node_get_outline (const GskRenderNode *node) ;\nfunction gsk_outset_shadow_node_get_outline(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_outset_shadow_node_get_outline\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const GdkRGBA * gsk_outset_shadow_node_get_color (const GskRenderNode *node) ;\nfunction gsk_outset_shadow_node_get_color(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_outset_shadow_node_get_color\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!float gsk_outset_shadow_node_get_dx (const GskRenderNode *node) ;\nfunction gsk_outset_shadow_node_get_dx(node) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: gsk_outset_shadow_node_get_dx\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!float gsk_outset_shadow_node_get_dy (const GskRenderNode *node) ;\nfunction gsk_outset_shadow_node_get_dy(node) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: gsk_outset_shadow_node_get_dy\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!float gsk_outset_shadow_node_get_spread (const GskRenderNode *node) ;\nfunction gsk_outset_shadow_node_get_spread(node) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: gsk_outset_shadow_node_get_spread\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!float gsk_outset_shadow_node_get_blur_radius (const GskRenderNode *node) ;\nfunction gsk_outset_shadow_node_get_blur_radius(node) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: gsk_outset_shadow_node_get_blur_radius\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gsk_cairo_node_get_type (void) ;\nfunction gsk_cairo_node_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_cairo_node_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gsk_cairo_node_new (const graphene_rect_t *bounds);\nfunction gsk_cairo_node_new(bounds) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_cairo_node_new\n  type(c_ptr), value :: bounds\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!cairo_t * gsk_cairo_node_get_draw_context (GskRenderNode *node);\nfunction gsk_cairo_node_get_draw_context(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_cairo_node_get_draw_context\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!cairo_surface_t * gsk_cairo_node_get_surface (GskRenderNode *node);\nfunction gsk_cairo_node_get_surface(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_cairo_node_get_surface\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gsk_container_node_get_type (void) ;\nfunction gsk_container_node_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_container_node_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gsk_container_node_new (GskRenderNode **children, guint n_children);\nfunction gsk_container_node_new(children, n_children) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gsk_container_node_new\n  type(c_ptr), value :: children\n  integer(c_int), value :: n_children\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint gsk_container_node_get_n_children (const GskRenderNode *node) ;\nfunction gsk_container_node_get_n_children(node) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gsk_container_node_get_n_children\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gsk_container_node_get_child (const GskRenderNode *node, guint idx) ;\nfunction gsk_container_node_get_child(node, idx) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gsk_container_node_get_child\n  type(c_ptr), value :: node\n  integer(c_int), value :: idx\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gsk_transform_node_get_type (void) ;\nfunction gsk_transform_node_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_transform_node_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gsk_transform_node_new (GskRenderNode *child, GskTransform *transform);\nfunction gsk_transform_node_new(child, transform) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_transform_node_new\n  type(c_ptr), value :: child\n  type(c_ptr), value :: transform\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gsk_transform_node_get_child (const GskRenderNode *node) ;\nfunction gsk_transform_node_get_child(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_transform_node_get_child\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskTransform * gsk_transform_node_get_transform (const GskRenderNode *node) ;\nfunction gsk_transform_node_get_transform(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_transform_node_get_transform\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gsk_opacity_node_get_type (void) ;\nfunction gsk_opacity_node_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_opacity_node_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gsk_opacity_node_new (GskRenderNode *child, float opacity);\nfunction gsk_opacity_node_new(child, opacity) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: gsk_opacity_node_new\n  type(c_ptr), value :: child\n  real(c_float), value :: opacity\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gsk_opacity_node_get_child (const GskRenderNode *node) ;\nfunction gsk_opacity_node_get_child(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_opacity_node_get_child\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!float gsk_opacity_node_get_opacity (const GskRenderNode *node) ;\nfunction gsk_opacity_node_get_opacity(node) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: gsk_opacity_node_get_opacity\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gsk_color_matrix_node_get_type (void) ;\nfunction gsk_color_matrix_node_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_color_matrix_node_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gsk_color_matrix_node_new (GskRenderNode *child, const graphene_matrix_t *color_matrix, const graphene_vec4_t *color_offset);\nfunction gsk_color_matrix_node_new(child, color_matrix, color_offset) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_color_matrix_node_new\n  type(c_ptr), value :: child\n  type(c_ptr), value :: color_matrix\n  type(c_ptr), value :: color_offset\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gsk_color_matrix_node_get_child (const GskRenderNode *node) ;\nfunction gsk_color_matrix_node_get_child(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_color_matrix_node_get_child\n  type(c_ptr), value :: node\nend function\n\n! \n!const graphene_matrix_t * gsk_color_matrix_node_get_color_matrix (const GskRenderNode *node) ;\nfunction gsk_color_matrix_node_get_color_matrix(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_color_matrix_node_get_color_matrix\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const graphene_vec4_t * gsk_color_matrix_node_get_color_offset (const GskRenderNode *node) ;\nfunction gsk_color_matrix_node_get_color_offset(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_color_matrix_node_get_color_offset\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gsk_repeat_node_get_type (void) ;\nfunction gsk_repeat_node_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_repeat_node_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gsk_repeat_node_new (const graphene_rect_t *bounds, GskRenderNode *child, const graphene_rect_t *child_bounds);\nfunction gsk_repeat_node_new(bounds, child, child_bounds) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_repeat_node_new\n  type(c_ptr), value :: bounds\n  type(c_ptr), value :: child\n  type(c_ptr), value :: child_bounds\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gsk_repeat_node_get_child (const GskRenderNode *node) ;\nfunction gsk_repeat_node_get_child(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_repeat_node_get_child\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const graphene_rect_t * gsk_repeat_node_get_child_bounds (const GskRenderNode *node) ;\nfunction gsk_repeat_node_get_child_bounds(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_repeat_node_get_child_bounds\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gsk_clip_node_get_type (void) ;\nfunction gsk_clip_node_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_clip_node_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gsk_clip_node_new (GskRenderNode *child, const graphene_rect_t *clip);\nfunction gsk_clip_node_new(child, clip) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_clip_node_new\n  type(c_ptr), value :: child\n  type(c_ptr), value :: clip\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gsk_clip_node_get_child (const GskRenderNode *node) ;\nfunction gsk_clip_node_get_child(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_clip_node_get_child\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const graphene_rect_t * gsk_clip_node_get_clip (const GskRenderNode *node) ;\nfunction gsk_clip_node_get_clip(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_clip_node_get_clip\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gsk_rounded_clip_node_get_type (void) ;\nfunction gsk_rounded_clip_node_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_rounded_clip_node_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gsk_rounded_clip_node_new (GskRenderNode *child, const GskRoundedRect *clip);\nfunction gsk_rounded_clip_node_new(child, clip) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_rounded_clip_node_new\n  type(c_ptr), value :: child\n  type(c_ptr), value :: clip\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gsk_rounded_clip_node_get_child (const GskRenderNode *node) ;\nfunction gsk_rounded_clip_node_get_child(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_rounded_clip_node_get_child\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const GskRoundedRect * gsk_rounded_clip_node_get_clip (const GskRenderNode *node) ;\nfunction gsk_rounded_clip_node_get_clip(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_rounded_clip_node_get_clip\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!GType gsk_fill_node_get_type (void) ;\nfunction gsk_fill_node_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_fill_node_get_type\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!GskRenderNode * gsk_fill_node_new (GskRenderNode *child, GskPath *path, GskFillRule fill_rule);\nfunction gsk_fill_node_new(child, path, fill_rule) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gsk_fill_node_new\n  type(c_ptr), value :: child\n  type(c_ptr), value :: path\n  integer(c_int), value :: fill_rule\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!GskRenderNode * gsk_fill_node_get_child (const GskRenderNode *node);\nfunction gsk_fill_node_get_child(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_fill_node_get_child\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!GskPath * gsk_fill_node_get_path (const GskRenderNode *node);\nfunction gsk_fill_node_get_path(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_fill_node_get_path\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!GskFillRule gsk_fill_node_get_fill_rule (const GskRenderNode *node);\nfunction gsk_fill_node_get_fill_rule(node) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gsk_fill_node_get_fill_rule\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!GType gsk_stroke_node_get_type (void) ;\nfunction gsk_stroke_node_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_stroke_node_get_type\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!GskRenderNode * gsk_stroke_node_new (GskRenderNode *child, GskPath *path, const GskStroke *stroke);\nfunction gsk_stroke_node_new(child, path, stroke) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_stroke_node_new\n  type(c_ptr), value :: child\n  type(c_ptr), value :: path\n  type(c_ptr), value :: stroke\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!GskRenderNode * gsk_stroke_node_get_child (const GskRenderNode *node);\nfunction gsk_stroke_node_get_child(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_stroke_node_get_child\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!GskPath * gsk_stroke_node_get_path (const GskRenderNode *node);\nfunction gsk_stroke_node_get_path(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_stroke_node_get_path\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!const GskStroke * gsk_stroke_node_get_stroke (const GskRenderNode *node);\nfunction gsk_stroke_node_get_stroke(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_stroke_node_get_stroke\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gsk_shadow_node_get_type (void) ;\nfunction gsk_shadow_node_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_shadow_node_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gsk_shadow_node_new (GskRenderNode *child, const GskShadow *shadows, gsize n_shadows);\nfunction gsk_shadow_node_new(child, shadows, n_shadows) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: gsk_shadow_node_new\n  type(c_ptr), value :: child\n  type(c_ptr), value :: shadows\n  integer(c_size_t), value :: n_shadows\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gsk_shadow_node_get_child (const GskRenderNode *node) ;\nfunction gsk_shadow_node_get_child(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_shadow_node_get_child\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const GskShadow * gsk_shadow_node_get_shadow (const GskRenderNode *node, gsize i) ;\nfunction gsk_shadow_node_get_shadow(node, i) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: gsk_shadow_node_get_shadow\n  type(c_ptr), value :: node\n  integer(c_size_t), value :: i\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gsize gsk_shadow_node_get_n_shadows (const GskRenderNode *node) ;\nfunction gsk_shadow_node_get_n_shadows(node) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: gsk_shadow_node_get_n_shadows\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gsk_blend_node_get_type (void) ;\nfunction gsk_blend_node_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_blend_node_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gsk_blend_node_new (GskRenderNode *bottom, GskRenderNode *top, GskBlendMode blend_mode);\nfunction gsk_blend_node_new(bottom, top, blend_mode) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gsk_blend_node_new\n  type(c_ptr), value :: bottom\n  type(c_ptr), value :: top\n  integer(c_int), value :: blend_mode\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gsk_blend_node_get_bottom_child (const GskRenderNode *node) ;\nfunction gsk_blend_node_get_bottom_child(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_blend_node_get_bottom_child\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gsk_blend_node_get_top_child (const GskRenderNode *node) ;\nfunction gsk_blend_node_get_top_child(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_blend_node_get_top_child\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskBlendMode gsk_blend_node_get_blend_mode (const GskRenderNode *node) ;\nfunction gsk_blend_node_get_blend_mode(node) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gsk_blend_node_get_blend_mode\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gsk_cross_fade_node_get_type (void) ;\nfunction gsk_cross_fade_node_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_cross_fade_node_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gsk_cross_fade_node_new (GskRenderNode *start, GskRenderNode *end, float progress);\nfunction gsk_cross_fade_node_new(start, end, progress) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: gsk_cross_fade_node_new\n  type(c_ptr), value :: start\n  type(c_ptr), value :: end\n  real(c_float), value :: progress\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gsk_cross_fade_node_get_start_child (const GskRenderNode *node) ;\nfunction gsk_cross_fade_node_get_start_child(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_cross_fade_node_get_start_child\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gsk_cross_fade_node_get_end_child (const GskRenderNode *node) ;\nfunction gsk_cross_fade_node_get_end_child(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_cross_fade_node_get_end_child\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!float gsk_cross_fade_node_get_progress (const GskRenderNode *node) ;\nfunction gsk_cross_fade_node_get_progress(node) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: gsk_cross_fade_node_get_progress\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gsk_text_node_get_type (void) ;\nfunction gsk_text_node_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_text_node_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gsk_text_node_new (PangoFont *font, PangoGlyphString *glyphs, const GdkRGBA *color, const graphene_point_t *offset);\nfunction gsk_text_node_new(font, glyphs, color, offset) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_text_node_new\n  type(c_ptr), value :: font\n  type(c_ptr), value :: glyphs\n  type(c_ptr), value :: color\n  type(c_ptr), value :: offset\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!PangoFont * gsk_text_node_get_font (const GskRenderNode *node) ;\nfunction gsk_text_node_get_font(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_text_node_get_font\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_4_2\n!gboolean gsk_text_node_has_color_glyphs (const GskRenderNode *node) ;\nfunction gsk_text_node_has_color_glyphs(node) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gsk_text_node_has_color_glyphs\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint gsk_text_node_get_num_glyphs (const GskRenderNode *node) ;\nfunction gsk_text_node_get_num_glyphs(node) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gsk_text_node_get_num_glyphs\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const PangoGlyphInfo *gsk_text_node_get_glyphs (const GskRenderNode *node, guint *n_glyphs);\nfunction gsk_text_node_get_glyphs(node, n_glyphs) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_text_node_get_glyphs\n  type(c_ptr), value :: node\n  type(c_ptr), value :: n_glyphs\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const GdkRGBA * gsk_text_node_get_color (const GskRenderNode *node) ;\nfunction gsk_text_node_get_color(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_text_node_get_color\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const graphene_point_t *gsk_text_node_get_offset (const GskRenderNode *node) ;\nfunction gsk_text_node_get_offset(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_text_node_get_offset\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gsk_blur_node_get_type (void) ;\nfunction gsk_blur_node_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_blur_node_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gsk_blur_node_new (GskRenderNode *child, float radius);\nfunction gsk_blur_node_new(child, radius) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: gsk_blur_node_new\n  type(c_ptr), value :: child\n  real(c_float), value :: radius\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gsk_blur_node_get_child (const GskRenderNode *node) ;\nfunction gsk_blur_node_get_child(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_blur_node_get_child\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!float gsk_blur_node_get_radius (const GskRenderNode *node) ;\nfunction gsk_blur_node_get_radius(node) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: gsk_blur_node_get_radius\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!GType gsk_mask_node_get_type (void) ;\nfunction gsk_mask_node_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_mask_node_get_type\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!GskRenderNode * gsk_mask_node_new (GskRenderNode *source, GskRenderNode *mask, GskMaskMode mask_mode);\nfunction gsk_mask_node_new(source, mask, mask_mode) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gsk_mask_node_new\n  type(c_ptr), value :: source\n  type(c_ptr), value :: mask\n  integer(c_int), value :: mask_mode\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!GskRenderNode * gsk_mask_node_get_source (const GskRenderNode *node);\nfunction gsk_mask_node_get_source(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_mask_node_get_source\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!GskRenderNode * gsk_mask_node_get_mask (const GskRenderNode *node);\nfunction gsk_mask_node_get_mask(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_mask_node_get_mask\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!GskMaskMode gsk_mask_node_get_mask_mode (const GskRenderNode *node);\nfunction gsk_mask_node_get_mask_mode(node) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gsk_mask_node_get_mask_mode\n  type(c_ptr), value :: node\nend function\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!GType gsk_gl_shader_node_get_type (void) ;\nfunction gsk_gl_shader_node_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_gl_shader_node_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!GskRenderNode * gsk_gl_shader_node_new (GskGLShader *shader, const graphene_rect_t *bounds, GBytes *args, GskRenderNode **children, guint n_children);\nfunction gsk_gl_shader_node_new(shader, bounds, args, children, n_children)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gsk_gl_shader_node_new\n  type(c_ptr), value :: shader\n  type(c_ptr), value :: bounds\n  type(c_ptr), value :: args\n  type(c_ptr), value :: children\n  integer(c_int), value :: n_children\nend function\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!guint gsk_gl_shader_node_get_n_children (const GskRenderNode *node) ;\nfunction gsk_gl_shader_node_get_n_children(node) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gsk_gl_shader_node_get_n_children\n  type(c_ptr), value :: node\nend function\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!GskRenderNode * gsk_gl_shader_node_get_child (const GskRenderNode *node, guint idx) ;\nfunction gsk_gl_shader_node_get_child(node, idx) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gsk_gl_shader_node_get_child\n  type(c_ptr), value :: node\n  integer(c_int), value :: idx\nend function\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!GBytes * gsk_gl_shader_node_get_args (const GskRenderNode *node) ;\nfunction gsk_gl_shader_node_get_args(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_gl_shader_node_get_args\n  type(c_ptr), value :: node\nend function\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!GskGLShader * gsk_gl_shader_node_get_shader (const GskRenderNode *node) ;\nfunction gsk_gl_shader_node_get_shader(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_gl_shader_node_get_shader\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!GType gsk_subsurface_node_get_type (void) ;\nfunction gsk_subsurface_node_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_subsurface_node_get_type\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!GskRenderNode * gsk_subsurface_node_new (GskRenderNode *child, gpointer subsurface);\nfunction gsk_subsurface_node_new(child, subsurface) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_subsurface_node_new\n  type(c_ptr), value :: child\n  type(c_ptr), value :: subsurface\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!GskRenderNode * gsk_subsurface_node_get_child (const GskRenderNode *node) ;\nfunction gsk_subsurface_node_get_child(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_subsurface_node_get_child\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!gpointer gsk_subsurface_node_get_subsurface (const GskRenderNode *node);\nfunction gsk_subsurface_node_get_subsurface(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_subsurface_node_get_subsurface\n  type(c_ptr), value :: node\nend function\n\n! GDK_AVAILABLE_IN_4_20\n!GType gsk_component_transfer_node_get_type (void) ;\nfunction gsk_component_transfer_node_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_component_transfer_node_get_type\nend function\n\n! GDK_AVAILABLE_IN_4_20\n!GskRenderNode * gsk_component_transfer_node_new (GskRenderNode *child, const GskComponentTransfer *r, const GskComponentTransfer *g, const GskComponentTransfer *b, const GskComponentTransfer *a);\nfunction gsk_component_transfer_node_new(child, r, g, b, a) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_component_transfer_node_new\n  type(c_ptr), value :: child\n  type(c_ptr), value :: r\n  type(c_ptr), value :: g\n  type(c_ptr), value :: b\n  type(c_ptr), value :: a\nend function\n\n! GDK_AVAILABLE_IN_4_20\n!GskRenderNode * gsk_component_transfer_node_get_child (const GskRenderNode *node) ;\nfunction gsk_component_transfer_node_get_child(node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_component_transfer_node_get_child\n  type(c_ptr), value :: node\nend function\n\n! \n!const GskComponentTransfer * gsk_component_transfer_node_get_transfer (const GskRenderNode *node, guint component) ;\nfunction gsk_component_transfer_node_get_transfer(node, component) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gsk_component_transfer_node_get_transfer\n  type(c_ptr), value :: node\n  integer(c_int), value :: component\nend function\n\n! GDK_AVAILABLE_IN_4_4\n!void gsk_value_set_render_node (GValue *value, GskRenderNode *node);\nsubroutine gsk_value_set_render_node(value, node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: value\n  type(c_ptr), value :: node\nend subroutine\n\n! GDK_AVAILABLE_IN_4_4\n!void gsk_value_take_render_node (GValue *value, GskRenderNode *node);\nsubroutine gsk_value_take_render_node(value, node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: value\n  type(c_ptr), value :: node\nend subroutine\n\n! GDK_AVAILABLE_IN_4_4\n!GskRenderNode * gsk_value_get_render_node (const GValue *value);\nfunction gsk_value_get_render_node(value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_value_get_render_node\n  type(c_ptr), value :: value\nend function\n\n! GDK_AVAILABLE_IN_4_4\n!GskRenderNode * gsk_value_dup_render_node (const GValue *value);\nfunction gsk_value_dup_render_node(value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_value_dup_render_node\n  type(c_ptr), value :: value\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gsk/gskroundedrect.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GskRoundedRect * gsk_rounded_rect_init (GskRoundedRect *self, const graphene_rect_t *bounds, const graphene_size_t *top_left, const graphene_size_t *top_right, const graphene_size_t *bottom_right, const graphene_size_t *bottom_left);\nfunction gsk_rounded_rect_init(self, bounds, top_left, top_right, bottom_right,&\n& bottom_left) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_rounded_rect_init\n  type(c_ptr), value :: self\n  type(c_ptr), value :: bounds\n  type(c_ptr), value :: top_left\n  type(c_ptr), value :: top_right\n  type(c_ptr), value :: bottom_right\n  type(c_ptr), value :: bottom_left\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRoundedRect * gsk_rounded_rect_init_copy (GskRoundedRect *self, const GskRoundedRect *src);\nfunction gsk_rounded_rect_init_copy(self, src) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_rounded_rect_init_copy\n  type(c_ptr), value :: self\n  type(c_ptr), value :: src\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRoundedRect * gsk_rounded_rect_init_from_rect (GskRoundedRect *self, const graphene_rect_t *bounds, float radius);\nfunction gsk_rounded_rect_init_from_rect(self, bounds, radius) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: gsk_rounded_rect_init_from_rect\n  type(c_ptr), value :: self\n  type(c_ptr), value :: bounds\n  real(c_float), value :: radius\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRoundedRect * gsk_rounded_rect_normalize (GskRoundedRect *self);\nfunction gsk_rounded_rect_normalize(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_rounded_rect_normalize\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRoundedRect * gsk_rounded_rect_offset (GskRoundedRect *self, float dx, float dy);\nfunction gsk_rounded_rect_offset(self, dx, dy) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: gsk_rounded_rect_offset\n  type(c_ptr), value :: self\n  real(c_float), value :: dx\n  real(c_float), value :: dy\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRoundedRect * gsk_rounded_rect_shrink (GskRoundedRect *self, float top, float right, float bottom, float left);\nfunction gsk_rounded_rect_shrink(self, top, right, bottom, left) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: gsk_rounded_rect_shrink\n  type(c_ptr), value :: self\n  real(c_float), value :: top\n  real(c_float), value :: right\n  real(c_float), value :: bottom\n  real(c_float), value :: left\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gsk_rounded_rect_is_rectilinear (const GskRoundedRect *self) ;\nfunction gsk_rounded_rect_is_rectilinear(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gsk_rounded_rect_is_rectilinear\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gsk_rounded_rect_contains_point (const GskRoundedRect *self, const graphene_point_t *point) ;\nfunction gsk_rounded_rect_contains_point(self, point) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gsk_rounded_rect_contains_point\n  type(c_ptr), value :: self\n  type(c_ptr), value :: point\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gsk_rounded_rect_contains_rect (const GskRoundedRect *self, const graphene_rect_t *rect) ;\nfunction gsk_rounded_rect_contains_rect(self, rect) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gsk_rounded_rect_contains_rect\n  type(c_ptr), value :: self\n  type(c_ptr), value :: rect\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gsk_rounded_rect_intersects_rect (const GskRoundedRect *self, const graphene_rect_t *rect) ;\nfunction gsk_rounded_rect_intersects_rect(self, rect) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gsk_rounded_rect_intersects_rect\n  type(c_ptr), value :: self\n  type(c_ptr), value :: rect\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gsk/gskstroke.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_4_14\n!GType gsk_stroke_get_type (void) ;\nfunction gsk_stroke_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_stroke_get_type\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!GskStroke * gsk_stroke_new (float line_width);\nfunction gsk_stroke_new(line_width) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: gsk_stroke_new\n  real(c_float), value :: line_width\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!GskStroke * gsk_stroke_copy (const GskStroke *other);\nfunction gsk_stroke_copy(other) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_stroke_copy\n  type(c_ptr), value :: other\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_stroke_free (GskStroke *self);\nsubroutine gsk_stroke_free(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!gboolean gsk_stroke_equal (gconstpointer stroke1, gconstpointer stroke2);\nfunction gsk_stroke_equal(stroke1, stroke2) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gsk_stroke_equal\n  type(c_ptr), value :: stroke1\n  type(c_ptr), value :: stroke2\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_stroke_set_line_width (GskStroke *self, float line_width);\nsubroutine gsk_stroke_set_line_width(self, line_width) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: self\n  real(c_float), value :: line_width\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!float gsk_stroke_get_line_width (const GskStroke *self);\nfunction gsk_stroke_get_line_width(self) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: gsk_stroke_get_line_width\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_stroke_set_line_cap (GskStroke *self, GskLineCap line_cap);\nsubroutine gsk_stroke_set_line_cap(self, line_cap) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: line_cap\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!GskLineCap gsk_stroke_get_line_cap (const GskStroke *self);\nfunction gsk_stroke_get_line_cap(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gsk_stroke_get_line_cap\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_stroke_set_line_join (GskStroke *self, GskLineJoin line_join);\nsubroutine gsk_stroke_set_line_join(self, line_join) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: line_join\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!GskLineJoin gsk_stroke_get_line_join (const GskStroke *self);\nfunction gsk_stroke_get_line_join(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gsk_stroke_get_line_join\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_stroke_set_miter_limit (GskStroke *self, float limit);\nsubroutine gsk_stroke_set_miter_limit(self, limit) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: self\n  real(c_float), value :: limit\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!float gsk_stroke_get_miter_limit (const GskStroke *self);\nfunction gsk_stroke_get_miter_limit(self) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: gsk_stroke_get_miter_limit\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_stroke_set_dash (GskStroke *self, const float *dash, gsize n_dash);\nsubroutine gsk_stroke_set_dash(self, dash, n_dash) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: dash\n  integer(c_size_t), value :: n_dash\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!const float * gsk_stroke_get_dash (const GskStroke *self, gsize *n_dash);\nfunction gsk_stroke_get_dash(self, n_dash) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_stroke_get_dash\n  type(c_ptr), value :: self\n  type(c_ptr), value :: n_dash\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_stroke_set_dash_offset (GskStroke *self, float offset);\nsubroutine gsk_stroke_set_dash_offset(self, offset) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: self\n  real(c_float), value :: offset\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!float gsk_stroke_get_dash_offset (const GskStroke *self);\nfunction gsk_stroke_get_dash_offset(self) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: gsk_stroke_get_dash_offset\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gsk_stroke_to_cairo (const GskStroke *self, cairo_t *cr);\nsubroutine gsk_stroke_to_cairo(self, cr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: cr\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gsk/gsktransform.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gsk_transform_get_type (void) ;\nfunction gsk_transform_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_transform_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskTransform * gsk_transform_ref (GskTransform *self);\nfunction gsk_transform_ref(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_transform_ref\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gsk_transform_unref (GskTransform *self);\nsubroutine gsk_transform_unref(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gsk_transform_print (GskTransform *self, GString *string);\nsubroutine gsk_transform_print(self, string) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: string\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!char * gsk_transform_to_string (GskTransform *self);\nfunction gsk_transform_to_string(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_transform_to_string\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gsk_transform_parse (const char *string, GskTransform **out_transform);\nfunction gsk_transform_parse(string, out_transform) bind(c)\n  import :: c_int, c_char, c_ptr\n  implicit none\n  integer(c_int) :: gsk_transform_parse\n  character(kind=c_char), dimension(*) :: string\n  type(c_ptr), value :: out_transform\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gsk_transform_to_matrix (GskTransform *self, graphene_matrix_t *out_matrix);\nsubroutine gsk_transform_to_matrix(self, out_matrix) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: out_matrix\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gsk_transform_to_2d (GskTransform *self, float *out_xx, float *out_yx, float *out_xy, float *out_yy, float *out_dx, float *out_dy);\nsubroutine gsk_transform_to_2d(self, out_xx, out_yx, out_xy, out_yy, out_dx,&\n& out_dy) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: out_xx\n  type(c_ptr), value :: out_yx\n  type(c_ptr), value :: out_xy\n  type(c_ptr), value :: out_yy\n  type(c_ptr), value :: out_dx\n  type(c_ptr), value :: out_dy\nend subroutine\n\n! GDK_AVAILABLE_IN_4_6\n!void gsk_transform_to_2d_components (GskTransform *self, float *out_skew_x, float *out_skew_y, float *out_scale_x, float *out_scale_y, float *out_angle, float *out_dx, float *out_dy);\nsubroutine gsk_transform_to_2d_components(self, out_skew_x, out_skew_y,&\n& out_scale_x, out_scale_y, out_angle, out_dx, out_dy) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: out_skew_x\n  type(c_ptr), value :: out_skew_y\n  type(c_ptr), value :: out_scale_x\n  type(c_ptr), value :: out_scale_y\n  type(c_ptr), value :: out_angle\n  type(c_ptr), value :: out_dx\n  type(c_ptr), value :: out_dy\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gsk_transform_to_affine (GskTransform *self, float *out_scale_x, float *out_scale_y, float *out_dx, float *out_dy);\nsubroutine gsk_transform_to_affine(self, out_scale_x, out_scale_y, out_dx,&\n& out_dy) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: out_scale_x\n  type(c_ptr), value :: out_scale_y\n  type(c_ptr), value :: out_dx\n  type(c_ptr), value :: out_dy\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gsk_transform_to_translate (GskTransform *self, float *out_dx, float *out_dy);\nsubroutine gsk_transform_to_translate(self, out_dx, out_dy) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: out_dx\n  type(c_ptr), value :: out_dy\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GskTransformCategory gsk_transform_get_category (GskTransform *self) ;\nfunction gsk_transform_get_category(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gsk_transform_get_category\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gsk_transform_equal (GskTransform *first, GskTransform *second) ;\nfunction gsk_transform_equal(first, second) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gsk_transform_equal\n  type(c_ptr), value :: first\n  type(c_ptr), value :: second\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskTransform * gsk_transform_new (void);\nfunction gsk_transform_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_transform_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskTransform * gsk_transform_transform (GskTransform *next, GskTransform *other) ;\nfunction gsk_transform_transform(next, other) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_transform_transform\n  type(c_ptr), value :: next\n  type(c_ptr), value :: other\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskTransform * gsk_transform_invert (GskTransform *self) ;\nfunction gsk_transform_invert(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_transform_invert\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskTransform * gsk_transform_matrix (GskTransform *next, const graphene_matrix_t *matrix) ;\nfunction gsk_transform_matrix(next, matrix) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_transform_matrix\n  type(c_ptr), value :: next\n  type(c_ptr), value :: matrix\nend function\n\n! GDK_AVAILABLE_IN_4_20\n!GskTransform * gsk_transform_matrix_2d (GskTransform *next, float xx, float yx, float xy, float yy, float dx, float dy) ;\nfunction gsk_transform_matrix_2d(next, xx, yx, xy, yy, dx, dy) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: gsk_transform_matrix_2d\n  type(c_ptr), value :: next\n  real(c_float), value :: xx\n  real(c_float), value :: yx\n  real(c_float), value :: xy\n  real(c_float), value :: yy\n  real(c_float), value :: dx\n  real(c_float), value :: dy\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskTransform * gsk_transform_translate (GskTransform *next, const graphene_point_t *point) ;\nfunction gsk_transform_translate(next, point) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_transform_translate\n  type(c_ptr), value :: next\n  type(c_ptr), value :: point\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskTransform * gsk_transform_translate_3d (GskTransform *next, const graphene_point3d_t *point) ;\nfunction gsk_transform_translate_3d(next, point) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_transform_translate_3d\n  type(c_ptr), value :: next\n  type(c_ptr), value :: point\nend function\n\n! GDK_AVAILABLE_IN_4_6\n!GskTransform * gsk_transform_skew (GskTransform *next, float skew_x, float skew_y) ;\nfunction gsk_transform_skew(next, skew_x, skew_y) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: gsk_transform_skew\n  type(c_ptr), value :: next\n  real(c_float), value :: skew_x\n  real(c_float), value :: skew_y\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskTransform * gsk_transform_rotate (GskTransform *next, float angle) ;\nfunction gsk_transform_rotate(next, angle) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: gsk_transform_rotate\n  type(c_ptr), value :: next\n  real(c_float), value :: angle\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskTransform * gsk_transform_rotate_3d (GskTransform *next, float angle, const graphene_vec3_t *axis) ;\nfunction gsk_transform_rotate_3d(next, angle, axis) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: gsk_transform_rotate_3d\n  type(c_ptr), value :: next\n  real(c_float), value :: angle\n  type(c_ptr), value :: axis\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskTransform * gsk_transform_scale (GskTransform *next, float factor_x, float factor_y) ;\nfunction gsk_transform_scale(next, factor_x, factor_y) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: gsk_transform_scale\n  type(c_ptr), value :: next\n  real(c_float), value :: factor_x\n  real(c_float), value :: factor_y\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskTransform * gsk_transform_scale_3d (GskTransform *next, float factor_x, float factor_y, float factor_z) ;\nfunction gsk_transform_scale_3d(next, factor_x, factor_y, factor_z) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: gsk_transform_scale_3d\n  type(c_ptr), value :: next\n  real(c_float), value :: factor_x\n  real(c_float), value :: factor_y\n  real(c_float), value :: factor_z\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskTransform * gsk_transform_perspective (GskTransform *next, float depth) ;\nfunction gsk_transform_perspective(next, depth) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr) :: gsk_transform_perspective\n  type(c_ptr), value :: next\n  real(c_float), value :: depth\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gsk_transform_transform_bounds (GskTransform *self, const graphene_rect_t *rect, graphene_rect_t *out_rect);\nsubroutine gsk_transform_transform_bounds(self, rect, out_rect) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: rect\n  type(c_ptr), value :: out_rect\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gsk_transform_transform_point (GskTransform *self, const graphene_point_t *point, graphene_point_t *out_point);\nsubroutine gsk_transform_transform_point(self, point, out_point) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: point\n  type(c_ptr), value :: out_point\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gsk/gsktypes.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gsk/broadway/gskbroadwayrenderer.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gsk_broadway_renderer_get_type (void) ;\nfunction gsk_broadway_renderer_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_broadway_renderer_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_20\n!GskRenderer * gsk_broadway_renderer_new (void);\nfunction gsk_broadway_renderer_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_broadway_renderer_new\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gsk/gl/gskglrenderer.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gsk/gpu/gskglrenderer.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GskRenderer *gsk_gl_renderer_new (void);\nfunction gsk_gl_renderer_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_gl_renderer_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gsk_gl_renderer_get_type (void) ;\nfunction gsk_gl_renderer_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_gl_renderer_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_18_FOR (gsk_gl_renderer_get_type)\n!GType gsk_ngl_renderer_get_type (void) ;\nfunction gsk_ngl_renderer_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_ngl_renderer_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_18_FOR (gsk_gl_renderer_new)\n!GskRenderer *gsk_ngl_renderer_new (void);\nfunction gsk_ngl_renderer_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_ngl_renderer_new\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gsk/gpu/gskvulkanrenderer.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gsk_vulkan_renderer_get_type (void) ;\nfunction gsk_vulkan_renderer_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gsk_vulkan_renderer_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderer * gsk_vulkan_renderer_new (void);\nfunction gsk_vulkan_renderer_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gsk_vulkan_renderer_new\nend function\n\nend interface\nend module gsk\n"
  },
  {
    "path": "src/gtk-auto.in",
    "content": "!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtk.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkaboutdialog.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_about_dialog_get_type (void) ;\nfunction gtk_about_dialog_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_about_dialog_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget *gtk_about_dialog_new (void);\nfunction gtk_about_dialog_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_about_dialog_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_about_dialog_get_program_name (GtkAboutDialog *about);\nfunction gtk_about_dialog_get_program_name(about) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_about_dialog_get_program_name\n  type(c_ptr), value :: about\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_about_dialog_set_program_name (GtkAboutDialog *about, const char *name);\nsubroutine gtk_about_dialog_set_program_name(about, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: about\n  character(kind=c_char), dimension(*) :: name\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_about_dialog_get_version (GtkAboutDialog *about);\nfunction gtk_about_dialog_get_version(about) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_about_dialog_get_version\n  type(c_ptr), value :: about\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_about_dialog_set_version (GtkAboutDialog *about, const char *version);\nsubroutine gtk_about_dialog_set_version(about, version) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: about\n  character(kind=c_char), dimension(*) :: version\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_about_dialog_get_copyright (GtkAboutDialog *about);\nfunction gtk_about_dialog_get_copyright(about) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_about_dialog_get_copyright\n  type(c_ptr), value :: about\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_about_dialog_set_copyright (GtkAboutDialog *about, const char *copyright);\nsubroutine gtk_about_dialog_set_copyright(about, copyright) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: about\n  character(kind=c_char), dimension(*) :: copyright\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_about_dialog_get_comments (GtkAboutDialog *about);\nfunction gtk_about_dialog_get_comments(about) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_about_dialog_get_comments\n  type(c_ptr), value :: about\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_about_dialog_set_comments (GtkAboutDialog *about, const char *comments);\nsubroutine gtk_about_dialog_set_comments(about, comments) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: about\n  character(kind=c_char), dimension(*) :: comments\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_about_dialog_get_license (GtkAboutDialog *about);\nfunction gtk_about_dialog_get_license(about) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_about_dialog_get_license\n  type(c_ptr), value :: about\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_about_dialog_set_license (GtkAboutDialog *about, const char *license);\nsubroutine gtk_about_dialog_set_license(about, license) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: about\n  character(kind=c_char), dimension(*) :: license\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_about_dialog_set_license_type (GtkAboutDialog *about, GtkLicense license_type);\nsubroutine gtk_about_dialog_set_license_type(about, license_type) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: about\n  integer(c_int), value :: license_type\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkLicense gtk_about_dialog_get_license_type (GtkAboutDialog *about);\nfunction gtk_about_dialog_get_license_type(about) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_about_dialog_get_license_type\n  type(c_ptr), value :: about\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_about_dialog_get_wrap_license (GtkAboutDialog *about);\nfunction gtk_about_dialog_get_wrap_license(about) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_about_dialog_get_wrap_license\n  type(c_ptr), value :: about\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_about_dialog_set_wrap_license (GtkAboutDialog *about, gboolean wrap_license);\nsubroutine gtk_about_dialog_set_wrap_license(about, wrap_license) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: about\n  integer(c_int), value :: wrap_license\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_about_dialog_get_system_information (GtkAboutDialog *about);\nfunction gtk_about_dialog_get_system_information(about) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_about_dialog_get_system_information\n  type(c_ptr), value :: about\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_about_dialog_set_system_information (GtkAboutDialog *about, const char *system_information);\nsubroutine gtk_about_dialog_set_system_information(about, system_information)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: about\n  character(kind=c_char), dimension(*) :: system_information\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_about_dialog_get_website (GtkAboutDialog *about);\nfunction gtk_about_dialog_get_website(about) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_about_dialog_get_website\n  type(c_ptr), value :: about\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_about_dialog_set_website (GtkAboutDialog *about, const char *website);\nsubroutine gtk_about_dialog_set_website(about, website) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: about\n  character(kind=c_char), dimension(*) :: website\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_about_dialog_get_website_label (GtkAboutDialog *about);\nfunction gtk_about_dialog_get_website_label(about) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_about_dialog_get_website_label\n  type(c_ptr), value :: about\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_about_dialog_set_website_label (GtkAboutDialog *about, const char *website_label);\nsubroutine gtk_about_dialog_set_website_label(about, website_label) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: about\n  character(kind=c_char), dimension(*) :: website_label\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * const * gtk_about_dialog_get_authors (GtkAboutDialog *about);\nfunction gtk_about_dialog_get_authors(about) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_about_dialog_get_authors\n  type(c_ptr), value :: about\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_about_dialog_set_authors (GtkAboutDialog *about, const char **authors);\nsubroutine gtk_about_dialog_set_authors(about, authors) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: about\n  type(c_ptr), dimension(*) :: authors\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * const * gtk_about_dialog_get_documenters (GtkAboutDialog *about);\nfunction gtk_about_dialog_get_documenters(about) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_about_dialog_get_documenters\n  type(c_ptr), value :: about\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_about_dialog_set_documenters (GtkAboutDialog *about, const char **documenters);\nsubroutine gtk_about_dialog_set_documenters(about, documenters) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: about\n  type(c_ptr), dimension(*) :: documenters\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * const * gtk_about_dialog_get_artists (GtkAboutDialog *about);\nfunction gtk_about_dialog_get_artists(about) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_about_dialog_get_artists\n  type(c_ptr), value :: about\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_about_dialog_set_artists (GtkAboutDialog *about, const char **artists);\nsubroutine gtk_about_dialog_set_artists(about, artists) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: about\n  type(c_ptr), dimension(*) :: artists\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_about_dialog_get_translator_credits (GtkAboutDialog *about);\nfunction gtk_about_dialog_get_translator_credits(about) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_about_dialog_get_translator_credits\n  type(c_ptr), value :: about\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_about_dialog_set_translator_credits (GtkAboutDialog *about, const char *translator_credits);\nsubroutine gtk_about_dialog_set_translator_credits(about, translator_credits)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: about\n  character(kind=c_char), dimension(*) :: translator_credits\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GdkPaintable *gtk_about_dialog_get_logo (GtkAboutDialog *about);\nfunction gtk_about_dialog_get_logo(about) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_about_dialog_get_logo\n  type(c_ptr), value :: about\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_about_dialog_set_logo (GtkAboutDialog *about, GdkPaintable *logo);\nsubroutine gtk_about_dialog_set_logo(about, logo) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: about\n  type(c_ptr), value :: logo\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_about_dialog_get_logo_icon_name (GtkAboutDialog *about);\nfunction gtk_about_dialog_get_logo_icon_name(about) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_about_dialog_get_logo_icon_name\n  type(c_ptr), value :: about\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_about_dialog_set_logo_icon_name (GtkAboutDialog *about, const char *icon_name);\nsubroutine gtk_about_dialog_set_logo_icon_name(about, icon_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: about\n  character(kind=c_char), dimension(*) :: icon_name\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_about_dialog_add_credit_section (GtkAboutDialog *about, const char *section_name, const char **people);\nsubroutine gtk_about_dialog_add_credit_section(about, section_name, people)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: about\n  character(kind=c_char), dimension(*) :: section_name\n  type(c_ptr), dimension(*) :: people\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkaccelgroup.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_accelerator_valid (guint keyval, GdkModifierType modifiers) ;\nfunction gtk_accelerator_valid(keyval, modifiers) bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: gtk_accelerator_valid\n  integer(c_int), value :: keyval\n  integer(c_int), value :: modifiers\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_accelerator_parse (const char *accelerator, guint *accelerator_key, GdkModifierType *accelerator_mods);\nfunction gtk_accelerator_parse(accelerator, accelerator_key, accelerator_mods)&\n& bind(c)\n  import :: c_int, c_char, c_ptr\n  implicit none\n  integer(c_int) :: gtk_accelerator_parse\n  character(kind=c_char), dimension(*) :: accelerator\n  type(c_ptr), value :: accelerator_key\n  type(c_ptr), value :: accelerator_mods\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_accelerator_parse_with_keycode (const char *accelerator, GdkDisplay *display, guint *accelerator_key, guint **accelerator_codes, GdkModifierType *accelerator_mods);\nfunction gtk_accelerator_parse_with_keycode(accelerator, display,&\n& accelerator_key, accelerator_codes, accelerator_mods) bind(c)\n  import :: c_int, c_char, c_ptr\n  implicit none\n  integer(c_int) :: gtk_accelerator_parse_with_keycode\n  character(kind=c_char), dimension(*) :: accelerator\n  type(c_ptr), value :: display\n  type(c_ptr), value :: accelerator_key\n  type(c_ptr), value :: accelerator_codes\n  type(c_ptr), value :: accelerator_mods\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!char * gtk_accelerator_name (guint accelerator_key, GdkModifierType accelerator_mods);\nfunction gtk_accelerator_name(accelerator_key, accelerator_mods) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_accelerator_name\n  integer(c_int), value :: accelerator_key\n  integer(c_int), value :: accelerator_mods\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!char * gtk_accelerator_name_with_keycode (GdkDisplay *display, guint accelerator_key, guint keycode, GdkModifierType accelerator_mods);\nfunction gtk_accelerator_name_with_keycode(display, accelerator_key, keycode,&\n& accelerator_mods) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_accelerator_name_with_keycode\n  type(c_ptr), value :: display\n  integer(c_int), value :: accelerator_key\n  integer(c_int), value :: keycode\n  integer(c_int), value :: accelerator_mods\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!char * gtk_accelerator_get_label (guint accelerator_key, GdkModifierType accelerator_mods);\nfunction gtk_accelerator_get_label(accelerator_key, accelerator_mods) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_accelerator_get_label\n  integer(c_int), value :: accelerator_key\n  integer(c_int), value :: accelerator_mods\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!char * gtk_accelerator_get_label_with_keycode (GdkDisplay *display, guint accelerator_key, guint keycode, GdkModifierType accelerator_mods);\nfunction gtk_accelerator_get_label_with_keycode(display, accelerator_key,&\n& keycode, accelerator_mods) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_accelerator_get_label_with_keycode\n  type(c_ptr), value :: display\n  integer(c_int), value :: accelerator_key\n  integer(c_int), value :: keycode\n  integer(c_int), value :: accelerator_mods\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkModifierType gtk_accelerator_get_default_mod_mask (void) ;\nfunction gtk_accelerator_get_default_mod_mask() bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: gtk_accelerator_get_default_mod_mask\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkaccessible.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkATContext * gtk_accessible_get_at_context (GtkAccessible *self);\nfunction gtk_accessible_get_at_context(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_accessible_get_at_context\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!gboolean gtk_accessible_get_platform_state (GtkAccessible *self, GtkAccessiblePlatformState state);\nfunction gtk_accessible_get_platform_state(self, state) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_accessible_get_platform_state\n  type(c_ptr), value :: self\n  integer(c_int), value :: state\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!GtkAccessible * gtk_accessible_get_accessible_parent (GtkAccessible *self);\nfunction gtk_accessible_get_accessible_parent(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_accessible_get_accessible_parent\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_accessible_set_accessible_parent (GtkAccessible *self, GtkAccessible *parent, GtkAccessible *next_sibling);\nsubroutine gtk_accessible_set_accessible_parent(self, parent, next_sibling)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: parent\n  type(c_ptr), value :: next_sibling\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!GtkAccessible * gtk_accessible_get_first_accessible_child (GtkAccessible *self);\nfunction gtk_accessible_get_first_accessible_child(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_accessible_get_first_accessible_child\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!GtkAccessible * gtk_accessible_get_next_accessible_sibling (GtkAccessible *self);\nfunction gtk_accessible_get_next_accessible_sibling(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_accessible_get_next_accessible_sibling\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_accessible_update_next_accessible_sibling (GtkAccessible *self, GtkAccessible *new_sibling);\nsubroutine gtk_accessible_update_next_accessible_sibling(self, new_sibling)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: new_sibling\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!gboolean gtk_accessible_get_bounds (GtkAccessible *self, int *x, int *y, int *width, int *height);\nfunction gtk_accessible_get_bounds(self, x, y, width, height) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_accessible_get_bounds\n  type(c_ptr), value :: self\n  type(c_ptr), value :: x\n  type(c_ptr), value :: y\n  type(c_ptr), value :: width\n  type(c_ptr), value :: height\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkAccessibleRole gtk_accessible_get_accessible_role (GtkAccessible *self);\nfunction gtk_accessible_get_accessible_role(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_accessible_get_accessible_role\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_accessible_reset_state (GtkAccessible *self, GtkAccessibleState state);\nsubroutine gtk_accessible_reset_state(self, state) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: state\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_accessible_reset_property (GtkAccessible *self, GtkAccessibleProperty property);\nsubroutine gtk_accessible_reset_property(self, property) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: property\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_accessible_reset_relation (GtkAccessible *self, GtkAccessibleRelation relation);\nsubroutine gtk_accessible_reset_relation(self, relation) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: relation\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_accessible_state_init_value (GtkAccessibleState state, GValue *value);\nsubroutine gtk_accessible_state_init_value(state, value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int), value :: state\n  type(c_ptr), value :: value\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_accessible_property_init_value (GtkAccessibleProperty property, GValue *value);\nsubroutine gtk_accessible_property_init_value(property, value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int), value :: property\n  type(c_ptr), value :: value\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_accessible_relation_init_value (GtkAccessibleRelation relation, GValue *value);\nsubroutine gtk_accessible_relation_init_value(relation, value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int), value :: relation\n  type(c_ptr), value :: value\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!GType gtk_accessible_list_get_type (void);\nfunction gtk_accessible_list_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_accessible_list_get_type\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!GList * gtk_accessible_list_get_objects (GtkAccessibleList *accessible_list);\nfunction gtk_accessible_list_get_objects(accessible_list) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_accessible_list_get_objects\n  type(c_ptr), value :: accessible_list\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!GtkAccessibleList * gtk_accessible_list_new_from_list (GList *list);\nfunction gtk_accessible_list_new_from_list(list) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_accessible_list_new_from_list\n  type(c_ptr), value :: list\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!GtkAccessibleList * gtk_accessible_list_new_from_array (GtkAccessible **accessibles, gsize n_accessibles);\nfunction gtk_accessible_list_new_from_array(accessibles, n_accessibles) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: gtk_accessible_list_new_from_array\n  type(c_ptr), value :: accessibles\n  integer(c_size_t), value :: n_accessibles\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gtk_accessible_announce (GtkAccessible *self, const char *message, GtkAccessibleAnnouncementPriority priority);\nsubroutine gtk_accessible_announce(self, message, priority) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: message\n  integer(c_int), value :: priority\nend subroutine\n\n! GDK_AVAILABLE_IN_4_18\n!void gtk_accessible_update_platform_state (GtkAccessible *self, GtkAccessiblePlatformState state);\nsubroutine gtk_accessible_update_platform_state(self, state) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: state\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkaccessiblerange.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkaccessibletext.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_4_14\n!void gtk_accessible_text_update_caret_position (GtkAccessibleText *self);\nsubroutine gtk_accessible_text_update_caret_position(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!void gtk_accessible_text_update_selection_bound (GtkAccessibleText *self);\nsubroutine gtk_accessible_text_update_selection_bound(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!void gtk_accessible_text_update_contents (GtkAccessibleText *self, GtkAccessibleTextContentChange change, unsigned int start, unsigned int end);\nsubroutine gtk_accessible_text_update_contents(self, change, start, end)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: change\n  integer(c_int), value :: start\n  integer(c_int), value :: end\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkactionable.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_actionable_get_type (void) ;\nfunction gtk_actionable_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_actionable_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_actionable_get_action_name (GtkActionable *actionable);\nfunction gtk_actionable_get_action_name(actionable) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_actionable_get_action_name\n  type(c_ptr), value :: actionable\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_actionable_set_action_name (GtkActionable *actionable, const char *action_name);\nsubroutine gtk_actionable_set_action_name(actionable, action_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: actionable\n  character(kind=c_char), dimension(*) :: action_name\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GVariant * gtk_actionable_get_action_target_value (GtkActionable *actionable);\nfunction gtk_actionable_get_action_target_value(actionable) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_actionable_get_action_target_value\n  type(c_ptr), value :: actionable\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_actionable_set_action_target_value (GtkActionable *actionable, GVariant *target_value);\nsubroutine gtk_actionable_set_action_target_value(actionable, target_value)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: actionable\n  type(c_ptr), value :: target_value\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_actionable_set_detailed_action_name (GtkActionable *actionable, const char *detailed_action_name);\nsubroutine gtk_actionable_set_detailed_action_name(actionable,&\n& detailed_action_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: actionable\n  character(kind=c_char), dimension(*) :: detailed_action_name\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkactionbar.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_action_bar_get_type (void) ;\nfunction gtk_action_bar_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_action_bar_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget *gtk_action_bar_new (void);\nfunction gtk_action_bar_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_action_bar_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget *gtk_action_bar_get_center_widget (GtkActionBar *action_bar);\nfunction gtk_action_bar_get_center_widget(action_bar) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_action_bar_get_center_widget\n  type(c_ptr), value :: action_bar\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_action_bar_set_center_widget (GtkActionBar *action_bar, GtkWidget *center_widget);\nsubroutine gtk_action_bar_set_center_widget(action_bar, center_widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: action_bar\n  type(c_ptr), value :: center_widget\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_action_bar_pack_start (GtkActionBar *action_bar, GtkWidget *child);\nsubroutine gtk_action_bar_pack_start(action_bar, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: action_bar\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_action_bar_pack_end (GtkActionBar *action_bar, GtkWidget *child);\nsubroutine gtk_action_bar_pack_end(action_bar, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: action_bar\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_action_bar_remove (GtkActionBar *action_bar, GtkWidget *child);\nsubroutine gtk_action_bar_remove(action_bar, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: action_bar\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_action_bar_set_revealed (GtkActionBar *action_bar, gboolean revealed);\nsubroutine gtk_action_bar_set_revealed(action_bar, revealed) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: action_bar\n  integer(c_int), value :: revealed\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_action_bar_get_revealed (GtkActionBar *action_bar);\nfunction gtk_action_bar_get_revealed(action_bar) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_action_bar_get_revealed\n  type(c_ptr), value :: action_bar\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkadjustment.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_adjustment_get_type (void) ;\nfunction gtk_adjustment_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_adjustment_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkAdjustment* gtk_adjustment_new (double value, double lower, double upper, double step_increment, double page_increment, double page_size);\nfunction gtk_adjustment_new(value, lower, upper, step_increment,&\n& page_increment, page_size) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr) :: gtk_adjustment_new\n  real(c_double), value :: value\n  real(c_double), value :: lower\n  real(c_double), value :: upper\n  real(c_double), value :: step_increment\n  real(c_double), value :: page_increment\n  real(c_double), value :: page_size\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_adjustment_clamp_page (GtkAdjustment *adjustment, double lower, double upper);\nsubroutine gtk_adjustment_clamp_page(adjustment, lower, upper) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: adjustment\n  real(c_double), value :: lower\n  real(c_double), value :: upper\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_adjustment_get_value (GtkAdjustment *adjustment);\nfunction gtk_adjustment_get_value(adjustment) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: gtk_adjustment_get_value\n  type(c_ptr), value :: adjustment\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_adjustment_set_value (GtkAdjustment *adjustment, double value);\nsubroutine gtk_adjustment_set_value(adjustment, value) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: adjustment\n  real(c_double), value :: value\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_adjustment_get_lower (GtkAdjustment *adjustment);\nfunction gtk_adjustment_get_lower(adjustment) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: gtk_adjustment_get_lower\n  type(c_ptr), value :: adjustment\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_adjustment_set_lower (GtkAdjustment *adjustment, double lower);\nsubroutine gtk_adjustment_set_lower(adjustment, lower) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: adjustment\n  real(c_double), value :: lower\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_adjustment_get_upper (GtkAdjustment *adjustment);\nfunction gtk_adjustment_get_upper(adjustment) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: gtk_adjustment_get_upper\n  type(c_ptr), value :: adjustment\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_adjustment_set_upper (GtkAdjustment *adjustment, double upper);\nsubroutine gtk_adjustment_set_upper(adjustment, upper) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: adjustment\n  real(c_double), value :: upper\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_adjustment_get_step_increment (GtkAdjustment *adjustment);\nfunction gtk_adjustment_get_step_increment(adjustment) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: gtk_adjustment_get_step_increment\n  type(c_ptr), value :: adjustment\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_adjustment_set_step_increment (GtkAdjustment *adjustment, double step_increment);\nsubroutine gtk_adjustment_set_step_increment(adjustment, step_increment)&\n& bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: adjustment\n  real(c_double), value :: step_increment\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_adjustment_get_page_increment (GtkAdjustment *adjustment);\nfunction gtk_adjustment_get_page_increment(adjustment) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: gtk_adjustment_get_page_increment\n  type(c_ptr), value :: adjustment\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_adjustment_set_page_increment (GtkAdjustment *adjustment, double page_increment);\nsubroutine gtk_adjustment_set_page_increment(adjustment, page_increment)&\n& bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: adjustment\n  real(c_double), value :: page_increment\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_adjustment_get_page_size (GtkAdjustment *adjustment);\nfunction gtk_adjustment_get_page_size(adjustment) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: gtk_adjustment_get_page_size\n  type(c_ptr), value :: adjustment\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_adjustment_set_page_size (GtkAdjustment *adjustment, double page_size);\nsubroutine gtk_adjustment_set_page_size(adjustment, page_size) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: adjustment\n  real(c_double), value :: page_size\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_adjustment_configure (GtkAdjustment *adjustment, double value, double lower, double upper, double step_increment, double page_increment, double page_size);\nsubroutine gtk_adjustment_configure(adjustment, value, lower, upper,&\n& step_increment, page_increment, page_size) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: adjustment\n  real(c_double), value :: value\n  real(c_double), value :: lower\n  real(c_double), value :: upper\n  real(c_double), value :: step_increment\n  real(c_double), value :: page_increment\n  real(c_double), value :: page_size\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_adjustment_get_minimum_increment (GtkAdjustment *adjustment);\nfunction gtk_adjustment_get_minimum_increment(adjustment) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: gtk_adjustment_get_minimum_increment\n  type(c_ptr), value :: adjustment\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkalertdialog.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_4_10\n!gboolean gtk_alert_dialog_get_modal (GtkAlertDialog *self);\nfunction gtk_alert_dialog_get_modal(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_alert_dialog_get_modal\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_alert_dialog_set_modal (GtkAlertDialog *self, gboolean modal);\nsubroutine gtk_alert_dialog_set_modal(self, modal) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: modal\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!const char * gtk_alert_dialog_get_message (GtkAlertDialog *self);\nfunction gtk_alert_dialog_get_message(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_alert_dialog_get_message\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_alert_dialog_set_message (GtkAlertDialog *self, const char *message);\nsubroutine gtk_alert_dialog_set_message(self, message) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: message\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!const char * gtk_alert_dialog_get_detail (GtkAlertDialog *self);\nfunction gtk_alert_dialog_get_detail(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_alert_dialog_get_detail\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_alert_dialog_set_detail (GtkAlertDialog *self, const char *detail);\nsubroutine gtk_alert_dialog_set_detail(self, detail) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: detail\nend subroutine\n\n! \n!const char * const * gtk_alert_dialog_get_buttons (GtkAlertDialog *self);\nfunction gtk_alert_dialog_get_buttons(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_alert_dialog_get_buttons\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_alert_dialog_set_buttons (GtkAlertDialog *self, const char * const *labels);\nsubroutine gtk_alert_dialog_set_buttons(self, labels) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), dimension(*) :: labels\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!int gtk_alert_dialog_get_cancel_button (GtkAlertDialog *self);\nfunction gtk_alert_dialog_get_cancel_button(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_alert_dialog_get_cancel_button\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_alert_dialog_set_cancel_button (GtkAlertDialog *self, int button);\nsubroutine gtk_alert_dialog_set_cancel_button(self, button) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: button\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!int gtk_alert_dialog_get_default_button (GtkAlertDialog *self);\nfunction gtk_alert_dialog_get_default_button(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_alert_dialog_get_default_button\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_alert_dialog_set_default_button (GtkAlertDialog *self, int button);\nsubroutine gtk_alert_dialog_set_default_button(self, button) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: button\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_alert_dialog_choose (GtkAlertDialog *self, GtkWindow *parent, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine gtk_alert_dialog_choose(self, parent, cancellable, callback,&\n& user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: parent\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!int gtk_alert_dialog_choose_finish (GtkAlertDialog *self, GAsyncResult *result, GError **error);\nfunction gtk_alert_dialog_choose_finish(self, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_alert_dialog_choose_finish\n  type(c_ptr), value :: self\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_alert_dialog_show (GtkAlertDialog *self, GtkWindow *parent);\nsubroutine gtk_alert_dialog_show(self, parent) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: parent\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkapplication.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_application_get_type (void) ;\nfunction gtk_application_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_application_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkApplication * gtk_application_new (const char *application_id, GApplicationFlags flags);\nfunction gtk_application_new(application_id, flags) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: gtk_application_new\n  character(kind=c_char), dimension(*) :: application_id\n  integer(c_int), value :: flags\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_application_add_window (GtkApplication *application, GtkWindow *window);\nsubroutine gtk_application_add_window(application, window) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: application\n  type(c_ptr), value :: window\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_application_remove_window (GtkApplication *application, GtkWindow *window);\nsubroutine gtk_application_remove_window(application, window) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: application\n  type(c_ptr), value :: window\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GList * gtk_application_get_windows (GtkApplication *application);\nfunction gtk_application_get_windows(application) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_application_get_windows\n  type(c_ptr), value :: application\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GMenuModel * gtk_application_get_menubar (GtkApplication *application);\nfunction gtk_application_get_menubar(application) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_application_get_menubar\n  type(c_ptr), value :: application\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_application_set_menubar (GtkApplication *application, GMenuModel *menubar);\nsubroutine gtk_application_set_menubar(application, menubar) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: application\n  type(c_ptr), value :: menubar\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_application_inhibit (GtkApplication *application, GtkWindow *window, GtkApplicationInhibitFlags flags, const char *reason);\nfunction gtk_application_inhibit(application, window, flags, reason) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_application_inhibit\n  type(c_ptr), value :: application\n  type(c_ptr), value :: window\n  integer(c_int), value :: flags\n  character(kind=c_char), dimension(*) :: reason\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_application_uninhibit (GtkApplication *application, guint cookie);\nsubroutine gtk_application_uninhibit(application, cookie) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: application\n  integer(c_int), value :: cookie\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWindow * gtk_application_get_window_by_id (GtkApplication *application, guint id);\nfunction gtk_application_get_window_by_id(application, id) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_application_get_window_by_id\n  type(c_ptr), value :: application\n  integer(c_int), value :: id\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWindow * gtk_application_get_active_window (GtkApplication *application);\nfunction gtk_application_get_active_window(application) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_application_get_active_window\n  type(c_ptr), value :: application\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!char ** gtk_application_list_action_descriptions (GtkApplication *application);\nfunction gtk_application_list_action_descriptions(application) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_application_list_action_descriptions\n  type(c_ptr), value :: application\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!char ** gtk_application_get_accels_for_action (GtkApplication *application, const char *detailed_action_name);\nfunction gtk_application_get_accels_for_action(application,&\n& detailed_action_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_application_get_accels_for_action\n  type(c_ptr), value :: application\n  character(kind=c_char), dimension(*) :: detailed_action_name\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!char ** gtk_application_get_actions_for_accel (GtkApplication *application, const char *accel);\nfunction gtk_application_get_actions_for_accel(application, accel) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_application_get_actions_for_accel\n  type(c_ptr), value :: application\n  character(kind=c_char), dimension(*) :: accel\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_application_set_accels_for_action (GtkApplication *application, const char *detailed_action_name, const char * const *accels);\nsubroutine gtk_application_set_accels_for_action(application,&\n& detailed_action_name, accels) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: application\n  character(kind=c_char), dimension(*) :: detailed_action_name\n  type(c_ptr), dimension(*) :: accels\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GMenu * gtk_application_get_menu_by_id (GtkApplication *application, const char *id);\nfunction gtk_application_get_menu_by_id(application, id) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_application_get_menu_by_id\n  type(c_ptr), value :: application\n  character(kind=c_char), dimension(*) :: id\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkapplicationwindow.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_application_window_get_type (void) ;\nfunction gtk_application_window_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_application_window_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_application_window_new (GtkApplication *application);\nfunction gtk_application_window_new(application) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_application_window_new\n  type(c_ptr), value :: application\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_application_window_set_show_menubar (GtkApplicationWindow *window, gboolean show_menubar);\nsubroutine gtk_application_window_set_show_menubar(window, show_menubar)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: window\n  integer(c_int), value :: show_menubar\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_application_window_get_show_menubar (GtkApplicationWindow *window);\nfunction gtk_application_window_get_show_menubar(window) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_application_window_get_show_menubar\n  type(c_ptr), value :: window\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_application_window_get_id (GtkApplicationWindow *window);\nfunction gtk_application_window_get_id(window) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_application_window_get_id\n  type(c_ptr), value :: window\nend function\n\n! GDK_DEPRECATED_IN_4_18\n!void gtk_application_window_set_help_overlay (GtkApplicationWindow *window, GtkShortcutsWindow *help_overlay);\nsubroutine gtk_application_window_set_help_overlay(window, help_overlay)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: window\n  type(c_ptr), value :: help_overlay\nend subroutine\n\n! \n!GtkShortcutsWindow * gtk_application_window_get_help_overlay (GtkApplicationWindow *window);\nfunction gtk_application_window_get_help_overlay(window) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_application_window_get_help_overlay\n  type(c_ptr), value :: window\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkaspectframe.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_aspect_frame_get_type (void) ;\nfunction gtk_aspect_frame_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_aspect_frame_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_aspect_frame_new (float xalign, float yalign, float ratio, gboolean obey_child);\nfunction gtk_aspect_frame_new(xalign, yalign, ratio, obey_child) bind(c)\n  import :: c_ptr, c_float, c_int\n  implicit none\n  type(c_ptr) :: gtk_aspect_frame_new\n  real(c_float), value :: xalign\n  real(c_float), value :: yalign\n  real(c_float), value :: ratio\n  integer(c_int), value :: obey_child\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_aspect_frame_set_xalign (GtkAspectFrame *self, float xalign);\nsubroutine gtk_aspect_frame_set_xalign(self, xalign) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: self\n  real(c_float), value :: xalign\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!float gtk_aspect_frame_get_xalign (GtkAspectFrame *self);\nfunction gtk_aspect_frame_get_xalign(self) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: gtk_aspect_frame_get_xalign\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_aspect_frame_set_yalign (GtkAspectFrame *self, float yalign);\nsubroutine gtk_aspect_frame_set_yalign(self, yalign) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: self\n  real(c_float), value :: yalign\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!float gtk_aspect_frame_get_yalign (GtkAspectFrame *self);\nfunction gtk_aspect_frame_get_yalign(self) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: gtk_aspect_frame_get_yalign\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_aspect_frame_set_ratio (GtkAspectFrame *self, float ratio);\nsubroutine gtk_aspect_frame_set_ratio(self, ratio) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: self\n  real(c_float), value :: ratio\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!float gtk_aspect_frame_get_ratio (GtkAspectFrame *self);\nfunction gtk_aspect_frame_get_ratio(self) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: gtk_aspect_frame_get_ratio\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_aspect_frame_set_obey_child (GtkAspectFrame *self, gboolean obey_child);\nsubroutine gtk_aspect_frame_set_obey_child(self, obey_child) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: obey_child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_aspect_frame_get_obey_child (GtkAspectFrame *self);\nfunction gtk_aspect_frame_get_obey_child(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_aspect_frame_get_obey_child\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_aspect_frame_set_child (GtkAspectFrame *self, GtkWidget *child);\nsubroutine gtk_aspect_frame_set_child(self, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget *gtk_aspect_frame_get_child (GtkAspectFrame *self);\nfunction gtk_aspect_frame_get_child(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_aspect_frame_get_child\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkatcontext.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkAccessible * gtk_at_context_get_accessible (GtkATContext *self);\nfunction gtk_at_context_get_accessible(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_at_context_get_accessible\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkAccessibleRole gtk_at_context_get_accessible_role (GtkATContext *self);\nfunction gtk_at_context_get_accessible_role(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_at_context_get_accessible_role\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkATContext * gtk_at_context_create (GtkAccessibleRole accessible_role, GtkAccessible *accessible, GdkDisplay *display);\nfunction gtk_at_context_create(accessible_role, accessible, display) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_at_context_create\n  integer(c_int), value :: accessible_role\n  type(c_ptr), value :: accessible\n  type(c_ptr), value :: display\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkbinlayout.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkLayoutManager * gtk_bin_layout_new (void);\nfunction gtk_bin_layout_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_bin_layout_new\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkbitset.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_bitset_get_type (void) ;\nfunction gtk_bitset_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_bitset_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkBitset * gtk_bitset_ref (GtkBitset *self);\nfunction gtk_bitset_ref(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_bitset_ref\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_bitset_unref (GtkBitset *self);\nsubroutine gtk_bitset_unref(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_bitset_contains (const GtkBitset *self, guint value);\nfunction gtk_bitset_contains(self, value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_bitset_contains\n  type(c_ptr), value :: self\n  integer(c_int), value :: value\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_bitset_is_empty (const GtkBitset *self);\nfunction gtk_bitset_is_empty(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_bitset_is_empty\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_bitset_equals (const GtkBitset *self, const GtkBitset *other);\nfunction gtk_bitset_equals(self, other) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_bitset_equals\n  type(c_ptr), value :: self\n  type(c_ptr), value :: other\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint64 gtk_bitset_get_size (const GtkBitset *self);\nfunction gtk_bitset_get_size(self) bind(c)\n  import :: c_int64_t, c_ptr\n  implicit none\n  integer(c_int64_t) :: gtk_bitset_get_size\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint64 gtk_bitset_get_size_in_range (const GtkBitset *self, guint first, guint last);\nfunction gtk_bitset_get_size_in_range(self, first, last) bind(c)\n  import :: c_int64_t, c_ptr, c_int\n  implicit none\n  integer(c_int64_t) :: gtk_bitset_get_size_in_range\n  type(c_ptr), value :: self\n  integer(c_int), value :: first\n  integer(c_int), value :: last\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_bitset_get_nth (const GtkBitset *self, guint nth);\nfunction gtk_bitset_get_nth(self, nth) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_bitset_get_nth\n  type(c_ptr), value :: self\n  integer(c_int), value :: nth\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_bitset_get_minimum (const GtkBitset *self);\nfunction gtk_bitset_get_minimum(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_bitset_get_minimum\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_bitset_get_maximum (const GtkBitset *self);\nfunction gtk_bitset_get_maximum(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_bitset_get_maximum\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkBitset * gtk_bitset_new_empty (void);\nfunction gtk_bitset_new_empty() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_bitset_new_empty\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkBitset * gtk_bitset_copy (const GtkBitset *self);\nfunction gtk_bitset_copy(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_bitset_copy\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkBitset * gtk_bitset_new_range (guint start, guint n_items);\nfunction gtk_bitset_new_range(start, n_items) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_bitset_new_range\n  integer(c_int), value :: start\n  integer(c_int), value :: n_items\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_bitset_remove_all (GtkBitset *self);\nsubroutine gtk_bitset_remove_all(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_bitset_add (GtkBitset *self, guint value);\nfunction gtk_bitset_add(self, value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_bitset_add\n  type(c_ptr), value :: self\n  integer(c_int), value :: value\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_bitset_remove (GtkBitset *self, guint value);\nfunction gtk_bitset_remove(self, value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_bitset_remove\n  type(c_ptr), value :: self\n  integer(c_int), value :: value\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_bitset_add_range (GtkBitset *self, guint start, guint n_items);\nsubroutine gtk_bitset_add_range(self, start, n_items) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: start\n  integer(c_int), value :: n_items\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_bitset_remove_range (GtkBitset *self, guint start, guint n_items);\nsubroutine gtk_bitset_remove_range(self, start, n_items) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: start\n  integer(c_int), value :: n_items\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_bitset_add_range_closed (GtkBitset *self, guint first, guint last);\nsubroutine gtk_bitset_add_range_closed(self, first, last) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: first\n  integer(c_int), value :: last\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_bitset_remove_range_closed (GtkBitset *self, guint first, guint last);\nsubroutine gtk_bitset_remove_range_closed(self, first, last) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: first\n  integer(c_int), value :: last\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_bitset_add_rectangle (GtkBitset *self, guint start, guint width, guint height, guint stride);\nsubroutine gtk_bitset_add_rectangle(self, start, width, height, stride) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: start\n  integer(c_int), value :: width\n  integer(c_int), value :: height\n  integer(c_int), value :: stride\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_bitset_remove_rectangle (GtkBitset *self, guint start, guint width, guint height, guint stride);\nsubroutine gtk_bitset_remove_rectangle(self, start, width, height, stride)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: start\n  integer(c_int), value :: width\n  integer(c_int), value :: height\n  integer(c_int), value :: stride\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_bitset_union (GtkBitset *self, const GtkBitset *other);\nsubroutine gtk_bitset_union(self, other) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: other\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_bitset_intersect (GtkBitset *self, const GtkBitset *other);\nsubroutine gtk_bitset_intersect(self, other) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: other\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_bitset_subtract (GtkBitset *self, const GtkBitset *other);\nsubroutine gtk_bitset_subtract(self, other) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: other\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_bitset_difference (GtkBitset *self, const GtkBitset *other);\nsubroutine gtk_bitset_difference(self, other) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: other\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_bitset_shift_left (GtkBitset *self, guint amount);\nsubroutine gtk_bitset_shift_left(self, amount) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: amount\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_bitset_shift_right (GtkBitset *self, guint amount);\nsubroutine gtk_bitset_shift_right(self, amount) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: amount\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_bitset_splice (GtkBitset *self, guint position, guint removed, guint added);\nsubroutine gtk_bitset_splice(self, position, removed, added) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: position\n  integer(c_int), value :: removed\n  integer(c_int), value :: added\nend subroutine\n\n! GDK_AVAILABLE_IN_4_6\n!GType gtk_bitset_iter_get_type (void) ;\nfunction gtk_bitset_iter_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_bitset_iter_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_bitset_iter_init_first (GtkBitsetIter *iter, const GtkBitset *set, guint *value);\nfunction gtk_bitset_iter_init_first(iter, set, value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_bitset_iter_init_first\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: set\n  type(c_ptr), value :: value\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_bitset_iter_init_last (GtkBitsetIter *iter, const GtkBitset *set, guint *value);\nfunction gtk_bitset_iter_init_last(iter, set, value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_bitset_iter_init_last\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: set\n  type(c_ptr), value :: value\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_bitset_iter_init_at (GtkBitsetIter *iter, const GtkBitset *set, guint target, guint *value);\nfunction gtk_bitset_iter_init_at(iter, set, target, value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_bitset_iter_init_at\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: set\n  integer(c_int), value :: target\n  type(c_ptr), value :: value\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_bitset_iter_next (GtkBitsetIter *iter, guint *value);\nfunction gtk_bitset_iter_next(iter, value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_bitset_iter_next\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: value\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_bitset_iter_previous (GtkBitsetIter *iter, guint *value);\nfunction gtk_bitset_iter_previous(iter, value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_bitset_iter_previous\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: value\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_bitset_iter_get_value (const GtkBitsetIter *iter);\nfunction gtk_bitset_iter_get_value(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_bitset_iter_get_value\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_bitset_iter_is_valid (const GtkBitsetIter *iter);\nfunction gtk_bitset_iter_is_valid(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_bitset_iter_is_valid\n  type(c_ptr), value :: iter\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkbookmarklist.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkBookmarkList * gtk_bookmark_list_new (const char *filename, const char *attributes);\nfunction gtk_bookmark_list_new(filename, attributes) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_bookmark_list_new\n  character(kind=c_char), dimension(*) :: filename\n  character(kind=c_char), dimension(*) :: attributes\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_bookmark_list_get_filename (GtkBookmarkList *self);\nfunction gtk_bookmark_list_get_filename(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_bookmark_list_get_filename\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_bookmark_list_set_attributes (GtkBookmarkList *self, const char *attributes);\nsubroutine gtk_bookmark_list_set_attributes(self, attributes) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: attributes\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_bookmark_list_get_attributes (GtkBookmarkList *self);\nfunction gtk_bookmark_list_get_attributes(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_bookmark_list_get_attributes\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_bookmark_list_set_io_priority (GtkBookmarkList *self, int io_priority);\nsubroutine gtk_bookmark_list_set_io_priority(self, io_priority) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: io_priority\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_bookmark_list_get_io_priority (GtkBookmarkList *self);\nfunction gtk_bookmark_list_get_io_priority(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_bookmark_list_get_io_priority\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_bookmark_list_is_loading (GtkBookmarkList *self);\nfunction gtk_bookmark_list_is_loading(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_bookmark_list_is_loading\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkboolfilter.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkBoolFilter * gtk_bool_filter_new (GtkExpression *expression);\nfunction gtk_bool_filter_new(expression) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_bool_filter_new\n  type(c_ptr), value :: expression\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkExpression * gtk_bool_filter_get_expression (GtkBoolFilter *self);\nfunction gtk_bool_filter_get_expression(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_bool_filter_get_expression\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_bool_filter_set_expression (GtkBoolFilter *self, GtkExpression *expression);\nsubroutine gtk_bool_filter_set_expression(self, expression) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: expression\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_bool_filter_get_invert (GtkBoolFilter *self);\nfunction gtk_bool_filter_get_invert(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_bool_filter_get_invert\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_bool_filter_set_invert (GtkBoolFilter *self, gboolean invert);\nsubroutine gtk_bool_filter_set_invert(self, invert) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: invert\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkborder.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_border_get_type (void) ;\nfunction gtk_border_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_border_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkBorder *gtk_border_new (void) ;\nfunction gtk_border_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_border_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkBorder *gtk_border_copy (const GtkBorder *border_);\nfunction gtk_border_copy(border_) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_border_copy\n  type(c_ptr), value :: border_\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_border_free (GtkBorder *border_);\nsubroutine gtk_border_free(border_) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: border_\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkbox.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_box_get_type (void) ;\nfunction gtk_box_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_box_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_box_new (GtkOrientation orientation, int spacing);\nfunction gtk_box_new(orientation, spacing) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_box_new\n  integer(c_int), value :: orientation\n  integer(c_int), value :: spacing\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_box_set_homogeneous (GtkBox *box, gboolean homogeneous);\nsubroutine gtk_box_set_homogeneous(box, homogeneous) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: box\n  integer(c_int), value :: homogeneous\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_box_get_homogeneous (GtkBox *box);\nfunction gtk_box_get_homogeneous(box) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_box_get_homogeneous\n  type(c_ptr), value :: box\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_box_set_spacing (GtkBox *box, int spacing);\nsubroutine gtk_box_set_spacing(box, spacing) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: box\n  integer(c_int), value :: spacing\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_box_get_spacing (GtkBox *box);\nfunction gtk_box_get_spacing(box) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_box_get_spacing\n  type(c_ptr), value :: box\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_box_set_baseline_position (GtkBox *box, GtkBaselinePosition position);\nsubroutine gtk_box_set_baseline_position(box, position) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: box\n  integer(c_int), value :: position\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkBaselinePosition gtk_box_get_baseline_position (GtkBox *box);\nfunction gtk_box_get_baseline_position(box) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_box_get_baseline_position\n  type(c_ptr), value :: box\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_box_set_baseline_child (GtkBox *box, int child);\nsubroutine gtk_box_set_baseline_child(box, child) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: box\n  integer(c_int), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_4_12\n!int gtk_box_get_baseline_child (GtkBox *box);\nfunction gtk_box_get_baseline_child(box) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_box_get_baseline_child\n  type(c_ptr), value :: box\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_box_append (GtkBox *box, GtkWidget *child);\nsubroutine gtk_box_append(box, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: box\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_box_prepend (GtkBox *box, GtkWidget *child);\nsubroutine gtk_box_prepend(box, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: box\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_box_remove (GtkBox *box, GtkWidget *child);\nsubroutine gtk_box_remove(box, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: box\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_box_insert_child_after (GtkBox *box, GtkWidget *child, GtkWidget *sibling);\nsubroutine gtk_box_insert_child_after(box, child, sibling) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: box\n  type(c_ptr), value :: child\n  type(c_ptr), value :: sibling\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_box_reorder_child_after (GtkBox *box, GtkWidget *child, GtkWidget *sibling);\nsubroutine gtk_box_reorder_child_after(box, child, sibling) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: box\n  type(c_ptr), value :: child\n  type(c_ptr), value :: sibling\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkboxlayout.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkLayoutManager * gtk_box_layout_new (GtkOrientation orientation);\nfunction gtk_box_layout_new(orientation) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_box_layout_new\n  integer(c_int), value :: orientation\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_box_layout_set_homogeneous (GtkBoxLayout *box_layout, gboolean homogeneous);\nsubroutine gtk_box_layout_set_homogeneous(box_layout, homogeneous) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: box_layout\n  integer(c_int), value :: homogeneous\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_box_layout_get_homogeneous (GtkBoxLayout *box_layout);\nfunction gtk_box_layout_get_homogeneous(box_layout) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_box_layout_get_homogeneous\n  type(c_ptr), value :: box_layout\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_box_layout_set_spacing (GtkBoxLayout *box_layout, guint spacing);\nsubroutine gtk_box_layout_set_spacing(box_layout, spacing) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: box_layout\n  integer(c_int), value :: spacing\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_box_layout_get_spacing (GtkBoxLayout *box_layout);\nfunction gtk_box_layout_get_spacing(box_layout) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_box_layout_get_spacing\n  type(c_ptr), value :: box_layout\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_box_layout_set_baseline_position (GtkBoxLayout *box_layout, GtkBaselinePosition position);\nsubroutine gtk_box_layout_set_baseline_position(box_layout, position) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: box_layout\n  integer(c_int), value :: position\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkBaselinePosition gtk_box_layout_get_baseline_position (GtkBoxLayout *box_layout);\nfunction gtk_box_layout_get_baseline_position(box_layout) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_box_layout_get_baseline_position\n  type(c_ptr), value :: box_layout\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_box_layout_set_baseline_child (GtkBoxLayout *box_layout, int child);\nsubroutine gtk_box_layout_set_baseline_child(box_layout, child) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: box_layout\n  integer(c_int), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_4_12\n!int gtk_box_layout_get_baseline_child (GtkBoxLayout *box_layout);\nfunction gtk_box_layout_get_baseline_child(box_layout) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_box_layout_get_baseline_child\n  type(c_ptr), value :: box_layout\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkbuildable.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_buildable_get_type (void) ;\nfunction gtk_buildable_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_buildable_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_buildable_get_buildable_id (GtkBuildable *buildable);\nfunction gtk_buildable_get_buildable_id(buildable) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_buildable_get_buildable_id\n  type(c_ptr), value :: buildable\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_buildable_parse_context_push (GtkBuildableParseContext *context, const GtkBuildableParser *parser, gpointer user_data);\nsubroutine gtk_buildable_parse_context_push(context, parser, user_data) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: parser\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gpointer gtk_buildable_parse_context_pop (GtkBuildableParseContext *context);\nfunction gtk_buildable_parse_context_pop(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_buildable_parse_context_pop\n  type(c_ptr), value :: context\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_buildable_parse_context_get_element (GtkBuildableParseContext *context);\nfunction gtk_buildable_parse_context_get_element(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_buildable_parse_context_get_element\n  type(c_ptr), value :: context\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GPtrArray *gtk_buildable_parse_context_get_element_stack (GtkBuildableParseContext *context);\nfunction gtk_buildable_parse_context_get_element_stack(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_buildable_parse_context_get_element_stack\n  type(c_ptr), value :: context\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_buildable_parse_context_get_position (GtkBuildableParseContext *context, int *line_number, int *char_number);\nsubroutine gtk_buildable_parse_context_get_position(context, line_number,&\n& char_number) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: line_number\n  type(c_ptr), value :: char_number\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkbuilder.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GQuark gtk_builder_error_quark (void);\nfunction gtk_builder_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: gtk_builder_error_quark\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_builder_get_type (void) ;\nfunction gtk_builder_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_builder_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkBuilder* gtk_builder_new (void);\nfunction gtk_builder_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_builder_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_builder_add_from_file (GtkBuilder *builder, const char *filename, GError **error);\nfunction gtk_builder_add_from_file(builder, filename, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_builder_add_from_file\n  type(c_ptr), value :: builder\n  character(kind=c_char), dimension(*) :: filename\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_builder_add_from_resource (GtkBuilder *builder, const char *resource_path, GError **error);\nfunction gtk_builder_add_from_resource(builder, resource_path, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_builder_add_from_resource\n  type(c_ptr), value :: builder\n  character(kind=c_char), dimension(*) :: resource_path\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_builder_add_from_string (GtkBuilder *builder, const char *buffer, gssize length, GError **error);\nfunction gtk_builder_add_from_string(builder, buffer, length, error) bind(c)\n  import :: c_int, c_ptr, c_char, c_size_t\n  implicit none\n  integer(c_int) :: gtk_builder_add_from_string\n  type(c_ptr), value :: builder\n  character(kind=c_char), dimension(*) :: buffer\n  integer(c_size_t), value :: length\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_builder_add_objects_from_file (GtkBuilder *builder, const char *filename, const char **object_ids, GError **error);\nfunction gtk_builder_add_objects_from_file(builder, filename, object_ids,&\n& error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_builder_add_objects_from_file\n  type(c_ptr), value :: builder\n  character(kind=c_char), dimension(*) :: filename\n  type(c_ptr), dimension(*) :: object_ids\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_builder_add_objects_from_resource(GtkBuilder *builder, const char *resource_path, const char **object_ids, GError **error);\nfunction gtk_builder_add_objects_from_resource(builder, resource_path,&\n& object_ids, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_builder_add_objects_from_resource\n  type(c_ptr), value :: builder\n  character(kind=c_char), dimension(*) :: resource_path\n  type(c_ptr), dimension(*) :: object_ids\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_builder_add_objects_from_string (GtkBuilder *builder, const char *buffer, gssize length, const char **object_ids, GError **error);\nfunction gtk_builder_add_objects_from_string(builder, buffer, length,&\n& object_ids, error) bind(c)\n  import :: c_int, c_ptr, c_char, c_size_t\n  implicit none\n  integer(c_int) :: gtk_builder_add_objects_from_string\n  type(c_ptr), value :: builder\n  character(kind=c_char), dimension(*) :: buffer\n  integer(c_size_t), value :: length\n  type(c_ptr), dimension(*) :: object_ids\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GObject* gtk_builder_get_object (GtkBuilder *builder, const char *name);\nfunction gtk_builder_get_object(builder, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_builder_get_object\n  type(c_ptr), value :: builder\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GSList* gtk_builder_get_objects (GtkBuilder *builder);\nfunction gtk_builder_get_objects(builder) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_builder_get_objects\n  type(c_ptr), value :: builder\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_builder_expose_object (GtkBuilder *builder, const char *name, GObject *object);\nsubroutine gtk_builder_expose_object(builder, name, object) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: builder\n  character(kind=c_char), dimension(*) :: name\n  type(c_ptr), value :: object\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GObject * gtk_builder_get_current_object (GtkBuilder *builder);\nfunction gtk_builder_get_current_object(builder) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_builder_get_current_object\n  type(c_ptr), value :: builder\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_builder_set_current_object (GtkBuilder *builder, GObject *current_object);\nsubroutine gtk_builder_set_current_object(builder, current_object) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: builder\n  type(c_ptr), value :: current_object\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_builder_set_translation_domain (GtkBuilder *builder, const char *domain);\nsubroutine gtk_builder_set_translation_domain(builder, domain) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: builder\n  character(kind=c_char), dimension(*) :: domain\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_builder_get_translation_domain (GtkBuilder *builder);\nfunction gtk_builder_get_translation_domain(builder) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_builder_get_translation_domain\n  type(c_ptr), value :: builder\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkBuilderScope *gtk_builder_get_scope (GtkBuilder *builder);\nfunction gtk_builder_get_scope(builder) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_builder_get_scope\n  type(c_ptr), value :: builder\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_builder_set_scope (GtkBuilder *builder, GtkBuilderScope *scope);\nsubroutine gtk_builder_set_scope(builder, scope) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: builder\n  type(c_ptr), value :: scope\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_builder_get_type_from_name (GtkBuilder *builder, const char *type_name);\nfunction gtk_builder_get_type_from_name(builder, type_name) bind(c)\n  import :: c_size_t, c_ptr, c_char\n  implicit none\n  integer(c_size_t) :: gtk_builder_get_type_from_name\n  type(c_ptr), value :: builder\n  character(kind=c_char), dimension(*) :: type_name\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_builder_value_from_string (GtkBuilder *builder, GParamSpec *pspec, const char *string, GValue *value, GError **error);\nfunction gtk_builder_value_from_string(builder, pspec, string, value, error)&\n& bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_builder_value_from_string\n  type(c_ptr), value :: builder\n  type(c_ptr), value :: pspec\n  character(kind=c_char), dimension(*) :: string\n  type(c_ptr), value :: value\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_builder_value_from_string_type (GtkBuilder *builder, GType type, const char *string, GValue *value, GError **error);\nfunction gtk_builder_value_from_string_type(builder, type, string, value,&\n& error) bind(c)\n  import :: c_int, c_ptr, c_size_t, c_char\n  implicit none\n  integer(c_int) :: gtk_builder_value_from_string_type\n  type(c_ptr), value :: builder\n  integer(c_size_t), value :: type\n  character(kind=c_char), dimension(*) :: string\n  type(c_ptr), value :: value\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkBuilder * gtk_builder_new_from_file (const char *filename);\nfunction gtk_builder_new_from_file(filename) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_builder_new_from_file\n  character(kind=c_char), dimension(*) :: filename\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkBuilder * gtk_builder_new_from_resource (const char *resource_path);\nfunction gtk_builder_new_from_resource(resource_path) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_builder_new_from_resource\n  character(kind=c_char), dimension(*) :: resource_path\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkBuilder * gtk_builder_new_from_string (const char *string, gssize length);\nfunction gtk_builder_new_from_string(string, length) bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr) :: gtk_builder_new_from_string\n  character(kind=c_char), dimension(*) :: string\n  integer(c_size_t), value :: length\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GClosure * gtk_builder_create_closure (GtkBuilder *builder, const char *function_name, GtkBuilderClosureFlags flags, GObject *object, GError **error);\nfunction gtk_builder_create_closure(builder, function_name, flags, object,&\n& error) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: gtk_builder_create_closure\n  type(c_ptr), value :: builder\n  character(kind=c_char), dimension(*) :: function_name\n  integer(c_int), value :: flags\n  type(c_ptr), value :: object\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_builder_extend_with_template (GtkBuilder *builder, GObject *object, GType template_type, const char *buffer, gssize length, GError **error);\nfunction gtk_builder_extend_with_template(builder, object, template_type,&\n& buffer, length, error) bind(c)\n  import :: c_int, c_ptr, c_size_t, c_char\n  implicit none\n  integer(c_int) :: gtk_builder_extend_with_template\n  type(c_ptr), value :: builder\n  type(c_ptr), value :: object\n  integer(c_size_t), value :: template_type\n  character(kind=c_char), dimension(*) :: buffer\n  integer(c_size_t), value :: length\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkbuilderlistitemfactory.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_builder_list_item_factory_get_type (void) ;\nfunction gtk_builder_list_item_factory_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_builder_list_item_factory_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkListItemFactory * gtk_builder_list_item_factory_new_from_bytes (GtkBuilderScope *scope, GBytes *bytes);\nfunction gtk_builder_list_item_factory_new_from_bytes(scope, bytes) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_builder_list_item_factory_new_from_bytes\n  type(c_ptr), value :: scope\n  type(c_ptr), value :: bytes\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkListItemFactory * gtk_builder_list_item_factory_new_from_resource (GtkBuilderScope *scope, const char *resource_path);\nfunction gtk_builder_list_item_factory_new_from_resource(scope, resource_path)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_builder_list_item_factory_new_from_resource\n  type(c_ptr), value :: scope\n  character(kind=c_char), dimension(*) :: resource_path\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GBytes * gtk_builder_list_item_factory_get_bytes (GtkBuilderListItemFactory *self) ;\nfunction gtk_builder_list_item_factory_get_bytes(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_builder_list_item_factory_get_bytes\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_builder_list_item_factory_get_resource (GtkBuilderListItemFactory *self) ;\nfunction gtk_builder_list_item_factory_get_resource(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_builder_list_item_factory_get_resource\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkBuilderScope * gtk_builder_list_item_factory_get_scope (GtkBuilderListItemFactory *self) ;\nfunction gtk_builder_list_item_factory_get_scope(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_builder_list_item_factory_get_scope\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkbuilderscope.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkBuilderScope * gtk_builder_cscope_new (void);\nfunction gtk_builder_cscope_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_builder_cscope_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_builder_cscope_add_callback_symbol (GtkBuilderCScope *self, const char *callback_name, GCallback callback_symbol);\nsubroutine gtk_builder_cscope_add_callback_symbol(self, callback_name,&\n& callback_symbol) bind(c)\n  import :: c_ptr, c_char, c_funptr\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: callback_name\n  type(c_funptr), value :: callback_symbol\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GCallback gtk_builder_cscope_lookup_callback_symbol(GtkBuilderCScope *self, const char *callback_name);\nfunction gtk_builder_cscope_lookup_callback_symbol(self, callback_name) bind(c)\n  import :: c_funptr, c_ptr, c_char\n  implicit none\n  type(c_funptr) :: gtk_builder_cscope_lookup_callback_symbol\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: callback_name\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkbutton.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_button_get_type (void) ;\nfunction gtk_button_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_button_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_button_new (void);\nfunction gtk_button_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_button_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_button_new_with_label (const char *label);\nfunction gtk_button_new_with_label(label) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_button_new_with_label\n  character(kind=c_char), dimension(*) :: label\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_button_new_from_icon_name (const char *icon_name);\nfunction gtk_button_new_from_icon_name(icon_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_button_new_from_icon_name\n  character(kind=c_char), dimension(*) :: icon_name\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_button_new_with_mnemonic (const char *label);\nfunction gtk_button_new_with_mnemonic(label) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_button_new_with_mnemonic\n  character(kind=c_char), dimension(*) :: label\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_button_set_has_frame (GtkButton *button, gboolean has_frame);\nsubroutine gtk_button_set_has_frame(button, has_frame) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: button\n  integer(c_int), value :: has_frame\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_button_get_has_frame (GtkButton *button);\nfunction gtk_button_get_has_frame(button) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_button_get_has_frame\n  type(c_ptr), value :: button\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_button_set_label (GtkButton *button, const char *label);\nsubroutine gtk_button_set_label(button, label) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: button\n  character(kind=c_char), dimension(*) :: label\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_button_get_label (GtkButton *button);\nfunction gtk_button_get_label(button) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_button_get_label\n  type(c_ptr), value :: button\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_button_set_use_underline (GtkButton *button, gboolean use_underline);\nsubroutine gtk_button_set_use_underline(button, use_underline) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: button\n  integer(c_int), value :: use_underline\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_button_get_use_underline (GtkButton *button);\nfunction gtk_button_get_use_underline(button) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_button_get_use_underline\n  type(c_ptr), value :: button\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_button_set_icon_name (GtkButton *button, const char *icon_name);\nsubroutine gtk_button_set_icon_name(button, icon_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: button\n  character(kind=c_char), dimension(*) :: icon_name\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_button_get_icon_name (GtkButton *button);\nfunction gtk_button_get_icon_name(button) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_button_get_icon_name\n  type(c_ptr), value :: button\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_button_set_child (GtkButton *button, GtkWidget *child);\nsubroutine gtk_button_set_child(button, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: button\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_button_get_child (GtkButton *button);\nfunction gtk_button_get_child(button) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_button_get_child\n  type(c_ptr), value :: button\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_button_set_can_shrink (GtkButton *button, gboolean can_shrink);\nsubroutine gtk_button_set_can_shrink(button, can_shrink) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: button\n  integer(c_int), value :: can_shrink\nend subroutine\n\n! GDK_AVAILABLE_IN_4_12\n!gboolean gtk_button_get_can_shrink (GtkButton *button);\nfunction gtk_button_get_can_shrink(button) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_button_get_can_shrink\n  type(c_ptr), value :: button\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkcalendar.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_calendar_get_type (void) ;\nfunction gtk_calendar_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_calendar_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_calendar_new (void);\nfunction gtk_calendar_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_calendar_new\nend function\n\n! GDK_DEPRECATED_IN_4_20_FOR (gtk_calendar_set_date)\n!void gtk_calendar_select_day (GtkCalendar *self, GDateTime *date);\nsubroutine gtk_calendar_select_day(self, date) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: date\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_calendar_mark_day (GtkCalendar *calendar, guint day);\nsubroutine gtk_calendar_mark_day(calendar, day) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: calendar\n  integer(c_int), value :: day\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_calendar_unmark_day (GtkCalendar *calendar, guint day);\nsubroutine gtk_calendar_unmark_day(calendar, day) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: calendar\n  integer(c_int), value :: day\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_calendar_clear_marks (GtkCalendar *calendar);\nsubroutine gtk_calendar_clear_marks(calendar) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: calendar\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_calendar_set_show_week_numbers (GtkCalendar *self, gboolean value);\nsubroutine gtk_calendar_set_show_week_numbers(self, value) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: value\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_calendar_get_show_week_numbers (GtkCalendar *self);\nfunction gtk_calendar_get_show_week_numbers(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_calendar_get_show_week_numbers\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_calendar_set_show_heading (GtkCalendar *self, gboolean value);\nsubroutine gtk_calendar_set_show_heading(self, value) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: value\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_calendar_get_show_heading (GtkCalendar *self);\nfunction gtk_calendar_get_show_heading(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_calendar_get_show_heading\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_calendar_set_show_day_names (GtkCalendar *self, gboolean value);\nsubroutine gtk_calendar_set_show_day_names(self, value) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: value\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_calendar_get_show_day_names (GtkCalendar *self);\nfunction gtk_calendar_get_show_day_names(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_calendar_get_show_day_names\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gtk_calendar_set_day (GtkCalendar *self, int day);\nsubroutine gtk_calendar_set_day(self, day) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: day\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!int gtk_calendar_get_day (GtkCalendar *self);\nfunction gtk_calendar_get_day(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_calendar_get_day\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gtk_calendar_set_month (GtkCalendar *self, int month);\nsubroutine gtk_calendar_set_month(self, month) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: month\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!int gtk_calendar_get_month (GtkCalendar *self);\nfunction gtk_calendar_get_month(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_calendar_get_month\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gtk_calendar_set_year (GtkCalendar *self, int year);\nsubroutine gtk_calendar_set_year(self, year) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: year\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!int gtk_calendar_get_year (GtkCalendar *self);\nfunction gtk_calendar_get_year(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_calendar_get_year\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_20\n!void gtk_calendar_set_date (GtkCalendar *self, GDateTime *date);\nsubroutine gtk_calendar_set_date(self, date) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: date\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GDateTime * gtk_calendar_get_date (GtkCalendar *self);\nfunction gtk_calendar_get_date(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_calendar_get_date\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_calendar_get_day_is_marked (GtkCalendar *calendar, guint day);\nfunction gtk_calendar_get_day_is_marked(calendar, day) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_calendar_get_day_is_marked\n  type(c_ptr), value :: calendar\n  integer(c_int), value :: day\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkcenterbox.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_center_box_get_type (void) ;\nfunction gtk_center_box_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_center_box_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget *gtk_center_box_new (void);\nfunction gtk_center_box_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_center_box_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_center_box_set_start_widget (GtkCenterBox *self, GtkWidget *child);\nsubroutine gtk_center_box_set_start_widget(self, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_center_box_set_center_widget (GtkCenterBox *self, GtkWidget *child);\nsubroutine gtk_center_box_set_center_widget(self, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_center_box_set_end_widget (GtkCenterBox *self, GtkWidget *child);\nsubroutine gtk_center_box_set_end_widget(self, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_center_box_get_start_widget (GtkCenterBox *self);\nfunction gtk_center_box_get_start_widget(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_center_box_get_start_widget\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_center_box_get_center_widget (GtkCenterBox *self);\nfunction gtk_center_box_get_center_widget(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_center_box_get_center_widget\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_center_box_get_end_widget (GtkCenterBox *self);\nfunction gtk_center_box_get_end_widget(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_center_box_get_end_widget\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_center_box_set_baseline_position (GtkCenterBox *self, GtkBaselinePosition position);\nsubroutine gtk_center_box_set_baseline_position(self, position) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: position\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkBaselinePosition gtk_center_box_get_baseline_position (GtkCenterBox *self);\nfunction gtk_center_box_get_baseline_position(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_center_box_get_baseline_position\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_center_box_set_shrink_center_last (GtkCenterBox *self, gboolean shrink_center_last);\nsubroutine gtk_center_box_set_shrink_center_last(self, shrink_center_last)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: shrink_center_last\nend subroutine\n\n! GDK_AVAILABLE_IN_4_12\n!gboolean gtk_center_box_get_shrink_center_last (GtkCenterBox *self);\nfunction gtk_center_box_get_shrink_center_last(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_center_box_get_shrink_center_last\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkcenterlayout.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkLayoutManager * gtk_center_layout_new (void);\nfunction gtk_center_layout_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_center_layout_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_center_layout_set_orientation (GtkCenterLayout *self, GtkOrientation orientation);\nsubroutine gtk_center_layout_set_orientation(self, orientation) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: orientation\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkOrientation gtk_center_layout_get_orientation (GtkCenterLayout *self);\nfunction gtk_center_layout_get_orientation(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_center_layout_get_orientation\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_center_layout_set_baseline_position (GtkCenterLayout *self, GtkBaselinePosition baseline_position);\nsubroutine gtk_center_layout_set_baseline_position(self, baseline_position)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: baseline_position\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkBaselinePosition gtk_center_layout_get_baseline_position (GtkCenterLayout *self);\nfunction gtk_center_layout_get_baseline_position(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_center_layout_get_baseline_position\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_center_layout_set_start_widget (GtkCenterLayout *self, GtkWidget *widget);\nsubroutine gtk_center_layout_set_start_widget(self, widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: widget\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_center_layout_get_start_widget (GtkCenterLayout *self);\nfunction gtk_center_layout_get_start_widget(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_center_layout_get_start_widget\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_center_layout_set_center_widget (GtkCenterLayout *self, GtkWidget *widget);\nsubroutine gtk_center_layout_set_center_widget(self, widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: widget\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_center_layout_get_center_widget (GtkCenterLayout *self);\nfunction gtk_center_layout_get_center_widget(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_center_layout_get_center_widget\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_center_layout_set_end_widget (GtkCenterLayout *self, GtkWidget *widget);\nsubroutine gtk_center_layout_set_end_widget(self, widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: widget\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_center_layout_get_end_widget (GtkCenterLayout *self);\nfunction gtk_center_layout_get_end_widget(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_center_layout_get_end_widget\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_center_layout_set_shrink_center_last (GtkCenterLayout *self, gboolean shrink_center_last);\nsubroutine gtk_center_layout_set_shrink_center_last(self, shrink_center_last)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: shrink_center_last\nend subroutine\n\n! GDK_AVAILABLE_IN_4_12\n!gboolean gtk_center_layout_get_shrink_center_last (GtkCenterLayout *self);\nfunction gtk_center_layout_get_shrink_center_last(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_center_layout_get_shrink_center_last\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkcheckbutton.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_check_button_get_type (void) ;\nfunction gtk_check_button_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_check_button_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_check_button_new (void);\nfunction gtk_check_button_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_check_button_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_check_button_new_with_label (const char *label);\nfunction gtk_check_button_new_with_label(label) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_check_button_new_with_label\n  character(kind=c_char), dimension(*) :: label\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_check_button_new_with_mnemonic (const char *label);\nfunction gtk_check_button_new_with_mnemonic(label) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_check_button_new_with_mnemonic\n  character(kind=c_char), dimension(*) :: label\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_check_button_set_inconsistent (GtkCheckButton *check_button, gboolean inconsistent);\nsubroutine gtk_check_button_set_inconsistent(check_button, inconsistent)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: check_button\n  integer(c_int), value :: inconsistent\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_check_button_get_inconsistent (GtkCheckButton *check_button);\nfunction gtk_check_button_get_inconsistent(check_button) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_check_button_get_inconsistent\n  type(c_ptr), value :: check_button\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_check_button_get_active (GtkCheckButton *self);\nfunction gtk_check_button_get_active(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_check_button_get_active\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_check_button_set_active (GtkCheckButton *self, gboolean setting);\nsubroutine gtk_check_button_set_active(self, setting) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: setting\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_check_button_get_label (GtkCheckButton *self);\nfunction gtk_check_button_get_label(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_check_button_get_label\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_check_button_set_label (GtkCheckButton *self, const char *label);\nsubroutine gtk_check_button_set_label(self, label) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: label\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_check_button_set_group (GtkCheckButton *self, GtkCheckButton *group);\nsubroutine gtk_check_button_set_group(self, group) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: group\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_check_button_get_use_underline (GtkCheckButton *self);\nfunction gtk_check_button_get_use_underline(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_check_button_get_use_underline\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_check_button_set_use_underline (GtkCheckButton *self, gboolean setting);\nsubroutine gtk_check_button_set_use_underline(self, setting) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: setting\nend subroutine\n\n! GDK_AVAILABLE_IN_4_8\n!GtkWidget * gtk_check_button_get_child (GtkCheckButton *button);\nfunction gtk_check_button_get_child(button) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_check_button_get_child\n  type(c_ptr), value :: button\nend function\n\n! GDK_AVAILABLE_IN_4_8\n!void gtk_check_button_set_child (GtkCheckButton *button, GtkWidget *child);\nsubroutine gtk_check_button_set_child(button, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: button\n  type(c_ptr), value :: child\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkcolordialog.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_4_10\n!GtkColorDialog *gtk_color_dialog_new (void);\nfunction gtk_color_dialog_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_color_dialog_new\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!const char * gtk_color_dialog_get_title (GtkColorDialog *self);\nfunction gtk_color_dialog_get_title(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_color_dialog_get_title\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_color_dialog_set_title (GtkColorDialog *self, const char *title);\nsubroutine gtk_color_dialog_set_title(self, title) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: title\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!gboolean gtk_color_dialog_get_modal (GtkColorDialog *self);\nfunction gtk_color_dialog_get_modal(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_color_dialog_get_modal\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_color_dialog_set_modal (GtkColorDialog *self, gboolean modal);\nsubroutine gtk_color_dialog_set_modal(self, modal) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: modal\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!gboolean gtk_color_dialog_get_with_alpha (GtkColorDialog *self);\nfunction gtk_color_dialog_get_with_alpha(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_color_dialog_get_with_alpha\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_color_dialog_set_with_alpha (GtkColorDialog *self, gboolean with_alpha);\nsubroutine gtk_color_dialog_set_with_alpha(self, with_alpha) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: with_alpha\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_color_dialog_choose_rgba (GtkColorDialog *self, GtkWindow *parent, const GdkRGBA *initial_color, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine gtk_color_dialog_choose_rgba(self, parent, initial_color,&\n& cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: parent\n  type(c_ptr), value :: initial_color\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!GdkRGBA * gtk_color_dialog_choose_rgba_finish (GtkColorDialog *self, GAsyncResult *result, GError **error);\nfunction gtk_color_dialog_choose_rgba_finish(self, result, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_color_dialog_choose_rgba_finish\n  type(c_ptr), value :: self\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkcolordialogbutton.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_4_10\n!GtkWidget * gtk_color_dialog_button_new (GtkColorDialog *dialog);\nfunction gtk_color_dialog_button_new(dialog) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_color_dialog_button_new\n  type(c_ptr), value :: dialog\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!GtkColorDialog *gtk_color_dialog_button_get_dialog (GtkColorDialogButton *self);\nfunction gtk_color_dialog_button_get_dialog(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_color_dialog_button_get_dialog\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_color_dialog_button_set_dialog (GtkColorDialogButton *self, GtkColorDialog *dialog);\nsubroutine gtk_color_dialog_button_set_dialog(self, dialog) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: dialog\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!const GdkRGBA * gtk_color_dialog_button_get_rgba (GtkColorDialogButton *self);\nfunction gtk_color_dialog_button_get_rgba(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_color_dialog_button_get_rgba\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_color_dialog_button_set_rgba (GtkColorDialogButton *self, const GdkRGBA *color);\nsubroutine gtk_color_dialog_button_set_rgba(self, color) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: color\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkcolorutils.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!void gtk_hsv_to_rgb (float h, float s, float v, float *r, float *g, float *b);\nsubroutine gtk_hsv_to_rgb(h, s, v, r, g, b) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float), value :: h\n  real(c_float), value :: s\n  real(c_float), value :: v\n  type(c_ptr), value :: r\n  type(c_ptr), value :: g\n  type(c_ptr), value :: b\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_rgb_to_hsv (float r, float g, float b, float *h, float *s, float *v);\nsubroutine gtk_rgb_to_hsv(r, g, b, h, s, v) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float), value :: r\n  real(c_float), value :: g\n  real(c_float), value :: b\n  type(c_ptr), value :: h\n  type(c_ptr), value :: s\n  type(c_ptr), value :: v\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkcolumnview.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_column_view_get_type (void) ;\nfunction gtk_column_view_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_column_view_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_column_view_new (GtkSelectionModel *model);\nfunction gtk_column_view_new(model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_column_view_new\n  type(c_ptr), value :: model\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GListModel * gtk_column_view_get_columns (GtkColumnView *self);\nfunction gtk_column_view_get_columns(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_column_view_get_columns\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_column_view_append_column (GtkColumnView *self, GtkColumnViewColumn *column);\nsubroutine gtk_column_view_append_column(self, column) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: column\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_column_view_remove_column (GtkColumnView *self, GtkColumnViewColumn *column);\nsubroutine gtk_column_view_remove_column(self, column) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: column\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_column_view_insert_column (GtkColumnView *self, guint position, GtkColumnViewColumn *column);\nsubroutine gtk_column_view_insert_column(self, position, column) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: position\n  type(c_ptr), value :: column\nend subroutine\n\n! \n!GtkSelectionModel * gtk_column_view_get_model (GtkColumnView *self);\nfunction gtk_column_view_get_model(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_column_view_get_model\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_column_view_set_model (GtkColumnView *self, GtkSelectionModel *model);\nsubroutine gtk_column_view_set_model(self, model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: model\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_column_view_get_show_row_separators (GtkColumnView *self);\nfunction gtk_column_view_get_show_row_separators(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_column_view_get_show_row_separators\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_column_view_set_show_row_separators (GtkColumnView *self, gboolean show_row_separators);\nsubroutine gtk_column_view_set_show_row_separators(self, show_row_separators)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: show_row_separators\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_column_view_get_show_column_separators (GtkColumnView *self);\nfunction gtk_column_view_get_show_column_separators(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_column_view_get_show_column_separators\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_column_view_set_show_column_separators (GtkColumnView *self, gboolean show_column_separators);\nsubroutine gtk_column_view_set_show_column_separators(self,&\n& show_column_separators) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: show_column_separators\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkSorter * gtk_column_view_get_sorter (GtkColumnView *self);\nfunction gtk_column_view_get_sorter(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_column_view_get_sorter\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_column_view_sort_by_column (GtkColumnView *self, GtkColumnViewColumn *column, GtkSortType direction);\nsubroutine gtk_column_view_sort_by_column(self, column, direction) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: column\n  integer(c_int), value :: direction\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_column_view_set_single_click_activate (GtkColumnView *self, gboolean single_click_activate);\nsubroutine gtk_column_view_set_single_click_activate(self,&\n& single_click_activate) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: single_click_activate\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_column_view_get_single_click_activate (GtkColumnView *self);\nfunction gtk_column_view_get_single_click_activate(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_column_view_get_single_click_activate\n  type(c_ptr), value :: self\nend function\n\n! \n!void gtk_column_view_set_reorderable (GtkColumnView *self, gboolean reorderable);\nsubroutine gtk_column_view_set_reorderable(self, reorderable) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: reorderable\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_column_view_get_reorderable (GtkColumnView *self);\nfunction gtk_column_view_get_reorderable(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_column_view_get_reorderable\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_column_view_set_enable_rubberband (GtkColumnView *self, gboolean enable_rubberband);\nsubroutine gtk_column_view_set_enable_rubberband(self, enable_rubberband)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: enable_rubberband\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_column_view_get_enable_rubberband (GtkColumnView *self);\nfunction gtk_column_view_get_enable_rubberband(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_column_view_get_enable_rubberband\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_column_view_set_tab_behavior (GtkColumnView *self, GtkListTabBehavior tab_behavior);\nsubroutine gtk_column_view_set_tab_behavior(self, tab_behavior) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: tab_behavior\nend subroutine\n\n! \n!GtkListTabBehavior gtk_column_view_get_tab_behavior (GtkColumnView *self);\nfunction gtk_column_view_get_tab_behavior(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_column_view_get_tab_behavior\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_column_view_set_row_factory (GtkColumnView *self, GtkListItemFactory *factory);\nsubroutine gtk_column_view_set_row_factory(self, factory) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: factory\nend subroutine\n\n! \n!GtkListItemFactory * gtk_column_view_get_row_factory (GtkColumnView *self);\nfunction gtk_column_view_get_row_factory(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_column_view_get_row_factory\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_column_view_set_header_factory (GtkColumnView *self, GtkListItemFactory *factory);\nsubroutine gtk_column_view_set_header_factory(self, factory) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: factory\nend subroutine\n\n! \n!GtkListItemFactory * gtk_column_view_get_header_factory (GtkColumnView *self);\nfunction gtk_column_view_get_header_factory(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_column_view_get_header_factory\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_column_view_scroll_to (GtkColumnView *self, guint pos, GtkColumnViewColumn *column, GtkListScrollFlags flags, GtkScrollInfo *scroll);\nsubroutine gtk_column_view_scroll_to(self, pos, column, flags, scroll) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: pos\n  type(c_ptr), value :: column\n  integer(c_int), value :: flags\n  type(c_ptr), value :: scroll\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkcolumnviewcell.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_4_12\n!gpointer gtk_column_view_cell_get_item (GtkColumnViewCell *self);\nfunction gtk_column_view_cell_get_item(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_column_view_cell_get_item\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!guint gtk_column_view_cell_get_position (GtkColumnViewCell *self) ;\nfunction gtk_column_view_cell_get_position(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_column_view_cell_get_position\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!gboolean gtk_column_view_cell_get_selected (GtkColumnViewCell *self) ;\nfunction gtk_column_view_cell_get_selected(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_column_view_cell_get_selected\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!gboolean gtk_column_view_cell_get_focusable (GtkColumnViewCell *self) ;\nfunction gtk_column_view_cell_get_focusable(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_column_view_cell_get_focusable\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_column_view_cell_set_focusable (GtkColumnViewCell *self, gboolean focusable);\nsubroutine gtk_column_view_cell_set_focusable(self, focusable) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: focusable\nend subroutine\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_column_view_cell_set_child (GtkColumnViewCell *self, GtkWidget *child);\nsubroutine gtk_column_view_cell_set_child(self, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_4_12\n!GtkWidget * gtk_column_view_cell_get_child (GtkColumnViewCell *self);\nfunction gtk_column_view_cell_get_child(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_column_view_cell_get_child\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkcolumnviewcolumn.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_column_view_column_get_type (void) ;\nfunction gtk_column_view_column_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_column_view_column_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkColumnViewColumn * gtk_column_view_column_new (const char *title, GtkListItemFactory *factory);\nfunction gtk_column_view_column_new(title, factory) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_column_view_column_new\n  character(kind=c_char), dimension(*) :: title\n  type(c_ptr), value :: factory\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkColumnView * gtk_column_view_column_get_column_view (GtkColumnViewColumn *self);\nfunction gtk_column_view_column_get_column_view(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_column_view_column_get_column_view\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_column_view_column_set_factory (GtkColumnViewColumn *self, GtkListItemFactory *factory);\nsubroutine gtk_column_view_column_set_factory(self, factory) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: factory\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkListItemFactory * gtk_column_view_column_get_factory (GtkColumnViewColumn *self);\nfunction gtk_column_view_column_get_factory(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_column_view_column_get_factory\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_column_view_column_set_title (GtkColumnViewColumn *self, const char *title);\nsubroutine gtk_column_view_column_set_title(self, title) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: title\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_column_view_column_get_title (GtkColumnViewColumn *self);\nfunction gtk_column_view_column_get_title(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_column_view_column_get_title\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_column_view_column_set_sorter (GtkColumnViewColumn *self, GtkSorter *sorter);\nsubroutine gtk_column_view_column_set_sorter(self, sorter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: sorter\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkSorter * gtk_column_view_column_get_sorter (GtkColumnViewColumn *self);\nfunction gtk_column_view_column_get_sorter(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_column_view_column_get_sorter\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_column_view_column_set_visible (GtkColumnViewColumn *self, gboolean visible);\nsubroutine gtk_column_view_column_set_visible(self, visible) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: visible\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_column_view_column_get_visible (GtkColumnViewColumn *self);\nfunction gtk_column_view_column_get_visible(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_column_view_column_get_visible\n  type(c_ptr), value :: self\nend function\n\n! \n!void gtk_column_view_column_set_header_menu (GtkColumnViewColumn *self, GMenuModel *menu);\nsubroutine gtk_column_view_column_set_header_menu(self, menu) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: menu\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GMenuModel * gtk_column_view_column_get_header_menu (GtkColumnViewColumn *self);\nfunction gtk_column_view_column_get_header_menu(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_column_view_column_get_header_menu\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_column_view_column_set_fixed_width (GtkColumnViewColumn *self, int fixed_width);\nsubroutine gtk_column_view_column_set_fixed_width(self, fixed_width) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: fixed_width\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_column_view_column_get_fixed_width (GtkColumnViewColumn *self);\nfunction gtk_column_view_column_get_fixed_width(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_column_view_column_get_fixed_width\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_column_view_column_set_resizable (GtkColumnViewColumn *self, gboolean resizable);\nsubroutine gtk_column_view_column_set_resizable(self, resizable) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: resizable\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_column_view_column_get_resizable (GtkColumnViewColumn *self);\nfunction gtk_column_view_column_get_resizable(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_column_view_column_get_resizable\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_column_view_column_set_expand (GtkColumnViewColumn *self, gboolean expand);\nsubroutine gtk_column_view_column_set_expand(self, expand) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: expand\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_column_view_column_get_expand (GtkColumnViewColumn *self);\nfunction gtk_column_view_column_get_expand(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_column_view_column_get_expand\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_column_view_column_set_id (GtkColumnViewColumn *self, const char *id);\nsubroutine gtk_column_view_column_set_id(self, id) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: id\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!const char * gtk_column_view_column_get_id (GtkColumnViewColumn *self);\nfunction gtk_column_view_column_get_id(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_column_view_column_get_id\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkcolumnviewrow.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_4_12\n!gpointer gtk_column_view_row_get_item (GtkColumnViewRow *self);\nfunction gtk_column_view_row_get_item(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_column_view_row_get_item\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!guint gtk_column_view_row_get_position (GtkColumnViewRow *self) ;\nfunction gtk_column_view_row_get_position(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_column_view_row_get_position\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!gboolean gtk_column_view_row_get_selected (GtkColumnViewRow *self) ;\nfunction gtk_column_view_row_get_selected(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_column_view_row_get_selected\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!gboolean gtk_column_view_row_get_selectable (GtkColumnViewRow *self) ;\nfunction gtk_column_view_row_get_selectable(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_column_view_row_get_selectable\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_column_view_row_set_selectable (GtkColumnViewRow *self, gboolean selectable);\nsubroutine gtk_column_view_row_set_selectable(self, selectable) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: selectable\nend subroutine\n\n! GDK_AVAILABLE_IN_4_12\n!gboolean gtk_column_view_row_get_activatable (GtkColumnViewRow *self) ;\nfunction gtk_column_view_row_get_activatable(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_column_view_row_get_activatable\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_column_view_row_set_activatable (GtkColumnViewRow *self, gboolean activatable);\nsubroutine gtk_column_view_row_set_activatable(self, activatable) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: activatable\nend subroutine\n\n! GDK_AVAILABLE_IN_4_12\n!gboolean gtk_column_view_row_get_focusable (GtkColumnViewRow *self) ;\nfunction gtk_column_view_row_get_focusable(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_column_view_row_get_focusable\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_column_view_row_set_focusable (GtkColumnViewRow *self, gboolean focusable);\nsubroutine gtk_column_view_row_set_focusable(self, focusable) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: focusable\nend subroutine\n\n! GDK_AVAILABLE_IN_4_12\n!const char * gtk_column_view_row_get_accessible_description (GtkColumnViewRow *self);\nfunction gtk_column_view_row_get_accessible_description(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_column_view_row_get_accessible_description\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_column_view_row_set_accessible_description (GtkColumnViewRow *self, const char *description);\nsubroutine gtk_column_view_row_set_accessible_description(self, description)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: description\nend subroutine\n\n! GDK_AVAILABLE_IN_4_12\n!const char * gtk_column_view_row_get_accessible_label (GtkColumnViewRow *self);\nfunction gtk_column_view_row_get_accessible_label(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_column_view_row_get_accessible_label\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_column_view_row_set_accessible_label (GtkColumnViewRow *self, const char *label);\nsubroutine gtk_column_view_row_set_accessible_label(self, label) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: label\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkcolumnviewsorter.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_4_10\n!GtkColumnViewColumn * gtk_column_view_sorter_get_primary_sort_column (GtkColumnViewSorter *self);\nfunction gtk_column_view_sorter_get_primary_sort_column(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_column_view_sorter_get_primary_sort_column\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!GtkSortType gtk_column_view_sorter_get_primary_sort_order (GtkColumnViewSorter *self);\nfunction gtk_column_view_sorter_get_primary_sort_order(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_column_view_sorter_get_primary_sort_order\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!guint gtk_column_view_sorter_get_n_sort_columns (GtkColumnViewSorter *self);\nfunction gtk_column_view_sorter_get_n_sort_columns(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_column_view_sorter_get_n_sort_columns\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!GtkColumnViewColumn * gtk_column_view_sorter_get_nth_sort_column (GtkColumnViewSorter *self, guint position, GtkSortType *sort_order);\nfunction gtk_column_view_sorter_get_nth_sort_column(self, position, sort_order)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_column_view_sorter_get_nth_sort_column\n  type(c_ptr), value :: self\n  integer(c_int), value :: position\n  type(c_ptr), value :: sort_order\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkconfig.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkconstraint.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkConstraint * gtk_constraint_new (gpointer target, GtkConstraintAttribute target_attribute, GtkConstraintRelation relation, gpointer source, GtkConstraintAttribute source_attribute, double multiplier, double constant, int strength);\nfunction gtk_constraint_new(target, target_attribute, relation, source,&\n& source_attribute, multiplier, constant, strength) bind(c)\n  import :: c_ptr, c_int, c_double\n  implicit none\n  type(c_ptr) :: gtk_constraint_new\n  type(c_ptr), value :: target\n  integer(c_int), value :: target_attribute\n  integer(c_int), value :: relation\n  type(c_ptr), value :: source\n  integer(c_int), value :: source_attribute\n  real(c_double), value :: multiplier\n  real(c_double), value :: constant\n  integer(c_int), value :: strength\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkConstraint * gtk_constraint_new_constant (gpointer target, GtkConstraintAttribute target_attribute, GtkConstraintRelation relation, double constant, int strength);\nfunction gtk_constraint_new_constant(target, target_attribute, relation,&\n& constant, strength) bind(c)\n  import :: c_ptr, c_int, c_double\n  implicit none\n  type(c_ptr) :: gtk_constraint_new_constant\n  type(c_ptr), value :: target\n  integer(c_int), value :: target_attribute\n  integer(c_int), value :: relation\n  real(c_double), value :: constant\n  integer(c_int), value :: strength\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkConstraintTarget * gtk_constraint_get_target (GtkConstraint *constraint);\nfunction gtk_constraint_get_target(constraint) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_constraint_get_target\n  type(c_ptr), value :: constraint\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkConstraintAttribute gtk_constraint_get_target_attribute (GtkConstraint *constraint);\nfunction gtk_constraint_get_target_attribute(constraint) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_constraint_get_target_attribute\n  type(c_ptr), value :: constraint\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkConstraintTarget * gtk_constraint_get_source (GtkConstraint *constraint);\nfunction gtk_constraint_get_source(constraint) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_constraint_get_source\n  type(c_ptr), value :: constraint\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkConstraintAttribute gtk_constraint_get_source_attribute (GtkConstraint *constraint);\nfunction gtk_constraint_get_source_attribute(constraint) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_constraint_get_source_attribute\n  type(c_ptr), value :: constraint\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkConstraintRelation gtk_constraint_get_relation (GtkConstraint *constraint);\nfunction gtk_constraint_get_relation(constraint) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_constraint_get_relation\n  type(c_ptr), value :: constraint\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_constraint_get_multiplier (GtkConstraint *constraint);\nfunction gtk_constraint_get_multiplier(constraint) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: gtk_constraint_get_multiplier\n  type(c_ptr), value :: constraint\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_constraint_get_constant (GtkConstraint *constraint);\nfunction gtk_constraint_get_constant(constraint) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: gtk_constraint_get_constant\n  type(c_ptr), value :: constraint\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_constraint_get_strength (GtkConstraint *constraint);\nfunction gtk_constraint_get_strength(constraint) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_constraint_get_strength\n  type(c_ptr), value :: constraint\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_constraint_is_required (GtkConstraint *constraint);\nfunction gtk_constraint_is_required(constraint) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_constraint_is_required\n  type(c_ptr), value :: constraint\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_constraint_is_attached (GtkConstraint *constraint);\nfunction gtk_constraint_is_attached(constraint) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_constraint_is_attached\n  type(c_ptr), value :: constraint\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_constraint_is_constant (GtkConstraint *constraint);\nfunction gtk_constraint_is_constant(constraint) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_constraint_is_constant\n  type(c_ptr), value :: constraint\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkconstraintguide.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkConstraintGuide * gtk_constraint_guide_new (void);\nfunction gtk_constraint_guide_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_constraint_guide_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_constraint_guide_set_min_size (GtkConstraintGuide *guide, int width, int height);\nsubroutine gtk_constraint_guide_set_min_size(guide, width, height) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: guide\n  integer(c_int), value :: width\n  integer(c_int), value :: height\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_constraint_guide_get_min_size (GtkConstraintGuide *guide, int *width, int *height);\nsubroutine gtk_constraint_guide_get_min_size(guide, width, height) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: guide\n  type(c_ptr), value :: width\n  type(c_ptr), value :: height\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_constraint_guide_set_nat_size (GtkConstraintGuide *guide, int width, int height);\nsubroutine gtk_constraint_guide_set_nat_size(guide, width, height) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: guide\n  integer(c_int), value :: width\n  integer(c_int), value :: height\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_constraint_guide_get_nat_size (GtkConstraintGuide *guide, int *width, int *height);\nsubroutine gtk_constraint_guide_get_nat_size(guide, width, height) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: guide\n  type(c_ptr), value :: width\n  type(c_ptr), value :: height\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_constraint_guide_set_max_size (GtkConstraintGuide *guide, int width, int height);\nsubroutine gtk_constraint_guide_set_max_size(guide, width, height) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: guide\n  integer(c_int), value :: width\n  integer(c_int), value :: height\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_constraint_guide_get_max_size (GtkConstraintGuide *guide, int *width, int *height);\nsubroutine gtk_constraint_guide_get_max_size(guide, width, height) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: guide\n  type(c_ptr), value :: width\n  type(c_ptr), value :: height\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkConstraintStrength gtk_constraint_guide_get_strength (GtkConstraintGuide *guide);\nfunction gtk_constraint_guide_get_strength(guide) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_constraint_guide_get_strength\n  type(c_ptr), value :: guide\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_constraint_guide_set_strength (GtkConstraintGuide *guide, GtkConstraintStrength strength);\nsubroutine gtk_constraint_guide_set_strength(guide, strength) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: guide\n  integer(c_int), value :: strength\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_constraint_guide_set_name (GtkConstraintGuide *guide, const char *name);\nsubroutine gtk_constraint_guide_set_name(guide, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: guide\n  character(kind=c_char), dimension(*) :: name\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_constraint_guide_get_name (GtkConstraintGuide *guide);\nfunction gtk_constraint_guide_get_name(guide) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_constraint_guide_get_name\n  type(c_ptr), value :: guide\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkconstraintlayout.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GQuark gtk_constraint_vfl_parser_error_quark (void);\nfunction gtk_constraint_vfl_parser_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: gtk_constraint_vfl_parser_error_quark\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkLayoutManager * gtk_constraint_layout_new (void);\nfunction gtk_constraint_layout_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_constraint_layout_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_constraint_layout_add_constraint (GtkConstraintLayout *layout, GtkConstraint *constraint);\nsubroutine gtk_constraint_layout_add_constraint(layout, constraint) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: layout\n  type(c_ptr), value :: constraint\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_constraint_layout_remove_constraint (GtkConstraintLayout *layout, GtkConstraint *constraint);\nsubroutine gtk_constraint_layout_remove_constraint(layout, constraint) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: layout\n  type(c_ptr), value :: constraint\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_constraint_layout_add_guide (GtkConstraintLayout *layout, GtkConstraintGuide *guide);\nsubroutine gtk_constraint_layout_add_guide(layout, guide) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: layout\n  type(c_ptr), value :: guide\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_constraint_layout_remove_guide (GtkConstraintLayout *layout, GtkConstraintGuide *guide);\nsubroutine gtk_constraint_layout_remove_guide(layout, guide) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: layout\n  type(c_ptr), value :: guide\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_constraint_layout_remove_all_constraints (GtkConstraintLayout *layout);\nsubroutine gtk_constraint_layout_remove_all_constraints(layout) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: layout\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GList * gtk_constraint_layout_add_constraints_from_descriptionv (GtkConstraintLayout *layout, const char * const lines[], gsize n_lines, int hspacing, int vspacing, GHashTable *views, GError **error);\nfunction gtk_constraint_layout_add_constraints_from_descriptionv(layout, lines,&\n& n_lines, hspacing, vspacing, views, error) bind(c)\n  import :: c_ptr, c_char, c_size_t, c_int\n  implicit none\n  type(c_ptr) :: gtk_constraint_layout_add_constraints_from_descriptionv\n  type(c_ptr), value :: layout\n  character(kind=c_char), dimension(*) :: lines\n  integer(c_size_t), value :: n_lines\n  integer(c_int), value :: hspacing\n  integer(c_int), value :: vspacing\n  type(c_ptr), value :: views\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GListModel * gtk_constraint_layout_observe_constraints (GtkConstraintLayout *layout);\nfunction gtk_constraint_layout_observe_constraints(layout) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_constraint_layout_observe_constraints\n  type(c_ptr), value :: layout\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GListModel * gtk_constraint_layout_observe_guides (GtkConstraintLayout *layout);\nfunction gtk_constraint_layout_observe_guides(layout) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_constraint_layout_observe_guides\n  type(c_ptr), value :: layout\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkcssprovider.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_css_provider_get_type (void) ;\nfunction gtk_css_provider_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_css_provider_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkCssProvider * gtk_css_provider_new (void);\nfunction gtk_css_provider_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_css_provider_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!char * gtk_css_provider_to_string (GtkCssProvider *provider);\nfunction gtk_css_provider_to_string(provider) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_css_provider_to_string\n  type(c_ptr), value :: provider\nend function\n\n! GDK_DEPRECATED_IN_4_12_FOR(gtk_css_provider_load_from_string)\n!void gtk_css_provider_load_from_data (GtkCssProvider *css_provider, const char *data, gssize length);\nsubroutine gtk_css_provider_load_from_data(css_provider, data, length) bind(c)\n  import :: c_ptr, c_char, c_size_t\n  implicit none\n  type(c_ptr), value :: css_provider\n  character(kind=c_char), dimension(*) :: data\n  integer(c_size_t), value :: length\nend subroutine\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_css_provider_load_from_string (GtkCssProvider *css_provider, const char *string);\nsubroutine gtk_css_provider_load_from_string(css_provider, string) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: css_provider\n  character(kind=c_char), dimension(*) :: string\nend subroutine\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_css_provider_load_from_bytes (GtkCssProvider *css_provider, GBytes *data);\nsubroutine gtk_css_provider_load_from_bytes(css_provider, data) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: css_provider\n  type(c_ptr), value :: data\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_css_provider_load_from_file (GtkCssProvider *css_provider, GFile *file);\nsubroutine gtk_css_provider_load_from_file(css_provider, file) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: css_provider\n  type(c_ptr), value :: file\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_css_provider_load_from_path (GtkCssProvider *css_provider, const char *path);\nsubroutine gtk_css_provider_load_from_path(css_provider, path) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: css_provider\n  character(kind=c_char), dimension(*) :: path\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_css_provider_load_from_resource (GtkCssProvider *css_provider, const char *resource_path);\nsubroutine gtk_css_provider_load_from_resource(css_provider, resource_path)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: css_provider\n  character(kind=c_char), dimension(*) :: resource_path\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_css_provider_load_named (GtkCssProvider *provider, const char *name, const char *variant);\nsubroutine gtk_css_provider_load_named(provider, name, variant) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: provider\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: variant\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkcustomfilter.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkCustomFilter * gtk_custom_filter_new (GtkCustomFilterFunc match_func, gpointer user_data, GDestroyNotify user_destroy);\nfunction gtk_custom_filter_new(match_func, user_data, user_destroy) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: gtk_custom_filter_new\n  type(c_funptr), value :: match_func\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: user_destroy\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_custom_filter_set_filter_func (GtkCustomFilter *self, GtkCustomFilterFunc match_func, gpointer user_data, GDestroyNotify user_destroy);\nsubroutine gtk_custom_filter_set_filter_func(self, match_func, user_data,&\n& user_destroy) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_funptr), value :: match_func\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: user_destroy\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkcustomlayout.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkLayoutManager * gtk_custom_layout_new (GtkCustomRequestModeFunc request_mode, GtkCustomMeasureFunc measure, GtkCustomAllocateFunc allocate);\nfunction gtk_custom_layout_new(request_mode, measure, allocate) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: gtk_custom_layout_new\n  type(c_funptr), value :: request_mode\n  type(c_funptr), value :: measure\n  type(c_funptr), value :: allocate\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkcustomsorter.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkCustomSorter * gtk_custom_sorter_new (GCompareDataFunc sort_func, gpointer user_data, GDestroyNotify user_destroy);\nfunction gtk_custom_sorter_new(sort_func, user_data, user_destroy) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: gtk_custom_sorter_new\n  type(c_funptr), value :: sort_func\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: user_destroy\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_custom_sorter_set_sort_func (GtkCustomSorter *self, GCompareDataFunc sort_func, gpointer user_data, GDestroyNotify user_destroy);\nsubroutine gtk_custom_sorter_set_sort_func(self, sort_func, user_data,&\n& user_destroy) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_funptr), value :: sort_func\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: user_destroy\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkdebug.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkDebugFlags gtk_get_debug_flags (void);\nfunction gtk_get_debug_flags() bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: gtk_get_debug_flags\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_set_debug_flags (GtkDebugFlags flags);\nsubroutine gtk_set_debug_flags(flags) bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int), value :: flags\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkdialogerror.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_4_10\n!GQuark gtk_dialog_error_quark (void);\nfunction gtk_dialog_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: gtk_dialog_error_quark\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkdirectorylist.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkDirectoryList * gtk_directory_list_new (const char *attributes, GFile *file);\nfunction gtk_directory_list_new(attributes, file) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_directory_list_new\n  character(kind=c_char), dimension(*) :: attributes\n  type(c_ptr), value :: file\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_directory_list_set_file (GtkDirectoryList *self, GFile *file);\nsubroutine gtk_directory_list_set_file(self, file) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: file\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GFile * gtk_directory_list_get_file (GtkDirectoryList *self);\nfunction gtk_directory_list_get_file(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_directory_list_get_file\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_directory_list_set_attributes (GtkDirectoryList *self, const char *attributes);\nsubroutine gtk_directory_list_set_attributes(self, attributes) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: attributes\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_directory_list_get_attributes (GtkDirectoryList *self);\nfunction gtk_directory_list_get_attributes(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_directory_list_get_attributes\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_directory_list_set_io_priority (GtkDirectoryList *self, int io_priority);\nsubroutine gtk_directory_list_set_io_priority(self, io_priority) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: io_priority\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_directory_list_get_io_priority (GtkDirectoryList *self);\nfunction gtk_directory_list_get_io_priority(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_directory_list_get_io_priority\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_directory_list_is_loading (GtkDirectoryList *self);\nfunction gtk_directory_list_is_loading(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_directory_list_is_loading\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const GError * gtk_directory_list_get_error (GtkDirectoryList *self);\nfunction gtk_directory_list_get_error(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_directory_list_get_error\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_directory_list_set_monitored (GtkDirectoryList *self, gboolean monitored);\nsubroutine gtk_directory_list_set_monitored(self, monitored) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: monitored\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_directory_list_get_monitored (GtkDirectoryList *self);\nfunction gtk_directory_list_get_monitored(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_directory_list_get_monitored\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkdragicon.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_drag_icon_get_for_drag (GdkDrag *drag);\nfunction gtk_drag_icon_get_for_drag(drag) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_drag_icon_get_for_drag\n  type(c_ptr), value :: drag\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_drag_icon_set_child (GtkDragIcon *self, GtkWidget *child);\nsubroutine gtk_drag_icon_set_child(self, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_drag_icon_get_child (GtkDragIcon *self);\nfunction gtk_drag_icon_get_child(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_drag_icon_get_child\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_drag_icon_set_from_paintable (GdkDrag *drag, GdkPaintable *paintable, int hot_x, int hot_y);\nsubroutine gtk_drag_icon_set_from_paintable(drag, paintable, hot_x, hot_y)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: drag\n  type(c_ptr), value :: paintable\n  integer(c_int), value :: hot_x\n  integer(c_int), value :: hot_y\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_drag_icon_create_widget_for_value (const GValue *value);\nfunction gtk_drag_icon_create_widget_for_value(value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_drag_icon_create_widget_for_value\n  type(c_ptr), value :: value\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkdragsource.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_drag_source_get_type (void) ;\nfunction gtk_drag_source_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_drag_source_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkDragSource *gtk_drag_source_new (void);\nfunction gtk_drag_source_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_drag_source_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_drag_source_set_content (GtkDragSource *source, GdkContentProvider *content);\nsubroutine gtk_drag_source_set_content(source, content) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: source\n  type(c_ptr), value :: content\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GdkContentProvider *gtk_drag_source_get_content (GtkDragSource *source);\nfunction gtk_drag_source_get_content(source) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_drag_source_get_content\n  type(c_ptr), value :: source\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_drag_source_set_actions (GtkDragSource *source, GdkDragAction actions);\nsubroutine gtk_drag_source_set_actions(source, actions) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: source\n  integer(c_int), value :: actions\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDragAction gtk_drag_source_get_actions (GtkDragSource *source);\nfunction gtk_drag_source_get_actions(source) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_drag_source_get_actions\n  type(c_ptr), value :: source\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_drag_source_set_icon (GtkDragSource *source, GdkPaintable *paintable, int hot_x, int hot_y);\nsubroutine gtk_drag_source_set_icon(source, paintable, hot_x, hot_y) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: source\n  type(c_ptr), value :: paintable\n  integer(c_int), value :: hot_x\n  integer(c_int), value :: hot_y\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_drag_source_drag_cancel (GtkDragSource *source);\nsubroutine gtk_drag_source_drag_cancel(source) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: source\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDrag * gtk_drag_source_get_drag (GtkDragSource *source);\nfunction gtk_drag_source_get_drag(source) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_drag_source_get_drag\n  type(c_ptr), value :: source\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_drag_check_threshold (GtkWidget *widget, int start_x, int start_y, int current_x, int current_y);\nfunction gtk_drag_check_threshold(widget, start_x, start_y, current_x,&\n& current_y) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_drag_check_threshold\n  type(c_ptr), value :: widget\n  integer(c_int), value :: start_x\n  integer(c_int), value :: start_y\n  integer(c_int), value :: current_x\n  integer(c_int), value :: current_y\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkdrawingarea.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_drawing_area_get_type (void) ;\nfunction gtk_drawing_area_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_drawing_area_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_drawing_area_new (void);\nfunction gtk_drawing_area_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_drawing_area_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_drawing_area_set_content_width (GtkDrawingArea *self, int width);\nsubroutine gtk_drawing_area_set_content_width(self, width) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: width\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_drawing_area_get_content_width (GtkDrawingArea *self);\nfunction gtk_drawing_area_get_content_width(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_drawing_area_get_content_width\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_drawing_area_set_content_height (GtkDrawingArea *self, int height);\nsubroutine gtk_drawing_area_set_content_height(self, height) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: height\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_drawing_area_get_content_height (GtkDrawingArea *self);\nfunction gtk_drawing_area_get_content_height(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_drawing_area_get_content_height\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_drawing_area_set_draw_func (GtkDrawingArea *self, GtkDrawingAreaDrawFunc draw_func, gpointer user_data, GDestroyNotify destroy);\nsubroutine gtk_drawing_area_set_draw_func(self, draw_func, user_data, destroy)&\n& bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_funptr), value :: draw_func\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: destroy\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkdropcontrollermotion.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_drop_controller_motion_get_type (void) ;\nfunction gtk_drop_controller_motion_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_drop_controller_motion_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkEventController * gtk_drop_controller_motion_new (void);\nfunction gtk_drop_controller_motion_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_drop_controller_motion_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_drop_controller_motion_contains_pointer (GtkDropControllerMotion *self);\nfunction gtk_drop_controller_motion_contains_pointer(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_drop_controller_motion_contains_pointer\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDrop * gtk_drop_controller_motion_get_drop (GtkDropControllerMotion *self);\nfunction gtk_drop_controller_motion_get_drop(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_drop_controller_motion_get_drop\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_drop_controller_motion_is_pointer (GtkDropControllerMotion *self);\nfunction gtk_drop_controller_motion_is_pointer(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_drop_controller_motion_is_pointer\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkdropdown.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_drop_down_new (GListModel *model, GtkExpression *expression);\nfunction gtk_drop_down_new(model, expression) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_drop_down_new\n  type(c_ptr), value :: model\n  type(c_ptr), value :: expression\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_drop_down_new_from_strings (const char * const * strings);\nfunction gtk_drop_down_new_from_strings(strings) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_drop_down_new_from_strings\n  type(c_ptr), dimension(*) :: strings\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_drop_down_set_model (GtkDropDown *self, GListModel *model);\nsubroutine gtk_drop_down_set_model(self, model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: model\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GListModel * gtk_drop_down_get_model (GtkDropDown *self);\nfunction gtk_drop_down_get_model(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_drop_down_get_model\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_drop_down_set_selected (GtkDropDown *self, guint position);\nsubroutine gtk_drop_down_set_selected(self, position) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: position\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_drop_down_get_selected (GtkDropDown *self);\nfunction gtk_drop_down_get_selected(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_drop_down_get_selected\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gpointer gtk_drop_down_get_selected_item (GtkDropDown *self);\nfunction gtk_drop_down_get_selected_item(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_drop_down_get_selected_item\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_drop_down_set_factory (GtkDropDown *self, GtkListItemFactory *factory);\nsubroutine gtk_drop_down_set_factory(self, factory) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: factory\nend subroutine\n\n! \n!GtkListItemFactory * gtk_drop_down_get_factory (GtkDropDown *self);\nfunction gtk_drop_down_get_factory(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_drop_down_get_factory\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_drop_down_set_list_factory (GtkDropDown *self, GtkListItemFactory *factory);\nsubroutine gtk_drop_down_set_list_factory(self, factory) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: factory\nend subroutine\n\n! \n!GtkListItemFactory * gtk_drop_down_get_list_factory (GtkDropDown *self);\nfunction gtk_drop_down_get_list_factory(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_drop_down_get_list_factory\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_drop_down_set_header_factory (GtkDropDown *self, GtkListItemFactory *factory);\nsubroutine gtk_drop_down_set_header_factory(self, factory) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: factory\nend subroutine\n\n! \n!GtkListItemFactory * gtk_drop_down_get_header_factory (GtkDropDown *self);\nfunction gtk_drop_down_get_header_factory(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_drop_down_get_header_factory\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_drop_down_set_expression (GtkDropDown *self, GtkExpression *expression);\nsubroutine gtk_drop_down_set_expression(self, expression) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: expression\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkExpression * gtk_drop_down_get_expression (GtkDropDown *self);\nfunction gtk_drop_down_get_expression(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_drop_down_get_expression\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_drop_down_set_enable_search (GtkDropDown *self, gboolean enable_search);\nsubroutine gtk_drop_down_set_enable_search(self, enable_search) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: enable_search\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_drop_down_get_enable_search (GtkDropDown *self);\nfunction gtk_drop_down_get_enable_search(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_drop_down_get_enable_search\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_6\n!void gtk_drop_down_set_show_arrow (GtkDropDown *self, gboolean show_arrow);\nsubroutine gtk_drop_down_set_show_arrow(self, show_arrow) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: show_arrow\nend subroutine\n\n! GDK_AVAILABLE_IN_4_6\n!gboolean gtk_drop_down_get_show_arrow (GtkDropDown *self);\nfunction gtk_drop_down_get_show_arrow(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_drop_down_get_show_arrow\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_drop_down_set_search_match_mode (GtkDropDown *self, GtkStringFilterMatchMode search_match_mode);\nsubroutine gtk_drop_down_set_search_match_mode(self, search_match_mode) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: search_match_mode\nend subroutine\n\n! \n!GtkStringFilterMatchMode gtk_drop_down_get_search_match_mode (GtkDropDown *self);\nfunction gtk_drop_down_get_search_match_mode(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_drop_down_get_search_match_mode\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkdroptarget.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_drop_target_get_type (void) ;\nfunction gtk_drop_target_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_drop_target_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkDropTarget * gtk_drop_target_new (GType type, GdkDragAction actions);\nfunction gtk_drop_target_new(type, actions) bind(c)\n  import :: c_ptr, c_size_t, c_int\n  implicit none\n  type(c_ptr) :: gtk_drop_target_new\n  integer(c_size_t), value :: type\n  integer(c_int), value :: actions\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_drop_target_set_gtypes (GtkDropTarget *self, GType *types, gsize n_types);\nsubroutine gtk_drop_target_set_gtypes(self, types, n_types) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: types\n  integer(c_size_t), value :: n_types\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const GType * gtk_drop_target_get_gtypes (GtkDropTarget *self, gsize *n_types);\nfunction gtk_drop_target_get_gtypes(self, n_types) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_drop_target_get_gtypes\n  type(c_ptr), value :: self\n  type(c_ptr), value :: n_types\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkContentFormats * gtk_drop_target_get_formats (GtkDropTarget *self);\nfunction gtk_drop_target_get_formats(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_drop_target_get_formats\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_drop_target_set_actions (GtkDropTarget *self, GdkDragAction actions);\nsubroutine gtk_drop_target_set_actions(self, actions) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: actions\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDragAction gtk_drop_target_get_actions (GtkDropTarget *self);\nfunction gtk_drop_target_get_actions(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_drop_target_get_actions\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_drop_target_set_preload (GtkDropTarget *self, gboolean preload);\nsubroutine gtk_drop_target_set_preload(self, preload) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: preload\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_drop_target_get_preload (GtkDropTarget *self);\nfunction gtk_drop_target_get_preload(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_drop_target_get_preload\n  type(c_ptr), value :: self\nend function\n\n! GDK_DEPRECATED_IN_4_4_FOR(gtk_drop_target_get_current_drop)\n!GdkDrop * gtk_drop_target_get_drop (GtkDropTarget *self);\nfunction gtk_drop_target_get_drop(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_drop_target_get_drop\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_4\n!GdkDrop * gtk_drop_target_get_current_drop (GtkDropTarget *self);\nfunction gtk_drop_target_get_current_drop(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_drop_target_get_current_drop\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const GValue * gtk_drop_target_get_value (GtkDropTarget *self);\nfunction gtk_drop_target_get_value(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_drop_target_get_value\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_drop_target_reject (GtkDropTarget *self);\nsubroutine gtk_drop_target_reject(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkdroptargetasync.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_drop_target_async_get_type (void) ;\nfunction gtk_drop_target_async_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_drop_target_async_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkDropTargetAsync * gtk_drop_target_async_new (GdkContentFormats *formats, GdkDragAction actions);\nfunction gtk_drop_target_async_new(formats, actions) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_drop_target_async_new\n  type(c_ptr), value :: formats\n  integer(c_int), value :: actions\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_drop_target_async_set_formats (GtkDropTargetAsync *self, GdkContentFormats *formats);\nsubroutine gtk_drop_target_async_set_formats(self, formats) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: formats\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GdkContentFormats * gtk_drop_target_async_get_formats (GtkDropTargetAsync *self);\nfunction gtk_drop_target_async_get_formats(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_drop_target_async_get_formats\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_drop_target_async_set_actions (GtkDropTargetAsync *self, GdkDragAction actions);\nsubroutine gtk_drop_target_async_set_actions(self, actions) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: actions\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDragAction gtk_drop_target_async_get_actions (GtkDropTargetAsync *self);\nfunction gtk_drop_target_async_get_actions(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_drop_target_async_get_actions\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_drop_target_async_reject_drop (GtkDropTargetAsync *self, GdkDrop *drop);\nsubroutine gtk_drop_target_async_reject_drop(self, drop) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: drop\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkeditable.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_editable_get_type (void) ;\nfunction gtk_editable_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_editable_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_editable_get_text (GtkEditable *editable);\nfunction gtk_editable_get_text(editable) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_editable_get_text\n  type(c_ptr), value :: editable\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_editable_set_text (GtkEditable *editable, const char *text);\nsubroutine gtk_editable_set_text(editable, text) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: editable\n  character(kind=c_char), dimension(*) :: text\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!char * gtk_editable_get_chars (GtkEditable *editable, int start_pos, int end_pos) ;\nfunction gtk_editable_get_chars(editable, start_pos, end_pos) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_editable_get_chars\n  type(c_ptr), value :: editable\n  integer(c_int), value :: start_pos\n  integer(c_int), value :: end_pos\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_editable_insert_text (GtkEditable *editable, const char *text, int length, int *position);\nsubroutine gtk_editable_insert_text(editable, text, length, position) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: editable\n  character(kind=c_char), dimension(*) :: text\n  integer(c_int), value :: length\n  type(c_ptr), value :: position\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_editable_delete_text (GtkEditable *editable, int start_pos, int end_pos);\nsubroutine gtk_editable_delete_text(editable, start_pos, end_pos) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: editable\n  integer(c_int), value :: start_pos\n  integer(c_int), value :: end_pos\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_editable_get_selection_bounds (GtkEditable *editable, int *start_pos, int *end_pos);\nfunction gtk_editable_get_selection_bounds(editable, start_pos, end_pos)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_editable_get_selection_bounds\n  type(c_ptr), value :: editable\n  type(c_ptr), value :: start_pos\n  type(c_ptr), value :: end_pos\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_editable_delete_selection (GtkEditable *editable);\nsubroutine gtk_editable_delete_selection(editable) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: editable\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_editable_select_region (GtkEditable *editable, int start_pos, int end_pos);\nsubroutine gtk_editable_select_region(editable, start_pos, end_pos) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: editable\n  integer(c_int), value :: start_pos\n  integer(c_int), value :: end_pos\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_editable_set_position (GtkEditable *editable, int position);\nsubroutine gtk_editable_set_position(editable, position) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: editable\n  integer(c_int), value :: position\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_editable_get_position (GtkEditable *editable);\nfunction gtk_editable_get_position(editable) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_editable_get_position\n  type(c_ptr), value :: editable\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_editable_get_editable (GtkEditable *editable);\nfunction gtk_editable_get_editable(editable) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_editable_get_editable\n  type(c_ptr), value :: editable\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_editable_set_editable (GtkEditable *editable, gboolean is_editable);\nsubroutine gtk_editable_set_editable(editable, is_editable) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: editable\n  integer(c_int), value :: is_editable\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!float gtk_editable_get_alignment (GtkEditable *editable);\nfunction gtk_editable_get_alignment(editable) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: gtk_editable_get_alignment\n  type(c_ptr), value :: editable\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_editable_set_alignment (GtkEditable *editable, float xalign);\nsubroutine gtk_editable_set_alignment(editable, xalign) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: editable\n  real(c_float), value :: xalign\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_editable_get_width_chars (GtkEditable *editable);\nfunction gtk_editable_get_width_chars(editable) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_editable_get_width_chars\n  type(c_ptr), value :: editable\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_editable_set_width_chars (GtkEditable *editable, int n_chars);\nsubroutine gtk_editable_set_width_chars(editable, n_chars) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: editable\n  integer(c_int), value :: n_chars\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_editable_get_max_width_chars (GtkEditable *editable);\nfunction gtk_editable_get_max_width_chars(editable) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_editable_get_max_width_chars\n  type(c_ptr), value :: editable\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_editable_set_max_width_chars (GtkEditable *editable, int n_chars);\nsubroutine gtk_editable_set_max_width_chars(editable, n_chars) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: editable\n  integer(c_int), value :: n_chars\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_editable_get_enable_undo (GtkEditable *editable);\nfunction gtk_editable_get_enable_undo(editable) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_editable_get_enable_undo\n  type(c_ptr), value :: editable\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_editable_set_enable_undo (GtkEditable *editable, gboolean enable_undo);\nsubroutine gtk_editable_set_enable_undo(editable, enable_undo) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: editable\n  integer(c_int), value :: enable_undo\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_editable_install_properties (GObjectClass *object_class, guint first_prop);\nfunction gtk_editable_install_properties(object_class, first_prop) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_editable_install_properties\n  type(c_ptr), value :: object_class\n  integer(c_int), value :: first_prop\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkEditable *gtk_editable_get_delegate (GtkEditable *editable);\nfunction gtk_editable_get_delegate(editable) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_editable_get_delegate\n  type(c_ptr), value :: editable\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_editable_init_delegate (GtkEditable *editable);\nsubroutine gtk_editable_init_delegate(editable) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: editable\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_editable_finish_delegate (GtkEditable *editable);\nsubroutine gtk_editable_finish_delegate(editable) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: editable\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_editable_delegate_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);\nfunction gtk_editable_delegate_set_property(object, prop_id, value, pspec)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_editable_delegate_set_property\n  type(c_ptr), value :: object\n  integer(c_int), value :: prop_id\n  type(c_ptr), value :: value\n  type(c_ptr), value :: pspec\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_editable_delegate_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);\nfunction gtk_editable_delegate_get_property(object, prop_id, value, pspec)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_editable_delegate_get_property\n  type(c_ptr), value :: object\n  integer(c_int), value :: prop_id\n  type(c_ptr), value :: value\n  type(c_ptr), value :: pspec\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!gboolean gtk_editable_delegate_get_accessible_platform_state (GtkEditable *editable, GtkAccessiblePlatformState state);\nfunction gtk_editable_delegate_get_accessible_platform_state(editable, state)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_editable_delegate_get_accessible_platform_state\n  type(c_ptr), value :: editable\n  integer(c_int), value :: state\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkeditablelabel.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_editable_label_new (const char *str);\nfunction gtk_editable_label_new(str) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_editable_label_new\n  character(kind=c_char), dimension(*) :: str\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_editable_label_get_editing (GtkEditableLabel *self);\nfunction gtk_editable_label_get_editing(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_editable_label_get_editing\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_editable_label_start_editing (GtkEditableLabel *self);\nsubroutine gtk_editable_label_start_editing(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_editable_label_stop_editing (GtkEditableLabel *self, gboolean commit);\nsubroutine gtk_editable_label_stop_editing(self, commit) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: commit\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkemojichooser.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_emoji_chooser_get_type (void) ;\nfunction gtk_emoji_chooser_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_emoji_chooser_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget *gtk_emoji_chooser_new (void);\nfunction gtk_emoji_chooser_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_emoji_chooser_new\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkentry.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_entry_get_type (void) ;\nfunction gtk_entry_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_entry_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_entry_new (void);\nfunction gtk_entry_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_entry_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_entry_new_with_buffer (GtkEntryBuffer *buffer);\nfunction gtk_entry_new_with_buffer(buffer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_entry_new_with_buffer\n  type(c_ptr), value :: buffer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkEntryBuffer* gtk_entry_get_buffer (GtkEntry *entry);\nfunction gtk_entry_get_buffer(entry) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_entry_get_buffer\n  type(c_ptr), value :: entry\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_entry_set_buffer (GtkEntry *entry, GtkEntryBuffer *buffer);\nsubroutine gtk_entry_set_buffer(entry, buffer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: entry\n  type(c_ptr), value :: buffer\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_entry_set_visibility (GtkEntry *entry, gboolean visible);\nsubroutine gtk_entry_set_visibility(entry, visible) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: entry\n  integer(c_int), value :: visible\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_entry_get_visibility (GtkEntry *entry);\nfunction gtk_entry_get_visibility(entry) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_entry_get_visibility\n  type(c_ptr), value :: entry\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_entry_set_invisible_char (GtkEntry *entry, gunichar ch);\nsubroutine gtk_entry_set_invisible_char(entry, ch) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr), value :: entry\n  integer(c_int32_t), value :: ch\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gunichar gtk_entry_get_invisible_char (GtkEntry *entry);\nfunction gtk_entry_get_invisible_char(entry) bind(c)\n  import :: c_int32_t, c_ptr\n  implicit none\n  integer(c_int32_t) :: gtk_entry_get_invisible_char\n  type(c_ptr), value :: entry\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_entry_unset_invisible_char (GtkEntry *entry);\nsubroutine gtk_entry_unset_invisible_char(entry) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: entry\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_entry_set_has_frame (GtkEntry *entry, gboolean setting);\nsubroutine gtk_entry_set_has_frame(entry, setting) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: entry\n  integer(c_int), value :: setting\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_entry_get_has_frame (GtkEntry *entry);\nfunction gtk_entry_get_has_frame(entry) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_entry_get_has_frame\n  type(c_ptr), value :: entry\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_entry_set_overwrite_mode (GtkEntry *entry, gboolean overwrite);\nsubroutine gtk_entry_set_overwrite_mode(entry, overwrite) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: entry\n  integer(c_int), value :: overwrite\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_entry_get_overwrite_mode (GtkEntry *entry);\nfunction gtk_entry_get_overwrite_mode(entry) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_entry_get_overwrite_mode\n  type(c_ptr), value :: entry\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_entry_set_max_length (GtkEntry *entry, int max);\nsubroutine gtk_entry_set_max_length(entry, max) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: entry\n  integer(c_int), value :: max\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_entry_get_max_length (GtkEntry *entry);\nfunction gtk_entry_get_max_length(entry) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_entry_get_max_length\n  type(c_ptr), value :: entry\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint16 gtk_entry_get_text_length (GtkEntry *entry);\nfunction gtk_entry_get_text_length(entry) bind(c)\n  import :: c_int16_t, c_ptr\n  implicit none\n  integer(c_int16_t) :: gtk_entry_get_text_length\n  type(c_ptr), value :: entry\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_entry_set_activates_default (GtkEntry *entry, gboolean setting);\nsubroutine gtk_entry_set_activates_default(entry, setting) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: entry\n  integer(c_int), value :: setting\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_entry_get_activates_default (GtkEntry *entry);\nfunction gtk_entry_get_activates_default(entry) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_entry_get_activates_default\n  type(c_ptr), value :: entry\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_entry_set_alignment (GtkEntry *entry, float xalign);\nsubroutine gtk_entry_set_alignment(entry, xalign) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: entry\n  real(c_float), value :: xalign\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!float gtk_entry_get_alignment (GtkEntry *entry);\nfunction gtk_entry_get_alignment(entry) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: gtk_entry_get_alignment\n  type(c_ptr), value :: entry\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_entry_set_completion (GtkEntry *entry, GtkEntryCompletion *completion);\nsubroutine gtk_entry_set_completion(entry, completion) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: entry\n  type(c_ptr), value :: completion\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!GtkEntryCompletion *gtk_entry_get_completion (GtkEntry *entry);\nfunction gtk_entry_get_completion(entry) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_entry_get_completion\n  type(c_ptr), value :: entry\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_entry_set_progress_fraction (GtkEntry *entry, double fraction);\nsubroutine gtk_entry_set_progress_fraction(entry, fraction) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: entry\n  real(c_double), value :: fraction\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_entry_get_progress_fraction (GtkEntry *entry);\nfunction gtk_entry_get_progress_fraction(entry) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: gtk_entry_get_progress_fraction\n  type(c_ptr), value :: entry\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_entry_set_progress_pulse_step (GtkEntry *entry, double fraction);\nsubroutine gtk_entry_set_progress_pulse_step(entry, fraction) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: entry\n  real(c_double), value :: fraction\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_entry_get_progress_pulse_step (GtkEntry *entry);\nfunction gtk_entry_get_progress_pulse_step(entry) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: gtk_entry_get_progress_pulse_step\n  type(c_ptr), value :: entry\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_entry_progress_pulse (GtkEntry *entry);\nsubroutine gtk_entry_progress_pulse(entry) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: entry\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_entry_get_placeholder_text (GtkEntry *entry);\nfunction gtk_entry_get_placeholder_text(entry) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_entry_get_placeholder_text\n  type(c_ptr), value :: entry\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_entry_set_placeholder_text (GtkEntry *entry, const char *text);\nsubroutine gtk_entry_set_placeholder_text(entry, text) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: entry\n  character(kind=c_char), dimension(*) :: text\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_entry_set_icon_from_paintable (GtkEntry *entry, GtkEntryIconPosition icon_pos, GdkPaintable *paintable);\nsubroutine gtk_entry_set_icon_from_paintable(entry, icon_pos, paintable)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: entry\n  integer(c_int), value :: icon_pos\n  type(c_ptr), value :: paintable\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_entry_set_icon_from_icon_name (GtkEntry *entry, GtkEntryIconPosition icon_pos, const char *icon_name);\nsubroutine gtk_entry_set_icon_from_icon_name(entry, icon_pos, icon_name)&\n& bind(c)\n  import :: c_ptr, c_int, c_char\n  implicit none\n  type(c_ptr), value :: entry\n  integer(c_int), value :: icon_pos\n  character(kind=c_char), dimension(*) :: icon_name\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_entry_set_icon_from_gicon (GtkEntry *entry, GtkEntryIconPosition icon_pos, GIcon *icon);\nsubroutine gtk_entry_set_icon_from_gicon(entry, icon_pos, icon) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: entry\n  integer(c_int), value :: icon_pos\n  type(c_ptr), value :: icon\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkImageType gtk_entry_get_icon_storage_type (GtkEntry *entry, GtkEntryIconPosition icon_pos);\nfunction gtk_entry_get_icon_storage_type(entry, icon_pos) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_entry_get_icon_storage_type\n  type(c_ptr), value :: entry\n  integer(c_int), value :: icon_pos\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkPaintable * gtk_entry_get_icon_paintable (GtkEntry *entry, GtkEntryIconPosition icon_pos);\nfunction gtk_entry_get_icon_paintable(entry, icon_pos) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_entry_get_icon_paintable\n  type(c_ptr), value :: entry\n  integer(c_int), value :: icon_pos\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_entry_get_icon_name (GtkEntry *entry, GtkEntryIconPosition icon_pos);\nfunction gtk_entry_get_icon_name(entry, icon_pos) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_entry_get_icon_name\n  type(c_ptr), value :: entry\n  integer(c_int), value :: icon_pos\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GIcon* gtk_entry_get_icon_gicon (GtkEntry *entry, GtkEntryIconPosition icon_pos);\nfunction gtk_entry_get_icon_gicon(entry, icon_pos) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_entry_get_icon_gicon\n  type(c_ptr), value :: entry\n  integer(c_int), value :: icon_pos\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_entry_set_icon_activatable (GtkEntry *entry, GtkEntryIconPosition icon_pos, gboolean activatable);\nsubroutine gtk_entry_set_icon_activatable(entry, icon_pos, activatable) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: entry\n  integer(c_int), value :: icon_pos\n  integer(c_int), value :: activatable\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_entry_get_icon_activatable (GtkEntry *entry, GtkEntryIconPosition icon_pos);\nfunction gtk_entry_get_icon_activatable(entry, icon_pos) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_entry_get_icon_activatable\n  type(c_ptr), value :: entry\n  integer(c_int), value :: icon_pos\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_entry_set_icon_sensitive (GtkEntry *entry, GtkEntryIconPosition icon_pos, gboolean sensitive);\nsubroutine gtk_entry_set_icon_sensitive(entry, icon_pos, sensitive) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: entry\n  integer(c_int), value :: icon_pos\n  integer(c_int), value :: sensitive\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_entry_get_icon_sensitive (GtkEntry *entry, GtkEntryIconPosition icon_pos);\nfunction gtk_entry_get_icon_sensitive(entry, icon_pos) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_entry_get_icon_sensitive\n  type(c_ptr), value :: entry\n  integer(c_int), value :: icon_pos\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_entry_get_icon_at_pos (GtkEntry *entry, int x, int y);\nfunction gtk_entry_get_icon_at_pos(entry, x, y) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_entry_get_icon_at_pos\n  type(c_ptr), value :: entry\n  integer(c_int), value :: x\n  integer(c_int), value :: y\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_entry_set_icon_tooltip_text (GtkEntry *entry, GtkEntryIconPosition icon_pos, const char *tooltip);\nsubroutine gtk_entry_set_icon_tooltip_text(entry, icon_pos, tooltip) bind(c)\n  import :: c_ptr, c_int, c_char\n  implicit none\n  type(c_ptr), value :: entry\n  integer(c_int), value :: icon_pos\n  character(kind=c_char), dimension(*) :: tooltip\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!char * gtk_entry_get_icon_tooltip_text (GtkEntry *entry, GtkEntryIconPosition icon_pos);\nfunction gtk_entry_get_icon_tooltip_text(entry, icon_pos) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_entry_get_icon_tooltip_text\n  type(c_ptr), value :: entry\n  integer(c_int), value :: icon_pos\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_entry_set_icon_tooltip_markup (GtkEntry *entry, GtkEntryIconPosition icon_pos, const char *tooltip);\nsubroutine gtk_entry_set_icon_tooltip_markup(entry, icon_pos, tooltip) bind(c)\n  import :: c_ptr, c_int, c_char\n  implicit none\n  type(c_ptr), value :: entry\n  integer(c_int), value :: icon_pos\n  character(kind=c_char), dimension(*) :: tooltip\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!char * gtk_entry_get_icon_tooltip_markup (GtkEntry *entry, GtkEntryIconPosition icon_pos);\nfunction gtk_entry_get_icon_tooltip_markup(entry, icon_pos) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_entry_get_icon_tooltip_markup\n  type(c_ptr), value :: entry\n  integer(c_int), value :: icon_pos\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_entry_set_icon_drag_source (GtkEntry *entry, GtkEntryIconPosition icon_pos, GdkContentProvider *provider, GdkDragAction actions);\nsubroutine gtk_entry_set_icon_drag_source(entry, icon_pos, provider, actions)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: entry\n  integer(c_int), value :: icon_pos\n  type(c_ptr), value :: provider\n  integer(c_int), value :: actions\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_entry_get_current_icon_drag_source (GtkEntry *entry);\nfunction gtk_entry_get_current_icon_drag_source(entry) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_entry_get_current_icon_drag_source\n  type(c_ptr), value :: entry\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_entry_get_icon_area (GtkEntry *entry, GtkEntryIconPosition icon_pos, GdkRectangle *icon_area);\nsubroutine gtk_entry_get_icon_area(entry, icon_pos, icon_area) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: entry\n  integer(c_int), value :: icon_pos\n  type(c_ptr), value :: icon_area\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_entry_reset_im_context (GtkEntry *entry);\nsubroutine gtk_entry_reset_im_context(entry) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: entry\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_entry_set_input_purpose (GtkEntry *entry, GtkInputPurpose purpose);\nsubroutine gtk_entry_set_input_purpose(entry, purpose) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: entry\n  integer(c_int), value :: purpose\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkInputPurpose gtk_entry_get_input_purpose (GtkEntry *entry);\nfunction gtk_entry_get_input_purpose(entry) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_entry_get_input_purpose\n  type(c_ptr), value :: entry\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_entry_set_input_hints (GtkEntry *entry, GtkInputHints hints);\nsubroutine gtk_entry_set_input_hints(entry, hints) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: entry\n  integer(c_int), value :: hints\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkInputHints gtk_entry_get_input_hints (GtkEntry *entry);\nfunction gtk_entry_get_input_hints(entry) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_entry_get_input_hints\n  type(c_ptr), value :: entry\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_entry_set_attributes (GtkEntry *entry, PangoAttrList *attrs);\nsubroutine gtk_entry_set_attributes(entry, attrs) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: entry\n  type(c_ptr), value :: attrs\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!PangoAttrList *gtk_entry_get_attributes (GtkEntry *entry);\nfunction gtk_entry_get_attributes(entry) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_entry_get_attributes\n  type(c_ptr), value :: entry\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_entry_set_tabs (GtkEntry *entry, PangoTabArray *tabs);\nsubroutine gtk_entry_set_tabs(entry, tabs) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: entry\n  type(c_ptr), value :: tabs\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!PangoTabArray *gtk_entry_get_tabs (GtkEntry *entry);\nfunction gtk_entry_get_tabs(entry) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_entry_get_tabs\n  type(c_ptr), value :: entry\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_entry_grab_focus_without_selecting (GtkEntry *entry);\nfunction gtk_entry_grab_focus_without_selecting(entry) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_entry_grab_focus_without_selecting\n  type(c_ptr), value :: entry\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_entry_set_extra_menu (GtkEntry *entry, GMenuModel *model);\nsubroutine gtk_entry_set_extra_menu(entry, model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: entry\n  type(c_ptr), value :: model\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GMenuModel * gtk_entry_get_extra_menu (GtkEntry *entry);\nfunction gtk_entry_get_extra_menu(entry) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_entry_get_extra_menu\n  type(c_ptr), value :: entry\nend function\n\n! GDK_AVAILABLE_IN_4_20\n!const gchar * gtk_entry_get_menu_entry_icon_text (GtkEntry *entry, GtkEntryIconPosition icon_pos);\nfunction gtk_entry_get_menu_entry_icon_text(entry, icon_pos) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_entry_get_menu_entry_icon_text\n  type(c_ptr), value :: entry\n  integer(c_int), value :: icon_pos\nend function\n\n! GDK_AVAILABLE_IN_4_20\n!void gtk_entry_set_menu_entry_icon_text (GtkEntry *entry, GtkEntryIconPosition icon_pos, const gchar *text);\nsubroutine gtk_entry_set_menu_entry_icon_text(entry, icon_pos, text) bind(c)\n  import :: c_ptr, c_int, c_char\n  implicit none\n  type(c_ptr), value :: entry\n  integer(c_int), value :: icon_pos\n  character(kind=c_char), dimension(*) :: text\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkentrybuffer.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_entry_buffer_get_type (void) ;\nfunction gtk_entry_buffer_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_entry_buffer_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkEntryBuffer* gtk_entry_buffer_new (const char *initial_chars, int n_initial_chars);\nfunction gtk_entry_buffer_new(initial_chars, n_initial_chars) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: gtk_entry_buffer_new\n  character(kind=c_char), dimension(*) :: initial_chars\n  integer(c_int), value :: n_initial_chars\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gsize gtk_entry_buffer_get_bytes (GtkEntryBuffer *buffer);\nfunction gtk_entry_buffer_get_bytes(buffer) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: gtk_entry_buffer_get_bytes\n  type(c_ptr), value :: buffer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_entry_buffer_get_length (GtkEntryBuffer *buffer);\nfunction gtk_entry_buffer_get_length(buffer) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_entry_buffer_get_length\n  type(c_ptr), value :: buffer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_entry_buffer_get_text (GtkEntryBuffer *buffer);\nfunction gtk_entry_buffer_get_text(buffer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_entry_buffer_get_text\n  type(c_ptr), value :: buffer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_entry_buffer_set_text (GtkEntryBuffer *buffer, const char *chars, int n_chars);\nsubroutine gtk_entry_buffer_set_text(buffer, chars, n_chars) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: buffer\n  character(kind=c_char), dimension(*) :: chars\n  integer(c_int), value :: n_chars\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_entry_buffer_set_max_length (GtkEntryBuffer *buffer, int max_length);\nsubroutine gtk_entry_buffer_set_max_length(buffer, max_length) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: buffer\n  integer(c_int), value :: max_length\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_entry_buffer_get_max_length (GtkEntryBuffer *buffer);\nfunction gtk_entry_buffer_get_max_length(buffer) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_entry_buffer_get_max_length\n  type(c_ptr), value :: buffer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_entry_buffer_insert_text (GtkEntryBuffer *buffer, guint position, const char *chars, int n_chars);\nfunction gtk_entry_buffer_insert_text(buffer, position, chars, n_chars) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_entry_buffer_insert_text\n  type(c_ptr), value :: buffer\n  integer(c_int), value :: position\n  character(kind=c_char), dimension(*) :: chars\n  integer(c_int), value :: n_chars\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_entry_buffer_delete_text (GtkEntryBuffer *buffer, guint position, int n_chars);\nfunction gtk_entry_buffer_delete_text(buffer, position, n_chars) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_entry_buffer_delete_text\n  type(c_ptr), value :: buffer\n  integer(c_int), value :: position\n  integer(c_int), value :: n_chars\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_entry_buffer_emit_inserted_text (GtkEntryBuffer *buffer, guint position, const char *chars, guint n_chars);\nsubroutine gtk_entry_buffer_emit_inserted_text(buffer, position, chars,&\n& n_chars) bind(c)\n  import :: c_ptr, c_int, c_char\n  implicit none\n  type(c_ptr), value :: buffer\n  integer(c_int), value :: position\n  character(kind=c_char), dimension(*) :: chars\n  integer(c_int), value :: n_chars\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_entry_buffer_emit_deleted_text (GtkEntryBuffer *buffer, guint position, guint n_chars);\nsubroutine gtk_entry_buffer_emit_deleted_text(buffer, position, n_chars)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: buffer\n  integer(c_int), value :: position\n  integer(c_int), value :: n_chars\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkenums.h\n!--------------------------------------------------\n! \n!GtkOrdering gtk_ordering_from_cmpfunc (int cmpfunc_result);\nfunction gtk_ordering_from_cmpfunc(cmpfunc_result) bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: gtk_ordering_from_cmpfunc\n  integer(c_int), value :: cmpfunc_result\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkeventcontroller.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_event_controller_get_type (void) ;\nfunction gtk_event_controller_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_event_controller_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_event_controller_get_widget (GtkEventController *controller);\nfunction gtk_event_controller_get_widget(controller) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_event_controller_get_widget\n  type(c_ptr), value :: controller\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_event_controller_reset (GtkEventController *controller);\nsubroutine gtk_event_controller_reset(controller) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: controller\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPropagationPhase gtk_event_controller_get_propagation_phase (GtkEventController *controller);\nfunction gtk_event_controller_get_propagation_phase(controller) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_event_controller_get_propagation_phase\n  type(c_ptr), value :: controller\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_event_controller_set_propagation_phase (GtkEventController *controller, GtkPropagationPhase phase);\nsubroutine gtk_event_controller_set_propagation_phase(controller, phase)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: controller\n  integer(c_int), value :: phase\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPropagationLimit gtk_event_controller_get_propagation_limit (GtkEventController *controller);\nfunction gtk_event_controller_get_propagation_limit(controller) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_event_controller_get_propagation_limit\n  type(c_ptr), value :: controller\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_event_controller_set_propagation_limit (GtkEventController *controller, GtkPropagationLimit limit);\nsubroutine gtk_event_controller_set_propagation_limit(controller, limit)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: controller\n  integer(c_int), value :: limit\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_event_controller_get_name (GtkEventController *controller);\nfunction gtk_event_controller_get_name(controller) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_event_controller_get_name\n  type(c_ptr), value :: controller\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_event_controller_set_name (GtkEventController *controller, const char *name);\nsubroutine gtk_event_controller_set_name(controller, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: controller\n  character(kind=c_char), dimension(*) :: name\nend subroutine\n\n! GDK_AVAILABLE_IN_4_8\n!void gtk_event_controller_set_static_name (GtkEventController *controller, const char *name);\nsubroutine gtk_event_controller_set_static_name(controller, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: controller\n  character(kind=c_char), dimension(*) :: name\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GdkEvent * gtk_event_controller_get_current_event (GtkEventController *controller);\nfunction gtk_event_controller_get_current_event(controller) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_event_controller_get_current_event\n  type(c_ptr), value :: controller\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint32 gtk_event_controller_get_current_event_time (GtkEventController *controller);\nfunction gtk_event_controller_get_current_event_time(controller) bind(c)\n  import :: c_int32_t, c_ptr\n  implicit none\n  integer(c_int32_t) :: gtk_event_controller_get_current_event_time\n  type(c_ptr), value :: controller\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDevice * gtk_event_controller_get_current_event_device (GtkEventController *controller);\nfunction gtk_event_controller_get_current_event_device(controller) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_event_controller_get_current_event_device\n  type(c_ptr), value :: controller\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkModifierType gtk_event_controller_get_current_event_state (GtkEventController *controller);\nfunction gtk_event_controller_get_current_event_state(controller) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_event_controller_get_current_event_state\n  type(c_ptr), value :: controller\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkeventcontrollerfocus.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_event_controller_focus_get_type (void) ;\nfunction gtk_event_controller_focus_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_event_controller_focus_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkEventController *gtk_event_controller_focus_new (void);\nfunction gtk_event_controller_focus_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_event_controller_focus_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_event_controller_focus_contains_focus (GtkEventControllerFocus *self);\nfunction gtk_event_controller_focus_contains_focus(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_event_controller_focus_contains_focus\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_event_controller_focus_is_focus (GtkEventControllerFocus *self);\nfunction gtk_event_controller_focus_is_focus(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_event_controller_focus_is_focus\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkeventcontrollerkey.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_event_controller_key_get_type (void) ;\nfunction gtk_event_controller_key_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_event_controller_key_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkEventController *gtk_event_controller_key_new (void);\nfunction gtk_event_controller_key_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_event_controller_key_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_event_controller_key_set_im_context (GtkEventControllerKey *controller, GtkIMContext *im_context);\nsubroutine gtk_event_controller_key_set_im_context(controller, im_context)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: controller\n  type(c_ptr), value :: im_context\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkIMContext * gtk_event_controller_key_get_im_context (GtkEventControllerKey *controller);\nfunction gtk_event_controller_key_get_im_context(controller) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_event_controller_key_get_im_context\n  type(c_ptr), value :: controller\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_event_controller_key_forward (GtkEventControllerKey *controller, GtkWidget *widget);\nfunction gtk_event_controller_key_forward(controller, widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_event_controller_key_forward\n  type(c_ptr), value :: controller\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_event_controller_key_get_group (GtkEventControllerKey *controller);\nfunction gtk_event_controller_key_get_group(controller) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_event_controller_key_get_group\n  type(c_ptr), value :: controller\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkeventcontrollerlegacy.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_event_controller_legacy_get_type (void) ;\nfunction gtk_event_controller_legacy_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_event_controller_legacy_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkEventController *gtk_event_controller_legacy_new (void);\nfunction gtk_event_controller_legacy_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_event_controller_legacy_new\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkeventcontrollermotion.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_event_controller_motion_get_type (void) ;\nfunction gtk_event_controller_motion_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_event_controller_motion_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkEventController *gtk_event_controller_motion_new (void);\nfunction gtk_event_controller_motion_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_event_controller_motion_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_event_controller_motion_contains_pointer (GtkEventControllerMotion *self);\nfunction gtk_event_controller_motion_contains_pointer(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_event_controller_motion_contains_pointer\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_event_controller_motion_is_pointer (GtkEventControllerMotion *self);\nfunction gtk_event_controller_motion_is_pointer(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_event_controller_motion_is_pointer\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkeventcontrollerscroll.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_event_controller_scroll_get_type (void) ;\nfunction gtk_event_controller_scroll_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_event_controller_scroll_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkEventController *gtk_event_controller_scroll_new (GtkEventControllerScrollFlags flags);\nfunction gtk_event_controller_scroll_new(flags) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_event_controller_scroll_new\n  integer(c_int), value :: flags\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_event_controller_scroll_set_flags (GtkEventControllerScroll *scroll, GtkEventControllerScrollFlags flags);\nsubroutine gtk_event_controller_scroll_set_flags(scroll, flags) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: scroll\n  integer(c_int), value :: flags\nend subroutine\n\n! \n!GtkEventControllerScrollFlags gtk_event_controller_scroll_get_flags (GtkEventControllerScroll *scroll);\nfunction gtk_event_controller_scroll_get_flags(scroll) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_event_controller_scroll_get_flags\n  type(c_ptr), value :: scroll\nend function\n\n! GDK_AVAILABLE_IN_4_8\n!GdkScrollUnit gtk_event_controller_scroll_get_unit (GtkEventControllerScroll *scroll);\nfunction gtk_event_controller_scroll_get_unit(scroll) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_event_controller_scroll_get_unit\n  type(c_ptr), value :: scroll\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkexpander.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_expander_get_type (void) ;\nfunction gtk_expander_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_expander_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget *gtk_expander_new (const char *label);\nfunction gtk_expander_new(label) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_expander_new\n  character(kind=c_char), dimension(*) :: label\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget *gtk_expander_new_with_mnemonic (const char *label);\nfunction gtk_expander_new_with_mnemonic(label) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_expander_new_with_mnemonic\n  character(kind=c_char), dimension(*) :: label\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_expander_set_expanded (GtkExpander *expander, gboolean expanded);\nsubroutine gtk_expander_set_expanded(expander, expanded) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: expander\n  integer(c_int), value :: expanded\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_expander_get_expanded (GtkExpander *expander);\nfunction gtk_expander_get_expanded(expander) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_expander_get_expanded\n  type(c_ptr), value :: expander\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_expander_set_label (GtkExpander *expander, const char *label);\nsubroutine gtk_expander_set_label(expander, label) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: expander\n  character(kind=c_char), dimension(*) :: label\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_expander_get_label (GtkExpander *expander);\nfunction gtk_expander_get_label(expander) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_expander_get_label\n  type(c_ptr), value :: expander\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_expander_set_use_underline (GtkExpander *expander, gboolean use_underline);\nsubroutine gtk_expander_set_use_underline(expander, use_underline) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: expander\n  integer(c_int), value :: use_underline\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_expander_get_use_underline (GtkExpander *expander);\nfunction gtk_expander_get_use_underline(expander) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_expander_get_use_underline\n  type(c_ptr), value :: expander\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_expander_set_use_markup (GtkExpander *expander, gboolean use_markup);\nsubroutine gtk_expander_set_use_markup(expander, use_markup) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: expander\n  integer(c_int), value :: use_markup\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_expander_get_use_markup (GtkExpander *expander);\nfunction gtk_expander_get_use_markup(expander) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_expander_get_use_markup\n  type(c_ptr), value :: expander\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_expander_set_label_widget (GtkExpander *expander, GtkWidget *label_widget);\nsubroutine gtk_expander_set_label_widget(expander, label_widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: expander\n  type(c_ptr), value :: label_widget\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget *gtk_expander_get_label_widget (GtkExpander *expander);\nfunction gtk_expander_get_label_widget(expander) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_expander_get_label_widget\n  type(c_ptr), value :: expander\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_expander_set_resize_toplevel (GtkExpander *expander, gboolean resize_toplevel);\nsubroutine gtk_expander_set_resize_toplevel(expander, resize_toplevel) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: expander\n  integer(c_int), value :: resize_toplevel\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_expander_get_resize_toplevel (GtkExpander *expander);\nfunction gtk_expander_get_resize_toplevel(expander) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_expander_get_resize_toplevel\n  type(c_ptr), value :: expander\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_expander_set_child (GtkExpander *expander, GtkWidget *child);\nsubroutine gtk_expander_set_child(expander, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: expander\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_expander_get_child (GtkExpander *expander);\nfunction gtk_expander_get_child(expander) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_expander_get_child\n  type(c_ptr), value :: expander\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkexpression.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_expression_get_type (void) ;\nfunction gtk_expression_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_expression_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkExpression * gtk_expression_ref (GtkExpression *self);\nfunction gtk_expression_ref(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_expression_ref\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_expression_unref (GtkExpression *self);\nsubroutine gtk_expression_unref(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_expression_get_value_type (GtkExpression *self);\nfunction gtk_expression_get_value_type(self) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: gtk_expression_get_value_type\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_expression_is_static (GtkExpression *self);\nfunction gtk_expression_is_static(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_expression_is_static\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_expression_evaluate (GtkExpression *self, gpointer this_, GValue *value);\nfunction gtk_expression_evaluate(self, this_, value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_expression_evaluate\n  type(c_ptr), value :: self\n  type(c_ptr), value :: this_\n  type(c_ptr), value :: value\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkExpressionWatch * gtk_expression_watch (GtkExpression *self, gpointer this_, GtkExpressionNotify notify, gpointer user_data, GDestroyNotify user_destroy);\nfunction gtk_expression_watch(self, this_, notify, user_data, user_destroy)&\n& bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: gtk_expression_watch\n  type(c_ptr), value :: self\n  type(c_ptr), value :: this_\n  type(c_funptr), value :: notify\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: user_destroy\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkExpressionWatch * gtk_expression_bind (GtkExpression *self, gpointer target, const char * property, gpointer this_);\nfunction gtk_expression_bind(self, target, property, this_) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_expression_bind\n  type(c_ptr), value :: self\n  type(c_ptr), value :: target\n  character(kind=c_char), dimension(*) :: property\n  type(c_ptr), value :: this_\nend function\n\n! GDK_AVAILABLE_IN_4_2\n!GType gtk_expression_watch_get_type (void) ;\nfunction gtk_expression_watch_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_expression_watch_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkExpressionWatch * gtk_expression_watch_ref (GtkExpressionWatch *watch);\nfunction gtk_expression_watch_ref(watch) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_expression_watch_ref\n  type(c_ptr), value :: watch\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_expression_watch_unref (GtkExpressionWatch *watch);\nsubroutine gtk_expression_watch_unref(watch) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: watch\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_expression_watch_evaluate (GtkExpressionWatch *watch, GValue *value);\nfunction gtk_expression_watch_evaluate(watch, value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_expression_watch_evaluate\n  type(c_ptr), value :: watch\n  type(c_ptr), value :: value\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_expression_watch_unwatch (GtkExpressionWatch *watch);\nsubroutine gtk_expression_watch_unwatch(watch) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: watch\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_property_expression_get_type (void) ;\nfunction gtk_property_expression_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_property_expression_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkExpression * gtk_property_expression_new (GType this_type, GtkExpression *expression, const char *property_name);\nfunction gtk_property_expression_new(this_type, expression, property_name)&\n& bind(c)\n  import :: c_ptr, c_size_t, c_char\n  implicit none\n  type(c_ptr) :: gtk_property_expression_new\n  integer(c_size_t), value :: this_type\n  type(c_ptr), value :: expression\n  character(kind=c_char), dimension(*) :: property_name\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkExpression * gtk_property_expression_new_for_pspec (GtkExpression *expression, GParamSpec *pspec);\nfunction gtk_property_expression_new_for_pspec(expression, pspec) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_property_expression_new_for_pspec\n  type(c_ptr), value :: expression\n  type(c_ptr), value :: pspec\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkExpression * gtk_property_expression_get_expression (GtkExpression *expression);\nfunction gtk_property_expression_get_expression(expression) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_property_expression_get_expression\n  type(c_ptr), value :: expression\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GParamSpec * gtk_property_expression_get_pspec (GtkExpression *expression);\nfunction gtk_property_expression_get_pspec(expression) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_property_expression_get_pspec\n  type(c_ptr), value :: expression\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_constant_expression_get_type (void) ;\nfunction gtk_constant_expression_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_constant_expression_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkExpression * gtk_constant_expression_new_for_value (const GValue *value);\nfunction gtk_constant_expression_new_for_value(value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_constant_expression_new_for_value\n  type(c_ptr), value :: value\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const GValue * gtk_constant_expression_get_value (GtkExpression *expression);\nfunction gtk_constant_expression_get_value(expression) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_constant_expression_get_value\n  type(c_ptr), value :: expression\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_object_expression_get_type (void) ;\nfunction gtk_object_expression_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_object_expression_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkExpression * gtk_object_expression_new (GObject *object);\nfunction gtk_object_expression_new(object) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_object_expression_new\n  type(c_ptr), value :: object\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GObject * gtk_object_expression_get_object (GtkExpression *expression);\nfunction gtk_object_expression_get_object(expression) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_object_expression_get_object\n  type(c_ptr), value :: expression\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_closure_expression_get_type (void) ;\nfunction gtk_closure_expression_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_closure_expression_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkExpression * gtk_closure_expression_new (GType value_type, GClosure *closure, guint n_params, GtkExpression **params);\nfunction gtk_closure_expression_new(value_type, closure, n_params, params)&\n& bind(c)\n  import :: c_ptr, c_size_t, c_int\n  implicit none\n  type(c_ptr) :: gtk_closure_expression_new\n  integer(c_size_t), value :: value_type\n  type(c_ptr), value :: closure\n  integer(c_int), value :: n_params\n  type(c_ptr), value :: params\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_cclosure_expression_get_type (void) ;\nfunction gtk_cclosure_expression_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_cclosure_expression_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkExpression * gtk_cclosure_expression_new (GType value_type, GClosureMarshal marshal, guint n_params, GtkExpression **params, GCallback callback_func, gpointer user_data, GClosureNotify user_destroy);\nfunction gtk_cclosure_expression_new(value_type, marshal, n_params, params,&\n& callback_func, user_data, user_destroy) bind(c)\n  import :: c_ptr, c_size_t, c_funptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_cclosure_expression_new\n  integer(c_size_t), value :: value_type\n  type(c_funptr), value :: marshal\n  integer(c_int), value :: n_params\n  type(c_ptr), value :: params\n  type(c_funptr), value :: callback_func\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: user_destroy\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_value_set_expression (GValue *value, GtkExpression *expression);\nsubroutine gtk_value_set_expression(value, expression) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: value\n  type(c_ptr), value :: expression\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_value_take_expression (GValue *value, GtkExpression *expression);\nsubroutine gtk_value_take_expression(value, expression) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: value\n  type(c_ptr), value :: expression\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkExpression * gtk_value_get_expression (const GValue *value);\nfunction gtk_value_get_expression(value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_value_get_expression\n  type(c_ptr), value :: value\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkExpression * gtk_value_dup_expression (const GValue *value);\nfunction gtk_value_dup_expression(value) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_value_dup_expression\n  type(c_ptr), value :: value\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_param_expression_get_type (void) ;\nfunction gtk_param_expression_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_param_expression_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GParamSpec * gtk_param_spec_expression (const char *name, const char *nick, const char *blurb, GParamFlags flags);\nfunction gtk_param_spec_expression(name, nick, blurb, flags) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: gtk_param_spec_expression\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: nick\n  character(kind=c_char), dimension(*) :: blurb\n  integer(c_int), value :: flags\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkfiledialog.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_4_10\n!GtkFileDialog * gtk_file_dialog_new (void);\nfunction gtk_file_dialog_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_file_dialog_new\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!const char * gtk_file_dialog_get_title (GtkFileDialog *self);\nfunction gtk_file_dialog_get_title(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_file_dialog_get_title\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_file_dialog_set_title (GtkFileDialog *self, const char *title);\nsubroutine gtk_file_dialog_set_title(self, title) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: title\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!gboolean gtk_file_dialog_get_modal (GtkFileDialog *self);\nfunction gtk_file_dialog_get_modal(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_file_dialog_get_modal\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_file_dialog_set_modal (GtkFileDialog *self, gboolean modal);\nsubroutine gtk_file_dialog_set_modal(self, modal) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: modal\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!GListModel * gtk_file_dialog_get_filters (GtkFileDialog *self);\nfunction gtk_file_dialog_get_filters(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_file_dialog_get_filters\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_file_dialog_set_filters (GtkFileDialog *self, GListModel *filters);\nsubroutine gtk_file_dialog_set_filters(self, filters) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: filters\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!GtkFileFilter * gtk_file_dialog_get_default_filter (GtkFileDialog *self);\nfunction gtk_file_dialog_get_default_filter(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_file_dialog_get_default_filter\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_file_dialog_set_default_filter (GtkFileDialog *self, GtkFileFilter *filter);\nsubroutine gtk_file_dialog_set_default_filter(self, filter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: filter\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!GFile * gtk_file_dialog_get_initial_folder (GtkFileDialog *self);\nfunction gtk_file_dialog_get_initial_folder(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_file_dialog_get_initial_folder\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_file_dialog_set_initial_folder (GtkFileDialog *self, GFile *folder);\nsubroutine gtk_file_dialog_set_initial_folder(self, folder) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: folder\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!const char * gtk_file_dialog_get_initial_name (GtkFileDialog *self);\nfunction gtk_file_dialog_get_initial_name(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_file_dialog_get_initial_name\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_file_dialog_set_initial_name (GtkFileDialog *self, const char *name);\nsubroutine gtk_file_dialog_set_initial_name(self, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: name\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!GFile * gtk_file_dialog_get_initial_file (GtkFileDialog *self);\nfunction gtk_file_dialog_get_initial_file(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_file_dialog_get_initial_file\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_file_dialog_set_initial_file (GtkFileDialog *self, GFile *file);\nsubroutine gtk_file_dialog_set_initial_file(self, file) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: file\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!const char * gtk_file_dialog_get_accept_label (GtkFileDialog *self);\nfunction gtk_file_dialog_get_accept_label(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_file_dialog_get_accept_label\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_file_dialog_set_accept_label (GtkFileDialog *self, const char *accept_label);\nsubroutine gtk_file_dialog_set_accept_label(self, accept_label) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: accept_label\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_file_dialog_open (GtkFileDialog *self, GtkWindow *parent, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine gtk_file_dialog_open(self, parent, cancellable, callback, user_data)&\n& bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: parent\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!GFile * gtk_file_dialog_open_finish (GtkFileDialog *self, GAsyncResult *result, GError **error);\nfunction gtk_file_dialog_open_finish(self, result, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_file_dialog_open_finish\n  type(c_ptr), value :: self\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_file_dialog_select_folder (GtkFileDialog *self, GtkWindow *parent, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine gtk_file_dialog_select_folder(self, parent, cancellable, callback,&\n& user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: parent\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!GFile * gtk_file_dialog_select_folder_finish (GtkFileDialog *self, GAsyncResult *result, GError **error);\nfunction gtk_file_dialog_select_folder_finish(self, result, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_file_dialog_select_folder_finish\n  type(c_ptr), value :: self\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_file_dialog_save (GtkFileDialog *self, GtkWindow *parent, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine gtk_file_dialog_save(self, parent, cancellable, callback, user_data)&\n& bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: parent\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!GFile * gtk_file_dialog_save_finish (GtkFileDialog *self, GAsyncResult *result, GError **error);\nfunction gtk_file_dialog_save_finish(self, result, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_file_dialog_save_finish\n  type(c_ptr), value :: self\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_file_dialog_open_multiple (GtkFileDialog *self, GtkWindow *parent, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine gtk_file_dialog_open_multiple(self, parent, cancellable, callback,&\n& user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: parent\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!GListModel * gtk_file_dialog_open_multiple_finish (GtkFileDialog *self, GAsyncResult *result, GError **error);\nfunction gtk_file_dialog_open_multiple_finish(self, result, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_file_dialog_open_multiple_finish\n  type(c_ptr), value :: self\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_file_dialog_select_multiple_folders (GtkFileDialog *self, GtkWindow *parent, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine gtk_file_dialog_select_multiple_folders(self, parent, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: parent\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!GListModel * gtk_file_dialog_select_multiple_folders_finish (GtkFileDialog *self, GAsyncResult *result, GError **error);\nfunction gtk_file_dialog_select_multiple_folders_finish(self, result, error)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_file_dialog_select_multiple_folders_finish\n  type(c_ptr), value :: self\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_4_18\n!void gtk_file_dialog_open_text_file (GtkFileDialog *self, GtkWindow *parent, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine gtk_file_dialog_open_text_file(self, parent, cancellable, callback,&\n& user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: parent\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GDK_AVAILABLE_IN_4_18\n!GFile * gtk_file_dialog_open_text_file_finish (GtkFileDialog *self, GAsyncResult *result, const char **encoding, GError **error);\nfunction gtk_file_dialog_open_text_file_finish(self, result, encoding, error)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_file_dialog_open_text_file_finish\n  type(c_ptr), value :: self\n  type(c_ptr), value :: result\n  type(c_ptr), dimension(*) :: encoding\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_4_18\n!void gtk_file_dialog_open_multiple_text_files (GtkFileDialog *self, GtkWindow *parent, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine gtk_file_dialog_open_multiple_text_files(self, parent, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: parent\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GDK_AVAILABLE_IN_4_18\n!GListModel * gtk_file_dialog_open_multiple_text_files_finish (GtkFileDialog *self, GAsyncResult *result, const char **encoding, GError **error);\nfunction gtk_file_dialog_open_multiple_text_files_finish(self, result,&\n& encoding, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_file_dialog_open_multiple_text_files_finish\n  type(c_ptr), value :: self\n  type(c_ptr), value :: result\n  type(c_ptr), dimension(*) :: encoding\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_4_18\n!void gtk_file_dialog_save_text_file (GtkFileDialog *self, GtkWindow *parent, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine gtk_file_dialog_save_text_file(self, parent, cancellable, callback,&\n& user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: parent\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GDK_AVAILABLE_IN_4_18\n!GFile * gtk_file_dialog_save_text_file_finish (GtkFileDialog *self, GAsyncResult *result, const char **encoding, const char **line_ending, GError **error);\nfunction gtk_file_dialog_save_text_file_finish(self, result, encoding,&\n& line_ending, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_file_dialog_save_text_file_finish\n  type(c_ptr), value :: self\n  type(c_ptr), value :: result\n  type(c_ptr), dimension(*) :: encoding\n  type(c_ptr), dimension(*) :: line_ending\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkfilefilter.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_file_filter_get_type (void) ;\nfunction gtk_file_filter_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_file_filter_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkFileFilter * gtk_file_filter_new (void);\nfunction gtk_file_filter_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_file_filter_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_file_filter_set_name (GtkFileFilter *filter, const char *name);\nsubroutine gtk_file_filter_set_name(filter, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: filter\n  character(kind=c_char), dimension(*) :: name\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_file_filter_get_name (GtkFileFilter *filter);\nfunction gtk_file_filter_get_name(filter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_file_filter_get_name\n  type(c_ptr), value :: filter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_file_filter_add_mime_type (GtkFileFilter *filter, const char *mime_type);\nsubroutine gtk_file_filter_add_mime_type(filter, mime_type) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: filter\n  character(kind=c_char), dimension(*) :: mime_type\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_file_filter_add_pattern (GtkFileFilter *filter, const char *pattern);\nsubroutine gtk_file_filter_add_pattern(filter, pattern) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: filter\n  character(kind=c_char), dimension(*) :: pattern\nend subroutine\n\n! GDK_AVAILABLE_IN_4_4\n!void gtk_file_filter_add_suffix (GtkFileFilter *filter, const char *suffix);\nsubroutine gtk_file_filter_add_suffix(filter, suffix) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: filter\n  character(kind=c_char), dimension(*) :: suffix\nend subroutine\n\n! GDK_DEPRECATED_IN_4_20\n!void gtk_file_filter_add_pixbuf_formats (GtkFileFilter *filter);\nsubroutine gtk_file_filter_add_pixbuf_formats(filter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: filter\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char ** gtk_file_filter_get_attributes (GtkFileFilter *filter);\nfunction gtk_file_filter_get_attributes(filter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_file_filter_get_attributes\n  type(c_ptr), value :: filter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GVariant * gtk_file_filter_to_gvariant (GtkFileFilter *filter);\nfunction gtk_file_filter_to_gvariant(filter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_file_filter_to_gvariant\n  type(c_ptr), value :: filter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkFileFilter * gtk_file_filter_new_from_gvariant (GVariant *variant);\nfunction gtk_file_filter_new_from_gvariant(variant) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_file_filter_new_from_gvariant\n  type(c_ptr), value :: variant\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkfilelauncher.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_4_10\n!GtkFileLauncher * gtk_file_launcher_new (GFile *file);\nfunction gtk_file_launcher_new(file) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_file_launcher_new\n  type(c_ptr), value :: file\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!GFile * gtk_file_launcher_get_file (GtkFileLauncher *self);\nfunction gtk_file_launcher_get_file(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_file_launcher_get_file\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_file_launcher_set_file (GtkFileLauncher *self, GFile *file);\nsubroutine gtk_file_launcher_set_file(self, file) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: file\nend subroutine\n\n! GDK_AVAILABLE_IN_4_12\n!gboolean gtk_file_launcher_get_always_ask (GtkFileLauncher *self);\nfunction gtk_file_launcher_get_always_ask(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_file_launcher_get_always_ask\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_file_launcher_set_always_ask (GtkFileLauncher *self, gboolean always_ask);\nsubroutine gtk_file_launcher_set_always_ask(self, always_ask) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: always_ask\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!gboolean gtk_file_launcher_get_writable (GtkFileLauncher *self);\nfunction gtk_file_launcher_get_writable(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_file_launcher_get_writable\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gtk_file_launcher_set_writable (GtkFileLauncher *self, gboolean writable);\nsubroutine gtk_file_launcher_set_writable(self, writable) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: writable\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_file_launcher_launch (GtkFileLauncher *self, GtkWindow *parent, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine gtk_file_launcher_launch(self, parent, cancellable, callback,&\n& user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: parent\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!gboolean gtk_file_launcher_launch_finish (GtkFileLauncher *self, GAsyncResult *result, GError **error);\nfunction gtk_file_launcher_launch_finish(self, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_file_launcher_launch_finish\n  type(c_ptr), value :: self\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_file_launcher_open_containing_folder (GtkFileLauncher *self, GtkWindow *parent, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine gtk_file_launcher_open_containing_folder(self, parent, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: parent\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!gboolean gtk_file_launcher_open_containing_folder_finish (GtkFileLauncher *self, GAsyncResult *result, GError **error);\nfunction gtk_file_launcher_open_containing_folder_finish(self, result, error)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_file_launcher_open_containing_folder_finish\n  type(c_ptr), value :: self\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkfilter.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_filter_match (GtkFilter *self, gpointer item);\nfunction gtk_filter_match(self, item) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_filter_match\n  type(c_ptr), value :: self\n  type(c_ptr), value :: item\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkFilterMatch gtk_filter_get_strictness (GtkFilter *self);\nfunction gtk_filter_get_strictness(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_filter_get_strictness\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_filter_changed (GtkFilter *self, GtkFilterChange change);\nsubroutine gtk_filter_changed(self, change) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: change\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkfilterlistmodel.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkFilterListModel * gtk_filter_list_model_new (GListModel *model, GtkFilter *filter);\nfunction gtk_filter_list_model_new(model, filter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_filter_list_model_new\n  type(c_ptr), value :: model\n  type(c_ptr), value :: filter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_filter_list_model_set_filter (GtkFilterListModel *self, GtkFilter *filter);\nsubroutine gtk_filter_list_model_set_filter(self, filter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: filter\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkFilter * gtk_filter_list_model_get_filter (GtkFilterListModel *self);\nfunction gtk_filter_list_model_get_filter(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_filter_list_model_get_filter\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_filter_list_model_set_model (GtkFilterListModel *self, GListModel *model);\nsubroutine gtk_filter_list_model_set_model(self, model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: model\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GListModel * gtk_filter_list_model_get_model (GtkFilterListModel *self);\nfunction gtk_filter_list_model_get_model(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_filter_list_model_get_model\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_filter_list_model_set_incremental (GtkFilterListModel *self, gboolean incremental);\nsubroutine gtk_filter_list_model_set_incremental(self, incremental) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: incremental\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_filter_list_model_get_incremental (GtkFilterListModel *self);\nfunction gtk_filter_list_model_get_incremental(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_filter_list_model_get_incremental\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_filter_list_model_get_pending (GtkFilterListModel *self);\nfunction gtk_filter_list_model_get_pending(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_filter_list_model_get_pending\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_20\n!gboolean gtk_filter_list_model_get_watch_items (GtkFilterListModel *self);\nfunction gtk_filter_list_model_get_watch_items(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_filter_list_model_get_watch_items\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_20\n!void gtk_filter_list_model_set_watch_items (GtkFilterListModel *self, gboolean watch_items);\nsubroutine gtk_filter_list_model_set_watch_items(self, watch_items) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: watch_items\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkfixed.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_fixed_get_type (void) ;\nfunction gtk_fixed_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_fixed_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_fixed_new (void);\nfunction gtk_fixed_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_fixed_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_fixed_put (GtkFixed *fixed, GtkWidget *widget, double x, double y);\nsubroutine gtk_fixed_put(fixed, widget, x, y) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: fixed\n  type(c_ptr), value :: widget\n  real(c_double), value :: x\n  real(c_double), value :: y\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_fixed_remove (GtkFixed *fixed, GtkWidget *widget);\nsubroutine gtk_fixed_remove(fixed, widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: fixed\n  type(c_ptr), value :: widget\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_fixed_move (GtkFixed *fixed, GtkWidget *widget, double x, double y);\nsubroutine gtk_fixed_move(fixed, widget, x, y) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: fixed\n  type(c_ptr), value :: widget\n  real(c_double), value :: x\n  real(c_double), value :: y\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_fixed_get_child_position (GtkFixed *fixed, GtkWidget *widget, double *x, double *y);\nsubroutine gtk_fixed_get_child_position(fixed, widget, x, y) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: fixed\n  type(c_ptr), value :: widget\n  type(c_ptr), value :: x\n  type(c_ptr), value :: y\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_fixed_set_child_transform (GtkFixed *fixed, GtkWidget *widget, GskTransform *transform);\nsubroutine gtk_fixed_set_child_transform(fixed, widget, transform) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: fixed\n  type(c_ptr), value :: widget\n  type(c_ptr), value :: transform\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GskTransform * gtk_fixed_get_child_transform (GtkFixed *fixed, GtkWidget *widget);\nfunction gtk_fixed_get_child_transform(fixed, widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_fixed_get_child_transform\n  type(c_ptr), value :: fixed\n  type(c_ptr), value :: widget\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkfixedlayout.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkLayoutManager * gtk_fixed_layout_new (void);\nfunction gtk_fixed_layout_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_fixed_layout_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_fixed_layout_child_set_transform (GtkFixedLayoutChild *child, GskTransform *transform);\nsubroutine gtk_fixed_layout_child_set_transform(child, transform) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: child\n  type(c_ptr), value :: transform\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GskTransform * gtk_fixed_layout_child_get_transform (GtkFixedLayoutChild *child);\nfunction gtk_fixed_layout_child_get_transform(child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_fixed_layout_child_get_transform\n  type(c_ptr), value :: child\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkflattenlistmodel.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkFlattenListModel * gtk_flatten_list_model_new (GListModel *model);\nfunction gtk_flatten_list_model_new(model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_flatten_list_model_new\n  type(c_ptr), value :: model\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_flatten_list_model_set_model (GtkFlattenListModel *self, GListModel *model);\nsubroutine gtk_flatten_list_model_set_model(self, model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: model\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GListModel * gtk_flatten_list_model_get_model (GtkFlattenListModel *self);\nfunction gtk_flatten_list_model_get_model(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_flatten_list_model_get_model\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GListModel * gtk_flatten_list_model_get_model_for_item (GtkFlattenListModel *self, guint position);\nfunction gtk_flatten_list_model_get_model_for_item(self, position) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_flatten_list_model_get_model_for_item\n  type(c_ptr), value :: self\n  integer(c_int), value :: position\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkflowbox.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_flow_box_child_get_type (void) ;\nfunction gtk_flow_box_child_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_flow_box_child_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_flow_box_child_new (void);\nfunction gtk_flow_box_child_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_flow_box_child_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_flow_box_child_set_child (GtkFlowBoxChild *self, GtkWidget *child);\nsubroutine gtk_flow_box_child_set_child(self, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_flow_box_child_get_child (GtkFlowBoxChild *self);\nfunction gtk_flow_box_child_get_child(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_flow_box_child_get_child\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_flow_box_child_get_index (GtkFlowBoxChild *child);\nfunction gtk_flow_box_child_get_index(child) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_flow_box_child_get_index\n  type(c_ptr), value :: child\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_flow_box_child_is_selected (GtkFlowBoxChild *child);\nfunction gtk_flow_box_child_is_selected(child) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_flow_box_child_is_selected\n  type(c_ptr), value :: child\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_flow_box_child_changed (GtkFlowBoxChild *child);\nsubroutine gtk_flow_box_child_changed(child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_flow_box_get_type (void) ;\nfunction gtk_flow_box_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_flow_box_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget *gtk_flow_box_new (void);\nfunction gtk_flow_box_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_flow_box_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_flow_box_bind_model (GtkFlowBox *box, GListModel *model, GtkFlowBoxCreateWidgetFunc create_widget_func, gpointer user_data, GDestroyNotify user_data_free_func);\nsubroutine gtk_flow_box_bind_model(box, model, create_widget_func, user_data,&\n& user_data_free_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: box\n  type(c_ptr), value :: model\n  type(c_funptr), value :: create_widget_func\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: user_data_free_func\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_flow_box_set_homogeneous (GtkFlowBox *box, gboolean homogeneous);\nsubroutine gtk_flow_box_set_homogeneous(box, homogeneous) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: box\n  integer(c_int), value :: homogeneous\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_flow_box_get_homogeneous (GtkFlowBox *box);\nfunction gtk_flow_box_get_homogeneous(box) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_flow_box_get_homogeneous\n  type(c_ptr), value :: box\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_flow_box_set_row_spacing (GtkFlowBox *box, guint spacing);\nsubroutine gtk_flow_box_set_row_spacing(box, spacing) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: box\n  integer(c_int), value :: spacing\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_flow_box_get_row_spacing (GtkFlowBox *box);\nfunction gtk_flow_box_get_row_spacing(box) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_flow_box_get_row_spacing\n  type(c_ptr), value :: box\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_flow_box_set_column_spacing (GtkFlowBox *box, guint spacing);\nsubroutine gtk_flow_box_set_column_spacing(box, spacing) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: box\n  integer(c_int), value :: spacing\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_flow_box_get_column_spacing (GtkFlowBox *box);\nfunction gtk_flow_box_get_column_spacing(box) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_flow_box_get_column_spacing\n  type(c_ptr), value :: box\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_flow_box_set_min_children_per_line (GtkFlowBox *box, guint n_children);\nsubroutine gtk_flow_box_set_min_children_per_line(box, n_children) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: box\n  integer(c_int), value :: n_children\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_flow_box_get_min_children_per_line (GtkFlowBox *box);\nfunction gtk_flow_box_get_min_children_per_line(box) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_flow_box_get_min_children_per_line\n  type(c_ptr), value :: box\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_flow_box_set_max_children_per_line (GtkFlowBox *box, guint n_children);\nsubroutine gtk_flow_box_set_max_children_per_line(box, n_children) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: box\n  integer(c_int), value :: n_children\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_flow_box_get_max_children_per_line (GtkFlowBox *box);\nfunction gtk_flow_box_get_max_children_per_line(box) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_flow_box_get_max_children_per_line\n  type(c_ptr), value :: box\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_flow_box_set_activate_on_single_click (GtkFlowBox *box, gboolean single);\nsubroutine gtk_flow_box_set_activate_on_single_click(box, single) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: box\n  integer(c_int), value :: single\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_flow_box_get_activate_on_single_click (GtkFlowBox *box);\nfunction gtk_flow_box_get_activate_on_single_click(box) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_flow_box_get_activate_on_single_click\n  type(c_ptr), value :: box\nend function\n\n! GDK_AVAILABLE_IN_4_6\n!void gtk_flow_box_prepend (GtkFlowBox *self, GtkWidget *child);\nsubroutine gtk_flow_box_prepend(self, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_4_6\n!void gtk_flow_box_append (GtkFlowBox *self, GtkWidget *child);\nsubroutine gtk_flow_box_append(self, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_flow_box_insert (GtkFlowBox *box, GtkWidget *widget, int position);\nsubroutine gtk_flow_box_insert(box, widget, position) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: box\n  type(c_ptr), value :: widget\n  integer(c_int), value :: position\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_flow_box_remove (GtkFlowBox *box, GtkWidget *widget);\nsubroutine gtk_flow_box_remove(box, widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: box\n  type(c_ptr), value :: widget\nend subroutine\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_flow_box_remove_all (GtkFlowBox *box);\nsubroutine gtk_flow_box_remove_all(box) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: box\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkFlowBoxChild *gtk_flow_box_get_child_at_index (GtkFlowBox *box, int idx);\nfunction gtk_flow_box_get_child_at_index(box, idx) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_flow_box_get_child_at_index\n  type(c_ptr), value :: box\n  integer(c_int), value :: idx\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkFlowBoxChild *gtk_flow_box_get_child_at_pos (GtkFlowBox *box, int x, int y);\nfunction gtk_flow_box_get_child_at_pos(box, x, y) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_flow_box_get_child_at_pos\n  type(c_ptr), value :: box\n  integer(c_int), value :: x\n  integer(c_int), value :: y\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_flow_box_selected_foreach (GtkFlowBox *box, GtkFlowBoxForeachFunc func, gpointer data);\nsubroutine gtk_flow_box_selected_foreach(box, func, data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: box\n  type(c_funptr), value :: func\n  type(c_ptr), value :: data\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GList *gtk_flow_box_get_selected_children (GtkFlowBox *box);\nfunction gtk_flow_box_get_selected_children(box) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_flow_box_get_selected_children\n  type(c_ptr), value :: box\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_flow_box_select_child (GtkFlowBox *box, GtkFlowBoxChild *child);\nsubroutine gtk_flow_box_select_child(box, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: box\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_flow_box_unselect_child (GtkFlowBox *box, GtkFlowBoxChild *child);\nsubroutine gtk_flow_box_unselect_child(box, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: box\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_flow_box_select_all (GtkFlowBox *box);\nsubroutine gtk_flow_box_select_all(box) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: box\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_flow_box_unselect_all (GtkFlowBox *box);\nsubroutine gtk_flow_box_unselect_all(box) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: box\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_flow_box_set_selection_mode (GtkFlowBox *box, GtkSelectionMode mode);\nsubroutine gtk_flow_box_set_selection_mode(box, mode) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: box\n  integer(c_int), value :: mode\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkSelectionMode gtk_flow_box_get_selection_mode (GtkFlowBox *box);\nfunction gtk_flow_box_get_selection_mode(box) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_flow_box_get_selection_mode\n  type(c_ptr), value :: box\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_flow_box_set_hadjustment (GtkFlowBox *box, GtkAdjustment *adjustment);\nsubroutine gtk_flow_box_set_hadjustment(box, adjustment) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: box\n  type(c_ptr), value :: adjustment\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_flow_box_set_vadjustment (GtkFlowBox *box, GtkAdjustment *adjustment);\nsubroutine gtk_flow_box_set_vadjustment(box, adjustment) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: box\n  type(c_ptr), value :: adjustment\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_flow_box_set_filter_func (GtkFlowBox *box, GtkFlowBoxFilterFunc filter_func, gpointer user_data, GDestroyNotify destroy);\nsubroutine gtk_flow_box_set_filter_func(box, filter_func, user_data, destroy)&\n& bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: box\n  type(c_funptr), value :: filter_func\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: destroy\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_flow_box_invalidate_filter (GtkFlowBox *box);\nsubroutine gtk_flow_box_invalidate_filter(box) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: box\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_flow_box_set_sort_func (GtkFlowBox *box, GtkFlowBoxSortFunc sort_func, gpointer user_data, GDestroyNotify destroy);\nsubroutine gtk_flow_box_set_sort_func(box, sort_func, user_data, destroy)&\n& bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: box\n  type(c_funptr), value :: sort_func\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: destroy\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_flow_box_invalidate_sort (GtkFlowBox *box);\nsubroutine gtk_flow_box_invalidate_sort(box) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: box\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkfontdialog.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_4_10\n!GtkFontDialog * gtk_font_dialog_new (void);\nfunction gtk_font_dialog_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_font_dialog_new\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!const char * gtk_font_dialog_get_title (GtkFontDialog *self);\nfunction gtk_font_dialog_get_title(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_font_dialog_get_title\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_font_dialog_set_title (GtkFontDialog *self, const char *title);\nsubroutine gtk_font_dialog_set_title(self, title) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: title\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!gboolean gtk_font_dialog_get_modal (GtkFontDialog *self);\nfunction gtk_font_dialog_get_modal(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_font_dialog_get_modal\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_font_dialog_set_modal (GtkFontDialog *self, gboolean modal);\nsubroutine gtk_font_dialog_set_modal(self, modal) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: modal\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!PangoLanguage * gtk_font_dialog_get_language (GtkFontDialog *self);\nfunction gtk_font_dialog_get_language(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_font_dialog_get_language\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_font_dialog_set_language (GtkFontDialog *self, PangoLanguage *language);\nsubroutine gtk_font_dialog_set_language(self, language) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: language\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!PangoFontMap * gtk_font_dialog_get_font_map (GtkFontDialog *self);\nfunction gtk_font_dialog_get_font_map(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_font_dialog_get_font_map\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_font_dialog_set_font_map (GtkFontDialog *self, PangoFontMap *fontmap);\nsubroutine gtk_font_dialog_set_font_map(self, fontmap) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: fontmap\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!GtkFilter * gtk_font_dialog_get_filter (GtkFontDialog *self);\nfunction gtk_font_dialog_get_filter(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_font_dialog_get_filter\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_font_dialog_set_filter (GtkFontDialog *self, GtkFilter *filter);\nsubroutine gtk_font_dialog_set_filter(self, filter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: filter\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_font_dialog_choose_family (GtkFontDialog *self, GtkWindow *parent, PangoFontFamily *initial_value, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine gtk_font_dialog_choose_family(self, parent, initial_value,&\n& cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: parent\n  type(c_ptr), value :: initial_value\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! \n!PangoFontFamily * gtk_font_dialog_choose_family_finish (GtkFontDialog *self, GAsyncResult *result, GError **error);\nfunction gtk_font_dialog_choose_family_finish(self, result, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_font_dialog_choose_family_finish\n  type(c_ptr), value :: self\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_font_dialog_choose_face (GtkFontDialog *self, GtkWindow *parent, PangoFontFace *initial_value, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine gtk_font_dialog_choose_face(self, parent, initial_value,&\n& cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: parent\n  type(c_ptr), value :: initial_value\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!PangoFontFace * gtk_font_dialog_choose_face_finish (GtkFontDialog *self, GAsyncResult *result, GError **error);\nfunction gtk_font_dialog_choose_face_finish(self, result, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_font_dialog_choose_face_finish\n  type(c_ptr), value :: self\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_font_dialog_choose_font (GtkFontDialog *self, GtkWindow *parent, PangoFontDescription *initial_value, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine gtk_font_dialog_choose_font(self, parent, initial_value,&\n& cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: parent\n  type(c_ptr), value :: initial_value\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! \n!PangoFontDescription * gtk_font_dialog_choose_font_finish (GtkFontDialog *self, GAsyncResult *result, GError **error);\nfunction gtk_font_dialog_choose_font_finish(self, result, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_font_dialog_choose_font_finish\n  type(c_ptr), value :: self\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_font_dialog_choose_font_and_features (GtkFontDialog *self, GtkWindow *parent, PangoFontDescription *initial_value, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine gtk_font_dialog_choose_font_and_features(self, parent,&\n& initial_value, cancellable, callback, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: parent\n  type(c_ptr), value :: initial_value\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!gboolean gtk_font_dialog_choose_font_and_features_finish (GtkFontDialog *self, GAsyncResult *result, PangoFontDescription **font_desc, char **font_features, PangoLanguage **language, GError **error);\nfunction gtk_font_dialog_choose_font_and_features_finish(self, result,&\n& font_desc, font_features, language, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_font_dialog_choose_font_and_features_finish\n  type(c_ptr), value :: self\n  type(c_ptr), value :: result\n  type(c_ptr), value :: font_desc\n  type(c_ptr), dimension(*) :: font_features\n  type(c_ptr), value :: language\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkfontdialogbutton.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_4_10\n!GtkWidget * gtk_font_dialog_button_new (GtkFontDialog *dialog);\nfunction gtk_font_dialog_button_new(dialog) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_font_dialog_button_new\n  type(c_ptr), value :: dialog\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!GtkFontDialog * gtk_font_dialog_button_get_dialog (GtkFontDialogButton *self);\nfunction gtk_font_dialog_button_get_dialog(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_font_dialog_button_get_dialog\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_font_dialog_button_set_dialog (GtkFontDialogButton *self, GtkFontDialog *dialog);\nsubroutine gtk_font_dialog_button_set_dialog(self, dialog) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: dialog\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!GtkFontLevel gtk_font_dialog_button_get_level (GtkFontDialogButton *self);\nfunction gtk_font_dialog_button_get_level(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_font_dialog_button_get_level\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_font_dialog_button_set_level (GtkFontDialogButton *self, GtkFontLevel level);\nsubroutine gtk_font_dialog_button_set_level(self, level) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: level\nend subroutine\n\n! \n!PangoFontDescription * gtk_font_dialog_button_get_font_desc (GtkFontDialogButton *self);\nfunction gtk_font_dialog_button_get_font_desc(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_font_dialog_button_get_font_desc\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_font_dialog_button_set_font_desc (GtkFontDialogButton *self, const PangoFontDescription *font_desc);\nsubroutine gtk_font_dialog_button_set_font_desc(self, font_desc) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: font_desc\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!const char * gtk_font_dialog_button_get_font_features (GtkFontDialogButton *self);\nfunction gtk_font_dialog_button_get_font_features(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_font_dialog_button_get_font_features\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_font_dialog_button_set_font_features (GtkFontDialogButton *self, const char *font_features);\nsubroutine gtk_font_dialog_button_set_font_features(self, font_features)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: font_features\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!PangoLanguage * gtk_font_dialog_button_get_language (GtkFontDialogButton *self);\nfunction gtk_font_dialog_button_get_language(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_font_dialog_button_get_language\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_font_dialog_button_set_language (GtkFontDialogButton *self, PangoLanguage *language);\nsubroutine gtk_font_dialog_button_set_language(self, language) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: language\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!gboolean gtk_font_dialog_button_get_use_font (GtkFontDialogButton *self);\nfunction gtk_font_dialog_button_get_use_font(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_font_dialog_button_get_use_font\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_font_dialog_button_set_use_font (GtkFontDialogButton *self, gboolean use_font);\nsubroutine gtk_font_dialog_button_set_use_font(self, use_font) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: use_font\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!gboolean gtk_font_dialog_button_get_use_size (GtkFontDialogButton *self);\nfunction gtk_font_dialog_button_get_use_size(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_font_dialog_button_get_use_size\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_font_dialog_button_set_use_size (GtkFontDialogButton *self, gboolean use_size);\nsubroutine gtk_font_dialog_button_set_use_size(self, use_size) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: use_size\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkframe.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_frame_get_type (void) ;\nfunction gtk_frame_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_frame_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_frame_new (const char *label);\nfunction gtk_frame_new(label) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_frame_new\n  character(kind=c_char), dimension(*) :: label\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_frame_set_label (GtkFrame *frame, const char *label);\nsubroutine gtk_frame_set_label(frame, label) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: frame\n  character(kind=c_char), dimension(*) :: label\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_frame_get_label (GtkFrame *frame);\nfunction gtk_frame_get_label(frame) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_frame_get_label\n  type(c_ptr), value :: frame\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_frame_set_label_widget (GtkFrame *frame, GtkWidget *label_widget);\nsubroutine gtk_frame_set_label_widget(frame, label_widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: frame\n  type(c_ptr), value :: label_widget\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget *gtk_frame_get_label_widget (GtkFrame *frame);\nfunction gtk_frame_get_label_widget(frame) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_frame_get_label_widget\n  type(c_ptr), value :: frame\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_frame_set_label_align (GtkFrame *frame, float xalign);\nsubroutine gtk_frame_set_label_align(frame, xalign) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: frame\n  real(c_float), value :: xalign\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!float gtk_frame_get_label_align (GtkFrame *frame);\nfunction gtk_frame_get_label_align(frame) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: gtk_frame_get_label_align\n  type(c_ptr), value :: frame\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_frame_set_child (GtkFrame *frame, GtkWidget *child);\nsubroutine gtk_frame_set_child(frame, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: frame\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget *gtk_frame_get_child (GtkFrame *frame);\nfunction gtk_frame_get_child(frame) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_frame_get_child\n  type(c_ptr), value :: frame\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkgesture.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_gesture_get_type (void) ;\nfunction gtk_gesture_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_gesture_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDevice * gtk_gesture_get_device (GtkGesture *gesture);\nfunction gtk_gesture_get_device(gesture) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_gesture_get_device\n  type(c_ptr), value :: gesture\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_gesture_set_state (GtkGesture *gesture, GtkEventSequenceState state);\nfunction gtk_gesture_set_state(gesture, state) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_gesture_set_state\n  type(c_ptr), value :: gesture\n  integer(c_int), value :: state\nend function\n\n! \n!GtkEventSequenceState gtk_gesture_get_sequence_state (GtkGesture *gesture, GdkEventSequence *sequence);\nfunction gtk_gesture_get_sequence_state(gesture, sequence) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_gesture_get_sequence_state\n  type(c_ptr), value :: gesture\n  type(c_ptr), value :: sequence\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_gesture_set_sequence_state (GtkGesture *gesture, GdkEventSequence *sequence, GtkEventSequenceState state);\nfunction gtk_gesture_set_sequence_state(gesture, sequence, state) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_gesture_set_sequence_state\n  type(c_ptr), value :: gesture\n  type(c_ptr), value :: sequence\n  integer(c_int), value :: state\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GList * gtk_gesture_get_sequences (GtkGesture *gesture);\nfunction gtk_gesture_get_sequences(gesture) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_gesture_get_sequences\n  type(c_ptr), value :: gesture\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkEventSequence * gtk_gesture_get_last_updated_sequence (GtkGesture *gesture);\nfunction gtk_gesture_get_last_updated_sequence(gesture) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_gesture_get_last_updated_sequence\n  type(c_ptr), value :: gesture\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_gesture_handles_sequence (GtkGesture *gesture, GdkEventSequence *sequence);\nfunction gtk_gesture_handles_sequence(gesture, sequence) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_gesture_handles_sequence\n  type(c_ptr), value :: gesture\n  type(c_ptr), value :: sequence\nend function\n\n! \n!GdkEvent * gtk_gesture_get_last_event (GtkGesture *gesture, GdkEventSequence *sequence);\nfunction gtk_gesture_get_last_event(gesture, sequence) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_gesture_get_last_event\n  type(c_ptr), value :: gesture\n  type(c_ptr), value :: sequence\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_gesture_get_point (GtkGesture *gesture, GdkEventSequence *sequence, double *x, double *y);\nfunction gtk_gesture_get_point(gesture, sequence, x, y) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_gesture_get_point\n  type(c_ptr), value :: gesture\n  type(c_ptr), value :: sequence\n  type(c_ptr), value :: x\n  type(c_ptr), value :: y\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_gesture_get_bounding_box (GtkGesture *gesture, GdkRectangle *rect);\nfunction gtk_gesture_get_bounding_box(gesture, rect) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_gesture_get_bounding_box\n  type(c_ptr), value :: gesture\n  type(c_ptr), value :: rect\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_gesture_get_bounding_box_center (GtkGesture *gesture, double *x, double *y);\nfunction gtk_gesture_get_bounding_box_center(gesture, x, y) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_gesture_get_bounding_box_center\n  type(c_ptr), value :: gesture\n  type(c_ptr), value :: x\n  type(c_ptr), value :: y\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_gesture_is_active (GtkGesture *gesture);\nfunction gtk_gesture_is_active(gesture) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_gesture_is_active\n  type(c_ptr), value :: gesture\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_gesture_is_recognized (GtkGesture *gesture);\nfunction gtk_gesture_is_recognized(gesture) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_gesture_is_recognized\n  type(c_ptr), value :: gesture\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_gesture_group (GtkGesture *group_gesture, GtkGesture *gesture);\nsubroutine gtk_gesture_group(group_gesture, gesture) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: group_gesture\n  type(c_ptr), value :: gesture\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_gesture_ungroup (GtkGesture *gesture);\nsubroutine gtk_gesture_ungroup(gesture) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: gesture\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GList * gtk_gesture_get_group (GtkGesture *gesture);\nfunction gtk_gesture_get_group(gesture) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_gesture_get_group\n  type(c_ptr), value :: gesture\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_gesture_is_grouped_with (GtkGesture *gesture, GtkGesture *other);\nfunction gtk_gesture_is_grouped_with(gesture, other) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_gesture_is_grouped_with\n  type(c_ptr), value :: gesture\n  type(c_ptr), value :: other\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkgestureclick.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_gesture_click_get_type (void) ;\nfunction gtk_gesture_click_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_gesture_click_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkGesture * gtk_gesture_click_new (void);\nfunction gtk_gesture_click_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_gesture_click_new\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkgesturedrag.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_gesture_drag_get_type (void) ;\nfunction gtk_gesture_drag_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_gesture_drag_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkGesture * gtk_gesture_drag_new (void);\nfunction gtk_gesture_drag_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_gesture_drag_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_gesture_drag_get_start_point (GtkGestureDrag *gesture, double *x, double *y);\nfunction gtk_gesture_drag_get_start_point(gesture, x, y) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_gesture_drag_get_start_point\n  type(c_ptr), value :: gesture\n  type(c_ptr), value :: x\n  type(c_ptr), value :: y\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_gesture_drag_get_offset (GtkGestureDrag *gesture, double *x, double *y);\nfunction gtk_gesture_drag_get_offset(gesture, x, y) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_gesture_drag_get_offset\n  type(c_ptr), value :: gesture\n  type(c_ptr), value :: x\n  type(c_ptr), value :: y\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkgesturelongpress.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_gesture_long_press_get_type (void) ;\nfunction gtk_gesture_long_press_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_gesture_long_press_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkGesture * gtk_gesture_long_press_new (void);\nfunction gtk_gesture_long_press_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_gesture_long_press_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_gesture_long_press_set_delay_factor (GtkGestureLongPress *gesture, double delay_factor);\nsubroutine gtk_gesture_long_press_set_delay_factor(gesture, delay_factor)&\n& bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: gesture\n  real(c_double), value :: delay_factor\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_gesture_long_press_get_delay_factor (GtkGestureLongPress *gesture);\nfunction gtk_gesture_long_press_get_delay_factor(gesture) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: gtk_gesture_long_press_get_delay_factor\n  type(c_ptr), value :: gesture\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkgesturepan.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_gesture_pan_get_type (void) ;\nfunction gtk_gesture_pan_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_gesture_pan_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkGesture * gtk_gesture_pan_new (GtkOrientation orientation);\nfunction gtk_gesture_pan_new(orientation) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_gesture_pan_new\n  integer(c_int), value :: orientation\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkOrientation gtk_gesture_pan_get_orientation (GtkGesturePan *gesture);\nfunction gtk_gesture_pan_get_orientation(gesture) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_gesture_pan_get_orientation\n  type(c_ptr), value :: gesture\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_gesture_pan_set_orientation (GtkGesturePan *gesture, GtkOrientation orientation);\nsubroutine gtk_gesture_pan_set_orientation(gesture, orientation) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: gesture\n  integer(c_int), value :: orientation\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkgesturerotate.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_gesture_rotate_get_type (void) ;\nfunction gtk_gesture_rotate_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_gesture_rotate_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkGesture * gtk_gesture_rotate_new (void);\nfunction gtk_gesture_rotate_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_gesture_rotate_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_gesture_rotate_get_angle_delta (GtkGestureRotate *gesture);\nfunction gtk_gesture_rotate_get_angle_delta(gesture) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: gtk_gesture_rotate_get_angle_delta\n  type(c_ptr), value :: gesture\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkgesturesingle.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_gesture_single_get_type (void) ;\nfunction gtk_gesture_single_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_gesture_single_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_gesture_single_get_touch_only (GtkGestureSingle *gesture);\nfunction gtk_gesture_single_get_touch_only(gesture) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_gesture_single_get_touch_only\n  type(c_ptr), value :: gesture\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_gesture_single_set_touch_only (GtkGestureSingle *gesture, gboolean touch_only);\nsubroutine gtk_gesture_single_set_touch_only(gesture, touch_only) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: gesture\n  integer(c_int), value :: touch_only\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_gesture_single_get_exclusive (GtkGestureSingle *gesture);\nfunction gtk_gesture_single_get_exclusive(gesture) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_gesture_single_get_exclusive\n  type(c_ptr), value :: gesture\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_gesture_single_set_exclusive (GtkGestureSingle *gesture, gboolean exclusive);\nsubroutine gtk_gesture_single_set_exclusive(gesture, exclusive) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: gesture\n  integer(c_int), value :: exclusive\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_gesture_single_get_button (GtkGestureSingle *gesture);\nfunction gtk_gesture_single_get_button(gesture) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_gesture_single_get_button\n  type(c_ptr), value :: gesture\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_gesture_single_set_button (GtkGestureSingle *gesture, guint button);\nsubroutine gtk_gesture_single_set_button(gesture, button) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: gesture\n  integer(c_int), value :: button\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_gesture_single_get_current_button (GtkGestureSingle *gesture);\nfunction gtk_gesture_single_get_current_button(gesture) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_gesture_single_get_current_button\n  type(c_ptr), value :: gesture\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkEventSequence * gtk_gesture_single_get_current_sequence (GtkGestureSingle *gesture);\nfunction gtk_gesture_single_get_current_sequence(gesture) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_gesture_single_get_current_sequence\n  type(c_ptr), value :: gesture\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkgesturestylus.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_gesture_stylus_get_type (void) ;\nfunction gtk_gesture_stylus_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_gesture_stylus_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkGesture * gtk_gesture_stylus_new (void);\nfunction gtk_gesture_stylus_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_gesture_stylus_new\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!gboolean gtk_gesture_stylus_get_stylus_only (GtkGestureStylus *gesture);\nfunction gtk_gesture_stylus_get_stylus_only(gesture) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_gesture_stylus_get_stylus_only\n  type(c_ptr), value :: gesture\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_gesture_stylus_set_stylus_only (GtkGestureStylus *gesture, gboolean stylus_only);\nsubroutine gtk_gesture_stylus_set_stylus_only(gesture, stylus_only) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: gesture\n  integer(c_int), value :: stylus_only\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_gesture_stylus_get_axis (GtkGestureStylus *gesture, GdkAxisUse axis, double *value);\nfunction gtk_gesture_stylus_get_axis(gesture, axis, value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_gesture_stylus_get_axis\n  type(c_ptr), value :: gesture\n  integer(c_int), value :: axis\n  type(c_ptr), value :: value\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_gesture_stylus_get_axes (GtkGestureStylus *gesture, GdkAxisUse axes[], double **values);\nfunction gtk_gesture_stylus_get_axes(gesture, axes, values) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_gesture_stylus_get_axes\n  type(c_ptr), value :: gesture\n  integer(c_int), value :: axes\n  type(c_ptr), value :: values\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_gesture_stylus_get_backlog (GtkGestureStylus *gesture, GdkTimeCoord **backlog, guint *n_elems);\nfunction gtk_gesture_stylus_get_backlog(gesture, backlog, n_elems) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_gesture_stylus_get_backlog\n  type(c_ptr), value :: gesture\n  type(c_ptr), value :: backlog\n  type(c_ptr), value :: n_elems\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDeviceTool * gtk_gesture_stylus_get_device_tool (GtkGestureStylus *gesture);\nfunction gtk_gesture_stylus_get_device_tool(gesture) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_gesture_stylus_get_device_tool\n  type(c_ptr), value :: gesture\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkgestureswipe.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_gesture_swipe_get_type (void) ;\nfunction gtk_gesture_swipe_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_gesture_swipe_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkGesture * gtk_gesture_swipe_new (void);\nfunction gtk_gesture_swipe_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_gesture_swipe_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_gesture_swipe_get_velocity (GtkGestureSwipe *gesture, double *velocity_x, double *velocity_y);\nfunction gtk_gesture_swipe_get_velocity(gesture, velocity_x, velocity_y)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_gesture_swipe_get_velocity\n  type(c_ptr), value :: gesture\n  type(c_ptr), value :: velocity_x\n  type(c_ptr), value :: velocity_y\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkgesturezoom.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_gesture_zoom_get_type (void) ;\nfunction gtk_gesture_zoom_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_gesture_zoom_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkGesture * gtk_gesture_zoom_new (void);\nfunction gtk_gesture_zoom_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_gesture_zoom_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_gesture_zoom_get_scale_delta (GtkGestureZoom *gesture);\nfunction gtk_gesture_zoom_get_scale_delta(gesture) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: gtk_gesture_zoom_get_scale_delta\n  type(c_ptr), value :: gesture\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkglarea.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_gl_area_get_type (void) ;\nfunction gtk_gl_area_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_gl_area_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_gl_area_new (void);\nfunction gtk_gl_area_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_gl_area_new\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_gl_area_set_allowed_apis (GtkGLArea *area, GdkGLAPI apis);\nsubroutine gtk_gl_area_set_allowed_apis(area, apis) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: area\n  integer(c_int), value :: apis\nend subroutine\n\n! GDK_AVAILABLE_IN_4_12\n!GdkGLAPI gtk_gl_area_get_allowed_apis (GtkGLArea *area);\nfunction gtk_gl_area_get_allowed_apis(area) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_gl_area_get_allowed_apis\n  type(c_ptr), value :: area\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!GdkGLAPI gtk_gl_area_get_api (GtkGLArea *area);\nfunction gtk_gl_area_get_api(area) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_gl_area_get_api\n  type(c_ptr), value :: area\nend function\n\n! GDK_DEPRECATED_IN_4_12_FOR(gtk_gl_area_set_allowed_apis)\n!void gtk_gl_area_set_use_es (GtkGLArea *area, gboolean use_es);\nsubroutine gtk_gl_area_set_use_es(area, use_es) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: area\n  integer(c_int), value :: use_es\nend subroutine\n\n! GDK_DEPRECATED_IN_4_12_FOR(gtk_gl_area_get_api)\n!gboolean gtk_gl_area_get_use_es (GtkGLArea *area);\nfunction gtk_gl_area_get_use_es(area) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_gl_area_get_use_es\n  type(c_ptr), value :: area\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_gl_area_set_required_version (GtkGLArea *area, int major, int minor);\nsubroutine gtk_gl_area_set_required_version(area, major, minor) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: area\n  integer(c_int), value :: major\n  integer(c_int), value :: minor\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_gl_area_get_required_version (GtkGLArea *area, int *major, int *minor);\nsubroutine gtk_gl_area_get_required_version(area, major, minor) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: area\n  type(c_ptr), value :: major\n  type(c_ptr), value :: minor\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_gl_area_get_has_depth_buffer (GtkGLArea *area);\nfunction gtk_gl_area_get_has_depth_buffer(area) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_gl_area_get_has_depth_buffer\n  type(c_ptr), value :: area\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_gl_area_set_has_depth_buffer (GtkGLArea *area, gboolean has_depth_buffer);\nsubroutine gtk_gl_area_set_has_depth_buffer(area, has_depth_buffer) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: area\n  integer(c_int), value :: has_depth_buffer\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_gl_area_get_has_stencil_buffer (GtkGLArea *area);\nfunction gtk_gl_area_get_has_stencil_buffer(area) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_gl_area_get_has_stencil_buffer\n  type(c_ptr), value :: area\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_gl_area_set_has_stencil_buffer (GtkGLArea *area, gboolean has_stencil_buffer);\nsubroutine gtk_gl_area_set_has_stencil_buffer(area, has_stencil_buffer) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: area\n  integer(c_int), value :: has_stencil_buffer\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_gl_area_get_auto_render (GtkGLArea *area);\nfunction gtk_gl_area_get_auto_render(area) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_gl_area_get_auto_render\n  type(c_ptr), value :: area\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_gl_area_set_auto_render (GtkGLArea *area, gboolean auto_render);\nsubroutine gtk_gl_area_set_auto_render(area, auto_render) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: area\n  integer(c_int), value :: auto_render\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_gl_area_queue_render (GtkGLArea *area);\nsubroutine gtk_gl_area_queue_render(area) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: area\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GdkGLContext * gtk_gl_area_get_context (GtkGLArea *area);\nfunction gtk_gl_area_get_context(area) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_gl_area_get_context\n  type(c_ptr), value :: area\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_gl_area_make_current (GtkGLArea *area);\nsubroutine gtk_gl_area_make_current(area) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: area\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_gl_area_attach_buffers (GtkGLArea *area);\nsubroutine gtk_gl_area_attach_buffers(area) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: area\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_gl_area_set_error (GtkGLArea *area, const GError *error);\nsubroutine gtk_gl_area_set_error(area, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: area\n  type(c_ptr), value :: error\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GError * gtk_gl_area_get_error (GtkGLArea *area);\nfunction gtk_gl_area_get_error(area) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_gl_area_get_error\n  type(c_ptr), value :: area\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkgraphicsoffload.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_4_14\n!GtkWidget * gtk_graphics_offload_new (GtkWidget *child);\nfunction gtk_graphics_offload_new(child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_graphics_offload_new\n  type(c_ptr), value :: child\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gtk_graphics_offload_set_child (GtkGraphicsOffload *self, GtkWidget *child);\nsubroutine gtk_graphics_offload_set_child(self, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!GtkWidget * gtk_graphics_offload_get_child (GtkGraphicsOffload *self);\nfunction gtk_graphics_offload_get_child(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_graphics_offload_get_child\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gtk_graphics_offload_set_enabled (GtkGraphicsOffload *self, GtkGraphicsOffloadEnabled enabled);\nsubroutine gtk_graphics_offload_set_enabled(self, enabled) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: enabled\nend subroutine\n\n! \n!GtkGraphicsOffloadEnabled gtk_graphics_offload_get_enabled (GtkGraphicsOffload *self);\nfunction gtk_graphics_offload_get_enabled(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_graphics_offload_get_enabled\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_16\n!void gtk_graphics_offload_set_black_background (GtkGraphicsOffload *self, gboolean value);\nsubroutine gtk_graphics_offload_set_black_background(self, value) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: value\nend subroutine\n\n! GDK_AVAILABLE_IN_4_16\n!gboolean gtk_graphics_offload_get_black_background (GtkGraphicsOffload *self);\nfunction gtk_graphics_offload_get_black_background(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_graphics_offload_get_black_background\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkgrid.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_grid_get_type (void) ;\nfunction gtk_grid_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_grid_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_grid_new (void);\nfunction gtk_grid_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_grid_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_grid_attach (GtkGrid *grid, GtkWidget *child, int column, int row, int width, int height);\nsubroutine gtk_grid_attach(grid, child, column, row, width, height) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: grid\n  type(c_ptr), value :: child\n  integer(c_int), value :: column\n  integer(c_int), value :: row\n  integer(c_int), value :: width\n  integer(c_int), value :: height\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_grid_attach_next_to (GtkGrid *grid, GtkWidget *child, GtkWidget *sibling, GtkPositionType side, int width, int height);\nsubroutine gtk_grid_attach_next_to(grid, child, sibling, side, width, height)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: grid\n  type(c_ptr), value :: child\n  type(c_ptr), value :: sibling\n  integer(c_int), value :: side\n  integer(c_int), value :: width\n  integer(c_int), value :: height\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget *gtk_grid_get_child_at (GtkGrid *grid, int column, int row);\nfunction gtk_grid_get_child_at(grid, column, row) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_grid_get_child_at\n  type(c_ptr), value :: grid\n  integer(c_int), value :: column\n  integer(c_int), value :: row\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_grid_remove (GtkGrid *grid, GtkWidget *child);\nsubroutine gtk_grid_remove(grid, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: grid\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_grid_insert_row (GtkGrid *grid, int position);\nsubroutine gtk_grid_insert_row(grid, position) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: grid\n  integer(c_int), value :: position\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_grid_insert_column (GtkGrid *grid, int position);\nsubroutine gtk_grid_insert_column(grid, position) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: grid\n  integer(c_int), value :: position\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_grid_remove_row (GtkGrid *grid, int position);\nsubroutine gtk_grid_remove_row(grid, position) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: grid\n  integer(c_int), value :: position\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_grid_remove_column (GtkGrid *grid, int position);\nsubroutine gtk_grid_remove_column(grid, position) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: grid\n  integer(c_int), value :: position\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_grid_insert_next_to (GtkGrid *grid, GtkWidget *sibling, GtkPositionType side);\nsubroutine gtk_grid_insert_next_to(grid, sibling, side) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: grid\n  type(c_ptr), value :: sibling\n  integer(c_int), value :: side\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_grid_set_row_homogeneous (GtkGrid *grid, gboolean homogeneous);\nsubroutine gtk_grid_set_row_homogeneous(grid, homogeneous) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: grid\n  integer(c_int), value :: homogeneous\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_grid_get_row_homogeneous (GtkGrid *grid);\nfunction gtk_grid_get_row_homogeneous(grid) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_grid_get_row_homogeneous\n  type(c_ptr), value :: grid\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_grid_set_row_spacing (GtkGrid *grid, guint spacing);\nsubroutine gtk_grid_set_row_spacing(grid, spacing) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: grid\n  integer(c_int), value :: spacing\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_grid_get_row_spacing (GtkGrid *grid);\nfunction gtk_grid_get_row_spacing(grid) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_grid_get_row_spacing\n  type(c_ptr), value :: grid\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_grid_set_column_homogeneous (GtkGrid *grid, gboolean homogeneous);\nsubroutine gtk_grid_set_column_homogeneous(grid, homogeneous) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: grid\n  integer(c_int), value :: homogeneous\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_grid_get_column_homogeneous (GtkGrid *grid);\nfunction gtk_grid_get_column_homogeneous(grid) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_grid_get_column_homogeneous\n  type(c_ptr), value :: grid\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_grid_set_column_spacing (GtkGrid *grid, guint spacing);\nsubroutine gtk_grid_set_column_spacing(grid, spacing) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: grid\n  integer(c_int), value :: spacing\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_grid_get_column_spacing (GtkGrid *grid);\nfunction gtk_grid_get_column_spacing(grid) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_grid_get_column_spacing\n  type(c_ptr), value :: grid\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_grid_set_row_baseline_position (GtkGrid *grid, int row, GtkBaselinePosition pos);\nsubroutine gtk_grid_set_row_baseline_position(grid, row, pos) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: grid\n  integer(c_int), value :: row\n  integer(c_int), value :: pos\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkBaselinePosition gtk_grid_get_row_baseline_position (GtkGrid *grid, int row);\nfunction gtk_grid_get_row_baseline_position(grid, row) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_grid_get_row_baseline_position\n  type(c_ptr), value :: grid\n  integer(c_int), value :: row\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_grid_set_baseline_row (GtkGrid *grid, int row);\nsubroutine gtk_grid_set_baseline_row(grid, row) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: grid\n  integer(c_int), value :: row\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_grid_get_baseline_row (GtkGrid *grid);\nfunction gtk_grid_get_baseline_row(grid) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_grid_get_baseline_row\n  type(c_ptr), value :: grid\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_grid_query_child (GtkGrid *grid, GtkWidget *child, int *column, int *row, int *width, int *height);\nsubroutine gtk_grid_query_child(grid, child, column, row, width, height)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: grid\n  type(c_ptr), value :: child\n  type(c_ptr), value :: column\n  type(c_ptr), value :: row\n  type(c_ptr), value :: width\n  type(c_ptr), value :: height\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkgridlayout.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkLayoutManager * gtk_grid_layout_new (void);\nfunction gtk_grid_layout_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_grid_layout_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_grid_layout_set_row_homogeneous (GtkGridLayout *grid, gboolean homogeneous);\nsubroutine gtk_grid_layout_set_row_homogeneous(grid, homogeneous) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: grid\n  integer(c_int), value :: homogeneous\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_grid_layout_get_row_homogeneous (GtkGridLayout *grid);\nfunction gtk_grid_layout_get_row_homogeneous(grid) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_grid_layout_get_row_homogeneous\n  type(c_ptr), value :: grid\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_grid_layout_set_row_spacing (GtkGridLayout *grid, guint spacing);\nsubroutine gtk_grid_layout_set_row_spacing(grid, spacing) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: grid\n  integer(c_int), value :: spacing\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_grid_layout_get_row_spacing (GtkGridLayout *grid);\nfunction gtk_grid_layout_get_row_spacing(grid) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_grid_layout_get_row_spacing\n  type(c_ptr), value :: grid\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_grid_layout_set_column_homogeneous (GtkGridLayout *grid, gboolean homogeneous);\nsubroutine gtk_grid_layout_set_column_homogeneous(grid, homogeneous) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: grid\n  integer(c_int), value :: homogeneous\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_grid_layout_get_column_homogeneous (GtkGridLayout *grid);\nfunction gtk_grid_layout_get_column_homogeneous(grid) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_grid_layout_get_column_homogeneous\n  type(c_ptr), value :: grid\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_grid_layout_set_column_spacing (GtkGridLayout *grid, guint spacing);\nsubroutine gtk_grid_layout_set_column_spacing(grid, spacing) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: grid\n  integer(c_int), value :: spacing\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_grid_layout_get_column_spacing (GtkGridLayout *grid);\nfunction gtk_grid_layout_get_column_spacing(grid) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_grid_layout_get_column_spacing\n  type(c_ptr), value :: grid\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_grid_layout_set_row_baseline_position (GtkGridLayout *grid, int row, GtkBaselinePosition pos);\nsubroutine gtk_grid_layout_set_row_baseline_position(grid, row, pos) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: grid\n  integer(c_int), value :: row\n  integer(c_int), value :: pos\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkBaselinePosition gtk_grid_layout_get_row_baseline_position (GtkGridLayout *grid, int row);\nfunction gtk_grid_layout_get_row_baseline_position(grid, row) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_grid_layout_get_row_baseline_position\n  type(c_ptr), value :: grid\n  integer(c_int), value :: row\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_grid_layout_set_baseline_row (GtkGridLayout *grid, int row);\nsubroutine gtk_grid_layout_set_baseline_row(grid, row) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: grid\n  integer(c_int), value :: row\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_grid_layout_get_baseline_row (GtkGridLayout *grid);\nfunction gtk_grid_layout_get_baseline_row(grid) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_grid_layout_get_baseline_row\n  type(c_ptr), value :: grid\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_grid_layout_child_set_row (GtkGridLayoutChild *child, int row);\nsubroutine gtk_grid_layout_child_set_row(child, row) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: child\n  integer(c_int), value :: row\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_grid_layout_child_get_row (GtkGridLayoutChild *child);\nfunction gtk_grid_layout_child_get_row(child) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_grid_layout_child_get_row\n  type(c_ptr), value :: child\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_grid_layout_child_set_column (GtkGridLayoutChild *child, int column);\nsubroutine gtk_grid_layout_child_set_column(child, column) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: child\n  integer(c_int), value :: column\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_grid_layout_child_get_column (GtkGridLayoutChild *child);\nfunction gtk_grid_layout_child_get_column(child) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_grid_layout_child_get_column\n  type(c_ptr), value :: child\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_grid_layout_child_set_column_span (GtkGridLayoutChild *child, int span);\nsubroutine gtk_grid_layout_child_set_column_span(child, span) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: child\n  integer(c_int), value :: span\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_grid_layout_child_get_column_span (GtkGridLayoutChild *child);\nfunction gtk_grid_layout_child_get_column_span(child) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_grid_layout_child_get_column_span\n  type(c_ptr), value :: child\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_grid_layout_child_set_row_span (GtkGridLayoutChild *child, int span);\nsubroutine gtk_grid_layout_child_set_row_span(child, span) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: child\n  integer(c_int), value :: span\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_grid_layout_child_get_row_span (GtkGridLayoutChild *child);\nfunction gtk_grid_layout_child_get_row_span(child) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_grid_layout_child_get_row_span\n  type(c_ptr), value :: child\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkgridview.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_grid_view_get_type (void) ;\nfunction gtk_grid_view_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_grid_view_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_grid_view_new (GtkSelectionModel *model, GtkListItemFactory *factory);\nfunction gtk_grid_view_new(model, factory) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_grid_view_new\n  type(c_ptr), value :: model\n  type(c_ptr), value :: factory\nend function\n\n! \n!GtkSelectionModel * gtk_grid_view_get_model (GtkGridView *self);\nfunction gtk_grid_view_get_model(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_grid_view_get_model\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_grid_view_set_model (GtkGridView *self, GtkSelectionModel *model);\nsubroutine gtk_grid_view_set_model(self, model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: model\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_grid_view_set_factory (GtkGridView *self, GtkListItemFactory *factory);\nsubroutine gtk_grid_view_set_factory(self, factory) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: factory\nend subroutine\n\n! \n!GtkListItemFactory * gtk_grid_view_get_factory (GtkGridView *self);\nfunction gtk_grid_view_get_factory(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_grid_view_get_factory\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_grid_view_get_min_columns (GtkGridView *self);\nfunction gtk_grid_view_get_min_columns(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_grid_view_get_min_columns\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_grid_view_set_min_columns (GtkGridView *self, guint min_columns);\nsubroutine gtk_grid_view_set_min_columns(self, min_columns) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: min_columns\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_grid_view_get_max_columns (GtkGridView *self);\nfunction gtk_grid_view_get_max_columns(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_grid_view_get_max_columns\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_grid_view_set_max_columns (GtkGridView *self, guint max_columns);\nsubroutine gtk_grid_view_set_max_columns(self, max_columns) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: max_columns\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_grid_view_set_enable_rubberband (GtkGridView *self, gboolean enable_rubberband);\nsubroutine gtk_grid_view_set_enable_rubberband(self, enable_rubberband) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: enable_rubberband\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_grid_view_get_enable_rubberband (GtkGridView *self);\nfunction gtk_grid_view_get_enable_rubberband(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_grid_view_get_enable_rubberband\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_grid_view_set_tab_behavior (GtkGridView *self, GtkListTabBehavior tab_behavior);\nsubroutine gtk_grid_view_set_tab_behavior(self, tab_behavior) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: tab_behavior\nend subroutine\n\n! \n!GtkListTabBehavior gtk_grid_view_get_tab_behavior (GtkGridView *self);\nfunction gtk_grid_view_get_tab_behavior(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_grid_view_get_tab_behavior\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_grid_view_set_single_click_activate (GtkGridView *self, gboolean single_click_activate);\nsubroutine gtk_grid_view_set_single_click_activate(self, single_click_activate)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: single_click_activate\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_grid_view_get_single_click_activate (GtkGridView *self);\nfunction gtk_grid_view_get_single_click_activate(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_grid_view_get_single_click_activate\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_grid_view_scroll_to (GtkGridView *self, guint pos, GtkListScrollFlags flags, GtkScrollInfo *scroll);\nsubroutine gtk_grid_view_scroll_to(self, pos, flags, scroll) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: pos\n  integer(c_int), value :: flags\n  type(c_ptr), value :: scroll\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkheaderbar.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_header_bar_get_type (void) ;\nfunction gtk_header_bar_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_header_bar_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget *gtk_header_bar_new (void);\nfunction gtk_header_bar_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_header_bar_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_header_bar_set_title_widget (GtkHeaderBar *bar, GtkWidget *title_widget);\nsubroutine gtk_header_bar_set_title_widget(bar, title_widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: bar\n  type(c_ptr), value :: title_widget\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget *gtk_header_bar_get_title_widget (GtkHeaderBar *bar);\nfunction gtk_header_bar_get_title_widget(bar) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_header_bar_get_title_widget\n  type(c_ptr), value :: bar\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_header_bar_pack_start (GtkHeaderBar *bar, GtkWidget *child);\nsubroutine gtk_header_bar_pack_start(bar, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: bar\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_header_bar_pack_end (GtkHeaderBar *bar, GtkWidget *child);\nsubroutine gtk_header_bar_pack_end(bar, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: bar\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_header_bar_remove (GtkHeaderBar *bar, GtkWidget *child);\nsubroutine gtk_header_bar_remove(bar, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: bar\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_header_bar_get_show_title_buttons (GtkHeaderBar *bar);\nfunction gtk_header_bar_get_show_title_buttons(bar) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_header_bar_get_show_title_buttons\n  type(c_ptr), value :: bar\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_header_bar_set_show_title_buttons (GtkHeaderBar *bar, gboolean setting);\nsubroutine gtk_header_bar_set_show_title_buttons(bar, setting) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: bar\n  integer(c_int), value :: setting\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_header_bar_set_decoration_layout (GtkHeaderBar *bar, const char *layout);\nsubroutine gtk_header_bar_set_decoration_layout(bar, layout) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: bar\n  character(kind=c_char), dimension(*) :: layout\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char *gtk_header_bar_get_decoration_layout (GtkHeaderBar *bar);\nfunction gtk_header_bar_get_decoration_layout(bar) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_header_bar_get_decoration_layout\n  type(c_ptr), value :: bar\nend function\n\n! GDK_AVAILABLE_IN_4_18\n!gboolean gtk_header_bar_get_use_native_controls (GtkHeaderBar *bar);\nfunction gtk_header_bar_get_use_native_controls(bar) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_header_bar_get_use_native_controls\n  type(c_ptr), value :: bar\nend function\n\n! GDK_AVAILABLE_IN_4_18\n!void gtk_header_bar_set_use_native_controls (GtkHeaderBar *bar, gboolean setting);\nsubroutine gtk_header_bar_set_use_native_controls(bar, setting) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: bar\n  integer(c_int), value :: setting\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkiconpaintable.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkIconPaintable * gtk_icon_paintable_new_for_file (GFile *file, int size, int scale);\nfunction gtk_icon_paintable_new_for_file(file, size, scale) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_icon_paintable_new_for_file\n  type(c_ptr), value :: file\n  integer(c_int), value :: size\n  integer(c_int), value :: scale\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GFile * gtk_icon_paintable_get_file (GtkIconPaintable *self);\nfunction gtk_icon_paintable_get_file(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_icon_paintable_get_file\n  type(c_ptr), value :: self\nend function\n\n! GDK_DEPRECATED_IN_4_20\n!const char * gtk_icon_paintable_get_icon_name (GtkIconPaintable *self);\nfunction gtk_icon_paintable_get_icon_name(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_icon_paintable_get_icon_name\n  type(c_ptr), value :: self\nend function\n\n! GDK_DEPRECATED_IN_4_20\n!gboolean gtk_icon_paintable_is_symbolic (GtkIconPaintable *self);\nfunction gtk_icon_paintable_is_symbolic(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_icon_paintable_is_symbolic\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkicontheme.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GQuark gtk_icon_theme_error_quark (void);\nfunction gtk_icon_theme_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: gtk_icon_theme_error_quark\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_icon_theme_get_type (void) ;\nfunction gtk_icon_theme_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_icon_theme_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkIconTheme *gtk_icon_theme_new (void);\nfunction gtk_icon_theme_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_icon_theme_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkIconTheme *gtk_icon_theme_get_for_display (GdkDisplay *display);\nfunction gtk_icon_theme_get_for_display(display) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_icon_theme_get_for_display\n  type(c_ptr), value :: display\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDisplay * gtk_icon_theme_get_display (GtkIconTheme *self);\nfunction gtk_icon_theme_get_display(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_icon_theme_get_display\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_icon_theme_set_search_path (GtkIconTheme *self, const char * const *path);\nsubroutine gtk_icon_theme_set_search_path(self, path) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), dimension(*) :: path\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!char ** gtk_icon_theme_get_search_path (GtkIconTheme *self);\nfunction gtk_icon_theme_get_search_path(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_icon_theme_get_search_path\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_icon_theme_add_search_path (GtkIconTheme *self, const char *path);\nsubroutine gtk_icon_theme_add_search_path(self, path) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: path\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_icon_theme_set_resource_path (GtkIconTheme *self, const char * const *path);\nsubroutine gtk_icon_theme_set_resource_path(self, path) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), dimension(*) :: path\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!char ** gtk_icon_theme_get_resource_path (GtkIconTheme *self);\nfunction gtk_icon_theme_get_resource_path(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_icon_theme_get_resource_path\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_icon_theme_add_resource_path (GtkIconTheme *self, const char *path);\nsubroutine gtk_icon_theme_add_resource_path(self, path) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: path\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_icon_theme_set_theme_name (GtkIconTheme *self, const char *theme_name);\nsubroutine gtk_icon_theme_set_theme_name(self, theme_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: theme_name\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!char * gtk_icon_theme_get_theme_name (GtkIconTheme *self);\nfunction gtk_icon_theme_get_theme_name(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_icon_theme_get_theme_name\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_icon_theme_has_icon (GtkIconTheme *self, const char *icon_name);\nfunction gtk_icon_theme_has_icon(self, icon_name) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_icon_theme_has_icon\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: icon_name\nend function\n\n! GDK_AVAILABLE_IN_4_2\n!gboolean gtk_icon_theme_has_gicon (GtkIconTheme *self, GIcon *gicon);\nfunction gtk_icon_theme_has_gicon(self, gicon) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_icon_theme_has_gicon\n  type(c_ptr), value :: self\n  type(c_ptr), value :: gicon\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int *gtk_icon_theme_get_icon_sizes (GtkIconTheme *self, const char *icon_name);\nfunction gtk_icon_theme_get_icon_sizes(self, icon_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_icon_theme_get_icon_sizes\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: icon_name\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkIconPaintable *gtk_icon_theme_lookup_icon (GtkIconTheme *self, const char *icon_name, const char *fallbacks[], int size, int scale, GtkTextDirection direction, GtkIconLookupFlags flags);\nfunction gtk_icon_theme_lookup_icon(self, icon_name, fallbacks, size, scale,&\n& direction, flags) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: gtk_icon_theme_lookup_icon\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: icon_name\n  character(kind=c_char), dimension(*) :: fallbacks\n  integer(c_int), value :: size\n  integer(c_int), value :: scale\n  integer(c_int), value :: direction\n  integer(c_int), value :: flags\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkIconPaintable *gtk_icon_theme_lookup_by_gicon (GtkIconTheme *self, GIcon *icon, int size, int scale, GtkTextDirection direction, GtkIconLookupFlags flags);\nfunction gtk_icon_theme_lookup_by_gicon(self, icon, size, scale, direction,&\n& flags) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_icon_theme_lookup_by_gicon\n  type(c_ptr), value :: self\n  type(c_ptr), value :: icon\n  integer(c_int), value :: size\n  integer(c_int), value :: scale\n  integer(c_int), value :: direction\n  integer(c_int), value :: flags\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!char ** gtk_icon_theme_get_icon_names (GtkIconTheme *self);\nfunction gtk_icon_theme_get_icon_names(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_icon_theme_get_icon_names\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkimage.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_image_get_type (void) ;\nfunction gtk_image_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_image_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_image_new (void);\nfunction gtk_image_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_image_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_image_new_from_file (const char *filename);\nfunction gtk_image_new_from_file(filename) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_image_new_from_file\n  character(kind=c_char), dimension(*) :: filename\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_image_new_from_resource (const char *resource_path);\nfunction gtk_image_new_from_resource(resource_path) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_image_new_from_resource\n  character(kind=c_char), dimension(*) :: resource_path\nend function\n\n! GDK_DEPRECATED_IN_4_12_FOR(gtk_image_new_from_paintable)\n!GtkWidget* gtk_image_new_from_pixbuf (GdkPixbuf *pixbuf);\nfunction gtk_image_new_from_pixbuf(pixbuf) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_image_new_from_pixbuf\n  type(c_ptr), value :: pixbuf\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_image_new_from_paintable (GdkPaintable *paintable);\nfunction gtk_image_new_from_paintable(paintable) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_image_new_from_paintable\n  type(c_ptr), value :: paintable\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_image_new_from_icon_name (const char *icon_name);\nfunction gtk_image_new_from_icon_name(icon_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_image_new_from_icon_name\n  character(kind=c_char), dimension(*) :: icon_name\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_image_new_from_gicon (GIcon *icon);\nfunction gtk_image_new_from_gicon(icon) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_image_new_from_gicon\n  type(c_ptr), value :: icon\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_image_clear (GtkImage *image);\nsubroutine gtk_image_clear(image) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: image\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_image_set_from_file (GtkImage *image, const char *filename);\nsubroutine gtk_image_set_from_file(image, filename) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: image\n  character(kind=c_char), dimension(*) :: filename\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_image_set_from_resource (GtkImage *image, const char *resource_path);\nsubroutine gtk_image_set_from_resource(image, resource_path) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: image\n  character(kind=c_char), dimension(*) :: resource_path\nend subroutine\n\n! GDK_DEPRECATED_IN_4_12_FOR(gtk_image_set_from_paintable)\n!void gtk_image_set_from_pixbuf (GtkImage *image, GdkPixbuf *pixbuf);\nsubroutine gtk_image_set_from_pixbuf(image, pixbuf) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: image\n  type(c_ptr), value :: pixbuf\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_image_set_from_paintable (GtkImage *image, GdkPaintable *paintable);\nsubroutine gtk_image_set_from_paintable(image, paintable) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: image\n  type(c_ptr), value :: paintable\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_image_set_from_icon_name (GtkImage *image, const char *icon_name);\nsubroutine gtk_image_set_from_icon_name(image, icon_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: image\n  character(kind=c_char), dimension(*) :: icon_name\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_image_set_from_gicon (GtkImage *image, GIcon *icon);\nsubroutine gtk_image_set_from_gicon(image, icon) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: image\n  type(c_ptr), value :: icon\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_image_set_pixel_size (GtkImage *image, int pixel_size);\nsubroutine gtk_image_set_pixel_size(image, pixel_size) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: image\n  integer(c_int), value :: pixel_size\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_image_set_icon_size (GtkImage *image, GtkIconSize icon_size);\nsubroutine gtk_image_set_icon_size(image, icon_size) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: image\n  integer(c_int), value :: icon_size\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkImageType gtk_image_get_storage_type (GtkImage *image);\nfunction gtk_image_get_storage_type(image) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_image_get_storage_type\n  type(c_ptr), value :: image\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkPaintable *gtk_image_get_paintable (GtkImage *image);\nfunction gtk_image_get_paintable(image) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_image_get_paintable\n  type(c_ptr), value :: image\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char *gtk_image_get_icon_name (GtkImage *image);\nfunction gtk_image_get_icon_name(image) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_image_get_icon_name\n  type(c_ptr), value :: image\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GIcon * gtk_image_get_gicon (GtkImage *image);\nfunction gtk_image_get_gicon(image) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_image_get_gicon\n  type(c_ptr), value :: image\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_image_get_pixel_size (GtkImage *image);\nfunction gtk_image_get_pixel_size(image) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_image_get_pixel_size\n  type(c_ptr), value :: image\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkIconSize gtk_image_get_icon_size (GtkImage *image);\nfunction gtk_image_get_icon_size(image) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_image_get_icon_size\n  type(c_ptr), value :: image\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkimcontext.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_im_context_get_type (void) ;\nfunction gtk_im_context_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_im_context_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_im_context_set_client_widget (GtkIMContext *context, GtkWidget *widget);\nsubroutine gtk_im_context_set_client_widget(context, widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: widget\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_im_context_get_preedit_string (GtkIMContext *context, char **str, PangoAttrList **attrs, int *cursor_pos);\nsubroutine gtk_im_context_get_preedit_string(context, str, attrs, cursor_pos)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), dimension(*) :: str\n  type(c_ptr), value :: attrs\n  type(c_ptr), value :: cursor_pos\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_im_context_filter_keypress (GtkIMContext *context, GdkEvent *event);\nfunction gtk_im_context_filter_keypress(context, event) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_im_context_filter_keypress\n  type(c_ptr), value :: context\n  type(c_ptr), value :: event\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_im_context_filter_key (GtkIMContext *context, gboolean press, GdkSurface *surface, GdkDevice *device, guint32 time, guint keycode, GdkModifierType state, int group);\nfunction gtk_im_context_filter_key(context, press, surface, device, time,&\n& keycode, state, group) bind(c)\n  import :: c_int, c_ptr, c_int32_t\n  implicit none\n  integer(c_int) :: gtk_im_context_filter_key\n  type(c_ptr), value :: context\n  integer(c_int), value :: press\n  type(c_ptr), value :: surface\n  type(c_ptr), value :: device\n  integer(c_int32_t), value :: time\n  integer(c_int), value :: keycode\n  integer(c_int), value :: state\n  integer(c_int), value :: group\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_im_context_focus_in (GtkIMContext *context);\nsubroutine gtk_im_context_focus_in(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_im_context_focus_out (GtkIMContext *context);\nsubroutine gtk_im_context_focus_out(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_im_context_reset (GtkIMContext *context);\nsubroutine gtk_im_context_reset(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_im_context_set_cursor_location (GtkIMContext *context, const GdkRectangle *area);\nsubroutine gtk_im_context_set_cursor_location(context, area) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: area\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_im_context_set_use_preedit (GtkIMContext *context, gboolean use_preedit);\nsubroutine gtk_im_context_set_use_preedit(context, use_preedit) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: context\n  integer(c_int), value :: use_preedit\nend subroutine\n\n! GDK_DEPRECATED_IN_4_2_FOR(gtk_im_context_set_surrounding_with_selection)\n!void gtk_im_context_set_surrounding (GtkIMContext *context, const char *text, int len, int cursor_index);\nsubroutine gtk_im_context_set_surrounding(context, text, len, cursor_index)&\n& bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: context\n  character(kind=c_char), dimension(*) :: text\n  integer(c_int), value :: len\n  integer(c_int), value :: cursor_index\nend subroutine\n\n! GDK_DEPRECATED_IN_4_2_FOR(gtk_im_context_get_surrounding_with_selection)\n!gboolean gtk_im_context_get_surrounding (GtkIMContext *context, char **text, int *cursor_index);\nfunction gtk_im_context_get_surrounding(context, text, cursor_index) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_im_context_get_surrounding\n  type(c_ptr), value :: context\n  type(c_ptr), dimension(*) :: text\n  type(c_ptr), value :: cursor_index\nend function\n\n! GDK_AVAILABLE_IN_4_2\n!void gtk_im_context_set_surrounding_with_selection (GtkIMContext *context, const char *text, int len, int cursor_index, int anchor_index);\nsubroutine gtk_im_context_set_surrounding_with_selection(context, text, len,&\n& cursor_index, anchor_index) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: context\n  character(kind=c_char), dimension(*) :: text\n  integer(c_int), value :: len\n  integer(c_int), value :: cursor_index\n  integer(c_int), value :: anchor_index\nend subroutine\n\n! GDK_AVAILABLE_IN_4_2\n!gboolean gtk_im_context_get_surrounding_with_selection (GtkIMContext *context, char **text, int *cursor_index, int *anchor_index);\nfunction gtk_im_context_get_surrounding_with_selection(context, text,&\n& cursor_index, anchor_index) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_im_context_get_surrounding_with_selection\n  type(c_ptr), value :: context\n  type(c_ptr), dimension(*) :: text\n  type(c_ptr), value :: cursor_index\n  type(c_ptr), value :: anchor_index\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_im_context_delete_surrounding (GtkIMContext *context, int offset, int n_chars);\nfunction gtk_im_context_delete_surrounding(context, offset, n_chars) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_im_context_delete_surrounding\n  type(c_ptr), value :: context\n  integer(c_int), value :: offset\n  integer(c_int), value :: n_chars\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!gboolean gtk_im_context_activate_osk (GtkIMContext *context, GdkEvent *event);\nfunction gtk_im_context_activate_osk(context, event) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_im_context_activate_osk\n  type(c_ptr), value :: context\n  type(c_ptr), value :: event\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkimcontextsimple.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_im_context_simple_get_type (void) ;\nfunction gtk_im_context_simple_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_im_context_simple_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkIMContext *gtk_im_context_simple_new (void);\nfunction gtk_im_context_simple_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_im_context_simple_new\nend function\n\n! GDK_DEPRECATED_IN_4_4_FOR(gtk_im_context_simple_add_compose_file)\n!void gtk_im_context_simple_add_table (GtkIMContextSimple *context_simple, guint16 *data, int max_seq_len, int n_seqs);\nsubroutine gtk_im_context_simple_add_table(context_simple, data, max_seq_len,&\n& n_seqs) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: context_simple\n  type(c_ptr), value :: data\n  integer(c_int), value :: max_seq_len\n  integer(c_int), value :: n_seqs\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_im_context_simple_add_compose_file (GtkIMContextSimple *context_simple, const char *compose_file);\nsubroutine gtk_im_context_simple_add_compose_file(context_simple, compose_file)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: context_simple\n  character(kind=c_char), dimension(*) :: compose_file\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkimmodule.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkimmulticontext.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_im_multicontext_get_type (void) ;\nfunction gtk_im_multicontext_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_im_multicontext_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkIMContext *gtk_im_multicontext_new (void);\nfunction gtk_im_multicontext_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_im_multicontext_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_im_multicontext_get_context_id (GtkIMMulticontext *context);\nfunction gtk_im_multicontext_get_context_id(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_im_multicontext_get_context_id\n  type(c_ptr), value :: context\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_im_multicontext_set_context_id (GtkIMMulticontext *context, const char *context_id);\nsubroutine gtk_im_multicontext_set_context_id(context, context_id) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: context\n  character(kind=c_char), dimension(*) :: context_id\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkinscription.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_4_8\n!GtkWidget * gtk_inscription_new (const char *text);\nfunction gtk_inscription_new(text) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_inscription_new\n  character(kind=c_char), dimension(*) :: text\nend function\n\n! GDK_AVAILABLE_IN_4_8\n!const char * gtk_inscription_get_text (GtkInscription *self);\nfunction gtk_inscription_get_text(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_inscription_get_text\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_8\n!void gtk_inscription_set_text (GtkInscription *self, const char *text);\nsubroutine gtk_inscription_set_text(self, text) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: text\nend subroutine\n\n! GDK_AVAILABLE_IN_4_8\n!PangoAttrList * gtk_inscription_get_attributes (GtkInscription *self);\nfunction gtk_inscription_get_attributes(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_inscription_get_attributes\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_8\n!void gtk_inscription_set_attributes (GtkInscription *self, PangoAttrList *attrs);\nsubroutine gtk_inscription_set_attributes(self, attrs) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: attrs\nend subroutine\n\n! GDK_AVAILABLE_IN_4_8\n!void gtk_inscription_set_markup (GtkInscription *self, const char *markup);\nsubroutine gtk_inscription_set_markup(self, markup) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: markup\nend subroutine\n\n! GDK_AVAILABLE_IN_4_8\n!GtkInscriptionOverflow gtk_inscription_get_text_overflow (GtkInscription *self);\nfunction gtk_inscription_get_text_overflow(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_inscription_get_text_overflow\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_8\n!void gtk_inscription_set_text_overflow (GtkInscription *self, GtkInscriptionOverflow overflow);\nsubroutine gtk_inscription_set_text_overflow(self, overflow) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: overflow\nend subroutine\n\n! GDK_AVAILABLE_IN_4_8\n!PangoWrapMode gtk_inscription_get_wrap_mode (GtkInscription *self);\nfunction gtk_inscription_get_wrap_mode(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_inscription_get_wrap_mode\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_8\n!void gtk_inscription_set_wrap_mode (GtkInscription *self, PangoWrapMode wrap_mode);\nsubroutine gtk_inscription_set_wrap_mode(self, wrap_mode) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: wrap_mode\nend subroutine\n\n! GDK_AVAILABLE_IN_4_8\n!guint gtk_inscription_get_min_chars (GtkInscription *self);\nfunction gtk_inscription_get_min_chars(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_inscription_get_min_chars\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_8\n!void gtk_inscription_set_min_chars (GtkInscription *self, guint min_chars);\nsubroutine gtk_inscription_set_min_chars(self, min_chars) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: min_chars\nend subroutine\n\n! GDK_AVAILABLE_IN_4_8\n!guint gtk_inscription_get_nat_chars (GtkInscription *self);\nfunction gtk_inscription_get_nat_chars(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_inscription_get_nat_chars\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_8\n!void gtk_inscription_set_nat_chars (GtkInscription *self, guint nat_chars);\nsubroutine gtk_inscription_set_nat_chars(self, nat_chars) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: nat_chars\nend subroutine\n\n! GDK_AVAILABLE_IN_4_8\n!guint gtk_inscription_get_min_lines (GtkInscription *self);\nfunction gtk_inscription_get_min_lines(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_inscription_get_min_lines\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_8\n!void gtk_inscription_set_min_lines (GtkInscription *self, guint min_lines);\nsubroutine gtk_inscription_set_min_lines(self, min_lines) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: min_lines\nend subroutine\n\n! GDK_AVAILABLE_IN_4_8\n!guint gtk_inscription_get_nat_lines (GtkInscription *self);\nfunction gtk_inscription_get_nat_lines(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_inscription_get_nat_lines\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_8\n!void gtk_inscription_set_nat_lines (GtkInscription *self, guint nat_lines);\nsubroutine gtk_inscription_set_nat_lines(self, nat_lines) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: nat_lines\nend subroutine\n\n! GDK_AVAILABLE_IN_4_8\n!float gtk_inscription_get_xalign (GtkInscription *self);\nfunction gtk_inscription_get_xalign(self) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: gtk_inscription_get_xalign\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_8\n!void gtk_inscription_set_xalign (GtkInscription *self, float xalign);\nsubroutine gtk_inscription_set_xalign(self, xalign) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: self\n  real(c_float), value :: xalign\nend subroutine\n\n! GDK_AVAILABLE_IN_4_8\n!float gtk_inscription_get_yalign (GtkInscription *self);\nfunction gtk_inscription_get_yalign(self) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: gtk_inscription_get_yalign\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_8\n!void gtk_inscription_set_yalign (GtkInscription *self, float yalign);\nsubroutine gtk_inscription_set_yalign(self, yalign) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: self\n  real(c_float), value :: yalign\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtklabel.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_label_get_type (void) ;\nfunction gtk_label_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_label_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_label_new (const char *str);\nfunction gtk_label_new(str) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_label_new\n  character(kind=c_char), dimension(*) :: str\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_label_new_with_mnemonic (const char *str);\nfunction gtk_label_new_with_mnemonic(str) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_label_new_with_mnemonic\n  character(kind=c_char), dimension(*) :: str\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_label_set_text (GtkLabel *self, const char *str);\nsubroutine gtk_label_set_text(self, str) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: str\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_label_get_text (GtkLabel *self);\nfunction gtk_label_get_text(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_label_get_text\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_label_set_attributes (GtkLabel *self, PangoAttrList *attrs);\nsubroutine gtk_label_set_attributes(self, attrs) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: attrs\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!PangoAttrList *gtk_label_get_attributes (GtkLabel *self);\nfunction gtk_label_get_attributes(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_label_get_attributes\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_label_set_label (GtkLabel *self, const char *str);\nsubroutine gtk_label_set_label(self, str) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: str\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_label_get_label (GtkLabel *self);\nfunction gtk_label_get_label(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_label_get_label\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_label_set_markup (GtkLabel *self, const char *str);\nsubroutine gtk_label_set_markup(self, str) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: str\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_label_set_use_markup (GtkLabel *self, gboolean setting);\nsubroutine gtk_label_set_use_markup(self, setting) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: setting\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_label_get_use_markup (GtkLabel *self);\nfunction gtk_label_get_use_markup(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_label_get_use_markup\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_label_set_use_underline (GtkLabel *self, gboolean setting);\nsubroutine gtk_label_set_use_underline(self, setting) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: setting\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_label_get_use_underline (GtkLabel *self);\nfunction gtk_label_get_use_underline(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_label_get_use_underline\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_label_set_markup_with_mnemonic (GtkLabel *self, const char *str);\nsubroutine gtk_label_set_markup_with_mnemonic(self, str) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: str\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_label_get_mnemonic_keyval (GtkLabel *self);\nfunction gtk_label_get_mnemonic_keyval(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_label_get_mnemonic_keyval\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_label_set_mnemonic_widget (GtkLabel *self, GtkWidget *widget);\nsubroutine gtk_label_set_mnemonic_widget(self, widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: widget\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget *gtk_label_get_mnemonic_widget (GtkLabel *self);\nfunction gtk_label_get_mnemonic_widget(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_label_get_mnemonic_widget\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_label_set_text_with_mnemonic (GtkLabel *self, const char *str);\nsubroutine gtk_label_set_text_with_mnemonic(self, str) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: str\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_label_set_justify (GtkLabel *self, GtkJustification jtype);\nsubroutine gtk_label_set_justify(self, jtype) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: jtype\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkJustification gtk_label_get_justify (GtkLabel *self);\nfunction gtk_label_get_justify(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_label_get_justify\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_label_set_ellipsize (GtkLabel *self, PangoEllipsizeMode mode);\nsubroutine gtk_label_set_ellipsize(self, mode) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: mode\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!PangoEllipsizeMode gtk_label_get_ellipsize (GtkLabel *self);\nfunction gtk_label_get_ellipsize(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_label_get_ellipsize\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_label_set_width_chars (GtkLabel *self, int n_chars);\nsubroutine gtk_label_set_width_chars(self, n_chars) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: n_chars\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_label_get_width_chars (GtkLabel *self);\nfunction gtk_label_get_width_chars(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_label_get_width_chars\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_label_set_max_width_chars (GtkLabel *self, int n_chars);\nsubroutine gtk_label_set_max_width_chars(self, n_chars) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: n_chars\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_label_get_max_width_chars (GtkLabel *self);\nfunction gtk_label_get_max_width_chars(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_label_get_max_width_chars\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_label_set_lines (GtkLabel *self, int lines);\nsubroutine gtk_label_set_lines(self, lines) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: lines\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_label_get_lines (GtkLabel *self);\nfunction gtk_label_get_lines(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_label_get_lines\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_label_set_wrap (GtkLabel *self, gboolean wrap);\nsubroutine gtk_label_set_wrap(self, wrap) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: wrap\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_label_get_wrap (GtkLabel *self);\nfunction gtk_label_get_wrap(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_label_get_wrap\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_label_set_wrap_mode (GtkLabel *self, PangoWrapMode wrap_mode);\nsubroutine gtk_label_set_wrap_mode(self, wrap_mode) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: wrap_mode\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!PangoWrapMode gtk_label_get_wrap_mode (GtkLabel *self);\nfunction gtk_label_get_wrap_mode(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_label_get_wrap_mode\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_6\n!void gtk_label_set_natural_wrap_mode (GtkLabel *self, GtkNaturalWrapMode wrap_mode);\nsubroutine gtk_label_set_natural_wrap_mode(self, wrap_mode) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: wrap_mode\nend subroutine\n\n! GDK_AVAILABLE_IN_4_6\n!GtkNaturalWrapMode gtk_label_get_natural_wrap_mode(GtkLabel *self);\nfunction gtk_label_get_natural_wrap_mode(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_label_get_natural_wrap_mode\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_label_set_selectable (GtkLabel *self, gboolean setting);\nsubroutine gtk_label_set_selectable(self, setting) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: setting\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_label_get_selectable (GtkLabel *self);\nfunction gtk_label_get_selectable(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_label_get_selectable\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_label_select_region (GtkLabel *self, int start_offset, int end_offset);\nsubroutine gtk_label_select_region(self, start_offset, end_offset) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: start_offset\n  integer(c_int), value :: end_offset\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_label_get_selection_bounds (GtkLabel *self, int *start, int *end);\nfunction gtk_label_get_selection_bounds(self, start, end) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_label_get_selection_bounds\n  type(c_ptr), value :: self\n  type(c_ptr), value :: start\n  type(c_ptr), value :: end\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!PangoLayout *gtk_label_get_layout (GtkLabel *self);\nfunction gtk_label_get_layout(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_label_get_layout\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_label_get_layout_offsets (GtkLabel *self, int *x, int *y);\nsubroutine gtk_label_get_layout_offsets(self, x, y) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: x\n  type(c_ptr), value :: y\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_label_set_single_line_mode (GtkLabel *self, gboolean single_line_mode);\nsubroutine gtk_label_set_single_line_mode(self, single_line_mode) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: single_line_mode\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_label_get_single_line_mode (GtkLabel *self);\nfunction gtk_label_get_single_line_mode(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_label_get_single_line_mode\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char *gtk_label_get_current_uri (GtkLabel *self);\nfunction gtk_label_get_current_uri(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_label_get_current_uri\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_label_set_xalign (GtkLabel *self, float xalign);\nsubroutine gtk_label_set_xalign(self, xalign) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: self\n  real(c_float), value :: xalign\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!float gtk_label_get_xalign (GtkLabel *self);\nfunction gtk_label_get_xalign(self) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: gtk_label_get_xalign\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_label_set_yalign (GtkLabel *self, float yalign);\nsubroutine gtk_label_set_yalign(self, yalign) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: self\n  real(c_float), value :: yalign\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!float gtk_label_get_yalign (GtkLabel *self);\nfunction gtk_label_get_yalign(self) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: gtk_label_get_yalign\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_label_set_extra_menu (GtkLabel *self, GMenuModel *model);\nsubroutine gtk_label_set_extra_menu(self, model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: model\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GMenuModel * gtk_label_get_extra_menu (GtkLabel *self);\nfunction gtk_label_get_extra_menu(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_label_get_extra_menu\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_8\n!void gtk_label_set_tabs (GtkLabel *self, PangoTabArray *tabs);\nsubroutine gtk_label_set_tabs(self, tabs) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: tabs\nend subroutine\n\n! GDK_AVAILABLE_IN_4_8\n!PangoTabArray * gtk_label_get_tabs (GtkLabel *self);\nfunction gtk_label_get_tabs(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_label_get_tabs\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtklayoutchild.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkLayoutManager * gtk_layout_child_get_layout_manager (GtkLayoutChild *layout_child);\nfunction gtk_layout_child_get_layout_manager(layout_child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_layout_child_get_layout_manager\n  type(c_ptr), value :: layout_child\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_layout_child_get_child_widget (GtkLayoutChild *layout_child);\nfunction gtk_layout_child_get_child_widget(layout_child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_layout_child_get_child_widget\n  type(c_ptr), value :: layout_child\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtklayoutmanager.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!void gtk_layout_manager_measure (GtkLayoutManager *manager, GtkWidget *widget, GtkOrientation orientation, int for_size, int *minimum, int *natural, int *minimum_baseline, int *natural_baseline);\nsubroutine gtk_layout_manager_measure(manager, widget, orientation, for_size,&\n& minimum, natural, minimum_baseline, natural_baseline) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: manager\n  type(c_ptr), value :: widget\n  integer(c_int), value :: orientation\n  integer(c_int), value :: for_size\n  type(c_ptr), value :: minimum\n  type(c_ptr), value :: natural\n  type(c_ptr), value :: minimum_baseline\n  type(c_ptr), value :: natural_baseline\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_layout_manager_allocate (GtkLayoutManager *manager, GtkWidget *widget, int width, int height, int baseline);\nsubroutine gtk_layout_manager_allocate(manager, widget, width, height,&\n& baseline) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: manager\n  type(c_ptr), value :: widget\n  integer(c_int), value :: width\n  integer(c_int), value :: height\n  integer(c_int), value :: baseline\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkSizeRequestMode gtk_layout_manager_get_request_mode (GtkLayoutManager *manager);\nfunction gtk_layout_manager_get_request_mode(manager) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_layout_manager_get_request_mode\n  type(c_ptr), value :: manager\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_layout_manager_get_widget (GtkLayoutManager *manager);\nfunction gtk_layout_manager_get_widget(manager) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_layout_manager_get_widget\n  type(c_ptr), value :: manager\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_layout_manager_layout_changed (GtkLayoutManager *manager);\nsubroutine gtk_layout_manager_layout_changed(manager) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: manager\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkLayoutChild * gtk_layout_manager_get_layout_child (GtkLayoutManager *manager, GtkWidget *child);\nfunction gtk_layout_manager_get_layout_child(manager, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_layout_manager_get_layout_child\n  type(c_ptr), value :: manager\n  type(c_ptr), value :: child\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtklevelbar.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_level_bar_get_type (void) ;\nfunction gtk_level_bar_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_level_bar_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget *gtk_level_bar_new (void);\nfunction gtk_level_bar_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_level_bar_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget *gtk_level_bar_new_for_interval (double min_value, double max_value);\nfunction gtk_level_bar_new_for_interval(min_value, max_value) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr) :: gtk_level_bar_new_for_interval\n  real(c_double), value :: min_value\n  real(c_double), value :: max_value\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_level_bar_set_mode (GtkLevelBar *self, GtkLevelBarMode mode);\nsubroutine gtk_level_bar_set_mode(self, mode) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: mode\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkLevelBarMode gtk_level_bar_get_mode (GtkLevelBar *self);\nfunction gtk_level_bar_get_mode(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_level_bar_get_mode\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_level_bar_set_value (GtkLevelBar *self, double value);\nsubroutine gtk_level_bar_set_value(self, value) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: self\n  real(c_double), value :: value\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_level_bar_get_value (GtkLevelBar *self);\nfunction gtk_level_bar_get_value(self) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: gtk_level_bar_get_value\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_level_bar_set_min_value (GtkLevelBar *self, double value);\nsubroutine gtk_level_bar_set_min_value(self, value) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: self\n  real(c_double), value :: value\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_level_bar_get_min_value (GtkLevelBar *self);\nfunction gtk_level_bar_get_min_value(self) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: gtk_level_bar_get_min_value\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_level_bar_set_max_value (GtkLevelBar *self, double value);\nsubroutine gtk_level_bar_set_max_value(self, value) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: self\n  real(c_double), value :: value\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_level_bar_get_max_value (GtkLevelBar *self);\nfunction gtk_level_bar_get_max_value(self) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: gtk_level_bar_get_max_value\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_level_bar_set_inverted (GtkLevelBar *self, gboolean inverted);\nsubroutine gtk_level_bar_set_inverted(self, inverted) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: inverted\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_level_bar_get_inverted (GtkLevelBar *self);\nfunction gtk_level_bar_get_inverted(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_level_bar_get_inverted\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_level_bar_add_offset_value (GtkLevelBar *self, const char *name, double value);\nsubroutine gtk_level_bar_add_offset_value(self, name, value) bind(c)\n  import :: c_ptr, c_char, c_double\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: name\n  real(c_double), value :: value\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_level_bar_remove_offset_value (GtkLevelBar *self, const char *name);\nsubroutine gtk_level_bar_remove_offset_value(self, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: name\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_level_bar_get_offset_value (GtkLevelBar *self, const char *name, double *value);\nfunction gtk_level_bar_get_offset_value(self, name, value) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_level_bar_get_offset_value\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: name\n  type(c_ptr), value :: value\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtklinkbutton.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_link_button_get_type (void) ;\nfunction gtk_link_button_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_link_button_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_link_button_new (const char *uri);\nfunction gtk_link_button_new(uri) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_link_button_new\n  character(kind=c_char), dimension(*) :: uri\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_link_button_new_with_label (const char *uri, const char *label);\nfunction gtk_link_button_new_with_label(uri, label) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_link_button_new_with_label\n  character(kind=c_char), dimension(*) :: uri\n  character(kind=c_char), dimension(*) :: label\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_link_button_get_uri (GtkLinkButton *link_button);\nfunction gtk_link_button_get_uri(link_button) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_link_button_get_uri\n  type(c_ptr), value :: link_button\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_link_button_set_uri (GtkLinkButton *link_button, const char *uri);\nsubroutine gtk_link_button_set_uri(link_button, uri) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: link_button\n  character(kind=c_char), dimension(*) :: uri\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_link_button_get_visited (GtkLinkButton *link_button);\nfunction gtk_link_button_get_visited(link_button) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_link_button_get_visited\n  type(c_ptr), value :: link_button\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_link_button_set_visited (GtkLinkButton *link_button, gboolean visited);\nsubroutine gtk_link_button_set_visited(link_button, visited) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: link_button\n  integer(c_int), value :: visited\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtklistbase.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_list_base_get_type (void) ;\nfunction gtk_list_base_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_list_base_get_type\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtklistbox.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_list_box_row_get_type (void) ;\nfunction gtk_list_box_row_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_list_box_row_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_list_box_row_new (void);\nfunction gtk_list_box_row_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_list_box_row_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_list_box_row_set_child (GtkListBoxRow *row, GtkWidget *child);\nsubroutine gtk_list_box_row_set_child(row, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: row\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget *gtk_list_box_row_get_child (GtkListBoxRow *row);\nfunction gtk_list_box_row_get_child(row) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_list_box_row_get_child\n  type(c_ptr), value :: row\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_list_box_row_get_header (GtkListBoxRow *row);\nfunction gtk_list_box_row_get_header(row) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_list_box_row_get_header\n  type(c_ptr), value :: row\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_list_box_row_set_header (GtkListBoxRow *row, GtkWidget *header);\nsubroutine gtk_list_box_row_set_header(row, header) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: row\n  type(c_ptr), value :: header\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_list_box_row_get_index (GtkListBoxRow *row);\nfunction gtk_list_box_row_get_index(row) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_list_box_row_get_index\n  type(c_ptr), value :: row\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_list_box_row_changed (GtkListBoxRow *row);\nsubroutine gtk_list_box_row_changed(row) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: row\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_list_box_row_is_selected (GtkListBoxRow *row);\nfunction gtk_list_box_row_is_selected(row) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_list_box_row_is_selected\n  type(c_ptr), value :: row\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_list_box_row_set_selectable (GtkListBoxRow *row, gboolean selectable);\nsubroutine gtk_list_box_row_set_selectable(row, selectable) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: row\n  integer(c_int), value :: selectable\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_list_box_row_get_selectable (GtkListBoxRow *row);\nfunction gtk_list_box_row_get_selectable(row) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_list_box_row_get_selectable\n  type(c_ptr), value :: row\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_list_box_row_set_activatable (GtkListBoxRow *row, gboolean activatable);\nsubroutine gtk_list_box_row_set_activatable(row, activatable) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: row\n  integer(c_int), value :: activatable\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_list_box_row_get_activatable (GtkListBoxRow *row);\nfunction gtk_list_box_row_get_activatable(row) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_list_box_row_get_activatable\n  type(c_ptr), value :: row\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_list_box_get_type (void) ;\nfunction gtk_list_box_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_list_box_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_list_box_prepend (GtkListBox *box, GtkWidget *child);\nsubroutine gtk_list_box_prepend(box, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: box\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_list_box_append (GtkListBox *box, GtkWidget *child);\nsubroutine gtk_list_box_append(box, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: box\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_list_box_insert (GtkListBox *box, GtkWidget *child, int position);\nsubroutine gtk_list_box_insert(box, child, position) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: box\n  type(c_ptr), value :: child\n  integer(c_int), value :: position\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_list_box_remove (GtkListBox *box, GtkWidget *child);\nsubroutine gtk_list_box_remove(box, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: box\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_list_box_remove_all (GtkListBox *box);\nsubroutine gtk_list_box_remove_all(box) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: box\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkListBoxRow* gtk_list_box_get_selected_row (GtkListBox *box);\nfunction gtk_list_box_get_selected_row(box) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_list_box_get_selected_row\n  type(c_ptr), value :: box\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkListBoxRow* gtk_list_box_get_row_at_index (GtkListBox *box, int index_);\nfunction gtk_list_box_get_row_at_index(box, index_) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_list_box_get_row_at_index\n  type(c_ptr), value :: box\n  integer(c_int), value :: index_\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkListBoxRow* gtk_list_box_get_row_at_y (GtkListBox *box, int y);\nfunction gtk_list_box_get_row_at_y(box, y) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_list_box_get_row_at_y\n  type(c_ptr), value :: box\n  integer(c_int), value :: y\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_list_box_select_row (GtkListBox *box, GtkListBoxRow *row);\nsubroutine gtk_list_box_select_row(box, row) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: box\n  type(c_ptr), value :: row\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_list_box_set_placeholder (GtkListBox *box, GtkWidget *placeholder);\nsubroutine gtk_list_box_set_placeholder(box, placeholder) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: box\n  type(c_ptr), value :: placeholder\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_list_box_set_adjustment (GtkListBox *box, GtkAdjustment *adjustment);\nsubroutine gtk_list_box_set_adjustment(box, adjustment) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: box\n  type(c_ptr), value :: adjustment\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkAdjustment *gtk_list_box_get_adjustment (GtkListBox *box);\nfunction gtk_list_box_get_adjustment(box) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_list_box_get_adjustment\n  type(c_ptr), value :: box\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_list_box_selected_foreach (GtkListBox *box, GtkListBoxForeachFunc func, gpointer data);\nsubroutine gtk_list_box_selected_foreach(box, func, data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: box\n  type(c_funptr), value :: func\n  type(c_ptr), value :: data\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GList *gtk_list_box_get_selected_rows (GtkListBox *box);\nfunction gtk_list_box_get_selected_rows(box) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_list_box_get_selected_rows\n  type(c_ptr), value :: box\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_list_box_unselect_row (GtkListBox *box, GtkListBoxRow *row);\nsubroutine gtk_list_box_unselect_row(box, row) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: box\n  type(c_ptr), value :: row\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_list_box_select_all (GtkListBox *box);\nsubroutine gtk_list_box_select_all(box) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: box\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_list_box_unselect_all (GtkListBox *box);\nsubroutine gtk_list_box_unselect_all(box) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: box\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_list_box_set_selection_mode (GtkListBox *box, GtkSelectionMode mode);\nsubroutine gtk_list_box_set_selection_mode(box, mode) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: box\n  integer(c_int), value :: mode\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkSelectionMode gtk_list_box_get_selection_mode (GtkListBox *box);\nfunction gtk_list_box_get_selection_mode(box) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_list_box_get_selection_mode\n  type(c_ptr), value :: box\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_list_box_set_filter_func (GtkListBox *box, GtkListBoxFilterFunc filter_func, gpointer user_data, GDestroyNotify destroy);\nsubroutine gtk_list_box_set_filter_func(box, filter_func, user_data, destroy)&\n& bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: box\n  type(c_funptr), value :: filter_func\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: destroy\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_list_box_set_header_func (GtkListBox *box, GtkListBoxUpdateHeaderFunc update_header, gpointer user_data, GDestroyNotify destroy);\nsubroutine gtk_list_box_set_header_func(box, update_header, user_data, destroy)&\n& bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: box\n  type(c_funptr), value :: update_header\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: destroy\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_list_box_invalidate_filter (GtkListBox *box);\nsubroutine gtk_list_box_invalidate_filter(box) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: box\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_list_box_invalidate_sort (GtkListBox *box);\nsubroutine gtk_list_box_invalidate_sort(box) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: box\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_list_box_invalidate_headers (GtkListBox *box);\nsubroutine gtk_list_box_invalidate_headers(box) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: box\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_list_box_set_sort_func (GtkListBox *box, GtkListBoxSortFunc sort_func, gpointer user_data, GDestroyNotify destroy);\nsubroutine gtk_list_box_set_sort_func(box, sort_func, user_data, destroy)&\n& bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: box\n  type(c_funptr), value :: sort_func\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: destroy\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_list_box_set_activate_on_single_click (GtkListBox *box, gboolean single);\nsubroutine gtk_list_box_set_activate_on_single_click(box, single) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: box\n  integer(c_int), value :: single\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_list_box_get_activate_on_single_click (GtkListBox *box);\nfunction gtk_list_box_get_activate_on_single_click(box) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_list_box_get_activate_on_single_click\n  type(c_ptr), value :: box\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_list_box_drag_unhighlight_row (GtkListBox *box);\nsubroutine gtk_list_box_drag_unhighlight_row(box) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: box\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_list_box_drag_highlight_row (GtkListBox *box, GtkListBoxRow *row);\nsubroutine gtk_list_box_drag_highlight_row(box, row) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: box\n  type(c_ptr), value :: row\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_list_box_new (void);\nfunction gtk_list_box_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_list_box_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_list_box_bind_model (GtkListBox *box, GListModel *model, GtkListBoxCreateWidgetFunc create_widget_func, gpointer user_data, GDestroyNotify user_data_free_func);\nsubroutine gtk_list_box_bind_model(box, model, create_widget_func, user_data,&\n& user_data_free_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: box\n  type(c_ptr), value :: model\n  type(c_funptr), value :: create_widget_func\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: user_data_free_func\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_list_box_set_show_separators (GtkListBox *box, gboolean show_separators);\nsubroutine gtk_list_box_set_show_separators(box, show_separators) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: box\n  integer(c_int), value :: show_separators\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_list_box_get_show_separators (GtkListBox *box);\nfunction gtk_list_box_get_show_separators(box) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_list_box_get_show_separators\n  type(c_ptr), value :: box\nend function\n\n! GDK_AVAILABLE_IN_4_18\n!void gtk_list_box_set_tab_behavior (GtkListBox *box, GtkListTabBehavior behavior);\nsubroutine gtk_list_box_set_tab_behavior(box, behavior) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: box\n  integer(c_int), value :: behavior\nend subroutine\n\n! GDK_AVAILABLE_IN_4_18\n!GtkListTabBehavior gtk_list_box_get_tab_behavior (GtkListBox *box);\nfunction gtk_list_box_get_tab_behavior(box) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_list_box_get_tab_behavior\n  type(c_ptr), value :: box\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtklistheader.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_4_12\n!gpointer gtk_list_header_get_item (GtkListHeader *self);\nfunction gtk_list_header_get_item(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_list_header_get_item\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!guint gtk_list_header_get_start (GtkListHeader *self) ;\nfunction gtk_list_header_get_start(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_list_header_get_start\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!guint gtk_list_header_get_end (GtkListHeader *self) ;\nfunction gtk_list_header_get_end(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_list_header_get_end\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!guint gtk_list_header_get_n_items (GtkListHeader *self) ;\nfunction gtk_list_header_get_n_items(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_list_header_get_n_items\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_list_header_set_child (GtkListHeader *self, GtkWidget *child);\nsubroutine gtk_list_header_set_child(self, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_4_12\n!GtkWidget * gtk_list_header_get_child (GtkListHeader *self);\nfunction gtk_list_header_get_child(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_list_header_get_child\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtklistitem.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!gpointer gtk_list_item_get_item (GtkListItem *self);\nfunction gtk_list_item_get_item(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_list_item_get_item\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_list_item_get_position (GtkListItem *self) ;\nfunction gtk_list_item_get_position(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_list_item_get_position\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_list_item_get_selected (GtkListItem *self) ;\nfunction gtk_list_item_get_selected(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_list_item_get_selected\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_list_item_get_selectable (GtkListItem *self) ;\nfunction gtk_list_item_get_selectable(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_list_item_get_selectable\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_list_item_set_selectable (GtkListItem *self, gboolean selectable);\nsubroutine gtk_list_item_set_selectable(self, selectable) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: selectable\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_list_item_get_activatable (GtkListItem *self) ;\nfunction gtk_list_item_get_activatable(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_list_item_get_activatable\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_list_item_set_activatable (GtkListItem *self, gboolean activatable);\nsubroutine gtk_list_item_set_activatable(self, activatable) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: activatable\nend subroutine\n\n! GDK_AVAILABLE_IN_4_12\n!gboolean gtk_list_item_get_focusable (GtkListItem *self) ;\nfunction gtk_list_item_get_focusable(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_list_item_get_focusable\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_list_item_set_focusable (GtkListItem *self, gboolean focusable);\nsubroutine gtk_list_item_set_focusable(self, focusable) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: focusable\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_list_item_set_child (GtkListItem *self, GtkWidget *child);\nsubroutine gtk_list_item_set_child(self, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_list_item_get_child (GtkListItem *self);\nfunction gtk_list_item_get_child(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_list_item_get_child\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_list_item_set_accessible_description (GtkListItem *self, const char *description);\nsubroutine gtk_list_item_set_accessible_description(self, description) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: description\nend subroutine\n\n! GDK_AVAILABLE_IN_4_12\n!const char * gtk_list_item_get_accessible_description (GtkListItem *self);\nfunction gtk_list_item_get_accessible_description(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_list_item_get_accessible_description\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_list_item_set_accessible_label (GtkListItem *self, const char *label);\nsubroutine gtk_list_item_set_accessible_label(self, label) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: label\nend subroutine\n\n! GDK_AVAILABLE_IN_4_12\n!const char * gtk_list_item_get_accessible_label (GtkListItem *self);\nfunction gtk_list_item_get_accessible_label(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_list_item_get_accessible_label\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtklistitemfactory.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_list_item_factory_get_type (void) ;\nfunction gtk_list_item_factory_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_list_item_factory_get_type\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtklistview.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_list_view_get_type (void) ;\nfunction gtk_list_view_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_list_view_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_list_view_new (GtkSelectionModel *model, GtkListItemFactory *factory);\nfunction gtk_list_view_new(model, factory) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_list_view_new\n  type(c_ptr), value :: model\n  type(c_ptr), value :: factory\nend function\n\n! \n!GtkSelectionModel * gtk_list_view_get_model (GtkListView *self);\nfunction gtk_list_view_get_model(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_list_view_get_model\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_list_view_set_model (GtkListView *self, GtkSelectionModel *model);\nsubroutine gtk_list_view_set_model(self, model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: model\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_list_view_set_factory (GtkListView *self, GtkListItemFactory *factory);\nsubroutine gtk_list_view_set_factory(self, factory) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: factory\nend subroutine\n\n! \n!GtkListItemFactory * gtk_list_view_get_factory (GtkListView *self);\nfunction gtk_list_view_get_factory(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_list_view_get_factory\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_list_view_set_header_factory (GtkListView *self, GtkListItemFactory *factory);\nsubroutine gtk_list_view_set_header_factory(self, factory) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: factory\nend subroutine\n\n! \n!GtkListItemFactory * gtk_list_view_get_header_factory (GtkListView *self);\nfunction gtk_list_view_get_header_factory(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_list_view_get_header_factory\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_list_view_set_show_separators (GtkListView *self, gboolean show_separators);\nsubroutine gtk_list_view_set_show_separators(self, show_separators) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: show_separators\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_list_view_get_show_separators (GtkListView *self);\nfunction gtk_list_view_get_show_separators(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_list_view_get_show_separators\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_list_view_set_single_click_activate (GtkListView *self, gboolean single_click_activate);\nsubroutine gtk_list_view_set_single_click_activate(self, single_click_activate)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: single_click_activate\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_list_view_get_single_click_activate (GtkListView *self);\nfunction gtk_list_view_get_single_click_activate(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_list_view_get_single_click_activate\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_list_view_set_enable_rubberband (GtkListView *self, gboolean enable_rubberband);\nsubroutine gtk_list_view_set_enable_rubberband(self, enable_rubberband) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: enable_rubberband\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_list_view_get_enable_rubberband (GtkListView *self);\nfunction gtk_list_view_get_enable_rubberband(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_list_view_get_enable_rubberband\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_list_view_set_tab_behavior (GtkListView *self, GtkListTabBehavior tab_behavior);\nsubroutine gtk_list_view_set_tab_behavior(self, tab_behavior) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: tab_behavior\nend subroutine\n\n! \n!GtkListTabBehavior gtk_list_view_get_tab_behavior (GtkListView *self);\nfunction gtk_list_view_get_tab_behavior(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_list_view_get_tab_behavior\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_list_view_scroll_to (GtkListView *self, guint pos, GtkListScrollFlags flags, GtkScrollInfo *scroll);\nsubroutine gtk_list_view_scroll_to(self, pos, flags, scroll) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: pos\n  integer(c_int), value :: flags\n  type(c_ptr), value :: scroll\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkmain.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_init_check (void);\nfunction gtk_init_check() bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: gtk_init_check\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_is_initialized (void);\nfunction gtk_is_initialized() bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: gtk_is_initialized\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_init_abi_check (int num_checks, size_t sizeof_GtkWindow, size_t sizeof_GtkBox);\nsubroutine gtk_init_abi_check(num_checks, sizeof_GtkWindow, sizeof_GtkBox)&\n& bind(c)\n  import :: c_int, c_size_t\n  implicit none\n  integer(c_int), value :: num_checks\n  integer(c_size_t), value :: sizeof_GtkWindow\n  integer(c_size_t), value :: sizeof_GtkBox\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_init_check_abi_check (int num_checks, size_t sizeof_GtkWindow, size_t sizeof_GtkBox);\nfunction gtk_init_check_abi_check(num_checks, sizeof_GtkWindow, sizeof_GtkBox)&\n& bind(c)\n  import :: c_int, c_size_t\n  implicit none\n  integer(c_int) :: gtk_init_check_abi_check\n  integer(c_int), value :: num_checks\n  integer(c_size_t), value :: sizeof_GtkWindow\n  integer(c_size_t), value :: sizeof_GtkBox\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_disable_setlocale (void);\nsubroutine gtk_disable_setlocale() bind(c)\n  implicit none\nend subroutine\n\n! GDK_AVAILABLE_IN_4_18\n!void gtk_disable_portals (void);\nsubroutine gtk_disable_portals() bind(c)\n  implicit none\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!PangoLanguage * gtk_get_default_language (void) ;\nfunction gtk_get_default_language() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_get_default_language\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkTextDirection gtk_get_locale_direction (void);\nfunction gtk_get_locale_direction() bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: gtk_get_locale_direction\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkmaplistmodel.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkMapListModel * gtk_map_list_model_new (GListModel *model, GtkMapListModelMapFunc map_func, gpointer user_data, GDestroyNotify user_destroy);\nfunction gtk_map_list_model_new(model, map_func, user_data, user_destroy)&\n& bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: gtk_map_list_model_new\n  type(c_ptr), value :: model\n  type(c_funptr), value :: map_func\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: user_destroy\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_map_list_model_set_map_func (GtkMapListModel *self, GtkMapListModelMapFunc map_func, gpointer user_data, GDestroyNotify user_destroy);\nsubroutine gtk_map_list_model_set_map_func(self, map_func, user_data,&\n& user_destroy) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_funptr), value :: map_func\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: user_destroy\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_map_list_model_set_model (GtkMapListModel *self, GListModel *model);\nsubroutine gtk_map_list_model_set_model(self, model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: model\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GListModel * gtk_map_list_model_get_model (GtkMapListModel *self);\nfunction gtk_map_list_model_get_model(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_map_list_model_get_model\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_map_list_model_has_map (GtkMapListModel *self);\nfunction gtk_map_list_model_has_map(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_map_list_model_has_map\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkmediacontrols.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget *gtk_media_controls_new (GtkMediaStream *stream);\nfunction gtk_media_controls_new(stream) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_media_controls_new\n  type(c_ptr), value :: stream\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkMediaStream *gtk_media_controls_get_media_stream (GtkMediaControls *controls);\nfunction gtk_media_controls_get_media_stream(controls) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_media_controls_get_media_stream\n  type(c_ptr), value :: controls\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_media_controls_set_media_stream (GtkMediaControls *controls, GtkMediaStream *stream);\nsubroutine gtk_media_controls_set_media_stream(controls, stream) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: controls\n  type(c_ptr), value :: stream\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkmediafile.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkMediaStream * gtk_media_file_new (void);\nfunction gtk_media_file_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_media_file_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkMediaStream * gtk_media_file_new_for_filename (const char *filename);\nfunction gtk_media_file_new_for_filename(filename) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_media_file_new_for_filename\n  character(kind=c_char), dimension(*) :: filename\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkMediaStream * gtk_media_file_new_for_resource (const char *resource_path);\nfunction gtk_media_file_new_for_resource(resource_path) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_media_file_new_for_resource\n  character(kind=c_char), dimension(*) :: resource_path\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkMediaStream * gtk_media_file_new_for_file (GFile *file);\nfunction gtk_media_file_new_for_file(file) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_media_file_new_for_file\n  type(c_ptr), value :: file\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkMediaStream * gtk_media_file_new_for_input_stream (GInputStream *stream);\nfunction gtk_media_file_new_for_input_stream(stream) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_media_file_new_for_input_stream\n  type(c_ptr), value :: stream\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_media_file_clear (GtkMediaFile *self);\nsubroutine gtk_media_file_clear(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_media_file_set_filename (GtkMediaFile *self, const char *filename);\nsubroutine gtk_media_file_set_filename(self, filename) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: filename\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_media_file_set_resource (GtkMediaFile *self, const char *resource_path);\nsubroutine gtk_media_file_set_resource(self, resource_path) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: resource_path\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_media_file_set_file (GtkMediaFile *self, GFile *file);\nsubroutine gtk_media_file_set_file(self, file) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: file\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GFile * gtk_media_file_get_file (GtkMediaFile *self);\nfunction gtk_media_file_get_file(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_media_file_get_file\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_media_file_set_input_stream (GtkMediaFile *self, GInputStream *stream);\nsubroutine gtk_media_file_set_input_stream(self, stream) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: stream\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GInputStream * gtk_media_file_get_input_stream (GtkMediaFile *self);\nfunction gtk_media_file_get_input_stream(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_media_file_get_input_stream\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkmediastream.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_media_stream_is_prepared (GtkMediaStream *self);\nfunction gtk_media_stream_is_prepared(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_media_stream_is_prepared\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const GError * gtk_media_stream_get_error (GtkMediaStream *self);\nfunction gtk_media_stream_get_error(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_media_stream_get_error\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_media_stream_has_audio (GtkMediaStream *self);\nfunction gtk_media_stream_has_audio(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_media_stream_has_audio\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_media_stream_has_video (GtkMediaStream *self);\nfunction gtk_media_stream_has_video(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_media_stream_has_video\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_media_stream_play (GtkMediaStream *self);\nsubroutine gtk_media_stream_play(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_media_stream_pause (GtkMediaStream *self);\nsubroutine gtk_media_stream_pause(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_media_stream_get_playing (GtkMediaStream *self);\nfunction gtk_media_stream_get_playing(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_media_stream_get_playing\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_media_stream_set_playing (GtkMediaStream *self, gboolean playing);\nsubroutine gtk_media_stream_set_playing(self, playing) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: playing\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_media_stream_get_ended (GtkMediaStream *self);\nfunction gtk_media_stream_get_ended(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_media_stream_get_ended\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gint64 gtk_media_stream_get_timestamp (GtkMediaStream *self);\nfunction gtk_media_stream_get_timestamp(self) bind(c)\n  import :: c_int64_t, c_ptr\n  implicit none\n  integer(c_int64_t) :: gtk_media_stream_get_timestamp\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gint64 gtk_media_stream_get_duration (GtkMediaStream *self);\nfunction gtk_media_stream_get_duration(self) bind(c)\n  import :: c_int64_t, c_ptr\n  implicit none\n  integer(c_int64_t) :: gtk_media_stream_get_duration\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_media_stream_is_seekable (GtkMediaStream *self);\nfunction gtk_media_stream_is_seekable(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_media_stream_is_seekable\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_media_stream_is_seeking (GtkMediaStream *self);\nfunction gtk_media_stream_is_seeking(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_media_stream_is_seeking\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_media_stream_seek (GtkMediaStream *self, gint64 timestamp);\nsubroutine gtk_media_stream_seek(self, timestamp) bind(c)\n  import :: c_ptr, c_int64_t\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int64_t), value :: timestamp\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_media_stream_get_loop (GtkMediaStream *self);\nfunction gtk_media_stream_get_loop(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_media_stream_get_loop\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_media_stream_set_loop (GtkMediaStream *self, gboolean loop);\nsubroutine gtk_media_stream_set_loop(self, loop) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: loop\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_media_stream_get_muted (GtkMediaStream *self);\nfunction gtk_media_stream_get_muted(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_media_stream_get_muted\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_media_stream_set_muted (GtkMediaStream *self, gboolean muted);\nsubroutine gtk_media_stream_set_muted(self, muted) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: muted\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_media_stream_get_volume (GtkMediaStream *self);\nfunction gtk_media_stream_get_volume(self) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: gtk_media_stream_get_volume\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_media_stream_set_volume (GtkMediaStream *self, double volume);\nsubroutine gtk_media_stream_set_volume(self, volume) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: self\n  real(c_double), value :: volume\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_media_stream_realize (GtkMediaStream *self, GdkSurface *surface);\nsubroutine gtk_media_stream_realize(self, surface) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: surface\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_media_stream_unrealize (GtkMediaStream *self, GdkSurface *surface);\nsubroutine gtk_media_stream_unrealize(self, surface) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: surface\nend subroutine\n\n! GDK_DEPRECATED_IN_4_4_FOR(gtk_media_stream_stream_prepared)\n!void gtk_media_stream_prepared (GtkMediaStream *self, gboolean has_audio, gboolean has_video, gboolean seekable, gint64 duration);\nsubroutine gtk_media_stream_prepared(self, has_audio, has_video, seekable,&\n& duration) bind(c)\n  import :: c_ptr, c_int, c_int64_t\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: has_audio\n  integer(c_int), value :: has_video\n  integer(c_int), value :: seekable\n  integer(c_int64_t), value :: duration\nend subroutine\n\n! GDK_DEPRECATED_IN_4_4_FOR(gtk_media_stream_stream_unprepared)\n!void gtk_media_stream_unprepared (GtkMediaStream *self);\nsubroutine gtk_media_stream_unprepared(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n! GDK_AVAILABLE_IN_4_4\n!void gtk_media_stream_stream_prepared (GtkMediaStream *self, gboolean has_audio, gboolean has_video, gboolean seekable, gint64 duration);\nsubroutine gtk_media_stream_stream_prepared(self, has_audio, has_video,&\n& seekable, duration) bind(c)\n  import :: c_ptr, c_int, c_int64_t\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: has_audio\n  integer(c_int), value :: has_video\n  integer(c_int), value :: seekable\n  integer(c_int64_t), value :: duration\nend subroutine\n\n! GDK_AVAILABLE_IN_4_4\n!void gtk_media_stream_stream_unprepared (GtkMediaStream *self);\nsubroutine gtk_media_stream_stream_unprepared(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_media_stream_update (GtkMediaStream *self, gint64 timestamp);\nsubroutine gtk_media_stream_update(self, timestamp) bind(c)\n  import :: c_ptr, c_int64_t\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int64_t), value :: timestamp\nend subroutine\n\n! GDK_DEPRECATED_IN_4_4_FOR(gtk_media_stream_stream_ended)\n!void gtk_media_stream_ended (GtkMediaStream *self);\nsubroutine gtk_media_stream_ended(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n! GDK_AVAILABLE_IN_4_4\n!void gtk_media_stream_stream_ended (GtkMediaStream *self);\nsubroutine gtk_media_stream_stream_ended(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_media_stream_seek_success (GtkMediaStream *self);\nsubroutine gtk_media_stream_seek_success(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_media_stream_seek_failed (GtkMediaStream *self);\nsubroutine gtk_media_stream_seek_failed(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_media_stream_gerror (GtkMediaStream *self, GError *error);\nsubroutine gtk_media_stream_gerror(self, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: error\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_media_stream_error_valist (GtkMediaStream *self, GQuark domain, int code, const char *format, va_list args) ;\nsubroutine gtk_media_stream_error_valist(self, domain, code, format, args)&\n& bind(c)\n  import :: c_ptr, c_int32_t, c_int, c_char\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int32_t), value :: domain\n  integer(c_int), value :: code\n  character(kind=c_char), dimension(*) :: format\n  type(c_ptr), value :: args\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkmenubutton.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_menu_button_get_type (void) ;\nfunction gtk_menu_button_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_menu_button_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget *gtk_menu_button_new (void);\nfunction gtk_menu_button_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_menu_button_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_menu_button_set_popover (GtkMenuButton *menu_button, GtkWidget *popover);\nsubroutine gtk_menu_button_set_popover(menu_button, popover) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: menu_button\n  type(c_ptr), value :: popover\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPopover *gtk_menu_button_get_popover (GtkMenuButton *menu_button);\nfunction gtk_menu_button_get_popover(menu_button) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_menu_button_get_popover\n  type(c_ptr), value :: menu_button\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_menu_button_set_direction (GtkMenuButton *menu_button, GtkArrowType direction);\nsubroutine gtk_menu_button_set_direction(menu_button, direction) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: menu_button\n  integer(c_int), value :: direction\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkArrowType gtk_menu_button_get_direction (GtkMenuButton *menu_button);\nfunction gtk_menu_button_get_direction(menu_button) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_menu_button_get_direction\n  type(c_ptr), value :: menu_button\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_menu_button_set_menu_model (GtkMenuButton *menu_button, GMenuModel *menu_model);\nsubroutine gtk_menu_button_set_menu_model(menu_button, menu_model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: menu_button\n  type(c_ptr), value :: menu_model\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GMenuModel *gtk_menu_button_get_menu_model (GtkMenuButton *menu_button);\nfunction gtk_menu_button_get_menu_model(menu_button) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_menu_button_get_menu_model\n  type(c_ptr), value :: menu_button\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_menu_button_set_icon_name (GtkMenuButton *menu_button, const char *icon_name);\nsubroutine gtk_menu_button_set_icon_name(menu_button, icon_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: menu_button\n  character(kind=c_char), dimension(*) :: icon_name\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_menu_button_get_icon_name (GtkMenuButton *menu_button);\nfunction gtk_menu_button_get_icon_name(menu_button) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_menu_button_get_icon_name\n  type(c_ptr), value :: menu_button\nend function\n\n! GDK_AVAILABLE_IN_4_4\n!void gtk_menu_button_set_always_show_arrow (GtkMenuButton *menu_button, gboolean always_show_arrow);\nsubroutine gtk_menu_button_set_always_show_arrow(menu_button,&\n& always_show_arrow) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: menu_button\n  integer(c_int), value :: always_show_arrow\nend subroutine\n\n! GDK_AVAILABLE_IN_4_4\n!gboolean gtk_menu_button_get_always_show_arrow (GtkMenuButton *menu_button);\nfunction gtk_menu_button_get_always_show_arrow(menu_button) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_menu_button_get_always_show_arrow\n  type(c_ptr), value :: menu_button\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_menu_button_set_label (GtkMenuButton *menu_button, const char *label);\nsubroutine gtk_menu_button_set_label(menu_button, label) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: menu_button\n  character(kind=c_char), dimension(*) :: label\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_menu_button_get_label (GtkMenuButton *menu_button);\nfunction gtk_menu_button_get_label(menu_button) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_menu_button_get_label\n  type(c_ptr), value :: menu_button\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_menu_button_set_use_underline (GtkMenuButton *menu_button, gboolean use_underline);\nsubroutine gtk_menu_button_set_use_underline(menu_button, use_underline)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: menu_button\n  integer(c_int), value :: use_underline\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_menu_button_get_use_underline (GtkMenuButton *menu_button);\nfunction gtk_menu_button_get_use_underline(menu_button) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_menu_button_get_use_underline\n  type(c_ptr), value :: menu_button\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_menu_button_set_has_frame (GtkMenuButton *menu_button, gboolean has_frame);\nsubroutine gtk_menu_button_set_has_frame(menu_button, has_frame) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: menu_button\n  integer(c_int), value :: has_frame\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_menu_button_get_has_frame (GtkMenuButton *menu_button);\nfunction gtk_menu_button_get_has_frame(menu_button) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_menu_button_get_has_frame\n  type(c_ptr), value :: menu_button\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_menu_button_popup (GtkMenuButton *menu_button);\nsubroutine gtk_menu_button_popup(menu_button) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: menu_button\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_menu_button_popdown (GtkMenuButton *menu_button);\nsubroutine gtk_menu_button_popdown(menu_button) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: menu_button\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_menu_button_set_create_popup_func (GtkMenuButton *menu_button, GtkMenuButtonCreatePopupFunc func, gpointer user_data, GDestroyNotify destroy_notify);\nsubroutine gtk_menu_button_set_create_popup_func(menu_button, func, user_data,&\n& destroy_notify) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: menu_button\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: destroy_notify\nend subroutine\n\n! GDK_AVAILABLE_IN_4_4\n!void gtk_menu_button_set_primary (GtkMenuButton *menu_button, gboolean primary);\nsubroutine gtk_menu_button_set_primary(menu_button, primary) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: menu_button\n  integer(c_int), value :: primary\nend subroutine\n\n! GDK_AVAILABLE_IN_4_4\n!gboolean gtk_menu_button_get_primary (GtkMenuButton *menu_button);\nfunction gtk_menu_button_get_primary(menu_button) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_menu_button_get_primary\n  type(c_ptr), value :: menu_button\nend function\n\n! GDK_AVAILABLE_IN_4_6\n!void gtk_menu_button_set_child (GtkMenuButton *menu_button, GtkWidget *child);\nsubroutine gtk_menu_button_set_child(menu_button, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: menu_button\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_4_6\n!GtkWidget * gtk_menu_button_get_child (GtkMenuButton *menu_button);\nfunction gtk_menu_button_get_child(menu_button) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_menu_button_get_child\n  type(c_ptr), value :: menu_button\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_menu_button_set_active (GtkMenuButton *menu_button, gboolean active);\nsubroutine gtk_menu_button_set_active(menu_button, active) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: menu_button\n  integer(c_int), value :: active\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!gboolean gtk_menu_button_get_active (GtkMenuButton *menu_button);\nfunction gtk_menu_button_get_active(menu_button) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_menu_button_get_active\n  type(c_ptr), value :: menu_button\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_menu_button_set_can_shrink (GtkMenuButton *menu_button, gboolean can_shrink);\nsubroutine gtk_menu_button_set_can_shrink(menu_button, can_shrink) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: menu_button\n  integer(c_int), value :: can_shrink\nend subroutine\n\n! GDK_AVAILABLE_IN_4_12\n!gboolean gtk_menu_button_get_can_shrink (GtkMenuButton *menu_button);\nfunction gtk_menu_button_get_can_shrink(menu_button) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_menu_button_get_can_shrink\n  type(c_ptr), value :: menu_button\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkmountoperation.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_mount_operation_get_type (void);\nfunction gtk_mount_operation_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_mount_operation_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GMountOperation *gtk_mount_operation_new (GtkWindow *parent);\nfunction gtk_mount_operation_new(parent) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_mount_operation_new\n  type(c_ptr), value :: parent\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_mount_operation_is_showing (GtkMountOperation *op);\nfunction gtk_mount_operation_is_showing(op) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_mount_operation_is_showing\n  type(c_ptr), value :: op\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_mount_operation_set_parent (GtkMountOperation *op, GtkWindow *parent);\nsubroutine gtk_mount_operation_set_parent(op, parent) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: op\n  type(c_ptr), value :: parent\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWindow * gtk_mount_operation_get_parent (GtkMountOperation *op);\nfunction gtk_mount_operation_get_parent(op) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_mount_operation_get_parent\n  type(c_ptr), value :: op\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_mount_operation_set_display(GtkMountOperation *op, GdkDisplay *display);\nsubroutine gtk_mount_operation_set_display(op, display) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: op\n  type(c_ptr), value :: display\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDisplay * gtk_mount_operation_get_display(GtkMountOperation *op);\nfunction gtk_mount_operation_get_display(op) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_mount_operation_get_display\n  type(c_ptr), value :: op\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkmultifilter.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!void gtk_multi_filter_append (GtkMultiFilter *self, GtkFilter *filter);\nsubroutine gtk_multi_filter_append(self, filter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: filter\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_multi_filter_remove (GtkMultiFilter *self, guint position);\nsubroutine gtk_multi_filter_remove(self, position) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: position\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkAnyFilter * gtk_any_filter_new (void);\nfunction gtk_any_filter_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_any_filter_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkEveryFilter * gtk_every_filter_new (void);\nfunction gtk_every_filter_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_every_filter_new\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkmultiselection.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkMultiSelection * gtk_multi_selection_new (GListModel *model);\nfunction gtk_multi_selection_new(model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_multi_selection_new\n  type(c_ptr), value :: model\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GListModel * gtk_multi_selection_get_model (GtkMultiSelection *self);\nfunction gtk_multi_selection_get_model(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_multi_selection_get_model\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_multi_selection_set_model (GtkMultiSelection *self, GListModel *model);\nsubroutine gtk_multi_selection_set_model(self, model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: model\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkmultisorter.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkMultiSorter * gtk_multi_sorter_new (void);\nfunction gtk_multi_sorter_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_multi_sorter_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_multi_sorter_append (GtkMultiSorter *self, GtkSorter *sorter);\nsubroutine gtk_multi_sorter_append(self, sorter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: sorter\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_multi_sorter_remove (GtkMultiSorter *self, guint position);\nsubroutine gtk_multi_sorter_remove(self, position) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: position\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtknative.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!void gtk_native_realize (GtkNative *self);\nsubroutine gtk_native_realize(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_native_unrealize (GtkNative *self);\nsubroutine gtk_native_unrealize(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkNative * gtk_native_get_for_surface (GdkSurface *surface);\nfunction gtk_native_get_for_surface(surface) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_native_get_for_surface\n  type(c_ptr), value :: surface\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkSurface *gtk_native_get_surface (GtkNative *self);\nfunction gtk_native_get_surface(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_native_get_surface\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderer *gtk_native_get_renderer (GtkNative *self);\nfunction gtk_native_get_renderer(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_native_get_renderer\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_native_get_surface_transform (GtkNative *self, double *x, double *y);\nsubroutine gtk_native_get_surface_transform(self, x, y) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: x\n  type(c_ptr), value :: y\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtknativedialog.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!void gtk_native_dialog_show (GtkNativeDialog *self);\nsubroutine gtk_native_dialog_show(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_native_dialog_hide (GtkNativeDialog *self);\nsubroutine gtk_native_dialog_hide(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_native_dialog_destroy (GtkNativeDialog *self);\nsubroutine gtk_native_dialog_destroy(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_native_dialog_get_visible (GtkNativeDialog *self);\nfunction gtk_native_dialog_get_visible(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_native_dialog_get_visible\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_native_dialog_set_modal (GtkNativeDialog *self, gboolean modal);\nsubroutine gtk_native_dialog_set_modal(self, modal) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: modal\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_native_dialog_get_modal (GtkNativeDialog *self);\nfunction gtk_native_dialog_get_modal(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_native_dialog_get_modal\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_native_dialog_set_title (GtkNativeDialog *self, const char *title);\nsubroutine gtk_native_dialog_set_title(self, title) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: title\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_native_dialog_get_title (GtkNativeDialog *self);\nfunction gtk_native_dialog_get_title(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_native_dialog_get_title\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_native_dialog_set_transient_for (GtkNativeDialog *self, GtkWindow *parent);\nsubroutine gtk_native_dialog_set_transient_for(self, parent) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: parent\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWindow * gtk_native_dialog_get_transient_for (GtkNativeDialog *self);\nfunction gtk_native_dialog_get_transient_for(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_native_dialog_get_transient_for\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtknoselection.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkNoSelection * gtk_no_selection_new (GListModel *model);\nfunction gtk_no_selection_new(model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_no_selection_new\n  type(c_ptr), value :: model\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GListModel * gtk_no_selection_get_model (GtkNoSelection *self);\nfunction gtk_no_selection_get_model(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_no_selection_get_model\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_no_selection_set_model (GtkNoSelection *self, GListModel *model);\nsubroutine gtk_no_selection_set_model(self, model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: model\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtknotebook.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_notebook_get_type (void) ;\nfunction gtk_notebook_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_notebook_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_notebook_new (void);\nfunction gtk_notebook_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_notebook_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_notebook_append_page (GtkNotebook *notebook, GtkWidget *child, GtkWidget *tab_label);\nfunction gtk_notebook_append_page(notebook, child, tab_label) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_notebook_append_page\n  type(c_ptr), value :: notebook\n  type(c_ptr), value :: child\n  type(c_ptr), value :: tab_label\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_notebook_append_page_menu (GtkNotebook *notebook, GtkWidget *child, GtkWidget *tab_label, GtkWidget *menu_label);\nfunction gtk_notebook_append_page_menu(notebook, child, tab_label, menu_label)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_notebook_append_page_menu\n  type(c_ptr), value :: notebook\n  type(c_ptr), value :: child\n  type(c_ptr), value :: tab_label\n  type(c_ptr), value :: menu_label\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_notebook_prepend_page (GtkNotebook *notebook, GtkWidget *child, GtkWidget *tab_label);\nfunction gtk_notebook_prepend_page(notebook, child, tab_label) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_notebook_prepend_page\n  type(c_ptr), value :: notebook\n  type(c_ptr), value :: child\n  type(c_ptr), value :: tab_label\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_notebook_prepend_page_menu (GtkNotebook *notebook, GtkWidget *child, GtkWidget *tab_label, GtkWidget *menu_label);\nfunction gtk_notebook_prepend_page_menu(notebook, child, tab_label, menu_label)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_notebook_prepend_page_menu\n  type(c_ptr), value :: notebook\n  type(c_ptr), value :: child\n  type(c_ptr), value :: tab_label\n  type(c_ptr), value :: menu_label\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_notebook_insert_page (GtkNotebook *notebook, GtkWidget *child, GtkWidget *tab_label, int position);\nfunction gtk_notebook_insert_page(notebook, child, tab_label, position) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_notebook_insert_page\n  type(c_ptr), value :: notebook\n  type(c_ptr), value :: child\n  type(c_ptr), value :: tab_label\n  integer(c_int), value :: position\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_notebook_insert_page_menu (GtkNotebook *notebook, GtkWidget *child, GtkWidget *tab_label, GtkWidget *menu_label, int position);\nfunction gtk_notebook_insert_page_menu(notebook, child, tab_label, menu_label,&\n& position) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_notebook_insert_page_menu\n  type(c_ptr), value :: notebook\n  type(c_ptr), value :: child\n  type(c_ptr), value :: tab_label\n  type(c_ptr), value :: menu_label\n  integer(c_int), value :: position\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_notebook_remove_page (GtkNotebook *notebook, int page_num);\nsubroutine gtk_notebook_remove_page(notebook, page_num) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: notebook\n  integer(c_int), value :: page_num\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_notebook_set_group_name (GtkNotebook *notebook, const char *group_name);\nsubroutine gtk_notebook_set_group_name(notebook, group_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: notebook\n  character(kind=c_char), dimension(*) :: group_name\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char *gtk_notebook_get_group_name (GtkNotebook *notebook);\nfunction gtk_notebook_get_group_name(notebook) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_notebook_get_group_name\n  type(c_ptr), value :: notebook\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_notebook_get_current_page (GtkNotebook *notebook);\nfunction gtk_notebook_get_current_page(notebook) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_notebook_get_current_page\n  type(c_ptr), value :: notebook\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_notebook_get_nth_page (GtkNotebook *notebook, int page_num);\nfunction gtk_notebook_get_nth_page(notebook, page_num) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_notebook_get_nth_page\n  type(c_ptr), value :: notebook\n  integer(c_int), value :: page_num\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_notebook_get_n_pages (GtkNotebook *notebook);\nfunction gtk_notebook_get_n_pages(notebook) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_notebook_get_n_pages\n  type(c_ptr), value :: notebook\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_notebook_page_num (GtkNotebook *notebook, GtkWidget *child);\nfunction gtk_notebook_page_num(notebook, child) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_notebook_page_num\n  type(c_ptr), value :: notebook\n  type(c_ptr), value :: child\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_notebook_set_current_page (GtkNotebook *notebook, int page_num);\nsubroutine gtk_notebook_set_current_page(notebook, page_num) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: notebook\n  integer(c_int), value :: page_num\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_notebook_next_page (GtkNotebook *notebook);\nsubroutine gtk_notebook_next_page(notebook) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: notebook\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_notebook_prev_page (GtkNotebook *notebook);\nsubroutine gtk_notebook_prev_page(notebook) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: notebook\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_notebook_set_show_border (GtkNotebook *notebook, gboolean show_border);\nsubroutine gtk_notebook_set_show_border(notebook, show_border) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: notebook\n  integer(c_int), value :: show_border\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_notebook_get_show_border (GtkNotebook *notebook);\nfunction gtk_notebook_get_show_border(notebook) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_notebook_get_show_border\n  type(c_ptr), value :: notebook\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_notebook_set_show_tabs (GtkNotebook *notebook, gboolean show_tabs);\nsubroutine gtk_notebook_set_show_tabs(notebook, show_tabs) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: notebook\n  integer(c_int), value :: show_tabs\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_notebook_get_show_tabs (GtkNotebook *notebook);\nfunction gtk_notebook_get_show_tabs(notebook) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_notebook_get_show_tabs\n  type(c_ptr), value :: notebook\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_notebook_set_tab_pos (GtkNotebook *notebook, GtkPositionType pos);\nsubroutine gtk_notebook_set_tab_pos(notebook, pos) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: notebook\n  integer(c_int), value :: pos\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPositionType gtk_notebook_get_tab_pos (GtkNotebook *notebook);\nfunction gtk_notebook_get_tab_pos(notebook) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_notebook_get_tab_pos\n  type(c_ptr), value :: notebook\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_notebook_set_scrollable (GtkNotebook *notebook, gboolean scrollable);\nsubroutine gtk_notebook_set_scrollable(notebook, scrollable) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: notebook\n  integer(c_int), value :: scrollable\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_notebook_get_scrollable (GtkNotebook *notebook);\nfunction gtk_notebook_get_scrollable(notebook) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_notebook_get_scrollable\n  type(c_ptr), value :: notebook\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_notebook_popup_enable (GtkNotebook *notebook);\nsubroutine gtk_notebook_popup_enable(notebook) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: notebook\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_notebook_popup_disable (GtkNotebook *notebook);\nsubroutine gtk_notebook_popup_disable(notebook) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: notebook\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_notebook_get_tab_label (GtkNotebook *notebook, GtkWidget *child);\nfunction gtk_notebook_get_tab_label(notebook, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_notebook_get_tab_label\n  type(c_ptr), value :: notebook\n  type(c_ptr), value :: child\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_notebook_set_tab_label (GtkNotebook *notebook, GtkWidget *child, GtkWidget *tab_label);\nsubroutine gtk_notebook_set_tab_label(notebook, child, tab_label) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: notebook\n  type(c_ptr), value :: child\n  type(c_ptr), value :: tab_label\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_notebook_set_tab_label_text (GtkNotebook *notebook, GtkWidget *child, const char *tab_text);\nsubroutine gtk_notebook_set_tab_label_text(notebook, child, tab_text) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: notebook\n  type(c_ptr), value :: child\n  character(kind=c_char), dimension(*) :: tab_text\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_notebook_get_tab_label_text (GtkNotebook *notebook, GtkWidget *child);\nfunction gtk_notebook_get_tab_label_text(notebook, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_notebook_get_tab_label_text\n  type(c_ptr), value :: notebook\n  type(c_ptr), value :: child\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_notebook_get_menu_label (GtkNotebook *notebook, GtkWidget *child);\nfunction gtk_notebook_get_menu_label(notebook, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_notebook_get_menu_label\n  type(c_ptr), value :: notebook\n  type(c_ptr), value :: child\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_notebook_set_menu_label (GtkNotebook *notebook, GtkWidget *child, GtkWidget *menu_label);\nsubroutine gtk_notebook_set_menu_label(notebook, child, menu_label) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: notebook\n  type(c_ptr), value :: child\n  type(c_ptr), value :: menu_label\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_notebook_set_menu_label_text (GtkNotebook *notebook, GtkWidget *child, const char *menu_text);\nsubroutine gtk_notebook_set_menu_label_text(notebook, child, menu_text) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: notebook\n  type(c_ptr), value :: child\n  character(kind=c_char), dimension(*) :: menu_text\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_notebook_get_menu_label_text (GtkNotebook *notebook, GtkWidget *child);\nfunction gtk_notebook_get_menu_label_text(notebook, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_notebook_get_menu_label_text\n  type(c_ptr), value :: notebook\n  type(c_ptr), value :: child\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_notebook_reorder_child (GtkNotebook *notebook, GtkWidget *child, int position);\nsubroutine gtk_notebook_reorder_child(notebook, child, position) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: notebook\n  type(c_ptr), value :: child\n  integer(c_int), value :: position\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_notebook_get_tab_reorderable (GtkNotebook *notebook, GtkWidget *child);\nfunction gtk_notebook_get_tab_reorderable(notebook, child) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_notebook_get_tab_reorderable\n  type(c_ptr), value :: notebook\n  type(c_ptr), value :: child\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_notebook_set_tab_reorderable (GtkNotebook *notebook, GtkWidget *child, gboolean reorderable);\nsubroutine gtk_notebook_set_tab_reorderable(notebook, child, reorderable)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: notebook\n  type(c_ptr), value :: child\n  integer(c_int), value :: reorderable\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_notebook_get_tab_detachable (GtkNotebook *notebook, GtkWidget *child);\nfunction gtk_notebook_get_tab_detachable(notebook, child) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_notebook_get_tab_detachable\n  type(c_ptr), value :: notebook\n  type(c_ptr), value :: child\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_notebook_set_tab_detachable (GtkNotebook *notebook, GtkWidget *child, gboolean detachable);\nsubroutine gtk_notebook_set_tab_detachable(notebook, child, detachable) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: notebook\n  type(c_ptr), value :: child\n  integer(c_int), value :: detachable\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_notebook_detach_tab (GtkNotebook *notebook, GtkWidget *child);\nsubroutine gtk_notebook_detach_tab(notebook, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: notebook\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_notebook_get_action_widget (GtkNotebook *notebook, GtkPackType pack_type);\nfunction gtk_notebook_get_action_widget(notebook, pack_type) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_notebook_get_action_widget\n  type(c_ptr), value :: notebook\n  integer(c_int), value :: pack_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_notebook_set_action_widget (GtkNotebook *notebook, GtkWidget *widget, GtkPackType pack_type);\nsubroutine gtk_notebook_set_action_widget(notebook, widget, pack_type) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: notebook\n  type(c_ptr), value :: widget\n  integer(c_int), value :: pack_type\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_notebook_page_get_type (void) ;\nfunction gtk_notebook_page_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_notebook_page_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkNotebookPage *gtk_notebook_get_page (GtkNotebook *notebook, GtkWidget *child);\nfunction gtk_notebook_get_page(notebook, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_notebook_get_page\n  type(c_ptr), value :: notebook\n  type(c_ptr), value :: child\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget *gtk_notebook_page_get_child (GtkNotebookPage *page);\nfunction gtk_notebook_page_get_child(page) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_notebook_page_get_child\n  type(c_ptr), value :: page\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GListModel *gtk_notebook_get_pages (GtkNotebook *notebook);\nfunction gtk_notebook_get_pages(notebook) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_notebook_get_pages\n  type(c_ptr), value :: notebook\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtknumericsorter.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkNumericSorter * gtk_numeric_sorter_new (GtkExpression *expression);\nfunction gtk_numeric_sorter_new(expression) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_numeric_sorter_new\n  type(c_ptr), value :: expression\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkExpression * gtk_numeric_sorter_get_expression (GtkNumericSorter *self);\nfunction gtk_numeric_sorter_get_expression(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_numeric_sorter_get_expression\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_numeric_sorter_set_expression (GtkNumericSorter *self, GtkExpression *expression);\nsubroutine gtk_numeric_sorter_set_expression(self, expression) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: expression\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkSortType gtk_numeric_sorter_get_sort_order (GtkNumericSorter *self);\nfunction gtk_numeric_sorter_get_sort_order(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_numeric_sorter_get_sort_order\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_numeric_sorter_set_sort_order (GtkNumericSorter *self, GtkSortType sort_order);\nsubroutine gtk_numeric_sorter_set_sort_order(self, sort_order) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: sort_order\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkorientable.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_orientable_get_type (void) ;\nfunction gtk_orientable_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_orientable_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_orientable_set_orientation (GtkOrientable *orientable, GtkOrientation orientation);\nsubroutine gtk_orientable_set_orientation(orientable, orientation) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: orientable\n  integer(c_int), value :: orientation\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkOrientation gtk_orientable_get_orientation (GtkOrientable *orientable);\nfunction gtk_orientable_get_orientation(orientable) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_orientable_get_orientation\n  type(c_ptr), value :: orientable\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkoverlay.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_overlay_get_type (void) ;\nfunction gtk_overlay_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_overlay_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget *gtk_overlay_new (void);\nfunction gtk_overlay_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_overlay_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_overlay_add_overlay (GtkOverlay *overlay, GtkWidget *widget);\nsubroutine gtk_overlay_add_overlay(overlay, widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: overlay\n  type(c_ptr), value :: widget\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_overlay_remove_overlay (GtkOverlay *overlay, GtkWidget *widget);\nsubroutine gtk_overlay_remove_overlay(overlay, widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: overlay\n  type(c_ptr), value :: widget\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_overlay_set_child (GtkOverlay *overlay, GtkWidget *child);\nsubroutine gtk_overlay_set_child(overlay, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: overlay\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_overlay_get_child (GtkOverlay *overlay);\nfunction gtk_overlay_get_child(overlay) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_overlay_get_child\n  type(c_ptr), value :: overlay\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_overlay_get_measure_overlay (GtkOverlay *overlay, GtkWidget *widget);\nfunction gtk_overlay_get_measure_overlay(overlay, widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_overlay_get_measure_overlay\n  type(c_ptr), value :: overlay\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_overlay_set_measure_overlay (GtkOverlay *overlay, GtkWidget *widget, gboolean measure);\nsubroutine gtk_overlay_set_measure_overlay(overlay, widget, measure) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: overlay\n  type(c_ptr), value :: widget\n  integer(c_int), value :: measure\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_overlay_get_clip_overlay (GtkOverlay *overlay, GtkWidget *widget);\nfunction gtk_overlay_get_clip_overlay(overlay, widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_overlay_get_clip_overlay\n  type(c_ptr), value :: overlay\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_overlay_set_clip_overlay (GtkOverlay *overlay, GtkWidget *widget, gboolean clip_overlay);\nsubroutine gtk_overlay_set_clip_overlay(overlay, widget, clip_overlay) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: overlay\n  type(c_ptr), value :: widget\n  integer(c_int), value :: clip_overlay\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkoverlaylayout.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkLayoutManager * gtk_overlay_layout_new (void);\nfunction gtk_overlay_layout_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_overlay_layout_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_overlay_layout_child_set_measure (GtkOverlayLayoutChild *child, gboolean measure);\nsubroutine gtk_overlay_layout_child_set_measure(child, measure) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: child\n  integer(c_int), value :: measure\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_overlay_layout_child_get_measure (GtkOverlayLayoutChild *child);\nfunction gtk_overlay_layout_child_get_measure(child) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_overlay_layout_child_get_measure\n  type(c_ptr), value :: child\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_overlay_layout_child_set_clip_overlay (GtkOverlayLayoutChild *child, gboolean clip_overlay);\nsubroutine gtk_overlay_layout_child_set_clip_overlay(child, clip_overlay)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: child\n  integer(c_int), value :: clip_overlay\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_overlay_layout_child_get_clip_overlay (GtkOverlayLayoutChild *child);\nfunction gtk_overlay_layout_child_get_clip_overlay(child) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_overlay_layout_child_get_clip_overlay\n  type(c_ptr), value :: child\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkpadcontroller.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_pad_controller_get_type (void) ;\nfunction gtk_pad_controller_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_pad_controller_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPadController *gtk_pad_controller_new (GActionGroup *group, GdkDevice *pad);\nfunction gtk_pad_controller_new(group, pad) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_pad_controller_new\n  type(c_ptr), value :: group\n  type(c_ptr), value :: pad\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_pad_controller_set_action_entries (GtkPadController *controller, const GtkPadActionEntry *entries, int n_entries);\nsubroutine gtk_pad_controller_set_action_entries(controller, entries,&\n& n_entries) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: controller\n  type(c_ptr), value :: entries\n  integer(c_int), value :: n_entries\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_pad_controller_set_action (GtkPadController *controller, GtkPadActionType type, int index, int mode, const char *label, const char *action_name);\nsubroutine gtk_pad_controller_set_action(controller, type, index, mode, label,&\n& action_name) bind(c)\n  import :: c_ptr, c_int, c_char\n  implicit none\n  type(c_ptr), value :: controller\n  integer(c_int), value :: type\n  integer(c_int), value :: index\n  integer(c_int), value :: mode\n  character(kind=c_char), dimension(*) :: label\n  character(kind=c_char), dimension(*) :: action_name\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkpaned.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_paned_get_type (void) ;\nfunction gtk_paned_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_paned_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_paned_new (GtkOrientation orientation);\nfunction gtk_paned_new(orientation) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_paned_new\n  integer(c_int), value :: orientation\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_paned_set_start_child (GtkPaned *paned, GtkWidget *child);\nsubroutine gtk_paned_set_start_child(paned, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: paned\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_paned_get_start_child (GtkPaned *paned);\nfunction gtk_paned_get_start_child(paned) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_paned_get_start_child\n  type(c_ptr), value :: paned\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_paned_set_resize_start_child (GtkPaned *paned, gboolean resize);\nsubroutine gtk_paned_set_resize_start_child(paned, resize) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: paned\n  integer(c_int), value :: resize\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_paned_get_resize_start_child (GtkPaned *paned);\nfunction gtk_paned_get_resize_start_child(paned) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_paned_get_resize_start_child\n  type(c_ptr), value :: paned\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_paned_set_end_child (GtkPaned *paned, GtkWidget *child);\nsubroutine gtk_paned_set_end_child(paned, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: paned\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_paned_get_end_child (GtkPaned *paned);\nfunction gtk_paned_get_end_child(paned) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_paned_get_end_child\n  type(c_ptr), value :: paned\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_paned_set_shrink_start_child (GtkPaned *paned, gboolean resize);\nsubroutine gtk_paned_set_shrink_start_child(paned, resize) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: paned\n  integer(c_int), value :: resize\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_paned_get_shrink_start_child (GtkPaned *paned);\nfunction gtk_paned_get_shrink_start_child(paned) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_paned_get_shrink_start_child\n  type(c_ptr), value :: paned\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_paned_set_resize_end_child (GtkPaned *paned, gboolean resize);\nsubroutine gtk_paned_set_resize_end_child(paned, resize) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: paned\n  integer(c_int), value :: resize\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_paned_get_resize_end_child (GtkPaned *paned);\nfunction gtk_paned_get_resize_end_child(paned) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_paned_get_resize_end_child\n  type(c_ptr), value :: paned\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_paned_set_shrink_end_child (GtkPaned *paned, gboolean resize);\nsubroutine gtk_paned_set_shrink_end_child(paned, resize) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: paned\n  integer(c_int), value :: resize\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_paned_get_shrink_end_child (GtkPaned *paned);\nfunction gtk_paned_get_shrink_end_child(paned) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_paned_get_shrink_end_child\n  type(c_ptr), value :: paned\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_paned_get_position (GtkPaned *paned);\nfunction gtk_paned_get_position(paned) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_paned_get_position\n  type(c_ptr), value :: paned\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_paned_set_position (GtkPaned *paned, int position);\nsubroutine gtk_paned_set_position(paned, position) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: paned\n  integer(c_int), value :: position\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_paned_set_wide_handle (GtkPaned *paned, gboolean wide);\nsubroutine gtk_paned_set_wide_handle(paned, wide) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: paned\n  integer(c_int), value :: wide\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_paned_get_wide_handle (GtkPaned *paned);\nfunction gtk_paned_get_wide_handle(paned) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_paned_get_wide_handle\n  type(c_ptr), value :: paned\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkpasswordentry.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_password_entry_get_type (void) ;\nfunction gtk_password_entry_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_password_entry_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_password_entry_new (void);\nfunction gtk_password_entry_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_password_entry_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_password_entry_set_show_peek_icon (GtkPasswordEntry *entry, gboolean show_peek_icon);\nsubroutine gtk_password_entry_set_show_peek_icon(entry, show_peek_icon) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: entry\n  integer(c_int), value :: show_peek_icon\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_password_entry_get_show_peek_icon (GtkPasswordEntry *entry);\nfunction gtk_password_entry_get_show_peek_icon(entry) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_password_entry_get_show_peek_icon\n  type(c_ptr), value :: entry\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_password_entry_set_extra_menu (GtkPasswordEntry *entry, GMenuModel *model);\nsubroutine gtk_password_entry_set_extra_menu(entry, model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: entry\n  type(c_ptr), value :: model\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GMenuModel * gtk_password_entry_get_extra_menu (GtkPasswordEntry *entry);\nfunction gtk_password_entry_get_extra_menu(entry) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_password_entry_get_extra_menu\n  type(c_ptr), value :: entry\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkpasswordentrybuffer.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_4_4\n!GtkEntryBuffer * gtk_password_entry_buffer_new (void);\nfunction gtk_password_entry_buffer_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_password_entry_buffer_new\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkpicture.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_picture_new (void);\nfunction gtk_picture_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_picture_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_picture_new_for_paintable (GdkPaintable *paintable);\nfunction gtk_picture_new_for_paintable(paintable) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_picture_new_for_paintable\n  type(c_ptr), value :: paintable\nend function\n\n! GDK_DEPRECATED_IN_4_12_FOR(gtk_pixbuf_new_for_paintable)\n!GtkWidget* gtk_picture_new_for_pixbuf (GdkPixbuf *pixbuf);\nfunction gtk_picture_new_for_pixbuf(pixbuf) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_picture_new_for_pixbuf\n  type(c_ptr), value :: pixbuf\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_picture_new_for_file (GFile *file);\nfunction gtk_picture_new_for_file(file) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_picture_new_for_file\n  type(c_ptr), value :: file\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_picture_new_for_filename (const char *filename);\nfunction gtk_picture_new_for_filename(filename) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_picture_new_for_filename\n  character(kind=c_char), dimension(*) :: filename\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_picture_new_for_resource (const char *resource_path);\nfunction gtk_picture_new_for_resource(resource_path) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_picture_new_for_resource\n  character(kind=c_char), dimension(*) :: resource_path\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_picture_set_paintable (GtkPicture *self, GdkPaintable *paintable);\nsubroutine gtk_picture_set_paintable(self, paintable) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: paintable\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GdkPaintable * gtk_picture_get_paintable (GtkPicture *self);\nfunction gtk_picture_get_paintable(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_picture_get_paintable\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_picture_set_file (GtkPicture *self, GFile *file);\nsubroutine gtk_picture_set_file(self, file) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: file\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GFile * gtk_picture_get_file (GtkPicture *self);\nfunction gtk_picture_get_file(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_picture_get_file\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_picture_set_filename (GtkPicture *self, const char *filename);\nsubroutine gtk_picture_set_filename(self, filename) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: filename\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_picture_set_resource (GtkPicture *self, const char *resource_path);\nsubroutine gtk_picture_set_resource(self, resource_path) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: resource_path\nend subroutine\n\n! GDK_DEPRECATED_IN_4_12_FOR(gtk_picture_set_paintable)\n!void gtk_picture_set_pixbuf (GtkPicture *self, GdkPixbuf *pixbuf);\nsubroutine gtk_picture_set_pixbuf(self, pixbuf) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: pixbuf\nend subroutine\n\n! GDK_DEPRECATED_IN_4_8_FOR(gtk_picture_set_content_fit)\n!void gtk_picture_set_keep_aspect_ratio (GtkPicture *self, gboolean keep_aspect_ratio);\nsubroutine gtk_picture_set_keep_aspect_ratio(self, keep_aspect_ratio) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: keep_aspect_ratio\nend subroutine\n\n! GDK_DEPRECATED_IN_4_8_FOR(gtk_picture_get_content_fit)\n!gboolean gtk_picture_get_keep_aspect_ratio (GtkPicture *self);\nfunction gtk_picture_get_keep_aspect_ratio(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_picture_get_keep_aspect_ratio\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_picture_set_can_shrink (GtkPicture *self, gboolean can_shrink);\nsubroutine gtk_picture_set_can_shrink(self, can_shrink) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: can_shrink\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_picture_get_can_shrink (GtkPicture *self);\nfunction gtk_picture_get_can_shrink(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_picture_get_can_shrink\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_8\n!void gtk_picture_set_content_fit (GtkPicture *self, GtkContentFit content_fit);\nsubroutine gtk_picture_set_content_fit(self, content_fit) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: content_fit\nend subroutine\n\n! GDK_AVAILABLE_IN_4_8\n!GtkContentFit gtk_picture_get_content_fit (GtkPicture *self);\nfunction gtk_picture_get_content_fit(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_picture_get_content_fit\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_picture_set_alternative_text (GtkPicture *self, const char *alternative_text);\nsubroutine gtk_picture_set_alternative_text(self, alternative_text) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: alternative_text\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_picture_get_alternative_text (GtkPicture *self);\nfunction gtk_picture_get_alternative_text(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_picture_get_alternative_text\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkpopover.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_popover_get_type (void) ;\nfunction gtk_popover_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_popover_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_popover_new (void);\nfunction gtk_popover_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_popover_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_popover_set_child (GtkPopover *popover, GtkWidget *child);\nsubroutine gtk_popover_set_child(popover, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: popover\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_popover_get_child (GtkPopover *popover);\nfunction gtk_popover_get_child(popover) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_popover_get_child\n  type(c_ptr), value :: popover\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_popover_set_pointing_to (GtkPopover *popover, const GdkRectangle *rect);\nsubroutine gtk_popover_set_pointing_to(popover, rect) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: popover\n  type(c_ptr), value :: rect\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_popover_get_pointing_to (GtkPopover *popover, GdkRectangle *rect);\nfunction gtk_popover_get_pointing_to(popover, rect) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_popover_get_pointing_to\n  type(c_ptr), value :: popover\n  type(c_ptr), value :: rect\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_popover_set_position (GtkPopover *popover, GtkPositionType position);\nsubroutine gtk_popover_set_position(popover, position) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: popover\n  integer(c_int), value :: position\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPositionType gtk_popover_get_position (GtkPopover *popover);\nfunction gtk_popover_get_position(popover) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_popover_get_position\n  type(c_ptr), value :: popover\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_popover_set_autohide (GtkPopover *popover, gboolean autohide);\nsubroutine gtk_popover_set_autohide(popover, autohide) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: popover\n  integer(c_int), value :: autohide\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_popover_get_autohide (GtkPopover *popover);\nfunction gtk_popover_get_autohide(popover) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_popover_get_autohide\n  type(c_ptr), value :: popover\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_popover_set_has_arrow (GtkPopover *popover, gboolean has_arrow);\nsubroutine gtk_popover_set_has_arrow(popover, has_arrow) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: popover\n  integer(c_int), value :: has_arrow\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_popover_get_has_arrow (GtkPopover *popover);\nfunction gtk_popover_get_has_arrow(popover) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_popover_get_has_arrow\n  type(c_ptr), value :: popover\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_popover_set_mnemonics_visible (GtkPopover *popover, gboolean mnemonics_visible);\nsubroutine gtk_popover_set_mnemonics_visible(popover, mnemonics_visible)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: popover\n  integer(c_int), value :: mnemonics_visible\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_popover_get_mnemonics_visible (GtkPopover *popover);\nfunction gtk_popover_get_mnemonics_visible(popover) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_popover_get_mnemonics_visible\n  type(c_ptr), value :: popover\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_popover_popup (GtkPopover *popover);\nsubroutine gtk_popover_popup(popover) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: popover\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_popover_popdown (GtkPopover *popover);\nsubroutine gtk_popover_popdown(popover) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: popover\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_popover_set_offset (GtkPopover *popover, int x_offset, int y_offset);\nsubroutine gtk_popover_set_offset(popover, x_offset, y_offset) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: popover\n  integer(c_int), value :: x_offset\n  integer(c_int), value :: y_offset\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_popover_get_offset (GtkPopover *popover, int *x_offset, int *y_offset);\nsubroutine gtk_popover_get_offset(popover, x_offset, y_offset) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: popover\n  type(c_ptr), value :: x_offset\n  type(c_ptr), value :: y_offset\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_popover_set_cascade_popdown (GtkPopover *popover, gboolean cascade_popdown);\nsubroutine gtk_popover_set_cascade_popdown(popover, cascade_popdown) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: popover\n  integer(c_int), value :: cascade_popdown\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_popover_get_cascade_popdown (GtkPopover *popover);\nfunction gtk_popover_get_cascade_popdown(popover) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_popover_get_cascade_popdown\n  type(c_ptr), value :: popover\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_popover_set_default_widget (GtkPopover *popover, GtkWidget *widget);\nsubroutine gtk_popover_set_default_widget(popover, widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: popover\n  type(c_ptr), value :: widget\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_popover_present (GtkPopover *popover);\nsubroutine gtk_popover_present(popover) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: popover\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkpopovermenu.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_popover_menu_get_type (void) ;\nfunction gtk_popover_menu_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_popover_menu_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_popover_menu_new_from_model (GMenuModel *model);\nfunction gtk_popover_menu_new_from_model(model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_popover_menu_new_from_model\n  type(c_ptr), value :: model\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_popover_menu_new_from_model_full (GMenuModel *model, GtkPopoverMenuFlags flags);\nfunction gtk_popover_menu_new_from_model_full(model, flags) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_popover_menu_new_from_model_full\n  type(c_ptr), value :: model\n  integer(c_int), value :: flags\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_popover_menu_set_menu_model (GtkPopoverMenu *popover, GMenuModel *model);\nsubroutine gtk_popover_menu_set_menu_model(popover, model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: popover\n  type(c_ptr), value :: model\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GMenuModel *gtk_popover_menu_get_menu_model (GtkPopoverMenu *popover);\nfunction gtk_popover_menu_get_menu_model(popover) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_popover_menu_get_menu_model\n  type(c_ptr), value :: popover\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gtk_popover_menu_set_flags (GtkPopoverMenu *popover, GtkPopoverMenuFlags flags);\nsubroutine gtk_popover_menu_set_flags(popover, flags) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: popover\n  integer(c_int), value :: flags\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!GtkPopoverMenuFlags gtk_popover_menu_get_flags (GtkPopoverMenu *popover);\nfunction gtk_popover_menu_get_flags(popover) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_popover_menu_get_flags\n  type(c_ptr), value :: popover\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_popover_menu_add_child (GtkPopoverMenu *popover, GtkWidget *child, const char *id);\nfunction gtk_popover_menu_add_child(popover, child, id) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_popover_menu_add_child\n  type(c_ptr), value :: popover\n  type(c_ptr), value :: child\n  character(kind=c_char), dimension(*) :: id\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_popover_menu_remove_child (GtkPopoverMenu *popover, GtkWidget *child);\nfunction gtk_popover_menu_remove_child(popover, child) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_popover_menu_remove_child\n  type(c_ptr), value :: popover\n  type(c_ptr), value :: child\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkpopovermenubar.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_popover_menu_bar_get_type (void) ;\nfunction gtk_popover_menu_bar_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_popover_menu_bar_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_popover_menu_bar_new_from_model (GMenuModel *model);\nfunction gtk_popover_menu_bar_new_from_model(model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_popover_menu_bar_new_from_model\n  type(c_ptr), value :: model\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_popover_menu_bar_set_menu_model (GtkPopoverMenuBar *bar, GMenuModel *model);\nsubroutine gtk_popover_menu_bar_set_menu_model(bar, model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: bar\n  type(c_ptr), value :: model\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GMenuModel * gtk_popover_menu_bar_get_menu_model (GtkPopoverMenuBar *bar);\nfunction gtk_popover_menu_bar_get_menu_model(bar) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_popover_menu_bar_get_menu_model\n  type(c_ptr), value :: bar\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_popover_menu_bar_add_child (GtkPopoverMenuBar *bar, GtkWidget *child, const char *id);\nfunction gtk_popover_menu_bar_add_child(bar, child, id) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_popover_menu_bar_add_child\n  type(c_ptr), value :: bar\n  type(c_ptr), value :: child\n  character(kind=c_char), dimension(*) :: id\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_popover_menu_bar_remove_child (GtkPopoverMenuBar *bar, GtkWidget *child);\nfunction gtk_popover_menu_bar_remove_child(bar, child) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_popover_menu_bar_remove_child\n  type(c_ptr), value :: bar\n  type(c_ptr), value :: child\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkprintdialog.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_4_14\n!GType gtk_print_setup_get_type (void) ;\nfunction gtk_print_setup_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_print_setup_get_type\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!GtkPrintSetup *gtk_print_setup_ref (GtkPrintSetup *setup);\nfunction gtk_print_setup_ref(setup) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_setup_ref\n  type(c_ptr), value :: setup\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gtk_print_setup_unref (GtkPrintSetup *setup);\nsubroutine gtk_print_setup_unref(setup) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: setup\nend subroutine\n\n! \n!GtkPrintSettings * gtk_print_setup_get_print_settings (GtkPrintSetup *setup);\nfunction gtk_print_setup_get_print_settings(setup) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_setup_get_print_settings\n  type(c_ptr), value :: setup\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!GtkPageSetup * gtk_print_setup_get_page_setup (GtkPrintSetup *setup);\nfunction gtk_print_setup_get_page_setup(setup) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_setup_get_page_setup\n  type(c_ptr), value :: setup\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!GtkPrintDialog *gtk_print_dialog_new (void);\nfunction gtk_print_dialog_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_dialog_new\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!const char * gtk_print_dialog_get_title (GtkPrintDialog *self);\nfunction gtk_print_dialog_get_title(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_dialog_get_title\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gtk_print_dialog_set_title (GtkPrintDialog *self, const char *title);\nsubroutine gtk_print_dialog_set_title(self, title) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: title\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!const char * gtk_print_dialog_get_accept_label (GtkPrintDialog *self);\nfunction gtk_print_dialog_get_accept_label(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_dialog_get_accept_label\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gtk_print_dialog_set_accept_label (GtkPrintDialog *self, const char *accept_label);\nsubroutine gtk_print_dialog_set_accept_label(self, accept_label) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: accept_label\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!gboolean gtk_print_dialog_get_modal (GtkPrintDialog *self);\nfunction gtk_print_dialog_get_modal(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_dialog_get_modal\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gtk_print_dialog_set_modal (GtkPrintDialog *self, gboolean modal);\nsubroutine gtk_print_dialog_set_modal(self, modal) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: modal\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!GtkPageSetup * gtk_print_dialog_get_page_setup (GtkPrintDialog *self);\nfunction gtk_print_dialog_get_page_setup(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_dialog_get_page_setup\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gtk_print_dialog_set_page_setup (GtkPrintDialog *self, GtkPageSetup *page_setup);\nsubroutine gtk_print_dialog_set_page_setup(self, page_setup) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: page_setup\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!GtkPrintSettings * gtk_print_dialog_get_print_settings (GtkPrintDialog *self);\nfunction gtk_print_dialog_get_print_settings(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_dialog_get_print_settings\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gtk_print_dialog_set_print_settings (GtkPrintDialog *self, GtkPrintSettings *print_settings);\nsubroutine gtk_print_dialog_set_print_settings(self, print_settings) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: print_settings\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!void gtk_print_dialog_setup (GtkPrintDialog *self, GtkWindow *parent, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine gtk_print_dialog_setup(self, parent, cancellable, callback,&\n& user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: parent\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!GtkPrintSetup *gtk_print_dialog_setup_finish (GtkPrintDialog *self, GAsyncResult *result, GError **error);\nfunction gtk_print_dialog_setup_finish(self, result, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_dialog_setup_finish\n  type(c_ptr), value :: self\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gtk_print_dialog_print (GtkPrintDialog *self, GtkWindow *parent, GtkPrintSetup *setup, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine gtk_print_dialog_print(self, parent, setup, cancellable, callback,&\n& user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: parent\n  type(c_ptr), value :: setup\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!GOutputStream * gtk_print_dialog_print_finish (GtkPrintDialog *self, GAsyncResult *result, GError **error);\nfunction gtk_print_dialog_print_finish(self, result, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_dialog_print_finish\n  type(c_ptr), value :: self\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gtk_print_dialog_print_file (GtkPrintDialog *self, GtkWindow *parent, GtkPrintSetup *setup, GFile *file, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine gtk_print_dialog_print_file(self, parent, setup, file, cancellable,&\n& callback, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: parent\n  type(c_ptr), value :: setup\n  type(c_ptr), value :: file\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!gboolean gtk_print_dialog_print_file_finish (GtkPrintDialog *self, GAsyncResult *result, GError **error);\nfunction gtk_print_dialog_print_file_finish(self, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_dialog_print_file_finish\n  type(c_ptr), value :: self\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkprogressbar.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_progress_bar_get_type (void) ;\nfunction gtk_progress_bar_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_progress_bar_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_progress_bar_new (void);\nfunction gtk_progress_bar_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_progress_bar_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_progress_bar_pulse (GtkProgressBar *pbar);\nsubroutine gtk_progress_bar_pulse(pbar) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: pbar\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_progress_bar_set_text (GtkProgressBar *pbar, const char *text);\nsubroutine gtk_progress_bar_set_text(pbar, text) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: pbar\n  character(kind=c_char), dimension(*) :: text\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_progress_bar_set_fraction (GtkProgressBar *pbar, double fraction);\nsubroutine gtk_progress_bar_set_fraction(pbar, fraction) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: pbar\n  real(c_double), value :: fraction\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_progress_bar_set_pulse_step (GtkProgressBar *pbar, double fraction);\nsubroutine gtk_progress_bar_set_pulse_step(pbar, fraction) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: pbar\n  real(c_double), value :: fraction\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_progress_bar_set_inverted (GtkProgressBar *pbar, gboolean inverted);\nsubroutine gtk_progress_bar_set_inverted(pbar, inverted) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: pbar\n  integer(c_int), value :: inverted\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_progress_bar_get_text (GtkProgressBar *pbar);\nfunction gtk_progress_bar_get_text(pbar) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_progress_bar_get_text\n  type(c_ptr), value :: pbar\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_progress_bar_get_fraction (GtkProgressBar *pbar);\nfunction gtk_progress_bar_get_fraction(pbar) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: gtk_progress_bar_get_fraction\n  type(c_ptr), value :: pbar\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_progress_bar_get_pulse_step (GtkProgressBar *pbar);\nfunction gtk_progress_bar_get_pulse_step(pbar) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: gtk_progress_bar_get_pulse_step\n  type(c_ptr), value :: pbar\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_progress_bar_get_inverted (GtkProgressBar *pbar);\nfunction gtk_progress_bar_get_inverted(pbar) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_progress_bar_get_inverted\n  type(c_ptr), value :: pbar\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_progress_bar_set_ellipsize (GtkProgressBar *pbar, PangoEllipsizeMode mode);\nsubroutine gtk_progress_bar_set_ellipsize(pbar, mode) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: pbar\n  integer(c_int), value :: mode\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!PangoEllipsizeMode gtk_progress_bar_get_ellipsize (GtkProgressBar *pbar);\nfunction gtk_progress_bar_get_ellipsize(pbar) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_progress_bar_get_ellipsize\n  type(c_ptr), value :: pbar\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_progress_bar_set_show_text (GtkProgressBar *pbar, gboolean show_text);\nsubroutine gtk_progress_bar_set_show_text(pbar, show_text) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: pbar\n  integer(c_int), value :: show_text\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_progress_bar_get_show_text (GtkProgressBar *pbar);\nfunction gtk_progress_bar_get_show_text(pbar) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_progress_bar_get_show_text\n  type(c_ptr), value :: pbar\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkrange.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_range_get_type (void) ;\nfunction gtk_range_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_range_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_range_set_adjustment (GtkRange *range, GtkAdjustment *adjustment);\nsubroutine gtk_range_set_adjustment(range, adjustment) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: range\n  type(c_ptr), value :: adjustment\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkAdjustment* gtk_range_get_adjustment (GtkRange *range);\nfunction gtk_range_get_adjustment(range) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_range_get_adjustment\n  type(c_ptr), value :: range\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_range_set_inverted (GtkRange *range, gboolean setting);\nsubroutine gtk_range_set_inverted(range, setting) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: range\n  integer(c_int), value :: setting\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_range_get_inverted (GtkRange *range);\nfunction gtk_range_get_inverted(range) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_range_get_inverted\n  type(c_ptr), value :: range\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_range_set_flippable (GtkRange *range, gboolean flippable);\nsubroutine gtk_range_set_flippable(range, flippable) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: range\n  integer(c_int), value :: flippable\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_range_get_flippable (GtkRange *range);\nfunction gtk_range_get_flippable(range) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_range_get_flippable\n  type(c_ptr), value :: range\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_range_set_slider_size_fixed (GtkRange *range, gboolean size_fixed);\nsubroutine gtk_range_set_slider_size_fixed(range, size_fixed) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: range\n  integer(c_int), value :: size_fixed\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_range_get_slider_size_fixed (GtkRange *range);\nfunction gtk_range_get_slider_size_fixed(range) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_range_get_slider_size_fixed\n  type(c_ptr), value :: range\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_range_get_range_rect (GtkRange *range, GdkRectangle *range_rect);\nsubroutine gtk_range_get_range_rect(range, range_rect) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: range\n  type(c_ptr), value :: range_rect\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_range_get_slider_range (GtkRange *range, int *slider_start, int *slider_end);\nsubroutine gtk_range_get_slider_range(range, slider_start, slider_end) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: range\n  type(c_ptr), value :: slider_start\n  type(c_ptr), value :: slider_end\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_range_set_increments (GtkRange *range, double step, double page);\nsubroutine gtk_range_set_increments(range, step, page) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: range\n  real(c_double), value :: step\n  real(c_double), value :: page\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_range_set_range (GtkRange *range, double min, double max);\nsubroutine gtk_range_set_range(range, min, max) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: range\n  real(c_double), value :: min\n  real(c_double), value :: max\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_range_set_value (GtkRange *range, double value);\nsubroutine gtk_range_set_value(range, value) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: range\n  real(c_double), value :: value\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_range_get_value (GtkRange *range);\nfunction gtk_range_get_value(range) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: gtk_range_get_value\n  type(c_ptr), value :: range\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_range_set_show_fill_level (GtkRange *range, gboolean show_fill_level);\nsubroutine gtk_range_set_show_fill_level(range, show_fill_level) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: range\n  integer(c_int), value :: show_fill_level\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_range_get_show_fill_level (GtkRange *range);\nfunction gtk_range_get_show_fill_level(range) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_range_get_show_fill_level\n  type(c_ptr), value :: range\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_range_set_restrict_to_fill_level (GtkRange *range, gboolean restrict_to_fill_level);\nsubroutine gtk_range_set_restrict_to_fill_level(range, restrict_to_fill_level)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: range\n  integer(c_int), value :: restrict_to_fill_level\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_range_get_restrict_to_fill_level (GtkRange *range);\nfunction gtk_range_get_restrict_to_fill_level(range) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_range_get_restrict_to_fill_level\n  type(c_ptr), value :: range\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_range_set_fill_level (GtkRange *range, double fill_level);\nsubroutine gtk_range_set_fill_level(range, fill_level) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: range\n  real(c_double), value :: fill_level\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_range_get_fill_level (GtkRange *range);\nfunction gtk_range_get_fill_level(range) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: gtk_range_get_fill_level\n  type(c_ptr), value :: range\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_range_set_round_digits (GtkRange *range, int round_digits);\nsubroutine gtk_range_set_round_digits(range, round_digits) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: range\n  integer(c_int), value :: round_digits\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_range_get_round_digits (GtkRange *range);\nfunction gtk_range_get_round_digits(range) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_range_get_round_digits\n  type(c_ptr), value :: range\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkrecentmanager.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GQuark gtk_recent_manager_error_quark (void);\nfunction gtk_recent_manager_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: gtk_recent_manager_error_quark\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_recent_manager_get_type (void) ;\nfunction gtk_recent_manager_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_recent_manager_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkRecentManager *gtk_recent_manager_new (void);\nfunction gtk_recent_manager_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_recent_manager_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkRecentManager *gtk_recent_manager_get_default (void);\nfunction gtk_recent_manager_get_default() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_recent_manager_get_default\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_recent_manager_add_item (GtkRecentManager *manager, const char *uri);\nfunction gtk_recent_manager_add_item(manager, uri) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_recent_manager_add_item\n  type(c_ptr), value :: manager\n  character(kind=c_char), dimension(*) :: uri\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_recent_manager_add_full (GtkRecentManager *manager, const char *uri, const GtkRecentData *recent_data);\nfunction gtk_recent_manager_add_full(manager, uri, recent_data) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_recent_manager_add_full\n  type(c_ptr), value :: manager\n  character(kind=c_char), dimension(*) :: uri\n  type(c_ptr), value :: recent_data\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_recent_manager_remove_item (GtkRecentManager *manager, const char *uri, GError **error);\nfunction gtk_recent_manager_remove_item(manager, uri, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_recent_manager_remove_item\n  type(c_ptr), value :: manager\n  character(kind=c_char), dimension(*) :: uri\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkRecentInfo * gtk_recent_manager_lookup_item (GtkRecentManager *manager, const char *uri, GError **error);\nfunction gtk_recent_manager_lookup_item(manager, uri, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_recent_manager_lookup_item\n  type(c_ptr), value :: manager\n  character(kind=c_char), dimension(*) :: uri\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_recent_manager_has_item (GtkRecentManager *manager, const char *uri);\nfunction gtk_recent_manager_has_item(manager, uri) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_recent_manager_has_item\n  type(c_ptr), value :: manager\n  character(kind=c_char), dimension(*) :: uri\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_recent_manager_move_item (GtkRecentManager *manager, const char *uri, const char *new_uri, GError **error);\nfunction gtk_recent_manager_move_item(manager, uri, new_uri, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_recent_manager_move_item\n  type(c_ptr), value :: manager\n  character(kind=c_char), dimension(*) :: uri\n  character(kind=c_char), dimension(*) :: new_uri\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GList * gtk_recent_manager_get_items (GtkRecentManager *manager);\nfunction gtk_recent_manager_get_items(manager) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_recent_manager_get_items\n  type(c_ptr), value :: manager\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_recent_manager_purge_items (GtkRecentManager *manager, GError **error);\nfunction gtk_recent_manager_purge_items(manager, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_recent_manager_purge_items\n  type(c_ptr), value :: manager\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_recent_info_get_type (void) ;\nfunction gtk_recent_info_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_recent_info_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkRecentInfo * gtk_recent_info_ref (GtkRecentInfo *info);\nfunction gtk_recent_info_ref(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_recent_info_ref\n  type(c_ptr), value :: info\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_recent_info_unref (GtkRecentInfo *info);\nsubroutine gtk_recent_info_unref(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: info\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_recent_info_get_uri (GtkRecentInfo *info);\nfunction gtk_recent_info_get_uri(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_recent_info_get_uri\n  type(c_ptr), value :: info\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_recent_info_get_display_name (GtkRecentInfo *info);\nfunction gtk_recent_info_get_display_name(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_recent_info_get_display_name\n  type(c_ptr), value :: info\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_recent_info_get_description (GtkRecentInfo *info);\nfunction gtk_recent_info_get_description(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_recent_info_get_description\n  type(c_ptr), value :: info\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_recent_info_get_mime_type (GtkRecentInfo *info);\nfunction gtk_recent_info_get_mime_type(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_recent_info_get_mime_type\n  type(c_ptr), value :: info\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GDateTime * gtk_recent_info_get_added (GtkRecentInfo *info);\nfunction gtk_recent_info_get_added(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_recent_info_get_added\n  type(c_ptr), value :: info\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GDateTime * gtk_recent_info_get_modified (GtkRecentInfo *info);\nfunction gtk_recent_info_get_modified(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_recent_info_get_modified\n  type(c_ptr), value :: info\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GDateTime * gtk_recent_info_get_visited (GtkRecentInfo *info);\nfunction gtk_recent_info_get_visited(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_recent_info_get_visited\n  type(c_ptr), value :: info\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_recent_info_get_private_hint (GtkRecentInfo *info);\nfunction gtk_recent_info_get_private_hint(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_recent_info_get_private_hint\n  type(c_ptr), value :: info\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_recent_info_get_application_info (GtkRecentInfo *info, const char *app_name, const char **app_exec, guint *count, GDateTime **stamp);\nfunction gtk_recent_info_get_application_info(info, app_name, app_exec, count,&\n& stamp) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_recent_info_get_application_info\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: app_name\n  type(c_ptr), dimension(*) :: app_exec\n  type(c_ptr), value :: count\n  type(c_ptr), value :: stamp\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GAppInfo * gtk_recent_info_create_app_info (GtkRecentInfo *info, const char *app_name, GError **error);\nfunction gtk_recent_info_create_app_info(info, app_name, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_recent_info_create_app_info\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: app_name\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!char ** gtk_recent_info_get_applications (GtkRecentInfo *info, gsize *length) ;\nfunction gtk_recent_info_get_applications(info, length) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_recent_info_get_applications\n  type(c_ptr), value :: info\n  type(c_ptr), value :: length\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!char * gtk_recent_info_last_application (GtkRecentInfo *info) ;\nfunction gtk_recent_info_last_application(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_recent_info_last_application\n  type(c_ptr), value :: info\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_recent_info_has_application (GtkRecentInfo *info, const char *app_name);\nfunction gtk_recent_info_has_application(info, app_name) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_recent_info_has_application\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: app_name\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!char ** gtk_recent_info_get_groups (GtkRecentInfo *info, gsize *length) ;\nfunction gtk_recent_info_get_groups(info, length) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_recent_info_get_groups\n  type(c_ptr), value :: info\n  type(c_ptr), value :: length\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_recent_info_has_group (GtkRecentInfo *info, const char *group_name);\nfunction gtk_recent_info_has_group(info, group_name) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_recent_info_has_group\n  type(c_ptr), value :: info\n  character(kind=c_char), dimension(*) :: group_name\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GIcon * gtk_recent_info_get_gicon (GtkRecentInfo *info);\nfunction gtk_recent_info_get_gicon(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_recent_info_get_gicon\n  type(c_ptr), value :: info\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!char * gtk_recent_info_get_short_name (GtkRecentInfo *info) ;\nfunction gtk_recent_info_get_short_name(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_recent_info_get_short_name\n  type(c_ptr), value :: info\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!char * gtk_recent_info_get_uri_display (GtkRecentInfo *info) ;\nfunction gtk_recent_info_get_uri_display(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_recent_info_get_uri_display\n  type(c_ptr), value :: info\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_recent_info_get_age (GtkRecentInfo *info);\nfunction gtk_recent_info_get_age(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_recent_info_get_age\n  type(c_ptr), value :: info\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_recent_info_is_local (GtkRecentInfo *info);\nfunction gtk_recent_info_is_local(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_recent_info_is_local\n  type(c_ptr), value :: info\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_recent_info_exists (GtkRecentInfo *info);\nfunction gtk_recent_info_exists(info) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_recent_info_exists\n  type(c_ptr), value :: info\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_recent_info_match (GtkRecentInfo *info_a, GtkRecentInfo *info_b);\nfunction gtk_recent_info_match(info_a, info_b) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_recent_info_match\n  type(c_ptr), value :: info_a\n  type(c_ptr), value :: info_b\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkrevealer.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_revealer_get_type (void) ;\nfunction gtk_revealer_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_revealer_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_revealer_new (void);\nfunction gtk_revealer_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_revealer_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_revealer_get_reveal_child (GtkRevealer *revealer);\nfunction gtk_revealer_get_reveal_child(revealer) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_revealer_get_reveal_child\n  type(c_ptr), value :: revealer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_revealer_set_reveal_child (GtkRevealer *revealer, gboolean reveal_child);\nsubroutine gtk_revealer_set_reveal_child(revealer, reveal_child) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: revealer\n  integer(c_int), value :: reveal_child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_revealer_get_child_revealed (GtkRevealer *revealer);\nfunction gtk_revealer_get_child_revealed(revealer) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_revealer_get_child_revealed\n  type(c_ptr), value :: revealer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_revealer_get_transition_duration (GtkRevealer *revealer);\nfunction gtk_revealer_get_transition_duration(revealer) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_revealer_get_transition_duration\n  type(c_ptr), value :: revealer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_revealer_set_transition_duration (GtkRevealer *revealer, guint duration);\nsubroutine gtk_revealer_set_transition_duration(revealer, duration) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: revealer\n  integer(c_int), value :: duration\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_revealer_set_transition_type (GtkRevealer *revealer, GtkRevealerTransitionType transition);\nsubroutine gtk_revealer_set_transition_type(revealer, transition) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: revealer\n  integer(c_int), value :: transition\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkRevealerTransitionType gtk_revealer_get_transition_type (GtkRevealer *revealer);\nfunction gtk_revealer_get_transition_type(revealer) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_revealer_get_transition_type\n  type(c_ptr), value :: revealer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_revealer_set_child (GtkRevealer *revealer, GtkWidget *child);\nsubroutine gtk_revealer_set_child(revealer, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: revealer\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_revealer_get_child (GtkRevealer *revealer);\nfunction gtk_revealer_get_child(revealer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_revealer_get_child\n  type(c_ptr), value :: revealer\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkroot.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GdkDisplay * gtk_root_get_display (GtkRoot *self);\nfunction gtk_root_get_display(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_root_get_display\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_root_set_focus (GtkRoot *self, GtkWidget *focus);\nsubroutine gtk_root_set_focus(self, focus) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: focus\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_root_get_focus (GtkRoot *self);\nfunction gtk_root_get_focus(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_root_get_focus\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkscale.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_scale_get_type (void) ;\nfunction gtk_scale_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_scale_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_scale_new (GtkOrientation orientation, GtkAdjustment *adjustment);\nfunction gtk_scale_new(orientation, adjustment) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_scale_new\n  integer(c_int), value :: orientation\n  type(c_ptr), value :: adjustment\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_scale_new_with_range (GtkOrientation orientation, double min, double max, double step);\nfunction gtk_scale_new_with_range(orientation, min, max, step) bind(c)\n  import :: c_ptr, c_int, c_double\n  implicit none\n  type(c_ptr) :: gtk_scale_new_with_range\n  integer(c_int), value :: orientation\n  real(c_double), value :: min\n  real(c_double), value :: max\n  real(c_double), value :: step\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_scale_set_digits (GtkScale *scale, int digits);\nsubroutine gtk_scale_set_digits(scale, digits) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: scale\n  integer(c_int), value :: digits\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_scale_get_digits (GtkScale *scale);\nfunction gtk_scale_get_digits(scale) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_scale_get_digits\n  type(c_ptr), value :: scale\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_scale_set_draw_value (GtkScale *scale, gboolean draw_value);\nsubroutine gtk_scale_set_draw_value(scale, draw_value) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: scale\n  integer(c_int), value :: draw_value\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_scale_get_draw_value (GtkScale *scale);\nfunction gtk_scale_get_draw_value(scale) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_scale_get_draw_value\n  type(c_ptr), value :: scale\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_scale_set_has_origin (GtkScale *scale, gboolean has_origin);\nsubroutine gtk_scale_set_has_origin(scale, has_origin) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: scale\n  integer(c_int), value :: has_origin\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_scale_get_has_origin (GtkScale *scale);\nfunction gtk_scale_get_has_origin(scale) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_scale_get_has_origin\n  type(c_ptr), value :: scale\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_scale_set_value_pos (GtkScale *scale, GtkPositionType pos);\nsubroutine gtk_scale_set_value_pos(scale, pos) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: scale\n  integer(c_int), value :: pos\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPositionType gtk_scale_get_value_pos (GtkScale *scale);\nfunction gtk_scale_get_value_pos(scale) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_scale_get_value_pos\n  type(c_ptr), value :: scale\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!PangoLayout * gtk_scale_get_layout (GtkScale *scale);\nfunction gtk_scale_get_layout(scale) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_scale_get_layout\n  type(c_ptr), value :: scale\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_scale_get_layout_offsets (GtkScale *scale, int *x, int *y);\nsubroutine gtk_scale_get_layout_offsets(scale, x, y) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: scale\n  type(c_ptr), value :: x\n  type(c_ptr), value :: y\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_scale_add_mark (GtkScale *scale, double value, GtkPositionType position, const char *markup);\nsubroutine gtk_scale_add_mark(scale, value, position, markup) bind(c)\n  import :: c_ptr, c_double, c_int, c_char\n  implicit none\n  type(c_ptr), value :: scale\n  real(c_double), value :: value\n  integer(c_int), value :: position\n  character(kind=c_char), dimension(*) :: markup\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_scale_clear_marks (GtkScale *scale);\nsubroutine gtk_scale_clear_marks(scale) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: scale\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_scale_set_format_value_func (GtkScale *scale, GtkScaleFormatValueFunc func, gpointer user_data, GDestroyNotify destroy_notify);\nsubroutine gtk_scale_set_format_value_func(scale, func, user_data,&\n& destroy_notify) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: scale\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: destroy_notify\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkscalebutton.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_scale_button_get_type (void) ;\nfunction gtk_scale_button_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_scale_button_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_scale_button_new (double min, double max, double step, const char **icons);\nfunction gtk_scale_button_new(min, max, step, icons) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr) :: gtk_scale_button_new\n  real(c_double), value :: min\n  real(c_double), value :: max\n  real(c_double), value :: step\n  type(c_ptr), dimension(*) :: icons\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_scale_button_set_icons (GtkScaleButton *button, const char **icons);\nsubroutine gtk_scale_button_set_icons(button, icons) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: button\n  type(c_ptr), dimension(*) :: icons\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_scale_button_get_value (GtkScaleButton *button);\nfunction gtk_scale_button_get_value(button) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: gtk_scale_button_get_value\n  type(c_ptr), value :: button\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_scale_button_set_value (GtkScaleButton *button, double value);\nsubroutine gtk_scale_button_set_value(button, value) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: button\n  real(c_double), value :: value\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkAdjustment * gtk_scale_button_get_adjustment (GtkScaleButton *button);\nfunction gtk_scale_button_get_adjustment(button) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_scale_button_get_adjustment\n  type(c_ptr), value :: button\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_scale_button_set_adjustment (GtkScaleButton *button, GtkAdjustment *adjustment);\nsubroutine gtk_scale_button_set_adjustment(button, adjustment) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: button\n  type(c_ptr), value :: adjustment\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_scale_button_get_plus_button (GtkScaleButton *button);\nfunction gtk_scale_button_get_plus_button(button) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_scale_button_get_plus_button\n  type(c_ptr), value :: button\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_scale_button_get_minus_button (GtkScaleButton *button);\nfunction gtk_scale_button_get_minus_button(button) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_scale_button_get_minus_button\n  type(c_ptr), value :: button\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_scale_button_get_popup (GtkScaleButton *button);\nfunction gtk_scale_button_get_popup(button) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_scale_button_get_popup\n  type(c_ptr), value :: button\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!gboolean gtk_scale_button_get_active (GtkScaleButton *button);\nfunction gtk_scale_button_get_active(button) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_scale_button_get_active\n  type(c_ptr), value :: button\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!gboolean gtk_scale_button_get_has_frame (GtkScaleButton *button);\nfunction gtk_scale_button_get_has_frame(button) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_scale_button_get_has_frame\n  type(c_ptr), value :: button\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gtk_scale_button_set_has_frame (GtkScaleButton *button, gboolean has_frame);\nsubroutine gtk_scale_button_set_has_frame(button, has_frame) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: button\n  integer(c_int), value :: has_frame\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkscrollable.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_scrollable_get_type (void) ;\nfunction gtk_scrollable_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_scrollable_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkAdjustment *gtk_scrollable_get_hadjustment (GtkScrollable *scrollable);\nfunction gtk_scrollable_get_hadjustment(scrollable) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_scrollable_get_hadjustment\n  type(c_ptr), value :: scrollable\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_scrollable_set_hadjustment (GtkScrollable *scrollable, GtkAdjustment *hadjustment);\nsubroutine gtk_scrollable_set_hadjustment(scrollable, hadjustment) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: scrollable\n  type(c_ptr), value :: hadjustment\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkAdjustment *gtk_scrollable_get_vadjustment (GtkScrollable *scrollable);\nfunction gtk_scrollable_get_vadjustment(scrollable) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_scrollable_get_vadjustment\n  type(c_ptr), value :: scrollable\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_scrollable_set_vadjustment (GtkScrollable *scrollable, GtkAdjustment *vadjustment);\nsubroutine gtk_scrollable_set_vadjustment(scrollable, vadjustment) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: scrollable\n  type(c_ptr), value :: vadjustment\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkScrollablePolicy gtk_scrollable_get_hscroll_policy (GtkScrollable *scrollable);\nfunction gtk_scrollable_get_hscroll_policy(scrollable) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_scrollable_get_hscroll_policy\n  type(c_ptr), value :: scrollable\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_scrollable_set_hscroll_policy (GtkScrollable *scrollable, GtkScrollablePolicy policy);\nsubroutine gtk_scrollable_set_hscroll_policy(scrollable, policy) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: scrollable\n  integer(c_int), value :: policy\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkScrollablePolicy gtk_scrollable_get_vscroll_policy (GtkScrollable *scrollable);\nfunction gtk_scrollable_get_vscroll_policy(scrollable) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_scrollable_get_vscroll_policy\n  type(c_ptr), value :: scrollable\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_scrollable_set_vscroll_policy (GtkScrollable *scrollable, GtkScrollablePolicy policy);\nsubroutine gtk_scrollable_set_vscroll_policy(scrollable, policy) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: scrollable\n  integer(c_int), value :: policy\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_scrollable_get_border (GtkScrollable *scrollable, GtkBorder *border);\nfunction gtk_scrollable_get_border(scrollable, border) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_scrollable_get_border\n  type(c_ptr), value :: scrollable\n  type(c_ptr), value :: border\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkscrollbar.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_scrollbar_get_type (void) ;\nfunction gtk_scrollbar_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_scrollbar_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_scrollbar_new (GtkOrientation orientation, GtkAdjustment *adjustment);\nfunction gtk_scrollbar_new(orientation, adjustment) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_scrollbar_new\n  integer(c_int), value :: orientation\n  type(c_ptr), value :: adjustment\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_scrollbar_set_adjustment (GtkScrollbar *self, GtkAdjustment *adjustment);\nsubroutine gtk_scrollbar_set_adjustment(self, adjustment) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: adjustment\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkAdjustment *gtk_scrollbar_get_adjustment (GtkScrollbar *self);\nfunction gtk_scrollbar_get_adjustment(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_scrollbar_get_adjustment\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkscrolledwindow.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_scrolled_window_get_type (void) ;\nfunction gtk_scrolled_window_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_scrolled_window_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_scrolled_window_new (void);\nfunction gtk_scrolled_window_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_scrolled_window_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_scrolled_window_set_hadjustment (GtkScrolledWindow *scrolled_window, GtkAdjustment *hadjustment);\nsubroutine gtk_scrolled_window_set_hadjustment(scrolled_window, hadjustment)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: scrolled_window\n  type(c_ptr), value :: hadjustment\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_scrolled_window_set_vadjustment (GtkScrolledWindow *scrolled_window, GtkAdjustment *vadjustment);\nsubroutine gtk_scrolled_window_set_vadjustment(scrolled_window, vadjustment)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: scrolled_window\n  type(c_ptr), value :: vadjustment\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkAdjustment* gtk_scrolled_window_get_hadjustment (GtkScrolledWindow *scrolled_window);\nfunction gtk_scrolled_window_get_hadjustment(scrolled_window) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_scrolled_window_get_hadjustment\n  type(c_ptr), value :: scrolled_window\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkAdjustment* gtk_scrolled_window_get_vadjustment (GtkScrolledWindow *scrolled_window);\nfunction gtk_scrolled_window_get_vadjustment(scrolled_window) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_scrolled_window_get_vadjustment\n  type(c_ptr), value :: scrolled_window\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_scrolled_window_get_hscrollbar (GtkScrolledWindow *scrolled_window);\nfunction gtk_scrolled_window_get_hscrollbar(scrolled_window) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_scrolled_window_get_hscrollbar\n  type(c_ptr), value :: scrolled_window\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_scrolled_window_get_vscrollbar (GtkScrolledWindow *scrolled_window);\nfunction gtk_scrolled_window_get_vscrollbar(scrolled_window) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_scrolled_window_get_vscrollbar\n  type(c_ptr), value :: scrolled_window\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_scrolled_window_set_policy (GtkScrolledWindow *scrolled_window, GtkPolicyType hscrollbar_policy, GtkPolicyType vscrollbar_policy);\nsubroutine gtk_scrolled_window_set_policy(scrolled_window, hscrollbar_policy,&\n& vscrollbar_policy) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: scrolled_window\n  integer(c_int), value :: hscrollbar_policy\n  integer(c_int), value :: vscrollbar_policy\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_scrolled_window_get_policy (GtkScrolledWindow *scrolled_window, GtkPolicyType *hscrollbar_policy, GtkPolicyType *vscrollbar_policy);\nsubroutine gtk_scrolled_window_get_policy(scrolled_window, hscrollbar_policy,&\n& vscrollbar_policy) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: scrolled_window\n  type(c_ptr), value :: hscrollbar_policy\n  type(c_ptr), value :: vscrollbar_policy\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_scrolled_window_set_placement (GtkScrolledWindow *scrolled_window, GtkCornerType window_placement);\nsubroutine gtk_scrolled_window_set_placement(scrolled_window, window_placement)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: scrolled_window\n  integer(c_int), value :: window_placement\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_scrolled_window_unset_placement (GtkScrolledWindow *scrolled_window);\nsubroutine gtk_scrolled_window_unset_placement(scrolled_window) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: scrolled_window\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkCornerType gtk_scrolled_window_get_placement (GtkScrolledWindow *scrolled_window);\nfunction gtk_scrolled_window_get_placement(scrolled_window) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_scrolled_window_get_placement\n  type(c_ptr), value :: scrolled_window\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_scrolled_window_set_has_frame (GtkScrolledWindow *scrolled_window, gboolean has_frame);\nsubroutine gtk_scrolled_window_set_has_frame(scrolled_window, has_frame)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: scrolled_window\n  integer(c_int), value :: has_frame\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_scrolled_window_get_has_frame (GtkScrolledWindow *scrolled_window);\nfunction gtk_scrolled_window_get_has_frame(scrolled_window) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_scrolled_window_get_has_frame\n  type(c_ptr), value :: scrolled_window\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_scrolled_window_get_min_content_width (GtkScrolledWindow *scrolled_window);\nfunction gtk_scrolled_window_get_min_content_width(scrolled_window) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_scrolled_window_get_min_content_width\n  type(c_ptr), value :: scrolled_window\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_scrolled_window_set_min_content_width (GtkScrolledWindow *scrolled_window, int width);\nsubroutine gtk_scrolled_window_set_min_content_width(scrolled_window, width)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: scrolled_window\n  integer(c_int), value :: width\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_scrolled_window_get_min_content_height (GtkScrolledWindow *scrolled_window);\nfunction gtk_scrolled_window_get_min_content_height(scrolled_window) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_scrolled_window_get_min_content_height\n  type(c_ptr), value :: scrolled_window\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_scrolled_window_set_min_content_height (GtkScrolledWindow *scrolled_window, int height);\nsubroutine gtk_scrolled_window_set_min_content_height(scrolled_window, height)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: scrolled_window\n  integer(c_int), value :: height\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_scrolled_window_set_kinetic_scrolling (GtkScrolledWindow *scrolled_window, gboolean kinetic_scrolling);\nsubroutine gtk_scrolled_window_set_kinetic_scrolling(scrolled_window,&\n& kinetic_scrolling) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: scrolled_window\n  integer(c_int), value :: kinetic_scrolling\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_scrolled_window_get_kinetic_scrolling (GtkScrolledWindow *scrolled_window);\nfunction gtk_scrolled_window_get_kinetic_scrolling(scrolled_window) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_scrolled_window_get_kinetic_scrolling\n  type(c_ptr), value :: scrolled_window\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_scrolled_window_set_overlay_scrolling (GtkScrolledWindow *scrolled_window, gboolean overlay_scrolling);\nsubroutine gtk_scrolled_window_set_overlay_scrolling(scrolled_window,&\n& overlay_scrolling) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: scrolled_window\n  integer(c_int), value :: overlay_scrolling\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_scrolled_window_get_overlay_scrolling (GtkScrolledWindow *scrolled_window);\nfunction gtk_scrolled_window_get_overlay_scrolling(scrolled_window) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_scrolled_window_get_overlay_scrolling\n  type(c_ptr), value :: scrolled_window\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_scrolled_window_set_max_content_width (GtkScrolledWindow *scrolled_window, int width);\nsubroutine gtk_scrolled_window_set_max_content_width(scrolled_window, width)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: scrolled_window\n  integer(c_int), value :: width\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_scrolled_window_get_max_content_width (GtkScrolledWindow *scrolled_window);\nfunction gtk_scrolled_window_get_max_content_width(scrolled_window) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_scrolled_window_get_max_content_width\n  type(c_ptr), value :: scrolled_window\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_scrolled_window_set_max_content_height (GtkScrolledWindow *scrolled_window, int height);\nsubroutine gtk_scrolled_window_set_max_content_height(scrolled_window, height)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: scrolled_window\n  integer(c_int), value :: height\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_scrolled_window_get_max_content_height (GtkScrolledWindow *scrolled_window);\nfunction gtk_scrolled_window_get_max_content_height(scrolled_window) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_scrolled_window_get_max_content_height\n  type(c_ptr), value :: scrolled_window\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_scrolled_window_set_propagate_natural_width (GtkScrolledWindow *scrolled_window, gboolean propagate);\nsubroutine gtk_scrolled_window_set_propagate_natural_width(scrolled_window,&\n& propagate) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: scrolled_window\n  integer(c_int), value :: propagate\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_scrolled_window_get_propagate_natural_width (GtkScrolledWindow *scrolled_window);\nfunction gtk_scrolled_window_get_propagate_natural_width(scrolled_window)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_scrolled_window_get_propagate_natural_width\n  type(c_ptr), value :: scrolled_window\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_scrolled_window_set_propagate_natural_height (GtkScrolledWindow *scrolled_window, gboolean propagate);\nsubroutine gtk_scrolled_window_set_propagate_natural_height(scrolled_window,&\n& propagate) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: scrolled_window\n  integer(c_int), value :: propagate\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_scrolled_window_get_propagate_natural_height (GtkScrolledWindow *scrolled_window);\nfunction gtk_scrolled_window_get_propagate_natural_height(scrolled_window)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_scrolled_window_get_propagate_natural_height\n  type(c_ptr), value :: scrolled_window\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_scrolled_window_set_child (GtkScrolledWindow *scrolled_window, GtkWidget *child);\nsubroutine gtk_scrolled_window_set_child(scrolled_window, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: scrolled_window\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget *gtk_scrolled_window_get_child (GtkScrolledWindow *scrolled_window);\nfunction gtk_scrolled_window_get_child(scrolled_window) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_scrolled_window_get_child\n  type(c_ptr), value :: scrolled_window\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkscrollinfo.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_4_12\n!GType gtk_scroll_info_get_type (void) ;\nfunction gtk_scroll_info_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_scroll_info_get_type\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!GtkScrollInfo * gtk_scroll_info_new (void);\nfunction gtk_scroll_info_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_scroll_info_new\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!GtkScrollInfo * gtk_scroll_info_ref (GtkScrollInfo *self);\nfunction gtk_scroll_info_ref(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_scroll_info_ref\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_scroll_info_unref (GtkScrollInfo *self);\nsubroutine gtk_scroll_info_unref(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_scroll_info_set_enable_horizontal (GtkScrollInfo *self, gboolean horizontal);\nsubroutine gtk_scroll_info_set_enable_horizontal(self, horizontal) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: horizontal\nend subroutine\n\n! GDK_AVAILABLE_IN_4_12\n!gboolean gtk_scroll_info_get_enable_horizontal (GtkScrollInfo *self);\nfunction gtk_scroll_info_get_enable_horizontal(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_scroll_info_get_enable_horizontal\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_scroll_info_set_enable_vertical (GtkScrollInfo *self, gboolean vertical);\nsubroutine gtk_scroll_info_set_enable_vertical(self, vertical) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: vertical\nend subroutine\n\n! GDK_AVAILABLE_IN_4_12\n!gboolean gtk_scroll_info_get_enable_vertical (GtkScrollInfo *self);\nfunction gtk_scroll_info_get_enable_vertical(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_scroll_info_get_enable_vertical\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtksearchbar.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_search_bar_get_type (void) ;\nfunction gtk_search_bar_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_search_bar_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_search_bar_new (void);\nfunction gtk_search_bar_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_search_bar_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_search_bar_connect_entry (GtkSearchBar *bar, GtkEditable *entry);\nsubroutine gtk_search_bar_connect_entry(bar, entry) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: bar\n  type(c_ptr), value :: entry\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_search_bar_get_search_mode (GtkSearchBar *bar);\nfunction gtk_search_bar_get_search_mode(bar) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_search_bar_get_search_mode\n  type(c_ptr), value :: bar\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_search_bar_set_search_mode (GtkSearchBar *bar, gboolean search_mode);\nsubroutine gtk_search_bar_set_search_mode(bar, search_mode) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: bar\n  integer(c_int), value :: search_mode\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_search_bar_get_show_close_button (GtkSearchBar *bar);\nfunction gtk_search_bar_get_show_close_button(bar) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_search_bar_get_show_close_button\n  type(c_ptr), value :: bar\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_search_bar_set_show_close_button (GtkSearchBar *bar, gboolean visible);\nsubroutine gtk_search_bar_set_show_close_button(bar, visible) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: bar\n  integer(c_int), value :: visible\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_search_bar_set_key_capture_widget (GtkSearchBar *bar, GtkWidget *widget);\nsubroutine gtk_search_bar_set_key_capture_widget(bar, widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: bar\n  type(c_ptr), value :: widget\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_search_bar_get_key_capture_widget (GtkSearchBar *bar);\nfunction gtk_search_bar_get_key_capture_widget(bar) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_search_bar_get_key_capture_widget\n  type(c_ptr), value :: bar\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_search_bar_set_child (GtkSearchBar *bar, GtkWidget *child);\nsubroutine gtk_search_bar_set_child(bar, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: bar\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_search_bar_get_child (GtkSearchBar *bar);\nfunction gtk_search_bar_get_child(bar) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_search_bar_get_child\n  type(c_ptr), value :: bar\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtksearchentry.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_search_entry_get_type (void) ;\nfunction gtk_search_entry_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_search_entry_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_search_entry_new (void);\nfunction gtk_search_entry_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_search_entry_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_search_entry_set_key_capture_widget (GtkSearchEntry *entry, GtkWidget *widget);\nsubroutine gtk_search_entry_set_key_capture_widget(entry, widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: entry\n  type(c_ptr), value :: widget\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_search_entry_get_key_capture_widget (GtkSearchEntry *entry);\nfunction gtk_search_entry_get_key_capture_widget(entry) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_search_entry_get_key_capture_widget\n  type(c_ptr), value :: entry\nend function\n\n! GDK_AVAILABLE_IN_4_8\n!void gtk_search_entry_set_search_delay (GtkSearchEntry *entry, guint delay);\nsubroutine gtk_search_entry_set_search_delay(entry, delay) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: entry\n  integer(c_int), value :: delay\nend subroutine\n\n! GDK_AVAILABLE_IN_4_8\n!guint gtk_search_entry_get_search_delay (GtkSearchEntry *entry);\nfunction gtk_search_entry_get_search_delay(entry) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_search_entry_get_search_delay\n  type(c_ptr), value :: entry\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_search_entry_set_placeholder_text (GtkSearchEntry *entry, const char *text);\nsubroutine gtk_search_entry_set_placeholder_text(entry, text) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: entry\n  character(kind=c_char), dimension(*) :: text\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!const char * gtk_search_entry_get_placeholder_text (GtkSearchEntry *entry);\nfunction gtk_search_entry_get_placeholder_text(entry) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_search_entry_get_placeholder_text\n  type(c_ptr), value :: entry\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gtk_search_entry_set_input_purpose (GtkSearchEntry *entry, GtkInputPurpose purpose);\nsubroutine gtk_search_entry_set_input_purpose(entry, purpose) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: entry\n  integer(c_int), value :: purpose\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!GtkInputPurpose gtk_search_entry_get_input_purpose (GtkSearchEntry *entry);\nfunction gtk_search_entry_get_input_purpose(entry) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_search_entry_get_input_purpose\n  type(c_ptr), value :: entry\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gtk_search_entry_set_input_hints (GtkSearchEntry *entry, GtkInputHints hints);\nsubroutine gtk_search_entry_set_input_hints(entry, hints) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: entry\n  integer(c_int), value :: hints\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!GtkInputHints gtk_search_entry_get_input_hints (GtkSearchEntry *entry);\nfunction gtk_search_entry_get_input_hints(entry) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_search_entry_get_input_hints\n  type(c_ptr), value :: entry\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtksectionmodel.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_4_12\n!void gtk_section_model_get_section (GtkSectionModel *self, guint position, guint *out_start, guint *out_end);\nsubroutine gtk_section_model_get_section(self, position, out_start, out_end)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: position\n  type(c_ptr), value :: out_start\n  type(c_ptr), value :: out_end\nend subroutine\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_section_model_sections_changed (GtkSectionModel *self, guint position, guint n_items);\nsubroutine gtk_section_model_sections_changed(self, position, n_items) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: position\n  integer(c_int), value :: n_items\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkselectionfiltermodel.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkSelectionFilterModel * gtk_selection_filter_model_new (GtkSelectionModel *model);\nfunction gtk_selection_filter_model_new(model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_selection_filter_model_new\n  type(c_ptr), value :: model\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_selection_filter_model_set_model (GtkSelectionFilterModel *self, GtkSelectionModel *model);\nsubroutine gtk_selection_filter_model_set_model(self, model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: model\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkSelectionModel * gtk_selection_filter_model_get_model (GtkSelectionFilterModel *self);\nfunction gtk_selection_filter_model_get_model(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_selection_filter_model_get_model\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkselectionmodel.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_selection_model_is_selected (GtkSelectionModel *model, guint position);\nfunction gtk_selection_model_is_selected(model, position) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_selection_model_is_selected\n  type(c_ptr), value :: model\n  integer(c_int), value :: position\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkBitset * gtk_selection_model_get_selection (GtkSelectionModel *model);\nfunction gtk_selection_model_get_selection(model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_selection_model_get_selection\n  type(c_ptr), value :: model\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkBitset * gtk_selection_model_get_selection_in_range (GtkSelectionModel *model, guint position, guint n_items);\nfunction gtk_selection_model_get_selection_in_range(model, position, n_items)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_selection_model_get_selection_in_range\n  type(c_ptr), value :: model\n  integer(c_int), value :: position\n  integer(c_int), value :: n_items\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_selection_model_select_item (GtkSelectionModel *model, guint position, gboolean unselect_rest);\nfunction gtk_selection_model_select_item(model, position, unselect_rest)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_selection_model_select_item\n  type(c_ptr), value :: model\n  integer(c_int), value :: position\n  integer(c_int), value :: unselect_rest\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_selection_model_unselect_item (GtkSelectionModel *model, guint position);\nfunction gtk_selection_model_unselect_item(model, position) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_selection_model_unselect_item\n  type(c_ptr), value :: model\n  integer(c_int), value :: position\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_selection_model_select_range (GtkSelectionModel *model, guint position, guint n_items, gboolean unselect_rest);\nfunction gtk_selection_model_select_range(model, position, n_items,&\n& unselect_rest) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_selection_model_select_range\n  type(c_ptr), value :: model\n  integer(c_int), value :: position\n  integer(c_int), value :: n_items\n  integer(c_int), value :: unselect_rest\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_selection_model_unselect_range (GtkSelectionModel *model, guint position, guint n_items);\nfunction gtk_selection_model_unselect_range(model, position, n_items) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_selection_model_unselect_range\n  type(c_ptr), value :: model\n  integer(c_int), value :: position\n  integer(c_int), value :: n_items\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_selection_model_select_all (GtkSelectionModel *model);\nfunction gtk_selection_model_select_all(model) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_selection_model_select_all\n  type(c_ptr), value :: model\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_selection_model_unselect_all (GtkSelectionModel *model);\nfunction gtk_selection_model_unselect_all(model) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_selection_model_unselect_all\n  type(c_ptr), value :: model\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_selection_model_set_selection (GtkSelectionModel *model, GtkBitset *selected, GtkBitset *mask);\nfunction gtk_selection_model_set_selection(model, selected, mask) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_selection_model_set_selection\n  type(c_ptr), value :: model\n  type(c_ptr), value :: selected\n  type(c_ptr), value :: mask\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_selection_model_selection_changed (GtkSelectionModel *model, guint position, guint n_items);\nsubroutine gtk_selection_model_selection_changed(model, position, n_items)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: model\n  integer(c_int), value :: position\n  integer(c_int), value :: n_items\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkseparator.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_separator_get_type (void) ;\nfunction gtk_separator_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_separator_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_separator_new (GtkOrientation orientation);\nfunction gtk_separator_new(orientation) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_separator_new\n  integer(c_int), value :: orientation\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtksettings.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_settings_get_type (void) ;\nfunction gtk_settings_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_settings_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkSettings* gtk_settings_get_default (void);\nfunction gtk_settings_get_default() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_settings_get_default\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkSettings* gtk_settings_get_for_display (GdkDisplay *display);\nfunction gtk_settings_get_for_display(display) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_settings_get_for_display\n  type(c_ptr), value :: display\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_settings_reset_property (GtkSettings *settings, const char *name);\nsubroutine gtk_settings_reset_property(settings, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: name\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkshortcut.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkShortcut * gtk_shortcut_new (GtkShortcutTrigger *trigger, GtkShortcutAction *action);\nfunction gtk_shortcut_new(trigger, action) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_shortcut_new\n  type(c_ptr), value :: trigger\n  type(c_ptr), value :: action\nend function\n\n! \n!GtkShortcutTrigger * gtk_shortcut_get_trigger (GtkShortcut *self);\nfunction gtk_shortcut_get_trigger(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_shortcut_get_trigger\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_shortcut_set_trigger (GtkShortcut *self, GtkShortcutTrigger *trigger);\nsubroutine gtk_shortcut_set_trigger(self, trigger) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: trigger\nend subroutine\n\n! \n!GtkShortcutAction * gtk_shortcut_get_action (GtkShortcut *self);\nfunction gtk_shortcut_get_action(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_shortcut_get_action\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_shortcut_set_action (GtkShortcut *self, GtkShortcutAction *action);\nsubroutine gtk_shortcut_set_action(self, action) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: action\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GVariant * gtk_shortcut_get_arguments (GtkShortcut *self);\nfunction gtk_shortcut_get_arguments(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_shortcut_get_arguments\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_shortcut_set_arguments (GtkShortcut *self, GVariant *args);\nsubroutine gtk_shortcut_set_arguments(self, args) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: args\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkshortcutaction.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!char * gtk_shortcut_action_to_string (GtkShortcutAction *self);\nfunction gtk_shortcut_action_to_string(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_shortcut_action_to_string\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkShortcutAction * gtk_shortcut_action_parse_string (const char * string);\nfunction gtk_shortcut_action_parse_string(string) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_shortcut_action_parse_string\n  character(kind=c_char), dimension(*) :: string\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_shortcut_action_print (GtkShortcutAction *self, GString *string);\nsubroutine gtk_shortcut_action_print(self, string) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: string\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_shortcut_action_activate (GtkShortcutAction *self, GtkShortcutActionFlags flags, GtkWidget *widget, GVariant *args);\nfunction gtk_shortcut_action_activate(self, flags, widget, args) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_shortcut_action_activate\n  type(c_ptr), value :: self\n  integer(c_int), value :: flags\n  type(c_ptr), value :: widget\n  type(c_ptr), value :: args\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkShortcutAction * gtk_nothing_action_get (void);\nfunction gtk_nothing_action_get() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_nothing_action_get\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkShortcutAction * gtk_callback_action_new (GtkShortcutFunc callback, gpointer data, GDestroyNotify destroy);\nfunction gtk_callback_action_new(callback, data, destroy) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: gtk_callback_action_new\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: data\n  type(c_funptr), value :: destroy\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkShortcutAction * gtk_mnemonic_action_get (void);\nfunction gtk_mnemonic_action_get() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_mnemonic_action_get\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkShortcutAction * gtk_activate_action_get (void);\nfunction gtk_activate_action_get() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_activate_action_get\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkShortcutAction * gtk_signal_action_new (const char *signal_name);\nfunction gtk_signal_action_new(signal_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_signal_action_new\n  character(kind=c_char), dimension(*) :: signal_name\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_signal_action_get_signal_name (GtkSignalAction *self);\nfunction gtk_signal_action_get_signal_name(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_signal_action_get_signal_name\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkShortcutAction * gtk_named_action_new (const char *name);\nfunction gtk_named_action_new(name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_named_action_new\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_named_action_get_action_name (GtkNamedAction *self);\nfunction gtk_named_action_get_action_name(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_named_action_get_action_name\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkshortcutcontroller.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_shortcut_controller_get_type (void) ;\nfunction gtk_shortcut_controller_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_shortcut_controller_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkEventController * gtk_shortcut_controller_new (void);\nfunction gtk_shortcut_controller_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_shortcut_controller_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkEventController * gtk_shortcut_controller_new_for_model (GListModel *model);\nfunction gtk_shortcut_controller_new_for_model(model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_shortcut_controller_new_for_model\n  type(c_ptr), value :: model\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_shortcut_controller_set_mnemonics_modifiers (GtkShortcutController *self, GdkModifierType modifiers);\nsubroutine gtk_shortcut_controller_set_mnemonics_modifiers(self, modifiers)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: modifiers\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GdkModifierType gtk_shortcut_controller_get_mnemonics_modifiers (GtkShortcutController *self);\nfunction gtk_shortcut_controller_get_mnemonics_modifiers(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_shortcut_controller_get_mnemonics_modifiers\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_shortcut_controller_set_scope (GtkShortcutController *self, GtkShortcutScope scope);\nsubroutine gtk_shortcut_controller_set_scope(self, scope) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: scope\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkShortcutScope gtk_shortcut_controller_get_scope (GtkShortcutController *self);\nfunction gtk_shortcut_controller_get_scope(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_shortcut_controller_get_scope\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_shortcut_controller_add_shortcut (GtkShortcutController *self, GtkShortcut *shortcut);\nsubroutine gtk_shortcut_controller_add_shortcut(self, shortcut) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: shortcut\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_shortcut_controller_remove_shortcut (GtkShortcutController *self, GtkShortcut *shortcut);\nsubroutine gtk_shortcut_controller_remove_shortcut(self, shortcut) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: shortcut\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkshortcutmanager.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkshortcuttrigger.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkShortcutTrigger * gtk_shortcut_trigger_parse_string (const char *string);\nfunction gtk_shortcut_trigger_parse_string(string) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_shortcut_trigger_parse_string\n  character(kind=c_char), dimension(*) :: string\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!char * gtk_shortcut_trigger_to_string (GtkShortcutTrigger *self);\nfunction gtk_shortcut_trigger_to_string(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_shortcut_trigger_to_string\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_shortcut_trigger_print (GtkShortcutTrigger *self, GString *string);\nsubroutine gtk_shortcut_trigger_print(self, string) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: string\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!char * gtk_shortcut_trigger_to_label (GtkShortcutTrigger *self, GdkDisplay *display);\nfunction gtk_shortcut_trigger_to_label(self, display) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_shortcut_trigger_to_label\n  type(c_ptr), value :: self\n  type(c_ptr), value :: display\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_shortcut_trigger_print_label (GtkShortcutTrigger *self, GdkDisplay *display, GString *string);\nfunction gtk_shortcut_trigger_print_label(self, display, string) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_shortcut_trigger_print_label\n  type(c_ptr), value :: self\n  type(c_ptr), value :: display\n  type(c_ptr), value :: string\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_shortcut_trigger_hash (gconstpointer trigger);\nfunction gtk_shortcut_trigger_hash(trigger) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_shortcut_trigger_hash\n  type(c_ptr), value :: trigger\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_shortcut_trigger_equal (gconstpointer trigger1, gconstpointer trigger2);\nfunction gtk_shortcut_trigger_equal(trigger1, trigger2) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_shortcut_trigger_equal\n  type(c_ptr), value :: trigger1\n  type(c_ptr), value :: trigger2\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_shortcut_trigger_compare (gconstpointer trigger1, gconstpointer trigger2);\nfunction gtk_shortcut_trigger_compare(trigger1, trigger2) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_shortcut_trigger_compare\n  type(c_ptr), value :: trigger1\n  type(c_ptr), value :: trigger2\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkKeyMatch gtk_shortcut_trigger_trigger (GtkShortcutTrigger *self, GdkEvent *event, gboolean enable_mnemonics);\nfunction gtk_shortcut_trigger_trigger(self, event, enable_mnemonics) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_shortcut_trigger_trigger\n  type(c_ptr), value :: self\n  type(c_ptr), value :: event\n  integer(c_int), value :: enable_mnemonics\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkShortcutTrigger * gtk_never_trigger_get (void);\nfunction gtk_never_trigger_get() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_never_trigger_get\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkShortcutTrigger * gtk_keyval_trigger_new (guint keyval, GdkModifierType modifiers);\nfunction gtk_keyval_trigger_new(keyval, modifiers) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_keyval_trigger_new\n  integer(c_int), value :: keyval\n  integer(c_int), value :: modifiers\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkModifierType gtk_keyval_trigger_get_modifiers (GtkKeyvalTrigger *self);\nfunction gtk_keyval_trigger_get_modifiers(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_keyval_trigger_get_modifiers\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_keyval_trigger_get_keyval (GtkKeyvalTrigger *self);\nfunction gtk_keyval_trigger_get_keyval(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_keyval_trigger_get_keyval\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkShortcutTrigger * gtk_mnemonic_trigger_new (guint keyval);\nfunction gtk_mnemonic_trigger_new(keyval) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_mnemonic_trigger_new\n  integer(c_int), value :: keyval\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_mnemonic_trigger_get_keyval (GtkMnemonicTrigger *self);\nfunction gtk_mnemonic_trigger_get_keyval(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_mnemonic_trigger_get_keyval\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkShortcutTrigger * gtk_alternative_trigger_new (GtkShortcutTrigger *first, GtkShortcutTrigger *second);\nfunction gtk_alternative_trigger_new(first, second) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_alternative_trigger_new\n  type(c_ptr), value :: first\n  type(c_ptr), value :: second\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkShortcutTrigger * gtk_alternative_trigger_get_first (GtkAlternativeTrigger *self);\nfunction gtk_alternative_trigger_get_first(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_alternative_trigger_get_first\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkShortcutTrigger * gtk_alternative_trigger_get_second (GtkAlternativeTrigger *self);\nfunction gtk_alternative_trigger_get_second(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_alternative_trigger_get_second\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtksignallistitemfactory.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_signal_list_item_factory_get_type (void) ;\nfunction gtk_signal_list_item_factory_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_signal_list_item_factory_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkListItemFactory * gtk_signal_list_item_factory_new (void);\nfunction gtk_signal_list_item_factory_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_signal_list_item_factory_new\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtksingleselection.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkSingleSelection * gtk_single_selection_new (GListModel *model);\nfunction gtk_single_selection_new(model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_single_selection_new\n  type(c_ptr), value :: model\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GListModel * gtk_single_selection_get_model (GtkSingleSelection *self);\nfunction gtk_single_selection_get_model(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_single_selection_get_model\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_single_selection_set_model (GtkSingleSelection *self, GListModel *model);\nsubroutine gtk_single_selection_set_model(self, model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: model\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_single_selection_get_selected (GtkSingleSelection *self);\nfunction gtk_single_selection_get_selected(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_single_selection_get_selected\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_single_selection_set_selected (GtkSingleSelection *self, guint position);\nsubroutine gtk_single_selection_set_selected(self, position) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: position\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gpointer gtk_single_selection_get_selected_item (GtkSingleSelection *self);\nfunction gtk_single_selection_get_selected_item(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_single_selection_get_selected_item\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_single_selection_get_autoselect (GtkSingleSelection *self);\nfunction gtk_single_selection_get_autoselect(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_single_selection_get_autoselect\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_single_selection_set_autoselect (GtkSingleSelection *self, gboolean autoselect);\nsubroutine gtk_single_selection_set_autoselect(self, autoselect) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: autoselect\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_single_selection_get_can_unselect (GtkSingleSelection *self);\nfunction gtk_single_selection_get_can_unselect(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_single_selection_get_can_unselect\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_single_selection_set_can_unselect (GtkSingleSelection *self, gboolean can_unselect);\nsubroutine gtk_single_selection_set_can_unselect(self, can_unselect) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: can_unselect\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtksizegroup.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_size_group_get_type (void) ;\nfunction gtk_size_group_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_size_group_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkSizeGroup * gtk_size_group_new (GtkSizeGroupMode mode);\nfunction gtk_size_group_new(mode) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_size_group_new\n  integer(c_int), value :: mode\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_size_group_set_mode (GtkSizeGroup *size_group, GtkSizeGroupMode mode);\nsubroutine gtk_size_group_set_mode(size_group, mode) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: size_group\n  integer(c_int), value :: mode\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkSizeGroupMode gtk_size_group_get_mode (GtkSizeGroup *size_group);\nfunction gtk_size_group_get_mode(size_group) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_size_group_get_mode\n  type(c_ptr), value :: size_group\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_size_group_add_widget (GtkSizeGroup *size_group, GtkWidget *widget);\nsubroutine gtk_size_group_add_widget(size_group, widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: size_group\n  type(c_ptr), value :: widget\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_size_group_remove_widget (GtkSizeGroup *size_group, GtkWidget *widget);\nsubroutine gtk_size_group_remove_widget(size_group, widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: size_group\n  type(c_ptr), value :: widget\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GSList * gtk_size_group_get_widgets (GtkSizeGroup *size_group);\nfunction gtk_size_group_get_widgets(size_group) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_size_group_get_widgets\n  type(c_ptr), value :: size_group\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtksizerequest.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!int gtk_distribute_natural_allocation (int extra_space, guint n_requested_sizes, GtkRequestedSize *sizes);\nfunction gtk_distribute_natural_allocation(extra_space, n_requested_sizes,&\n& sizes) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_distribute_natural_allocation\n  integer(c_int), value :: extra_space\n  integer(c_int), value :: n_requested_sizes\n  type(c_ptr), value :: sizes\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkslicelistmodel.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkSliceListModel * gtk_slice_list_model_new (GListModel *model, guint offset, guint size);\nfunction gtk_slice_list_model_new(model, offset, size) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_slice_list_model_new\n  type(c_ptr), value :: model\n  integer(c_int), value :: offset\n  integer(c_int), value :: size\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_slice_list_model_set_model (GtkSliceListModel *self, GListModel *model);\nsubroutine gtk_slice_list_model_set_model(self, model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: model\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GListModel * gtk_slice_list_model_get_model (GtkSliceListModel *self);\nfunction gtk_slice_list_model_get_model(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_slice_list_model_get_model\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_slice_list_model_set_offset (GtkSliceListModel *self, guint offset);\nsubroutine gtk_slice_list_model_set_offset(self, offset) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: offset\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_slice_list_model_get_offset (GtkSliceListModel *self);\nfunction gtk_slice_list_model_get_offset(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_slice_list_model_get_offset\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_slice_list_model_set_size (GtkSliceListModel *self, guint size);\nsubroutine gtk_slice_list_model_set_size(self, size) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: size\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_slice_list_model_get_size (GtkSliceListModel *self);\nfunction gtk_slice_list_model_get_size(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_slice_list_model_get_size\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtksnapshot.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_snapshot_get_type (void) ;\nfunction gtk_snapshot_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_snapshot_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkSnapshot * gtk_snapshot_new (void);\nfunction gtk_snapshot_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_snapshot_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gtk_snapshot_free_to_node (GtkSnapshot *snapshot);\nfunction gtk_snapshot_free_to_node(snapshot) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_snapshot_free_to_node\n  type(c_ptr), value :: snapshot\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkPaintable * gtk_snapshot_free_to_paintable (GtkSnapshot *snapshot, const graphene_size_t *size);\nfunction gtk_snapshot_free_to_paintable(snapshot, size) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_snapshot_free_to_paintable\n  type(c_ptr), value :: snapshot\n  type(c_ptr), value :: size\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GskRenderNode * gtk_snapshot_to_node (GtkSnapshot *snapshot);\nfunction gtk_snapshot_to_node(snapshot) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_snapshot_to_node\n  type(c_ptr), value :: snapshot\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkPaintable * gtk_snapshot_to_paintable (GtkSnapshot *snapshot, const graphene_size_t *size);\nfunction gtk_snapshot_to_paintable(snapshot, size) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_snapshot_to_paintable\n  type(c_ptr), value :: snapshot\n  type(c_ptr), value :: size\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_snapshot_push_opacity (GtkSnapshot *snapshot, double opacity);\nsubroutine gtk_snapshot_push_opacity(snapshot, opacity) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: snapshot\n  real(c_double), value :: opacity\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_snapshot_push_blur (GtkSnapshot *snapshot, double radius);\nsubroutine gtk_snapshot_push_blur(snapshot, radius) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: snapshot\n  real(c_double), value :: radius\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_snapshot_push_color_matrix (GtkSnapshot *snapshot, const graphene_matrix_t*color_matrix, const graphene_vec4_t *color_offset);\nsubroutine gtk_snapshot_push_color_matrix(snapshot, color_matrix, color_offset)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: snapshot\n  type(c_ptr), value :: color_matrix\n  type(c_ptr), value :: color_offset\nend subroutine\n\n! GDK_AVAILABLE_IN_4_20\n!void gtk_snapshot_push_component_transfer (GtkSnapshot *snapshot, const GskComponentTransfer *red, const GskComponentTransfer *green, const GskComponentTransfer *blue, const GskComponentTransfer *alpha);\nsubroutine gtk_snapshot_push_component_transfer(snapshot, red, green, blue,&\n& alpha) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: snapshot\n  type(c_ptr), value :: red\n  type(c_ptr), value :: green\n  type(c_ptr), value :: blue\n  type(c_ptr), value :: alpha\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_snapshot_push_repeat (GtkSnapshot *snapshot, const graphene_rect_t *bounds, const graphene_rect_t *child_bounds);\nsubroutine gtk_snapshot_push_repeat(snapshot, bounds, child_bounds) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: snapshot\n  type(c_ptr), value :: bounds\n  type(c_ptr), value :: child_bounds\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_snapshot_push_clip (GtkSnapshot *snapshot, const graphene_rect_t *bounds);\nsubroutine gtk_snapshot_push_clip(snapshot, bounds) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: snapshot\n  type(c_ptr), value :: bounds\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_snapshot_push_rounded_clip (GtkSnapshot *snapshot, const GskRoundedRect *bounds);\nsubroutine gtk_snapshot_push_rounded_clip(snapshot, bounds) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: snapshot\n  type(c_ptr), value :: bounds\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!void gtk_snapshot_push_fill (GtkSnapshot *snapshot, GskPath *path, GskFillRule fill_rule);\nsubroutine gtk_snapshot_push_fill(snapshot, path, fill_rule) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: snapshot\n  type(c_ptr), value :: path\n  integer(c_int), value :: fill_rule\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!void gtk_snapshot_push_stroke (GtkSnapshot *snapshot, GskPath *path, const GskStroke *stroke);\nsubroutine gtk_snapshot_push_stroke(snapshot, path, stroke) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: snapshot\n  type(c_ptr), value :: path\n  type(c_ptr), value :: stroke\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_snapshot_push_shadow (GtkSnapshot *snapshot, const GskShadow *shadow, gsize n_shadows);\nsubroutine gtk_snapshot_push_shadow(snapshot, shadow, n_shadows) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr), value :: snapshot\n  type(c_ptr), value :: shadow\n  integer(c_size_t), value :: n_shadows\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_snapshot_push_blend (GtkSnapshot *snapshot, GskBlendMode blend_mode);\nsubroutine gtk_snapshot_push_blend(snapshot, blend_mode) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: snapshot\n  integer(c_int), value :: blend_mode\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_snapshot_push_mask (GtkSnapshot *snapshot, GskMaskMode mask_mode);\nsubroutine gtk_snapshot_push_mask(snapshot, mask_mode) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: snapshot\n  integer(c_int), value :: mask_mode\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_snapshot_push_cross_fade (GtkSnapshot *snapshot, double progress);\nsubroutine gtk_snapshot_push_cross_fade(snapshot, progress) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: snapshot\n  real(c_double), value :: progress\nend subroutine\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!void gtk_snapshot_push_gl_shader (GtkSnapshot *snapshot, GskGLShader *shader, const graphene_rect_t *bounds, GBytes *take_args);\nsubroutine gtk_snapshot_push_gl_shader(snapshot, shader, bounds, take_args)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: snapshot\n  type(c_ptr), value :: shader\n  type(c_ptr), value :: bounds\n  type(c_ptr), value :: take_args\nend subroutine\n\n! GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea)\n!void gtk_snapshot_gl_shader_pop_texture (GtkSnapshot *snapshot);\nsubroutine gtk_snapshot_gl_shader_pop_texture(snapshot) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: snapshot\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_snapshot_pop (GtkSnapshot *snapshot);\nsubroutine gtk_snapshot_pop(snapshot) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: snapshot\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_snapshot_save (GtkSnapshot *snapshot);\nsubroutine gtk_snapshot_save(snapshot) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: snapshot\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_snapshot_restore (GtkSnapshot *snapshot);\nsubroutine gtk_snapshot_restore(snapshot) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: snapshot\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_snapshot_transform (GtkSnapshot *snapshot, GskTransform *transform);\nsubroutine gtk_snapshot_transform(snapshot, transform) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: snapshot\n  type(c_ptr), value :: transform\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_snapshot_transform_matrix (GtkSnapshot *snapshot, const graphene_matrix_t*matrix);\nsubroutine gtk_snapshot_transform_matrix(snapshot, matrix) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: snapshot\n  type(c_ptr), value :: matrix\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_snapshot_translate (GtkSnapshot *snapshot, const graphene_point_t *point);\nsubroutine gtk_snapshot_translate(snapshot, point) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: snapshot\n  type(c_ptr), value :: point\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_snapshot_translate_3d (GtkSnapshot *snapshot, const graphene_point3d_t*point);\nsubroutine gtk_snapshot_translate_3d(snapshot, point) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: snapshot\n  type(c_ptr), value :: point\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_snapshot_rotate (GtkSnapshot *snapshot, float angle);\nsubroutine gtk_snapshot_rotate(snapshot, angle) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: snapshot\n  real(c_float), value :: angle\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_snapshot_rotate_3d (GtkSnapshot *snapshot, float angle, const graphene_vec3_t *axis);\nsubroutine gtk_snapshot_rotate_3d(snapshot, angle, axis) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: snapshot\n  real(c_float), value :: angle\n  type(c_ptr), value :: axis\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_snapshot_scale (GtkSnapshot *snapshot, float factor_x, float factor_y);\nsubroutine gtk_snapshot_scale(snapshot, factor_x, factor_y) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: snapshot\n  real(c_float), value :: factor_x\n  real(c_float), value :: factor_y\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_snapshot_scale_3d (GtkSnapshot *snapshot, float factor_x, float factor_y, float factor_z);\nsubroutine gtk_snapshot_scale_3d(snapshot, factor_x, factor_y, factor_z)&\n& bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: snapshot\n  real(c_float), value :: factor_x\n  real(c_float), value :: factor_y\n  real(c_float), value :: factor_z\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_snapshot_perspective (GtkSnapshot *snapshot, float depth);\nsubroutine gtk_snapshot_perspective(snapshot, depth) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: snapshot\n  real(c_float), value :: depth\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_snapshot_append_node (GtkSnapshot *snapshot, GskRenderNode *node);\nsubroutine gtk_snapshot_append_node(snapshot, node) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: snapshot\n  type(c_ptr), value :: node\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!cairo_t * gtk_snapshot_append_cairo (GtkSnapshot *snapshot, const graphene_rect_t *bounds);\nfunction gtk_snapshot_append_cairo(snapshot, bounds) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_snapshot_append_cairo\n  type(c_ptr), value :: snapshot\n  type(c_ptr), value :: bounds\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_snapshot_append_texture (GtkSnapshot *snapshot, GdkTexture *texture, const graphene_rect_t *bounds);\nsubroutine gtk_snapshot_append_texture(snapshot, texture, bounds) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: snapshot\n  type(c_ptr), value :: texture\n  type(c_ptr), value :: bounds\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_snapshot_append_scaled_texture (GtkSnapshot *snapshot, GdkTexture *texture, GskScalingFilter filter, const graphene_rect_t *bounds);\nsubroutine gtk_snapshot_append_scaled_texture(snapshot, texture, filter,&\n& bounds) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: snapshot\n  type(c_ptr), value :: texture\n  integer(c_int), value :: filter\n  type(c_ptr), value :: bounds\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_snapshot_append_color (GtkSnapshot *snapshot, const GdkRGBA *color, const graphene_rect_t *bounds);\nsubroutine gtk_snapshot_append_color(snapshot, color, bounds) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: snapshot\n  type(c_ptr), value :: color\n  type(c_ptr), value :: bounds\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_snapshot_append_linear_gradient (GtkSnapshot *snapshot, const graphene_rect_t *bounds, const graphene_point_t *start_point, const graphene_point_t *end_point, const GskColorStop *stops, gsize n_stops);\nsubroutine gtk_snapshot_append_linear_gradient(snapshot, bounds, start_point,&\n& end_point, stops, n_stops) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr), value :: snapshot\n  type(c_ptr), value :: bounds\n  type(c_ptr), value :: start_point\n  type(c_ptr), value :: end_point\n  type(c_ptr), value :: stops\n  integer(c_size_t), value :: n_stops\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_snapshot_append_repeating_linear_gradient (GtkSnapshot *snapshot, const graphene_rect_t *bounds, const graphene_point_t *start_point, const graphene_point_t *end_point, const GskColorStop *stops, gsize n_stops);\nsubroutine gtk_snapshot_append_repeating_linear_gradient(snapshot, bounds,&\n& start_point, end_point, stops, n_stops) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr), value :: snapshot\n  type(c_ptr), value :: bounds\n  type(c_ptr), value :: start_point\n  type(c_ptr), value :: end_point\n  type(c_ptr), value :: stops\n  integer(c_size_t), value :: n_stops\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_snapshot_append_radial_gradient (GtkSnapshot *snapshot, const graphene_rect_t *bounds, const graphene_point_t *center, float hradius, float vradius, float start, float end, const GskColorStop *stops, gsize n_stops);\nsubroutine gtk_snapshot_append_radial_gradient(snapshot, bounds, center,&\n& hradius, vradius, start, end, stops, n_stops) bind(c)\n  import :: c_ptr, c_float, c_size_t\n  implicit none\n  type(c_ptr), value :: snapshot\n  type(c_ptr), value :: bounds\n  type(c_ptr), value :: center\n  real(c_float), value :: hradius\n  real(c_float), value :: vradius\n  real(c_float), value :: start\n  real(c_float), value :: end\n  type(c_ptr), value :: stops\n  integer(c_size_t), value :: n_stops\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_snapshot_append_repeating_radial_gradient (GtkSnapshot *snapshot, const graphene_rect_t *bounds, const graphene_point_t *center, float hradius, float vradius, float start, float end, const GskColorStop *stops, gsize n_stops);\nsubroutine gtk_snapshot_append_repeating_radial_gradient(snapshot, bounds,&\n& center, hradius, vradius, start, end, stops, n_stops) bind(c)\n  import :: c_ptr, c_float, c_size_t\n  implicit none\n  type(c_ptr), value :: snapshot\n  type(c_ptr), value :: bounds\n  type(c_ptr), value :: center\n  real(c_float), value :: hradius\n  real(c_float), value :: vradius\n  real(c_float), value :: start\n  real(c_float), value :: end\n  type(c_ptr), value :: stops\n  integer(c_size_t), value :: n_stops\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_snapshot_append_conic_gradient (GtkSnapshot *snapshot, const graphene_rect_t *bounds, const graphene_point_t *center, float rotation, const GskColorStop *stops, gsize n_stops);\nsubroutine gtk_snapshot_append_conic_gradient(snapshot, bounds, center,&\n& rotation, stops, n_stops) bind(c)\n  import :: c_ptr, c_float, c_size_t\n  implicit none\n  type(c_ptr), value :: snapshot\n  type(c_ptr), value :: bounds\n  type(c_ptr), value :: center\n  real(c_float), value :: rotation\n  type(c_ptr), value :: stops\n  integer(c_size_t), value :: n_stops\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_snapshot_append_inset_shadow (GtkSnapshot *snapshot, const GskRoundedRect *outline, const GdkRGBA *color, float dx, float dy, float spread, float blur_radius);\nsubroutine gtk_snapshot_append_inset_shadow(snapshot, outline, color, dx, dy,&\n& spread, blur_radius) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: snapshot\n  type(c_ptr), value :: outline\n  type(c_ptr), value :: color\n  real(c_float), value :: dx\n  real(c_float), value :: dy\n  real(c_float), value :: spread\n  real(c_float), value :: blur_radius\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_snapshot_append_outset_shadow (GtkSnapshot *snapshot, const GskRoundedRect *outline, const GdkRGBA *color, float dx, float dy, float spread, float blur_radius);\nsubroutine gtk_snapshot_append_outset_shadow(snapshot, outline, color, dx, dy,&\n& spread, blur_radius) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: snapshot\n  type(c_ptr), value :: outline\n  type(c_ptr), value :: color\n  real(c_float), value :: dx\n  real(c_float), value :: dy\n  real(c_float), value :: spread\n  real(c_float), value :: blur_radius\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_snapshot_append_layout (GtkSnapshot *snapshot, PangoLayout *layout, const GdkRGBA *color);\nsubroutine gtk_snapshot_append_layout(snapshot, layout, color) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: snapshot\n  type(c_ptr), value :: layout\n  type(c_ptr), value :: color\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!void gtk_snapshot_append_fill (GtkSnapshot *snapshot, GskPath *path, GskFillRule fill_rule, const GdkRGBA *color);\nsubroutine gtk_snapshot_append_fill(snapshot, path, fill_rule, color) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: snapshot\n  type(c_ptr), value :: path\n  integer(c_int), value :: fill_rule\n  type(c_ptr), value :: color\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!void gtk_snapshot_append_stroke (GtkSnapshot *snapshot, GskPath *path, const GskStroke *stroke, const GdkRGBA *color);\nsubroutine gtk_snapshot_append_stroke(snapshot, path, stroke, color) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: snapshot\n  type(c_ptr), value :: path\n  type(c_ptr), value :: stroke\n  type(c_ptr), value :: color\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtksorter.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkOrdering gtk_sorter_compare (GtkSorter *self, gpointer item1, gpointer item2);\nfunction gtk_sorter_compare(self, item1, item2) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_sorter_compare\n  type(c_ptr), value :: self\n  type(c_ptr), value :: item1\n  type(c_ptr), value :: item2\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkSorterOrder gtk_sorter_get_order (GtkSorter *self);\nfunction gtk_sorter_get_order(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_sorter_get_order\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_sorter_changed (GtkSorter *self, GtkSorterChange change);\nsubroutine gtk_sorter_changed(self, change) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: change\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtksortlistmodel.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkSortListModel * gtk_sort_list_model_new (GListModel *model, GtkSorter *sorter);\nfunction gtk_sort_list_model_new(model, sorter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_sort_list_model_new\n  type(c_ptr), value :: model\n  type(c_ptr), value :: sorter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_sort_list_model_set_sorter (GtkSortListModel *self, GtkSorter *sorter);\nsubroutine gtk_sort_list_model_set_sorter(self, sorter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: sorter\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkSorter * gtk_sort_list_model_get_sorter (GtkSortListModel *self);\nfunction gtk_sort_list_model_get_sorter(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_sort_list_model_get_sorter\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_sort_list_model_set_section_sorter (GtkSortListModel *self, GtkSorter *sorter);\nsubroutine gtk_sort_list_model_set_section_sorter(self, sorter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: sorter\nend subroutine\n\n! GDK_AVAILABLE_IN_4_12\n!GtkSorter * gtk_sort_list_model_get_section_sorter (GtkSortListModel *self);\nfunction gtk_sort_list_model_get_section_sorter(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_sort_list_model_get_section_sorter\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_sort_list_model_set_model (GtkSortListModel *self, GListModel *model);\nsubroutine gtk_sort_list_model_set_model(self, model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: model\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GListModel * gtk_sort_list_model_get_model (GtkSortListModel *self);\nfunction gtk_sort_list_model_get_model(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_sort_list_model_get_model\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_sort_list_model_set_incremental (GtkSortListModel *self, gboolean incremental);\nsubroutine gtk_sort_list_model_set_incremental(self, incremental) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: incremental\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_sort_list_model_get_incremental (GtkSortListModel *self);\nfunction gtk_sort_list_model_get_incremental(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_sort_list_model_get_incremental\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_sort_list_model_get_pending (GtkSortListModel *self);\nfunction gtk_sort_list_model_get_pending(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_sort_list_model_get_pending\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkspinbutton.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_spin_button_get_type (void) ;\nfunction gtk_spin_button_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_spin_button_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_spin_button_configure (GtkSpinButton *spin_button, GtkAdjustment *adjustment, double climb_rate, guint digits);\nsubroutine gtk_spin_button_configure(spin_button, adjustment, climb_rate,&\n& digits) bind(c)\n  import :: c_ptr, c_double, c_int\n  implicit none\n  type(c_ptr), value :: spin_button\n  type(c_ptr), value :: adjustment\n  real(c_double), value :: climb_rate\n  integer(c_int), value :: digits\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_spin_button_new (GtkAdjustment *adjustment, double climb_rate, guint digits);\nfunction gtk_spin_button_new(adjustment, climb_rate, digits) bind(c)\n  import :: c_ptr, c_double, c_int\n  implicit none\n  type(c_ptr) :: gtk_spin_button_new\n  type(c_ptr), value :: adjustment\n  real(c_double), value :: climb_rate\n  integer(c_int), value :: digits\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_spin_button_new_with_range (double min, double max, double step);\nfunction gtk_spin_button_new_with_range(min, max, step) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr) :: gtk_spin_button_new_with_range\n  real(c_double), value :: min\n  real(c_double), value :: max\n  real(c_double), value :: step\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gtk_spin_button_set_activates_default (GtkSpinButton *spin_button, gboolean activates_default);\nsubroutine gtk_spin_button_set_activates_default(spin_button,&\n& activates_default) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: spin_button\n  integer(c_int), value :: activates_default\nend subroutine\n\n! GDK_AVAILABLE_IN_4_14\n!gboolean gtk_spin_button_get_activates_default (GtkSpinButton *spin_button);\nfunction gtk_spin_button_get_activates_default(spin_button) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_spin_button_get_activates_default\n  type(c_ptr), value :: spin_button\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_spin_button_set_adjustment (GtkSpinButton *spin_button, GtkAdjustment *adjustment);\nsubroutine gtk_spin_button_set_adjustment(spin_button, adjustment) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: spin_button\n  type(c_ptr), value :: adjustment\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkAdjustment* gtk_spin_button_get_adjustment (GtkSpinButton *spin_button);\nfunction gtk_spin_button_get_adjustment(spin_button) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_spin_button_get_adjustment\n  type(c_ptr), value :: spin_button\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_spin_button_set_digits (GtkSpinButton *spin_button, guint digits);\nsubroutine gtk_spin_button_set_digits(spin_button, digits) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: spin_button\n  integer(c_int), value :: digits\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_spin_button_get_digits (GtkSpinButton *spin_button);\nfunction gtk_spin_button_get_digits(spin_button) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_spin_button_get_digits\n  type(c_ptr), value :: spin_button\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_spin_button_set_increments (GtkSpinButton *spin_button, double step, double page);\nsubroutine gtk_spin_button_set_increments(spin_button, step, page) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: spin_button\n  real(c_double), value :: step\n  real(c_double), value :: page\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_spin_button_get_increments (GtkSpinButton *spin_button, double *step, double *page);\nsubroutine gtk_spin_button_get_increments(spin_button, step, page) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: spin_button\n  type(c_ptr), value :: step\n  type(c_ptr), value :: page\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_spin_button_set_range (GtkSpinButton *spin_button, double min, double max);\nsubroutine gtk_spin_button_set_range(spin_button, min, max) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: spin_button\n  real(c_double), value :: min\n  real(c_double), value :: max\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_spin_button_get_range (GtkSpinButton *spin_button, double *min, double *max);\nsubroutine gtk_spin_button_get_range(spin_button, min, max) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: spin_button\n  type(c_ptr), value :: min\n  type(c_ptr), value :: max\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_spin_button_get_value (GtkSpinButton *spin_button);\nfunction gtk_spin_button_get_value(spin_button) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: gtk_spin_button_get_value\n  type(c_ptr), value :: spin_button\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_spin_button_get_value_as_int (GtkSpinButton *spin_button);\nfunction gtk_spin_button_get_value_as_int(spin_button) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_spin_button_get_value_as_int\n  type(c_ptr), value :: spin_button\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_spin_button_set_value (GtkSpinButton *spin_button, double value);\nsubroutine gtk_spin_button_set_value(spin_button, value) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: spin_button\n  real(c_double), value :: value\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_spin_button_set_update_policy (GtkSpinButton *spin_button, GtkSpinButtonUpdatePolicy policy);\nsubroutine gtk_spin_button_set_update_policy(spin_button, policy) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: spin_button\n  integer(c_int), value :: policy\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkSpinButtonUpdatePolicy gtk_spin_button_get_update_policy (GtkSpinButton *spin_button);\nfunction gtk_spin_button_get_update_policy(spin_button) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_spin_button_get_update_policy\n  type(c_ptr), value :: spin_button\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_spin_button_set_numeric (GtkSpinButton *spin_button, gboolean numeric);\nsubroutine gtk_spin_button_set_numeric(spin_button, numeric) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: spin_button\n  integer(c_int), value :: numeric\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_spin_button_get_numeric (GtkSpinButton *spin_button);\nfunction gtk_spin_button_get_numeric(spin_button) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_spin_button_get_numeric\n  type(c_ptr), value :: spin_button\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_spin_button_spin (GtkSpinButton *spin_button, GtkSpinType direction, double increment);\nsubroutine gtk_spin_button_spin(spin_button, direction, increment) bind(c)\n  import :: c_ptr, c_int, c_double\n  implicit none\n  type(c_ptr), value :: spin_button\n  integer(c_int), value :: direction\n  real(c_double), value :: increment\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_spin_button_set_wrap (GtkSpinButton *spin_button, gboolean wrap);\nsubroutine gtk_spin_button_set_wrap(spin_button, wrap) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: spin_button\n  integer(c_int), value :: wrap\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_spin_button_get_wrap (GtkSpinButton *spin_button);\nfunction gtk_spin_button_get_wrap(spin_button) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_spin_button_get_wrap\n  type(c_ptr), value :: spin_button\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_spin_button_set_snap_to_ticks (GtkSpinButton *spin_button, gboolean snap_to_ticks);\nsubroutine gtk_spin_button_set_snap_to_ticks(spin_button, snap_to_ticks)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: spin_button\n  integer(c_int), value :: snap_to_ticks\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_spin_button_get_snap_to_ticks (GtkSpinButton *spin_button);\nfunction gtk_spin_button_get_snap_to_ticks(spin_button) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_spin_button_get_snap_to_ticks\n  type(c_ptr), value :: spin_button\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_spin_button_set_climb_rate (GtkSpinButton *spin_button, double climb_rate);\nsubroutine gtk_spin_button_set_climb_rate(spin_button, climb_rate) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: spin_button\n  real(c_double), value :: climb_rate\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_spin_button_get_climb_rate (GtkSpinButton *spin_button);\nfunction gtk_spin_button_get_climb_rate(spin_button) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: gtk_spin_button_get_climb_rate\n  type(c_ptr), value :: spin_button\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_spin_button_update (GtkSpinButton *spin_button);\nsubroutine gtk_spin_button_update(spin_button) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: spin_button\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkspinner.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_spinner_get_type (void) ;\nfunction gtk_spinner_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_spinner_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget *gtk_spinner_new (void);\nfunction gtk_spinner_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_spinner_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_spinner_start (GtkSpinner *spinner);\nsubroutine gtk_spinner_start(spinner) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: spinner\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_spinner_stop (GtkSpinner *spinner);\nsubroutine gtk_spinner_stop(spinner) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: spinner\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_spinner_set_spinning (GtkSpinner *spinner, gboolean spinning);\nsubroutine gtk_spinner_set_spinning(spinner, spinning) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: spinner\n  integer(c_int), value :: spinning\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_spinner_get_spinning (GtkSpinner *spinner);\nfunction gtk_spinner_get_spinning(spinner) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_spinner_get_spinning\n  type(c_ptr), value :: spinner\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkstack.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_stack_page_get_type (void) ;\nfunction gtk_stack_page_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_stack_page_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_stack_page_get_child (GtkStackPage *self);\nfunction gtk_stack_page_get_child(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_stack_page_get_child\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_stack_page_get_visible (GtkStackPage *self);\nfunction gtk_stack_page_get_visible(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_stack_page_get_visible\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_stack_page_set_visible (GtkStackPage *self, gboolean visible);\nsubroutine gtk_stack_page_set_visible(self, visible) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: visible\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_stack_page_get_needs_attention (GtkStackPage *self);\nfunction gtk_stack_page_get_needs_attention(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_stack_page_get_needs_attention\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_stack_page_set_needs_attention (GtkStackPage *self, gboolean setting);\nsubroutine gtk_stack_page_set_needs_attention(self, setting) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: setting\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_stack_page_get_use_underline (GtkStackPage *self);\nfunction gtk_stack_page_get_use_underline(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_stack_page_get_use_underline\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_stack_page_set_use_underline (GtkStackPage *self, gboolean setting);\nsubroutine gtk_stack_page_set_use_underline(self, setting) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: setting\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_stack_page_get_name (GtkStackPage *self);\nfunction gtk_stack_page_get_name(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_stack_page_get_name\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_stack_page_set_name (GtkStackPage *self, const char *setting);\nsubroutine gtk_stack_page_set_name(self, setting) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: setting\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_stack_page_get_title (GtkStackPage *self);\nfunction gtk_stack_page_get_title(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_stack_page_get_title\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_stack_page_set_title (GtkStackPage *self, const char *setting);\nsubroutine gtk_stack_page_set_title(self, setting) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: setting\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_stack_page_get_icon_name (GtkStackPage *self);\nfunction gtk_stack_page_get_icon_name(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_stack_page_get_icon_name\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_stack_page_set_icon_name (GtkStackPage *self, const char *setting);\nsubroutine gtk_stack_page_set_icon_name(self, setting) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: setting\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_stack_get_type (void) ;\nfunction gtk_stack_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_stack_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_stack_new (void);\nfunction gtk_stack_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_stack_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkStackPage * gtk_stack_add_child (GtkStack *stack, GtkWidget *child);\nfunction gtk_stack_add_child(stack, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_stack_add_child\n  type(c_ptr), value :: stack\n  type(c_ptr), value :: child\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkStackPage * gtk_stack_add_named (GtkStack *stack, GtkWidget *child, const char *name);\nfunction gtk_stack_add_named(stack, child, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_stack_add_named\n  type(c_ptr), value :: stack\n  type(c_ptr), value :: child\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkStackPage * gtk_stack_add_titled (GtkStack *stack, GtkWidget *child, const char *name, const char *title);\nfunction gtk_stack_add_titled(stack, child, name, title) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_stack_add_titled\n  type(c_ptr), value :: stack\n  type(c_ptr), value :: child\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: title\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_stack_remove (GtkStack *stack, GtkWidget *child);\nsubroutine gtk_stack_remove(stack, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: stack\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkStackPage * gtk_stack_get_page (GtkStack *stack, GtkWidget *child);\nfunction gtk_stack_get_page(stack, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_stack_get_page\n  type(c_ptr), value :: stack\n  type(c_ptr), value :: child\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_stack_get_child_by_name (GtkStack *stack, const char *name);\nfunction gtk_stack_get_child_by_name(stack, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_stack_get_child_by_name\n  type(c_ptr), value :: stack\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_stack_set_visible_child (GtkStack *stack, GtkWidget *child);\nsubroutine gtk_stack_set_visible_child(stack, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: stack\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_stack_get_visible_child (GtkStack *stack);\nfunction gtk_stack_get_visible_child(stack) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_stack_get_visible_child\n  type(c_ptr), value :: stack\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_stack_set_visible_child_name (GtkStack *stack, const char *name);\nsubroutine gtk_stack_set_visible_child_name(stack, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: stack\n  character(kind=c_char), dimension(*) :: name\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_stack_get_visible_child_name (GtkStack *stack);\nfunction gtk_stack_get_visible_child_name(stack) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_stack_get_visible_child_name\n  type(c_ptr), value :: stack\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_stack_set_visible_child_full (GtkStack *stack, const char *name, GtkStackTransitionType transition);\nsubroutine gtk_stack_set_visible_child_full(stack, name, transition) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: stack\n  character(kind=c_char), dimension(*) :: name\n  integer(c_int), value :: transition\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_stack_set_hhomogeneous (GtkStack *stack, gboolean hhomogeneous);\nsubroutine gtk_stack_set_hhomogeneous(stack, hhomogeneous) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: stack\n  integer(c_int), value :: hhomogeneous\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_stack_get_hhomogeneous (GtkStack *stack);\nfunction gtk_stack_get_hhomogeneous(stack) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_stack_get_hhomogeneous\n  type(c_ptr), value :: stack\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_stack_set_vhomogeneous (GtkStack *stack, gboolean vhomogeneous);\nsubroutine gtk_stack_set_vhomogeneous(stack, vhomogeneous) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: stack\n  integer(c_int), value :: vhomogeneous\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_stack_get_vhomogeneous (GtkStack *stack);\nfunction gtk_stack_get_vhomogeneous(stack) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_stack_get_vhomogeneous\n  type(c_ptr), value :: stack\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_stack_set_transition_duration (GtkStack *stack, guint duration);\nsubroutine gtk_stack_set_transition_duration(stack, duration) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: stack\n  integer(c_int), value :: duration\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_stack_get_transition_duration (GtkStack *stack);\nfunction gtk_stack_get_transition_duration(stack) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_stack_get_transition_duration\n  type(c_ptr), value :: stack\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_stack_set_transition_type (GtkStack *stack, GtkStackTransitionType transition);\nsubroutine gtk_stack_set_transition_type(stack, transition) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: stack\n  integer(c_int), value :: transition\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkStackTransitionType gtk_stack_get_transition_type (GtkStack *stack);\nfunction gtk_stack_get_transition_type(stack) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_stack_get_transition_type\n  type(c_ptr), value :: stack\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_stack_get_transition_running (GtkStack *stack);\nfunction gtk_stack_get_transition_running(stack) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_stack_get_transition_running\n  type(c_ptr), value :: stack\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_stack_set_interpolate_size (GtkStack *stack, gboolean interpolate_size);\nsubroutine gtk_stack_set_interpolate_size(stack, interpolate_size) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: stack\n  integer(c_int), value :: interpolate_size\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_stack_get_interpolate_size (GtkStack *stack);\nfunction gtk_stack_get_interpolate_size(stack) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_stack_get_interpolate_size\n  type(c_ptr), value :: stack\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkSelectionModel * gtk_stack_get_pages (GtkStack *stack);\nfunction gtk_stack_get_pages(stack) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_stack_get_pages\n  type(c_ptr), value :: stack\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkstacksidebar.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_stack_sidebar_get_type (void) ;\nfunction gtk_stack_sidebar_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_stack_sidebar_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_stack_sidebar_new (void);\nfunction gtk_stack_sidebar_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_stack_sidebar_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_stack_sidebar_set_stack (GtkStackSidebar *self, GtkStack *stack);\nsubroutine gtk_stack_sidebar_set_stack(self, stack) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: stack\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkStack * gtk_stack_sidebar_get_stack (GtkStackSidebar *self);\nfunction gtk_stack_sidebar_get_stack(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_stack_sidebar_get_stack\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkstackswitcher.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_stack_switcher_get_type (void) ;\nfunction gtk_stack_switcher_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_stack_switcher_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_stack_switcher_new (void);\nfunction gtk_stack_switcher_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_stack_switcher_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_stack_switcher_set_stack (GtkStackSwitcher *switcher, GtkStack *stack);\nsubroutine gtk_stack_switcher_set_stack(switcher, stack) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: switcher\n  type(c_ptr), value :: stack\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkStack * gtk_stack_switcher_get_stack (GtkStackSwitcher *switcher);\nfunction gtk_stack_switcher_get_stack(switcher) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_stack_switcher_get_stack\n  type(c_ptr), value :: switcher\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkstringfilter.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkStringFilter * gtk_string_filter_new (GtkExpression *expression);\nfunction gtk_string_filter_new(expression) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_string_filter_new\n  type(c_ptr), value :: expression\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_string_filter_get_search (GtkStringFilter *self);\nfunction gtk_string_filter_get_search(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_string_filter_get_search\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_string_filter_set_search (GtkStringFilter *self, const char *search);\nsubroutine gtk_string_filter_set_search(self, search) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: search\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkExpression * gtk_string_filter_get_expression (GtkStringFilter *self);\nfunction gtk_string_filter_get_expression(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_string_filter_get_expression\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_string_filter_set_expression (GtkStringFilter *self, GtkExpression *expression);\nsubroutine gtk_string_filter_set_expression(self, expression) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: expression\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_string_filter_get_ignore_case (GtkStringFilter *self);\nfunction gtk_string_filter_get_ignore_case(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_string_filter_get_ignore_case\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_string_filter_set_ignore_case (GtkStringFilter *self, gboolean ignore_case);\nsubroutine gtk_string_filter_set_ignore_case(self, ignore_case) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: ignore_case\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkStringFilterMatchMode gtk_string_filter_get_match_mode (GtkStringFilter *self);\nfunction gtk_string_filter_get_match_mode(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_string_filter_get_match_mode\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_string_filter_set_match_mode (GtkStringFilter *self, GtkStringFilterMatchMode mode);\nsubroutine gtk_string_filter_set_match_mode(self, mode) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: mode\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkstringlist.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkStringObject * gtk_string_object_new (const char *string);\nfunction gtk_string_object_new(string) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_string_object_new\n  character(kind=c_char), dimension(*) :: string\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_string_object_get_string (GtkStringObject *self);\nfunction gtk_string_object_get_string(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_string_object_get_string\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkStringList * gtk_string_list_new (const char * const *strings);\nfunction gtk_string_list_new(strings) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_string_list_new\n  type(c_ptr), dimension(*) :: strings\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_string_list_append (GtkStringList *self, const char *string);\nsubroutine gtk_string_list_append(self, string) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: string\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_string_list_take (GtkStringList *self, char *string);\nsubroutine gtk_string_list_take(self, string) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: string\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_string_list_remove (GtkStringList *self, guint position);\nsubroutine gtk_string_list_remove(self, position) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: position\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_string_list_splice (GtkStringList *self, guint position, guint n_removals, const char * const *additions);\nsubroutine gtk_string_list_splice(self, position, n_removals, additions)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: position\n  integer(c_int), value :: n_removals\n  type(c_ptr), dimension(*) :: additions\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_string_list_get_string (GtkStringList *self, guint position);\nfunction gtk_string_list_get_string(self, position) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_string_list_get_string\n  type(c_ptr), value :: self\n  integer(c_int), value :: position\nend function\n\n! GDK_AVAILABLE_IN_4_18\n!guint gtk_string_list_find (GtkStringList *self, const char *string);\nfunction gtk_string_list_find(self, string) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_string_list_find\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: string\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkstringsorter.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkStringSorter * gtk_string_sorter_new (GtkExpression *expression);\nfunction gtk_string_sorter_new(expression) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_string_sorter_new\n  type(c_ptr), value :: expression\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkExpression * gtk_string_sorter_get_expression (GtkStringSorter *self);\nfunction gtk_string_sorter_get_expression(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_string_sorter_get_expression\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_string_sorter_set_expression (GtkStringSorter *self, GtkExpression *expression);\nsubroutine gtk_string_sorter_set_expression(self, expression) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: expression\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_string_sorter_get_ignore_case (GtkStringSorter *self);\nfunction gtk_string_sorter_get_ignore_case(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_string_sorter_get_ignore_case\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_string_sorter_set_ignore_case (GtkStringSorter *self, gboolean ignore_case);\nsubroutine gtk_string_sorter_set_ignore_case(self, ignore_case) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: ignore_case\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_string_sorter_set_collation (GtkStringSorter *self, GtkCollation collation);\nsubroutine gtk_string_sorter_set_collation(self, collation) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: collation\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!GtkCollation gtk_string_sorter_get_collation (GtkStringSorter *self);\nfunction gtk_string_sorter_get_collation(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_string_sorter_get_collation\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkstyleprovider.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_style_provider_get_type (void) ;\nfunction gtk_style_provider_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_style_provider_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_style_context_add_provider_for_display (GdkDisplay *display, GtkStyleProvider *provider, guint priority);\nsubroutine gtk_style_context_add_provider_for_display(display, provider,&\n& priority) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: display\n  type(c_ptr), value :: provider\n  integer(c_int), value :: priority\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_style_context_remove_provider_for_display (GdkDisplay *display, GtkStyleProvider *provider);\nsubroutine gtk_style_context_remove_provider_for_display(display, provider)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: display\n  type(c_ptr), value :: provider\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkswitch.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_switch_get_type (void) ;\nfunction gtk_switch_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_switch_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_switch_new (void);\nfunction gtk_switch_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_switch_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_switch_set_active (GtkSwitch *self, gboolean is_active);\nsubroutine gtk_switch_set_active(self, is_active) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: is_active\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_switch_get_active (GtkSwitch *self);\nfunction gtk_switch_get_active(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_switch_get_active\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_switch_set_state (GtkSwitch *self, gboolean state);\nsubroutine gtk_switch_set_state(self, state) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: state\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_switch_get_state (GtkSwitch *self);\nfunction gtk_switch_get_state(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_switch_get_state\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtksymbolicpaintable.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_4_6\n!void gtk_symbolic_paintable_snapshot_symbolic (GtkSymbolicPaintable *paintable, GdkSnapshot *snapshot, double width, double height, const GdkRGBA *colors, gsize n_colors);\nsubroutine gtk_symbolic_paintable_snapshot_symbolic(paintable, snapshot, width,&\n& height, colors, n_colors) bind(c)\n  import :: c_ptr, c_double, c_size_t\n  implicit none\n  type(c_ptr), value :: paintable\n  type(c_ptr), value :: snapshot\n  real(c_double), value :: width\n  real(c_double), value :: height\n  type(c_ptr), value :: colors\n  integer(c_size_t), value :: n_colors\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtktestatcontext.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_test_accessible_has_role (GtkAccessible *accessible, GtkAccessibleRole role);\nfunction gtk_test_accessible_has_role(accessible, role) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_test_accessible_has_role\n  type(c_ptr), value :: accessible\n  integer(c_int), value :: role\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_test_accessible_has_property (GtkAccessible *accessible, GtkAccessibleProperty property);\nfunction gtk_test_accessible_has_property(accessible, property) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_test_accessible_has_property\n  type(c_ptr), value :: accessible\n  integer(c_int), value :: property\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_test_accessible_has_relation (GtkAccessible *accessible, GtkAccessibleRelation relation);\nfunction gtk_test_accessible_has_relation(accessible, relation) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_test_accessible_has_relation\n  type(c_ptr), value :: accessible\n  integer(c_int), value :: relation\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_test_accessible_has_state (GtkAccessible *accessible, GtkAccessibleState state);\nfunction gtk_test_accessible_has_state(accessible, state) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_test_accessible_has_state\n  type(c_ptr), value :: accessible\n  integer(c_int), value :: state\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_test_accessible_assertion_message_role (const char *domain, const char *file, int line, const char *func, const char *expr, GtkAccessible *accessible, GtkAccessibleRole expected_role, GtkAccessibleRole actual_role);\nsubroutine gtk_test_accessible_assertion_message_role(domain, file, line, func,&\n& expr, accessible, expected_role, actual_role) bind(c)\n  import :: c_char, c_int, c_ptr\n  implicit none\n  character(kind=c_char), dimension(*) :: domain\n  character(kind=c_char), dimension(*) :: file\n  integer(c_int), value :: line\n  character(kind=c_char), dimension(*) :: func\n  character(kind=c_char), dimension(*) :: expr\n  type(c_ptr), value :: accessible\n  integer(c_int), value :: expected_role\n  integer(c_int), value :: actual_role\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtktestutils.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!void gtk_test_register_all_types (void);\nsubroutine gtk_test_register_all_types() bind(c)\n  implicit none\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const GType* gtk_test_list_all_types (guint *n_types);\nfunction gtk_test_list_all_types(n_types) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_test_list_all_types\n  type(c_ptr), value :: n_types\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_test_widget_wait_for_draw (GtkWidget *widget);\nsubroutine gtk_test_widget_wait_for_draw(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: widget\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtktext.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_text_get_type (void) ;\nfunction gtk_text_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_text_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_text_new (void);\nfunction gtk_text_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_text_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_text_new_with_buffer (GtkEntryBuffer *buffer);\nfunction gtk_text_new_with_buffer(buffer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_text_new_with_buffer\n  type(c_ptr), value :: buffer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkEntryBuffer *gtk_text_get_buffer (GtkText *self);\nfunction gtk_text_get_buffer(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_text_get_buffer\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_set_buffer (GtkText *self, GtkEntryBuffer *buffer);\nsubroutine gtk_text_set_buffer(self, buffer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: buffer\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_set_visibility (GtkText *self, gboolean visible);\nsubroutine gtk_text_set_visibility(self, visible) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: visible\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_get_visibility (GtkText *self);\nfunction gtk_text_get_visibility(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_get_visibility\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_set_invisible_char (GtkText *self, gunichar ch);\nsubroutine gtk_text_set_invisible_char(self, ch) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int32_t), value :: ch\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gunichar gtk_text_get_invisible_char (GtkText *self);\nfunction gtk_text_get_invisible_char(self) bind(c)\n  import :: c_int32_t, c_ptr\n  implicit none\n  integer(c_int32_t) :: gtk_text_get_invisible_char\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_unset_invisible_char (GtkText *self);\nsubroutine gtk_text_unset_invisible_char(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_set_overwrite_mode (GtkText *self, gboolean overwrite);\nsubroutine gtk_text_set_overwrite_mode(self, overwrite) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: overwrite\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_get_overwrite_mode (GtkText *self);\nfunction gtk_text_get_overwrite_mode(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_get_overwrite_mode\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_set_max_length (GtkText *self, int length);\nsubroutine gtk_text_set_max_length(self, length) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: length\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_text_get_max_length (GtkText *self);\nfunction gtk_text_get_max_length(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_get_max_length\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint16 gtk_text_get_text_length (GtkText *self);\nfunction gtk_text_get_text_length(self) bind(c)\n  import :: c_int16_t, c_ptr\n  implicit none\n  integer(c_int16_t) :: gtk_text_get_text_length\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_set_activates_default (GtkText *self, gboolean activates);\nsubroutine gtk_text_set_activates_default(self, activates) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: activates\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_get_activates_default (GtkText *self);\nfunction gtk_text_get_activates_default(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_get_activates_default\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_text_get_placeholder_text (GtkText *self);\nfunction gtk_text_get_placeholder_text(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_text_get_placeholder_text\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_set_placeholder_text (GtkText *self, const char *text);\nsubroutine gtk_text_set_placeholder_text(self, text) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: text\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_set_input_purpose (GtkText *self, GtkInputPurpose purpose);\nsubroutine gtk_text_set_input_purpose(self, purpose) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: purpose\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkInputPurpose gtk_text_get_input_purpose (GtkText *self);\nfunction gtk_text_get_input_purpose(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_get_input_purpose\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_set_input_hints (GtkText *self, GtkInputHints hints);\nsubroutine gtk_text_set_input_hints(self, hints) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: hints\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkInputHints gtk_text_get_input_hints (GtkText *self);\nfunction gtk_text_get_input_hints(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_get_input_hints\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_set_attributes (GtkText *self, PangoAttrList *attrs);\nsubroutine gtk_text_set_attributes(self, attrs) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: attrs\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!PangoAttrList * gtk_text_get_attributes (GtkText *self);\nfunction gtk_text_get_attributes(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_text_get_attributes\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_set_tabs (GtkText *self, PangoTabArray *tabs);\nsubroutine gtk_text_set_tabs(self, tabs) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: tabs\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!PangoTabArray * gtk_text_get_tabs (GtkText *self);\nfunction gtk_text_get_tabs(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_text_get_tabs\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_grab_focus_without_selecting (GtkText *self);\nfunction gtk_text_grab_focus_without_selecting(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_grab_focus_without_selecting\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_set_extra_menu (GtkText *self, GMenuModel *model);\nsubroutine gtk_text_set_extra_menu(self, model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: model\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GMenuModel * gtk_text_get_extra_menu (GtkText *self);\nfunction gtk_text_get_extra_menu(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_text_get_extra_menu\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_set_enable_emoji_completion (GtkText *self, gboolean enable_emoji_completion);\nsubroutine gtk_text_set_enable_emoji_completion(self, enable_emoji_completion)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: enable_emoji_completion\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_get_enable_emoji_completion (GtkText *self);\nfunction gtk_text_get_enable_emoji_completion(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_get_enable_emoji_completion\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_set_propagate_text_width (GtkText *self, gboolean propagate_text_width);\nsubroutine gtk_text_set_propagate_text_width(self, propagate_text_width)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: propagate_text_width\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_get_propagate_text_width (GtkText *self);\nfunction gtk_text_get_propagate_text_width(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_get_propagate_text_width\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_set_truncate_multiline (GtkText *self, gboolean truncate_multiline);\nsubroutine gtk_text_set_truncate_multiline(self, truncate_multiline) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: truncate_multiline\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_get_truncate_multiline (GtkText *self);\nfunction gtk_text_get_truncate_multiline(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_get_truncate_multiline\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_4\n!void gtk_text_compute_cursor_extents (GtkText *self, gsize position, graphene_rect_t *strong, graphene_rect_t *weak);\nsubroutine gtk_text_compute_cursor_extents(self, position, strong, weak)&\n& bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_size_t), value :: position\n  type(c_ptr), value :: strong\n  type(c_ptr), value :: weak\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtktextbuffer.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_text_buffer_get_type (void) ;\nfunction gtk_text_buffer_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_text_buffer_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkTextBuffer *gtk_text_buffer_new (GtkTextTagTable *table);\nfunction gtk_text_buffer_new(table) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_text_buffer_new\n  type(c_ptr), value :: table\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_text_buffer_get_line_count (GtkTextBuffer *buffer);\nfunction gtk_text_buffer_get_line_count(buffer) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_buffer_get_line_count\n  type(c_ptr), value :: buffer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_text_buffer_get_char_count (GtkTextBuffer *buffer);\nfunction gtk_text_buffer_get_char_count(buffer) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_buffer_get_char_count\n  type(c_ptr), value :: buffer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkTextTagTable* gtk_text_buffer_get_tag_table (GtkTextBuffer *buffer);\nfunction gtk_text_buffer_get_tag_table(buffer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_text_buffer_get_tag_table\n  type(c_ptr), value :: buffer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_set_text (GtkTextBuffer *buffer, const char *text, int len);\nsubroutine gtk_text_buffer_set_text(buffer, text, len) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: buffer\n  character(kind=c_char), dimension(*) :: text\n  integer(c_int), value :: len\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_insert (GtkTextBuffer *buffer, GtkTextIter *iter, const char *text, int len);\nsubroutine gtk_text_buffer_insert(buffer, iter, text, len) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: iter\n  character(kind=c_char), dimension(*) :: text\n  integer(c_int), value :: len\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_insert_at_cursor (GtkTextBuffer *buffer, const char *text, int len);\nsubroutine gtk_text_buffer_insert_at_cursor(buffer, text, len) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: buffer\n  character(kind=c_char), dimension(*) :: text\n  integer(c_int), value :: len\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_buffer_insert_interactive (GtkTextBuffer *buffer, GtkTextIter *iter, const char *text, int len, gboolean default_editable);\nfunction gtk_text_buffer_insert_interactive(buffer, iter, text, len,&\n& default_editable) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_text_buffer_insert_interactive\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: iter\n  character(kind=c_char), dimension(*) :: text\n  integer(c_int), value :: len\n  integer(c_int), value :: default_editable\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_buffer_insert_interactive_at_cursor (GtkTextBuffer *buffer, const char *text, int len, gboolean default_editable);\nfunction gtk_text_buffer_insert_interactive_at_cursor(buffer, text, len,&\n& default_editable) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_text_buffer_insert_interactive_at_cursor\n  type(c_ptr), value :: buffer\n  character(kind=c_char), dimension(*) :: text\n  integer(c_int), value :: len\n  integer(c_int), value :: default_editable\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_insert_range (GtkTextBuffer *buffer, GtkTextIter *iter, const GtkTextIter *start, const GtkTextIter *end);\nsubroutine gtk_text_buffer_insert_range(buffer, iter, start, end) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: start\n  type(c_ptr), value :: end\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_buffer_insert_range_interactive (GtkTextBuffer *buffer, GtkTextIter *iter, const GtkTextIter *start, const GtkTextIter *end, gboolean default_editable);\nfunction gtk_text_buffer_insert_range_interactive(buffer, iter, start, end,&\n& default_editable) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_buffer_insert_range_interactive\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: start\n  type(c_ptr), value :: end\n  integer(c_int), value :: default_editable\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_insert_markup (GtkTextBuffer *buffer, GtkTextIter *iter, const char *markup, int len);\nsubroutine gtk_text_buffer_insert_markup(buffer, iter, markup, len) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: iter\n  character(kind=c_char), dimension(*) :: markup\n  integer(c_int), value :: len\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_delete (GtkTextBuffer *buffer, GtkTextIter *start, GtkTextIter *end);\nsubroutine gtk_text_buffer_delete(buffer, start, end) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: start\n  type(c_ptr), value :: end\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_buffer_delete_interactive (GtkTextBuffer *buffer, GtkTextIter *start_iter, GtkTextIter *end_iter, gboolean default_editable);\nfunction gtk_text_buffer_delete_interactive(buffer, start_iter, end_iter,&\n& default_editable) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_buffer_delete_interactive\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: start_iter\n  type(c_ptr), value :: end_iter\n  integer(c_int), value :: default_editable\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_buffer_backspace (GtkTextBuffer *buffer, GtkTextIter *iter, gboolean interactive, gboolean default_editable);\nfunction gtk_text_buffer_backspace(buffer, iter, interactive, default_editable)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_buffer_backspace\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: iter\n  integer(c_int), value :: interactive\n  integer(c_int), value :: default_editable\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!char *gtk_text_buffer_get_text (GtkTextBuffer *buffer, const GtkTextIter *start, const GtkTextIter *end, gboolean include_hidden_chars);\nfunction gtk_text_buffer_get_text(buffer, start, end, include_hidden_chars)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_text_buffer_get_text\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: start\n  type(c_ptr), value :: end\n  integer(c_int), value :: include_hidden_chars\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!char *gtk_text_buffer_get_slice (GtkTextBuffer *buffer, const GtkTextIter *start, const GtkTextIter *end, gboolean include_hidden_chars);\nfunction gtk_text_buffer_get_slice(buffer, start, end, include_hidden_chars)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_text_buffer_get_slice\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: start\n  type(c_ptr), value :: end\n  integer(c_int), value :: include_hidden_chars\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_insert_paintable (GtkTextBuffer *buffer, GtkTextIter *iter, GdkPaintable *paintable);\nsubroutine gtk_text_buffer_insert_paintable(buffer, iter, paintable) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: paintable\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_insert_child_anchor (GtkTextBuffer *buffer, GtkTextIter *iter, GtkTextChildAnchor *anchor);\nsubroutine gtk_text_buffer_insert_child_anchor(buffer, iter, anchor) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: anchor\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkTextChildAnchor *gtk_text_buffer_create_child_anchor (GtkTextBuffer *buffer, GtkTextIter *iter);\nfunction gtk_text_buffer_create_child_anchor(buffer, iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_text_buffer_create_child_anchor\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_add_mark (GtkTextBuffer *buffer, GtkTextMark *mark, const GtkTextIter *where);\nsubroutine gtk_text_buffer_add_mark(buffer, mark, where) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: mark\n  type(c_ptr), value :: where\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkTextMark *gtk_text_buffer_create_mark (GtkTextBuffer *buffer, const char *mark_name, const GtkTextIter *where, gboolean left_gravity);\nfunction gtk_text_buffer_create_mark(buffer, mark_name, where, left_gravity)&\n& bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: gtk_text_buffer_create_mark\n  type(c_ptr), value :: buffer\n  character(kind=c_char), dimension(*) :: mark_name\n  type(c_ptr), value :: where\n  integer(c_int), value :: left_gravity\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_move_mark (GtkTextBuffer *buffer, GtkTextMark *mark, const GtkTextIter *where);\nsubroutine gtk_text_buffer_move_mark(buffer, mark, where) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: mark\n  type(c_ptr), value :: where\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_delete_mark (GtkTextBuffer *buffer, GtkTextMark *mark);\nsubroutine gtk_text_buffer_delete_mark(buffer, mark) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: mark\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkTextMark* gtk_text_buffer_get_mark (GtkTextBuffer *buffer, const char *name);\nfunction gtk_text_buffer_get_mark(buffer, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_text_buffer_get_mark\n  type(c_ptr), value :: buffer\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_move_mark_by_name (GtkTextBuffer *buffer, const char *name, const GtkTextIter *where);\nsubroutine gtk_text_buffer_move_mark_by_name(buffer, name, where) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: buffer\n  character(kind=c_char), dimension(*) :: name\n  type(c_ptr), value :: where\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_delete_mark_by_name (GtkTextBuffer *buffer, const char *name);\nsubroutine gtk_text_buffer_delete_mark_by_name(buffer, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: buffer\n  character(kind=c_char), dimension(*) :: name\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkTextMark* gtk_text_buffer_get_insert (GtkTextBuffer *buffer);\nfunction gtk_text_buffer_get_insert(buffer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_text_buffer_get_insert\n  type(c_ptr), value :: buffer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkTextMark* gtk_text_buffer_get_selection_bound (GtkTextBuffer *buffer);\nfunction gtk_text_buffer_get_selection_bound(buffer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_text_buffer_get_selection_bound\n  type(c_ptr), value :: buffer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_place_cursor (GtkTextBuffer *buffer, const GtkTextIter *where);\nsubroutine gtk_text_buffer_place_cursor(buffer, where) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: where\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_select_range (GtkTextBuffer *buffer, const GtkTextIter *ins, const GtkTextIter *bound);\nsubroutine gtk_text_buffer_select_range(buffer, ins, bound) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: ins\n  type(c_ptr), value :: bound\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_apply_tag (GtkTextBuffer *buffer, GtkTextTag *tag, const GtkTextIter *start, const GtkTextIter *end);\nsubroutine gtk_text_buffer_apply_tag(buffer, tag, start, end) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: tag\n  type(c_ptr), value :: start\n  type(c_ptr), value :: end\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_remove_tag (GtkTextBuffer *buffer, GtkTextTag *tag, const GtkTextIter *start, const GtkTextIter *end);\nsubroutine gtk_text_buffer_remove_tag(buffer, tag, start, end) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: tag\n  type(c_ptr), value :: start\n  type(c_ptr), value :: end\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_apply_tag_by_name (GtkTextBuffer *buffer, const char *name, const GtkTextIter *start, const GtkTextIter *end);\nsubroutine gtk_text_buffer_apply_tag_by_name(buffer, name, start, end) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: buffer\n  character(kind=c_char), dimension(*) :: name\n  type(c_ptr), value :: start\n  type(c_ptr), value :: end\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_remove_tag_by_name (GtkTextBuffer *buffer, const char *name, const GtkTextIter *start, const GtkTextIter *end);\nsubroutine gtk_text_buffer_remove_tag_by_name(buffer, name, start, end) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: buffer\n  character(kind=c_char), dimension(*) :: name\n  type(c_ptr), value :: start\n  type(c_ptr), value :: end\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_remove_all_tags (GtkTextBuffer *buffer, const GtkTextIter *start, const GtkTextIter *end);\nsubroutine gtk_text_buffer_remove_all_tags(buffer, start, end) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: start\n  type(c_ptr), value :: end\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_buffer_get_iter_at_line_offset (GtkTextBuffer *buffer, GtkTextIter *iter, int line_number, int char_offset);\nfunction gtk_text_buffer_get_iter_at_line_offset(buffer, iter, line_number,&\n& char_offset) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_buffer_get_iter_at_line_offset\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: iter\n  integer(c_int), value :: line_number\n  integer(c_int), value :: char_offset\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_buffer_get_iter_at_line_index (GtkTextBuffer *buffer, GtkTextIter *iter, int line_number, int byte_index);\nfunction gtk_text_buffer_get_iter_at_line_index(buffer, iter, line_number,&\n& byte_index) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_buffer_get_iter_at_line_index\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: iter\n  integer(c_int), value :: line_number\n  integer(c_int), value :: byte_index\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_get_iter_at_offset (GtkTextBuffer *buffer, GtkTextIter *iter, int char_offset);\nsubroutine gtk_text_buffer_get_iter_at_offset(buffer, iter, char_offset)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: iter\n  integer(c_int), value :: char_offset\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_buffer_get_iter_at_line (GtkTextBuffer *buffer, GtkTextIter *iter, int line_number);\nfunction gtk_text_buffer_get_iter_at_line(buffer, iter, line_number) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_buffer_get_iter_at_line\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: iter\n  integer(c_int), value :: line_number\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_get_start_iter (GtkTextBuffer *buffer, GtkTextIter *iter);\nsubroutine gtk_text_buffer_get_start_iter(buffer, iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: iter\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_get_end_iter (GtkTextBuffer *buffer, GtkTextIter *iter);\nsubroutine gtk_text_buffer_get_end_iter(buffer, iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: iter\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_get_bounds (GtkTextBuffer *buffer, GtkTextIter *start, GtkTextIter *end);\nsubroutine gtk_text_buffer_get_bounds(buffer, start, end) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: start\n  type(c_ptr), value :: end\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_get_iter_at_mark (GtkTextBuffer *buffer, GtkTextIter *iter, GtkTextMark *mark);\nsubroutine gtk_text_buffer_get_iter_at_mark(buffer, iter, mark) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: mark\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_get_iter_at_child_anchor (GtkTextBuffer *buffer, GtkTextIter *iter, GtkTextChildAnchor *anchor);\nsubroutine gtk_text_buffer_get_iter_at_child_anchor(buffer, iter, anchor)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: anchor\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_buffer_get_modified (GtkTextBuffer *buffer);\nfunction gtk_text_buffer_get_modified(buffer) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_buffer_get_modified\n  type(c_ptr), value :: buffer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_set_modified (GtkTextBuffer *buffer, gboolean setting);\nsubroutine gtk_text_buffer_set_modified(buffer, setting) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: buffer\n  integer(c_int), value :: setting\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_buffer_get_has_selection (GtkTextBuffer *buffer);\nfunction gtk_text_buffer_get_has_selection(buffer) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_buffer_get_has_selection\n  type(c_ptr), value :: buffer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_add_selection_clipboard (GtkTextBuffer *buffer, GdkClipboard *clipboard);\nsubroutine gtk_text_buffer_add_selection_clipboard(buffer, clipboard) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: clipboard\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_remove_selection_clipboard (GtkTextBuffer *buffer, GdkClipboard *clipboard);\nsubroutine gtk_text_buffer_remove_selection_clipboard(buffer, clipboard)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: clipboard\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_cut_clipboard (GtkTextBuffer *buffer, GdkClipboard *clipboard, gboolean default_editable);\nsubroutine gtk_text_buffer_cut_clipboard(buffer, clipboard, default_editable)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: clipboard\n  integer(c_int), value :: default_editable\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_copy_clipboard (GtkTextBuffer *buffer, GdkClipboard *clipboard);\nsubroutine gtk_text_buffer_copy_clipboard(buffer, clipboard) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: clipboard\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_paste_clipboard (GtkTextBuffer *buffer, GdkClipboard *clipboard, GtkTextIter *override_location, gboolean default_editable);\nsubroutine gtk_text_buffer_paste_clipboard(buffer, clipboard,&\n& override_location, default_editable) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: clipboard\n  type(c_ptr), value :: override_location\n  integer(c_int), value :: default_editable\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_buffer_get_selection_bounds (GtkTextBuffer *buffer, GtkTextIter *start, GtkTextIter *end);\nfunction gtk_text_buffer_get_selection_bounds(buffer, start, end) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_buffer_get_selection_bounds\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: start\n  type(c_ptr), value :: end\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_buffer_delete_selection (GtkTextBuffer *buffer, gboolean interactive, gboolean default_editable);\nfunction gtk_text_buffer_delete_selection(buffer, interactive,&\n& default_editable) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_buffer_delete_selection\n  type(c_ptr), value :: buffer\n  integer(c_int), value :: interactive\n  integer(c_int), value :: default_editable\nend function\n\n! \n!GdkContentProvider * gtk_text_buffer_get_selection_content (GtkTextBuffer *buffer);\nfunction gtk_text_buffer_get_selection_content(buffer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_text_buffer_get_selection_content\n  type(c_ptr), value :: buffer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_buffer_get_can_undo (GtkTextBuffer *buffer);\nfunction gtk_text_buffer_get_can_undo(buffer) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_buffer_get_can_undo\n  type(c_ptr), value :: buffer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_buffer_get_can_redo (GtkTextBuffer *buffer);\nfunction gtk_text_buffer_get_can_redo(buffer) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_buffer_get_can_redo\n  type(c_ptr), value :: buffer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_buffer_get_enable_undo (GtkTextBuffer *buffer);\nfunction gtk_text_buffer_get_enable_undo(buffer) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_buffer_get_enable_undo\n  type(c_ptr), value :: buffer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_set_enable_undo (GtkTextBuffer *buffer, gboolean enable_undo);\nsubroutine gtk_text_buffer_set_enable_undo(buffer, enable_undo) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: buffer\n  integer(c_int), value :: enable_undo\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_text_buffer_get_max_undo_levels (GtkTextBuffer *buffer);\nfunction gtk_text_buffer_get_max_undo_levels(buffer) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_buffer_get_max_undo_levels\n  type(c_ptr), value :: buffer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_set_max_undo_levels (GtkTextBuffer *buffer, guint max_undo_levels);\nsubroutine gtk_text_buffer_set_max_undo_levels(buffer, max_undo_levels) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: buffer\n  integer(c_int), value :: max_undo_levels\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_undo (GtkTextBuffer *buffer);\nsubroutine gtk_text_buffer_undo(buffer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: buffer\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_redo (GtkTextBuffer *buffer);\nsubroutine gtk_text_buffer_redo(buffer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: buffer\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_begin_irreversible_action (GtkTextBuffer *buffer);\nsubroutine gtk_text_buffer_begin_irreversible_action(buffer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: buffer\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_end_irreversible_action (GtkTextBuffer *buffer);\nsubroutine gtk_text_buffer_end_irreversible_action(buffer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: buffer\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_begin_user_action (GtkTextBuffer *buffer);\nsubroutine gtk_text_buffer_begin_user_action(buffer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: buffer\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_buffer_end_user_action (GtkTextBuffer *buffer);\nsubroutine gtk_text_buffer_end_user_action(buffer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: buffer\nend subroutine\n\n! GDK_AVAILABLE_IN_4_16\n!guint gtk_text_buffer_add_commit_notify (GtkTextBuffer *buffer, GtkTextBufferNotifyFlags flags, GtkTextBufferCommitNotify commit_notify, gpointer user_data, GDestroyNotify destroy);\nfunction gtk_text_buffer_add_commit_notify(buffer, flags, commit_notify,&\n& user_data, destroy) bind(c)\n  import :: c_int, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: gtk_text_buffer_add_commit_notify\n  type(c_ptr), value :: buffer\n  integer(c_int), value :: flags\n  type(c_funptr), value :: commit_notify\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: destroy\nend function\n\n! GDK_AVAILABLE_IN_4_16\n!void gtk_text_buffer_remove_commit_notify (GtkTextBuffer *buffer, guint commit_notify_handler);\nsubroutine gtk_text_buffer_remove_commit_notify(buffer, commit_notify_handler)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: buffer\n  integer(c_int), value :: commit_notify_handler\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtktextchild.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_text_child_anchor_get_type (void) ;\nfunction gtk_text_child_anchor_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_text_child_anchor_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkTextChildAnchor *gtk_text_child_anchor_new (void);\nfunction gtk_text_child_anchor_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_text_child_anchor_new\nend function\n\n! GDK_AVAILABLE_IN_4_6\n!GtkTextChildAnchor *gtk_text_child_anchor_new_with_replacement (const char *character);\nfunction gtk_text_child_anchor_new_with_replacement(character) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_text_child_anchor_new_with_replacement\n  character(kind=c_char), dimension(*) :: character\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget **gtk_text_child_anchor_get_widgets (GtkTextChildAnchor *anchor, guint *out_len);\nfunction gtk_text_child_anchor_get_widgets(anchor, out_len) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_text_child_anchor_get_widgets\n  type(c_ptr), value :: anchor\n  type(c_ptr), value :: out_len\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_child_anchor_get_deleted (GtkTextChildAnchor *anchor);\nfunction gtk_text_child_anchor_get_deleted(anchor) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_child_anchor_get_deleted\n  type(c_ptr), value :: anchor\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtktextiter.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkTextBuffer *gtk_text_iter_get_buffer (const GtkTextIter *iter);\nfunction gtk_text_iter_get_buffer(iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_text_iter_get_buffer\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkTextIter *gtk_text_iter_copy (const GtkTextIter *iter);\nfunction gtk_text_iter_copy(iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_text_iter_copy\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_iter_free (GtkTextIter *iter);\nsubroutine gtk_text_iter_free(iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: iter\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_iter_assign (GtkTextIter *iter, const GtkTextIter *other);\nsubroutine gtk_text_iter_assign(iter, other) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: other\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_text_iter_get_type (void) ;\nfunction gtk_text_iter_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_text_iter_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_text_iter_get_offset (const GtkTextIter *iter);\nfunction gtk_text_iter_get_offset(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_get_offset\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_text_iter_get_line (const GtkTextIter *iter);\nfunction gtk_text_iter_get_line(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_get_line\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_text_iter_get_line_offset (const GtkTextIter *iter);\nfunction gtk_text_iter_get_line_offset(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_get_line_offset\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_text_iter_get_line_index (const GtkTextIter *iter);\nfunction gtk_text_iter_get_line_index(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_get_line_index\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_text_iter_get_visible_line_offset (const GtkTextIter *iter);\nfunction gtk_text_iter_get_visible_line_offset(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_get_visible_line_offset\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_text_iter_get_visible_line_index (const GtkTextIter *iter);\nfunction gtk_text_iter_get_visible_line_index(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_get_visible_line_index\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gunichar gtk_text_iter_get_char (const GtkTextIter *iter);\nfunction gtk_text_iter_get_char(iter) bind(c)\n  import :: c_int32_t, c_ptr\n  implicit none\n  integer(c_int32_t) :: gtk_text_iter_get_char\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!char *gtk_text_iter_get_slice (const GtkTextIter *start, const GtkTextIter *end);\nfunction gtk_text_iter_get_slice(start, end) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_text_iter_get_slice\n  type(c_ptr), value :: start\n  type(c_ptr), value :: end\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!char *gtk_text_iter_get_text (const GtkTextIter *start, const GtkTextIter *end);\nfunction gtk_text_iter_get_text(start, end) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_text_iter_get_text\n  type(c_ptr), value :: start\n  type(c_ptr), value :: end\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!char *gtk_text_iter_get_visible_slice (const GtkTextIter *start, const GtkTextIter *end);\nfunction gtk_text_iter_get_visible_slice(start, end) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_text_iter_get_visible_slice\n  type(c_ptr), value :: start\n  type(c_ptr), value :: end\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!char *gtk_text_iter_get_visible_text (const GtkTextIter *start, const GtkTextIter *end);\nfunction gtk_text_iter_get_visible_text(start, end) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_text_iter_get_visible_text\n  type(c_ptr), value :: start\n  type(c_ptr), value :: end\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkPaintable *gtk_text_iter_get_paintable (const GtkTextIter *iter);\nfunction gtk_text_iter_get_paintable(iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_text_iter_get_paintable\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GSList *gtk_text_iter_get_marks (const GtkTextIter *iter);\nfunction gtk_text_iter_get_marks(iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_text_iter_get_marks\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkTextChildAnchor* gtk_text_iter_get_child_anchor (const GtkTextIter *iter);\nfunction gtk_text_iter_get_child_anchor(iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_text_iter_get_child_anchor\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GSList *gtk_text_iter_get_toggled_tags (const GtkTextIter *iter, gboolean toggled_on);\nfunction gtk_text_iter_get_toggled_tags(iter, toggled_on) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_text_iter_get_toggled_tags\n  type(c_ptr), value :: iter\n  integer(c_int), value :: toggled_on\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_starts_tag (const GtkTextIter *iter, GtkTextTag *tag);\nfunction gtk_text_iter_starts_tag(iter, tag) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_starts_tag\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: tag\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_ends_tag (const GtkTextIter *iter, GtkTextTag *tag);\nfunction gtk_text_iter_ends_tag(iter, tag) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_ends_tag\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: tag\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_toggles_tag (const GtkTextIter *iter, GtkTextTag *tag);\nfunction gtk_text_iter_toggles_tag(iter, tag) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_toggles_tag\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: tag\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_has_tag (const GtkTextIter *iter, GtkTextTag *tag);\nfunction gtk_text_iter_has_tag(iter, tag) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_has_tag\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: tag\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GSList *gtk_text_iter_get_tags (const GtkTextIter *iter);\nfunction gtk_text_iter_get_tags(iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_text_iter_get_tags\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_editable (const GtkTextIter *iter, gboolean default_setting);\nfunction gtk_text_iter_editable(iter, default_setting) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_editable\n  type(c_ptr), value :: iter\n  integer(c_int), value :: default_setting\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_can_insert (const GtkTextIter *iter, gboolean default_editability);\nfunction gtk_text_iter_can_insert(iter, default_editability) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_can_insert\n  type(c_ptr), value :: iter\n  integer(c_int), value :: default_editability\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_starts_word (const GtkTextIter *iter);\nfunction gtk_text_iter_starts_word(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_starts_word\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_ends_word (const GtkTextIter *iter);\nfunction gtk_text_iter_ends_word(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_ends_word\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_inside_word (const GtkTextIter *iter);\nfunction gtk_text_iter_inside_word(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_inside_word\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_starts_sentence (const GtkTextIter *iter);\nfunction gtk_text_iter_starts_sentence(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_starts_sentence\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_ends_sentence (const GtkTextIter *iter);\nfunction gtk_text_iter_ends_sentence(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_ends_sentence\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_inside_sentence (const GtkTextIter *iter);\nfunction gtk_text_iter_inside_sentence(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_inside_sentence\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_starts_line (const GtkTextIter *iter);\nfunction gtk_text_iter_starts_line(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_starts_line\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_ends_line (const GtkTextIter *iter);\nfunction gtk_text_iter_ends_line(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_ends_line\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_is_cursor_position (const GtkTextIter *iter);\nfunction gtk_text_iter_is_cursor_position(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_is_cursor_position\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_text_iter_get_chars_in_line (const GtkTextIter *iter);\nfunction gtk_text_iter_get_chars_in_line(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_get_chars_in_line\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_text_iter_get_bytes_in_line (const GtkTextIter *iter);\nfunction gtk_text_iter_get_bytes_in_line(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_get_bytes_in_line\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!PangoLanguage* gtk_text_iter_get_language (const GtkTextIter *iter);\nfunction gtk_text_iter_get_language(iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_text_iter_get_language\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_is_end (const GtkTextIter *iter);\nfunction gtk_text_iter_is_end(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_is_end\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_is_start (const GtkTextIter *iter);\nfunction gtk_text_iter_is_start(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_is_start\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_forward_char (GtkTextIter *iter);\nfunction gtk_text_iter_forward_char(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_forward_char\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_backward_char (GtkTextIter *iter);\nfunction gtk_text_iter_backward_char(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_backward_char\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_forward_chars (GtkTextIter *iter, int count);\nfunction gtk_text_iter_forward_chars(iter, count) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_forward_chars\n  type(c_ptr), value :: iter\n  integer(c_int), value :: count\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_backward_chars (GtkTextIter *iter, int count);\nfunction gtk_text_iter_backward_chars(iter, count) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_backward_chars\n  type(c_ptr), value :: iter\n  integer(c_int), value :: count\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_forward_line (GtkTextIter *iter);\nfunction gtk_text_iter_forward_line(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_forward_line\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_backward_line (GtkTextIter *iter);\nfunction gtk_text_iter_backward_line(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_backward_line\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_forward_lines (GtkTextIter *iter, int count);\nfunction gtk_text_iter_forward_lines(iter, count) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_forward_lines\n  type(c_ptr), value :: iter\n  integer(c_int), value :: count\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_backward_lines (GtkTextIter *iter, int count);\nfunction gtk_text_iter_backward_lines(iter, count) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_backward_lines\n  type(c_ptr), value :: iter\n  integer(c_int), value :: count\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_forward_word_end (GtkTextIter *iter);\nfunction gtk_text_iter_forward_word_end(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_forward_word_end\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_backward_word_start (GtkTextIter *iter);\nfunction gtk_text_iter_backward_word_start(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_backward_word_start\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_forward_word_ends (GtkTextIter *iter, int count);\nfunction gtk_text_iter_forward_word_ends(iter, count) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_forward_word_ends\n  type(c_ptr), value :: iter\n  integer(c_int), value :: count\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_backward_word_starts (GtkTextIter *iter, int count);\nfunction gtk_text_iter_backward_word_starts(iter, count) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_backward_word_starts\n  type(c_ptr), value :: iter\n  integer(c_int), value :: count\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_forward_visible_line (GtkTextIter *iter);\nfunction gtk_text_iter_forward_visible_line(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_forward_visible_line\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_backward_visible_line (GtkTextIter *iter);\nfunction gtk_text_iter_backward_visible_line(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_backward_visible_line\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_forward_visible_lines (GtkTextIter *iter, int count);\nfunction gtk_text_iter_forward_visible_lines(iter, count) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_forward_visible_lines\n  type(c_ptr), value :: iter\n  integer(c_int), value :: count\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_backward_visible_lines (GtkTextIter *iter, int count);\nfunction gtk_text_iter_backward_visible_lines(iter, count) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_backward_visible_lines\n  type(c_ptr), value :: iter\n  integer(c_int), value :: count\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_forward_visible_word_end (GtkTextIter *iter);\nfunction gtk_text_iter_forward_visible_word_end(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_forward_visible_word_end\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_backward_visible_word_start (GtkTextIter *iter);\nfunction gtk_text_iter_backward_visible_word_start(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_backward_visible_word_start\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_forward_visible_word_ends (GtkTextIter *iter, int count);\nfunction gtk_text_iter_forward_visible_word_ends(iter, count) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_forward_visible_word_ends\n  type(c_ptr), value :: iter\n  integer(c_int), value :: count\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_backward_visible_word_starts (GtkTextIter *iter, int count);\nfunction gtk_text_iter_backward_visible_word_starts(iter, count) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_backward_visible_word_starts\n  type(c_ptr), value :: iter\n  integer(c_int), value :: count\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_forward_sentence_end (GtkTextIter *iter);\nfunction gtk_text_iter_forward_sentence_end(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_forward_sentence_end\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_backward_sentence_start (GtkTextIter *iter);\nfunction gtk_text_iter_backward_sentence_start(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_backward_sentence_start\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_forward_sentence_ends (GtkTextIter *iter, int count);\nfunction gtk_text_iter_forward_sentence_ends(iter, count) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_forward_sentence_ends\n  type(c_ptr), value :: iter\n  integer(c_int), value :: count\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_backward_sentence_starts (GtkTextIter *iter, int count);\nfunction gtk_text_iter_backward_sentence_starts(iter, count) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_backward_sentence_starts\n  type(c_ptr), value :: iter\n  integer(c_int), value :: count\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_forward_cursor_position (GtkTextIter *iter);\nfunction gtk_text_iter_forward_cursor_position(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_forward_cursor_position\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_backward_cursor_position (GtkTextIter *iter);\nfunction gtk_text_iter_backward_cursor_position(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_backward_cursor_position\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_forward_cursor_positions (GtkTextIter *iter, int count);\nfunction gtk_text_iter_forward_cursor_positions(iter, count) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_forward_cursor_positions\n  type(c_ptr), value :: iter\n  integer(c_int), value :: count\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_backward_cursor_positions (GtkTextIter *iter, int count);\nfunction gtk_text_iter_backward_cursor_positions(iter, count) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_backward_cursor_positions\n  type(c_ptr), value :: iter\n  integer(c_int), value :: count\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_forward_visible_cursor_position (GtkTextIter *iter);\nfunction gtk_text_iter_forward_visible_cursor_position(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_forward_visible_cursor_position\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_backward_visible_cursor_position (GtkTextIter *iter);\nfunction gtk_text_iter_backward_visible_cursor_position(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_backward_visible_cursor_position\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_forward_visible_cursor_positions (GtkTextIter *iter, int count);\nfunction gtk_text_iter_forward_visible_cursor_positions(iter, count) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_forward_visible_cursor_positions\n  type(c_ptr), value :: iter\n  integer(c_int), value :: count\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_backward_visible_cursor_positions (GtkTextIter *iter, int count);\nfunction gtk_text_iter_backward_visible_cursor_positions(iter, count) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_backward_visible_cursor_positions\n  type(c_ptr), value :: iter\n  integer(c_int), value :: count\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_iter_set_offset (GtkTextIter *iter, int char_offset);\nsubroutine gtk_text_iter_set_offset(iter, char_offset) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: iter\n  integer(c_int), value :: char_offset\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_iter_set_line (GtkTextIter *iter, int line_number);\nsubroutine gtk_text_iter_set_line(iter, line_number) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: iter\n  integer(c_int), value :: line_number\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_iter_set_line_offset (GtkTextIter *iter, int char_on_line);\nsubroutine gtk_text_iter_set_line_offset(iter, char_on_line) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: iter\n  integer(c_int), value :: char_on_line\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_iter_set_line_index (GtkTextIter *iter, int byte_on_line);\nsubroutine gtk_text_iter_set_line_index(iter, byte_on_line) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: iter\n  integer(c_int), value :: byte_on_line\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_iter_forward_to_end (GtkTextIter *iter);\nsubroutine gtk_text_iter_forward_to_end(iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: iter\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_forward_to_line_end (GtkTextIter *iter);\nfunction gtk_text_iter_forward_to_line_end(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_forward_to_line_end\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_iter_set_visible_line_offset (GtkTextIter *iter, int char_on_line);\nsubroutine gtk_text_iter_set_visible_line_offset(iter, char_on_line) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: iter\n  integer(c_int), value :: char_on_line\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_iter_set_visible_line_index (GtkTextIter *iter, int byte_on_line);\nsubroutine gtk_text_iter_set_visible_line_index(iter, byte_on_line) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: iter\n  integer(c_int), value :: byte_on_line\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_forward_to_tag_toggle (GtkTextIter *iter, GtkTextTag *tag);\nfunction gtk_text_iter_forward_to_tag_toggle(iter, tag) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_forward_to_tag_toggle\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: tag\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_backward_to_tag_toggle (GtkTextIter *iter, GtkTextTag *tag);\nfunction gtk_text_iter_backward_to_tag_toggle(iter, tag) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_backward_to_tag_toggle\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: tag\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_forward_find_char (GtkTextIter *iter, GtkTextCharPredicate pred, gpointer user_data, const GtkTextIter *limit);\nfunction gtk_text_iter_forward_find_char(iter, pred, user_data, limit) bind(c)\n  import :: c_int, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_forward_find_char\n  type(c_ptr), value :: iter\n  type(c_funptr), value :: pred\n  type(c_ptr), value :: user_data\n  type(c_ptr), value :: limit\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_backward_find_char (GtkTextIter *iter, GtkTextCharPredicate pred, gpointer user_data, const GtkTextIter *limit);\nfunction gtk_text_iter_backward_find_char(iter, pred, user_data, limit) bind(c)\n  import :: c_int, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_backward_find_char\n  type(c_ptr), value :: iter\n  type(c_funptr), value :: pred\n  type(c_ptr), value :: user_data\n  type(c_ptr), value :: limit\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_forward_search (const GtkTextIter *iter, const char *str, GtkTextSearchFlags flags, GtkTextIter *match_start, GtkTextIter *match_end, const GtkTextIter *limit);\nfunction gtk_text_iter_forward_search(iter, str, flags, match_start, match_end,&\n& limit) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_text_iter_forward_search\n  type(c_ptr), value :: iter\n  character(kind=c_char), dimension(*) :: str\n  integer(c_int), value :: flags\n  type(c_ptr), value :: match_start\n  type(c_ptr), value :: match_end\n  type(c_ptr), value :: limit\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_backward_search (const GtkTextIter *iter, const char *str, GtkTextSearchFlags flags, GtkTextIter *match_start, GtkTextIter *match_end, const GtkTextIter *limit);\nfunction gtk_text_iter_backward_search(iter, str, flags, match_start,&\n& match_end, limit) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_text_iter_backward_search\n  type(c_ptr), value :: iter\n  character(kind=c_char), dimension(*) :: str\n  integer(c_int), value :: flags\n  type(c_ptr), value :: match_start\n  type(c_ptr), value :: match_end\n  type(c_ptr), value :: limit\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_equal (const GtkTextIter *lhs, const GtkTextIter *rhs);\nfunction gtk_text_iter_equal(lhs, rhs) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_equal\n  type(c_ptr), value :: lhs\n  type(c_ptr), value :: rhs\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_text_iter_compare (const GtkTextIter *lhs, const GtkTextIter *rhs);\nfunction gtk_text_iter_compare(lhs, rhs) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_compare\n  type(c_ptr), value :: lhs\n  type(c_ptr), value :: rhs\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_iter_in_range (const GtkTextIter *iter, const GtkTextIter *start, const GtkTextIter *end);\nfunction gtk_text_iter_in_range(iter, start, end) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_iter_in_range\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: start\n  type(c_ptr), value :: end\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_iter_order (GtkTextIter *first, GtkTextIter *second);\nsubroutine gtk_text_iter_order(first, second) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: first\n  type(c_ptr), value :: second\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtktextmark.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_text_mark_get_type (void) ;\nfunction gtk_text_mark_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_text_mark_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkTextMark *gtk_text_mark_new (const char *name, gboolean left_gravity);\nfunction gtk_text_mark_new(name, left_gravity) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: gtk_text_mark_new\n  character(kind=c_char), dimension(*) :: name\n  integer(c_int), value :: left_gravity\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_mark_set_visible (GtkTextMark *mark, gboolean setting);\nsubroutine gtk_text_mark_set_visible(mark, setting) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: mark\n  integer(c_int), value :: setting\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_mark_get_visible (GtkTextMark *mark);\nfunction gtk_text_mark_get_visible(mark) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_mark_get_visible\n  type(c_ptr), value :: mark\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_text_mark_get_name (GtkTextMark *mark);\nfunction gtk_text_mark_get_name(mark) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_text_mark_get_name\n  type(c_ptr), value :: mark\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_mark_get_deleted (GtkTextMark *mark);\nfunction gtk_text_mark_get_deleted(mark) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_mark_get_deleted\n  type(c_ptr), value :: mark\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkTextBuffer* gtk_text_mark_get_buffer (GtkTextMark *mark);\nfunction gtk_text_mark_get_buffer(mark) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_text_mark_get_buffer\n  type(c_ptr), value :: mark\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_mark_get_left_gravity (GtkTextMark *mark);\nfunction gtk_text_mark_get_left_gravity(mark) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_mark_get_left_gravity\n  type(c_ptr), value :: mark\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtktexttag.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_text_tag_get_type (void) ;\nfunction gtk_text_tag_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_text_tag_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkTextTag *gtk_text_tag_new (const char *name);\nfunction gtk_text_tag_new(name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_text_tag_new\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_text_tag_get_priority (GtkTextTag *tag);\nfunction gtk_text_tag_get_priority(tag) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_tag_get_priority\n  type(c_ptr), value :: tag\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_tag_set_priority (GtkTextTag *tag, int priority);\nsubroutine gtk_text_tag_set_priority(tag, priority) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tag\n  integer(c_int), value :: priority\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_tag_changed (GtkTextTag *tag, gboolean size_changed);\nsubroutine gtk_text_tag_changed(tag, size_changed) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tag\n  integer(c_int), value :: size_changed\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtktexttagtable.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_text_tag_table_get_type (void) ;\nfunction gtk_text_tag_table_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_text_tag_table_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkTextTagTable *gtk_text_tag_table_new (void);\nfunction gtk_text_tag_table_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_text_tag_table_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_tag_table_add (GtkTextTagTable *table, GtkTextTag *tag);\nfunction gtk_text_tag_table_add(table, tag) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_tag_table_add\n  type(c_ptr), value :: table\n  type(c_ptr), value :: tag\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_tag_table_remove (GtkTextTagTable *table, GtkTextTag *tag);\nsubroutine gtk_text_tag_table_remove(table, tag) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: table\n  type(c_ptr), value :: tag\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkTextTag *gtk_text_tag_table_lookup (GtkTextTagTable *table, const char *name);\nfunction gtk_text_tag_table_lookup(table, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_text_tag_table_lookup\n  type(c_ptr), value :: table\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_tag_table_foreach (GtkTextTagTable *table, GtkTextTagTableForeach func, gpointer data);\nsubroutine gtk_text_tag_table_foreach(table, func, data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: table\n  type(c_funptr), value :: func\n  type(c_ptr), value :: data\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_text_tag_table_get_size (GtkTextTagTable *table);\nfunction gtk_text_tag_table_get_size(table) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_tag_table_get_size\n  type(c_ptr), value :: table\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtktextview.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_text_view_get_type (void) ;\nfunction gtk_text_view_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_text_view_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_text_view_new (void);\nfunction gtk_text_view_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_text_view_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_text_view_new_with_buffer (GtkTextBuffer *buffer);\nfunction gtk_text_view_new_with_buffer(buffer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_text_view_new_with_buffer\n  type(c_ptr), value :: buffer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_view_set_buffer (GtkTextView *text_view, GtkTextBuffer *buffer);\nsubroutine gtk_text_view_set_buffer(text_view, buffer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: text_view\n  type(c_ptr), value :: buffer\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkTextBuffer *gtk_text_view_get_buffer (GtkTextView *text_view);\nfunction gtk_text_view_get_buffer(text_view) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_text_view_get_buffer\n  type(c_ptr), value :: text_view\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_view_scroll_to_iter (GtkTextView *text_view, GtkTextIter *iter, double within_margin, gboolean use_align, double xalign, double yalign);\nfunction gtk_text_view_scroll_to_iter(text_view, iter, within_margin,&\n& use_align, xalign, yalign) bind(c)\n  import :: c_int, c_ptr, c_double\n  implicit none\n  integer(c_int) :: gtk_text_view_scroll_to_iter\n  type(c_ptr), value :: text_view\n  type(c_ptr), value :: iter\n  real(c_double), value :: within_margin\n  integer(c_int), value :: use_align\n  real(c_double), value :: xalign\n  real(c_double), value :: yalign\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_view_scroll_to_mark (GtkTextView *text_view, GtkTextMark *mark, double within_margin, gboolean use_align, double xalign, double yalign);\nsubroutine gtk_text_view_scroll_to_mark(text_view, mark, within_margin,&\n& use_align, xalign, yalign) bind(c)\n  import :: c_ptr, c_double, c_int\n  implicit none\n  type(c_ptr), value :: text_view\n  type(c_ptr), value :: mark\n  real(c_double), value :: within_margin\n  integer(c_int), value :: use_align\n  real(c_double), value :: xalign\n  real(c_double), value :: yalign\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_view_scroll_mark_onscreen (GtkTextView *text_view, GtkTextMark *mark);\nsubroutine gtk_text_view_scroll_mark_onscreen(text_view, mark) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: text_view\n  type(c_ptr), value :: mark\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_view_move_mark_onscreen (GtkTextView *text_view, GtkTextMark *mark);\nfunction gtk_text_view_move_mark_onscreen(text_view, mark) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_view_move_mark_onscreen\n  type(c_ptr), value :: text_view\n  type(c_ptr), value :: mark\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_view_place_cursor_onscreen (GtkTextView *text_view);\nfunction gtk_text_view_place_cursor_onscreen(text_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_view_place_cursor_onscreen\n  type(c_ptr), value :: text_view\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_view_get_visible_rect (GtkTextView *text_view, GdkRectangle *visible_rect);\nsubroutine gtk_text_view_get_visible_rect(text_view, visible_rect) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: text_view\n  type(c_ptr), value :: visible_rect\nend subroutine\n\n! GDK_AVAILABLE_IN_4_18\n!void gtk_text_view_get_visible_offset (GtkTextView *text_view, double *x_offset, double *y_offset);\nsubroutine gtk_text_view_get_visible_offset(text_view, x_offset, y_offset)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: text_view\n  type(c_ptr), value :: x_offset\n  type(c_ptr), value :: y_offset\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_view_set_cursor_visible (GtkTextView *text_view, gboolean setting);\nsubroutine gtk_text_view_set_cursor_visible(text_view, setting) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: text_view\n  integer(c_int), value :: setting\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_view_get_cursor_visible (GtkTextView *text_view);\nfunction gtk_text_view_get_cursor_visible(text_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_view_get_cursor_visible\n  type(c_ptr), value :: text_view\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_view_reset_cursor_blink (GtkTextView *text_view);\nsubroutine gtk_text_view_reset_cursor_blink(text_view) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: text_view\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_view_get_cursor_locations (GtkTextView *text_view, const GtkTextIter *iter, GdkRectangle *strong, GdkRectangle *weak);\nsubroutine gtk_text_view_get_cursor_locations(text_view, iter, strong, weak)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: text_view\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: strong\n  type(c_ptr), value :: weak\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_view_get_iter_location (GtkTextView *text_view, const GtkTextIter *iter, GdkRectangle *location);\nsubroutine gtk_text_view_get_iter_location(text_view, iter, location) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: text_view\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: location\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_view_get_iter_at_location (GtkTextView *text_view, GtkTextIter *iter, int x, int y);\nfunction gtk_text_view_get_iter_at_location(text_view, iter, x, y) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_view_get_iter_at_location\n  type(c_ptr), value :: text_view\n  type(c_ptr), value :: iter\n  integer(c_int), value :: x\n  integer(c_int), value :: y\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_view_get_iter_at_position (GtkTextView *text_view, GtkTextIter *iter, int *trailing, int x, int y);\nfunction gtk_text_view_get_iter_at_position(text_view, iter, trailing, x, y)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_view_get_iter_at_position\n  type(c_ptr), value :: text_view\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: trailing\n  integer(c_int), value :: x\n  integer(c_int), value :: y\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_view_get_line_yrange (GtkTextView *text_view, const GtkTextIter *iter, int *y, int *height);\nsubroutine gtk_text_view_get_line_yrange(text_view, iter, y, height) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: text_view\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: y\n  type(c_ptr), value :: height\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_view_get_line_at_y (GtkTextView *text_view, GtkTextIter *target_iter, int y, int *line_top);\nsubroutine gtk_text_view_get_line_at_y(text_view, target_iter, y, line_top)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: text_view\n  type(c_ptr), value :: target_iter\n  integer(c_int), value :: y\n  type(c_ptr), value :: line_top\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_view_buffer_to_window_coords (GtkTextView *text_view, GtkTextWindowType win, int buffer_x, int buffer_y, int *window_x, int *window_y);\nsubroutine gtk_text_view_buffer_to_window_coords(text_view, win, buffer_x,&\n& buffer_y, window_x, window_y) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: text_view\n  integer(c_int), value :: win\n  integer(c_int), value :: buffer_x\n  integer(c_int), value :: buffer_y\n  type(c_ptr), value :: window_x\n  type(c_ptr), value :: window_y\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_view_window_to_buffer_coords (GtkTextView *text_view, GtkTextWindowType win, int window_x, int window_y, int *buffer_x, int *buffer_y);\nsubroutine gtk_text_view_window_to_buffer_coords(text_view, win, window_x,&\n& window_y, buffer_x, buffer_y) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: text_view\n  integer(c_int), value :: win\n  integer(c_int), value :: window_x\n  integer(c_int), value :: window_y\n  type(c_ptr), value :: buffer_x\n  type(c_ptr), value :: buffer_y\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_view_forward_display_line (GtkTextView *text_view, GtkTextIter *iter);\nfunction gtk_text_view_forward_display_line(text_view, iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_view_forward_display_line\n  type(c_ptr), value :: text_view\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_view_backward_display_line (GtkTextView *text_view, GtkTextIter *iter);\nfunction gtk_text_view_backward_display_line(text_view, iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_view_backward_display_line\n  type(c_ptr), value :: text_view\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_view_forward_display_line_end (GtkTextView *text_view, GtkTextIter *iter);\nfunction gtk_text_view_forward_display_line_end(text_view, iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_view_forward_display_line_end\n  type(c_ptr), value :: text_view\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_view_backward_display_line_start (GtkTextView *text_view, GtkTextIter *iter);\nfunction gtk_text_view_backward_display_line_start(text_view, iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_view_backward_display_line_start\n  type(c_ptr), value :: text_view\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_view_starts_display_line (GtkTextView *text_view, const GtkTextIter *iter);\nfunction gtk_text_view_starts_display_line(text_view, iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_view_starts_display_line\n  type(c_ptr), value :: text_view\n  type(c_ptr), value :: iter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_view_move_visually (GtkTextView *text_view, GtkTextIter *iter, int count);\nfunction gtk_text_view_move_visually(text_view, iter, count) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_view_move_visually\n  type(c_ptr), value :: text_view\n  type(c_ptr), value :: iter\n  integer(c_int), value :: count\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_view_im_context_filter_keypress (GtkTextView *text_view, GdkEvent *event);\nfunction gtk_text_view_im_context_filter_keypress(text_view, event) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_view_im_context_filter_keypress\n  type(c_ptr), value :: text_view\n  type(c_ptr), value :: event\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_view_reset_im_context (GtkTextView *text_view);\nsubroutine gtk_text_view_reset_im_context(text_view) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: text_view\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget *gtk_text_view_get_gutter (GtkTextView *text_view, GtkTextWindowType win);\nfunction gtk_text_view_get_gutter(text_view, win) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_text_view_get_gutter\n  type(c_ptr), value :: text_view\n  integer(c_int), value :: win\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_view_set_gutter (GtkTextView *text_view, GtkTextWindowType win, GtkWidget *widget);\nsubroutine gtk_text_view_set_gutter(text_view, win, widget) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: text_view\n  integer(c_int), value :: win\n  type(c_ptr), value :: widget\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_view_add_child_at_anchor (GtkTextView *text_view, GtkWidget *child, GtkTextChildAnchor *anchor);\nsubroutine gtk_text_view_add_child_at_anchor(text_view, child, anchor) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: text_view\n  type(c_ptr), value :: child\n  type(c_ptr), value :: anchor\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_view_add_overlay (GtkTextView *text_view, GtkWidget *child, int xpos, int ypos);\nsubroutine gtk_text_view_add_overlay(text_view, child, xpos, ypos) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: text_view\n  type(c_ptr), value :: child\n  integer(c_int), value :: xpos\n  integer(c_int), value :: ypos\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_view_move_overlay (GtkTextView *text_view, GtkWidget *child, int xpos, int ypos);\nsubroutine gtk_text_view_move_overlay(text_view, child, xpos, ypos) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: text_view\n  type(c_ptr), value :: child\n  integer(c_int), value :: xpos\n  integer(c_int), value :: ypos\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_view_remove (GtkTextView *text_view, GtkWidget *child);\nsubroutine gtk_text_view_remove(text_view, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: text_view\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_view_set_wrap_mode (GtkTextView *text_view, GtkWrapMode wrap_mode);\nsubroutine gtk_text_view_set_wrap_mode(text_view, wrap_mode) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: text_view\n  integer(c_int), value :: wrap_mode\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWrapMode gtk_text_view_get_wrap_mode (GtkTextView *text_view);\nfunction gtk_text_view_get_wrap_mode(text_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_view_get_wrap_mode\n  type(c_ptr), value :: text_view\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_view_set_editable (GtkTextView *text_view, gboolean setting);\nsubroutine gtk_text_view_set_editable(text_view, setting) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: text_view\n  integer(c_int), value :: setting\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_view_get_editable (GtkTextView *text_view);\nfunction gtk_text_view_get_editable(text_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_view_get_editable\n  type(c_ptr), value :: text_view\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_view_set_overwrite (GtkTextView *text_view, gboolean overwrite);\nsubroutine gtk_text_view_set_overwrite(text_view, overwrite) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: text_view\n  integer(c_int), value :: overwrite\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_view_get_overwrite (GtkTextView *text_view);\nfunction gtk_text_view_get_overwrite(text_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_view_get_overwrite\n  type(c_ptr), value :: text_view\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_view_set_accepts_tab (GtkTextView *text_view, gboolean accepts_tab);\nsubroutine gtk_text_view_set_accepts_tab(text_view, accepts_tab) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: text_view\n  integer(c_int), value :: accepts_tab\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_view_get_accepts_tab (GtkTextView *text_view);\nfunction gtk_text_view_get_accepts_tab(text_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_view_get_accepts_tab\n  type(c_ptr), value :: text_view\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_view_set_pixels_above_lines (GtkTextView *text_view, int pixels_above_lines);\nsubroutine gtk_text_view_set_pixels_above_lines(text_view, pixels_above_lines)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: text_view\n  integer(c_int), value :: pixels_above_lines\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_text_view_get_pixels_above_lines (GtkTextView *text_view);\nfunction gtk_text_view_get_pixels_above_lines(text_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_view_get_pixels_above_lines\n  type(c_ptr), value :: text_view\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_view_set_pixels_below_lines (GtkTextView *text_view, int pixels_below_lines);\nsubroutine gtk_text_view_set_pixels_below_lines(text_view, pixels_below_lines)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: text_view\n  integer(c_int), value :: pixels_below_lines\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_text_view_get_pixels_below_lines (GtkTextView *text_view);\nfunction gtk_text_view_get_pixels_below_lines(text_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_view_get_pixels_below_lines\n  type(c_ptr), value :: text_view\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_view_set_pixels_inside_wrap (GtkTextView *text_view, int pixels_inside_wrap);\nsubroutine gtk_text_view_set_pixels_inside_wrap(text_view, pixels_inside_wrap)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: text_view\n  integer(c_int), value :: pixels_inside_wrap\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_text_view_get_pixels_inside_wrap (GtkTextView *text_view);\nfunction gtk_text_view_get_pixels_inside_wrap(text_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_view_get_pixels_inside_wrap\n  type(c_ptr), value :: text_view\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_view_set_justification (GtkTextView *text_view, GtkJustification justification);\nsubroutine gtk_text_view_set_justification(text_view, justification) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: text_view\n  integer(c_int), value :: justification\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkJustification gtk_text_view_get_justification (GtkTextView *text_view);\nfunction gtk_text_view_get_justification(text_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_view_get_justification\n  type(c_ptr), value :: text_view\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_view_set_left_margin (GtkTextView *text_view, int left_margin);\nsubroutine gtk_text_view_set_left_margin(text_view, left_margin) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: text_view\n  integer(c_int), value :: left_margin\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_text_view_get_left_margin (GtkTextView *text_view);\nfunction gtk_text_view_get_left_margin(text_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_view_get_left_margin\n  type(c_ptr), value :: text_view\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_view_set_right_margin (GtkTextView *text_view, int right_margin);\nsubroutine gtk_text_view_set_right_margin(text_view, right_margin) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: text_view\n  integer(c_int), value :: right_margin\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_text_view_get_right_margin (GtkTextView *text_view);\nfunction gtk_text_view_get_right_margin(text_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_view_get_right_margin\n  type(c_ptr), value :: text_view\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_view_set_top_margin (GtkTextView *text_view, int top_margin);\nsubroutine gtk_text_view_set_top_margin(text_view, top_margin) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: text_view\n  integer(c_int), value :: top_margin\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_text_view_get_top_margin (GtkTextView *text_view);\nfunction gtk_text_view_get_top_margin(text_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_view_get_top_margin\n  type(c_ptr), value :: text_view\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_view_set_bottom_margin (GtkTextView *text_view, int bottom_margin);\nsubroutine gtk_text_view_set_bottom_margin(text_view, bottom_margin) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: text_view\n  integer(c_int), value :: bottom_margin\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_text_view_get_bottom_margin (GtkTextView *text_view);\nfunction gtk_text_view_get_bottom_margin(text_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_view_get_bottom_margin\n  type(c_ptr), value :: text_view\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_view_set_indent (GtkTextView *text_view, int indent);\nsubroutine gtk_text_view_set_indent(text_view, indent) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: text_view\n  integer(c_int), value :: indent\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_text_view_get_indent (GtkTextView *text_view);\nfunction gtk_text_view_get_indent(text_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_view_get_indent\n  type(c_ptr), value :: text_view\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_view_set_tabs (GtkTextView *text_view, PangoTabArray *tabs);\nsubroutine gtk_text_view_set_tabs(text_view, tabs) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: text_view\n  type(c_ptr), value :: tabs\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!PangoTabArray* gtk_text_view_get_tabs (GtkTextView *text_view);\nfunction gtk_text_view_get_tabs(text_view) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_text_view_get_tabs\n  type(c_ptr), value :: text_view\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_view_set_input_purpose (GtkTextView *text_view, GtkInputPurpose purpose);\nsubroutine gtk_text_view_set_input_purpose(text_view, purpose) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: text_view\n  integer(c_int), value :: purpose\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkInputPurpose gtk_text_view_get_input_purpose (GtkTextView *text_view);\nfunction gtk_text_view_get_input_purpose(text_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_view_get_input_purpose\n  type(c_ptr), value :: text_view\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_view_set_input_hints (GtkTextView *text_view, GtkInputHints hints);\nsubroutine gtk_text_view_set_input_hints(text_view, hints) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: text_view\n  integer(c_int), value :: hints\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkInputHints gtk_text_view_get_input_hints (GtkTextView *text_view);\nfunction gtk_text_view_get_input_hints(text_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_view_get_input_hints\n  type(c_ptr), value :: text_view\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_view_set_monospace (GtkTextView *text_view, gboolean monospace);\nsubroutine gtk_text_view_set_monospace(text_view, monospace) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: text_view\n  integer(c_int), value :: monospace\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_text_view_get_monospace (GtkTextView *text_view);\nfunction gtk_text_view_get_monospace(text_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_text_view_get_monospace\n  type(c_ptr), value :: text_view\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_text_view_set_extra_menu (GtkTextView *text_view, GMenuModel *model);\nsubroutine gtk_text_view_set_extra_menu(text_view, model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: text_view\n  type(c_ptr), value :: model\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GMenuModel * gtk_text_view_get_extra_menu (GtkTextView *text_view);\nfunction gtk_text_view_get_extra_menu(text_view) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_text_view_get_extra_menu\n  type(c_ptr), value :: text_view\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!PangoContext *gtk_text_view_get_rtl_context (GtkTextView *text_view);\nfunction gtk_text_view_get_rtl_context(text_view) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_text_view_get_rtl_context\n  type(c_ptr), value :: text_view\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!PangoContext *gtk_text_view_get_ltr_context (GtkTextView *text_view);\nfunction gtk_text_view_get_ltr_context(text_view) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_text_view_get_ltr_context\n  type(c_ptr), value :: text_view\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtktogglebutton.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_toggle_button_get_type (void) ;\nfunction gtk_toggle_button_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_toggle_button_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_toggle_button_new (void);\nfunction gtk_toggle_button_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_toggle_button_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_toggle_button_new_with_label (const char *label);\nfunction gtk_toggle_button_new_with_label(label) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_toggle_button_new_with_label\n  character(kind=c_char), dimension(*) :: label\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_toggle_button_new_with_mnemonic (const char *label);\nfunction gtk_toggle_button_new_with_mnemonic(label) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_toggle_button_new_with_mnemonic\n  character(kind=c_char), dimension(*) :: label\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_toggle_button_set_active (GtkToggleButton *toggle_button, gboolean is_active);\nsubroutine gtk_toggle_button_set_active(toggle_button, is_active) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: toggle_button\n  integer(c_int), value :: is_active\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_toggle_button_get_active (GtkToggleButton *toggle_button);\nfunction gtk_toggle_button_get_active(toggle_button) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_toggle_button_get_active\n  type(c_ptr), value :: toggle_button\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_toggle_button_toggled (GtkToggleButton *toggle_button);\nsubroutine gtk_toggle_button_toggled(toggle_button) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: toggle_button\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_toggle_button_set_group (GtkToggleButton *toggle_button, GtkToggleButton *group);\nsubroutine gtk_toggle_button_set_group(toggle_button, group) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: toggle_button\n  type(c_ptr), value :: group\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtktooltip.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_tooltip_get_type (void);\nfunction gtk_tooltip_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_tooltip_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_tooltip_set_markup (GtkTooltip *tooltip, const char *markup);\nsubroutine gtk_tooltip_set_markup(tooltip, markup) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: tooltip\n  character(kind=c_char), dimension(*) :: markup\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_tooltip_set_text (GtkTooltip *tooltip, const char *text);\nsubroutine gtk_tooltip_set_text(tooltip, text) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: tooltip\n  character(kind=c_char), dimension(*) :: text\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_tooltip_set_icon (GtkTooltip *tooltip, GdkPaintable *paintable);\nsubroutine gtk_tooltip_set_icon(tooltip, paintable) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tooltip\n  type(c_ptr), value :: paintable\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_tooltip_set_icon_from_icon_name (GtkTooltip *tooltip, const char *icon_name);\nsubroutine gtk_tooltip_set_icon_from_icon_name(tooltip, icon_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: tooltip\n  character(kind=c_char), dimension(*) :: icon_name\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_tooltip_set_icon_from_gicon (GtkTooltip *tooltip, GIcon *gicon);\nsubroutine gtk_tooltip_set_icon_from_gicon(tooltip, gicon) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tooltip\n  type(c_ptr), value :: gicon\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_tooltip_set_custom (GtkTooltip *tooltip, GtkWidget *custom_widget);\nsubroutine gtk_tooltip_set_custom(tooltip, custom_widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tooltip\n  type(c_ptr), value :: custom_widget\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_tooltip_set_tip_area (GtkTooltip *tooltip, const GdkRectangle *rect);\nsubroutine gtk_tooltip_set_tip_area(tooltip, rect) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tooltip\n  type(c_ptr), value :: rect\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtktreeexpander.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_tree_expander_new (void);\nfunction gtk_tree_expander_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_expander_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_tree_expander_get_child (GtkTreeExpander *self);\nfunction gtk_tree_expander_get_child(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_expander_get_child\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_tree_expander_set_child (GtkTreeExpander *self, GtkWidget *child);\nsubroutine gtk_tree_expander_set_child(self, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gpointer gtk_tree_expander_get_item (GtkTreeExpander *self);\nfunction gtk_tree_expander_get_item(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_expander_get_item\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkTreeListRow * gtk_tree_expander_get_list_row (GtkTreeExpander *self);\nfunction gtk_tree_expander_get_list_row(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_expander_get_list_row\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_tree_expander_set_list_row (GtkTreeExpander *self, GtkTreeListRow *list_row);\nsubroutine gtk_tree_expander_set_list_row(self, list_row) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: list_row\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!gboolean gtk_tree_expander_get_indent_for_depth (GtkTreeExpander *self);\nfunction gtk_tree_expander_get_indent_for_depth(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_expander_get_indent_for_depth\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_tree_expander_set_indent_for_depth (GtkTreeExpander *self, gboolean indent_for_depth);\nsubroutine gtk_tree_expander_set_indent_for_depth(self, indent_for_depth)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: indent_for_depth\nend subroutine\n\n! GDK_AVAILABLE_IN_4_6\n!gboolean gtk_tree_expander_get_indent_for_icon (GtkTreeExpander *self);\nfunction gtk_tree_expander_get_indent_for_icon(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_expander_get_indent_for_icon\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_6\n!void gtk_tree_expander_set_indent_for_icon (GtkTreeExpander *self, gboolean indent_for_icon);\nsubroutine gtk_tree_expander_set_indent_for_icon(self, indent_for_icon) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: indent_for_icon\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!gboolean gtk_tree_expander_get_hide_expander (GtkTreeExpander *self);\nfunction gtk_tree_expander_get_hide_expander(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_expander_get_hide_expander\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_tree_expander_set_hide_expander (GtkTreeExpander *self, gboolean hide_expander);\nsubroutine gtk_tree_expander_set_hide_expander(self, hide_expander) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: hide_expander\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtktreelistmodel.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkTreeListModel * gtk_tree_list_model_new (GListModel *root, gboolean passthrough, gboolean autoexpand, GtkTreeListModelCreateModelFunc create_func, gpointer user_data, GDestroyNotify user_destroy);\nfunction gtk_tree_list_model_new(root, passthrough, autoexpand, create_func,&\n& user_data, user_destroy) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr) :: gtk_tree_list_model_new\n  type(c_ptr), value :: root\n  integer(c_int), value :: passthrough\n  integer(c_int), value :: autoexpand\n  type(c_funptr), value :: create_func\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: user_destroy\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GListModel * gtk_tree_list_model_get_model (GtkTreeListModel *self);\nfunction gtk_tree_list_model_get_model(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_list_model_get_model\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_tree_list_model_get_passthrough (GtkTreeListModel *self);\nfunction gtk_tree_list_model_get_passthrough(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_list_model_get_passthrough\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_tree_list_model_set_autoexpand (GtkTreeListModel *self, gboolean autoexpand);\nsubroutine gtk_tree_list_model_set_autoexpand(self, autoexpand) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: autoexpand\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_tree_list_model_get_autoexpand (GtkTreeListModel *self);\nfunction gtk_tree_list_model_get_autoexpand(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_list_model_get_autoexpand\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkTreeListRow * gtk_tree_list_model_get_child_row (GtkTreeListModel *self, guint position);\nfunction gtk_tree_list_model_get_child_row(self, position) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_tree_list_model_get_child_row\n  type(c_ptr), value :: self\n  integer(c_int), value :: position\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkTreeListRow * gtk_tree_list_model_get_row (GtkTreeListModel *self, guint position);\nfunction gtk_tree_list_model_get_row(self, position) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_tree_list_model_get_row\n  type(c_ptr), value :: self\n  integer(c_int), value :: position\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gpointer gtk_tree_list_row_get_item (GtkTreeListRow *self);\nfunction gtk_tree_list_row_get_item(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_list_row_get_item\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_tree_list_row_set_expanded (GtkTreeListRow *self, gboolean expanded);\nsubroutine gtk_tree_list_row_set_expanded(self, expanded) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: expanded\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_tree_list_row_get_expanded (GtkTreeListRow *self);\nfunction gtk_tree_list_row_get_expanded(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_list_row_get_expanded\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_tree_list_row_is_expandable (GtkTreeListRow *self);\nfunction gtk_tree_list_row_is_expandable(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_list_row_is_expandable\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_tree_list_row_get_position (GtkTreeListRow *self);\nfunction gtk_tree_list_row_get_position(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_list_row_get_position\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_tree_list_row_get_depth (GtkTreeListRow *self);\nfunction gtk_tree_list_row_get_depth(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_list_row_get_depth\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GListModel * gtk_tree_list_row_get_children (GtkTreeListRow *self);\nfunction gtk_tree_list_row_get_children(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_list_row_get_children\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkTreeListRow * gtk_tree_list_row_get_parent (GtkTreeListRow *self);\nfunction gtk_tree_list_row_get_parent(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_list_row_get_parent\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkTreeListRow * gtk_tree_list_row_get_child_row (GtkTreeListRow *self, guint position);\nfunction gtk_tree_list_row_get_child_row(self, position) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_tree_list_row_get_child_row\n  type(c_ptr), value :: self\n  integer(c_int), value :: position\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtktreelistrowsorter.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkTreeListRowSorter * gtk_tree_list_row_sorter_new (GtkSorter *sorter);\nfunction gtk_tree_list_row_sorter_new(sorter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_list_row_sorter_new\n  type(c_ptr), value :: sorter\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkSorter * gtk_tree_list_row_sorter_get_sorter (GtkTreeListRowSorter *self);\nfunction gtk_tree_list_row_sorter_get_sorter(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_list_row_sorter_get_sorter\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_tree_list_row_sorter_set_sorter (GtkTreeListRowSorter *self, GtkSorter *sorter);\nsubroutine gtk_tree_list_row_sorter_set_sorter(self, sorter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: sorter\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtktypebuiltins.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtktypes.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkurilauncher.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_4_10\n!GtkUriLauncher * gtk_uri_launcher_new (const char *uri);\nfunction gtk_uri_launcher_new(uri) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_uri_launcher_new\n  character(kind=c_char), dimension(*) :: uri\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!const char * gtk_uri_launcher_get_uri (GtkUriLauncher *self);\nfunction gtk_uri_launcher_get_uri(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_uri_launcher_get_uri\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_uri_launcher_set_uri (GtkUriLauncher *self, const char *uri);\nsubroutine gtk_uri_launcher_set_uri(self, uri) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: uri\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_uri_launcher_launch (GtkUriLauncher *self, GtkWindow *parent, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine gtk_uri_launcher_launch(self, parent, cancellable, callback,&\n& user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: parent\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!gboolean gtk_uri_launcher_launch_finish (GtkUriLauncher *self, GAsyncResult *result, GError **error);\nfunction gtk_uri_launcher_launch_finish(self, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_uri_launcher_launch_finish\n  type(c_ptr), value :: self\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_4_20\n!gboolean gtk_uri_launcher_can_launch (GtkUriLauncher *self, GtkWindow *parent);\nfunction gtk_uri_launcher_can_launch(self, parent) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_uri_launcher_can_launch\n  type(c_ptr), value :: self\n  type(c_ptr), value :: parent\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkversion.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_get_major_version (void) ;\nfunction gtk_get_major_version() bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: gtk_get_major_version\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_get_minor_version (void) ;\nfunction gtk_get_minor_version() bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: gtk_get_minor_version\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_get_micro_version (void) ;\nfunction gtk_get_micro_version() bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: gtk_get_micro_version\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_get_binary_age (void) ;\nfunction gtk_get_binary_age() bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: gtk_get_binary_age\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_get_interface_age (void) ;\nfunction gtk_get_interface_age() bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: gtk_get_interface_age\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_check_version (guint required_major, guint required_minor, guint required_micro);\nfunction gtk_check_version(required_major, required_minor, required_micro)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_check_version\n  integer(c_int), value :: required_major\n  integer(c_int), value :: required_minor\n  integer(c_int), value :: required_micro\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkvideo.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_video_new (void);\nfunction gtk_video_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_video_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_video_new_for_media_stream (GtkMediaStream *stream);\nfunction gtk_video_new_for_media_stream(stream) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_video_new_for_media_stream\n  type(c_ptr), value :: stream\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_video_new_for_file (GFile *file);\nfunction gtk_video_new_for_file(file) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_video_new_for_file\n  type(c_ptr), value :: file\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_video_new_for_filename (const char *filename);\nfunction gtk_video_new_for_filename(filename) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_video_new_for_filename\n  character(kind=c_char), dimension(*) :: filename\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_video_new_for_resource (const char *resource_path);\nfunction gtk_video_new_for_resource(resource_path) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_video_new_for_resource\n  character(kind=c_char), dimension(*) :: resource_path\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkMediaStream *gtk_video_get_media_stream (GtkVideo *self);\nfunction gtk_video_get_media_stream(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_video_get_media_stream\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_video_set_media_stream (GtkVideo *self, GtkMediaStream *stream);\nsubroutine gtk_video_set_media_stream(self, stream) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: stream\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GFile * gtk_video_get_file (GtkVideo *self);\nfunction gtk_video_get_file(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_video_get_file\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_video_set_file (GtkVideo *self, GFile *file);\nsubroutine gtk_video_set_file(self, file) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: file\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_video_set_filename (GtkVideo *self, const char *filename);\nsubroutine gtk_video_set_filename(self, filename) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: filename\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_video_set_resource (GtkVideo *self, const char *resource_path);\nsubroutine gtk_video_set_resource(self, resource_path) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: resource_path\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_video_get_autoplay (GtkVideo *self);\nfunction gtk_video_get_autoplay(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_video_get_autoplay\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_video_set_autoplay (GtkVideo *self, gboolean autoplay);\nsubroutine gtk_video_set_autoplay(self, autoplay) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: autoplay\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_video_get_loop (GtkVideo *self);\nfunction gtk_video_get_loop(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_video_get_loop\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_video_set_loop (GtkVideo *self, gboolean loop);\nsubroutine gtk_video_set_loop(self, loop) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: loop\nend subroutine\n\n! \n!GtkGraphicsOffloadEnabled gtk_video_get_graphics_offload (GtkVideo *self);\nfunction gtk_video_get_graphics_offload(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_video_get_graphics_offload\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!void gtk_video_set_graphics_offload (GtkVideo *self, GtkGraphicsOffloadEnabled enabled);\nsubroutine gtk_video_set_graphics_offload(self, enabled) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: enabled\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkviewport.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_viewport_get_type (void) ;\nfunction gtk_viewport_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_viewport_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_viewport_new (GtkAdjustment *hadjustment, GtkAdjustment *vadjustment);\nfunction gtk_viewport_new(hadjustment, vadjustment) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_viewport_new\n  type(c_ptr), value :: hadjustment\n  type(c_ptr), value :: vadjustment\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_viewport_get_scroll_to_focus (GtkViewport *viewport);\nfunction gtk_viewport_get_scroll_to_focus(viewport) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_viewport_get_scroll_to_focus\n  type(c_ptr), value :: viewport\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_viewport_set_scroll_to_focus (GtkViewport *viewport, gboolean scroll_to_focus);\nsubroutine gtk_viewport_set_scroll_to_focus(viewport, scroll_to_focus) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: viewport\n  integer(c_int), value :: scroll_to_focus\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_viewport_set_child (GtkViewport *viewport, GtkWidget *child);\nsubroutine gtk_viewport_set_child(viewport, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: viewport\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_viewport_get_child (GtkViewport *viewport);\nfunction gtk_viewport_get_child(viewport) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_viewport_get_child\n  type(c_ptr), value :: viewport\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!void gtk_viewport_scroll_to (GtkViewport *viewport, GtkWidget *descendant, GtkScrollInfo *scroll);\nsubroutine gtk_viewport_scroll_to(viewport, descendant, scroll) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: viewport\n  type(c_ptr), value :: descendant\n  type(c_ptr), value :: scroll\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkwidget.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_widget_get_type (void) ;\nfunction gtk_widget_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_widget_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_unparent (GtkWidget *widget);\nsubroutine gtk_widget_unparent(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: widget\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(gtk_widget_set_visible or gtk_window_present)\n!void gtk_widget_show (GtkWidget *widget);\nsubroutine gtk_widget_show(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: widget\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(gtk_widget_set_visible)\n!void gtk_widget_hide (GtkWidget *widget);\nsubroutine gtk_widget_hide(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: widget\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_map (GtkWidget *widget);\nsubroutine gtk_widget_map(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: widget\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_unmap (GtkWidget *widget);\nsubroutine gtk_widget_unmap(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: widget\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_realize (GtkWidget *widget);\nsubroutine gtk_widget_realize(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: widget\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_unrealize (GtkWidget *widget);\nsubroutine gtk_widget_unrealize(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: widget\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_queue_draw (GtkWidget *widget);\nsubroutine gtk_widget_queue_draw(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: widget\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_queue_resize (GtkWidget *widget);\nsubroutine gtk_widget_queue_resize(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: widget\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_queue_allocate (GtkWidget *widget);\nsubroutine gtk_widget_queue_allocate(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: widget\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GdkFrameClock* gtk_widget_get_frame_clock (GtkWidget *widget);\nfunction gtk_widget_get_frame_clock(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_widget_get_frame_clock\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_size_allocate (GtkWidget *widget, const GtkAllocation *allocation, int baseline);\nsubroutine gtk_widget_size_allocate(widget, allocation, baseline) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: widget\n  type(c_ptr), value :: allocation\n  integer(c_int), value :: baseline\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_allocate (GtkWidget *widget, int width, int height, int baseline, GskTransform *transform);\nsubroutine gtk_widget_allocate(widget, width, height, baseline, transform)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: widget\n  integer(c_int), value :: width\n  integer(c_int), value :: height\n  integer(c_int), value :: baseline\n  type(c_ptr), value :: transform\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkSizeRequestMode gtk_widget_get_request_mode (GtkWidget *widget);\nfunction gtk_widget_get_request_mode(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_get_request_mode\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_measure (GtkWidget *widget, GtkOrientation orientation, int for_size, int *minimum, int *natural, int *minimum_baseline, int *natural_baseline);\nsubroutine gtk_widget_measure(widget, orientation, for_size, minimum, natural,&\n& minimum_baseline, natural_baseline) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: widget\n  integer(c_int), value :: orientation\n  integer(c_int), value :: for_size\n  type(c_ptr), value :: minimum\n  type(c_ptr), value :: natural\n  type(c_ptr), value :: minimum_baseline\n  type(c_ptr), value :: natural_baseline\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_get_preferred_size (GtkWidget *widget, GtkRequisition *minimum_size, GtkRequisition *natural_size);\nsubroutine gtk_widget_get_preferred_size(widget, minimum_size, natural_size)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: widget\n  type(c_ptr), value :: minimum_size\n  type(c_ptr), value :: natural_size\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_set_layout_manager (GtkWidget *widget, GtkLayoutManager *layout_manager);\nsubroutine gtk_widget_set_layout_manager(widget, layout_manager) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: widget\n  type(c_ptr), value :: layout_manager\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkLayoutManager * gtk_widget_get_layout_manager (GtkWidget *widget);\nfunction gtk_widget_get_layout_manager(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_widget_get_layout_manager\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_class_set_layout_manager_type (GtkWidgetClass *widget_class, GType type);\nsubroutine gtk_widget_class_set_layout_manager_type(widget_class, type) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr), value :: widget_class\n  integer(c_size_t), value :: type\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_widget_class_get_layout_manager_type (GtkWidgetClass *widget_class);\nfunction gtk_widget_class_get_layout_manager_type(widget_class) bind(c)\n  import :: c_size_t, c_ptr\n  implicit none\n  integer(c_size_t) :: gtk_widget_class_get_layout_manager_type\n  type(c_ptr), value :: widget_class\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_class_add_shortcut (GtkWidgetClass *widget_class, GtkShortcut *shortcut);\nsubroutine gtk_widget_class_add_shortcut(widget_class, shortcut) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: widget_class\n  type(c_ptr), value :: shortcut\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_class_set_activate_signal (GtkWidgetClass *widget_class, guint signal_id);\nsubroutine gtk_widget_class_set_activate_signal(widget_class, signal_id)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: widget_class\n  integer(c_int), value :: signal_id\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_class_set_activate_signal_from_name (GtkWidgetClass *widget_class, const char *signal_name);\nsubroutine gtk_widget_class_set_activate_signal_from_name(widget_class,&\n& signal_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: widget_class\n  character(kind=c_char), dimension(*) :: signal_name\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_widget_class_get_activate_signal (GtkWidgetClass *widget_class);\nfunction gtk_widget_class_get_activate_signal(widget_class) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_class_get_activate_signal\n  type(c_ptr), value :: widget_class\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_widget_mnemonic_activate (GtkWidget *widget, gboolean group_cycling);\nfunction gtk_widget_mnemonic_activate(widget, group_cycling) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_mnemonic_activate\n  type(c_ptr), value :: widget\n  integer(c_int), value :: group_cycling\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_widget_activate (GtkWidget *widget);\nfunction gtk_widget_activate(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_activate\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_set_can_focus (GtkWidget *widget, gboolean can_focus);\nsubroutine gtk_widget_set_can_focus(widget, can_focus) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: widget\n  integer(c_int), value :: can_focus\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_widget_get_can_focus (GtkWidget *widget);\nfunction gtk_widget_get_can_focus(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_get_can_focus\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_set_focusable (GtkWidget *widget, gboolean focusable);\nsubroutine gtk_widget_set_focusable(widget, focusable) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: widget\n  integer(c_int), value :: focusable\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_widget_get_focusable (GtkWidget *widget);\nfunction gtk_widget_get_focusable(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_get_focusable\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_widget_has_focus (GtkWidget *widget);\nfunction gtk_widget_has_focus(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_has_focus\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_widget_is_focus (GtkWidget *widget);\nfunction gtk_widget_is_focus(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_is_focus\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_widget_has_visible_focus (GtkWidget *widget);\nfunction gtk_widget_has_visible_focus(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_has_visible_focus\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_widget_grab_focus (GtkWidget *widget);\nfunction gtk_widget_grab_focus(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_grab_focus\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_set_focus_on_click (GtkWidget *widget, gboolean focus_on_click);\nsubroutine gtk_widget_set_focus_on_click(widget, focus_on_click) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: widget\n  integer(c_int), value :: focus_on_click\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_widget_get_focus_on_click (GtkWidget *widget);\nfunction gtk_widget_get_focus_on_click(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_get_focus_on_click\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_set_can_target (GtkWidget *widget, gboolean can_target);\nsubroutine gtk_widget_set_can_target(widget, can_target) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: widget\n  integer(c_int), value :: can_target\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_widget_get_can_target (GtkWidget *widget);\nfunction gtk_widget_get_can_target(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_get_can_target\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_widget_has_default (GtkWidget *widget);\nfunction gtk_widget_has_default(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_has_default\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_set_receives_default (GtkWidget *widget, gboolean receives_default);\nsubroutine gtk_widget_set_receives_default(widget, receives_default) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: widget\n  integer(c_int), value :: receives_default\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_widget_get_receives_default (GtkWidget *widget);\nfunction gtk_widget_get_receives_default(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_get_receives_default\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_set_name (GtkWidget *widget, const char *name);\nsubroutine gtk_widget_set_name(widget, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: widget\n  character(kind=c_char), dimension(*) :: name\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_widget_get_name (GtkWidget *widget);\nfunction gtk_widget_get_name(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_widget_get_name\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_set_state_flags (GtkWidget *widget, GtkStateFlags flags, gboolean clear);\nsubroutine gtk_widget_set_state_flags(widget, flags, clear) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: widget\n  integer(c_int), value :: flags\n  integer(c_int), value :: clear\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_unset_state_flags (GtkWidget *widget, GtkStateFlags flags);\nsubroutine gtk_widget_unset_state_flags(widget, flags) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: widget\n  integer(c_int), value :: flags\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkStateFlags gtk_widget_get_state_flags (GtkWidget *widget);\nfunction gtk_widget_get_state_flags(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_get_state_flags\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_set_sensitive (GtkWidget *widget, gboolean sensitive);\nsubroutine gtk_widget_set_sensitive(widget, sensitive) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: widget\n  integer(c_int), value :: sensitive\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_widget_get_sensitive (GtkWidget *widget);\nfunction gtk_widget_get_sensitive(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_get_sensitive\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_widget_is_sensitive (GtkWidget *widget);\nfunction gtk_widget_is_sensitive(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_is_sensitive\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_set_visible (GtkWidget *widget, gboolean visible);\nsubroutine gtk_widget_set_visible(widget, visible) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: widget\n  integer(c_int), value :: visible\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_widget_get_visible (GtkWidget *widget);\nfunction gtk_widget_get_visible(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_get_visible\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_widget_is_visible (GtkWidget *widget);\nfunction gtk_widget_is_visible(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_is_visible\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_widget_is_drawable (GtkWidget *widget);\nfunction gtk_widget_is_drawable(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_is_drawable\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_widget_get_realized (GtkWidget *widget);\nfunction gtk_widget_get_realized(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_get_realized\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_widget_get_mapped (GtkWidget *widget);\nfunction gtk_widget_get_mapped(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_get_mapped\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_set_parent (GtkWidget *widget, GtkWidget *parent);\nsubroutine gtk_widget_set_parent(widget, parent) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: widget\n  type(c_ptr), value :: parent\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_widget_get_parent (GtkWidget *widget);\nfunction gtk_widget_get_parent(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_widget_get_parent\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkRoot * gtk_widget_get_root (GtkWidget *widget);\nfunction gtk_widget_get_root(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_widget_get_root\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkNative * gtk_widget_get_native (GtkWidget *widget);\nfunction gtk_widget_get_native(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_widget_get_native\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_set_child_visible (GtkWidget *widget, gboolean child_visible);\nsubroutine gtk_widget_set_child_visible(widget, child_visible) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: widget\n  integer(c_int), value :: child_visible\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_widget_get_child_visible (GtkWidget *widget);\nfunction gtk_widget_get_child_visible(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_get_child_visible\n  type(c_ptr), value :: widget\nend function\n\n! GDK_DEPRECATED_IN_4_12_FOR(gtk_widget_get_width)\n!int gtk_widget_get_allocated_width (GtkWidget *widget);\nfunction gtk_widget_get_allocated_width(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_get_allocated_width\n  type(c_ptr), value :: widget\nend function\n\n! GDK_DEPRECATED_IN_4_12_FOR(gtk_widget_get_height)\n!int gtk_widget_get_allocated_height (GtkWidget *widget);\nfunction gtk_widget_get_allocated_height(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_get_allocated_height\n  type(c_ptr), value :: widget\nend function\n\n! GDK_DEPRECATED_IN_4_12_FOR(gtk_widget_get_baseline)\n!int gtk_widget_get_allocated_baseline (GtkWidget *widget);\nfunction gtk_widget_get_allocated_baseline(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_get_allocated_baseline\n  type(c_ptr), value :: widget\nend function\n\n! GDK_DEPRECATED_IN_4_12_FOR(gtk_widget_compute_bounds)\n!void gtk_widget_get_allocation (GtkWidget *widget, GtkAllocation *allocation);\nsubroutine gtk_widget_get_allocation(widget, allocation) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: widget\n  type(c_ptr), value :: allocation\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_widget_compute_transform (GtkWidget *widget, GtkWidget *target, graphene_matrix_t *out_transform) ;\nfunction gtk_widget_compute_transform(widget, target, out_transform) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_compute_transform\n  type(c_ptr), value :: widget\n  type(c_ptr), value :: target\n  type(c_ptr), value :: out_transform\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_widget_compute_bounds (GtkWidget *widget, GtkWidget *target, graphene_rect_t *out_bounds) ;\nfunction gtk_widget_compute_bounds(widget, target, out_bounds) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_compute_bounds\n  type(c_ptr), value :: widget\n  type(c_ptr), value :: target\n  type(c_ptr), value :: out_bounds\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_widget_compute_point (GtkWidget *widget, GtkWidget *target, const graphene_point_t *point, graphene_point_t *out_point) ;\nfunction gtk_widget_compute_point(widget, target, point, out_point) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_compute_point\n  type(c_ptr), value :: widget\n  type(c_ptr), value :: target\n  type(c_ptr), value :: point\n  type(c_ptr), value :: out_point\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_widget_get_width (GtkWidget *widget);\nfunction gtk_widget_get_width(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_get_width\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_widget_get_height (GtkWidget *widget);\nfunction gtk_widget_get_height(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_get_height\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!int gtk_widget_get_baseline (GtkWidget *widget);\nfunction gtk_widget_get_baseline(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_get_baseline\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_widget_get_size (GtkWidget *widget, GtkOrientation orientation);\nfunction gtk_widget_get_size(widget, orientation) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_get_size\n  type(c_ptr), value :: widget\n  integer(c_int), value :: orientation\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_widget_child_focus (GtkWidget *widget, GtkDirectionType direction);\nfunction gtk_widget_child_focus(widget, direction) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_child_focus\n  type(c_ptr), value :: widget\n  integer(c_int), value :: direction\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_widget_keynav_failed (GtkWidget *widget, GtkDirectionType direction);\nfunction gtk_widget_keynav_failed(widget, direction) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_keynav_failed\n  type(c_ptr), value :: widget\n  integer(c_int), value :: direction\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_error_bell (GtkWidget *widget);\nsubroutine gtk_widget_error_bell(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: widget\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_set_size_request (GtkWidget *widget, int width, int height);\nsubroutine gtk_widget_set_size_request(widget, width, height) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: widget\n  integer(c_int), value :: width\n  integer(c_int), value :: height\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_get_size_request (GtkWidget *widget, int *width, int *height);\nsubroutine gtk_widget_get_size_request(widget, width, height) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: widget\n  type(c_ptr), value :: width\n  type(c_ptr), value :: height\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_set_opacity (GtkWidget *widget, double opacity);\nsubroutine gtk_widget_set_opacity(widget, opacity) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: widget\n  real(c_double), value :: opacity\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_widget_get_opacity (GtkWidget *widget);\nfunction gtk_widget_get_opacity(widget) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: gtk_widget_get_opacity\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_set_overflow (GtkWidget *widget, GtkOverflow overflow);\nsubroutine gtk_widget_set_overflow(widget, overflow) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: widget\n  integer(c_int), value :: overflow\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkOverflow gtk_widget_get_overflow (GtkWidget *widget);\nfunction gtk_widget_get_overflow(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_get_overflow\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_widget_get_ancestor (GtkWidget *widget, GType widget_type);\nfunction gtk_widget_get_ancestor(widget, widget_type) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: gtk_widget_get_ancestor\n  type(c_ptr), value :: widget\n  integer(c_size_t), value :: widget_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_widget_get_scale_factor (GtkWidget *widget);\nfunction gtk_widget_get_scale_factor(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_get_scale_factor\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkDisplay * gtk_widget_get_display (GtkWidget *widget);\nfunction gtk_widget_get_display(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_widget_get_display\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkSettings* gtk_widget_get_settings (GtkWidget *widget);\nfunction gtk_widget_get_settings(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_widget_get_settings\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkClipboard *gtk_widget_get_clipboard (GtkWidget *widget);\nfunction gtk_widget_get_clipboard(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_widget_get_clipboard\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GdkClipboard *gtk_widget_get_primary_clipboard (GtkWidget *widget);\nfunction gtk_widget_get_primary_clipboard(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_widget_get_primary_clipboard\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_widget_get_hexpand (GtkWidget *widget);\nfunction gtk_widget_get_hexpand(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_get_hexpand\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_set_hexpand (GtkWidget *widget, gboolean expand);\nsubroutine gtk_widget_set_hexpand(widget, expand) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: widget\n  integer(c_int), value :: expand\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_widget_get_hexpand_set (GtkWidget *widget);\nfunction gtk_widget_get_hexpand_set(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_get_hexpand_set\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_set_hexpand_set (GtkWidget *widget, gboolean set);\nsubroutine gtk_widget_set_hexpand_set(widget, set) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: widget\n  integer(c_int), value :: set\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_widget_get_vexpand (GtkWidget *widget);\nfunction gtk_widget_get_vexpand(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_get_vexpand\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_set_vexpand (GtkWidget *widget, gboolean expand);\nsubroutine gtk_widget_set_vexpand(widget, expand) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: widget\n  integer(c_int), value :: expand\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_widget_get_vexpand_set (GtkWidget *widget);\nfunction gtk_widget_get_vexpand_set(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_get_vexpand_set\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_set_vexpand_set (GtkWidget *widget, gboolean set);\nsubroutine gtk_widget_set_vexpand_set(widget, set) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: widget\n  integer(c_int), value :: set\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_widget_compute_expand (GtkWidget *widget, GtkOrientation orientation);\nfunction gtk_widget_compute_expand(widget, orientation) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_compute_expand\n  type(c_ptr), value :: widget\n  integer(c_int), value :: orientation\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkAlign gtk_widget_get_halign (GtkWidget *widget);\nfunction gtk_widget_get_halign(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_get_halign\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_set_halign (GtkWidget *widget, GtkAlign align);\nsubroutine gtk_widget_set_halign(widget, align) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: widget\n  integer(c_int), value :: align\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkAlign gtk_widget_get_valign (GtkWidget *widget);\nfunction gtk_widget_get_valign(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_get_valign\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_set_valign (GtkWidget *widget, GtkAlign align);\nsubroutine gtk_widget_set_valign(widget, align) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: widget\n  integer(c_int), value :: align\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_widget_get_margin_start (GtkWidget *widget);\nfunction gtk_widget_get_margin_start(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_get_margin_start\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_set_margin_start (GtkWidget *widget, int margin);\nsubroutine gtk_widget_set_margin_start(widget, margin) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: widget\n  integer(c_int), value :: margin\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_widget_get_margin_end (GtkWidget *widget);\nfunction gtk_widget_get_margin_end(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_get_margin_end\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_set_margin_end (GtkWidget *widget, int margin);\nsubroutine gtk_widget_set_margin_end(widget, margin) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: widget\n  integer(c_int), value :: margin\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_widget_get_margin_top (GtkWidget *widget);\nfunction gtk_widget_get_margin_top(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_get_margin_top\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_set_margin_top (GtkWidget *widget, int margin);\nsubroutine gtk_widget_set_margin_top(widget, margin) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: widget\n  integer(c_int), value :: margin\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_widget_get_margin_bottom (GtkWidget *widget);\nfunction gtk_widget_get_margin_bottom(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_get_margin_bottom\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_set_margin_bottom (GtkWidget *widget, int margin);\nsubroutine gtk_widget_set_margin_bottom(widget, margin) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: widget\n  integer(c_int), value :: margin\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_widget_is_ancestor (GtkWidget *widget, GtkWidget *ancestor);\nfunction gtk_widget_is_ancestor(widget, ancestor) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_is_ancestor\n  type(c_ptr), value :: widget\n  type(c_ptr), value :: ancestor\nend function\n\n! GDK_DEPRECATED_IN_4_12_FOR(gtk_widget_compute_point)\n!gboolean gtk_widget_translate_coordinates (GtkWidget *src_widget, GtkWidget *dest_widget, double src_x, double src_y, double *dest_x, double *dest_y);\nfunction gtk_widget_translate_coordinates(src_widget, dest_widget, src_x,&\n& src_y, dest_x, dest_y) bind(c)\n  import :: c_int, c_ptr, c_double\n  implicit none\n  integer(c_int) :: gtk_widget_translate_coordinates\n  type(c_ptr), value :: src_widget\n  type(c_ptr), value :: dest_widget\n  real(c_double), value :: src_x\n  real(c_double), value :: src_y\n  type(c_ptr), value :: dest_x\n  type(c_ptr), value :: dest_y\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_widget_contains (GtkWidget *widget, double x, double y);\nfunction gtk_widget_contains(widget, x, y) bind(c)\n  import :: c_int, c_ptr, c_double\n  implicit none\n  integer(c_int) :: gtk_widget_contains\n  type(c_ptr), value :: widget\n  real(c_double), value :: x\n  real(c_double), value :: y\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_widget_pick (GtkWidget *widget, double x, double y, GtkPickFlags flags);\nfunction gtk_widget_pick(widget, x, y, flags) bind(c)\n  import :: c_ptr, c_double, c_int\n  implicit none\n  type(c_ptr) :: gtk_widget_pick\n  type(c_ptr), value :: widget\n  real(c_double), value :: x\n  real(c_double), value :: y\n  integer(c_int), value :: flags\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_add_controller (GtkWidget *widget, GtkEventController *controller);\nsubroutine gtk_widget_add_controller(widget, controller) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: widget\n  type(c_ptr), value :: controller\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_remove_controller (GtkWidget *widget, GtkEventController *controller);\nsubroutine gtk_widget_remove_controller(widget, controller) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: widget\n  type(c_ptr), value :: controller\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!PangoContext *gtk_widget_create_pango_context (GtkWidget *widget);\nfunction gtk_widget_create_pango_context(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_widget_create_pango_context\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!PangoContext *gtk_widget_get_pango_context (GtkWidget *widget);\nfunction gtk_widget_get_pango_context(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_widget_get_pango_context\n  type(c_ptr), value :: widget\nend function\n\n! GDK_DEPRECATED_IN_4_16\n!void gtk_widget_set_font_options (GtkWidget *widget, const cairo_font_options_t *options);\nsubroutine gtk_widget_set_font_options(widget, options) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: widget\n  type(c_ptr), value :: options\nend subroutine\n\n! GDK_DEPRECATED_IN_4_16\n!const cairo_font_options_t *gtk_widget_get_font_options (GtkWidget *widget);\nfunction gtk_widget_get_font_options(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_widget_get_font_options\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!PangoLayout *gtk_widget_create_pango_layout (GtkWidget *widget, const char *text);\nfunction gtk_widget_create_pango_layout(widget, text) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_widget_create_pango_layout\n  type(c_ptr), value :: widget\n  character(kind=c_char), dimension(*) :: text\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_set_direction (GtkWidget *widget, GtkTextDirection dir);\nsubroutine gtk_widget_set_direction(widget, dir) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: widget\n  integer(c_int), value :: dir\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkTextDirection gtk_widget_get_direction (GtkWidget *widget);\nfunction gtk_widget_get_direction(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_get_direction\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_set_default_direction (GtkTextDirection dir);\nsubroutine gtk_widget_set_default_direction(dir) bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int), value :: dir\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkTextDirection gtk_widget_get_default_direction (void);\nfunction gtk_widget_get_default_direction() bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: gtk_widget_get_default_direction\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_set_cursor (GtkWidget *widget, GdkCursor *cursor);\nsubroutine gtk_widget_set_cursor(widget, cursor) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: widget\n  type(c_ptr), value :: cursor\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_set_cursor_from_name (GtkWidget *widget, const char *name);\nsubroutine gtk_widget_set_cursor_from_name(widget, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: widget\n  character(kind=c_char), dimension(*) :: name\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GdkCursor * gtk_widget_get_cursor (GtkWidget *widget);\nfunction gtk_widget_get_cursor(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_widget_get_cursor\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GList* gtk_widget_list_mnemonic_labels (GtkWidget *widget);\nfunction gtk_widget_list_mnemonic_labels(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_widget_list_mnemonic_labels\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_add_mnemonic_label (GtkWidget *widget, GtkWidget *label);\nsubroutine gtk_widget_add_mnemonic_label(widget, label) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: widget\n  type(c_ptr), value :: label\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_remove_mnemonic_label (GtkWidget *widget, GtkWidget *label);\nsubroutine gtk_widget_remove_mnemonic_label(widget, label) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: widget\n  type(c_ptr), value :: label\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_trigger_tooltip_query (GtkWidget *widget);\nsubroutine gtk_widget_trigger_tooltip_query(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: widget\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_set_tooltip_text (GtkWidget *widget, const char *text);\nsubroutine gtk_widget_set_tooltip_text(widget, text) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: widget\n  character(kind=c_char), dimension(*) :: text\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_widget_get_tooltip_text (GtkWidget *widget);\nfunction gtk_widget_get_tooltip_text(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_widget_get_tooltip_text\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_set_tooltip_markup (GtkWidget *widget, const char *markup);\nsubroutine gtk_widget_set_tooltip_markup(widget, markup) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: widget\n  character(kind=c_char), dimension(*) :: markup\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_widget_get_tooltip_markup (GtkWidget *widget);\nfunction gtk_widget_get_tooltip_markup(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_widget_get_tooltip_markup\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_set_has_tooltip (GtkWidget *widget, gboolean has_tooltip);\nsubroutine gtk_widget_set_has_tooltip(widget, has_tooltip) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: widget\n  integer(c_int), value :: has_tooltip\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_widget_get_has_tooltip (GtkWidget *widget);\nfunction gtk_widget_get_has_tooltip(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_get_has_tooltip\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_requisition_get_type (void) ;\nfunction gtk_requisition_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_requisition_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkRequisition *gtk_requisition_new (void) ;\nfunction gtk_requisition_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_requisition_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkRequisition *gtk_requisition_copy (const GtkRequisition *requisition);\nfunction gtk_requisition_copy(requisition) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_requisition_copy\n  type(c_ptr), value :: requisition\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_requisition_free (GtkRequisition *requisition);\nsubroutine gtk_requisition_free(requisition) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: requisition\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_widget_in_destruction (GtkWidget *widget);\nfunction gtk_widget_in_destruction(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_in_destruction\n  type(c_ptr), value :: widget\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkStyleContext * gtk_widget_get_style_context (GtkWidget *widget);\nfunction gtk_widget_get_style_context(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_widget_get_style_context\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_class_set_css_name (GtkWidgetClass *widget_class, const char *name);\nsubroutine gtk_widget_class_set_css_name(widget_class, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: widget_class\n  character(kind=c_char), dimension(*) :: name\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_widget_class_get_css_name (GtkWidgetClass *widget_class);\nfunction gtk_widget_class_get_css_name(widget_class) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_widget_class_get_css_name\n  type(c_ptr), value :: widget_class\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_widget_add_tick_callback (GtkWidget *widget, GtkTickCallback callback, gpointer user_data, GDestroyNotify notify);\nfunction gtk_widget_add_tick_callback(widget, callback, user_data, notify)&\n& bind(c)\n  import :: c_int, c_ptr, c_funptr\n  implicit none\n  integer(c_int) :: gtk_widget_add_tick_callback\n  type(c_ptr), value :: widget\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: notify\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_remove_tick_callback (GtkWidget *widget, guint id);\nsubroutine gtk_widget_remove_tick_callback(widget, id) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: widget\n  integer(c_int), value :: id\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_init_template (GtkWidget *widget);\nsubroutine gtk_widget_init_template(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: widget\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GObject *gtk_widget_get_template_child (GtkWidget *widget, GType widget_type, const char *name);\nfunction gtk_widget_get_template_child(widget, widget_type, name) bind(c)\n  import :: c_ptr, c_size_t, c_char\n  implicit none\n  type(c_ptr) :: gtk_widget_get_template_child\n  type(c_ptr), value :: widget\n  integer(c_size_t), value :: widget_type\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GDK_AVAILABLE_IN_4_8\n!void gtk_widget_dispose_template (GtkWidget *widget, GType widget_type);\nsubroutine gtk_widget_dispose_template(widget, widget_type) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr), value :: widget\n  integer(c_size_t), value :: widget_type\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_class_set_template (GtkWidgetClass *widget_class, GBytes *template_bytes);\nsubroutine gtk_widget_class_set_template(widget_class, template_bytes) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: widget_class\n  type(c_ptr), value :: template_bytes\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_class_set_template_from_resource (GtkWidgetClass *widget_class, const char *resource_name);\nsubroutine gtk_widget_class_set_template_from_resource(widget_class,&\n& resource_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: widget_class\n  character(kind=c_char), dimension(*) :: resource_name\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_class_bind_template_callback_full (GtkWidgetClass *widget_class, const char *callback_name, GCallback callback_symbol);\nsubroutine gtk_widget_class_bind_template_callback_full(widget_class,&\n& callback_name, callback_symbol) bind(c)\n  import :: c_ptr, c_char, c_funptr\n  implicit none\n  type(c_ptr), value :: widget_class\n  character(kind=c_char), dimension(*) :: callback_name\n  type(c_funptr), value :: callback_symbol\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_class_set_template_scope (GtkWidgetClass *widget_class, GtkBuilderScope *scope);\nsubroutine gtk_widget_class_set_template_scope(widget_class, scope) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: widget_class\n  type(c_ptr), value :: scope\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_class_bind_template_child_full (GtkWidgetClass *widget_class, const char *name, gboolean internal_child, gssize struct_offset);\nsubroutine gtk_widget_class_bind_template_child_full(widget_class, name,&\n& internal_child, struct_offset) bind(c)\n  import :: c_ptr, c_char, c_int, c_size_t\n  implicit none\n  type(c_ptr), value :: widget_class\n  character(kind=c_char), dimension(*) :: name\n  integer(c_int), value :: internal_child\n  integer(c_size_t), value :: struct_offset\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_insert_action_group (GtkWidget *widget, const char *name, GActionGroup *group);\nsubroutine gtk_widget_insert_action_group(widget, name, group) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: widget\n  character(kind=c_char), dimension(*) :: name\n  type(c_ptr), value :: group\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_widget_activate_action_variant (GtkWidget *widget, const char *name, GVariant *args);\nfunction gtk_widget_activate_action_variant(widget, name, args) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_widget_activate_action_variant\n  type(c_ptr), value :: widget\n  character(kind=c_char), dimension(*) :: name\n  type(c_ptr), value :: args\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_activate_default (GtkWidget *widget);\nsubroutine gtk_widget_activate_default(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: widget\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_set_font_map (GtkWidget *widget, PangoFontMap *font_map);\nsubroutine gtk_widget_set_font_map(widget, font_map) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: widget\n  type(c_ptr), value :: font_map\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!PangoFontMap * gtk_widget_get_font_map (GtkWidget *widget);\nfunction gtk_widget_get_font_map(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_widget_get_font_map\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_widget_get_first_child (GtkWidget *widget);\nfunction gtk_widget_get_first_child(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_widget_get_first_child\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_widget_get_last_child (GtkWidget *widget);\nfunction gtk_widget_get_last_child(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_widget_get_last_child\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_widget_get_next_sibling (GtkWidget *widget);\nfunction gtk_widget_get_next_sibling(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_widget_get_next_sibling\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_widget_get_prev_sibling (GtkWidget *widget);\nfunction gtk_widget_get_prev_sibling(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_widget_get_prev_sibling\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GListModel * gtk_widget_observe_children (GtkWidget *widget);\nfunction gtk_widget_observe_children(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_widget_observe_children\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GListModel * gtk_widget_observe_controllers (GtkWidget *widget);\nfunction gtk_widget_observe_controllers(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_widget_observe_controllers\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_insert_after (GtkWidget *widget, GtkWidget *parent, GtkWidget *previous_sibling);\nsubroutine gtk_widget_insert_after(widget, parent, previous_sibling) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: widget\n  type(c_ptr), value :: parent\n  type(c_ptr), value :: previous_sibling\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_insert_before (GtkWidget *widget, GtkWidget *parent, GtkWidget *next_sibling);\nsubroutine gtk_widget_insert_before(widget, parent, next_sibling) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: widget\n  type(c_ptr), value :: parent\n  type(c_ptr), value :: next_sibling\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_set_focus_child (GtkWidget *widget, GtkWidget *child);\nsubroutine gtk_widget_set_focus_child(widget, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: widget\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_widget_get_focus_child (GtkWidget *widget);\nfunction gtk_widget_get_focus_child(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_widget_get_focus_child\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_snapshot_child (GtkWidget *widget, GtkWidget *child, GtkSnapshot *snapshot);\nsubroutine gtk_widget_snapshot_child(widget, child, snapshot) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: widget\n  type(c_ptr), value :: child\n  type(c_ptr), value :: snapshot\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_widget_should_layout (GtkWidget *widget);\nfunction gtk_widget_should_layout(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_should_layout\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_widget_get_css_name (GtkWidget *self) ;\nfunction gtk_widget_get_css_name(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_widget_get_css_name\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_add_css_class (GtkWidget *widget, const char *css_class);\nsubroutine gtk_widget_add_css_class(widget, css_class) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: widget\n  character(kind=c_char), dimension(*) :: css_class\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_remove_css_class (GtkWidget *widget, const char *css_class);\nsubroutine gtk_widget_remove_css_class(widget, css_class) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: widget\n  character(kind=c_char), dimension(*) :: css_class\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_widget_has_css_class (GtkWidget *widget, const char *css_class);\nfunction gtk_widget_has_css_class(widget, css_class) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_widget_has_css_class\n  type(c_ptr), value :: widget\n  character(kind=c_char), dimension(*) :: css_class\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!char ** gtk_widget_get_css_classes (GtkWidget *widget);\nfunction gtk_widget_get_css_classes(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_widget_get_css_classes\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_set_css_classes (GtkWidget *widget, const char **classes);\nsubroutine gtk_widget_set_css_classes(widget, classes) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: widget\n  type(c_ptr), dimension(*) :: classes\nend subroutine\n\n! GDK_AVAILABLE_IN_4_10\n!void gtk_widget_get_color (GtkWidget *widget, GdkRGBA *color);\nsubroutine gtk_widget_get_color(widget, color) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: widget\n  type(c_ptr), value :: color\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_class_install_action (GtkWidgetClass *widget_class, const char *action_name, const char *parameter_type, GtkWidgetActionActivateFunc activate);\nsubroutine gtk_widget_class_install_action(widget_class, action_name,&\n& parameter_type, activate) bind(c)\n  import :: c_ptr, c_char, c_funptr\n  implicit none\n  type(c_ptr), value :: widget_class\n  character(kind=c_char), dimension(*) :: action_name\n  character(kind=c_char), dimension(*) :: parameter_type\n  type(c_funptr), value :: activate\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_class_install_property_action (GtkWidgetClass *widget_class, const char *action_name, const char *property_name);\nsubroutine gtk_widget_class_install_property_action(widget_class, action_name,&\n& property_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: widget_class\n  character(kind=c_char), dimension(*) :: action_name\n  character(kind=c_char), dimension(*) :: property_name\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_widget_class_query_action (GtkWidgetClass *widget_class, guint index_, GType *owner, const char **action_name, const GVariantType **parameter_type, const char **property_name);\nfunction gtk_widget_class_query_action(widget_class, index_, owner,&\n& action_name, parameter_type, property_name) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_class_query_action\n  type(c_ptr), value :: widget_class\n  integer(c_int), value :: index_\n  type(c_ptr), value :: owner\n  type(c_ptr), dimension(*) :: action_name\n  type(c_ptr), dimension(*) :: parameter_type\n  type(c_ptr), dimension(*) :: property_name\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_action_set_enabled (GtkWidget *widget, const char *action_name, gboolean enabled);\nsubroutine gtk_widget_action_set_enabled(widget, action_name, enabled) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: widget\n  character(kind=c_char), dimension(*) :: action_name\n  integer(c_int), value :: enabled\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_class_set_accessible_role (GtkWidgetClass *widget_class, GtkAccessibleRole accessible_role);\nsubroutine gtk_widget_class_set_accessible_role(widget_class, accessible_role)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: widget_class\n  integer(c_int), value :: accessible_role\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkAccessibleRole gtk_widget_class_get_accessible_role (GtkWidgetClass *widget_class);\nfunction gtk_widget_class_get_accessible_role(widget_class) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_class_get_accessible_role\n  type(c_ptr), value :: widget_class\nend function\n\n! GDK_AVAILABLE_IN_4_18\n!void gtk_widget_set_limit_events (GtkWidget *widget, gboolean limit_events);\nsubroutine gtk_widget_set_limit_events(widget, limit_events) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: widget\n  integer(c_int), value :: limit_events\nend subroutine\n\n! GDK_AVAILABLE_IN_4_18\n!gboolean gtk_widget_get_limit_events (GtkWidget *widget);\nfunction gtk_widget_get_limit_events(widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_widget_get_limit_events\n  type(c_ptr), value :: widget\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkwidgetpaintable.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GdkPaintable * gtk_widget_paintable_new (GtkWidget *widget);\nfunction gtk_widget_paintable_new(widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_widget_paintable_new\n  type(c_ptr), value :: widget\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_widget_paintable_get_widget (GtkWidgetPaintable *self);\nfunction gtk_widget_paintable_get_widget(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_widget_paintable_get_widget\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_widget_paintable_set_widget (GtkWidgetPaintable *self, GtkWidget *widget);\nsubroutine gtk_widget_paintable_set_widget(self, widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: widget\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkwindow.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_window_get_type (void) ;\nfunction gtk_window_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_window_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget* gtk_window_new (void);\nfunction gtk_window_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_window_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_window_set_title (GtkWindow *window, const char *title);\nsubroutine gtk_window_set_title(window, title) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: window\n  character(kind=c_char), dimension(*) :: title\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_window_get_title (GtkWindow *window);\nfunction gtk_window_get_title(window) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_window_get_title\n  type(c_ptr), value :: window\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_window_set_startup_id (GtkWindow *window, const char *startup_id);\nsubroutine gtk_window_set_startup_id(window, startup_id) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: window\n  character(kind=c_char), dimension(*) :: startup_id\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_window_set_focus (GtkWindow *window, GtkWidget *focus);\nsubroutine gtk_window_set_focus(window, focus) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: window\n  type(c_ptr), value :: focus\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget *gtk_window_get_focus (GtkWindow *window);\nfunction gtk_window_get_focus(window) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_window_get_focus\n  type(c_ptr), value :: window\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_window_set_default_widget (GtkWindow *window, GtkWidget *default_widget);\nsubroutine gtk_window_set_default_widget(window, default_widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: window\n  type(c_ptr), value :: default_widget\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget *gtk_window_get_default_widget (GtkWindow *window);\nfunction gtk_window_get_default_widget(window) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_window_get_default_widget\n  type(c_ptr), value :: window\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_window_set_transient_for (GtkWindow *window, GtkWindow *parent);\nsubroutine gtk_window_set_transient_for(window, parent) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: window\n  type(c_ptr), value :: parent\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWindow *gtk_window_get_transient_for (GtkWindow *window);\nfunction gtk_window_get_transient_for(window) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_window_get_transient_for\n  type(c_ptr), value :: window\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_window_set_destroy_with_parent (GtkWindow *window, gboolean setting);\nsubroutine gtk_window_set_destroy_with_parent(window, setting) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: window\n  integer(c_int), value :: setting\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_window_get_destroy_with_parent (GtkWindow *window);\nfunction gtk_window_get_destroy_with_parent(window) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_window_get_destroy_with_parent\n  type(c_ptr), value :: window\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_window_set_hide_on_close (GtkWindow *window, gboolean setting);\nsubroutine gtk_window_set_hide_on_close(window, setting) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: window\n  integer(c_int), value :: setting\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_window_get_hide_on_close (GtkWindow *window);\nfunction gtk_window_get_hide_on_close(window) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_window_get_hide_on_close\n  type(c_ptr), value :: window\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_window_set_mnemonics_visible (GtkWindow *window, gboolean setting);\nsubroutine gtk_window_set_mnemonics_visible(window, setting) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: window\n  integer(c_int), value :: setting\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_window_get_mnemonics_visible (GtkWindow *window);\nfunction gtk_window_get_mnemonics_visible(window) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_window_get_mnemonics_visible\n  type(c_ptr), value :: window\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_window_set_focus_visible (GtkWindow *window, gboolean setting);\nsubroutine gtk_window_set_focus_visible(window, setting) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: window\n  integer(c_int), value :: setting\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_window_get_focus_visible (GtkWindow *window);\nfunction gtk_window_get_focus_visible(window) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_window_get_focus_visible\n  type(c_ptr), value :: window\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_window_set_resizable (GtkWindow *window, gboolean resizable);\nsubroutine gtk_window_set_resizable(window, resizable) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: window\n  integer(c_int), value :: resizable\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_window_get_resizable (GtkWindow *window);\nfunction gtk_window_get_resizable(window) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_window_get_resizable\n  type(c_ptr), value :: window\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_window_set_display (GtkWindow *window, GdkDisplay *display);\nsubroutine gtk_window_set_display(window, display) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: window\n  type(c_ptr), value :: display\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_window_is_active (GtkWindow *window);\nfunction gtk_window_is_active(window) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_window_is_active\n  type(c_ptr), value :: window\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_window_set_decorated (GtkWindow *window, gboolean setting);\nsubroutine gtk_window_set_decorated(window, setting) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: window\n  integer(c_int), value :: setting\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_window_get_decorated (GtkWindow *window);\nfunction gtk_window_get_decorated(window) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_window_get_decorated\n  type(c_ptr), value :: window\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_window_set_deletable (GtkWindow *window, gboolean setting);\nsubroutine gtk_window_set_deletable(window, setting) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: window\n  integer(c_int), value :: setting\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_window_get_deletable (GtkWindow *window);\nfunction gtk_window_get_deletable(window) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_window_get_deletable\n  type(c_ptr), value :: window\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_window_set_icon_name (GtkWindow *window, const char *name);\nsubroutine gtk_window_set_icon_name(window, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: window\n  character(kind=c_char), dimension(*) :: name\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_window_get_icon_name (GtkWindow *window);\nfunction gtk_window_get_icon_name(window) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_window_get_icon_name\n  type(c_ptr), value :: window\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_window_set_default_icon_name (const char *name);\nsubroutine gtk_window_set_default_icon_name(name) bind(c)\n  import :: c_char\n  implicit none\n  character(kind=c_char), dimension(*) :: name\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_window_get_default_icon_name (void);\nfunction gtk_window_get_default_icon_name() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_window_get_default_icon_name\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_window_set_auto_startup_notification (gboolean setting);\nsubroutine gtk_window_set_auto_startup_notification(setting) bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int), value :: setting\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_window_set_modal (GtkWindow *window, gboolean modal);\nsubroutine gtk_window_set_modal(window, modal) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: window\n  integer(c_int), value :: modal\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_window_get_modal (GtkWindow *window);\nfunction gtk_window_get_modal(window) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_window_get_modal\n  type(c_ptr), value :: window\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GListModel *gtk_window_get_toplevels (void);\nfunction gtk_window_get_toplevels() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_window_get_toplevels\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GList* gtk_window_list_toplevels (void);\nfunction gtk_window_list_toplevels() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_window_list_toplevels\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_window_present (GtkWindow *window);\nsubroutine gtk_window_present(window) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: window\nend subroutine\n\n! GDK_DEPRECATED_IN_4_14_FOR(gtk_window_present)\n!void gtk_window_present_with_time (GtkWindow *window, guint32 timestamp);\nsubroutine gtk_window_present_with_time(window, timestamp) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr), value :: window\n  integer(c_int32_t), value :: timestamp\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_window_minimize (GtkWindow *window);\nsubroutine gtk_window_minimize(window) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: window\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_window_unminimize (GtkWindow *window);\nsubroutine gtk_window_unminimize(window) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: window\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_window_maximize (GtkWindow *window);\nsubroutine gtk_window_maximize(window) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: window\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_window_unmaximize (GtkWindow *window);\nsubroutine gtk_window_unmaximize(window) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: window\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_window_fullscreen (GtkWindow *window);\nsubroutine gtk_window_fullscreen(window) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: window\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_window_unfullscreen (GtkWindow *window);\nsubroutine gtk_window_unfullscreen(window) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: window\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_window_fullscreen_on_monitor (GtkWindow *window, GdkMonitor *monitor);\nsubroutine gtk_window_fullscreen_on_monitor(window, monitor) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: window\n  type(c_ptr), value :: monitor\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_window_close (GtkWindow *window);\nsubroutine gtk_window_close(window) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: window\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_window_set_default_size (GtkWindow *window, int width, int height);\nsubroutine gtk_window_set_default_size(window, width, height) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: window\n  integer(c_int), value :: width\n  integer(c_int), value :: height\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_window_get_default_size (GtkWindow *window, int *width, int *height);\nsubroutine gtk_window_get_default_size(window, width, height) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: window\n  type(c_ptr), value :: width\n  type(c_ptr), value :: height\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWindowGroup *gtk_window_get_group (GtkWindow *window);\nfunction gtk_window_get_group(window) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_window_get_group\n  type(c_ptr), value :: window\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_window_has_group (GtkWindow *window);\nfunction gtk_window_has_group(window) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_window_has_group\n  type(c_ptr), value :: window\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkApplication *gtk_window_get_application (GtkWindow *window);\nfunction gtk_window_get_application(window) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_window_get_application\n  type(c_ptr), value :: window\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_window_set_application (GtkWindow *window, GtkApplication *application);\nsubroutine gtk_window_set_application(window, application) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: window\n  type(c_ptr), value :: application\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_window_set_child (GtkWindow *window, GtkWidget *child);\nsubroutine gtk_window_set_child(window, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: window\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget *gtk_window_get_child (GtkWindow *window);\nfunction gtk_window_get_child(window) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_window_get_child\n  type(c_ptr), value :: window\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_window_set_titlebar (GtkWindow *window, GtkWidget *titlebar);\nsubroutine gtk_window_set_titlebar(window, titlebar) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: window\n  type(c_ptr), value :: titlebar\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget *gtk_window_get_titlebar (GtkWindow *window);\nfunction gtk_window_get_titlebar(window) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_window_get_titlebar\n  type(c_ptr), value :: window\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_window_is_maximized (GtkWindow *window);\nfunction gtk_window_is_maximized(window) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_window_is_maximized\n  type(c_ptr), value :: window\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_window_is_fullscreen (GtkWindow *window);\nfunction gtk_window_is_fullscreen(window) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_window_is_fullscreen\n  type(c_ptr), value :: window\nend function\n\n! GDK_AVAILABLE_IN_4_12\n!gboolean gtk_window_is_suspended (GtkWindow *window);\nfunction gtk_window_is_suspended(window) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_window_is_suspended\n  type(c_ptr), value :: window\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_window_destroy (GtkWindow *window);\nsubroutine gtk_window_destroy(window) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: window\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_window_set_interactive_debugging (gboolean enable);\nsubroutine gtk_window_set_interactive_debugging(enable) bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int), value :: enable\nend subroutine\n\n! GDK_AVAILABLE_IN_4_2\n!void gtk_window_set_handle_menubar_accel (GtkWindow *window, gboolean handle_menubar_accel);\nsubroutine gtk_window_set_handle_menubar_accel(window, handle_menubar_accel)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: window\n  integer(c_int), value :: handle_menubar_accel\nend subroutine\n\n! GDK_AVAILABLE_IN_4_2\n!gboolean gtk_window_get_handle_menubar_accel (GtkWindow *window);\nfunction gtk_window_get_handle_menubar_accel(window) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_window_get_handle_menubar_accel\n  type(c_ptr), value :: window\nend function\n\n! \n!GtkWindowGravity gtk_window_get_gravity (GtkWindow *window);\nfunction gtk_window_get_gravity(window) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_window_get_gravity\n  type(c_ptr), value :: window\nend function\n\n! GDK_AVAILABLE_IN_4_20\n!void gtk_window_set_gravity (GtkWindow *window, GtkWindowGravity gravity);\nsubroutine gtk_window_set_gravity(window, gravity) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: window\n  integer(c_int), value :: gravity\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkwindowcontrols.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_window_controls_new (GtkPackType side);\nfunction gtk_window_controls_new(side) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_window_controls_new\n  integer(c_int), value :: side\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPackType gtk_window_controls_get_side (GtkWindowControls *self);\nfunction gtk_window_controls_get_side(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_window_controls_get_side\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_window_controls_set_side (GtkWindowControls *self, GtkPackType side);\nsubroutine gtk_window_controls_set_side(self, side) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: side\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_window_controls_get_decoration_layout (GtkWindowControls *self);\nfunction gtk_window_controls_get_decoration_layout(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_window_controls_get_decoration_layout\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_window_controls_set_decoration_layout (GtkWindowControls *self, const char *layout);\nsubroutine gtk_window_controls_set_decoration_layout(self, layout) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: layout\nend subroutine\n\n! GDK_AVAILABLE_IN_4_18\n!gboolean gtk_window_controls_get_use_native_controls (GtkWindowControls *self);\nfunction gtk_window_controls_get_use_native_controls(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_window_controls_get_use_native_controls\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_18\n!void gtk_window_controls_set_use_native_controls (GtkWindowControls *self, gboolean setting);\nsubroutine gtk_window_controls_set_use_native_controls(self, setting) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: setting\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_window_controls_get_empty (GtkWindowControls *self);\nfunction gtk_window_controls_get_empty(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_window_controls_get_empty\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkwindowgroup.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_window_group_get_type (void) ;\nfunction gtk_window_group_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_window_group_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWindowGroup * gtk_window_group_new (void);\nfunction gtk_window_group_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_window_group_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_window_group_add_window (GtkWindowGroup *window_group, GtkWindow *window);\nsubroutine gtk_window_group_add_window(window_group, window) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: window_group\n  type(c_ptr), value :: window\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_window_group_remove_window (GtkWindowGroup *window_group, GtkWindow *window);\nsubroutine gtk_window_group_remove_window(window_group, window) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: window_group\n  type(c_ptr), value :: window\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GList * gtk_window_group_list_windows (GtkWindowGroup *window_group);\nfunction gtk_window_group_list_windows(window_group) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_window_group_list_windows\n  type(c_ptr), value :: window_group\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/gtkwindowhandle.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_window_handle_new (void);\nfunction gtk_window_handle_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_window_handle_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_window_handle_get_child (GtkWindowHandle *self);\nfunction gtk_window_handle_get_child(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_window_handle_get_child\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_window_handle_set_child (GtkWindowHandle *self, GtkWidget *child);\nsubroutine gtk_window_handle_set_child(self, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: child\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/a11y/gtkatspi.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/a11y/gtkatspisocket.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_4_14\n!GtkAccessible * gtk_at_spi_socket_new (const char *bus_name, const char *object_path, GError **error);\nfunction gtk_at_spi_socket_new(bus_name, object_path, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_at_spi_socket_new\n  character(kind=c_char), dimension(*) :: bus_name\n  character(kind=c_char), dimension(*) :: object_path\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!const char * gtk_at_spi_socket_get_bus_name (GtkAtSpiSocket *self);\nfunction gtk_at_spi_socket_get_bus_name(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_at_spi_socket_get_bus_name\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_4_14\n!const char * gtk_at_spi_socket_get_object_path (GtkAtSpiSocket *self);\nfunction gtk_at_spi_socket_get_object_path(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_at_spi_socket_get_object_path\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/css/gtkcss.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/css/gtkcssenums.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/css/gtkcssenumtypes.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/css/gtkcsserror.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GQuark gtk_css_parser_error_quark (void);\nfunction gtk_css_parser_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: gtk_css_parser_error_quark\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GQuark gtk_css_parser_warning_quark (void);\nfunction gtk_css_parser_warning_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: gtk_css_parser_warning_quark\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/css/gtkcsslocation.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/css/gtkcsssection.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_css_section_get_type (void) ;\nfunction gtk_css_section_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_css_section_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkCssSection * gtk_css_section_new (GFile *file, const GtkCssLocation *start, const GtkCssLocation *end);\nfunction gtk_css_section_new(file, start, end) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_css_section_new\n  type(c_ptr), value :: file\n  type(c_ptr), value :: start\n  type(c_ptr), value :: end\nend function\n\n! GDK_AVAILABLE_IN_4_16\n!GtkCssSection * gtk_css_section_new_with_bytes (GFile *file, GBytes *bytes, const GtkCssLocation *start, const GtkCssLocation *end);\nfunction gtk_css_section_new_with_bytes(file, bytes, start, end) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_css_section_new_with_bytes\n  type(c_ptr), value :: file\n  type(c_ptr), value :: bytes\n  type(c_ptr), value :: start\n  type(c_ptr), value :: end\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkCssSection * gtk_css_section_ref (GtkCssSection *section);\nfunction gtk_css_section_ref(section) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_css_section_ref\n  type(c_ptr), value :: section\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_css_section_unref (GtkCssSection *section);\nsubroutine gtk_css_section_unref(section) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: section\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_css_section_print (const GtkCssSection *section, GString *string);\nsubroutine gtk_css_section_print(section, string) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: section\n  type(c_ptr), value :: string\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!char * gtk_css_section_to_string (const GtkCssSection *section);\nfunction gtk_css_section_to_string(section) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_css_section_to_string\n  type(c_ptr), value :: section\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkCssSection * gtk_css_section_get_parent (const GtkCssSection *section);\nfunction gtk_css_section_get_parent(section) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_css_section_get_parent\n  type(c_ptr), value :: section\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GFile * gtk_css_section_get_file (const GtkCssSection *section);\nfunction gtk_css_section_get_file(section) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_css_section_get_file\n  type(c_ptr), value :: section\nend function\n\n! GDK_AVAILABLE_IN_4_16\n!GBytes * gtk_css_section_get_bytes (const GtkCssSection *section);\nfunction gtk_css_section_get_bytes(section) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_css_section_get_bytes\n  type(c_ptr), value :: section\nend function\n\n! \n!const GtkCssLocation * gtk_css_section_get_start_location (const GtkCssSection *section);\nfunction gtk_css_section_get_start_location(section) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_css_section_get_start_location\n  type(c_ptr), value :: section\nend function\n\n! \n!const GtkCssLocation * gtk_css_section_get_end_location (const GtkCssSection *section);\nfunction gtk_css_section_get_end_location(section) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_css_section_get_end_location\n  type(c_ptr), value :: section\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkappchooser.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_app_chooser_get_type (void) ;\nfunction gtk_app_chooser_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_app_chooser_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GAppInfo * gtk_app_chooser_get_app_info (GtkAppChooser *self);\nfunction gtk_app_chooser_get_app_info(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_app_chooser_get_app_info\n  type(c_ptr), value :: self\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!char * gtk_app_chooser_get_content_type (GtkAppChooser *self);\nfunction gtk_app_chooser_get_content_type(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_app_chooser_get_content_type\n  type(c_ptr), value :: self\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_app_chooser_refresh (GtkAppChooser *self);\nsubroutine gtk_app_chooser_refresh(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkappchooserbutton.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_app_chooser_button_get_type (void) ;\nfunction gtk_app_chooser_button_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_app_chooser_button_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkWidget * gtk_app_chooser_button_new (const char *content_type);\nfunction gtk_app_chooser_button_new(content_type) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_app_chooser_button_new\n  character(kind=c_char), dimension(*) :: content_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_app_chooser_button_append_separator (GtkAppChooserButton *self);\nsubroutine gtk_app_chooser_button_append_separator(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_app_chooser_button_append_custom_item (GtkAppChooserButton *self, const char *name, const char *label, GIcon *icon);\nsubroutine gtk_app_chooser_button_append_custom_item(self, name, label, icon)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: label\n  type(c_ptr), value :: icon\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_app_chooser_button_set_active_custom_item (GtkAppChooserButton *self, const char *name);\nsubroutine gtk_app_chooser_button_set_active_custom_item(self, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: name\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_app_chooser_button_set_show_dialog_item (GtkAppChooserButton *self, gboolean setting);\nsubroutine gtk_app_chooser_button_set_show_dialog_item(self, setting) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: setting\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_app_chooser_button_get_show_dialog_item (GtkAppChooserButton *self);\nfunction gtk_app_chooser_button_get_show_dialog_item(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_app_chooser_button_get_show_dialog_item\n  type(c_ptr), value :: self\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_app_chooser_button_set_heading (GtkAppChooserButton *self, const char *heading);\nsubroutine gtk_app_chooser_button_set_heading(self, heading) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: heading\nend subroutine\n\n! \n!const char * gtk_app_chooser_button_get_heading (GtkAppChooserButton *self);\nfunction gtk_app_chooser_button_get_heading(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_app_chooser_button_get_heading\n  type(c_ptr), value :: self\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_app_chooser_button_set_show_default_item (GtkAppChooserButton *self, gboolean setting);\nsubroutine gtk_app_chooser_button_set_show_default_item(self, setting) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: setting\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_app_chooser_button_get_show_default_item (GtkAppChooserButton *self);\nfunction gtk_app_chooser_button_get_show_default_item(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_app_chooser_button_get_show_default_item\n  type(c_ptr), value :: self\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_app_chooser_button_get_modal (GtkAppChooserButton *self);\nfunction gtk_app_chooser_button_get_modal(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_app_chooser_button_get_modal\n  type(c_ptr), value :: self\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_app_chooser_button_set_modal (GtkAppChooserButton *self, gboolean modal);\nsubroutine gtk_app_chooser_button_set_modal(self, modal) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: modal\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkappchooserdialog.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_app_chooser_dialog_get_type (void) ;\nfunction gtk_app_chooser_dialog_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_app_chooser_dialog_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkWidget * gtk_app_chooser_dialog_new (GtkWindow *parent, GtkDialogFlags flags, GFile *file);\nfunction gtk_app_chooser_dialog_new(parent, flags, file) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_app_chooser_dialog_new\n  type(c_ptr), value :: parent\n  integer(c_int), value :: flags\n  type(c_ptr), value :: file\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkWidget * gtk_app_chooser_dialog_new_for_content_type (GtkWindow *parent, GtkDialogFlags flags, const char *content_type);\nfunction gtk_app_chooser_dialog_new_for_content_type(parent, flags,&\n& content_type) bind(c)\n  import :: c_ptr, c_int, c_char\n  implicit none\n  type(c_ptr) :: gtk_app_chooser_dialog_new_for_content_type\n  type(c_ptr), value :: parent\n  integer(c_int), value :: flags\n  character(kind=c_char), dimension(*) :: content_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkWidget * gtk_app_chooser_dialog_get_widget (GtkAppChooserDialog *self);\nfunction gtk_app_chooser_dialog_get_widget(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_app_chooser_dialog_get_widget\n  type(c_ptr), value :: self\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_app_chooser_dialog_set_heading (GtkAppChooserDialog *self, const char *heading);\nsubroutine gtk_app_chooser_dialog_set_heading(self, heading) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: heading\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!const char * gtk_app_chooser_dialog_get_heading (GtkAppChooserDialog *self);\nfunction gtk_app_chooser_dialog_get_heading(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_app_chooser_dialog_get_heading\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkappchooserwidget.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_app_chooser_widget_get_type (void) ;\nfunction gtk_app_chooser_widget_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_app_chooser_widget_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkWidget * gtk_app_chooser_widget_new (const char *content_type);\nfunction gtk_app_chooser_widget_new(content_type) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_app_chooser_widget_new\n  character(kind=c_char), dimension(*) :: content_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_app_chooser_widget_set_show_default (GtkAppChooserWidget *self, gboolean setting);\nsubroutine gtk_app_chooser_widget_set_show_default(self, setting) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: setting\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_app_chooser_widget_get_show_default (GtkAppChooserWidget *self);\nfunction gtk_app_chooser_widget_get_show_default(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_app_chooser_widget_get_show_default\n  type(c_ptr), value :: self\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_app_chooser_widget_set_show_recommended (GtkAppChooserWidget *self, gboolean setting);\nsubroutine gtk_app_chooser_widget_set_show_recommended(self, setting) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: setting\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_app_chooser_widget_get_show_recommended (GtkAppChooserWidget *self);\nfunction gtk_app_chooser_widget_get_show_recommended(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_app_chooser_widget_get_show_recommended\n  type(c_ptr), value :: self\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_app_chooser_widget_set_show_fallback (GtkAppChooserWidget *self, gboolean setting);\nsubroutine gtk_app_chooser_widget_set_show_fallback(self, setting) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: setting\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_app_chooser_widget_get_show_fallback (GtkAppChooserWidget *self);\nfunction gtk_app_chooser_widget_get_show_fallback(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_app_chooser_widget_get_show_fallback\n  type(c_ptr), value :: self\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_app_chooser_widget_set_show_other (GtkAppChooserWidget *self, gboolean setting);\nsubroutine gtk_app_chooser_widget_set_show_other(self, setting) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: setting\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_app_chooser_widget_get_show_other (GtkAppChooserWidget *self);\nfunction gtk_app_chooser_widget_get_show_other(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_app_chooser_widget_get_show_other\n  type(c_ptr), value :: self\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_app_chooser_widget_set_show_all (GtkAppChooserWidget *self, gboolean setting);\nsubroutine gtk_app_chooser_widget_set_show_all(self, setting) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: self\n  integer(c_int), value :: setting\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_app_chooser_widget_get_show_all (GtkAppChooserWidget *self);\nfunction gtk_app_chooser_widget_get_show_all(self) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_app_chooser_widget_get_show_all\n  type(c_ptr), value :: self\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_app_chooser_widget_set_default_text (GtkAppChooserWidget *self, const char *text);\nsubroutine gtk_app_chooser_widget_set_default_text(self, text) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: text\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!const char * gtk_app_chooser_widget_get_default_text (GtkAppChooserWidget *self);\nfunction gtk_app_chooser_widget_get_default_text(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_app_chooser_widget_get_default_text\n  type(c_ptr), value :: self\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkassistant.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_assistant_page_get_type (void) ;\nfunction gtk_assistant_page_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_assistant_page_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_assistant_get_type (void) ;\nfunction gtk_assistant_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_assistant_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkWidget *gtk_assistant_new (void);\nfunction gtk_assistant_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_assistant_new\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_assistant_next_page (GtkAssistant *assistant);\nsubroutine gtk_assistant_next_page(assistant) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: assistant\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_assistant_previous_page (GtkAssistant *assistant);\nsubroutine gtk_assistant_previous_page(assistant) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: assistant\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!int gtk_assistant_get_current_page (GtkAssistant *assistant);\nfunction gtk_assistant_get_current_page(assistant) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_assistant_get_current_page\n  type(c_ptr), value :: assistant\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_assistant_set_current_page (GtkAssistant *assistant, int page_num);\nsubroutine gtk_assistant_set_current_page(assistant, page_num) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: assistant\n  integer(c_int), value :: page_num\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!int gtk_assistant_get_n_pages (GtkAssistant *assistant);\nfunction gtk_assistant_get_n_pages(assistant) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_assistant_get_n_pages\n  type(c_ptr), value :: assistant\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkWidget *gtk_assistant_get_nth_page (GtkAssistant *assistant, int page_num);\nfunction gtk_assistant_get_nth_page(assistant, page_num) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_assistant_get_nth_page\n  type(c_ptr), value :: assistant\n  integer(c_int), value :: page_num\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!int gtk_assistant_prepend_page (GtkAssistant *assistant, GtkWidget *page);\nfunction gtk_assistant_prepend_page(assistant, page) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_assistant_prepend_page\n  type(c_ptr), value :: assistant\n  type(c_ptr), value :: page\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!int gtk_assistant_append_page (GtkAssistant *assistant, GtkWidget *page);\nfunction gtk_assistant_append_page(assistant, page) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_assistant_append_page\n  type(c_ptr), value :: assistant\n  type(c_ptr), value :: page\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!int gtk_assistant_insert_page (GtkAssistant *assistant, GtkWidget *page, int position);\nfunction gtk_assistant_insert_page(assistant, page, position) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_assistant_insert_page\n  type(c_ptr), value :: assistant\n  type(c_ptr), value :: page\n  integer(c_int), value :: position\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_assistant_remove_page (GtkAssistant *assistant, int page_num);\nsubroutine gtk_assistant_remove_page(assistant, page_num) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: assistant\n  integer(c_int), value :: page_num\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_assistant_set_forward_page_func (GtkAssistant *assistant, GtkAssistantPageFunc page_func, gpointer data, GDestroyNotify destroy);\nsubroutine gtk_assistant_set_forward_page_func(assistant, page_func, data,&\n& destroy) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: assistant\n  type(c_funptr), value :: page_func\n  type(c_ptr), value :: data\n  type(c_funptr), value :: destroy\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_assistant_set_page_type (GtkAssistant *assistant, GtkWidget *page, GtkAssistantPageType type);\nsubroutine gtk_assistant_set_page_type(assistant, page, type) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: assistant\n  type(c_ptr), value :: page\n  integer(c_int), value :: type\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!GtkAssistantPageType gtk_assistant_get_page_type (GtkAssistant *assistant, GtkWidget *page);\nfunction gtk_assistant_get_page_type(assistant, page) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_assistant_get_page_type\n  type(c_ptr), value :: assistant\n  type(c_ptr), value :: page\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_assistant_set_page_title (GtkAssistant *assistant, GtkWidget *page, const char *title);\nsubroutine gtk_assistant_set_page_title(assistant, page, title) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: assistant\n  type(c_ptr), value :: page\n  character(kind=c_char), dimension(*) :: title\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!const char * gtk_assistant_get_page_title (GtkAssistant *assistant, GtkWidget *page);\nfunction gtk_assistant_get_page_title(assistant, page) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_assistant_get_page_title\n  type(c_ptr), value :: assistant\n  type(c_ptr), value :: page\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_assistant_set_page_complete (GtkAssistant *assistant, GtkWidget *page, gboolean complete);\nsubroutine gtk_assistant_set_page_complete(assistant, page, complete) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: assistant\n  type(c_ptr), value :: page\n  integer(c_int), value :: complete\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_assistant_get_page_complete (GtkAssistant *assistant, GtkWidget *page);\nfunction gtk_assistant_get_page_complete(assistant, page) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_assistant_get_page_complete\n  type(c_ptr), value :: assistant\n  type(c_ptr), value :: page\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_assistant_add_action_widget (GtkAssistant *assistant, GtkWidget *child);\nsubroutine gtk_assistant_add_action_widget(assistant, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: assistant\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_assistant_remove_action_widget (GtkAssistant *assistant, GtkWidget *child);\nsubroutine gtk_assistant_remove_action_widget(assistant, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: assistant\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_assistant_update_buttons_state (GtkAssistant *assistant);\nsubroutine gtk_assistant_update_buttons_state(assistant) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: assistant\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_assistant_commit (GtkAssistant *assistant);\nsubroutine gtk_assistant_commit(assistant) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: assistant\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!GtkAssistantPage * gtk_assistant_get_page (GtkAssistant *assistant, GtkWidget *child);\nfunction gtk_assistant_get_page(assistant, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_assistant_get_page\n  type(c_ptr), value :: assistant\n  type(c_ptr), value :: child\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkWidget * gtk_assistant_page_get_child (GtkAssistantPage *page);\nfunction gtk_assistant_page_get_child(page) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_assistant_page_get_child\n  type(c_ptr), value :: page\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GListModel * gtk_assistant_get_pages (GtkAssistant *assistant);\nfunction gtk_assistant_get_pages(assistant) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_assistant_get_pages\n  type(c_ptr), value :: assistant\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_cell_area_get_type (void) ;\nfunction gtk_cell_area_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_cell_area_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_area_add (GtkCellArea *area, GtkCellRenderer *renderer);\nsubroutine gtk_cell_area_add(area, renderer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: area\n  type(c_ptr), value :: renderer\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_area_remove (GtkCellArea *area, GtkCellRenderer *renderer);\nsubroutine gtk_cell_area_remove(area, renderer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: area\n  type(c_ptr), value :: renderer\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_cell_area_has_renderer (GtkCellArea *area, GtkCellRenderer *renderer);\nfunction gtk_cell_area_has_renderer(area, renderer) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_cell_area_has_renderer\n  type(c_ptr), value :: area\n  type(c_ptr), value :: renderer\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_area_foreach (GtkCellArea *area, GtkCellCallback callback, gpointer callback_data);\nsubroutine gtk_cell_area_foreach(area, callback, callback_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: area\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: callback_data\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_area_foreach_alloc (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, const GdkRectangle *cell_area, const GdkRectangle *background_area, GtkCellAllocCallback callback, gpointer callback_data);\nsubroutine gtk_cell_area_foreach_alloc(area, context, widget, cell_area,&\n& background_area, callback, callback_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: area\n  type(c_ptr), value :: context\n  type(c_ptr), value :: widget\n  type(c_ptr), value :: cell_area\n  type(c_ptr), value :: background_area\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: callback_data\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!int gtk_cell_area_event (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, GdkEvent *event, const GdkRectangle *cell_area, GtkCellRendererState flags);\nfunction gtk_cell_area_event(area, context, widget, event, cell_area, flags)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_cell_area_event\n  type(c_ptr), value :: area\n  type(c_ptr), value :: context\n  type(c_ptr), value :: widget\n  type(c_ptr), value :: event\n  type(c_ptr), value :: cell_area\n  integer(c_int), value :: flags\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_area_snapshot (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, GtkSnapshot *snapshot, const GdkRectangle *background_area, const GdkRectangle *cell_area, GtkCellRendererState flags, gboolean paint_focus);\nsubroutine gtk_cell_area_snapshot(area, context, widget, snapshot,&\n& background_area, cell_area, flags, paint_focus) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: area\n  type(c_ptr), value :: context\n  type(c_ptr), value :: widget\n  type(c_ptr), value :: snapshot\n  type(c_ptr), value :: background_area\n  type(c_ptr), value :: cell_area\n  integer(c_int), value :: flags\n  integer(c_int), value :: paint_focus\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_area_get_cell_allocation (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, GtkCellRenderer *renderer, const GdkRectangle *cell_area, GdkRectangle *allocation);\nsubroutine gtk_cell_area_get_cell_allocation(area, context, widget, renderer,&\n& cell_area, allocation) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: area\n  type(c_ptr), value :: context\n  type(c_ptr), value :: widget\n  type(c_ptr), value :: renderer\n  type(c_ptr), value :: cell_area\n  type(c_ptr), value :: allocation\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!GtkCellRenderer *gtk_cell_area_get_cell_at_position (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, const GdkRectangle *cell_area, int x, int y, GdkRectangle *alloc_area);\nfunction gtk_cell_area_get_cell_at_position(area, context, widget, cell_area,&\n& x, y, alloc_area) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_cell_area_get_cell_at_position\n  type(c_ptr), value :: area\n  type(c_ptr), value :: context\n  type(c_ptr), value :: widget\n  type(c_ptr), value :: cell_area\n  integer(c_int), value :: x\n  integer(c_int), value :: y\n  type(c_ptr), value :: alloc_area\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkCellAreaContext *gtk_cell_area_create_context (GtkCellArea *area);\nfunction gtk_cell_area_create_context(area) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_cell_area_create_context\n  type(c_ptr), value :: area\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkCellAreaContext *gtk_cell_area_copy_context (GtkCellArea *area, GtkCellAreaContext *context);\nfunction gtk_cell_area_copy_context(area, context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_cell_area_copy_context\n  type(c_ptr), value :: area\n  type(c_ptr), value :: context\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkSizeRequestMode gtk_cell_area_get_request_mode (GtkCellArea *area);\nfunction gtk_cell_area_get_request_mode(area) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_cell_area_get_request_mode\n  type(c_ptr), value :: area\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_area_get_preferred_width (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, int *minimum_width, int *natural_width);\nsubroutine gtk_cell_area_get_preferred_width(area, context, widget,&\n& minimum_width, natural_width) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: area\n  type(c_ptr), value :: context\n  type(c_ptr), value :: widget\n  type(c_ptr), value :: minimum_width\n  type(c_ptr), value :: natural_width\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_area_get_preferred_height_for_width (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, int width, int *minimum_height, int *natural_height);\nsubroutine gtk_cell_area_get_preferred_height_for_width(area, context, widget,&\n& width, minimum_height, natural_height) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: area\n  type(c_ptr), value :: context\n  type(c_ptr), value :: widget\n  integer(c_int), value :: width\n  type(c_ptr), value :: minimum_height\n  type(c_ptr), value :: natural_height\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_area_get_preferred_height (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, int *minimum_height, int *natural_height);\nsubroutine gtk_cell_area_get_preferred_height(area, context, widget,&\n& minimum_height, natural_height) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: area\n  type(c_ptr), value :: context\n  type(c_ptr), value :: widget\n  type(c_ptr), value :: minimum_height\n  type(c_ptr), value :: natural_height\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_area_get_preferred_width_for_height (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, int height, int *minimum_width, int *natural_width);\nsubroutine gtk_cell_area_get_preferred_width_for_height(area, context, widget,&\n& height, minimum_width, natural_width) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: area\n  type(c_ptr), value :: context\n  type(c_ptr), value :: widget\n  integer(c_int), value :: height\n  type(c_ptr), value :: minimum_width\n  type(c_ptr), value :: natural_width\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!const char * gtk_cell_area_get_current_path_string (GtkCellArea *area);\nfunction gtk_cell_area_get_current_path_string(area) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_cell_area_get_current_path_string\n  type(c_ptr), value :: area\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_area_apply_attributes (GtkCellArea *area, GtkTreeModel *tree_model, GtkTreeIter *iter, gboolean is_expander, gboolean is_expanded);\nsubroutine gtk_cell_area_apply_attributes(area, tree_model, iter, is_expander,&\n& is_expanded) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: area\n  type(c_ptr), value :: tree_model\n  type(c_ptr), value :: iter\n  integer(c_int), value :: is_expander\n  integer(c_int), value :: is_expanded\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_area_attribute_connect (GtkCellArea *area, GtkCellRenderer *renderer, const char *attribute, int column);\nsubroutine gtk_cell_area_attribute_connect(area, renderer, attribute, column)&\n& bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: area\n  type(c_ptr), value :: renderer\n  character(kind=c_char), dimension(*) :: attribute\n  integer(c_int), value :: column\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_area_attribute_disconnect (GtkCellArea *area, GtkCellRenderer *renderer, const char *attribute);\nsubroutine gtk_cell_area_attribute_disconnect(area, renderer, attribute)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: area\n  type(c_ptr), value :: renderer\n  character(kind=c_char), dimension(*) :: attribute\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!int gtk_cell_area_attribute_get_column (GtkCellArea *area, GtkCellRenderer *renderer, const char *attribute);\nfunction gtk_cell_area_attribute_get_column(area, renderer, attribute) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_cell_area_attribute_get_column\n  type(c_ptr), value :: area\n  type(c_ptr), value :: renderer\n  character(kind=c_char), dimension(*) :: attribute\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_area_class_install_cell_property (GtkCellAreaClass *aclass, guint property_id, GParamSpec *pspec);\nsubroutine gtk_cell_area_class_install_cell_property(aclass, property_id,&\n& pspec) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: aclass\n  integer(c_int), value :: property_id\n  type(c_ptr), value :: pspec\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!GParamSpec* gtk_cell_area_class_find_cell_property (GtkCellAreaClass *aclass, const char *property_name);\nfunction gtk_cell_area_class_find_cell_property(aclass, property_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_cell_area_class_find_cell_property\n  type(c_ptr), value :: aclass\n  character(kind=c_char), dimension(*) :: property_name\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GParamSpec** gtk_cell_area_class_list_cell_properties (GtkCellAreaClass *aclass, guint *n_properties);\nfunction gtk_cell_area_class_list_cell_properties(aclass, n_properties) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_cell_area_class_list_cell_properties\n  type(c_ptr), value :: aclass\n  type(c_ptr), value :: n_properties\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_area_cell_set_valist (GtkCellArea *area, GtkCellRenderer *renderer, const char *first_property_name, va_list var_args);\nsubroutine gtk_cell_area_cell_set_valist(area, renderer, first_property_name,&\n& var_args) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: area\n  type(c_ptr), value :: renderer\n  character(kind=c_char), dimension(*) :: first_property_name\n  type(c_ptr), value :: var_args\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_area_cell_get_valist (GtkCellArea *area, GtkCellRenderer *renderer, const char *first_property_name, va_list var_args);\nsubroutine gtk_cell_area_cell_get_valist(area, renderer, first_property_name,&\n& var_args) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: area\n  type(c_ptr), value :: renderer\n  character(kind=c_char), dimension(*) :: first_property_name\n  type(c_ptr), value :: var_args\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_area_cell_set_property (GtkCellArea *area, GtkCellRenderer *renderer, const char *property_name, const GValue *value);\nsubroutine gtk_cell_area_cell_set_property(area, renderer, property_name,&\n& value) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: area\n  type(c_ptr), value :: renderer\n  character(kind=c_char), dimension(*) :: property_name\n  type(c_ptr), value :: value\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_area_cell_get_property (GtkCellArea *area, GtkCellRenderer *renderer, const char *property_name, GValue *value);\nsubroutine gtk_cell_area_cell_get_property(area, renderer, property_name,&\n& value) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: area\n  type(c_ptr), value :: renderer\n  character(kind=c_char), dimension(*) :: property_name\n  type(c_ptr), value :: value\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_cell_area_is_activatable (GtkCellArea *area);\nfunction gtk_cell_area_is_activatable(area) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_cell_area_is_activatable\n  type(c_ptr), value :: area\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_cell_area_activate (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, const GdkRectangle *cell_area, GtkCellRendererState flags, gboolean edit_only);\nfunction gtk_cell_area_activate(area, context, widget, cell_area, flags,&\n& edit_only) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_cell_area_activate\n  type(c_ptr), value :: area\n  type(c_ptr), value :: context\n  type(c_ptr), value :: widget\n  type(c_ptr), value :: cell_area\n  integer(c_int), value :: flags\n  integer(c_int), value :: edit_only\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_cell_area_focus (GtkCellArea *area, GtkDirectionType direction);\nfunction gtk_cell_area_focus(area, direction) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_cell_area_focus\n  type(c_ptr), value :: area\n  integer(c_int), value :: direction\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_area_set_focus_cell (GtkCellArea *area, GtkCellRenderer *renderer);\nsubroutine gtk_cell_area_set_focus_cell(area, renderer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: area\n  type(c_ptr), value :: renderer\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!GtkCellRenderer *gtk_cell_area_get_focus_cell (GtkCellArea *area);\nfunction gtk_cell_area_get_focus_cell(area) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_cell_area_get_focus_cell\n  type(c_ptr), value :: area\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_area_add_focus_sibling (GtkCellArea *area, GtkCellRenderer *renderer, GtkCellRenderer *sibling);\nsubroutine gtk_cell_area_add_focus_sibling(area, renderer, sibling) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: area\n  type(c_ptr), value :: renderer\n  type(c_ptr), value :: sibling\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_area_remove_focus_sibling (GtkCellArea *area, GtkCellRenderer *renderer, GtkCellRenderer *sibling);\nsubroutine gtk_cell_area_remove_focus_sibling(area, renderer, sibling) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: area\n  type(c_ptr), value :: renderer\n  type(c_ptr), value :: sibling\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_cell_area_is_focus_sibling (GtkCellArea *area, GtkCellRenderer *renderer, GtkCellRenderer *sibling);\nfunction gtk_cell_area_is_focus_sibling(area, renderer, sibling) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_cell_area_is_focus_sibling\n  type(c_ptr), value :: area\n  type(c_ptr), value :: renderer\n  type(c_ptr), value :: sibling\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!const GList * gtk_cell_area_get_focus_siblings (GtkCellArea *area, GtkCellRenderer *renderer);\nfunction gtk_cell_area_get_focus_siblings(area, renderer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_cell_area_get_focus_siblings\n  type(c_ptr), value :: area\n  type(c_ptr), value :: renderer\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkCellRenderer *gtk_cell_area_get_focus_from_sibling (GtkCellArea *area, GtkCellRenderer *renderer);\nfunction gtk_cell_area_get_focus_from_sibling(area, renderer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_cell_area_get_focus_from_sibling\n  type(c_ptr), value :: area\n  type(c_ptr), value :: renderer\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkCellRenderer *gtk_cell_area_get_edited_cell (GtkCellArea *area);\nfunction gtk_cell_area_get_edited_cell(area) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_cell_area_get_edited_cell\n  type(c_ptr), value :: area\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkCellEditable *gtk_cell_area_get_edit_widget (GtkCellArea *area);\nfunction gtk_cell_area_get_edit_widget(area) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_cell_area_get_edit_widget\n  type(c_ptr), value :: area\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_cell_area_activate_cell (GtkCellArea *area, GtkWidget *widget, GtkCellRenderer *renderer, GdkEvent *event, const GdkRectangle *cell_area, GtkCellRendererState flags);\nfunction gtk_cell_area_activate_cell(area, widget, renderer, event, cell_area,&\n& flags) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_cell_area_activate_cell\n  type(c_ptr), value :: area\n  type(c_ptr), value :: widget\n  type(c_ptr), value :: renderer\n  type(c_ptr), value :: event\n  type(c_ptr), value :: cell_area\n  integer(c_int), value :: flags\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_area_stop_editing (GtkCellArea *area, gboolean canceled);\nsubroutine gtk_cell_area_stop_editing(area, canceled) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: area\n  integer(c_int), value :: canceled\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_area_inner_cell_area (GtkCellArea *area, GtkWidget *widget, const GdkRectangle *cell_area, GdkRectangle *inner_area);\nsubroutine gtk_cell_area_inner_cell_area(area, widget, cell_area, inner_area)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: area\n  type(c_ptr), value :: widget\n  type(c_ptr), value :: cell_area\n  type(c_ptr), value :: inner_area\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_area_request_renderer (GtkCellArea *area, GtkCellRenderer *renderer, GtkOrientation orientation, GtkWidget *widget, int for_size, int *minimum_size, int *natural_size);\nsubroutine gtk_cell_area_request_renderer(area, renderer, orientation, widget,&\n& for_size, minimum_size, natural_size) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: area\n  type(c_ptr), value :: renderer\n  integer(c_int), value :: orientation\n  type(c_ptr), value :: widget\n  integer(c_int), value :: for_size\n  type(c_ptr), value :: minimum_size\n  type(c_ptr), value :: natural_size\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkcellareabox.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_cell_area_box_get_type (void) ;\nfunction gtk_cell_area_box_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_cell_area_box_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkCellArea *gtk_cell_area_box_new (void);\nfunction gtk_cell_area_box_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_cell_area_box_new\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_area_box_pack_start (GtkCellAreaBox *box, GtkCellRenderer *renderer, gboolean expand, gboolean align, gboolean fixed);\nsubroutine gtk_cell_area_box_pack_start(box, renderer, expand, align, fixed)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: box\n  type(c_ptr), value :: renderer\n  integer(c_int), value :: expand\n  integer(c_int), value :: align\n  integer(c_int), value :: fixed\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_area_box_pack_end (GtkCellAreaBox *box, GtkCellRenderer *renderer, gboolean expand, gboolean align, gboolean fixed);\nsubroutine gtk_cell_area_box_pack_end(box, renderer, expand, align, fixed)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: box\n  type(c_ptr), value :: renderer\n  integer(c_int), value :: expand\n  integer(c_int), value :: align\n  integer(c_int), value :: fixed\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!int gtk_cell_area_box_get_spacing (GtkCellAreaBox *box);\nfunction gtk_cell_area_box_get_spacing(box) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_cell_area_box_get_spacing\n  type(c_ptr), value :: box\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_area_box_set_spacing (GtkCellAreaBox *box, int spacing);\nsubroutine gtk_cell_area_box_set_spacing(box, spacing) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: box\n  integer(c_int), value :: spacing\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkcellareacontext.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_cell_area_context_get_type (void) ;\nfunction gtk_cell_area_context_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_cell_area_context_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkCellArea *gtk_cell_area_context_get_area (GtkCellAreaContext *context);\nfunction gtk_cell_area_context_get_area(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_cell_area_context_get_area\n  type(c_ptr), value :: context\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_area_context_allocate (GtkCellAreaContext *context, int width, int height);\nsubroutine gtk_cell_area_context_allocate(context, width, height) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: context\n  integer(c_int), value :: width\n  integer(c_int), value :: height\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_area_context_reset (GtkCellAreaContext *context);\nsubroutine gtk_cell_area_context_reset(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_area_context_get_preferred_width (GtkCellAreaContext *context, int *minimum_width, int *natural_width);\nsubroutine gtk_cell_area_context_get_preferred_width(context, minimum_width,&\n& natural_width) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: minimum_width\n  type(c_ptr), value :: natural_width\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_area_context_get_preferred_height (GtkCellAreaContext *context, int *minimum_height, int *natural_height);\nsubroutine gtk_cell_area_context_get_preferred_height(context, minimum_height,&\n& natural_height) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: minimum_height\n  type(c_ptr), value :: natural_height\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_area_context_get_preferred_height_for_width (GtkCellAreaContext *context, int width, int *minimum_height, int *natural_height);\nsubroutine gtk_cell_area_context_get_preferred_height_for_width(context, width,&\n& minimum_height, natural_height) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: context\n  integer(c_int), value :: width\n  type(c_ptr), value :: minimum_height\n  type(c_ptr), value :: natural_height\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_area_context_get_preferred_width_for_height (GtkCellAreaContext *context, int height, int *minimum_width, int *natural_width);\nsubroutine gtk_cell_area_context_get_preferred_width_for_height(context,&\n& height, minimum_width, natural_width) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: context\n  integer(c_int), value :: height\n  type(c_ptr), value :: minimum_width\n  type(c_ptr), value :: natural_width\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_area_context_get_allocation (GtkCellAreaContext *context, int *width, int *height);\nsubroutine gtk_cell_area_context_get_allocation(context, width, height) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: width\n  type(c_ptr), value :: height\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_area_context_push_preferred_width (GtkCellAreaContext *context, int minimum_width, int natural_width);\nsubroutine gtk_cell_area_context_push_preferred_width(context, minimum_width,&\n& natural_width) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: context\n  integer(c_int), value :: minimum_width\n  integer(c_int), value :: natural_width\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_area_context_push_preferred_height (GtkCellAreaContext *context, int minimum_height, int natural_height);\nsubroutine gtk_cell_area_context_push_preferred_height(context, minimum_height,&\n& natural_height) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: context\n  integer(c_int), value :: minimum_height\n  integer(c_int), value :: natural_height\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkcelleditable.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_cell_editable_get_type (void) ;\nfunction gtk_cell_editable_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_cell_editable_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_editable_start_editing (GtkCellEditable *cell_editable, GdkEvent *event);\nsubroutine gtk_cell_editable_start_editing(cell_editable, event) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cell_editable\n  type(c_ptr), value :: event\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_editable_editing_done (GtkCellEditable *cell_editable);\nsubroutine gtk_cell_editable_editing_done(cell_editable) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cell_editable\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_editable_remove_widget (GtkCellEditable *cell_editable);\nsubroutine gtk_cell_editable_remove_widget(cell_editable) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cell_editable\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkcelllayout.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_cell_layout_get_type (void) ;\nfunction gtk_cell_layout_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_cell_layout_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_layout_pack_start (GtkCellLayout *cell_layout, GtkCellRenderer *cell, gboolean expand);\nsubroutine gtk_cell_layout_pack_start(cell_layout, cell, expand) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: cell_layout\n  type(c_ptr), value :: cell\n  integer(c_int), value :: expand\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_layout_pack_end (GtkCellLayout *cell_layout, GtkCellRenderer *cell, gboolean expand);\nsubroutine gtk_cell_layout_pack_end(cell_layout, cell, expand) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: cell_layout\n  type(c_ptr), value :: cell\n  integer(c_int), value :: expand\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!GList *gtk_cell_layout_get_cells (GtkCellLayout *cell_layout);\nfunction gtk_cell_layout_get_cells(cell_layout) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_cell_layout_get_cells\n  type(c_ptr), value :: cell_layout\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_layout_clear (GtkCellLayout *cell_layout);\nsubroutine gtk_cell_layout_clear(cell_layout) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cell_layout\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_layout_add_attribute (GtkCellLayout *cell_layout, GtkCellRenderer *cell, const char *attribute, int column);\nsubroutine gtk_cell_layout_add_attribute(cell_layout, cell, attribute, column)&\n& bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: cell_layout\n  type(c_ptr), value :: cell\n  character(kind=c_char), dimension(*) :: attribute\n  integer(c_int), value :: column\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_layout_set_cell_data_func (GtkCellLayout *cell_layout, GtkCellRenderer *cell, GtkCellLayoutDataFunc func, gpointer func_data, GDestroyNotify destroy);\nsubroutine gtk_cell_layout_set_cell_data_func(cell_layout, cell, func,&\n& func_data, destroy) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: cell_layout\n  type(c_ptr), value :: cell\n  type(c_funptr), value :: func\n  type(c_ptr), value :: func_data\n  type(c_funptr), value :: destroy\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_layout_clear_attributes (GtkCellLayout *cell_layout, GtkCellRenderer *cell);\nsubroutine gtk_cell_layout_clear_attributes(cell_layout, cell) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cell_layout\n  type(c_ptr), value :: cell\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_layout_reorder (GtkCellLayout *cell_layout, GtkCellRenderer *cell, int position);\nsubroutine gtk_cell_layout_reorder(cell_layout, cell, position) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: cell_layout\n  type(c_ptr), value :: cell\n  integer(c_int), value :: position\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!GtkCellArea *gtk_cell_layout_get_area (GtkCellLayout *cell_layout);\nfunction gtk_cell_layout_get_area(cell_layout) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_cell_layout_get_area\n  type(c_ptr), value :: cell_layout\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderer.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_cell_renderer_get_type (void) ;\nfunction gtk_cell_renderer_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_cell_renderer_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkSizeRequestMode gtk_cell_renderer_get_request_mode (GtkCellRenderer *cell);\nfunction gtk_cell_renderer_get_request_mode(cell) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_cell_renderer_get_request_mode\n  type(c_ptr), value :: cell\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_renderer_get_preferred_width (GtkCellRenderer *cell, GtkWidget *widget, int *minimum_size, int *natural_size);\nsubroutine gtk_cell_renderer_get_preferred_width(cell, widget, minimum_size,&\n& natural_size) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cell\n  type(c_ptr), value :: widget\n  type(c_ptr), value :: minimum_size\n  type(c_ptr), value :: natural_size\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_renderer_get_preferred_height_for_width (GtkCellRenderer *cell, GtkWidget *widget, int width, int *minimum_height, int *natural_height);\nsubroutine gtk_cell_renderer_get_preferred_height_for_width(cell, widget,&\n& width, minimum_height, natural_height) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: cell\n  type(c_ptr), value :: widget\n  integer(c_int), value :: width\n  type(c_ptr), value :: minimum_height\n  type(c_ptr), value :: natural_height\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_renderer_get_preferred_height (GtkCellRenderer *cell, GtkWidget *widget, int *minimum_size, int *natural_size);\nsubroutine gtk_cell_renderer_get_preferred_height(cell, widget, minimum_size,&\n& natural_size) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cell\n  type(c_ptr), value :: widget\n  type(c_ptr), value :: minimum_size\n  type(c_ptr), value :: natural_size\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_renderer_get_preferred_width_for_height (GtkCellRenderer *cell, GtkWidget *widget, int height, int *minimum_width, int *natural_width);\nsubroutine gtk_cell_renderer_get_preferred_width_for_height(cell, widget,&\n& height, minimum_width, natural_width) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: cell\n  type(c_ptr), value :: widget\n  integer(c_int), value :: height\n  type(c_ptr), value :: minimum_width\n  type(c_ptr), value :: natural_width\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_renderer_get_preferred_size (GtkCellRenderer *cell, GtkWidget *widget, GtkRequisition *minimum_size, GtkRequisition *natural_size);\nsubroutine gtk_cell_renderer_get_preferred_size(cell, widget, minimum_size,&\n& natural_size) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cell\n  type(c_ptr), value :: widget\n  type(c_ptr), value :: minimum_size\n  type(c_ptr), value :: natural_size\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_renderer_get_aligned_area (GtkCellRenderer *cell, GtkWidget *widget, GtkCellRendererState flags, const GdkRectangle *cell_area, GdkRectangle *aligned_area);\nsubroutine gtk_cell_renderer_get_aligned_area(cell, widget, flags, cell_area,&\n& aligned_area) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: cell\n  type(c_ptr), value :: widget\n  integer(c_int), value :: flags\n  type(c_ptr), value :: cell_area\n  type(c_ptr), value :: aligned_area\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_renderer_snapshot (GtkCellRenderer *cell, GtkSnapshot *snapshot, GtkWidget *widget, const GdkRectangle *background_area, const GdkRectangle *cell_area, GtkCellRendererState flags);\nsubroutine gtk_cell_renderer_snapshot(cell, snapshot, widget, background_area,&\n& cell_area, flags) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: cell\n  type(c_ptr), value :: snapshot\n  type(c_ptr), value :: widget\n  type(c_ptr), value :: background_area\n  type(c_ptr), value :: cell_area\n  integer(c_int), value :: flags\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_cell_renderer_activate (GtkCellRenderer *cell, GdkEvent *event, GtkWidget *widget, const char *path, const GdkRectangle *background_area, const GdkRectangle *cell_area, GtkCellRendererState flags);\nfunction gtk_cell_renderer_activate(cell, event, widget, path, background_area,&\n& cell_area, flags) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_cell_renderer_activate\n  type(c_ptr), value :: cell\n  type(c_ptr), value :: event\n  type(c_ptr), value :: widget\n  character(kind=c_char), dimension(*) :: path\n  type(c_ptr), value :: background_area\n  type(c_ptr), value :: cell_area\n  integer(c_int), value :: flags\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkCellEditable *gtk_cell_renderer_start_editing (GtkCellRenderer *cell, GdkEvent *event, GtkWidget *widget, const char *path, const GdkRectangle *background_area, const GdkRectangle *cell_area, GtkCellRendererState flags);\nfunction gtk_cell_renderer_start_editing(cell, event, widget, path,&\n& background_area, cell_area, flags) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: gtk_cell_renderer_start_editing\n  type(c_ptr), value :: cell\n  type(c_ptr), value :: event\n  type(c_ptr), value :: widget\n  character(kind=c_char), dimension(*) :: path\n  type(c_ptr), value :: background_area\n  type(c_ptr), value :: cell_area\n  integer(c_int), value :: flags\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_renderer_set_fixed_size (GtkCellRenderer *cell, int width, int height);\nsubroutine gtk_cell_renderer_set_fixed_size(cell, width, height) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: cell\n  integer(c_int), value :: width\n  integer(c_int), value :: height\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_renderer_get_fixed_size (GtkCellRenderer *cell, int *width, int *height);\nsubroutine gtk_cell_renderer_get_fixed_size(cell, width, height) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cell\n  type(c_ptr), value :: width\n  type(c_ptr), value :: height\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_renderer_set_alignment (GtkCellRenderer *cell, float xalign, float yalign);\nsubroutine gtk_cell_renderer_set_alignment(cell, xalign, yalign) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: cell\n  real(c_float), value :: xalign\n  real(c_float), value :: yalign\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_renderer_get_alignment (GtkCellRenderer *cell, float *xalign, float *yalign);\nsubroutine gtk_cell_renderer_get_alignment(cell, xalign, yalign) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cell\n  type(c_ptr), value :: xalign\n  type(c_ptr), value :: yalign\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_renderer_set_padding (GtkCellRenderer *cell, int xpad, int ypad);\nsubroutine gtk_cell_renderer_set_padding(cell, xpad, ypad) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: cell\n  integer(c_int), value :: xpad\n  integer(c_int), value :: ypad\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_renderer_get_padding (GtkCellRenderer *cell, int *xpad, int *ypad);\nsubroutine gtk_cell_renderer_get_padding(cell, xpad, ypad) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cell\n  type(c_ptr), value :: xpad\n  type(c_ptr), value :: ypad\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_renderer_set_visible (GtkCellRenderer *cell, gboolean visible);\nsubroutine gtk_cell_renderer_set_visible(cell, visible) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: cell\n  integer(c_int), value :: visible\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_cell_renderer_get_visible (GtkCellRenderer *cell);\nfunction gtk_cell_renderer_get_visible(cell) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_cell_renderer_get_visible\n  type(c_ptr), value :: cell\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_renderer_set_sensitive (GtkCellRenderer *cell, gboolean sensitive);\nsubroutine gtk_cell_renderer_set_sensitive(cell, sensitive) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: cell\n  integer(c_int), value :: sensitive\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_cell_renderer_get_sensitive (GtkCellRenderer *cell);\nfunction gtk_cell_renderer_get_sensitive(cell) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_cell_renderer_get_sensitive\n  type(c_ptr), value :: cell\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_cell_renderer_is_activatable (GtkCellRenderer *cell);\nfunction gtk_cell_renderer_is_activatable(cell) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_cell_renderer_is_activatable\n  type(c_ptr), value :: cell\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_renderer_set_is_expander (GtkCellRenderer *cell, gboolean is_expander);\nsubroutine gtk_cell_renderer_set_is_expander(cell, is_expander) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: cell\n  integer(c_int), value :: is_expander\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_cell_renderer_get_is_expander (GtkCellRenderer *cell);\nfunction gtk_cell_renderer_get_is_expander(cell) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_cell_renderer_get_is_expander\n  type(c_ptr), value :: cell\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_renderer_set_is_expanded (GtkCellRenderer *cell, gboolean is_expanded);\nsubroutine gtk_cell_renderer_set_is_expanded(cell, is_expanded) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: cell\n  integer(c_int), value :: is_expanded\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_cell_renderer_get_is_expanded (GtkCellRenderer *cell);\nfunction gtk_cell_renderer_get_is_expanded(cell) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_cell_renderer_get_is_expanded\n  type(c_ptr), value :: cell\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_renderer_stop_editing (GtkCellRenderer *cell, gboolean canceled);\nsubroutine gtk_cell_renderer_stop_editing(cell, canceled) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: cell\n  integer(c_int), value :: canceled\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!GtkStateFlags gtk_cell_renderer_get_state (GtkCellRenderer *cell, GtkWidget *widget, GtkCellRendererState cell_state);\nfunction gtk_cell_renderer_get_state(cell, widget, cell_state) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_cell_renderer_get_state\n  type(c_ptr), value :: cell\n  type(c_ptr), value :: widget\n  integer(c_int), value :: cell_state\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkcellrendereraccel.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_cell_renderer_accel_get_type (void) ;\nfunction gtk_cell_renderer_accel_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_cell_renderer_accel_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkCellRenderer *gtk_cell_renderer_accel_new (void);\nfunction gtk_cell_renderer_accel_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_cell_renderer_accel_new\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderercombo.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_cell_renderer_combo_get_type (void) ;\nfunction gtk_cell_renderer_combo_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_cell_renderer_combo_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkCellRenderer *gtk_cell_renderer_combo_new (void);\nfunction gtk_cell_renderer_combo_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_cell_renderer_combo_new\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkcellrendererpixbuf.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_cell_renderer_pixbuf_get_type (void) ;\nfunction gtk_cell_renderer_pixbuf_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_cell_renderer_pixbuf_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkCellRenderer *gtk_cell_renderer_pixbuf_new (void);\nfunction gtk_cell_renderer_pixbuf_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_cell_renderer_pixbuf_new\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkcellrendererprogress.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_cell_renderer_progress_get_type (void) ;\nfunction gtk_cell_renderer_progress_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_cell_renderer_progress_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkCellRenderer* gtk_cell_renderer_progress_new (void);\nfunction gtk_cell_renderer_progress_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_cell_renderer_progress_new\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkcellrendererspin.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_cell_renderer_spin_get_type (void);\nfunction gtk_cell_renderer_spin_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_cell_renderer_spin_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkCellRenderer *gtk_cell_renderer_spin_new (void);\nfunction gtk_cell_renderer_spin_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_cell_renderer_spin_new\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkcellrendererspinner.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_cell_renderer_spinner_get_type (void) ;\nfunction gtk_cell_renderer_spinner_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_cell_renderer_spinner_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkCellRenderer *gtk_cell_renderer_spinner_new (void);\nfunction gtk_cell_renderer_spinner_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_cell_renderer_spinner_new\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderertext.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_cell_renderer_text_get_type (void) ;\nfunction gtk_cell_renderer_text_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_cell_renderer_text_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkCellRenderer *gtk_cell_renderer_text_new (void);\nfunction gtk_cell_renderer_text_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_cell_renderer_text_new\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_renderer_text_set_fixed_height_from_font (GtkCellRendererText *renderer, int number_of_rows);\nsubroutine gtk_cell_renderer_text_set_fixed_height_from_font(renderer,&\n& number_of_rows) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: renderer\n  integer(c_int), value :: number_of_rows\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderertoggle.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_cell_renderer_toggle_get_type (void) ;\nfunction gtk_cell_renderer_toggle_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_cell_renderer_toggle_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkCellRenderer *gtk_cell_renderer_toggle_new (void);\nfunction gtk_cell_renderer_toggle_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_cell_renderer_toggle_new\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_cell_renderer_toggle_get_radio (GtkCellRendererToggle *toggle);\nfunction gtk_cell_renderer_toggle_get_radio(toggle) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_cell_renderer_toggle_get_radio\n  type(c_ptr), value :: toggle\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_renderer_toggle_set_radio (GtkCellRendererToggle *toggle, gboolean radio);\nsubroutine gtk_cell_renderer_toggle_set_radio(toggle, radio) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: toggle\n  integer(c_int), value :: radio\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_cell_renderer_toggle_get_active (GtkCellRendererToggle *toggle);\nfunction gtk_cell_renderer_toggle_get_active(toggle) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_cell_renderer_toggle_get_active\n  type(c_ptr), value :: toggle\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_renderer_toggle_set_active (GtkCellRendererToggle *toggle, gboolean setting);\nsubroutine gtk_cell_renderer_toggle_set_active(toggle, setting) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: toggle\n  integer(c_int), value :: setting\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_cell_renderer_toggle_get_activatable (GtkCellRendererToggle *toggle);\nfunction gtk_cell_renderer_toggle_get_activatable(toggle) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_cell_renderer_toggle_get_activatable\n  type(c_ptr), value :: toggle\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_renderer_toggle_set_activatable (GtkCellRendererToggle *toggle, gboolean setting);\nsubroutine gtk_cell_renderer_toggle_set_activatable(toggle, setting) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: toggle\n  integer(c_int), value :: setting\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkcellview.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_cell_view_get_type (void) ;\nfunction gtk_cell_view_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_cell_view_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkWidget *gtk_cell_view_new (void);\nfunction gtk_cell_view_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_cell_view_new\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkWidget *gtk_cell_view_new_with_context (GtkCellArea *area, GtkCellAreaContext *context);\nfunction gtk_cell_view_new_with_context(area, context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_cell_view_new_with_context\n  type(c_ptr), value :: area\n  type(c_ptr), value :: context\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkWidget *gtk_cell_view_new_with_text (const char *text);\nfunction gtk_cell_view_new_with_text(text) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_cell_view_new_with_text\n  character(kind=c_char), dimension(*) :: text\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkWidget *gtk_cell_view_new_with_markup (const char *markup);\nfunction gtk_cell_view_new_with_markup(markup) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_cell_view_new_with_markup\n  character(kind=c_char), dimension(*) :: markup\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkWidget *gtk_cell_view_new_with_texture (GdkTexture *texture);\nfunction gtk_cell_view_new_with_texture(texture) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_cell_view_new_with_texture\n  type(c_ptr), value :: texture\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_view_set_model (GtkCellView *cell_view, GtkTreeModel *model);\nsubroutine gtk_cell_view_set_model(cell_view, model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cell_view\n  type(c_ptr), value :: model\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!GtkTreeModel *gtk_cell_view_get_model (GtkCellView *cell_view);\nfunction gtk_cell_view_get_model(cell_view) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_cell_view_get_model\n  type(c_ptr), value :: cell_view\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_view_set_displayed_row (GtkCellView *cell_view, GtkTreePath *path);\nsubroutine gtk_cell_view_set_displayed_row(cell_view, path) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cell_view\n  type(c_ptr), value :: path\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!GtkTreePath *gtk_cell_view_get_displayed_row (GtkCellView *cell_view);\nfunction gtk_cell_view_get_displayed_row(cell_view) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_cell_view_get_displayed_row\n  type(c_ptr), value :: cell_view\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_cell_view_get_draw_sensitive (GtkCellView *cell_view);\nfunction gtk_cell_view_get_draw_sensitive(cell_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_cell_view_get_draw_sensitive\n  type(c_ptr), value :: cell_view\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_view_set_draw_sensitive (GtkCellView *cell_view, gboolean draw_sensitive);\nsubroutine gtk_cell_view_set_draw_sensitive(cell_view, draw_sensitive) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: cell_view\n  integer(c_int), value :: draw_sensitive\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_cell_view_get_fit_model (GtkCellView *cell_view);\nfunction gtk_cell_view_get_fit_model(cell_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_cell_view_get_fit_model\n  type(c_ptr), value :: cell_view\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_cell_view_set_fit_model (GtkCellView *cell_view, gboolean fit_model);\nsubroutine gtk_cell_view_set_fit_model(cell_view, fit_model) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: cell_view\n  integer(c_int), value :: fit_model\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkcolorbutton.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_color_button_get_type (void) ;\nfunction gtk_color_button_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_color_button_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkWidget * gtk_color_button_new (void);\nfunction gtk_color_button_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_color_button_new\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkWidget * gtk_color_button_new_with_rgba (const GdkRGBA *rgba);\nfunction gtk_color_button_new_with_rgba(rgba) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_color_button_new_with_rgba\n  type(c_ptr), value :: rgba\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_color_button_set_title (GtkColorButton *button, const char *title);\nsubroutine gtk_color_button_set_title(button, title) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: button\n  character(kind=c_char), dimension(*) :: title\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!const char *gtk_color_button_get_title (GtkColorButton *button);\nfunction gtk_color_button_get_title(button) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_color_button_get_title\n  type(c_ptr), value :: button\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_color_button_get_modal (GtkColorButton *button);\nfunction gtk_color_button_get_modal(button) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_color_button_get_modal\n  type(c_ptr), value :: button\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_color_button_set_modal (GtkColorButton *button, gboolean modal);\nsubroutine gtk_color_button_set_modal(button, modal) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: button\n  integer(c_int), value :: modal\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkcolorchooser.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_color_chooser_get_type (void) ;\nfunction gtk_color_chooser_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_color_chooser_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_color_chooser_get_rgba (GtkColorChooser *chooser, GdkRGBA *color);\nsubroutine gtk_color_chooser_get_rgba(chooser, color) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: chooser\n  type(c_ptr), value :: color\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_color_chooser_set_rgba (GtkColorChooser *chooser, const GdkRGBA *color);\nsubroutine gtk_color_chooser_set_rgba(chooser, color) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: chooser\n  type(c_ptr), value :: color\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_color_chooser_get_use_alpha (GtkColorChooser *chooser);\nfunction gtk_color_chooser_get_use_alpha(chooser) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_color_chooser_get_use_alpha\n  type(c_ptr), value :: chooser\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_color_chooser_set_use_alpha (GtkColorChooser *chooser, gboolean use_alpha);\nsubroutine gtk_color_chooser_set_use_alpha(chooser, use_alpha) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: chooser\n  integer(c_int), value :: use_alpha\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_color_chooser_add_palette (GtkColorChooser *chooser, GtkOrientation orientation, int colors_per_line, int n_colors, GdkRGBA *colors);\nsubroutine gtk_color_chooser_add_palette(chooser, orientation, colors_per_line,&\n& n_colors, colors) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: chooser\n  integer(c_int), value :: orientation\n  integer(c_int), value :: colors_per_line\n  integer(c_int), value :: n_colors\n  type(c_ptr), value :: colors\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkcolorchooserdialog.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_color_chooser_dialog_get_type (void) ;\nfunction gtk_color_chooser_dialog_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_color_chooser_dialog_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkWidget * gtk_color_chooser_dialog_new (const char *title, GtkWindow *parent);\nfunction gtk_color_chooser_dialog_new(title, parent) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_color_chooser_dialog_new\n  character(kind=c_char), dimension(*) :: title\n  type(c_ptr), value :: parent\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkcolorchooserwidget.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_color_chooser_widget_get_type (void) ;\nfunction gtk_color_chooser_widget_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_color_chooser_widget_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkWidget * gtk_color_chooser_widget_new (void);\nfunction gtk_color_chooser_widget_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_color_chooser_widget_new\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkcombobox.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_combo_box_get_type (void) ;\nfunction gtk_combo_box_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_combo_box_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown)\n!GtkWidget *gtk_combo_box_new (void);\nfunction gtk_combo_box_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_combo_box_new\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown)\n!GtkWidget *gtk_combo_box_new_with_entry (void);\nfunction gtk_combo_box_new_with_entry() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_combo_box_new_with_entry\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown)\n!GtkWidget *gtk_combo_box_new_with_model (GtkTreeModel *model);\nfunction gtk_combo_box_new_with_model(model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_combo_box_new_with_model\n  type(c_ptr), value :: model\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown)\n!GtkWidget *gtk_combo_box_new_with_model_and_entry (GtkTreeModel *model);\nfunction gtk_combo_box_new_with_model_and_entry(model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_combo_box_new_with_model_and_entry\n  type(c_ptr), value :: model\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown)\n!int gtk_combo_box_get_active (GtkComboBox *combo_box);\nfunction gtk_combo_box_get_active(combo_box) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_combo_box_get_active\n  type(c_ptr), value :: combo_box\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown)\n!void gtk_combo_box_set_active (GtkComboBox *combo_box, int index_);\nsubroutine gtk_combo_box_set_active(combo_box, index_) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: combo_box\n  integer(c_int), value :: index_\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown)\n!gboolean gtk_combo_box_get_active_iter (GtkComboBox *combo_box, GtkTreeIter *iter);\nfunction gtk_combo_box_get_active_iter(combo_box, iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_combo_box_get_active_iter\n  type(c_ptr), value :: combo_box\n  type(c_ptr), value :: iter\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown)\n!void gtk_combo_box_set_active_iter (GtkComboBox *combo_box, GtkTreeIter *iter);\nsubroutine gtk_combo_box_set_active_iter(combo_box, iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: combo_box\n  type(c_ptr), value :: iter\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown)\n!void gtk_combo_box_set_model (GtkComboBox *combo_box, GtkTreeModel *model);\nsubroutine gtk_combo_box_set_model(combo_box, model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: combo_box\n  type(c_ptr), value :: model\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown)\n!GtkTreeModel *gtk_combo_box_get_model (GtkComboBox *combo_box);\nfunction gtk_combo_box_get_model(combo_box) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_combo_box_get_model\n  type(c_ptr), value :: combo_box\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown)\n!GtkTreeViewRowSeparatorFunc gtk_combo_box_get_row_separator_func (GtkComboBox *combo_box);\nfunction gtk_combo_box_get_row_separator_func(combo_box) bind(c)\n  import :: c_funptr, c_ptr\n  implicit none\n  type(c_funptr) :: gtk_combo_box_get_row_separator_func\n  type(c_ptr), value :: combo_box\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown)\n!void gtk_combo_box_set_row_separator_func (GtkComboBox *combo_box, GtkTreeViewRowSeparatorFunc func, gpointer data, GDestroyNotify destroy);\nsubroutine gtk_combo_box_set_row_separator_func(combo_box, func, data, destroy)&\n& bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: combo_box\n  type(c_funptr), value :: func\n  type(c_ptr), value :: data\n  type(c_funptr), value :: destroy\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown)\n!void gtk_combo_box_set_button_sensitivity (GtkComboBox *combo_box, GtkSensitivityType sensitivity);\nsubroutine gtk_combo_box_set_button_sensitivity(combo_box, sensitivity) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: combo_box\n  integer(c_int), value :: sensitivity\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown)\n!GtkSensitivityType gtk_combo_box_get_button_sensitivity (GtkComboBox *combo_box);\nfunction gtk_combo_box_get_button_sensitivity(combo_box) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_combo_box_get_button_sensitivity\n  type(c_ptr), value :: combo_box\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown)\n!gboolean gtk_combo_box_get_has_entry (GtkComboBox *combo_box);\nfunction gtk_combo_box_get_has_entry(combo_box) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_combo_box_get_has_entry\n  type(c_ptr), value :: combo_box\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown)\n!void gtk_combo_box_set_entry_text_column (GtkComboBox *combo_box, int text_column);\nsubroutine gtk_combo_box_set_entry_text_column(combo_box, text_column) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: combo_box\n  integer(c_int), value :: text_column\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown)\n!int gtk_combo_box_get_entry_text_column (GtkComboBox *combo_box);\nfunction gtk_combo_box_get_entry_text_column(combo_box) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_combo_box_get_entry_text_column\n  type(c_ptr), value :: combo_box\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown)\n!void gtk_combo_box_set_popup_fixed_width (GtkComboBox *combo_box, gboolean fixed);\nsubroutine gtk_combo_box_set_popup_fixed_width(combo_box, fixed) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: combo_box\n  integer(c_int), value :: fixed\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown)\n!gboolean gtk_combo_box_get_popup_fixed_width (GtkComboBox *combo_box);\nfunction gtk_combo_box_get_popup_fixed_width(combo_box) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_combo_box_get_popup_fixed_width\n  type(c_ptr), value :: combo_box\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown)\n!void gtk_combo_box_popup (GtkComboBox *combo_box);\nsubroutine gtk_combo_box_popup(combo_box) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: combo_box\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown)\n!void gtk_combo_box_popup_for_device (GtkComboBox *combo_box, GdkDevice *device);\nsubroutine gtk_combo_box_popup_for_device(combo_box, device) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: combo_box\n  type(c_ptr), value :: device\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown)\n!void gtk_combo_box_popdown (GtkComboBox *combo_box);\nsubroutine gtk_combo_box_popdown(combo_box) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: combo_box\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown)\n!int gtk_combo_box_get_id_column (GtkComboBox *combo_box);\nfunction gtk_combo_box_get_id_column(combo_box) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_combo_box_get_id_column\n  type(c_ptr), value :: combo_box\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown)\n!void gtk_combo_box_set_id_column (GtkComboBox *combo_box, int id_column);\nsubroutine gtk_combo_box_set_id_column(combo_box, id_column) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: combo_box\n  integer(c_int), value :: id_column\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown)\n!const char * gtk_combo_box_get_active_id (GtkComboBox *combo_box);\nfunction gtk_combo_box_get_active_id(combo_box) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_combo_box_get_active_id\n  type(c_ptr), value :: combo_box\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown)\n!gboolean gtk_combo_box_set_active_id (GtkComboBox *combo_box, const char *active_id);\nfunction gtk_combo_box_set_active_id(combo_box, active_id) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_combo_box_set_active_id\n  type(c_ptr), value :: combo_box\n  character(kind=c_char), dimension(*) :: active_id\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown)\n!void gtk_combo_box_set_child (GtkComboBox *combo_box, GtkWidget *child);\nsubroutine gtk_combo_box_set_child(combo_box, child) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: combo_box\n  type(c_ptr), value :: child\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown)\n!GtkWidget * gtk_combo_box_get_child (GtkComboBox *combo_box);\nfunction gtk_combo_box_get_child(combo_box) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_combo_box_get_child\n  type(c_ptr), value :: combo_box\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkcomboboxtext.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_combo_box_text_get_type (void) ;\nfunction gtk_combo_box_text_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_combo_box_text_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown and GtkStringList)\n!GtkWidget* gtk_combo_box_text_new (void);\nfunction gtk_combo_box_text_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_combo_box_text_new\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown and GtkStringList)\n!GtkWidget* gtk_combo_box_text_new_with_entry (void);\nfunction gtk_combo_box_text_new_with_entry() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_combo_box_text_new_with_entry\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown and GtkStringList)\n!void gtk_combo_box_text_append_text (GtkComboBoxText *combo_box, const char *text);\nsubroutine gtk_combo_box_text_append_text(combo_box, text) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: combo_box\n  character(kind=c_char), dimension(*) :: text\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown and GtkStringList)\n!void gtk_combo_box_text_insert_text (GtkComboBoxText *combo_box, int position, const char *text);\nsubroutine gtk_combo_box_text_insert_text(combo_box, position, text) bind(c)\n  import :: c_ptr, c_int, c_char\n  implicit none\n  type(c_ptr), value :: combo_box\n  integer(c_int), value :: position\n  character(kind=c_char), dimension(*) :: text\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown and GtkStringList)\n!void gtk_combo_box_text_prepend_text (GtkComboBoxText *combo_box, const char *text);\nsubroutine gtk_combo_box_text_prepend_text(combo_box, text) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: combo_box\n  character(kind=c_char), dimension(*) :: text\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown and GtkStringList)\n!void gtk_combo_box_text_remove (GtkComboBoxText *combo_box, int position);\nsubroutine gtk_combo_box_text_remove(combo_box, position) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: combo_box\n  integer(c_int), value :: position\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown and GtkStringList)\n!void gtk_combo_box_text_remove_all (GtkComboBoxText *combo_box);\nsubroutine gtk_combo_box_text_remove_all(combo_box) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: combo_box\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown and GtkStringList)\n!char *gtk_combo_box_text_get_active_text (GtkComboBoxText *combo_box);\nfunction gtk_combo_box_text_get_active_text(combo_box) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_combo_box_text_get_active_text\n  type(c_ptr), value :: combo_box\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown and GtkStringList)\n!void gtk_combo_box_text_insert (GtkComboBoxText *combo_box, int position, const char *id, const char *text);\nsubroutine gtk_combo_box_text_insert(combo_box, position, id, text) bind(c)\n  import :: c_ptr, c_int, c_char\n  implicit none\n  type(c_ptr), value :: combo_box\n  integer(c_int), value :: position\n  character(kind=c_char), dimension(*) :: id\n  character(kind=c_char), dimension(*) :: text\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown and GtkStringList)\n!void gtk_combo_box_text_append (GtkComboBoxText *combo_box, const char *id, const char *text);\nsubroutine gtk_combo_box_text_append(combo_box, id, text) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: combo_box\n  character(kind=c_char), dimension(*) :: id\n  character(kind=c_char), dimension(*) :: text\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown and GtkStringList)\n!void gtk_combo_box_text_prepend (GtkComboBoxText *combo_box, const char *id, const char *text);\nsubroutine gtk_combo_box_text_prepend(combo_box, id, text) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: combo_box\n  character(kind=c_char), dimension(*) :: id\n  character(kind=c_char), dimension(*) :: text\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkdialog.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_dialog_get_type (void) ;\nfunction gtk_dialog_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_dialog_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkWidget* gtk_dialog_new (void);\nfunction gtk_dialog_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_dialog_new\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_dialog_add_action_widget (GtkDialog *dialog, GtkWidget *child, int response_id);\nsubroutine gtk_dialog_add_action_widget(dialog, child, response_id) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: dialog\n  type(c_ptr), value :: child\n  integer(c_int), value :: response_id\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!GtkWidget* gtk_dialog_add_button (GtkDialog *dialog, const char *button_text, int response_id);\nfunction gtk_dialog_add_button(dialog, button_text, response_id) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: gtk_dialog_add_button\n  type(c_ptr), value :: dialog\n  character(kind=c_char), dimension(*) :: button_text\n  integer(c_int), value :: response_id\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_dialog_set_response_sensitive (GtkDialog *dialog, int response_id, gboolean setting);\nsubroutine gtk_dialog_set_response_sensitive(dialog, response_id, setting)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: dialog\n  integer(c_int), value :: response_id\n  integer(c_int), value :: setting\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_dialog_set_default_response (GtkDialog *dialog, int response_id);\nsubroutine gtk_dialog_set_default_response(dialog, response_id) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: dialog\n  integer(c_int), value :: response_id\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!GtkWidget* gtk_dialog_get_widget_for_response (GtkDialog *dialog, int response_id);\nfunction gtk_dialog_get_widget_for_response(dialog, response_id) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_dialog_get_widget_for_response\n  type(c_ptr), value :: dialog\n  integer(c_int), value :: response_id\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!int gtk_dialog_get_response_for_widget (GtkDialog *dialog, GtkWidget *widget);\nfunction gtk_dialog_get_response_for_widget(dialog, widget) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_dialog_get_response_for_widget\n  type(c_ptr), value :: dialog\n  type(c_ptr), value :: widget\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_dialog_response (GtkDialog *dialog, int response_id);\nsubroutine gtk_dialog_response(dialog, response_id) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: dialog\n  integer(c_int), value :: response_id\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!GtkWidget * gtk_dialog_get_content_area (GtkDialog *dialog);\nfunction gtk_dialog_get_content_area(dialog) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_dialog_get_content_area\n  type(c_ptr), value :: dialog\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkWidget * gtk_dialog_get_header_bar (GtkDialog *dialog);\nfunction gtk_dialog_get_header_bar(dialog) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_dialog_get_header_bar\n  type(c_ptr), value :: dialog\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkentrycompletion.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_entry_completion_get_type (void) ;\nfunction gtk_entry_completion_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_entry_completion_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkEntryCompletion *gtk_entry_completion_new (void);\nfunction gtk_entry_completion_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_entry_completion_new\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkEntryCompletion *gtk_entry_completion_new_with_area (GtkCellArea *area);\nfunction gtk_entry_completion_new_with_area(area) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_entry_completion_new_with_area\n  type(c_ptr), value :: area\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkWidget *gtk_entry_completion_get_entry (GtkEntryCompletion *completion);\nfunction gtk_entry_completion_get_entry(completion) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_entry_completion_get_entry\n  type(c_ptr), value :: completion\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_entry_completion_set_model (GtkEntryCompletion *completion, GtkTreeModel *model);\nsubroutine gtk_entry_completion_set_model(completion, model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: completion\n  type(c_ptr), value :: model\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!GtkTreeModel *gtk_entry_completion_get_model (GtkEntryCompletion *completion);\nfunction gtk_entry_completion_get_model(completion) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_entry_completion_get_model\n  type(c_ptr), value :: completion\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_entry_completion_set_match_func (GtkEntryCompletion *completion, GtkEntryCompletionMatchFunc func, gpointer func_data, GDestroyNotify func_notify);\nsubroutine gtk_entry_completion_set_match_func(completion, func, func_data,&\n& func_notify) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: completion\n  type(c_funptr), value :: func\n  type(c_ptr), value :: func_data\n  type(c_funptr), value :: func_notify\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_entry_completion_set_minimum_key_length (GtkEntryCompletion *completion, int length);\nsubroutine gtk_entry_completion_set_minimum_key_length(completion, length)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: completion\n  integer(c_int), value :: length\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!int gtk_entry_completion_get_minimum_key_length (GtkEntryCompletion *completion);\nfunction gtk_entry_completion_get_minimum_key_length(completion) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_entry_completion_get_minimum_key_length\n  type(c_ptr), value :: completion\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!char * gtk_entry_completion_compute_prefix (GtkEntryCompletion *completion, const char *key);\nfunction gtk_entry_completion_compute_prefix(completion, key) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_entry_completion_compute_prefix\n  type(c_ptr), value :: completion\n  character(kind=c_char), dimension(*) :: key\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_entry_completion_complete (GtkEntryCompletion *completion);\nsubroutine gtk_entry_completion_complete(completion) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: completion\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_entry_completion_insert_prefix (GtkEntryCompletion *completion);\nsubroutine gtk_entry_completion_insert_prefix(completion) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: completion\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_entry_completion_set_inline_completion (GtkEntryCompletion *completion, gboolean inline_completion);\nsubroutine gtk_entry_completion_set_inline_completion(completion,&\n& inline_completion) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: completion\n  integer(c_int), value :: inline_completion\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_entry_completion_get_inline_completion (GtkEntryCompletion *completion);\nfunction gtk_entry_completion_get_inline_completion(completion) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_entry_completion_get_inline_completion\n  type(c_ptr), value :: completion\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_entry_completion_set_inline_selection (GtkEntryCompletion *completion, gboolean inline_selection);\nsubroutine gtk_entry_completion_set_inline_selection(completion,&\n& inline_selection) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: completion\n  integer(c_int), value :: inline_selection\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_entry_completion_get_inline_selection (GtkEntryCompletion *completion);\nfunction gtk_entry_completion_get_inline_selection(completion) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_entry_completion_get_inline_selection\n  type(c_ptr), value :: completion\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_entry_completion_set_popup_completion (GtkEntryCompletion *completion, gboolean popup_completion);\nsubroutine gtk_entry_completion_set_popup_completion(completion,&\n& popup_completion) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: completion\n  integer(c_int), value :: popup_completion\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_entry_completion_get_popup_completion (GtkEntryCompletion *completion);\nfunction gtk_entry_completion_get_popup_completion(completion) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_entry_completion_get_popup_completion\n  type(c_ptr), value :: completion\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_entry_completion_set_popup_set_width (GtkEntryCompletion *completion, gboolean popup_set_width);\nsubroutine gtk_entry_completion_set_popup_set_width(completion,&\n& popup_set_width) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: completion\n  integer(c_int), value :: popup_set_width\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_entry_completion_get_popup_set_width (GtkEntryCompletion *completion);\nfunction gtk_entry_completion_get_popup_set_width(completion) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_entry_completion_get_popup_set_width\n  type(c_ptr), value :: completion\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_entry_completion_set_popup_single_match (GtkEntryCompletion *completion, gboolean popup_single_match);\nsubroutine gtk_entry_completion_set_popup_single_match(completion,&\n& popup_single_match) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: completion\n  integer(c_int), value :: popup_single_match\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_entry_completion_get_popup_single_match (GtkEntryCompletion *completion);\nfunction gtk_entry_completion_get_popup_single_match(completion) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_entry_completion_get_popup_single_match\n  type(c_ptr), value :: completion\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!const char *gtk_entry_completion_get_completion_prefix (GtkEntryCompletion *completion);\nfunction gtk_entry_completion_get_completion_prefix(completion) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_entry_completion_get_completion_prefix\n  type(c_ptr), value :: completion\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_entry_completion_set_text_column (GtkEntryCompletion *completion, int column);\nsubroutine gtk_entry_completion_set_text_column(completion, column) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: completion\n  integer(c_int), value :: column\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!int gtk_entry_completion_get_text_column (GtkEntryCompletion *completion);\nfunction gtk_entry_completion_get_text_column(completion) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_entry_completion_get_text_column\n  type(c_ptr), value :: completion\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkfilechooser.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_file_chooser_get_type (void) ;\nfunction gtk_file_chooser_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_file_chooser_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GQuark gtk_file_chooser_error_quark (void);\nfunction gtk_file_chooser_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: gtk_file_chooser_error_quark\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_file_chooser_set_action (GtkFileChooser *chooser, GtkFileChooserAction action);\nsubroutine gtk_file_chooser_set_action(chooser, action) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: chooser\n  integer(c_int), value :: action\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!GtkFileChooserAction gtk_file_chooser_get_action (GtkFileChooser *chooser);\nfunction gtk_file_chooser_get_action(chooser) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_file_chooser_get_action\n  type(c_ptr), value :: chooser\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_file_chooser_set_select_multiple (GtkFileChooser *chooser, gboolean select_multiple);\nsubroutine gtk_file_chooser_set_select_multiple(chooser, select_multiple)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: chooser\n  integer(c_int), value :: select_multiple\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_file_chooser_get_select_multiple (GtkFileChooser *chooser);\nfunction gtk_file_chooser_get_select_multiple(chooser) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_file_chooser_get_select_multiple\n  type(c_ptr), value :: chooser\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_file_chooser_set_create_folders (GtkFileChooser *chooser, gboolean create_folders);\nsubroutine gtk_file_chooser_set_create_folders(chooser, create_folders) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: chooser\n  integer(c_int), value :: create_folders\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_file_chooser_get_create_folders (GtkFileChooser *chooser);\nfunction gtk_file_chooser_get_create_folders(chooser) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_file_chooser_get_create_folders\n  type(c_ptr), value :: chooser\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_file_chooser_set_current_name (GtkFileChooser *chooser, const char *name);\nsubroutine gtk_file_chooser_set_current_name(chooser, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: chooser\n  character(kind=c_char), dimension(*) :: name\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!char * gtk_file_chooser_get_current_name (GtkFileChooser *chooser);\nfunction gtk_file_chooser_get_current_name(chooser) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_file_chooser_get_current_name\n  type(c_ptr), value :: chooser\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GFile * gtk_file_chooser_get_file (GtkFileChooser *chooser);\nfunction gtk_file_chooser_get_file(chooser) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_file_chooser_get_file\n  type(c_ptr), value :: chooser\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_file_chooser_set_file (GtkFileChooser *chooser, GFile *file, GError **error);\nfunction gtk_file_chooser_set_file(chooser, file, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_file_chooser_set_file\n  type(c_ptr), value :: chooser\n  type(c_ptr), value :: file\n  type(c_ptr), value :: error\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GListModel * gtk_file_chooser_get_files (GtkFileChooser *chooser);\nfunction gtk_file_chooser_get_files(chooser) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_file_chooser_get_files\n  type(c_ptr), value :: chooser\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_file_chooser_set_current_folder (GtkFileChooser *chooser, GFile *file, GError **error);\nfunction gtk_file_chooser_set_current_folder(chooser, file, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_file_chooser_set_current_folder\n  type(c_ptr), value :: chooser\n  type(c_ptr), value :: file\n  type(c_ptr), value :: error\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GFile * gtk_file_chooser_get_current_folder (GtkFileChooser *chooser);\nfunction gtk_file_chooser_get_current_folder(chooser) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_file_chooser_get_current_folder\n  type(c_ptr), value :: chooser\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_file_chooser_add_filter (GtkFileChooser *chooser, GtkFileFilter *filter);\nsubroutine gtk_file_chooser_add_filter(chooser, filter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: chooser\n  type(c_ptr), value :: filter\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_file_chooser_remove_filter (GtkFileChooser *chooser, GtkFileFilter *filter);\nsubroutine gtk_file_chooser_remove_filter(chooser, filter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: chooser\n  type(c_ptr), value :: filter\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!GListModel * gtk_file_chooser_get_filters (GtkFileChooser *chooser);\nfunction gtk_file_chooser_get_filters(chooser) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_file_chooser_get_filters\n  type(c_ptr), value :: chooser\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_file_chooser_set_filter (GtkFileChooser *chooser, GtkFileFilter *filter);\nsubroutine gtk_file_chooser_set_filter(chooser, filter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: chooser\n  type(c_ptr), value :: filter\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!GtkFileFilter * gtk_file_chooser_get_filter (GtkFileChooser *chooser);\nfunction gtk_file_chooser_get_filter(chooser) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_file_chooser_get_filter\n  type(c_ptr), value :: chooser\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_file_chooser_add_shortcut_folder (GtkFileChooser *chooser, GFile *folder, GError **error);\nfunction gtk_file_chooser_add_shortcut_folder(chooser, folder, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_file_chooser_add_shortcut_folder\n  type(c_ptr), value :: chooser\n  type(c_ptr), value :: folder\n  type(c_ptr), value :: error\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_file_chooser_remove_shortcut_folder (GtkFileChooser *chooser, GFile *folder, GError **error);\nfunction gtk_file_chooser_remove_shortcut_folder(chooser, folder, error)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_file_chooser_remove_shortcut_folder\n  type(c_ptr), value :: chooser\n  type(c_ptr), value :: folder\n  type(c_ptr), value :: error\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GListModel * gtk_file_chooser_get_shortcut_folders (GtkFileChooser *chooser);\nfunction gtk_file_chooser_get_shortcut_folders(chooser) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_file_chooser_get_shortcut_folders\n  type(c_ptr), value :: chooser\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_file_chooser_add_choice (GtkFileChooser *chooser, const char *id, const char *label, const char **options, const char **option_labels);\nsubroutine gtk_file_chooser_add_choice(chooser, id, label, options,&\n& option_labels) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: chooser\n  character(kind=c_char), dimension(*) :: id\n  character(kind=c_char), dimension(*) :: label\n  type(c_ptr), dimension(*) :: options\n  type(c_ptr), dimension(*) :: option_labels\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_file_chooser_remove_choice (GtkFileChooser *chooser, const char *id);\nsubroutine gtk_file_chooser_remove_choice(chooser, id) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: chooser\n  character(kind=c_char), dimension(*) :: id\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_file_chooser_set_choice (GtkFileChooser *chooser, const char *id, const char *option);\nsubroutine gtk_file_chooser_set_choice(chooser, id, option) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: chooser\n  character(kind=c_char), dimension(*) :: id\n  character(kind=c_char), dimension(*) :: option\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!const char * gtk_file_chooser_get_choice (GtkFileChooser *chooser, const char *id);\nfunction gtk_file_chooser_get_choice(chooser, id) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_file_chooser_get_choice\n  type(c_ptr), value :: chooser\n  character(kind=c_char), dimension(*) :: id\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkfilechooserdialog.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_file_chooser_dialog_get_type (void) ;\nfunction gtk_file_chooser_dialog_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_file_chooser_dialog_get_type\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkfilechoosernative.h\n!--------------------------------------------------\n! GDK_DEPRECATED_IN_4_10\n!GtkFileChooserNative *gtk_file_chooser_native_new (const char *title, GtkWindow *parent, GtkFileChooserAction action, const char *accept_label, const char *cancel_label);\nfunction gtk_file_chooser_native_new(title, parent, action, accept_label,&\n& cancel_label) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: gtk_file_chooser_native_new\n  character(kind=c_char), dimension(*) :: title\n  type(c_ptr), value :: parent\n  integer(c_int), value :: action\n  character(kind=c_char), dimension(*) :: accept_label\n  character(kind=c_char), dimension(*) :: cancel_label\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!const char *gtk_file_chooser_native_get_accept_label (GtkFileChooserNative *self);\nfunction gtk_file_chooser_native_get_accept_label(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_file_chooser_native_get_accept_label\n  type(c_ptr), value :: self\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_file_chooser_native_set_accept_label (GtkFileChooserNative *self, const char *accept_label);\nsubroutine gtk_file_chooser_native_set_accept_label(self, accept_label) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: accept_label\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!const char *gtk_file_chooser_native_get_cancel_label (GtkFileChooserNative *self);\nfunction gtk_file_chooser_native_get_cancel_label(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_file_chooser_native_get_cancel_label\n  type(c_ptr), value :: self\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_file_chooser_native_set_cancel_label (GtkFileChooserNative *self, const char *cancel_label);\nsubroutine gtk_file_chooser_native_set_cancel_label(self, cancel_label) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: cancel_label\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkfilechooserwidget.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_file_chooser_widget_get_type (void) ;\nfunction gtk_file_chooser_widget_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_file_chooser_widget_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkWidget *gtk_file_chooser_widget_new (GtkFileChooserAction action);\nfunction gtk_file_chooser_widget_new(action) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_file_chooser_widget_new\n  integer(c_int), value :: action\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkfontbutton.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_font_button_get_type (void) ;\nfunction gtk_font_button_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_font_button_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkWidget *gtk_font_button_new (void);\nfunction gtk_font_button_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_font_button_new\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkWidget *gtk_font_button_new_with_font (const char *fontname);\nfunction gtk_font_button_new_with_font(fontname) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_font_button_new_with_font\n  character(kind=c_char), dimension(*) :: fontname\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!const char * gtk_font_button_get_title (GtkFontButton *font_button);\nfunction gtk_font_button_get_title(font_button) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_font_button_get_title\n  type(c_ptr), value :: font_button\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_font_button_set_title (GtkFontButton *font_button, const char *title);\nsubroutine gtk_font_button_set_title(font_button, title) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: font_button\n  character(kind=c_char), dimension(*) :: title\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_font_button_get_modal (GtkFontButton *font_button);\nfunction gtk_font_button_get_modal(font_button) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_font_button_get_modal\n  type(c_ptr), value :: font_button\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_font_button_set_modal (GtkFontButton *font_button, gboolean modal);\nsubroutine gtk_font_button_set_modal(font_button, modal) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: font_button\n  integer(c_int), value :: modal\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_font_button_get_use_font (GtkFontButton *font_button);\nfunction gtk_font_button_get_use_font(font_button) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_font_button_get_use_font\n  type(c_ptr), value :: font_button\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_font_button_set_use_font (GtkFontButton *font_button, gboolean use_font);\nsubroutine gtk_font_button_set_use_font(font_button, use_font) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: font_button\n  integer(c_int), value :: use_font\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_font_button_get_use_size (GtkFontButton *font_button);\nfunction gtk_font_button_get_use_size(font_button) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_font_button_get_use_size\n  type(c_ptr), value :: font_button\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_font_button_set_use_size (GtkFontButton *font_button, gboolean use_size);\nsubroutine gtk_font_button_set_use_size(font_button, use_size) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: font_button\n  integer(c_int), value :: use_size\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkfontchooser.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_font_chooser_get_type (void) ;\nfunction gtk_font_chooser_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_font_chooser_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!PangoFontFamily *gtk_font_chooser_get_font_family (GtkFontChooser *fontchooser);\nfunction gtk_font_chooser_get_font_family(fontchooser) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_font_chooser_get_font_family\n  type(c_ptr), value :: fontchooser\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!PangoFontFace *gtk_font_chooser_get_font_face (GtkFontChooser *fontchooser);\nfunction gtk_font_chooser_get_font_face(fontchooser) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_font_chooser_get_font_face\n  type(c_ptr), value :: fontchooser\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!int gtk_font_chooser_get_font_size (GtkFontChooser *fontchooser);\nfunction gtk_font_chooser_get_font_size(fontchooser) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_font_chooser_get_font_size\n  type(c_ptr), value :: fontchooser\nend function\n\n! \n!PangoFontDescription * gtk_font_chooser_get_font_desc (GtkFontChooser *fontchooser);\nfunction gtk_font_chooser_get_font_desc(fontchooser) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_font_chooser_get_font_desc\n  type(c_ptr), value :: fontchooser\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_font_chooser_set_font_desc (GtkFontChooser *fontchooser, const PangoFontDescription *font_desc);\nsubroutine gtk_font_chooser_set_font_desc(fontchooser, font_desc) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: fontchooser\n  type(c_ptr), value :: font_desc\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!char * gtk_font_chooser_get_font (GtkFontChooser *fontchooser);\nfunction gtk_font_chooser_get_font(fontchooser) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_font_chooser_get_font\n  type(c_ptr), value :: fontchooser\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_font_chooser_set_font (GtkFontChooser *fontchooser, const char *fontname);\nsubroutine gtk_font_chooser_set_font(fontchooser, fontname) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: fontchooser\n  character(kind=c_char), dimension(*) :: fontname\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!char * gtk_font_chooser_get_preview_text (GtkFontChooser *fontchooser);\nfunction gtk_font_chooser_get_preview_text(fontchooser) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_font_chooser_get_preview_text\n  type(c_ptr), value :: fontchooser\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_font_chooser_set_preview_text (GtkFontChooser *fontchooser, const char *text);\nsubroutine gtk_font_chooser_set_preview_text(fontchooser, text) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: fontchooser\n  character(kind=c_char), dimension(*) :: text\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_font_chooser_get_show_preview_entry (GtkFontChooser *fontchooser);\nfunction gtk_font_chooser_get_show_preview_entry(fontchooser) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_font_chooser_get_show_preview_entry\n  type(c_ptr), value :: fontchooser\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_font_chooser_set_show_preview_entry (GtkFontChooser *fontchooser, gboolean show_preview_entry);\nsubroutine gtk_font_chooser_set_show_preview_entry(fontchooser,&\n& show_preview_entry) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: fontchooser\n  integer(c_int), value :: show_preview_entry\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_font_chooser_set_filter_func (GtkFontChooser *fontchooser, GtkFontFilterFunc filter, gpointer user_data, GDestroyNotify destroy);\nsubroutine gtk_font_chooser_set_filter_func(fontchooser, filter, user_data,&\n& destroy) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: fontchooser\n  type(c_funptr), value :: filter\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: destroy\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_font_chooser_set_font_map (GtkFontChooser *fontchooser, PangoFontMap *fontmap);\nsubroutine gtk_font_chooser_set_font_map(fontchooser, fontmap) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: fontchooser\n  type(c_ptr), value :: fontmap\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!PangoFontMap * gtk_font_chooser_get_font_map (GtkFontChooser *fontchooser);\nfunction gtk_font_chooser_get_font_map(fontchooser) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_font_chooser_get_font_map\n  type(c_ptr), value :: fontchooser\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_font_chooser_set_level (GtkFontChooser *fontchooser, GtkFontChooserLevel level);\nsubroutine gtk_font_chooser_set_level(fontchooser, level) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: fontchooser\n  integer(c_int), value :: level\nend subroutine\n\n! \n!GtkFontChooserLevel gtk_font_chooser_get_level (GtkFontChooser *fontchooser);\nfunction gtk_font_chooser_get_level(fontchooser) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_font_chooser_get_level\n  type(c_ptr), value :: fontchooser\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!char * gtk_font_chooser_get_font_features (GtkFontChooser *fontchooser);\nfunction gtk_font_chooser_get_font_features(fontchooser) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_font_chooser_get_font_features\n  type(c_ptr), value :: fontchooser\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!char * gtk_font_chooser_get_language (GtkFontChooser *fontchooser);\nfunction gtk_font_chooser_get_language(fontchooser) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_font_chooser_get_language\n  type(c_ptr), value :: fontchooser\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_font_chooser_set_language (GtkFontChooser *fontchooser, const char *language);\nsubroutine gtk_font_chooser_set_language(fontchooser, language) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: fontchooser\n  character(kind=c_char), dimension(*) :: language\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkfontchooserdialog.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_font_chooser_dialog_get_type (void) ;\nfunction gtk_font_chooser_dialog_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_font_chooser_dialog_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkWidget* gtk_font_chooser_dialog_new (const char *title, GtkWindow *parent);\nfunction gtk_font_chooser_dialog_new(title, parent) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_font_chooser_dialog_new\n  character(kind=c_char), dimension(*) :: title\n  type(c_ptr), value :: parent\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkfontchooserwidget.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_font_chooser_widget_get_type (void) ;\nfunction gtk_font_chooser_widget_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_font_chooser_widget_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkWidget* gtk_font_chooser_widget_new (void);\nfunction gtk_font_chooser_widget_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_font_chooser_widget_new\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_icon_view_get_type (void) ;\nfunction gtk_icon_view_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_icon_view_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!GtkWidget * gtk_icon_view_new (void);\nfunction gtk_icon_view_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_icon_view_new\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!GtkWidget * gtk_icon_view_new_with_area (GtkCellArea *area);\nfunction gtk_icon_view_new_with_area(area) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_icon_view_new_with_area\n  type(c_ptr), value :: area\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!GtkWidget * gtk_icon_view_new_with_model (GtkTreeModel *model);\nfunction gtk_icon_view_new_with_model(model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_icon_view_new_with_model\n  type(c_ptr), value :: model\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!void gtk_icon_view_set_model (GtkIconView *icon_view, GtkTreeModel *model);\nsubroutine gtk_icon_view_set_model(icon_view, model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: icon_view\n  type(c_ptr), value :: model\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!GtkTreeModel * gtk_icon_view_get_model (GtkIconView *icon_view);\nfunction gtk_icon_view_get_model(icon_view) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_icon_view_get_model\n  type(c_ptr), value :: icon_view\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!void gtk_icon_view_set_text_column (GtkIconView *icon_view, int column);\nsubroutine gtk_icon_view_set_text_column(icon_view, column) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: icon_view\n  integer(c_int), value :: column\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!int gtk_icon_view_get_text_column (GtkIconView *icon_view);\nfunction gtk_icon_view_get_text_column(icon_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_icon_view_get_text_column\n  type(c_ptr), value :: icon_view\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!void gtk_icon_view_set_markup_column (GtkIconView *icon_view, int column);\nsubroutine gtk_icon_view_set_markup_column(icon_view, column) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: icon_view\n  integer(c_int), value :: column\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!int gtk_icon_view_get_markup_column (GtkIconView *icon_view);\nfunction gtk_icon_view_get_markup_column(icon_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_icon_view_get_markup_column\n  type(c_ptr), value :: icon_view\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!void gtk_icon_view_set_pixbuf_column (GtkIconView *icon_view, int column);\nsubroutine gtk_icon_view_set_pixbuf_column(icon_view, column) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: icon_view\n  integer(c_int), value :: column\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!int gtk_icon_view_get_pixbuf_column (GtkIconView *icon_view);\nfunction gtk_icon_view_get_pixbuf_column(icon_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_icon_view_get_pixbuf_column\n  type(c_ptr), value :: icon_view\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!void gtk_icon_view_set_item_orientation (GtkIconView *icon_view, GtkOrientation orientation);\nsubroutine gtk_icon_view_set_item_orientation(icon_view, orientation) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: icon_view\n  integer(c_int), value :: orientation\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!GtkOrientation gtk_icon_view_get_item_orientation (GtkIconView *icon_view);\nfunction gtk_icon_view_get_item_orientation(icon_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_icon_view_get_item_orientation\n  type(c_ptr), value :: icon_view\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!void gtk_icon_view_set_columns (GtkIconView *icon_view, int columns);\nsubroutine gtk_icon_view_set_columns(icon_view, columns) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: icon_view\n  integer(c_int), value :: columns\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!int gtk_icon_view_get_columns (GtkIconView *icon_view);\nfunction gtk_icon_view_get_columns(icon_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_icon_view_get_columns\n  type(c_ptr), value :: icon_view\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!void gtk_icon_view_set_item_width (GtkIconView *icon_view, int item_width);\nsubroutine gtk_icon_view_set_item_width(icon_view, item_width) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: icon_view\n  integer(c_int), value :: item_width\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!int gtk_icon_view_get_item_width (GtkIconView *icon_view);\nfunction gtk_icon_view_get_item_width(icon_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_icon_view_get_item_width\n  type(c_ptr), value :: icon_view\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!void gtk_icon_view_set_spacing (GtkIconView *icon_view, int spacing);\nsubroutine gtk_icon_view_set_spacing(icon_view, spacing) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: icon_view\n  integer(c_int), value :: spacing\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!int gtk_icon_view_get_spacing (GtkIconView *icon_view);\nfunction gtk_icon_view_get_spacing(icon_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_icon_view_get_spacing\n  type(c_ptr), value :: icon_view\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!void gtk_icon_view_set_row_spacing (GtkIconView *icon_view, int row_spacing);\nsubroutine gtk_icon_view_set_row_spacing(icon_view, row_spacing) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: icon_view\n  integer(c_int), value :: row_spacing\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!int gtk_icon_view_get_row_spacing (GtkIconView *icon_view);\nfunction gtk_icon_view_get_row_spacing(icon_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_icon_view_get_row_spacing\n  type(c_ptr), value :: icon_view\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!void gtk_icon_view_set_column_spacing (GtkIconView *icon_view, int column_spacing);\nsubroutine gtk_icon_view_set_column_spacing(icon_view, column_spacing) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: icon_view\n  integer(c_int), value :: column_spacing\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!int gtk_icon_view_get_column_spacing (GtkIconView *icon_view);\nfunction gtk_icon_view_get_column_spacing(icon_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_icon_view_get_column_spacing\n  type(c_ptr), value :: icon_view\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!void gtk_icon_view_set_margin (GtkIconView *icon_view, int margin);\nsubroutine gtk_icon_view_set_margin(icon_view, margin) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: icon_view\n  integer(c_int), value :: margin\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!int gtk_icon_view_get_margin (GtkIconView *icon_view);\nfunction gtk_icon_view_get_margin(icon_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_icon_view_get_margin\n  type(c_ptr), value :: icon_view\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!void gtk_icon_view_set_item_padding (GtkIconView *icon_view, int item_padding);\nsubroutine gtk_icon_view_set_item_padding(icon_view, item_padding) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: icon_view\n  integer(c_int), value :: item_padding\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!int gtk_icon_view_get_item_padding (GtkIconView *icon_view);\nfunction gtk_icon_view_get_item_padding(icon_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_icon_view_get_item_padding\n  type(c_ptr), value :: icon_view\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!GtkTreePath * gtk_icon_view_get_path_at_pos (GtkIconView *icon_view, int x, int y);\nfunction gtk_icon_view_get_path_at_pos(icon_view, x, y) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_icon_view_get_path_at_pos\n  type(c_ptr), value :: icon_view\n  integer(c_int), value :: x\n  integer(c_int), value :: y\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!gboolean gtk_icon_view_get_item_at_pos (GtkIconView *icon_view, int x, int y, GtkTreePath **path, GtkCellRenderer **cell);\nfunction gtk_icon_view_get_item_at_pos(icon_view, x, y, path, cell) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_icon_view_get_item_at_pos\n  type(c_ptr), value :: icon_view\n  integer(c_int), value :: x\n  integer(c_int), value :: y\n  type(c_ptr), value :: path\n  type(c_ptr), value :: cell\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!gboolean gtk_icon_view_get_visible_range (GtkIconView *icon_view, GtkTreePath **start_path, GtkTreePath **end_path);\nfunction gtk_icon_view_get_visible_range(icon_view, start_path, end_path)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_icon_view_get_visible_range\n  type(c_ptr), value :: icon_view\n  type(c_ptr), value :: start_path\n  type(c_ptr), value :: end_path\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!void gtk_icon_view_set_activate_on_single_click (GtkIconView *icon_view, gboolean single);\nsubroutine gtk_icon_view_set_activate_on_single_click(icon_view, single)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: icon_view\n  integer(c_int), value :: single\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!gboolean gtk_icon_view_get_activate_on_single_click (GtkIconView *icon_view);\nfunction gtk_icon_view_get_activate_on_single_click(icon_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_icon_view_get_activate_on_single_click\n  type(c_ptr), value :: icon_view\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!void gtk_icon_view_selected_foreach (GtkIconView *icon_view, GtkIconViewForeachFunc func, gpointer data);\nsubroutine gtk_icon_view_selected_foreach(icon_view, func, data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: icon_view\n  type(c_funptr), value :: func\n  type(c_ptr), value :: data\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!void gtk_icon_view_set_selection_mode (GtkIconView *icon_view, GtkSelectionMode mode);\nsubroutine gtk_icon_view_set_selection_mode(icon_view, mode) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: icon_view\n  integer(c_int), value :: mode\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!GtkSelectionMode gtk_icon_view_get_selection_mode (GtkIconView *icon_view);\nfunction gtk_icon_view_get_selection_mode(icon_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_icon_view_get_selection_mode\n  type(c_ptr), value :: icon_view\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!void gtk_icon_view_select_path (GtkIconView *icon_view, GtkTreePath *path);\nsubroutine gtk_icon_view_select_path(icon_view, path) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: icon_view\n  type(c_ptr), value :: path\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!void gtk_icon_view_unselect_path (GtkIconView *icon_view, GtkTreePath *path);\nsubroutine gtk_icon_view_unselect_path(icon_view, path) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: icon_view\n  type(c_ptr), value :: path\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!gboolean gtk_icon_view_path_is_selected (GtkIconView *icon_view, GtkTreePath *path);\nfunction gtk_icon_view_path_is_selected(icon_view, path) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_icon_view_path_is_selected\n  type(c_ptr), value :: icon_view\n  type(c_ptr), value :: path\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!int gtk_icon_view_get_item_row (GtkIconView *icon_view, GtkTreePath *path);\nfunction gtk_icon_view_get_item_row(icon_view, path) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_icon_view_get_item_row\n  type(c_ptr), value :: icon_view\n  type(c_ptr), value :: path\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!int gtk_icon_view_get_item_column (GtkIconView *icon_view, GtkTreePath *path);\nfunction gtk_icon_view_get_item_column(icon_view, path) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_icon_view_get_item_column\n  type(c_ptr), value :: icon_view\n  type(c_ptr), value :: path\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!GList *gtk_icon_view_get_selected_items (GtkIconView *icon_view);\nfunction gtk_icon_view_get_selected_items(icon_view) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_icon_view_get_selected_items\n  type(c_ptr), value :: icon_view\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!void gtk_icon_view_select_all (GtkIconView *icon_view);\nsubroutine gtk_icon_view_select_all(icon_view) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: icon_view\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!void gtk_icon_view_unselect_all (GtkIconView *icon_view);\nsubroutine gtk_icon_view_unselect_all(icon_view) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: icon_view\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!void gtk_icon_view_item_activated (GtkIconView *icon_view, GtkTreePath *path);\nsubroutine gtk_icon_view_item_activated(icon_view, path) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: icon_view\n  type(c_ptr), value :: path\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!void gtk_icon_view_set_cursor (GtkIconView *icon_view, GtkTreePath *path, GtkCellRenderer *cell, gboolean start_editing);\nsubroutine gtk_icon_view_set_cursor(icon_view, path, cell, start_editing)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: icon_view\n  type(c_ptr), value :: path\n  type(c_ptr), value :: cell\n  integer(c_int), value :: start_editing\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!gboolean gtk_icon_view_get_cursor (GtkIconView *icon_view, GtkTreePath **path, GtkCellRenderer **cell);\nfunction gtk_icon_view_get_cursor(icon_view, path, cell) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_icon_view_get_cursor\n  type(c_ptr), value :: icon_view\n  type(c_ptr), value :: path\n  type(c_ptr), value :: cell\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!void gtk_icon_view_scroll_to_path (GtkIconView *icon_view, GtkTreePath *path, gboolean use_align, float row_align, float col_align);\nsubroutine gtk_icon_view_scroll_to_path(icon_view, path, use_align, row_align,&\n& col_align) bind(c)\n  import :: c_ptr, c_int, c_float\n  implicit none\n  type(c_ptr), value :: icon_view\n  type(c_ptr), value :: path\n  integer(c_int), value :: use_align\n  real(c_float), value :: row_align\n  real(c_float), value :: col_align\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!void gtk_icon_view_enable_model_drag_source (GtkIconView *icon_view, GdkModifierType start_button_mask, GdkContentFormats *formats, GdkDragAction actions);\nsubroutine gtk_icon_view_enable_model_drag_source(icon_view, start_button_mask,&\n& formats, actions) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: icon_view\n  integer(c_int), value :: start_button_mask\n  type(c_ptr), value :: formats\n  integer(c_int), value :: actions\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!void gtk_icon_view_enable_model_drag_dest (GtkIconView *icon_view, GdkContentFormats *formats, GdkDragAction actions);\nsubroutine gtk_icon_view_enable_model_drag_dest(icon_view, formats, actions)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: icon_view\n  type(c_ptr), value :: formats\n  integer(c_int), value :: actions\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!void gtk_icon_view_unset_model_drag_source (GtkIconView *icon_view);\nsubroutine gtk_icon_view_unset_model_drag_source(icon_view) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: icon_view\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!void gtk_icon_view_unset_model_drag_dest (GtkIconView *icon_view);\nsubroutine gtk_icon_view_unset_model_drag_dest(icon_view) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: icon_view\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!void gtk_icon_view_set_reorderable (GtkIconView *icon_view, gboolean reorderable);\nsubroutine gtk_icon_view_set_reorderable(icon_view, reorderable) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: icon_view\n  integer(c_int), value :: reorderable\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!gboolean gtk_icon_view_get_reorderable (GtkIconView *icon_view);\nfunction gtk_icon_view_get_reorderable(icon_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_icon_view_get_reorderable\n  type(c_ptr), value :: icon_view\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!void gtk_icon_view_set_drag_dest_item (GtkIconView *icon_view, GtkTreePath *path, GtkIconViewDropPosition pos);\nsubroutine gtk_icon_view_set_drag_dest_item(icon_view, path, pos) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: icon_view\n  type(c_ptr), value :: path\n  integer(c_int), value :: pos\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!void gtk_icon_view_get_drag_dest_item (GtkIconView *icon_view, GtkTreePath **path, GtkIconViewDropPosition *pos);\nsubroutine gtk_icon_view_get_drag_dest_item(icon_view, path, pos) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: icon_view\n  type(c_ptr), value :: path\n  type(c_ptr), value :: pos\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!gboolean gtk_icon_view_get_dest_item_at_pos (GtkIconView *icon_view, int drag_x, int drag_y, GtkTreePath **path, GtkIconViewDropPosition *pos);\nfunction gtk_icon_view_get_dest_item_at_pos(icon_view, drag_x, drag_y, path,&\n& pos) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_icon_view_get_dest_item_at_pos\n  type(c_ptr), value :: icon_view\n  integer(c_int), value :: drag_x\n  integer(c_int), value :: drag_y\n  type(c_ptr), value :: path\n  type(c_ptr), value :: pos\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!GdkPaintable *gtk_icon_view_create_drag_icon (GtkIconView *icon_view, GtkTreePath *path);\nfunction gtk_icon_view_create_drag_icon(icon_view, path) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_icon_view_create_drag_icon\n  type(c_ptr), value :: icon_view\n  type(c_ptr), value :: path\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!gboolean gtk_icon_view_get_cell_rect (GtkIconView *icon_view, GtkTreePath *path, GtkCellRenderer *cell, GdkRectangle *rect);\nfunction gtk_icon_view_get_cell_rect(icon_view, path, cell, rect) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_icon_view_get_cell_rect\n  type(c_ptr), value :: icon_view\n  type(c_ptr), value :: path\n  type(c_ptr), value :: cell\n  type(c_ptr), value :: rect\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!void gtk_icon_view_set_tooltip_item (GtkIconView *icon_view, GtkTooltip *tooltip, GtkTreePath *path);\nsubroutine gtk_icon_view_set_tooltip_item(icon_view, tooltip, path) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: icon_view\n  type(c_ptr), value :: tooltip\n  type(c_ptr), value :: path\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!void gtk_icon_view_set_tooltip_cell (GtkIconView *icon_view, GtkTooltip *tooltip, GtkTreePath *path, GtkCellRenderer *cell);\nsubroutine gtk_icon_view_set_tooltip_cell(icon_view, tooltip, path, cell)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: icon_view\n  type(c_ptr), value :: tooltip\n  type(c_ptr), value :: path\n  type(c_ptr), value :: cell\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!gboolean gtk_icon_view_get_tooltip_context (GtkIconView *icon_view, int x, int y, gboolean keyboard_tip, GtkTreeModel **model, GtkTreePath **path, GtkTreeIter *iter);\nfunction gtk_icon_view_get_tooltip_context(icon_view, x, y, keyboard_tip,&\n& model, path, iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_icon_view_get_tooltip_context\n  type(c_ptr), value :: icon_view\n  integer(c_int), value :: x\n  integer(c_int), value :: y\n  integer(c_int), value :: keyboard_tip\n  type(c_ptr), value :: model\n  type(c_ptr), value :: path\n  type(c_ptr), value :: iter\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!void gtk_icon_view_set_tooltip_column (GtkIconView *icon_view, int column);\nsubroutine gtk_icon_view_set_tooltip_column(icon_view, column) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: icon_view\n  integer(c_int), value :: column\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkGridView)\n!int gtk_icon_view_get_tooltip_column (GtkIconView *icon_view);\nfunction gtk_icon_view_get_tooltip_column(icon_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_icon_view_get_tooltip_column\n  type(c_ptr), value :: icon_view\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkinfobar.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_info_bar_get_type (void) ;\nfunction gtk_info_bar_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_info_bar_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkWidget *gtk_info_bar_new (void);\nfunction gtk_info_bar_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_info_bar_new\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_info_bar_add_action_widget (GtkInfoBar *info_bar, GtkWidget *child, int response_id);\nsubroutine gtk_info_bar_add_action_widget(info_bar, child, response_id) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: info_bar\n  type(c_ptr), value :: child\n  integer(c_int), value :: response_id\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_info_bar_remove_action_widget (GtkInfoBar *info_bar, GtkWidget *widget);\nsubroutine gtk_info_bar_remove_action_widget(info_bar, widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: info_bar\n  type(c_ptr), value :: widget\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!GtkWidget *gtk_info_bar_add_button (GtkInfoBar *info_bar, const char *button_text, int response_id);\nfunction gtk_info_bar_add_button(info_bar, button_text, response_id) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: gtk_info_bar_add_button\n  type(c_ptr), value :: info_bar\n  character(kind=c_char), dimension(*) :: button_text\n  integer(c_int), value :: response_id\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_info_bar_add_child (GtkInfoBar *info_bar, GtkWidget *widget);\nsubroutine gtk_info_bar_add_child(info_bar, widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: info_bar\n  type(c_ptr), value :: widget\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_info_bar_remove_child (GtkInfoBar *info_bar, GtkWidget *widget);\nsubroutine gtk_info_bar_remove_child(info_bar, widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: info_bar\n  type(c_ptr), value :: widget\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_info_bar_set_response_sensitive (GtkInfoBar *info_bar, int response_id, gboolean setting);\nsubroutine gtk_info_bar_set_response_sensitive(info_bar, response_id, setting)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: info_bar\n  integer(c_int), value :: response_id\n  integer(c_int), value :: setting\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_info_bar_set_default_response (GtkInfoBar *info_bar, int response_id);\nsubroutine gtk_info_bar_set_default_response(info_bar, response_id) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: info_bar\n  integer(c_int), value :: response_id\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_info_bar_response (GtkInfoBar *info_bar, int response_id);\nsubroutine gtk_info_bar_response(info_bar, response_id) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: info_bar\n  integer(c_int), value :: response_id\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_info_bar_set_message_type (GtkInfoBar *info_bar, GtkMessageType message_type);\nsubroutine gtk_info_bar_set_message_type(info_bar, message_type) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: info_bar\n  integer(c_int), value :: message_type\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!GtkMessageType gtk_info_bar_get_message_type (GtkInfoBar *info_bar);\nfunction gtk_info_bar_get_message_type(info_bar) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_info_bar_get_message_type\n  type(c_ptr), value :: info_bar\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_info_bar_set_show_close_button (GtkInfoBar *info_bar, gboolean setting);\nsubroutine gtk_info_bar_set_show_close_button(info_bar, setting) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: info_bar\n  integer(c_int), value :: setting\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_info_bar_get_show_close_button (GtkInfoBar *info_bar);\nfunction gtk_info_bar_get_show_close_button(info_bar) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_info_bar_get_show_close_button\n  type(c_ptr), value :: info_bar\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_info_bar_set_revealed (GtkInfoBar *info_bar, gboolean revealed);\nsubroutine gtk_info_bar_set_revealed(info_bar, revealed) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: info_bar\n  integer(c_int), value :: revealed\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_info_bar_get_revealed (GtkInfoBar *info_bar);\nfunction gtk_info_bar_get_revealed(info_bar) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_info_bar_get_revealed\n  type(c_ptr), value :: info_bar\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkliststore.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_list_store_get_type (void) ;\nfunction gtk_list_store_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_list_store_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListStore)\n!GtkListStore *gtk_list_store_newv (int n_columns, GType *types);\nfunction gtk_list_store_newv(n_columns, types) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_list_store_newv\n  integer(c_int), value :: n_columns\n  type(c_ptr), value :: types\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListStore)\n!void gtk_list_store_set_column_types (GtkListStore *list_store, int n_columns, GType *types);\nsubroutine gtk_list_store_set_column_types(list_store, n_columns, types)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: list_store\n  integer(c_int), value :: n_columns\n  type(c_ptr), value :: types\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListStore)\n!void gtk_list_store_set_value (GtkListStore *list_store, GtkTreeIter *iter, int column, GValue *value);\nsubroutine gtk_list_store_set_value(list_store, iter, column, value) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: list_store\n  type(c_ptr), value :: iter\n  integer(c_int), value :: column\n  type(c_ptr), value :: value\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListStore)\n!void gtk_list_store_set_valuesv (GtkListStore *list_store, GtkTreeIter *iter, int *columns, GValue *values, int n_values);\nsubroutine gtk_list_store_set_valuesv(list_store, iter, columns, values,&\n& n_values) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: list_store\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: columns\n  type(c_ptr), value :: values\n  integer(c_int), value :: n_values\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListStore)\n!void gtk_list_store_set_valist (GtkListStore *list_store, GtkTreeIter *iter, va_list var_args);\nsubroutine gtk_list_store_set_valist(list_store, iter, var_args) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: list_store\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: var_args\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListStore)\n!gboolean gtk_list_store_remove (GtkListStore *list_store, GtkTreeIter *iter);\nfunction gtk_list_store_remove(list_store, iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_list_store_remove\n  type(c_ptr), value :: list_store\n  type(c_ptr), value :: iter\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListStore)\n!void gtk_list_store_insert (GtkListStore *list_store, GtkTreeIter *iter, int position);\nsubroutine gtk_list_store_insert(list_store, iter, position) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: list_store\n  type(c_ptr), value :: iter\n  integer(c_int), value :: position\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListStore)\n!void gtk_list_store_insert_before (GtkListStore *list_store, GtkTreeIter *iter, GtkTreeIter *sibling);\nsubroutine gtk_list_store_insert_before(list_store, iter, sibling) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: list_store\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: sibling\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListStore)\n!void gtk_list_store_insert_after (GtkListStore *list_store, GtkTreeIter *iter, GtkTreeIter *sibling);\nsubroutine gtk_list_store_insert_after(list_store, iter, sibling) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: list_store\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: sibling\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListStore)\n!void gtk_list_store_insert_with_valuesv (GtkListStore *list_store, GtkTreeIter *iter, int position, int *columns, GValue *values, int n_values);\nsubroutine gtk_list_store_insert_with_valuesv(list_store, iter, position,&\n& columns, values, n_values) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: list_store\n  type(c_ptr), value :: iter\n  integer(c_int), value :: position\n  type(c_ptr), value :: columns\n  type(c_ptr), value :: values\n  integer(c_int), value :: n_values\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListStore)\n!void gtk_list_store_prepend (GtkListStore *list_store, GtkTreeIter *iter);\nsubroutine gtk_list_store_prepend(list_store, iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: list_store\n  type(c_ptr), value :: iter\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListStore)\n!void gtk_list_store_append (GtkListStore *list_store, GtkTreeIter *iter);\nsubroutine gtk_list_store_append(list_store, iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: list_store\n  type(c_ptr), value :: iter\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListStore)\n!void gtk_list_store_clear (GtkListStore *list_store);\nsubroutine gtk_list_store_clear(list_store) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: list_store\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListStore)\n!gboolean gtk_list_store_iter_is_valid (GtkListStore *list_store, GtkTreeIter *iter);\nfunction gtk_list_store_iter_is_valid(list_store, iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_list_store_iter_is_valid\n  type(c_ptr), value :: list_store\n  type(c_ptr), value :: iter\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListStore)\n!void gtk_list_store_reorder (GtkListStore *store, int *new_order);\nsubroutine gtk_list_store_reorder(store, new_order) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: store\n  type(c_ptr), value :: new_order\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListStore)\n!void gtk_list_store_swap (GtkListStore *store, GtkTreeIter *a, GtkTreeIter *b);\nsubroutine gtk_list_store_swap(store, a, b) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: store\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListStore)\n!void gtk_list_store_move_after (GtkListStore *store, GtkTreeIter *iter, GtkTreeIter *position);\nsubroutine gtk_list_store_move_after(store, iter, position) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: store\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: position\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListStore)\n!void gtk_list_store_move_before (GtkListStore *store, GtkTreeIter *iter, GtkTreeIter *position);\nsubroutine gtk_list_store_move_before(store, iter, position) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: store\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: position\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtklockbutton.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_lock_button_get_type (void) ;\nfunction gtk_lock_button_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_lock_button_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkWidget *gtk_lock_button_new (GPermission *permission);\nfunction gtk_lock_button_new(permission) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_lock_button_new\n  type(c_ptr), value :: permission\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GPermission *gtk_lock_button_get_permission (GtkLockButton *button);\nfunction gtk_lock_button_get_permission(button) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_lock_button_get_permission\n  type(c_ptr), value :: button\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_lock_button_set_permission (GtkLockButton *button, GPermission *permission);\nsubroutine gtk_lock_button_set_permission(button, permission) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: button\n  type(c_ptr), value :: permission\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkmessagedialog.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_message_dialog_get_type (void) ;\nfunction gtk_message_dialog_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_message_dialog_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_message_dialog_set_markup (GtkMessageDialog *message_dialog, const char *str);\nsubroutine gtk_message_dialog_set_markup(message_dialog, str) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: message_dialog\n  character(kind=c_char), dimension(*) :: str\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!GtkWidget *gtk_message_dialog_get_message_area (GtkMessageDialog *message_dialog);\nfunction gtk_message_dialog_get_message_area(message_dialog) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_message_dialog_get_message_area\n  type(c_ptr), value :: message_dialog\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkrender.h\n!--------------------------------------------------\n! GDK_DEPRECATED_IN_4_10\n!void gtk_render_check (GtkStyleContext *context, cairo_t *cr, double x, double y, double width, double height);\nsubroutine gtk_render_check(context, cr, x, y, width, height) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: cr\n  real(c_double), value :: x\n  real(c_double), value :: y\n  real(c_double), value :: width\n  real(c_double), value :: height\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_render_option (GtkStyleContext *context, cairo_t *cr, double x, double y, double width, double height);\nsubroutine gtk_render_option(context, cr, x, y, width, height) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: cr\n  real(c_double), value :: x\n  real(c_double), value :: y\n  real(c_double), value :: width\n  real(c_double), value :: height\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_render_arrow (GtkStyleContext *context, cairo_t *cr, double angle, double x, double y, double size);\nsubroutine gtk_render_arrow(context, cr, angle, x, y, size) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: cr\n  real(c_double), value :: angle\n  real(c_double), value :: x\n  real(c_double), value :: y\n  real(c_double), value :: size\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_render_background (GtkStyleContext *context, cairo_t *cr, double x, double y, double width, double height);\nsubroutine gtk_render_background(context, cr, x, y, width, height) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: cr\n  real(c_double), value :: x\n  real(c_double), value :: y\n  real(c_double), value :: width\n  real(c_double), value :: height\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_render_frame (GtkStyleContext *context, cairo_t *cr, double x, double y, double width, double height);\nsubroutine gtk_render_frame(context, cr, x, y, width, height) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: cr\n  real(c_double), value :: x\n  real(c_double), value :: y\n  real(c_double), value :: width\n  real(c_double), value :: height\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_render_expander (GtkStyleContext *context, cairo_t *cr, double x, double y, double width, double height);\nsubroutine gtk_render_expander(context, cr, x, y, width, height) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: cr\n  real(c_double), value :: x\n  real(c_double), value :: y\n  real(c_double), value :: width\n  real(c_double), value :: height\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_render_focus (GtkStyleContext *context, cairo_t *cr, double x, double y, double width, double height);\nsubroutine gtk_render_focus(context, cr, x, y, width, height) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: cr\n  real(c_double), value :: x\n  real(c_double), value :: y\n  real(c_double), value :: width\n  real(c_double), value :: height\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_render_layout (GtkStyleContext *context, cairo_t *cr, double x, double y, PangoLayout *layout);\nsubroutine gtk_render_layout(context, cr, x, y, layout) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: cr\n  real(c_double), value :: x\n  real(c_double), value :: y\n  type(c_ptr), value :: layout\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_render_line (GtkStyleContext *context, cairo_t *cr, double x0, double y0, double x1, double y1);\nsubroutine gtk_render_line(context, cr, x0, y0, x1, y1) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: cr\n  real(c_double), value :: x0\n  real(c_double), value :: y0\n  real(c_double), value :: x1\n  real(c_double), value :: y1\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_render_handle (GtkStyleContext *context, cairo_t *cr, double x, double y, double width, double height);\nsubroutine gtk_render_handle(context, cr, x, y, width, height) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: cr\n  real(c_double), value :: x\n  real(c_double), value :: y\n  real(c_double), value :: width\n  real(c_double), value :: height\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_render_activity (GtkStyleContext *context, cairo_t *cr, double x, double y, double width, double height);\nsubroutine gtk_render_activity(context, cr, x, y, width, height) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: cr\n  real(c_double), value :: x\n  real(c_double), value :: y\n  real(c_double), value :: width\n  real(c_double), value :: height\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_render_icon (GtkStyleContext *context, cairo_t *cr, GdkTexture *texture, double x, double y);\nsubroutine gtk_render_icon(context, cr, texture, x, y) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: texture\n  real(c_double), value :: x\n  real(c_double), value :: y\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_snapshot_render_background (GtkSnapshot *snapshot, GtkStyleContext *context, double x, double y, double width, double height);\nsubroutine gtk_snapshot_render_background(snapshot, context, x, y, width,&\n& height) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: snapshot\n  type(c_ptr), value :: context\n  real(c_double), value :: x\n  real(c_double), value :: y\n  real(c_double), value :: width\n  real(c_double), value :: height\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_snapshot_render_frame (GtkSnapshot *snapshot, GtkStyleContext *context, double x, double y, double width, double height);\nsubroutine gtk_snapshot_render_frame(snapshot, context, x, y, width, height)&\n& bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: snapshot\n  type(c_ptr), value :: context\n  real(c_double), value :: x\n  real(c_double), value :: y\n  real(c_double), value :: width\n  real(c_double), value :: height\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_snapshot_render_focus (GtkSnapshot *snapshot, GtkStyleContext *context, double x, double y, double width, double height);\nsubroutine gtk_snapshot_render_focus(snapshot, context, x, y, width, height)&\n& bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: snapshot\n  type(c_ptr), value :: context\n  real(c_double), value :: x\n  real(c_double), value :: y\n  real(c_double), value :: width\n  real(c_double), value :: height\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_snapshot_render_layout (GtkSnapshot *snapshot, GtkStyleContext *context, double x, double y, PangoLayout *layout);\nsubroutine gtk_snapshot_render_layout(snapshot, context, x, y, layout) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: snapshot\n  type(c_ptr), value :: context\n  real(c_double), value :: x\n  real(c_double), value :: y\n  type(c_ptr), value :: layout\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_snapshot_render_insertion_cursor (GtkSnapshot *snapshot, GtkStyleContext *context, double x, double y, PangoLayout *layout, int index, PangoDirection direction);\nsubroutine gtk_snapshot_render_insertion_cursor(snapshot, context, x, y,&\n& layout, index, direction) bind(c)\n  import :: c_ptr, c_double, c_int\n  implicit none\n  type(c_ptr), value :: snapshot\n  type(c_ptr), value :: context\n  real(c_double), value :: x\n  real(c_double), value :: y\n  type(c_ptr), value :: layout\n  integer(c_int), value :: index\n  integer(c_int), value :: direction\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkshortcutlabel.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_shortcut_label_get_type (void) ;\nfunction gtk_shortcut_label_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_shortcut_label_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget *gtk_shortcut_label_new (const char *accelerator);\nfunction gtk_shortcut_label_new(accelerator) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_shortcut_label_new\n  character(kind=c_char), dimension(*) :: accelerator\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char *gtk_shortcut_label_get_accelerator (GtkShortcutLabel *self);\nfunction gtk_shortcut_label_get_accelerator(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_shortcut_label_get_accelerator\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_shortcut_label_set_accelerator (GtkShortcutLabel *self, const char *accelerator);\nsubroutine gtk_shortcut_label_set_accelerator(self, accelerator) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: accelerator\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char *gtk_shortcut_label_get_disabled_text (GtkShortcutLabel *self);\nfunction gtk_shortcut_label_get_disabled_text(self) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_shortcut_label_get_disabled_text\n  type(c_ptr), value :: self\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_shortcut_label_set_disabled_text (GtkShortcutLabel *self, const char *disabled_text);\nsubroutine gtk_shortcut_label_set_disabled_text(self, disabled_text) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: self\n  character(kind=c_char), dimension(*) :: disabled_text\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkshortcutsgroup.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_shortcuts_group_get_type (void) ;\nfunction gtk_shortcuts_group_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_shortcuts_group_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_18\n!void gtk_shortcuts_group_add_shortcut (GtkShortcutsGroup *self, GtkShortcutsShortcut *shortcut);\nsubroutine gtk_shortcuts_group_add_shortcut(self, shortcut) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: shortcut\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkshortcutssection.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_shortcuts_section_get_type (void) ;\nfunction gtk_shortcuts_section_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_shortcuts_section_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_18\n!void gtk_shortcuts_section_add_group (GtkShortcutsSection *self, GtkShortcutsGroup *group);\nsubroutine gtk_shortcuts_section_add_group(self, group) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: group\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkshortcutsshortcut.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_shortcuts_shortcut_get_type (void) ;\nfunction gtk_shortcuts_shortcut_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_shortcuts_shortcut_get_type\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkshortcutswindow.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_shortcuts_window_get_type (void) ;\nfunction gtk_shortcuts_window_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_shortcuts_window_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_18\n!void gtk_shortcuts_window_add_section (GtkShortcutsWindow *self, GtkShortcutsSection *section);\nsubroutine gtk_shortcuts_window_add_section(self, section) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: self\n  type(c_ptr), value :: section\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkshow.h\n!--------------------------------------------------\n! GDK_DEPRECATED_IN_4_10_FOR(gtk_uri_launcher_launch)\n!void gtk_show_uri_full (GtkWindow *parent, const char *uri, guint32 timestamp, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\nsubroutine gtk_show_uri_full(parent, uri, timestamp, cancellable, callback,&\n& user_data) bind(c)\n  import :: c_ptr, c_char, c_int32_t, c_funptr\n  implicit none\n  type(c_ptr), value :: parent\n  character(kind=c_char), dimension(*) :: uri\n  integer(c_int32_t), value :: timestamp\n  type(c_ptr), value :: cancellable\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(gtk_uri_launcher_launch)\n!gboolean gtk_show_uri_full_finish (GtkWindow *parent, GAsyncResult *result, GError **error);\nfunction gtk_show_uri_full_finish(parent, result, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_show_uri_full_finish\n  type(c_ptr), value :: parent\n  type(c_ptr), value :: result\n  type(c_ptr), value :: error\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(gtk_uri_launcher_launch)\n!void gtk_show_uri (GtkWindow *parent, const char *uri, guint32 timestamp);\nsubroutine gtk_show_uri(parent, uri, timestamp) bind(c)\n  import :: c_ptr, c_char, c_int32_t\n  implicit none\n  type(c_ptr), value :: parent\n  character(kind=c_char), dimension(*) :: uri\n  integer(c_int32_t), value :: timestamp\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkstatusbar.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_statusbar_get_type (void) ;\nfunction gtk_statusbar_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_statusbar_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkWidget* gtk_statusbar_new (void);\nfunction gtk_statusbar_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_statusbar_new\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!guint gtk_statusbar_get_context_id (GtkStatusbar *statusbar, const char *context_description);\nfunction gtk_statusbar_get_context_id(statusbar, context_description) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_statusbar_get_context_id\n  type(c_ptr), value :: statusbar\n  character(kind=c_char), dimension(*) :: context_description\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!guint gtk_statusbar_push (GtkStatusbar *statusbar, guint context_id, const char *text);\nfunction gtk_statusbar_push(statusbar, context_id, text) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_statusbar_push\n  type(c_ptr), value :: statusbar\n  integer(c_int), value :: context_id\n  character(kind=c_char), dimension(*) :: text\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_statusbar_pop (GtkStatusbar *statusbar, guint context_id);\nsubroutine gtk_statusbar_pop(statusbar, context_id) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: statusbar\n  integer(c_int), value :: context_id\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_statusbar_remove (GtkStatusbar *statusbar, guint context_id, guint message_id);\nsubroutine gtk_statusbar_remove(statusbar, context_id, message_id) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: statusbar\n  integer(c_int), value :: context_id\n  integer(c_int), value :: message_id\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_statusbar_remove_all (GtkStatusbar *statusbar, guint context_id);\nsubroutine gtk_statusbar_remove_all(statusbar, context_id) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: statusbar\n  integer(c_int), value :: context_id\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkstylecontext.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_style_context_get_type (void) ;\nfunction gtk_style_context_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_style_context_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_style_context_add_provider (GtkStyleContext *context, GtkStyleProvider *provider, guint priority);\nsubroutine gtk_style_context_add_provider(context, provider, priority) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: provider\n  integer(c_int), value :: priority\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_style_context_remove_provider (GtkStyleContext *context, GtkStyleProvider *provider);\nsubroutine gtk_style_context_remove_provider(context, provider) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: provider\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_style_context_save (GtkStyleContext *context);\nsubroutine gtk_style_context_save(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_style_context_restore (GtkStyleContext *context);\nsubroutine gtk_style_context_restore(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_style_context_set_state (GtkStyleContext *context, GtkStateFlags flags);\nsubroutine gtk_style_context_set_state(context, flags) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: context\n  integer(c_int), value :: flags\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!GtkStateFlags gtk_style_context_get_state (GtkStyleContext *context);\nfunction gtk_style_context_get_state(context) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_style_context_get_state\n  type(c_ptr), value :: context\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_style_context_set_scale (GtkStyleContext *context, int scale);\nsubroutine gtk_style_context_set_scale(context, scale) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: context\n  integer(c_int), value :: scale\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!int gtk_style_context_get_scale (GtkStyleContext *context);\nfunction gtk_style_context_get_scale(context) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_style_context_get_scale\n  type(c_ptr), value :: context\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_style_context_add_class (GtkStyleContext *context, const char *class_name);\nsubroutine gtk_style_context_add_class(context, class_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: context\n  character(kind=c_char), dimension(*) :: class_name\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_style_context_remove_class (GtkStyleContext *context, const char *class_name);\nsubroutine gtk_style_context_remove_class(context, class_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: context\n  character(kind=c_char), dimension(*) :: class_name\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_style_context_has_class (GtkStyleContext *context, const char *class_name);\nfunction gtk_style_context_has_class(context, class_name) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_style_context_has_class\n  type(c_ptr), value :: context\n  character(kind=c_char), dimension(*) :: class_name\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_style_context_set_display (GtkStyleContext *context, GdkDisplay *display);\nsubroutine gtk_style_context_set_display(context, display) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: display\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!GdkDisplay *gtk_style_context_get_display (GtkStyleContext *context);\nfunction gtk_style_context_get_display(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_style_context_get_display\n  type(c_ptr), value :: context\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_style_context_lookup_color (GtkStyleContext *context, const char *color_name, GdkRGBA *color);\nfunction gtk_style_context_lookup_color(context, color_name, color) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_style_context_lookup_color\n  type(c_ptr), value :: context\n  character(kind=c_char), dimension(*) :: color_name\n  type(c_ptr), value :: color\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_style_context_get_color (GtkStyleContext *context, GdkRGBA *color);\nsubroutine gtk_style_context_get_color(context, color) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: color\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_style_context_get_border (GtkStyleContext *context, GtkBorder *border);\nsubroutine gtk_style_context_get_border(context, border) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: border\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_style_context_get_padding (GtkStyleContext *context, GtkBorder *padding);\nsubroutine gtk_style_context_get_padding(context, padding) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: padding\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_style_context_get_margin (GtkStyleContext *context, GtkBorder *margin);\nsubroutine gtk_style_context_get_margin(context, margin) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: margin\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!char * gtk_style_context_to_string (GtkStyleContext *context, GtkStyleContextPrintFlags flags);\nfunction gtk_style_context_to_string(context, flags) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_style_context_to_string\n  type(c_ptr), value :: context\n  integer(c_int), value :: flags\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtktreednd.h\n!--------------------------------------------------\n! GDK_DEPRECATED_IN_4_10\n!GType gtk_tree_row_data_get_type (void) ;\nfunction gtk_tree_row_data_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_tree_row_data_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDragSource)\n!GType gtk_tree_drag_source_get_type (void) ;\nfunction gtk_tree_drag_source_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_tree_drag_source_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDragSource)\n!gboolean gtk_tree_drag_source_row_draggable (GtkTreeDragSource *drag_source, GtkTreePath *path);\nfunction gtk_tree_drag_source_row_draggable(drag_source, path) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_drag_source_row_draggable\n  type(c_ptr), value :: drag_source\n  type(c_ptr), value :: path\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDragSource)\n!gboolean gtk_tree_drag_source_drag_data_delete (GtkTreeDragSource *drag_source, GtkTreePath *path);\nfunction gtk_tree_drag_source_drag_data_delete(drag_source, path) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_drag_source_drag_data_delete\n  type(c_ptr), value :: drag_source\n  type(c_ptr), value :: path\nend function\n\n! \n!GdkContentProvider * gtk_tree_drag_source_drag_data_get (GtkTreeDragSource *drag_source, GtkTreePath *path);\nfunction gtk_tree_drag_source_drag_data_get(drag_source, path) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_drag_source_drag_data_get\n  type(c_ptr), value :: drag_source\n  type(c_ptr), value :: path\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropTarget)\n!GType gtk_tree_drag_dest_get_type (void) ;\nfunction gtk_tree_drag_dest_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_tree_drag_dest_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropTarget)\n!gboolean gtk_tree_drag_dest_drag_data_received (GtkTreeDragDest *drag_dest, GtkTreePath *dest, const GValue *value);\nfunction gtk_tree_drag_dest_drag_data_received(drag_dest, dest, value) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_drag_dest_drag_data_received\n  type(c_ptr), value :: drag_dest\n  type(c_ptr), value :: dest\n  type(c_ptr), value :: value\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDropTarget)\n!gboolean gtk_tree_drag_dest_row_drop_possible (GtkTreeDragDest *drag_dest, GtkTreePath *dest_path, const GValue *value);\nfunction gtk_tree_drag_dest_row_drop_possible(drag_dest, dest_path, value)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_drag_dest_row_drop_possible\n  type(c_ptr), value :: drag_dest\n  type(c_ptr), value :: dest_path\n  type(c_ptr), value :: value\nend function\n\n! \n!GdkContentProvider * gtk_tree_create_row_drag_content (GtkTreeModel *tree_model, GtkTreePath *path);\nfunction gtk_tree_create_row_drag_content(tree_model, path) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_create_row_drag_content\n  type(c_ptr), value :: tree_model\n  type(c_ptr), value :: path\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkDragSource and GtkDropTarget)\n!gboolean gtk_tree_get_row_drag_data (const GValue *value, GtkTreeModel **tree_model, GtkTreePath **path);\nfunction gtk_tree_get_row_drag_data(value, tree_model, path) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_get_row_drag_data\n  type(c_ptr), value :: value\n  type(c_ptr), value :: tree_model\n  type(c_ptr), value :: path\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h\n!--------------------------------------------------\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!GtkTreePath *gtk_tree_path_new (void);\nfunction gtk_tree_path_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_path_new\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!GtkTreePath *gtk_tree_path_new_from_string (const char *path);\nfunction gtk_tree_path_new_from_string(path) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_tree_path_new_from_string\n  character(kind=c_char), dimension(*) :: path\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!GtkTreePath *gtk_tree_path_new_from_indicesv (int *indices, gsize length);\nfunction gtk_tree_path_new_from_indicesv(indices, length) bind(c)\n  import :: c_ptr, c_size_t\n  implicit none\n  type(c_ptr) :: gtk_tree_path_new_from_indicesv\n  type(c_ptr), value :: indices\n  integer(c_size_t), value :: length\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!char *gtk_tree_path_to_string (GtkTreePath *path);\nfunction gtk_tree_path_to_string(path) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_path_to_string\n  type(c_ptr), value :: path\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!GtkTreePath *gtk_tree_path_new_first (void);\nfunction gtk_tree_path_new_first() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_path_new_first\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!void gtk_tree_path_append_index (GtkTreePath *path, int index_);\nsubroutine gtk_tree_path_append_index(path, index_) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: path\n  integer(c_int), value :: index_\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!void gtk_tree_path_prepend_index (GtkTreePath *path, int index_);\nsubroutine gtk_tree_path_prepend_index(path, index_) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: path\n  integer(c_int), value :: index_\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!int gtk_tree_path_get_depth (GtkTreePath *path);\nfunction gtk_tree_path_get_depth(path) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_path_get_depth\n  type(c_ptr), value :: path\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!int *gtk_tree_path_get_indices (GtkTreePath *path);\nfunction gtk_tree_path_get_indices(path) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_path_get_indices\n  type(c_ptr), value :: path\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!int *gtk_tree_path_get_indices_with_depth (GtkTreePath *path, int *depth);\nfunction gtk_tree_path_get_indices_with_depth(path, depth) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_path_get_indices_with_depth\n  type(c_ptr), value :: path\n  type(c_ptr), value :: depth\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!void gtk_tree_path_free (GtkTreePath *path);\nsubroutine gtk_tree_path_free(path) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: path\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!GtkTreePath *gtk_tree_path_copy (const GtkTreePath *path);\nfunction gtk_tree_path_copy(path) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_path_copy\n  type(c_ptr), value :: path\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_tree_path_get_type (void) ;\nfunction gtk_tree_path_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_tree_path_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!int gtk_tree_path_compare (const GtkTreePath *a, const GtkTreePath *b);\nfunction gtk_tree_path_compare(a, b) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_path_compare\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!void gtk_tree_path_next (GtkTreePath *path);\nsubroutine gtk_tree_path_next(path) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: path\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!gboolean gtk_tree_path_prev (GtkTreePath *path);\nfunction gtk_tree_path_prev(path) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_path_prev\n  type(c_ptr), value :: path\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!gboolean gtk_tree_path_up (GtkTreePath *path);\nfunction gtk_tree_path_up(path) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_path_up\n  type(c_ptr), value :: path\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!void gtk_tree_path_down (GtkTreePath *path);\nsubroutine gtk_tree_path_down(path) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: path\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!gboolean gtk_tree_path_is_ancestor (GtkTreePath *path, GtkTreePath *descendant);\nfunction gtk_tree_path_is_ancestor(path, descendant) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_path_is_ancestor\n  type(c_ptr), value :: path\n  type(c_ptr), value :: descendant\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!gboolean gtk_tree_path_is_descendant (GtkTreePath *path, GtkTreePath *ancestor);\nfunction gtk_tree_path_is_descendant(path, ancestor) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_path_is_descendant\n  type(c_ptr), value :: path\n  type(c_ptr), value :: ancestor\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_tree_row_reference_get_type (void) ;\nfunction gtk_tree_row_reference_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_tree_row_reference_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!GtkTreeRowReference *gtk_tree_row_reference_new (GtkTreeModel *model, GtkTreePath *path);\nfunction gtk_tree_row_reference_new(model, path) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_row_reference_new\n  type(c_ptr), value :: model\n  type(c_ptr), value :: path\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!GtkTreeRowReference *gtk_tree_row_reference_new_proxy (GObject *proxy, GtkTreeModel *model, GtkTreePath *path);\nfunction gtk_tree_row_reference_new_proxy(proxy, model, path) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_row_reference_new_proxy\n  type(c_ptr), value :: proxy\n  type(c_ptr), value :: model\n  type(c_ptr), value :: path\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!GtkTreePath *gtk_tree_row_reference_get_path (GtkTreeRowReference *reference);\nfunction gtk_tree_row_reference_get_path(reference) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_row_reference_get_path\n  type(c_ptr), value :: reference\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!GtkTreeModel *gtk_tree_row_reference_get_model (GtkTreeRowReference *reference);\nfunction gtk_tree_row_reference_get_model(reference) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_row_reference_get_model\n  type(c_ptr), value :: reference\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!gboolean gtk_tree_row_reference_valid (GtkTreeRowReference *reference);\nfunction gtk_tree_row_reference_valid(reference) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_row_reference_valid\n  type(c_ptr), value :: reference\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!GtkTreeRowReference *gtk_tree_row_reference_copy (GtkTreeRowReference *reference);\nfunction gtk_tree_row_reference_copy(reference) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_row_reference_copy\n  type(c_ptr), value :: reference\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!void gtk_tree_row_reference_free (GtkTreeRowReference *reference);\nsubroutine gtk_tree_row_reference_free(reference) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: reference\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!void gtk_tree_row_reference_inserted (GObject *proxy, GtkTreePath *path);\nsubroutine gtk_tree_row_reference_inserted(proxy, path) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: proxy\n  type(c_ptr), value :: path\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!void gtk_tree_row_reference_deleted (GObject *proxy, GtkTreePath *path);\nsubroutine gtk_tree_row_reference_deleted(proxy, path) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: proxy\n  type(c_ptr), value :: path\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!void gtk_tree_row_reference_reordered (GObject *proxy, GtkTreePath *path, GtkTreeIter *iter, int *new_order);\nsubroutine gtk_tree_row_reference_reordered(proxy, path, iter, new_order)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: proxy\n  type(c_ptr), value :: path\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: new_order\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!GtkTreeIter * gtk_tree_iter_copy (GtkTreeIter *iter);\nfunction gtk_tree_iter_copy(iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_iter_copy\n  type(c_ptr), value :: iter\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!void gtk_tree_iter_free (GtkTreeIter *iter);\nsubroutine gtk_tree_iter_free(iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: iter\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_tree_iter_get_type (void) ;\nfunction gtk_tree_iter_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_tree_iter_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_tree_model_get_type (void) ;\nfunction gtk_tree_model_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_tree_model_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!GtkTreeModelFlags gtk_tree_model_get_flags (GtkTreeModel *tree_model);\nfunction gtk_tree_model_get_flags(tree_model) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_model_get_flags\n  type(c_ptr), value :: tree_model\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!int gtk_tree_model_get_n_columns (GtkTreeModel *tree_model);\nfunction gtk_tree_model_get_n_columns(tree_model) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_model_get_n_columns\n  type(c_ptr), value :: tree_model\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!GType gtk_tree_model_get_column_type (GtkTreeModel *tree_model, int index_);\nfunction gtk_tree_model_get_column_type(tree_model, index_) bind(c)\n  import :: c_size_t, c_ptr, c_int\n  implicit none\n  integer(c_size_t) :: gtk_tree_model_get_column_type\n  type(c_ptr), value :: tree_model\n  integer(c_int), value :: index_\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!gboolean gtk_tree_model_get_iter (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreePath *path);\nfunction gtk_tree_model_get_iter(tree_model, iter, path) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_model_get_iter\n  type(c_ptr), value :: tree_model\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: path\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!gboolean gtk_tree_model_get_iter_from_string (GtkTreeModel *tree_model, GtkTreeIter *iter, const char *path_string);\nfunction gtk_tree_model_get_iter_from_string(tree_model, iter, path_string)&\n& bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_tree_model_get_iter_from_string\n  type(c_ptr), value :: tree_model\n  type(c_ptr), value :: iter\n  character(kind=c_char), dimension(*) :: path_string\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!char * gtk_tree_model_get_string_from_iter (GtkTreeModel *tree_model, GtkTreeIter *iter);\nfunction gtk_tree_model_get_string_from_iter(tree_model, iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_model_get_string_from_iter\n  type(c_ptr), value :: tree_model\n  type(c_ptr), value :: iter\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!gboolean gtk_tree_model_get_iter_first (GtkTreeModel *tree_model, GtkTreeIter *iter);\nfunction gtk_tree_model_get_iter_first(tree_model, iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_model_get_iter_first\n  type(c_ptr), value :: tree_model\n  type(c_ptr), value :: iter\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!GtkTreePath * gtk_tree_model_get_path (GtkTreeModel *tree_model, GtkTreeIter *iter);\nfunction gtk_tree_model_get_path(tree_model, iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_model_get_path\n  type(c_ptr), value :: tree_model\n  type(c_ptr), value :: iter\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!void gtk_tree_model_get_value (GtkTreeModel *tree_model, GtkTreeIter *iter, int column, GValue *value);\nsubroutine gtk_tree_model_get_value(tree_model, iter, column, value) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_model\n  type(c_ptr), value :: iter\n  integer(c_int), value :: column\n  type(c_ptr), value :: value\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!gboolean gtk_tree_model_iter_previous (GtkTreeModel *tree_model, GtkTreeIter *iter);\nfunction gtk_tree_model_iter_previous(tree_model, iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_model_iter_previous\n  type(c_ptr), value :: tree_model\n  type(c_ptr), value :: iter\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!gboolean gtk_tree_model_iter_next (GtkTreeModel *tree_model, GtkTreeIter *iter);\nfunction gtk_tree_model_iter_next(tree_model, iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_model_iter_next\n  type(c_ptr), value :: tree_model\n  type(c_ptr), value :: iter\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!gboolean gtk_tree_model_iter_children (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *parent);\nfunction gtk_tree_model_iter_children(tree_model, iter, parent) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_model_iter_children\n  type(c_ptr), value :: tree_model\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: parent\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!gboolean gtk_tree_model_iter_has_child (GtkTreeModel *tree_model, GtkTreeIter *iter);\nfunction gtk_tree_model_iter_has_child(tree_model, iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_model_iter_has_child\n  type(c_ptr), value :: tree_model\n  type(c_ptr), value :: iter\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!int gtk_tree_model_iter_n_children (GtkTreeModel *tree_model, GtkTreeIter *iter);\nfunction gtk_tree_model_iter_n_children(tree_model, iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_model_iter_n_children\n  type(c_ptr), value :: tree_model\n  type(c_ptr), value :: iter\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!gboolean gtk_tree_model_iter_nth_child (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *parent, int n);\nfunction gtk_tree_model_iter_nth_child(tree_model, iter, parent, n) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_model_iter_nth_child\n  type(c_ptr), value :: tree_model\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: parent\n  integer(c_int), value :: n\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!gboolean gtk_tree_model_iter_parent (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *child);\nfunction gtk_tree_model_iter_parent(tree_model, iter, child) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_model_iter_parent\n  type(c_ptr), value :: tree_model\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: child\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!void gtk_tree_model_ref_node (GtkTreeModel *tree_model, GtkTreeIter *iter);\nsubroutine gtk_tree_model_ref_node(tree_model, iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_model\n  type(c_ptr), value :: iter\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!void gtk_tree_model_unref_node (GtkTreeModel *tree_model, GtkTreeIter *iter);\nsubroutine gtk_tree_model_unref_node(tree_model, iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_model\n  type(c_ptr), value :: iter\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!void gtk_tree_model_get_valist (GtkTreeModel *tree_model, GtkTreeIter *iter, va_list var_args);\nsubroutine gtk_tree_model_get_valist(tree_model, iter, var_args) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_model\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: var_args\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!void gtk_tree_model_foreach (GtkTreeModel *model, GtkTreeModelForeachFunc func, gpointer user_data);\nsubroutine gtk_tree_model_foreach(model, func, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: model\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!void gtk_tree_model_row_changed (GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter);\nsubroutine gtk_tree_model_row_changed(tree_model, path, iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_model\n  type(c_ptr), value :: path\n  type(c_ptr), value :: iter\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!void gtk_tree_model_row_inserted (GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter);\nsubroutine gtk_tree_model_row_inserted(tree_model, path, iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_model\n  type(c_ptr), value :: path\n  type(c_ptr), value :: iter\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!void gtk_tree_model_row_has_child_toggled (GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter);\nsubroutine gtk_tree_model_row_has_child_toggled(tree_model, path, iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_model\n  type(c_ptr), value :: path\n  type(c_ptr), value :: iter\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!void gtk_tree_model_row_deleted (GtkTreeModel *tree_model, GtkTreePath *path);\nsubroutine gtk_tree_model_row_deleted(tree_model, path) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_model\n  type(c_ptr), value :: path\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!void gtk_tree_model_rows_reordered (GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter, int *new_order);\nsubroutine gtk_tree_model_rows_reordered(tree_model, path, iter, new_order)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_model\n  type(c_ptr), value :: path\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: new_order\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GListModel)\n!void gtk_tree_model_rows_reordered_with_length (GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter, int *new_order, int length);\nsubroutine gtk_tree_model_rows_reordered_with_length(tree_model, path, iter,&\n& new_order, length) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_model\n  type(c_ptr), value :: path\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: new_order\n  integer(c_int), value :: length\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtktreemodelfilter.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_tree_model_filter_get_type (void) ;\nfunction gtk_tree_model_filter_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_tree_model_filter_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel)\n!GtkTreeModel *gtk_tree_model_filter_new (GtkTreeModel *child_model, GtkTreePath *root);\nfunction gtk_tree_model_filter_new(child_model, root) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_model_filter_new\n  type(c_ptr), value :: child_model\n  type(c_ptr), value :: root\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel)\n!void gtk_tree_model_filter_set_visible_func (GtkTreeModelFilter *filter, GtkTreeModelFilterVisibleFunc func, gpointer data, GDestroyNotify destroy);\nsubroutine gtk_tree_model_filter_set_visible_func(filter, func, data, destroy)&\n& bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: filter\n  type(c_funptr), value :: func\n  type(c_ptr), value :: data\n  type(c_funptr), value :: destroy\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel)\n!void gtk_tree_model_filter_set_modify_func (GtkTreeModelFilter *filter, int n_columns, GType *types, GtkTreeModelFilterModifyFunc func, gpointer data, GDestroyNotify destroy);\nsubroutine gtk_tree_model_filter_set_modify_func(filter, n_columns, types,&\n& func, data, destroy) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: filter\n  integer(c_int), value :: n_columns\n  type(c_ptr), value :: types\n  type(c_funptr), value :: func\n  type(c_ptr), value :: data\n  type(c_funptr), value :: destroy\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel)\n!void gtk_tree_model_filter_set_visible_column (GtkTreeModelFilter *filter, int column);\nsubroutine gtk_tree_model_filter_set_visible_column(filter, column) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: filter\n  integer(c_int), value :: column\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel)\n!GtkTreeModel *gtk_tree_model_filter_get_model (GtkTreeModelFilter *filter);\nfunction gtk_tree_model_filter_get_model(filter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_model_filter_get_model\n  type(c_ptr), value :: filter\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel)\n!gboolean gtk_tree_model_filter_convert_child_iter_to_iter (GtkTreeModelFilter *filter, GtkTreeIter *filter_iter, GtkTreeIter *child_iter);\nfunction gtk_tree_model_filter_convert_child_iter_to_iter(filter, filter_iter,&\n& child_iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_model_filter_convert_child_iter_to_iter\n  type(c_ptr), value :: filter\n  type(c_ptr), value :: filter_iter\n  type(c_ptr), value :: child_iter\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel)\n!void gtk_tree_model_filter_convert_iter_to_child_iter (GtkTreeModelFilter *filter, GtkTreeIter *child_iter, GtkTreeIter *filter_iter);\nsubroutine gtk_tree_model_filter_convert_iter_to_child_iter(filter, child_iter,&\n& filter_iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: filter\n  type(c_ptr), value :: child_iter\n  type(c_ptr), value :: filter_iter\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel)\n!GtkTreePath *gtk_tree_model_filter_convert_child_path_to_path (GtkTreeModelFilter *filter, GtkTreePath *child_path);\nfunction gtk_tree_model_filter_convert_child_path_to_path(filter, child_path)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_model_filter_convert_child_path_to_path\n  type(c_ptr), value :: filter\n  type(c_ptr), value :: child_path\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel)\n!GtkTreePath *gtk_tree_model_filter_convert_path_to_child_path (GtkTreeModelFilter *filter, GtkTreePath *filter_path);\nfunction gtk_tree_model_filter_convert_path_to_child_path(filter, filter_path)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_model_filter_convert_path_to_child_path\n  type(c_ptr), value :: filter\n  type(c_ptr), value :: filter_path\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel)\n!void gtk_tree_model_filter_refilter (GtkTreeModelFilter *filter);\nsubroutine gtk_tree_model_filter_refilter(filter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: filter\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel)\n!void gtk_tree_model_filter_clear_cache (GtkTreeModelFilter *filter);\nsubroutine gtk_tree_model_filter_clear_cache(filter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: filter\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtktreemodelsort.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_tree_model_sort_get_type (void) ;\nfunction gtk_tree_model_sort_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_tree_model_sort_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel)\n!GtkTreeModel *gtk_tree_model_sort_new_with_model (GtkTreeModel *child_model);\nfunction gtk_tree_model_sort_new_with_model(child_model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_model_sort_new_with_model\n  type(c_ptr), value :: child_model\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel)\n!GtkTreeModel *gtk_tree_model_sort_get_model (GtkTreeModelSort *tree_model);\nfunction gtk_tree_model_sort_get_model(tree_model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_model_sort_get_model\n  type(c_ptr), value :: tree_model\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel)\n!GtkTreePath *gtk_tree_model_sort_convert_child_path_to_path (GtkTreeModelSort *tree_model_sort, GtkTreePath *child_path);\nfunction gtk_tree_model_sort_convert_child_path_to_path(tree_model_sort,&\n& child_path) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_model_sort_convert_child_path_to_path\n  type(c_ptr), value :: tree_model_sort\n  type(c_ptr), value :: child_path\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel)\n!gboolean gtk_tree_model_sort_convert_child_iter_to_iter (GtkTreeModelSort *tree_model_sort, GtkTreeIter *sort_iter, GtkTreeIter *child_iter);\nfunction gtk_tree_model_sort_convert_child_iter_to_iter(tree_model_sort,&\n& sort_iter, child_iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_model_sort_convert_child_iter_to_iter\n  type(c_ptr), value :: tree_model_sort\n  type(c_ptr), value :: sort_iter\n  type(c_ptr), value :: child_iter\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel)\n!GtkTreePath *gtk_tree_model_sort_convert_path_to_child_path (GtkTreeModelSort *tree_model_sort, GtkTreePath *sorted_path);\nfunction gtk_tree_model_sort_convert_path_to_child_path(tree_model_sort,&\n& sorted_path) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_model_sort_convert_path_to_child_path\n  type(c_ptr), value :: tree_model_sort\n  type(c_ptr), value :: sorted_path\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel)\n!void gtk_tree_model_sort_convert_iter_to_child_iter (GtkTreeModelSort *tree_model_sort, GtkTreeIter *child_iter, GtkTreeIter *sorted_iter);\nsubroutine gtk_tree_model_sort_convert_iter_to_child_iter(tree_model_sort,&\n& child_iter, sorted_iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_model_sort\n  type(c_ptr), value :: child_iter\n  type(c_ptr), value :: sorted_iter\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel)\n!void gtk_tree_model_sort_reset_default_sort_func (GtkTreeModelSort *tree_model_sort);\nsubroutine gtk_tree_model_sort_reset_default_sort_func(tree_model_sort) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_model_sort\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel)\n!void gtk_tree_model_sort_clear_cache (GtkTreeModelSort *tree_model_sort);\nsubroutine gtk_tree_model_sort_clear_cache(tree_model_sort) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_model_sort\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel)\n!gboolean gtk_tree_model_sort_iter_is_valid (GtkTreeModelSort *tree_model_sort, GtkTreeIter *iter);\nfunction gtk_tree_model_sort_iter_is_valid(tree_model_sort, iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_model_sort_iter_is_valid\n  type(c_ptr), value :: tree_model_sort\n  type(c_ptr), value :: iter\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtktreeselection.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_tree_selection_get_type (void) ;\nfunction gtk_tree_selection_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_tree_selection_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_tree_selection_set_mode (GtkTreeSelection *selection, GtkSelectionMode type);\nsubroutine gtk_tree_selection_set_mode(selection, type) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: selection\n  integer(c_int), value :: type\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!GtkSelectionMode gtk_tree_selection_get_mode (GtkTreeSelection *selection);\nfunction gtk_tree_selection_get_mode(selection) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_selection_get_mode\n  type(c_ptr), value :: selection\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_tree_selection_set_select_function (GtkTreeSelection *selection, GtkTreeSelectionFunc func, gpointer data, GDestroyNotify destroy);\nsubroutine gtk_tree_selection_set_select_function(selection, func, data,&\n& destroy) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: selection\n  type(c_funptr), value :: func\n  type(c_ptr), value :: data\n  type(c_funptr), value :: destroy\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!gpointer gtk_tree_selection_get_user_data (GtkTreeSelection *selection);\nfunction gtk_tree_selection_get_user_data(selection) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_selection_get_user_data\n  type(c_ptr), value :: selection\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkTreeView* gtk_tree_selection_get_tree_view (GtkTreeSelection *selection);\nfunction gtk_tree_selection_get_tree_view(selection) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_selection_get_tree_view\n  type(c_ptr), value :: selection\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkTreeSelectionFunc gtk_tree_selection_get_select_function (GtkTreeSelection *selection);\nfunction gtk_tree_selection_get_select_function(selection) bind(c)\n  import :: c_funptr, c_ptr\n  implicit none\n  type(c_funptr) :: gtk_tree_selection_get_select_function\n  type(c_ptr), value :: selection\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_tree_selection_get_selected (GtkTreeSelection *selection, GtkTreeModel **model, GtkTreeIter *iter);\nfunction gtk_tree_selection_get_selected(selection, model, iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_selection_get_selected\n  type(c_ptr), value :: selection\n  type(c_ptr), value :: model\n  type(c_ptr), value :: iter\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GList * gtk_tree_selection_get_selected_rows (GtkTreeSelection *selection, GtkTreeModel **model);\nfunction gtk_tree_selection_get_selected_rows(selection, model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_selection_get_selected_rows\n  type(c_ptr), value :: selection\n  type(c_ptr), value :: model\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!int gtk_tree_selection_count_selected_rows (GtkTreeSelection *selection);\nfunction gtk_tree_selection_count_selected_rows(selection) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_selection_count_selected_rows\n  type(c_ptr), value :: selection\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_tree_selection_selected_foreach (GtkTreeSelection *selection, GtkTreeSelectionForeachFunc func, gpointer data);\nsubroutine gtk_tree_selection_selected_foreach(selection, func, data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: selection\n  type(c_funptr), value :: func\n  type(c_ptr), value :: data\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_tree_selection_select_path (GtkTreeSelection *selection, GtkTreePath *path);\nsubroutine gtk_tree_selection_select_path(selection, path) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: selection\n  type(c_ptr), value :: path\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_tree_selection_unselect_path (GtkTreeSelection *selection, GtkTreePath *path);\nsubroutine gtk_tree_selection_unselect_path(selection, path) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: selection\n  type(c_ptr), value :: path\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_tree_selection_select_iter (GtkTreeSelection *selection, GtkTreeIter *iter);\nsubroutine gtk_tree_selection_select_iter(selection, iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: selection\n  type(c_ptr), value :: iter\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_tree_selection_unselect_iter (GtkTreeSelection *selection, GtkTreeIter *iter);\nsubroutine gtk_tree_selection_unselect_iter(selection, iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: selection\n  type(c_ptr), value :: iter\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_tree_selection_path_is_selected (GtkTreeSelection *selection, GtkTreePath *path);\nfunction gtk_tree_selection_path_is_selected(selection, path) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_selection_path_is_selected\n  type(c_ptr), value :: selection\n  type(c_ptr), value :: path\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_tree_selection_iter_is_selected (GtkTreeSelection *selection, GtkTreeIter *iter);\nfunction gtk_tree_selection_iter_is_selected(selection, iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_selection_iter_is_selected\n  type(c_ptr), value :: selection\n  type(c_ptr), value :: iter\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_tree_selection_select_all (GtkTreeSelection *selection);\nsubroutine gtk_tree_selection_select_all(selection) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: selection\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_tree_selection_unselect_all (GtkTreeSelection *selection);\nsubroutine gtk_tree_selection_unselect_all(selection) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: selection\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_tree_selection_select_range (GtkTreeSelection *selection, GtkTreePath *start_path, GtkTreePath *end_path);\nsubroutine gtk_tree_selection_select_range(selection, start_path, end_path)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: selection\n  type(c_ptr), value :: start_path\n  type(c_ptr), value :: end_path\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_tree_selection_unselect_range (GtkTreeSelection *selection, GtkTreePath *start_path, GtkTreePath *end_path);\nsubroutine gtk_tree_selection_unselect_range(selection, start_path, end_path)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: selection\n  type(c_ptr), value :: start_path\n  type(c_ptr), value :: end_path\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtktreesortable.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_tree_sortable_get_type (void) ;\nfunction gtk_tree_sortable_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_tree_sortable_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_tree_sortable_sort_column_changed (GtkTreeSortable *sortable);\nsubroutine gtk_tree_sortable_sort_column_changed(sortable) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: sortable\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_tree_sortable_get_sort_column_id (GtkTreeSortable *sortable, int *sort_column_id, GtkSortType *order);\nfunction gtk_tree_sortable_get_sort_column_id(sortable, sort_column_id, order)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_sortable_get_sort_column_id\n  type(c_ptr), value :: sortable\n  type(c_ptr), value :: sort_column_id\n  type(c_ptr), value :: order\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_tree_sortable_set_sort_column_id (GtkTreeSortable *sortable, int sort_column_id, GtkSortType order);\nsubroutine gtk_tree_sortable_set_sort_column_id(sortable, sort_column_id,&\n& order) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: sortable\n  integer(c_int), value :: sort_column_id\n  integer(c_int), value :: order\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_tree_sortable_set_sort_func (GtkTreeSortable *sortable, int sort_column_id, GtkTreeIterCompareFunc sort_func, gpointer user_data, GDestroyNotify destroy);\nsubroutine gtk_tree_sortable_set_sort_func(sortable, sort_column_id, sort_func,&\n& user_data, destroy) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: sortable\n  integer(c_int), value :: sort_column_id\n  type(c_funptr), value :: sort_func\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: destroy\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!void gtk_tree_sortable_set_default_sort_func (GtkTreeSortable *sortable, GtkTreeIterCompareFunc sort_func, gpointer user_data, GDestroyNotify destroy);\nsubroutine gtk_tree_sortable_set_default_sort_func(sortable, sort_func,&\n& user_data, destroy) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: sortable\n  type(c_funptr), value :: sort_func\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: destroy\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10\n!gboolean gtk_tree_sortable_has_default_sort_func (GtkTreeSortable *sortable);\nfunction gtk_tree_sortable_has_default_sort_func(sortable) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_sortable_has_default_sort_func\n  type(c_ptr), value :: sortable\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtktreestore.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_tree_store_get_type (void) ;\nfunction gtk_tree_store_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_tree_store_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel)\n!GtkTreeStore *gtk_tree_store_newv (int n_columns, GType *types);\nfunction gtk_tree_store_newv(n_columns, types) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_tree_store_newv\n  integer(c_int), value :: n_columns\n  type(c_ptr), value :: types\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel)\n!void gtk_tree_store_set_column_types (GtkTreeStore *tree_store, int n_columns, GType *types);\nsubroutine gtk_tree_store_set_column_types(tree_store, n_columns, types)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_store\n  integer(c_int), value :: n_columns\n  type(c_ptr), value :: types\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel)\n!void gtk_tree_store_set_value (GtkTreeStore *tree_store, GtkTreeIter *iter, int column, GValue *value);\nsubroutine gtk_tree_store_set_value(tree_store, iter, column, value) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_store\n  type(c_ptr), value :: iter\n  integer(c_int), value :: column\n  type(c_ptr), value :: value\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel)\n!void gtk_tree_store_set_valuesv (GtkTreeStore *tree_store, GtkTreeIter *iter, int *columns, GValue *values, int n_values);\nsubroutine gtk_tree_store_set_valuesv(tree_store, iter, columns, values,&\n& n_values) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_store\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: columns\n  type(c_ptr), value :: values\n  integer(c_int), value :: n_values\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel)\n!void gtk_tree_store_set_valist (GtkTreeStore *tree_store, GtkTreeIter *iter, va_list var_args);\nsubroutine gtk_tree_store_set_valist(tree_store, iter, var_args) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_store\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: var_args\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel)\n!gboolean gtk_tree_store_remove (GtkTreeStore *tree_store, GtkTreeIter *iter);\nfunction gtk_tree_store_remove(tree_store, iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_store_remove\n  type(c_ptr), value :: tree_store\n  type(c_ptr), value :: iter\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel)\n!void gtk_tree_store_insert (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *parent, int position);\nsubroutine gtk_tree_store_insert(tree_store, iter, parent, position) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_store\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: parent\n  integer(c_int), value :: position\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel)\n!void gtk_tree_store_insert_before (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *parent, GtkTreeIter *sibling);\nsubroutine gtk_tree_store_insert_before(tree_store, iter, parent, sibling)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_store\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: parent\n  type(c_ptr), value :: sibling\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel)\n!void gtk_tree_store_insert_after (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *parent, GtkTreeIter *sibling);\nsubroutine gtk_tree_store_insert_after(tree_store, iter, parent, sibling)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_store\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: parent\n  type(c_ptr), value :: sibling\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel)\n!void gtk_tree_store_insert_with_valuesv (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *parent, int position, int *columns, GValue *values, int n_values);\nsubroutine gtk_tree_store_insert_with_valuesv(tree_store, iter, parent,&\n& position, columns, values, n_values) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_store\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: parent\n  integer(c_int), value :: position\n  type(c_ptr), value :: columns\n  type(c_ptr), value :: values\n  integer(c_int), value :: n_values\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel)\n!void gtk_tree_store_prepend (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *parent);\nsubroutine gtk_tree_store_prepend(tree_store, iter, parent) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_store\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: parent\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel)\n!void gtk_tree_store_append (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *parent);\nsubroutine gtk_tree_store_append(tree_store, iter, parent) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_store\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: parent\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel)\n!gboolean gtk_tree_store_is_ancestor (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *descendant);\nfunction gtk_tree_store_is_ancestor(tree_store, iter, descendant) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_store_is_ancestor\n  type(c_ptr), value :: tree_store\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: descendant\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel)\n!int gtk_tree_store_iter_depth (GtkTreeStore *tree_store, GtkTreeIter *iter);\nfunction gtk_tree_store_iter_depth(tree_store, iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_store_iter_depth\n  type(c_ptr), value :: tree_store\n  type(c_ptr), value :: iter\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel)\n!void gtk_tree_store_clear (GtkTreeStore *tree_store);\nsubroutine gtk_tree_store_clear(tree_store) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_store\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel)\n!gboolean gtk_tree_store_iter_is_valid (GtkTreeStore *tree_store, GtkTreeIter *iter);\nfunction gtk_tree_store_iter_is_valid(tree_store, iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_store_iter_is_valid\n  type(c_ptr), value :: tree_store\n  type(c_ptr), value :: iter\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel)\n!void gtk_tree_store_reorder (GtkTreeStore *tree_store, GtkTreeIter *parent, int *new_order);\nsubroutine gtk_tree_store_reorder(tree_store, parent, new_order) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_store\n  type(c_ptr), value :: parent\n  type(c_ptr), value :: new_order\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel)\n!void gtk_tree_store_swap (GtkTreeStore *tree_store, GtkTreeIter *a, GtkTreeIter *b);\nsubroutine gtk_tree_store_swap(tree_store, a, b) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_store\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel)\n!void gtk_tree_store_move_before (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *position);\nsubroutine gtk_tree_store_move_before(tree_store, iter, position) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_store\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: position\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel)\n!void gtk_tree_store_move_after (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *position);\nsubroutine gtk_tree_store_move_after(tree_store, iter, position) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_store\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: position\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_tree_view_get_type (void) ;\nfunction gtk_tree_view_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_tree_view_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!GtkWidget *gtk_tree_view_new (void);\nfunction gtk_tree_view_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_view_new\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!GtkWidget *gtk_tree_view_new_with_model (GtkTreeModel *model);\nfunction gtk_tree_view_new_with_model(model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_view_new_with_model\n  type(c_ptr), value :: model\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!GtkTreeModel *gtk_tree_view_get_model (GtkTreeView *tree_view);\nfunction gtk_tree_view_get_model(tree_view) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_view_get_model\n  type(c_ptr), value :: tree_view\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_set_model (GtkTreeView *tree_view, GtkTreeModel *model);\nsubroutine gtk_tree_view_set_model(tree_view, model) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_view\n  type(c_ptr), value :: model\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!GtkTreeSelection *gtk_tree_view_get_selection (GtkTreeView *tree_view);\nfunction gtk_tree_view_get_selection(tree_view) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_view_get_selection\n  type(c_ptr), value :: tree_view\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!gboolean gtk_tree_view_get_headers_visible (GtkTreeView *tree_view);\nfunction gtk_tree_view_get_headers_visible(tree_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_get_headers_visible\n  type(c_ptr), value :: tree_view\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_set_headers_visible (GtkTreeView *tree_view, gboolean headers_visible);\nsubroutine gtk_tree_view_set_headers_visible(tree_view, headers_visible)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_view\n  integer(c_int), value :: headers_visible\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_columns_autosize (GtkTreeView *tree_view);\nsubroutine gtk_tree_view_columns_autosize(tree_view) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_view\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!gboolean gtk_tree_view_get_headers_clickable (GtkTreeView *tree_view);\nfunction gtk_tree_view_get_headers_clickable(tree_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_get_headers_clickable\n  type(c_ptr), value :: tree_view\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_set_headers_clickable (GtkTreeView *tree_view, gboolean setting);\nsubroutine gtk_tree_view_set_headers_clickable(tree_view, setting) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_view\n  integer(c_int), value :: setting\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!gboolean gtk_tree_view_get_activate_on_single_click (GtkTreeView *tree_view);\nfunction gtk_tree_view_get_activate_on_single_click(tree_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_get_activate_on_single_click\n  type(c_ptr), value :: tree_view\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_set_activate_on_single_click (GtkTreeView *tree_view, gboolean single);\nsubroutine gtk_tree_view_set_activate_on_single_click(tree_view, single)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_view\n  integer(c_int), value :: single\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!int gtk_tree_view_append_column (GtkTreeView *tree_view, GtkTreeViewColumn *column);\nfunction gtk_tree_view_append_column(tree_view, column) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_append_column\n  type(c_ptr), value :: tree_view\n  type(c_ptr), value :: column\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!int gtk_tree_view_remove_column (GtkTreeView *tree_view, GtkTreeViewColumn *column);\nfunction gtk_tree_view_remove_column(tree_view, column) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_remove_column\n  type(c_ptr), value :: tree_view\n  type(c_ptr), value :: column\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!int gtk_tree_view_insert_column (GtkTreeView *tree_view, GtkTreeViewColumn *column, int position);\nfunction gtk_tree_view_insert_column(tree_view, column, position) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_insert_column\n  type(c_ptr), value :: tree_view\n  type(c_ptr), value :: column\n  integer(c_int), value :: position\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!int gtk_tree_view_insert_column_with_data_func (GtkTreeView *tree_view, int position, const char *title, GtkCellRenderer *cell, GtkTreeCellDataFunc func, gpointer data, GDestroyNotify dnotify);\nfunction gtk_tree_view_insert_column_with_data_func(tree_view, position, title,&\n& cell, func, data, dnotify) bind(c)\n  import :: c_int, c_ptr, c_char, c_funptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_insert_column_with_data_func\n  type(c_ptr), value :: tree_view\n  integer(c_int), value :: position\n  character(kind=c_char), dimension(*) :: title\n  type(c_ptr), value :: cell\n  type(c_funptr), value :: func\n  type(c_ptr), value :: data\n  type(c_funptr), value :: dnotify\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!guint gtk_tree_view_get_n_columns (GtkTreeView *tree_view);\nfunction gtk_tree_view_get_n_columns(tree_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_get_n_columns\n  type(c_ptr), value :: tree_view\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!GtkTreeViewColumn *gtk_tree_view_get_column (GtkTreeView *tree_view, int n);\nfunction gtk_tree_view_get_column(tree_view, n) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_tree_view_get_column\n  type(c_ptr), value :: tree_view\n  integer(c_int), value :: n\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!GList *gtk_tree_view_get_columns (GtkTreeView *tree_view);\nfunction gtk_tree_view_get_columns(tree_view) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_view_get_columns\n  type(c_ptr), value :: tree_view\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_move_column_after (GtkTreeView *tree_view, GtkTreeViewColumn *column, GtkTreeViewColumn *base_column);\nsubroutine gtk_tree_view_move_column_after(tree_view, column, base_column)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_view\n  type(c_ptr), value :: column\n  type(c_ptr), value :: base_column\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_set_expander_column (GtkTreeView *tree_view, GtkTreeViewColumn *column);\nsubroutine gtk_tree_view_set_expander_column(tree_view, column) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_view\n  type(c_ptr), value :: column\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!GtkTreeViewColumn *gtk_tree_view_get_expander_column (GtkTreeView *tree_view);\nfunction gtk_tree_view_get_expander_column(tree_view) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_view_get_expander_column\n  type(c_ptr), value :: tree_view\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_set_column_drag_function (GtkTreeView *tree_view, GtkTreeViewColumnDropFunc func, gpointer user_data, GDestroyNotify destroy);\nsubroutine gtk_tree_view_set_column_drag_function(tree_view, func, user_data,&\n& destroy) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: tree_view\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: destroy\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_scroll_to_point (GtkTreeView *tree_view, int tree_x, int tree_y);\nsubroutine gtk_tree_view_scroll_to_point(tree_view, tree_x, tree_y) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_view\n  integer(c_int), value :: tree_x\n  integer(c_int), value :: tree_y\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_scroll_to_cell (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column, gboolean use_align, float row_align, float col_align);\nsubroutine gtk_tree_view_scroll_to_cell(tree_view, path, column, use_align,&\n& row_align, col_align) bind(c)\n  import :: c_ptr, c_int, c_float\n  implicit none\n  type(c_ptr), value :: tree_view\n  type(c_ptr), value :: path\n  type(c_ptr), value :: column\n  integer(c_int), value :: use_align\n  real(c_float), value :: row_align\n  real(c_float), value :: col_align\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_row_activated (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column);\nsubroutine gtk_tree_view_row_activated(tree_view, path, column) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_view\n  type(c_ptr), value :: path\n  type(c_ptr), value :: column\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_expand_all (GtkTreeView *tree_view);\nsubroutine gtk_tree_view_expand_all(tree_view) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_view\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_collapse_all (GtkTreeView *tree_view);\nsubroutine gtk_tree_view_collapse_all(tree_view) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_view\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_expand_to_path (GtkTreeView *tree_view, GtkTreePath *path);\nsubroutine gtk_tree_view_expand_to_path(tree_view, path) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_view\n  type(c_ptr), value :: path\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!gboolean gtk_tree_view_expand_row (GtkTreeView *tree_view, GtkTreePath *path, gboolean open_all);\nfunction gtk_tree_view_expand_row(tree_view, path, open_all) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_expand_row\n  type(c_ptr), value :: tree_view\n  type(c_ptr), value :: path\n  integer(c_int), value :: open_all\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!gboolean gtk_tree_view_collapse_row (GtkTreeView *tree_view, GtkTreePath *path);\nfunction gtk_tree_view_collapse_row(tree_view, path) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_collapse_row\n  type(c_ptr), value :: tree_view\n  type(c_ptr), value :: path\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_map_expanded_rows (GtkTreeView *tree_view, GtkTreeViewMappingFunc func, gpointer data);\nsubroutine gtk_tree_view_map_expanded_rows(tree_view, func, data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: tree_view\n  type(c_funptr), value :: func\n  type(c_ptr), value :: data\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!gboolean gtk_tree_view_row_expanded (GtkTreeView *tree_view, GtkTreePath *path);\nfunction gtk_tree_view_row_expanded(tree_view, path) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_row_expanded\n  type(c_ptr), value :: tree_view\n  type(c_ptr), value :: path\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_set_reorderable (GtkTreeView *tree_view, gboolean reorderable);\nsubroutine gtk_tree_view_set_reorderable(tree_view, reorderable) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_view\n  integer(c_int), value :: reorderable\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!gboolean gtk_tree_view_get_reorderable (GtkTreeView *tree_view);\nfunction gtk_tree_view_get_reorderable(tree_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_get_reorderable\n  type(c_ptr), value :: tree_view\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_set_cursor (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *focus_column, gboolean start_editing);\nsubroutine gtk_tree_view_set_cursor(tree_view, path, focus_column,&\n& start_editing) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_view\n  type(c_ptr), value :: path\n  type(c_ptr), value :: focus_column\n  integer(c_int), value :: start_editing\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_set_cursor_on_cell (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *focus_column, GtkCellRenderer *focus_cell, gboolean start_editing);\nsubroutine gtk_tree_view_set_cursor_on_cell(tree_view, path, focus_column,&\n& focus_cell, start_editing) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_view\n  type(c_ptr), value :: path\n  type(c_ptr), value :: focus_column\n  type(c_ptr), value :: focus_cell\n  integer(c_int), value :: start_editing\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_get_cursor (GtkTreeView *tree_view, GtkTreePath **path, GtkTreeViewColumn **focus_column);\nsubroutine gtk_tree_view_get_cursor(tree_view, path, focus_column) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_view\n  type(c_ptr), value :: path\n  type(c_ptr), value :: focus_column\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!gboolean gtk_tree_view_get_path_at_pos (GtkTreeView *tree_view, int x, int y, GtkTreePath **path, GtkTreeViewColumn **column, int *cell_x, int *cell_y);\nfunction gtk_tree_view_get_path_at_pos(tree_view, x, y, path, column, cell_x,&\n& cell_y) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_get_path_at_pos\n  type(c_ptr), value :: tree_view\n  integer(c_int), value :: x\n  integer(c_int), value :: y\n  type(c_ptr), value :: path\n  type(c_ptr), value :: column\n  type(c_ptr), value :: cell_x\n  type(c_ptr), value :: cell_y\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_get_cell_area (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column, GdkRectangle *rect);\nsubroutine gtk_tree_view_get_cell_area(tree_view, path, column, rect) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_view\n  type(c_ptr), value :: path\n  type(c_ptr), value :: column\n  type(c_ptr), value :: rect\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_get_background_area (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column, GdkRectangle *rect);\nsubroutine gtk_tree_view_get_background_area(tree_view, path, column, rect)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_view\n  type(c_ptr), value :: path\n  type(c_ptr), value :: column\n  type(c_ptr), value :: rect\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_get_visible_rect (GtkTreeView *tree_view, GdkRectangle *visible_rect);\nsubroutine gtk_tree_view_get_visible_rect(tree_view, visible_rect) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_view\n  type(c_ptr), value :: visible_rect\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!gboolean gtk_tree_view_get_visible_range (GtkTreeView *tree_view, GtkTreePath **start_path, GtkTreePath **end_path);\nfunction gtk_tree_view_get_visible_range(tree_view, start_path, end_path)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_get_visible_range\n  type(c_ptr), value :: tree_view\n  type(c_ptr), value :: start_path\n  type(c_ptr), value :: end_path\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!gboolean gtk_tree_view_is_blank_at_pos (GtkTreeView *tree_view, int x, int y, GtkTreePath **path, GtkTreeViewColumn **column, int *cell_x, int *cell_y);\nfunction gtk_tree_view_is_blank_at_pos(tree_view, x, y, path, column, cell_x,&\n& cell_y) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_is_blank_at_pos\n  type(c_ptr), value :: tree_view\n  integer(c_int), value :: x\n  integer(c_int), value :: y\n  type(c_ptr), value :: path\n  type(c_ptr), value :: column\n  type(c_ptr), value :: cell_x\n  type(c_ptr), value :: cell_y\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_enable_model_drag_source (GtkTreeView *tree_view, GdkModifierType start_button_mask, GdkContentFormats *formats, GdkDragAction actions);\nsubroutine gtk_tree_view_enable_model_drag_source(tree_view, start_button_mask,&\n& formats, actions) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_view\n  integer(c_int), value :: start_button_mask\n  type(c_ptr), value :: formats\n  integer(c_int), value :: actions\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_enable_model_drag_dest (GtkTreeView *tree_view, GdkContentFormats *formats, GdkDragAction actions);\nsubroutine gtk_tree_view_enable_model_drag_dest(tree_view, formats, actions)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_view\n  type(c_ptr), value :: formats\n  integer(c_int), value :: actions\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_unset_rows_drag_source (GtkTreeView *tree_view);\nsubroutine gtk_tree_view_unset_rows_drag_source(tree_view) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_view\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_unset_rows_drag_dest (GtkTreeView *tree_view);\nsubroutine gtk_tree_view_unset_rows_drag_dest(tree_view) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_view\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_set_drag_dest_row (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewDropPosition pos);\nsubroutine gtk_tree_view_set_drag_dest_row(tree_view, path, pos) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_view\n  type(c_ptr), value :: path\n  integer(c_int), value :: pos\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_get_drag_dest_row (GtkTreeView *tree_view, GtkTreePath **path, GtkTreeViewDropPosition *pos);\nsubroutine gtk_tree_view_get_drag_dest_row(tree_view, path, pos) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_view\n  type(c_ptr), value :: path\n  type(c_ptr), value :: pos\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!gboolean gtk_tree_view_get_dest_row_at_pos (GtkTreeView *tree_view, int drag_x, int drag_y, GtkTreePath **path, GtkTreeViewDropPosition *pos);\nfunction gtk_tree_view_get_dest_row_at_pos(tree_view, drag_x, drag_y, path,&\n& pos) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_get_dest_row_at_pos\n  type(c_ptr), value :: tree_view\n  integer(c_int), value :: drag_x\n  integer(c_int), value :: drag_y\n  type(c_ptr), value :: path\n  type(c_ptr), value :: pos\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!GdkPaintable *gtk_tree_view_create_row_drag_icon (GtkTreeView *tree_view, GtkTreePath *path);\nfunction gtk_tree_view_create_row_drag_icon(tree_view, path) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_view_create_row_drag_icon\n  type(c_ptr), value :: tree_view\n  type(c_ptr), value :: path\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_set_enable_search (GtkTreeView *tree_view, gboolean enable_search);\nsubroutine gtk_tree_view_set_enable_search(tree_view, enable_search) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_view\n  integer(c_int), value :: enable_search\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!gboolean gtk_tree_view_get_enable_search (GtkTreeView *tree_view);\nfunction gtk_tree_view_get_enable_search(tree_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_get_enable_search\n  type(c_ptr), value :: tree_view\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!int gtk_tree_view_get_search_column (GtkTreeView *tree_view);\nfunction gtk_tree_view_get_search_column(tree_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_get_search_column\n  type(c_ptr), value :: tree_view\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_set_search_column (GtkTreeView *tree_view, int column);\nsubroutine gtk_tree_view_set_search_column(tree_view, column) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_view\n  integer(c_int), value :: column\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!GtkTreeViewSearchEqualFunc gtk_tree_view_get_search_equal_func (GtkTreeView *tree_view);\nfunction gtk_tree_view_get_search_equal_func(tree_view) bind(c)\n  import :: c_funptr, c_ptr\n  implicit none\n  type(c_funptr) :: gtk_tree_view_get_search_equal_func\n  type(c_ptr), value :: tree_view\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_set_search_equal_func (GtkTreeView *tree_view, GtkTreeViewSearchEqualFunc search_equal_func, gpointer search_user_data, GDestroyNotify search_destroy);\nsubroutine gtk_tree_view_set_search_equal_func(tree_view, search_equal_func,&\n& search_user_data, search_destroy) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: tree_view\n  type(c_funptr), value :: search_equal_func\n  type(c_ptr), value :: search_user_data\n  type(c_funptr), value :: search_destroy\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!GtkEditable *gtk_tree_view_get_search_entry (GtkTreeView *tree_view);\nfunction gtk_tree_view_get_search_entry(tree_view) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_view_get_search_entry\n  type(c_ptr), value :: tree_view\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_set_search_entry (GtkTreeView *tree_view, GtkEditable *entry);\nsubroutine gtk_tree_view_set_search_entry(tree_view, entry) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_view\n  type(c_ptr), value :: entry\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_convert_widget_to_tree_coords (GtkTreeView *tree_view, int wx, int wy, int *tx, int *ty);\nsubroutine gtk_tree_view_convert_widget_to_tree_coords(tree_view, wx, wy, tx,&\n& ty) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_view\n  integer(c_int), value :: wx\n  integer(c_int), value :: wy\n  type(c_ptr), value :: tx\n  type(c_ptr), value :: ty\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_convert_tree_to_widget_coords (GtkTreeView *tree_view, int tx, int ty, int *wx, int *wy);\nsubroutine gtk_tree_view_convert_tree_to_widget_coords(tree_view, tx, ty, wx,&\n& wy) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_view\n  integer(c_int), value :: tx\n  integer(c_int), value :: ty\n  type(c_ptr), value :: wx\n  type(c_ptr), value :: wy\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_convert_widget_to_bin_window_coords (GtkTreeView *tree_view, int wx, int wy, int *bx, int *by);\nsubroutine gtk_tree_view_convert_widget_to_bin_window_coords(tree_view, wx, wy,&\n& bx, by) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_view\n  integer(c_int), value :: wx\n  integer(c_int), value :: wy\n  type(c_ptr), value :: bx\n  type(c_ptr), value :: by\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_convert_bin_window_to_widget_coords (GtkTreeView *tree_view, int bx, int by, int *wx, int *wy);\nsubroutine gtk_tree_view_convert_bin_window_to_widget_coords(tree_view, bx, by,&\n& wx, wy) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_view\n  integer(c_int), value :: bx\n  integer(c_int), value :: by\n  type(c_ptr), value :: wx\n  type(c_ptr), value :: wy\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_convert_tree_to_bin_window_coords (GtkTreeView *tree_view, int tx, int ty, int *bx, int *by);\nsubroutine gtk_tree_view_convert_tree_to_bin_window_coords(tree_view, tx, ty,&\n& bx, by) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_view\n  integer(c_int), value :: tx\n  integer(c_int), value :: ty\n  type(c_ptr), value :: bx\n  type(c_ptr), value :: by\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_convert_bin_window_to_tree_coords (GtkTreeView *tree_view, int bx, int by, int *tx, int *ty);\nsubroutine gtk_tree_view_convert_bin_window_to_tree_coords(tree_view, bx, by,&\n& tx, ty) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_view\n  integer(c_int), value :: bx\n  integer(c_int), value :: by\n  type(c_ptr), value :: tx\n  type(c_ptr), value :: ty\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_set_fixed_height_mode (GtkTreeView *tree_view, gboolean enable);\nsubroutine gtk_tree_view_set_fixed_height_mode(tree_view, enable) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_view\n  integer(c_int), value :: enable\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!gboolean gtk_tree_view_get_fixed_height_mode (GtkTreeView *tree_view);\nfunction gtk_tree_view_get_fixed_height_mode(tree_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_get_fixed_height_mode\n  type(c_ptr), value :: tree_view\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_set_hover_selection (GtkTreeView *tree_view, gboolean hover);\nsubroutine gtk_tree_view_set_hover_selection(tree_view, hover) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_view\n  integer(c_int), value :: hover\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!gboolean gtk_tree_view_get_hover_selection (GtkTreeView *tree_view);\nfunction gtk_tree_view_get_hover_selection(tree_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_get_hover_selection\n  type(c_ptr), value :: tree_view\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_set_hover_expand (GtkTreeView *tree_view, gboolean expand);\nsubroutine gtk_tree_view_set_hover_expand(tree_view, expand) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_view\n  integer(c_int), value :: expand\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!gboolean gtk_tree_view_get_hover_expand (GtkTreeView *tree_view);\nfunction gtk_tree_view_get_hover_expand(tree_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_get_hover_expand\n  type(c_ptr), value :: tree_view\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_set_rubber_banding (GtkTreeView *tree_view, gboolean enable);\nsubroutine gtk_tree_view_set_rubber_banding(tree_view, enable) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_view\n  integer(c_int), value :: enable\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!gboolean gtk_tree_view_get_rubber_banding (GtkTreeView *tree_view);\nfunction gtk_tree_view_get_rubber_banding(tree_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_get_rubber_banding\n  type(c_ptr), value :: tree_view\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!gboolean gtk_tree_view_is_rubber_banding_active (GtkTreeView *tree_view);\nfunction gtk_tree_view_is_rubber_banding_active(tree_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_is_rubber_banding_active\n  type(c_ptr), value :: tree_view\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!GtkTreeViewRowSeparatorFunc gtk_tree_view_get_row_separator_func (GtkTreeView *tree_view);\nfunction gtk_tree_view_get_row_separator_func(tree_view) bind(c)\n  import :: c_funptr, c_ptr\n  implicit none\n  type(c_funptr) :: gtk_tree_view_get_row_separator_func\n  type(c_ptr), value :: tree_view\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_set_row_separator_func (GtkTreeView *tree_view, GtkTreeViewRowSeparatorFunc func, gpointer data, GDestroyNotify destroy);\nsubroutine gtk_tree_view_set_row_separator_func(tree_view, func, data, destroy)&\n& bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: tree_view\n  type(c_funptr), value :: func\n  type(c_ptr), value :: data\n  type(c_funptr), value :: destroy\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!GtkTreeViewGridLines gtk_tree_view_get_grid_lines (GtkTreeView *tree_view);\nfunction gtk_tree_view_get_grid_lines(tree_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_get_grid_lines\n  type(c_ptr), value :: tree_view\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_set_grid_lines (GtkTreeView *tree_view, GtkTreeViewGridLines grid_lines);\nsubroutine gtk_tree_view_set_grid_lines(tree_view, grid_lines) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_view\n  integer(c_int), value :: grid_lines\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!gboolean gtk_tree_view_get_enable_tree_lines (GtkTreeView *tree_view);\nfunction gtk_tree_view_get_enable_tree_lines(tree_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_get_enable_tree_lines\n  type(c_ptr), value :: tree_view\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_set_enable_tree_lines (GtkTreeView *tree_view, gboolean enabled);\nsubroutine gtk_tree_view_set_enable_tree_lines(tree_view, enabled) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_view\n  integer(c_int), value :: enabled\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_set_show_expanders (GtkTreeView *tree_view, gboolean enabled);\nsubroutine gtk_tree_view_set_show_expanders(tree_view, enabled) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_view\n  integer(c_int), value :: enabled\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!gboolean gtk_tree_view_get_show_expanders (GtkTreeView *tree_view);\nfunction gtk_tree_view_get_show_expanders(tree_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_get_show_expanders\n  type(c_ptr), value :: tree_view\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_set_level_indentation (GtkTreeView *tree_view, int indentation);\nsubroutine gtk_tree_view_set_level_indentation(tree_view, indentation) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_view\n  integer(c_int), value :: indentation\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!int gtk_tree_view_get_level_indentation (GtkTreeView *tree_view);\nfunction gtk_tree_view_get_level_indentation(tree_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_get_level_indentation\n  type(c_ptr), value :: tree_view\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_set_tooltip_row (GtkTreeView *tree_view, GtkTooltip *tooltip, GtkTreePath *path);\nsubroutine gtk_tree_view_set_tooltip_row(tree_view, tooltip, path) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_view\n  type(c_ptr), value :: tooltip\n  type(c_ptr), value :: path\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_set_tooltip_cell (GtkTreeView *tree_view, GtkTooltip *tooltip, GtkTreePath *path, GtkTreeViewColumn *column, GtkCellRenderer *cell);\nsubroutine gtk_tree_view_set_tooltip_cell(tree_view, tooltip, path, column,&\n& cell) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_view\n  type(c_ptr), value :: tooltip\n  type(c_ptr), value :: path\n  type(c_ptr), value :: column\n  type(c_ptr), value :: cell\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!gboolean gtk_tree_view_get_tooltip_context(GtkTreeView *tree_view, int x, int y, gboolean keyboard_tip, GtkTreeModel **model, GtkTreePath **path, GtkTreeIter *iter);\nfunction gtk_tree_view_get_tooltip_context(tree_view, x, y, keyboard_tip,&\n& model, path, iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_get_tooltip_context\n  type(c_ptr), value :: tree_view\n  integer(c_int), value :: x\n  integer(c_int), value :: y\n  integer(c_int), value :: keyboard_tip\n  type(c_ptr), value :: model\n  type(c_ptr), value :: path\n  type(c_ptr), value :: iter\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!void gtk_tree_view_set_tooltip_column (GtkTreeView *tree_view, int column);\nsubroutine gtk_tree_view_set_tooltip_column(tree_view, column) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_view\n  integer(c_int), value :: column\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkListView)\n!int gtk_tree_view_get_tooltip_column (GtkTreeView *tree_view);\nfunction gtk_tree_view_get_tooltip_column(tree_view) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_get_tooltip_column\n  type(c_ptr), value :: tree_view\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_tree_view_column_get_type (void) ;\nfunction gtk_tree_view_column_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_tree_view_column_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!GtkTreeViewColumn *gtk_tree_view_column_new (void);\nfunction gtk_tree_view_column_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_view_column_new\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!GtkTreeViewColumn *gtk_tree_view_column_new_with_area (GtkCellArea *area);\nfunction gtk_tree_view_column_new_with_area(area) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_view_column_new_with_area\n  type(c_ptr), value :: area\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!void gtk_tree_view_column_pack_start (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell, gboolean expand);\nsubroutine gtk_tree_view_column_pack_start(tree_column, cell, expand) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_column\n  type(c_ptr), value :: cell\n  integer(c_int), value :: expand\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!void gtk_tree_view_column_pack_end (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell, gboolean expand);\nsubroutine gtk_tree_view_column_pack_end(tree_column, cell, expand) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_column\n  type(c_ptr), value :: cell\n  integer(c_int), value :: expand\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!void gtk_tree_view_column_clear (GtkTreeViewColumn *tree_column);\nsubroutine gtk_tree_view_column_clear(tree_column) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_column\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!void gtk_tree_view_column_add_attribute (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell_renderer, const char *attribute, int column);\nsubroutine gtk_tree_view_column_add_attribute(tree_column, cell_renderer,&\n& attribute, column) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: tree_column\n  type(c_ptr), value :: cell_renderer\n  character(kind=c_char), dimension(*) :: attribute\n  integer(c_int), value :: column\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!void gtk_tree_view_column_set_cell_data_func (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell_renderer, GtkTreeCellDataFunc func, gpointer func_data, GDestroyNotify destroy);\nsubroutine gtk_tree_view_column_set_cell_data_func(tree_column, cell_renderer,&\n& func, func_data, destroy) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: tree_column\n  type(c_ptr), value :: cell_renderer\n  type(c_funptr), value :: func\n  type(c_ptr), value :: func_data\n  type(c_funptr), value :: destroy\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!void gtk_tree_view_column_clear_attributes (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell_renderer);\nsubroutine gtk_tree_view_column_clear_attributes(tree_column, cell_renderer)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_column\n  type(c_ptr), value :: cell_renderer\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!void gtk_tree_view_column_set_spacing (GtkTreeViewColumn *tree_column, int spacing);\nsubroutine gtk_tree_view_column_set_spacing(tree_column, spacing) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_column\n  integer(c_int), value :: spacing\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!int gtk_tree_view_column_get_spacing (GtkTreeViewColumn *tree_column);\nfunction gtk_tree_view_column_get_spacing(tree_column) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_column_get_spacing\n  type(c_ptr), value :: tree_column\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!void gtk_tree_view_column_set_visible (GtkTreeViewColumn *tree_column, gboolean visible);\nsubroutine gtk_tree_view_column_set_visible(tree_column, visible) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_column\n  integer(c_int), value :: visible\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!gboolean gtk_tree_view_column_get_visible (GtkTreeViewColumn *tree_column);\nfunction gtk_tree_view_column_get_visible(tree_column) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_column_get_visible\n  type(c_ptr), value :: tree_column\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!void gtk_tree_view_column_set_resizable (GtkTreeViewColumn *tree_column, gboolean resizable);\nsubroutine gtk_tree_view_column_set_resizable(tree_column, resizable) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_column\n  integer(c_int), value :: resizable\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!gboolean gtk_tree_view_column_get_resizable (GtkTreeViewColumn *tree_column);\nfunction gtk_tree_view_column_get_resizable(tree_column) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_column_get_resizable\n  type(c_ptr), value :: tree_column\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!void gtk_tree_view_column_set_sizing (GtkTreeViewColumn *tree_column, GtkTreeViewColumnSizing type);\nsubroutine gtk_tree_view_column_set_sizing(tree_column, type) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_column\n  integer(c_int), value :: type\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!GtkTreeViewColumnSizing gtk_tree_view_column_get_sizing (GtkTreeViewColumn *tree_column);\nfunction gtk_tree_view_column_get_sizing(tree_column) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_column_get_sizing\n  type(c_ptr), value :: tree_column\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!int gtk_tree_view_column_get_x_offset (GtkTreeViewColumn *tree_column);\nfunction gtk_tree_view_column_get_x_offset(tree_column) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_column_get_x_offset\n  type(c_ptr), value :: tree_column\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!int gtk_tree_view_column_get_width (GtkTreeViewColumn *tree_column);\nfunction gtk_tree_view_column_get_width(tree_column) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_column_get_width\n  type(c_ptr), value :: tree_column\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!int gtk_tree_view_column_get_fixed_width (GtkTreeViewColumn *tree_column);\nfunction gtk_tree_view_column_get_fixed_width(tree_column) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_column_get_fixed_width\n  type(c_ptr), value :: tree_column\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!void gtk_tree_view_column_set_fixed_width (GtkTreeViewColumn *tree_column, int fixed_width);\nsubroutine gtk_tree_view_column_set_fixed_width(tree_column, fixed_width)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_column\n  integer(c_int), value :: fixed_width\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!void gtk_tree_view_column_set_min_width (GtkTreeViewColumn *tree_column, int min_width);\nsubroutine gtk_tree_view_column_set_min_width(tree_column, min_width) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_column\n  integer(c_int), value :: min_width\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!int gtk_tree_view_column_get_min_width (GtkTreeViewColumn *tree_column);\nfunction gtk_tree_view_column_get_min_width(tree_column) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_column_get_min_width\n  type(c_ptr), value :: tree_column\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!void gtk_tree_view_column_set_max_width (GtkTreeViewColumn *tree_column, int max_width);\nsubroutine gtk_tree_view_column_set_max_width(tree_column, max_width) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_column\n  integer(c_int), value :: max_width\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!int gtk_tree_view_column_get_max_width (GtkTreeViewColumn *tree_column);\nfunction gtk_tree_view_column_get_max_width(tree_column) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_column_get_max_width\n  type(c_ptr), value :: tree_column\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!void gtk_tree_view_column_clicked (GtkTreeViewColumn *tree_column);\nsubroutine gtk_tree_view_column_clicked(tree_column) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_column\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!void gtk_tree_view_column_set_title (GtkTreeViewColumn *tree_column, const char *title);\nsubroutine gtk_tree_view_column_set_title(tree_column, title) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: tree_column\n  character(kind=c_char), dimension(*) :: title\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!const char * gtk_tree_view_column_get_title (GtkTreeViewColumn *tree_column);\nfunction gtk_tree_view_column_get_title(tree_column) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_view_column_get_title\n  type(c_ptr), value :: tree_column\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!void gtk_tree_view_column_set_expand (GtkTreeViewColumn *tree_column, gboolean expand);\nsubroutine gtk_tree_view_column_set_expand(tree_column, expand) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_column\n  integer(c_int), value :: expand\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!gboolean gtk_tree_view_column_get_expand (GtkTreeViewColumn *tree_column);\nfunction gtk_tree_view_column_get_expand(tree_column) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_column_get_expand\n  type(c_ptr), value :: tree_column\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!void gtk_tree_view_column_set_clickable (GtkTreeViewColumn *tree_column, gboolean clickable);\nsubroutine gtk_tree_view_column_set_clickable(tree_column, clickable) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_column\n  integer(c_int), value :: clickable\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!gboolean gtk_tree_view_column_get_clickable (GtkTreeViewColumn *tree_column);\nfunction gtk_tree_view_column_get_clickable(tree_column) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_column_get_clickable\n  type(c_ptr), value :: tree_column\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!void gtk_tree_view_column_set_widget (GtkTreeViewColumn *tree_column, GtkWidget *widget);\nsubroutine gtk_tree_view_column_set_widget(tree_column, widget) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_column\n  type(c_ptr), value :: widget\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!GtkWidget *gtk_tree_view_column_get_widget (GtkTreeViewColumn *tree_column);\nfunction gtk_tree_view_column_get_widget(tree_column) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_view_column_get_widget\n  type(c_ptr), value :: tree_column\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!void gtk_tree_view_column_set_alignment (GtkTreeViewColumn *tree_column, float xalign);\nsubroutine gtk_tree_view_column_set_alignment(tree_column, xalign) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: tree_column\n  real(c_float), value :: xalign\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!float gtk_tree_view_column_get_alignment (GtkTreeViewColumn *tree_column);\nfunction gtk_tree_view_column_get_alignment(tree_column) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: gtk_tree_view_column_get_alignment\n  type(c_ptr), value :: tree_column\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!void gtk_tree_view_column_set_reorderable (GtkTreeViewColumn *tree_column, gboolean reorderable);\nsubroutine gtk_tree_view_column_set_reorderable(tree_column, reorderable)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_column\n  integer(c_int), value :: reorderable\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!gboolean gtk_tree_view_column_get_reorderable (GtkTreeViewColumn *tree_column);\nfunction gtk_tree_view_column_get_reorderable(tree_column) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_column_get_reorderable\n  type(c_ptr), value :: tree_column\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!void gtk_tree_view_column_set_sort_column_id (GtkTreeViewColumn *tree_column, int sort_column_id);\nsubroutine gtk_tree_view_column_set_sort_column_id(tree_column, sort_column_id)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_column\n  integer(c_int), value :: sort_column_id\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!int gtk_tree_view_column_get_sort_column_id (GtkTreeViewColumn *tree_column);\nfunction gtk_tree_view_column_get_sort_column_id(tree_column) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_column_get_sort_column_id\n  type(c_ptr), value :: tree_column\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!void gtk_tree_view_column_set_sort_indicator (GtkTreeViewColumn *tree_column, gboolean setting);\nsubroutine gtk_tree_view_column_set_sort_indicator(tree_column, setting)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_column\n  integer(c_int), value :: setting\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!gboolean gtk_tree_view_column_get_sort_indicator (GtkTreeViewColumn *tree_column);\nfunction gtk_tree_view_column_get_sort_indicator(tree_column) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_column_get_sort_indicator\n  type(c_ptr), value :: tree_column\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!void gtk_tree_view_column_set_sort_order (GtkTreeViewColumn *tree_column, GtkSortType order);\nsubroutine gtk_tree_view_column_set_sort_order(tree_column, order) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_column\n  integer(c_int), value :: order\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!GtkSortType gtk_tree_view_column_get_sort_order (GtkTreeViewColumn *tree_column);\nfunction gtk_tree_view_column_get_sort_order(tree_column) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_column_get_sort_order\n  type(c_ptr), value :: tree_column\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!void gtk_tree_view_column_cell_set_cell_data (GtkTreeViewColumn *tree_column, GtkTreeModel *tree_model, GtkTreeIter *iter, gboolean is_expander, gboolean is_expanded);\nsubroutine gtk_tree_view_column_cell_set_cell_data(tree_column, tree_model,&\n& iter, is_expander, is_expanded) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tree_column\n  type(c_ptr), value :: tree_model\n  type(c_ptr), value :: iter\n  integer(c_int), value :: is_expander\n  integer(c_int), value :: is_expanded\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!void gtk_tree_view_column_cell_get_size (GtkTreeViewColumn *tree_column, int *x_offset, int *y_offset, int *width, int *height);\nsubroutine gtk_tree_view_column_cell_get_size(tree_column, x_offset, y_offset,&\n& width, height) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_column\n  type(c_ptr), value :: x_offset\n  type(c_ptr), value :: y_offset\n  type(c_ptr), value :: width\n  type(c_ptr), value :: height\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!gboolean gtk_tree_view_column_cell_is_visible (GtkTreeViewColumn *tree_column);\nfunction gtk_tree_view_column_cell_is_visible(tree_column) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_column_cell_is_visible\n  type(c_ptr), value :: tree_column\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!void gtk_tree_view_column_focus_cell (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell);\nsubroutine gtk_tree_view_column_focus_cell(tree_column, cell) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_column\n  type(c_ptr), value :: cell\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!gboolean gtk_tree_view_column_cell_get_position (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell_renderer, int *x_offset, int *width);\nfunction gtk_tree_view_column_cell_get_position(tree_column, cell_renderer,&\n& x_offset, width) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_tree_view_column_cell_get_position\n  type(c_ptr), value :: tree_column\n  type(c_ptr), value :: cell_renderer\n  type(c_ptr), value :: x_offset\n  type(c_ptr), value :: width\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!void gtk_tree_view_column_queue_resize (GtkTreeViewColumn *tree_column);\nsubroutine gtk_tree_view_column_queue_resize(tree_column) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tree_column\nend subroutine\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!GtkWidget *gtk_tree_view_column_get_tree_view (GtkTreeViewColumn *tree_column);\nfunction gtk_tree_view_column_get_tree_view(tree_column) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_view_column_get_tree_view\n  type(c_ptr), value :: tree_column\nend function\n\n! GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn)\n!GtkWidget *gtk_tree_view_column_get_button (GtkTreeViewColumn *tree_column);\nfunction gtk_tree_view_column_get_button(tree_column) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_tree_view_column_get_button\n  type(c_ptr), value :: tree_column\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/deprecated/gtkvolumebutton.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_volume_button_get_type (void) ;\nfunction gtk_volume_button_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_volume_button_get_type\nend function\n\n! GDK_DEPRECATED_IN_4_10\n!GtkWidget* gtk_volume_button_new (void);\nfunction gtk_volume_button_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_volume_button_new\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/print/gtkpagesetup.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_page_setup_get_type (void) ;\nfunction gtk_page_setup_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_page_setup_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPageSetup * gtk_page_setup_new (void);\nfunction gtk_page_setup_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_page_setup_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPageSetup * gtk_page_setup_copy (GtkPageSetup *other);\nfunction gtk_page_setup_copy(other) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_page_setup_copy\n  type(c_ptr), value :: other\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPageOrientation gtk_page_setup_get_orientation (GtkPageSetup *setup);\nfunction gtk_page_setup_get_orientation(setup) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_page_setup_get_orientation\n  type(c_ptr), value :: setup\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_page_setup_set_orientation (GtkPageSetup *setup, GtkPageOrientation orientation);\nsubroutine gtk_page_setup_set_orientation(setup, orientation) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: setup\n  integer(c_int), value :: orientation\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPaperSize * gtk_page_setup_get_paper_size (GtkPageSetup *setup);\nfunction gtk_page_setup_get_paper_size(setup) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_page_setup_get_paper_size\n  type(c_ptr), value :: setup\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_page_setup_set_paper_size (GtkPageSetup *setup, GtkPaperSize *size);\nsubroutine gtk_page_setup_set_paper_size(setup, size) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: setup\n  type(c_ptr), value :: size\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_page_setup_get_top_margin (GtkPageSetup *setup, GtkUnit unit);\nfunction gtk_page_setup_get_top_margin(setup, unit) bind(c)\n  import :: c_double, c_ptr, c_int\n  implicit none\n  real(c_double) :: gtk_page_setup_get_top_margin\n  type(c_ptr), value :: setup\n  integer(c_int), value :: unit\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_page_setup_set_top_margin (GtkPageSetup *setup, double margin, GtkUnit unit);\nsubroutine gtk_page_setup_set_top_margin(setup, margin, unit) bind(c)\n  import :: c_ptr, c_double, c_int\n  implicit none\n  type(c_ptr), value :: setup\n  real(c_double), value :: margin\n  integer(c_int), value :: unit\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_page_setup_get_bottom_margin (GtkPageSetup *setup, GtkUnit unit);\nfunction gtk_page_setup_get_bottom_margin(setup, unit) bind(c)\n  import :: c_double, c_ptr, c_int\n  implicit none\n  real(c_double) :: gtk_page_setup_get_bottom_margin\n  type(c_ptr), value :: setup\n  integer(c_int), value :: unit\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_page_setup_set_bottom_margin (GtkPageSetup *setup, double margin, GtkUnit unit);\nsubroutine gtk_page_setup_set_bottom_margin(setup, margin, unit) bind(c)\n  import :: c_ptr, c_double, c_int\n  implicit none\n  type(c_ptr), value :: setup\n  real(c_double), value :: margin\n  integer(c_int), value :: unit\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_page_setup_get_left_margin (GtkPageSetup *setup, GtkUnit unit);\nfunction gtk_page_setup_get_left_margin(setup, unit) bind(c)\n  import :: c_double, c_ptr, c_int\n  implicit none\n  real(c_double) :: gtk_page_setup_get_left_margin\n  type(c_ptr), value :: setup\n  integer(c_int), value :: unit\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_page_setup_set_left_margin (GtkPageSetup *setup, double margin, GtkUnit unit);\nsubroutine gtk_page_setup_set_left_margin(setup, margin, unit) bind(c)\n  import :: c_ptr, c_double, c_int\n  implicit none\n  type(c_ptr), value :: setup\n  real(c_double), value :: margin\n  integer(c_int), value :: unit\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_page_setup_get_right_margin (GtkPageSetup *setup, GtkUnit unit);\nfunction gtk_page_setup_get_right_margin(setup, unit) bind(c)\n  import :: c_double, c_ptr, c_int\n  implicit none\n  real(c_double) :: gtk_page_setup_get_right_margin\n  type(c_ptr), value :: setup\n  integer(c_int), value :: unit\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_page_setup_set_right_margin (GtkPageSetup *setup, double margin, GtkUnit unit);\nsubroutine gtk_page_setup_set_right_margin(setup, margin, unit) bind(c)\n  import :: c_ptr, c_double, c_int\n  implicit none\n  type(c_ptr), value :: setup\n  real(c_double), value :: margin\n  integer(c_int), value :: unit\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_page_setup_set_paper_size_and_default_margins (GtkPageSetup *setup, GtkPaperSize *size);\nsubroutine gtk_page_setup_set_paper_size_and_default_margins(setup, size)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: setup\n  type(c_ptr), value :: size\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_page_setup_get_paper_width (GtkPageSetup *setup, GtkUnit unit);\nfunction gtk_page_setup_get_paper_width(setup, unit) bind(c)\n  import :: c_double, c_ptr, c_int\n  implicit none\n  real(c_double) :: gtk_page_setup_get_paper_width\n  type(c_ptr), value :: setup\n  integer(c_int), value :: unit\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_page_setup_get_paper_height (GtkPageSetup *setup, GtkUnit unit);\nfunction gtk_page_setup_get_paper_height(setup, unit) bind(c)\n  import :: c_double, c_ptr, c_int\n  implicit none\n  real(c_double) :: gtk_page_setup_get_paper_height\n  type(c_ptr), value :: setup\n  integer(c_int), value :: unit\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_page_setup_get_page_width (GtkPageSetup *setup, GtkUnit unit);\nfunction gtk_page_setup_get_page_width(setup, unit) bind(c)\n  import :: c_double, c_ptr, c_int\n  implicit none\n  real(c_double) :: gtk_page_setup_get_page_width\n  type(c_ptr), value :: setup\n  integer(c_int), value :: unit\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_page_setup_get_page_height (GtkPageSetup *setup, GtkUnit unit);\nfunction gtk_page_setup_get_page_height(setup, unit) bind(c)\n  import :: c_double, c_ptr, c_int\n  implicit none\n  real(c_double) :: gtk_page_setup_get_page_height\n  type(c_ptr), value :: setup\n  integer(c_int), value :: unit\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPageSetup *gtk_page_setup_new_from_file (const char *file_name, GError **error);\nfunction gtk_page_setup_new_from_file(file_name, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_page_setup_new_from_file\n  character(kind=c_char), dimension(*) :: file_name\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_page_setup_load_file (GtkPageSetup *setup, const char *file_name, GError **error);\nfunction gtk_page_setup_load_file(setup, file_name, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_page_setup_load_file\n  type(c_ptr), value :: setup\n  character(kind=c_char), dimension(*) :: file_name\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_page_setup_to_file (GtkPageSetup *setup, const char *file_name, GError **error);\nfunction gtk_page_setup_to_file(setup, file_name, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_page_setup_to_file\n  type(c_ptr), value :: setup\n  character(kind=c_char), dimension(*) :: file_name\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPageSetup *gtk_page_setup_new_from_key_file (GKeyFile *key_file, const char *group_name, GError **error);\nfunction gtk_page_setup_new_from_key_file(key_file, group_name, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_page_setup_new_from_key_file\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_page_setup_load_key_file (GtkPageSetup *setup, GKeyFile *key_file, const char *group_name, GError **error);\nfunction gtk_page_setup_load_key_file(setup, key_file, group_name, error)&\n& bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_page_setup_load_key_file\n  type(c_ptr), value :: setup\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_page_setup_to_key_file (GtkPageSetup *setup, GKeyFile *key_file, const char *group_name);\nsubroutine gtk_page_setup_to_key_file(setup, key_file, group_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: setup\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GVariant *gtk_page_setup_to_gvariant (GtkPageSetup *setup);\nfunction gtk_page_setup_to_gvariant(setup) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_page_setup_to_gvariant\n  type(c_ptr), value :: setup\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPageSetup *gtk_page_setup_new_from_gvariant (GVariant *variant);\nfunction gtk_page_setup_new_from_gvariant(variant) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_page_setup_new_from_gvariant\n  type(c_ptr), value :: variant\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/print/gtkpapersize.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_paper_size_get_type (void) ;\nfunction gtk_paper_size_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_paper_size_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPaperSize *gtk_paper_size_new (const char *name);\nfunction gtk_paper_size_new(name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_paper_size_new\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPaperSize *gtk_paper_size_new_from_ppd (const char *ppd_name, const char *ppd_display_name, double width, double height);\nfunction gtk_paper_size_new_from_ppd(ppd_name, ppd_display_name, width, height)&\n& bind(c)\n  import :: c_ptr, c_char, c_double\n  implicit none\n  type(c_ptr) :: gtk_paper_size_new_from_ppd\n  character(kind=c_char), dimension(*) :: ppd_name\n  character(kind=c_char), dimension(*) :: ppd_display_name\n  real(c_double), value :: width\n  real(c_double), value :: height\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPaperSize *gtk_paper_size_new_from_ipp (const char *ipp_name, double width, double height);\nfunction gtk_paper_size_new_from_ipp(ipp_name, width, height) bind(c)\n  import :: c_ptr, c_char, c_double\n  implicit none\n  type(c_ptr) :: gtk_paper_size_new_from_ipp\n  character(kind=c_char), dimension(*) :: ipp_name\n  real(c_double), value :: width\n  real(c_double), value :: height\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPaperSize *gtk_paper_size_new_custom (const char *name, const char *display_name, double width, double height, GtkUnit unit);\nfunction gtk_paper_size_new_custom(name, display_name, width, height, unit)&\n& bind(c)\n  import :: c_ptr, c_char, c_double, c_int\n  implicit none\n  type(c_ptr) :: gtk_paper_size_new_custom\n  character(kind=c_char), dimension(*) :: name\n  character(kind=c_char), dimension(*) :: display_name\n  real(c_double), value :: width\n  real(c_double), value :: height\n  integer(c_int), value :: unit\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPaperSize *gtk_paper_size_copy (GtkPaperSize *other);\nfunction gtk_paper_size_copy(other) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_paper_size_copy\n  type(c_ptr), value :: other\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_paper_size_free (GtkPaperSize *size);\nsubroutine gtk_paper_size_free(size) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: size\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_paper_size_is_equal (GtkPaperSize *size1, GtkPaperSize *size2);\nfunction gtk_paper_size_is_equal(size1, size2) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_paper_size_is_equal\n  type(c_ptr), value :: size1\n  type(c_ptr), value :: size2\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GList *gtk_paper_size_get_paper_sizes (gboolean include_custom);\nfunction gtk_paper_size_get_paper_sizes(include_custom) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: gtk_paper_size_get_paper_sizes\n  integer(c_int), value :: include_custom\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char *gtk_paper_size_get_name (GtkPaperSize *size);\nfunction gtk_paper_size_get_name(size) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_paper_size_get_name\n  type(c_ptr), value :: size\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char *gtk_paper_size_get_display_name (GtkPaperSize *size);\nfunction gtk_paper_size_get_display_name(size) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_paper_size_get_display_name\n  type(c_ptr), value :: size\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char *gtk_paper_size_get_ppd_name (GtkPaperSize *size);\nfunction gtk_paper_size_get_ppd_name(size) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_paper_size_get_ppd_name\n  type(c_ptr), value :: size\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_paper_size_get_width (GtkPaperSize *size, GtkUnit unit);\nfunction gtk_paper_size_get_width(size, unit) bind(c)\n  import :: c_double, c_ptr, c_int\n  implicit none\n  real(c_double) :: gtk_paper_size_get_width\n  type(c_ptr), value :: size\n  integer(c_int), value :: unit\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_paper_size_get_height (GtkPaperSize *size, GtkUnit unit);\nfunction gtk_paper_size_get_height(size, unit) bind(c)\n  import :: c_double, c_ptr, c_int\n  implicit none\n  real(c_double) :: gtk_paper_size_get_height\n  type(c_ptr), value :: size\n  integer(c_int), value :: unit\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_paper_size_is_custom (GtkPaperSize *size);\nfunction gtk_paper_size_is_custom(size) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_paper_size_is_custom\n  type(c_ptr), value :: size\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_paper_size_is_ipp (GtkPaperSize *size);\nfunction gtk_paper_size_is_ipp(size) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_paper_size_is_ipp\n  type(c_ptr), value :: size\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_paper_size_set_size (GtkPaperSize *size, double width, double height, GtkUnit unit);\nsubroutine gtk_paper_size_set_size(size, width, height, unit) bind(c)\n  import :: c_ptr, c_double, c_int\n  implicit none\n  type(c_ptr), value :: size\n  real(c_double), value :: width\n  real(c_double), value :: height\n  integer(c_int), value :: unit\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_paper_size_get_default_top_margin (GtkPaperSize *size, GtkUnit unit);\nfunction gtk_paper_size_get_default_top_margin(size, unit) bind(c)\n  import :: c_double, c_ptr, c_int\n  implicit none\n  real(c_double) :: gtk_paper_size_get_default_top_margin\n  type(c_ptr), value :: size\n  integer(c_int), value :: unit\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_paper_size_get_default_bottom_margin (GtkPaperSize *size, GtkUnit unit);\nfunction gtk_paper_size_get_default_bottom_margin(size, unit) bind(c)\n  import :: c_double, c_ptr, c_int\n  implicit none\n  real(c_double) :: gtk_paper_size_get_default_bottom_margin\n  type(c_ptr), value :: size\n  integer(c_int), value :: unit\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_paper_size_get_default_left_margin (GtkPaperSize *size, GtkUnit unit);\nfunction gtk_paper_size_get_default_left_margin(size, unit) bind(c)\n  import :: c_double, c_ptr, c_int\n  implicit none\n  real(c_double) :: gtk_paper_size_get_default_left_margin\n  type(c_ptr), value :: size\n  integer(c_int), value :: unit\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_paper_size_get_default_right_margin (GtkPaperSize *size, GtkUnit unit);\nfunction gtk_paper_size_get_default_right_margin(size, unit) bind(c)\n  import :: c_double, c_ptr, c_int\n  implicit none\n  real(c_double) :: gtk_paper_size_get_default_right_margin\n  type(c_ptr), value :: size\n  integer(c_int), value :: unit\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char *gtk_paper_size_get_default (void);\nfunction gtk_paper_size_get_default() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_paper_size_get_default\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPaperSize *gtk_paper_size_new_from_key_file (GKeyFile *key_file, const char *group_name, GError **error);\nfunction gtk_paper_size_new_from_key_file(key_file, group_name, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_paper_size_new_from_key_file\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_paper_size_to_key_file (GtkPaperSize *size, GKeyFile *key_file, const char *group_name);\nsubroutine gtk_paper_size_to_key_file(size, key_file, group_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: size\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPaperSize *gtk_paper_size_new_from_gvariant (GVariant *variant);\nfunction gtk_paper_size_new_from_gvariant(variant) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_paper_size_new_from_gvariant\n  type(c_ptr), value :: variant\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GVariant *gtk_paper_size_to_gvariant (GtkPaperSize *paper_size);\nfunction gtk_paper_size_to_gvariant(paper_size) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_paper_size_to_gvariant\n  type(c_ptr), value :: paper_size\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/print/gtkprintcontext.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_print_context_get_type (void) ;\nfunction gtk_print_context_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_print_context_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!cairo_t *gtk_print_context_get_cairo_context (GtkPrintContext *context);\nfunction gtk_print_context_get_cairo_context(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_context_get_cairo_context\n  type(c_ptr), value :: context\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPageSetup *gtk_print_context_get_page_setup (GtkPrintContext *context);\nfunction gtk_print_context_get_page_setup(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_context_get_page_setup\n  type(c_ptr), value :: context\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_print_context_get_width (GtkPrintContext *context);\nfunction gtk_print_context_get_width(context) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: gtk_print_context_get_width\n  type(c_ptr), value :: context\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_print_context_get_height (GtkPrintContext *context);\nfunction gtk_print_context_get_height(context) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: gtk_print_context_get_height\n  type(c_ptr), value :: context\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_print_context_get_dpi_x (GtkPrintContext *context);\nfunction gtk_print_context_get_dpi_x(context) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: gtk_print_context_get_dpi_x\n  type(c_ptr), value :: context\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_print_context_get_dpi_y (GtkPrintContext *context);\nfunction gtk_print_context_get_dpi_y(context) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: gtk_print_context_get_dpi_y\n  type(c_ptr), value :: context\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_print_context_get_hard_margins (GtkPrintContext *context, double *top, double *bottom, double *left, double *right);\nfunction gtk_print_context_get_hard_margins(context, top, bottom, left, right)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_context_get_hard_margins\n  type(c_ptr), value :: context\n  type(c_ptr), value :: top\n  type(c_ptr), value :: bottom\n  type(c_ptr), value :: left\n  type(c_ptr), value :: right\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!PangoFontMap *gtk_print_context_get_pango_fontmap (GtkPrintContext *context);\nfunction gtk_print_context_get_pango_fontmap(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_context_get_pango_fontmap\n  type(c_ptr), value :: context\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!PangoContext *gtk_print_context_create_pango_context (GtkPrintContext *context);\nfunction gtk_print_context_create_pango_context(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_context_create_pango_context\n  type(c_ptr), value :: context\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!PangoLayout *gtk_print_context_create_pango_layout (GtkPrintContext *context);\nfunction gtk_print_context_create_pango_layout(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_context_create_pango_layout\n  type(c_ptr), value :: context\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_context_set_cairo_context (GtkPrintContext *context, cairo_t *cr, double dpi_x, double dpi_y);\nsubroutine gtk_print_context_set_cairo_context(context, cr, dpi_x, dpi_y)&\n& bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: cr\n  real(c_double), value :: dpi_x\n  real(c_double), value :: dpi_y\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/print/gtkprintoperation.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GQuark gtk_print_error_quark (void);\nfunction gtk_print_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: gtk_print_error_quark\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_print_operation_get_type (void) ;\nfunction gtk_print_operation_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_print_operation_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPrintOperation * gtk_print_operation_new (void);\nfunction gtk_print_operation_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_operation_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_operation_set_default_page_setup (GtkPrintOperation *op, GtkPageSetup *default_page_setup);\nsubroutine gtk_print_operation_set_default_page_setup(op, default_page_setup)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: op\n  type(c_ptr), value :: default_page_setup\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPageSetup * gtk_print_operation_get_default_page_setup (GtkPrintOperation *op);\nfunction gtk_print_operation_get_default_page_setup(op) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_operation_get_default_page_setup\n  type(c_ptr), value :: op\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_operation_set_print_settings (GtkPrintOperation *op, GtkPrintSettings *print_settings);\nsubroutine gtk_print_operation_set_print_settings(op, print_settings) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: op\n  type(c_ptr), value :: print_settings\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPrintSettings * gtk_print_operation_get_print_settings (GtkPrintOperation *op);\nfunction gtk_print_operation_get_print_settings(op) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_operation_get_print_settings\n  type(c_ptr), value :: op\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_operation_set_job_name (GtkPrintOperation *op, const char *job_name);\nsubroutine gtk_print_operation_set_job_name(op, job_name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: op\n  character(kind=c_char), dimension(*) :: job_name\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_operation_set_n_pages (GtkPrintOperation *op, int n_pages);\nsubroutine gtk_print_operation_set_n_pages(op, n_pages) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: op\n  integer(c_int), value :: n_pages\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_operation_set_current_page (GtkPrintOperation *op, int current_page);\nsubroutine gtk_print_operation_set_current_page(op, current_page) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: op\n  integer(c_int), value :: current_page\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_operation_set_use_full_page (GtkPrintOperation *op, gboolean full_page);\nsubroutine gtk_print_operation_set_use_full_page(op, full_page) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: op\n  integer(c_int), value :: full_page\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_operation_set_unit (GtkPrintOperation *op, GtkUnit unit);\nsubroutine gtk_print_operation_set_unit(op, unit) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: op\n  integer(c_int), value :: unit\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_operation_set_export_filename (GtkPrintOperation *op, const char *filename);\nsubroutine gtk_print_operation_set_export_filename(op, filename) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: op\n  character(kind=c_char), dimension(*) :: filename\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_operation_set_track_print_status (GtkPrintOperation *op, gboolean track_status);\nsubroutine gtk_print_operation_set_track_print_status(op, track_status) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: op\n  integer(c_int), value :: track_status\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_operation_set_show_progress (GtkPrintOperation *op, gboolean show_progress);\nsubroutine gtk_print_operation_set_show_progress(op, show_progress) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: op\n  integer(c_int), value :: show_progress\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_operation_set_allow_async (GtkPrintOperation *op, gboolean allow_async);\nsubroutine gtk_print_operation_set_allow_async(op, allow_async) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: op\n  integer(c_int), value :: allow_async\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_operation_set_custom_tab_label (GtkPrintOperation *op, const char *label);\nsubroutine gtk_print_operation_set_custom_tab_label(op, label) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: op\n  character(kind=c_char), dimension(*) :: label\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPrintOperationResult gtk_print_operation_run (GtkPrintOperation *op, GtkPrintOperationAction action, GtkWindow *parent, GError **error);\nfunction gtk_print_operation_run(op, action, parent, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_operation_run\n  type(c_ptr), value :: op\n  integer(c_int), value :: action\n  type(c_ptr), value :: parent\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_operation_get_error (GtkPrintOperation *op, GError **error);\nsubroutine gtk_print_operation_get_error(op, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: op\n  type(c_ptr), value :: error\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPrintStatus gtk_print_operation_get_status (GtkPrintOperation *op);\nfunction gtk_print_operation_get_status(op) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_operation_get_status\n  type(c_ptr), value :: op\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_print_operation_get_status_string (GtkPrintOperation *op);\nfunction gtk_print_operation_get_status_string(op) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_operation_get_status_string\n  type(c_ptr), value :: op\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_print_operation_is_finished (GtkPrintOperation *op);\nfunction gtk_print_operation_is_finished(op) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_operation_is_finished\n  type(c_ptr), value :: op\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_operation_cancel (GtkPrintOperation *op);\nsubroutine gtk_print_operation_cancel(op) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: op\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_operation_draw_page_finish (GtkPrintOperation *op);\nsubroutine gtk_print_operation_draw_page_finish(op) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: op\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_operation_set_defer_drawing (GtkPrintOperation *op);\nsubroutine gtk_print_operation_set_defer_drawing(op) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: op\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_operation_set_support_selection (GtkPrintOperation *op, gboolean support_selection);\nsubroutine gtk_print_operation_set_support_selection(op, support_selection)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: op\n  integer(c_int), value :: support_selection\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_print_operation_get_support_selection (GtkPrintOperation *op);\nfunction gtk_print_operation_get_support_selection(op) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_operation_get_support_selection\n  type(c_ptr), value :: op\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_operation_set_has_selection (GtkPrintOperation *op, gboolean has_selection);\nsubroutine gtk_print_operation_set_has_selection(op, has_selection) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: op\n  integer(c_int), value :: has_selection\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_print_operation_get_has_selection (GtkPrintOperation *op);\nfunction gtk_print_operation_get_has_selection(op) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_operation_get_has_selection\n  type(c_ptr), value :: op\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_operation_set_embed_page_setup (GtkPrintOperation *op, gboolean embed);\nsubroutine gtk_print_operation_set_embed_page_setup(op, embed) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: op\n  integer(c_int), value :: embed\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_print_operation_get_embed_page_setup (GtkPrintOperation *op);\nfunction gtk_print_operation_get_embed_page_setup(op) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_operation_get_embed_page_setup\n  type(c_ptr), value :: op\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_print_operation_get_n_pages_to_print (GtkPrintOperation *op);\nfunction gtk_print_operation_get_n_pages_to_print(op) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_operation_get_n_pages_to_print\n  type(c_ptr), value :: op\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPageSetup *gtk_print_run_page_setup_dialog (GtkWindow *parent, GtkPageSetup *page_setup, GtkPrintSettings *settings);\nfunction gtk_print_run_page_setup_dialog(parent, page_setup, settings) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_run_page_setup_dialog\n  type(c_ptr), value :: parent\n  type(c_ptr), value :: page_setup\n  type(c_ptr), value :: settings\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_run_page_setup_dialog_async (GtkWindow *parent, GtkPageSetup *page_setup, GtkPrintSettings *settings, GtkPageSetupDoneFunc done_cb, gpointer data);\nsubroutine gtk_print_run_page_setup_dialog_async(parent, page_setup, settings,&\n& done_cb, data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: parent\n  type(c_ptr), value :: page_setup\n  type(c_ptr), value :: settings\n  type(c_funptr), value :: done_cb\n  type(c_ptr), value :: data\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/print/gtkprintoperationpreview.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_print_operation_preview_get_type (void) ;\nfunction gtk_print_operation_preview_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_print_operation_preview_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_operation_preview_render_page (GtkPrintOperationPreview *preview, int page_nr);\nsubroutine gtk_print_operation_preview_render_page(preview, page_nr) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: preview\n  integer(c_int), value :: page_nr\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_operation_preview_end_preview (GtkPrintOperationPreview *preview);\nsubroutine gtk_print_operation_preview_end_preview(preview) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: preview\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_print_operation_preview_is_selected (GtkPrintOperationPreview *preview, int page_nr);\nfunction gtk_print_operation_preview_is_selected(preview, page_nr) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_operation_preview_is_selected\n  type(c_ptr), value :: preview\n  integer(c_int), value :: page_nr\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/gtk/print/gtkprintsettings.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_print_settings_get_type (void) ;\nfunction gtk_print_settings_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_print_settings_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPrintSettings *gtk_print_settings_new (void);\nfunction gtk_print_settings_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_settings_new\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPrintSettings *gtk_print_settings_copy (GtkPrintSettings *other);\nfunction gtk_print_settings_copy(other) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_settings_copy\n  type(c_ptr), value :: other\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPrintSettings *gtk_print_settings_new_from_file (const char *file_name, GError **error);\nfunction gtk_print_settings_new_from_file(file_name, error) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_print_settings_new_from_file\n  character(kind=c_char), dimension(*) :: file_name\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_print_settings_load_file (GtkPrintSettings *settings, const char *file_name, GError **error);\nfunction gtk_print_settings_load_file(settings, file_name, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_print_settings_load_file\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: file_name\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_print_settings_to_file (GtkPrintSettings *settings, const char *file_name, GError **error);\nfunction gtk_print_settings_to_file(settings, file_name, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_print_settings_to_file\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: file_name\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPrintSettings *gtk_print_settings_new_from_key_file (GKeyFile *key_file, const char *group_name, GError **error);\nfunction gtk_print_settings_new_from_key_file(key_file, group_name, error)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_print_settings_new_from_key_file\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_print_settings_load_key_file (GtkPrintSettings *settings, GKeyFile *key_file, const char *group_name, GError **error);\nfunction gtk_print_settings_load_key_file(settings, key_file, group_name,&\n& error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_print_settings_load_key_file\n  type(c_ptr), value :: settings\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_settings_to_key_file (GtkPrintSettings *settings, GKeyFile *key_file, const char *group_name);\nsubroutine gtk_print_settings_to_key_file(settings, key_file, group_name)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: settings\n  type(c_ptr), value :: key_file\n  character(kind=c_char), dimension(*) :: group_name\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_print_settings_has_key (GtkPrintSettings *settings, const char *key);\nfunction gtk_print_settings_has_key(settings, key) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_print_settings_has_key\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_print_settings_get (GtkPrintSettings *settings, const char *key);\nfunction gtk_print_settings_get(settings, key) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_print_settings_get\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_settings_set (GtkPrintSettings *settings, const char *key, const char *value);\nsubroutine gtk_print_settings_set(settings, key, value) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\n  character(kind=c_char), dimension(*) :: value\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_settings_unset (GtkPrintSettings *settings, const char *key);\nsubroutine gtk_print_settings_unset(settings, key) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_settings_foreach (GtkPrintSettings *settings, GtkPrintSettingsFunc func, gpointer user_data);\nsubroutine gtk_print_settings_foreach(settings, func, user_data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: settings\n  type(c_funptr), value :: func\n  type(c_ptr), value :: user_data\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_print_settings_get_bool (GtkPrintSettings *settings, const char *key);\nfunction gtk_print_settings_get_bool(settings, key) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_print_settings_get_bool\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_settings_set_bool (GtkPrintSettings *settings, const char *key, gboolean value);\nsubroutine gtk_print_settings_set_bool(settings, key, value) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\n  integer(c_int), value :: value\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_print_settings_get_double (GtkPrintSettings *settings, const char *key);\nfunction gtk_print_settings_get_double(settings, key) bind(c)\n  import :: c_double, c_ptr, c_char\n  implicit none\n  real(c_double) :: gtk_print_settings_get_double\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_print_settings_get_double_with_default (GtkPrintSettings *settings, const char *key, double def);\nfunction gtk_print_settings_get_double_with_default(settings, key, def) bind(c)\n  import :: c_double, c_ptr, c_char\n  implicit none\n  real(c_double) :: gtk_print_settings_get_double_with_default\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\n  real(c_double), value :: def\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_settings_set_double (GtkPrintSettings *settings, const char *key, double value);\nsubroutine gtk_print_settings_set_double(settings, key, value) bind(c)\n  import :: c_ptr, c_char, c_double\n  implicit none\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\n  real(c_double), value :: value\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_print_settings_get_length (GtkPrintSettings *settings, const char *key, GtkUnit unit);\nfunction gtk_print_settings_get_length(settings, key, unit) bind(c)\n  import :: c_double, c_ptr, c_char, c_int\n  implicit none\n  real(c_double) :: gtk_print_settings_get_length\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\n  integer(c_int), value :: unit\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_settings_set_length (GtkPrintSettings *settings, const char *key, double value, GtkUnit unit);\nsubroutine gtk_print_settings_set_length(settings, key, value, unit) bind(c)\n  import :: c_ptr, c_char, c_double, c_int\n  implicit none\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\n  real(c_double), value :: value\n  integer(c_int), value :: unit\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_print_settings_get_int (GtkPrintSettings *settings, const char *key);\nfunction gtk_print_settings_get_int(settings, key) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_print_settings_get_int\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_print_settings_get_int_with_default (GtkPrintSettings *settings, const char *key, int def);\nfunction gtk_print_settings_get_int_with_default(settings, key, def) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_print_settings_get_int_with_default\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\n  integer(c_int), value :: def\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_settings_set_int (GtkPrintSettings *settings, const char *key, int value);\nsubroutine gtk_print_settings_set_int(settings, key, value) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: key\n  integer(c_int), value :: value\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_print_settings_get_printer (GtkPrintSettings *settings);\nfunction gtk_print_settings_get_printer(settings) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_settings_get_printer\n  type(c_ptr), value :: settings\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_settings_set_printer (GtkPrintSettings *settings, const char *printer);\nsubroutine gtk_print_settings_set_printer(settings, printer) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: printer\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPageOrientation gtk_print_settings_get_orientation (GtkPrintSettings *settings);\nfunction gtk_print_settings_get_orientation(settings) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_settings_get_orientation\n  type(c_ptr), value :: settings\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_settings_set_orientation (GtkPrintSettings *settings, GtkPageOrientation orientation);\nsubroutine gtk_print_settings_set_orientation(settings, orientation) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: settings\n  integer(c_int), value :: orientation\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPaperSize * gtk_print_settings_get_paper_size (GtkPrintSettings *settings);\nfunction gtk_print_settings_get_paper_size(settings) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_settings_get_paper_size\n  type(c_ptr), value :: settings\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_settings_set_paper_size (GtkPrintSettings *settings, GtkPaperSize *paper_size);\nsubroutine gtk_print_settings_set_paper_size(settings, paper_size) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: settings\n  type(c_ptr), value :: paper_size\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_print_settings_get_paper_width (GtkPrintSettings *settings, GtkUnit unit);\nfunction gtk_print_settings_get_paper_width(settings, unit) bind(c)\n  import :: c_double, c_ptr, c_int\n  implicit none\n  real(c_double) :: gtk_print_settings_get_paper_width\n  type(c_ptr), value :: settings\n  integer(c_int), value :: unit\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_settings_set_paper_width (GtkPrintSettings *settings, double width, GtkUnit unit);\nsubroutine gtk_print_settings_set_paper_width(settings, width, unit) bind(c)\n  import :: c_ptr, c_double, c_int\n  implicit none\n  type(c_ptr), value :: settings\n  real(c_double), value :: width\n  integer(c_int), value :: unit\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_print_settings_get_paper_height (GtkPrintSettings *settings, GtkUnit unit);\nfunction gtk_print_settings_get_paper_height(settings, unit) bind(c)\n  import :: c_double, c_ptr, c_int\n  implicit none\n  real(c_double) :: gtk_print_settings_get_paper_height\n  type(c_ptr), value :: settings\n  integer(c_int), value :: unit\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_settings_set_paper_height (GtkPrintSettings *settings, double height, GtkUnit unit);\nsubroutine gtk_print_settings_set_paper_height(settings, height, unit) bind(c)\n  import :: c_ptr, c_double, c_int\n  implicit none\n  type(c_ptr), value :: settings\n  real(c_double), value :: height\n  integer(c_int), value :: unit\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_print_settings_get_use_color (GtkPrintSettings *settings);\nfunction gtk_print_settings_get_use_color(settings) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_settings_get_use_color\n  type(c_ptr), value :: settings\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_settings_set_use_color (GtkPrintSettings *settings, gboolean use_color);\nsubroutine gtk_print_settings_set_use_color(settings, use_color) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: settings\n  integer(c_int), value :: use_color\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_print_settings_get_collate (GtkPrintSettings *settings);\nfunction gtk_print_settings_get_collate(settings) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_settings_get_collate\n  type(c_ptr), value :: settings\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_settings_set_collate (GtkPrintSettings *settings, gboolean collate);\nsubroutine gtk_print_settings_set_collate(settings, collate) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: settings\n  integer(c_int), value :: collate\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_print_settings_get_reverse (GtkPrintSettings *settings);\nfunction gtk_print_settings_get_reverse(settings) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_settings_get_reverse\n  type(c_ptr), value :: settings\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_settings_set_reverse (GtkPrintSettings *settings, gboolean reverse);\nsubroutine gtk_print_settings_set_reverse(settings, reverse) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: settings\n  integer(c_int), value :: reverse\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPrintDuplex gtk_print_settings_get_duplex (GtkPrintSettings *settings);\nfunction gtk_print_settings_get_duplex(settings) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_settings_get_duplex\n  type(c_ptr), value :: settings\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_settings_set_duplex (GtkPrintSettings *settings, GtkPrintDuplex duplex);\nsubroutine gtk_print_settings_set_duplex(settings, duplex) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: settings\n  integer(c_int), value :: duplex\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPrintQuality gtk_print_settings_get_quality (GtkPrintSettings *settings);\nfunction gtk_print_settings_get_quality(settings) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_settings_get_quality\n  type(c_ptr), value :: settings\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_settings_set_quality (GtkPrintSettings *settings, GtkPrintQuality quality);\nsubroutine gtk_print_settings_set_quality(settings, quality) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: settings\n  integer(c_int), value :: quality\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_print_settings_get_n_copies (GtkPrintSettings *settings);\nfunction gtk_print_settings_get_n_copies(settings) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_settings_get_n_copies\n  type(c_ptr), value :: settings\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_settings_set_n_copies (GtkPrintSettings *settings, int num_copies);\nsubroutine gtk_print_settings_set_n_copies(settings, num_copies) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: settings\n  integer(c_int), value :: num_copies\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_print_settings_get_number_up (GtkPrintSettings *settings);\nfunction gtk_print_settings_get_number_up(settings) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_settings_get_number_up\n  type(c_ptr), value :: settings\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_settings_set_number_up (GtkPrintSettings *settings, int number_up);\nsubroutine gtk_print_settings_set_number_up(settings, number_up) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: settings\n  integer(c_int), value :: number_up\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkNumberUpLayout gtk_print_settings_get_number_up_layout (GtkPrintSettings *settings);\nfunction gtk_print_settings_get_number_up_layout(settings) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_settings_get_number_up_layout\n  type(c_ptr), value :: settings\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_settings_set_number_up_layout (GtkPrintSettings *settings, GtkNumberUpLayout number_up_layout);\nsubroutine gtk_print_settings_set_number_up_layout(settings, number_up_layout)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: settings\n  integer(c_int), value :: number_up_layout\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_print_settings_get_resolution (GtkPrintSettings *settings);\nfunction gtk_print_settings_get_resolution(settings) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_settings_get_resolution\n  type(c_ptr), value :: settings\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_settings_set_resolution (GtkPrintSettings *settings, int resolution);\nsubroutine gtk_print_settings_set_resolution(settings, resolution) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: settings\n  integer(c_int), value :: resolution\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_print_settings_get_resolution_x (GtkPrintSettings *settings);\nfunction gtk_print_settings_get_resolution_x(settings) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_settings_get_resolution_x\n  type(c_ptr), value :: settings\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_print_settings_get_resolution_y (GtkPrintSettings *settings);\nfunction gtk_print_settings_get_resolution_y(settings) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_settings_get_resolution_y\n  type(c_ptr), value :: settings\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_settings_set_resolution_xy (GtkPrintSettings *settings, int resolution_x, int resolution_y);\nsubroutine gtk_print_settings_set_resolution_xy(settings, resolution_x,&\n& resolution_y) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: settings\n  integer(c_int), value :: resolution_x\n  integer(c_int), value :: resolution_y\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_print_settings_get_printer_lpi (GtkPrintSettings *settings);\nfunction gtk_print_settings_get_printer_lpi(settings) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: gtk_print_settings_get_printer_lpi\n  type(c_ptr), value :: settings\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_settings_set_printer_lpi (GtkPrintSettings *settings, double lpi);\nsubroutine gtk_print_settings_set_printer_lpi(settings, lpi) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: settings\n  real(c_double), value :: lpi\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_print_settings_get_scale (GtkPrintSettings *settings);\nfunction gtk_print_settings_get_scale(settings) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: gtk_print_settings_get_scale\n  type(c_ptr), value :: settings\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_settings_set_scale (GtkPrintSettings *settings, double scale);\nsubroutine gtk_print_settings_set_scale(settings, scale) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: settings\n  real(c_double), value :: scale\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPrintPages gtk_print_settings_get_print_pages (GtkPrintSettings *settings);\nfunction gtk_print_settings_get_print_pages(settings) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_settings_get_print_pages\n  type(c_ptr), value :: settings\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_settings_set_print_pages (GtkPrintSettings *settings, GtkPrintPages pages);\nsubroutine gtk_print_settings_set_print_pages(settings, pages) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: settings\n  integer(c_int), value :: pages\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPageRange * gtk_print_settings_get_page_ranges (GtkPrintSettings *settings, int *num_ranges);\nfunction gtk_print_settings_get_page_ranges(settings, num_ranges) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_settings_get_page_ranges\n  type(c_ptr), value :: settings\n  type(c_ptr), value :: num_ranges\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_settings_set_page_ranges (GtkPrintSettings *settings, GtkPageRange *page_ranges, int num_ranges);\nsubroutine gtk_print_settings_set_page_ranges(settings, page_ranges,&\n& num_ranges) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: settings\n  type(c_ptr), value :: page_ranges\n  integer(c_int), value :: num_ranges\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPageSet gtk_print_settings_get_page_set (GtkPrintSettings *settings);\nfunction gtk_print_settings_get_page_set(settings) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_settings_get_page_set\n  type(c_ptr), value :: settings\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_settings_set_page_set (GtkPrintSettings *settings, GtkPageSet page_set);\nsubroutine gtk_print_settings_set_page_set(settings, page_set) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: settings\n  integer(c_int), value :: page_set\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_print_settings_get_default_source (GtkPrintSettings *settings);\nfunction gtk_print_settings_get_default_source(settings) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_settings_get_default_source\n  type(c_ptr), value :: settings\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_settings_set_default_source (GtkPrintSettings *settings, const char *default_source);\nsubroutine gtk_print_settings_set_default_source(settings, default_source)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: default_source\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_print_settings_get_media_type (GtkPrintSettings *settings);\nfunction gtk_print_settings_get_media_type(settings) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_settings_get_media_type\n  type(c_ptr), value :: settings\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_settings_set_media_type (GtkPrintSettings *settings, const char *media_type);\nsubroutine gtk_print_settings_set_media_type(settings, media_type) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: media_type\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_print_settings_get_dither (GtkPrintSettings *settings);\nfunction gtk_print_settings_get_dither(settings) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_settings_get_dither\n  type(c_ptr), value :: settings\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_settings_set_dither (GtkPrintSettings *settings, const char *dither);\nsubroutine gtk_print_settings_set_dither(settings, dither) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: dither\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_print_settings_get_finishings (GtkPrintSettings *settings);\nfunction gtk_print_settings_get_finishings(settings) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_settings_get_finishings\n  type(c_ptr), value :: settings\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_settings_set_finishings (GtkPrintSettings *settings, const char *finishings);\nsubroutine gtk_print_settings_set_finishings(settings, finishings) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: finishings\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_print_settings_get_output_bin (GtkPrintSettings *settings);\nfunction gtk_print_settings_get_output_bin(settings) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_settings_get_output_bin\n  type(c_ptr), value :: settings\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_settings_set_output_bin (GtkPrintSettings *settings, const char *output_bin);\nsubroutine gtk_print_settings_set_output_bin(settings, output_bin) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: settings\n  character(kind=c_char), dimension(*) :: output_bin\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GVariant *gtk_print_settings_to_gvariant (GtkPrintSettings *settings);\nfunction gtk_print_settings_to_gvariant(settings) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_settings_to_gvariant\n  type(c_ptr), value :: settings\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPrintSettings *gtk_print_settings_new_from_gvariant (GVariant *variant);\nfunction gtk_print_settings_new_from_gvariant(variant) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_settings_new_from_gvariant\n  type(c_ptr), value :: variant\nend function\n\n"
  },
  {
    "path": "src/gtk-draw-hl.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2011 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n! -----------------------------------------------------------------------------\n! Contributed by James Tappin\n! Some code derived from a demo program by \"tadeboro\" posted on the gtk forums.\n! Last modifications: 2013-01-31, vmagnin 2020-06-17 (GTK 4), 2022-03-29\n! -----------------------------------------------------------------------------\n\n!*\n! gtk_draw_hl\nmodule gtk_draw_hl\n  ! This module provides a high-level drawing interface which automatically\n  ! handles redrawing on exposure, and bundles the most likely events to\n  ! be needed.\n  !\n  ! Note:\n  !\n  ! This module has undergone a major rewrite which has considerably\n  ! streamlined the code. To the ordinary user, the most noticable difference\n  ! is that the backing image is now a cairo image surface rather than a\n  ! GDK pixbuf. When using PLplot, the \"memcairo\" device is not readily usable\n  ! any more (extcairo is now the only supported driver), however\n  ! cumulative plotting (e.g. PLplot's strip charts) now\n  ! works correctly.\n  !\n  ! **Routine list:**\n  !\n  ! * hl_gtk_drawing_area_new; Create the drawing area.\n  ! * hl_gtk_drawing_area_get_surface; Get the backing cairo surface\n  ! * hl_gtk_drawing_area_get_gdk_pixbuf; Get the contents to a GdkPixbuf\n  ! * hl_gtk_drawing_area_expose_cb; Default callback for expose events.\n  ! * hl_gtk_drawing_area_destroy_cb; Default callback for destroy signal\n  ! * hl_gtk_drawing_area_resize_cb; Default callback for resize signal\n  ! * hl_gtk_drawing_area_cairo_new; Create a cairo context attached to the\n  ! backing surface.\n  ! * hl_gtk_drawing_area_resize: Resize the drawing area and the backing\n  ! surface\n  ! * hl_gtk_drawing_area_cairo_destroy; Destroy the context.\n  !/\n\n  !********************************\n  ! Gtk modules for gtk-draw-hl.f90\n  !********************************\n  use cairo, only: cairo_create, cairo_destroy, cairo_get_target, &\n       & cairo_image_surface_create, cairo_image_surface_get_data, &\n       & cairo_image_surface_get_format, cairo_image_surface_get_height, &\n       & cairo_image_surface_get_stride, cairo_image_surface_get_width, &\n       & cairo_paint, cairo_set_source_surface, cairo_surface_destroy, &\n       & cairo_surface_get_reference_count, cairo_surface_get_type, &\n       & cairo_surface_reference, cairo_surface_status, cairo_status_to_string\n\n  use g, only: g_object_get_data, g_object_set_data\n\n  use gdk, only: gdk_pixbuf_get_from_surface, gdk_cairo_set_source_pixbuf\n\n  use gtk, only: gtk_drawing_area_new, gtk_scrolled_window_set_child, &\n       & gtk_scrolled_window_new, gtk_scrolled_window_set_policy, &\n       & gtk_widget_get_allocation, gtk_widget_set_can_focus, &\n       & gtk_widget_set_size_request, gtk_widget_set_tooltip_text, &\n       & g_signal_connect, gtk_widget_queue_draw, &\n       & gtk_widget_get_realized, gtk_drawing_area_set_draw_func, &\n       & TRUE, FALSE, &\n       & CAIRO_FORMAT_ARGB32, &\n       & CAIRO_FORMAT_RGB24, CAIRO_STATUS_SUCCESS, &\n       & GTK_POLICY_AUTOMATIC, &\n       & gtk_gesture_click_new, gtk_widget_add_controller, &\n       & gtk_event_controller_motion_new, &\n       & gtk_gesture_single_set_button, gtk_event_controller_scroll_new, &\n       & gtk_event_controller_key_new, GTK_EVENT_CONTROLLER_SCROLL_VERTICAL, &\n       & gtk_widget_set_focusable\n\n  use gtk_sup\n\n  use, intrinsic :: iso_c_binding\n  use, intrinsic :: iso_fortran_env, only: error_unit\n\n  implicit none\n  type, bind(c) :: gtkallocation\n     integer(c_int) :: x,y,width,height\n  end type gtkallocation\n\ncontains\n\n  !+\n  function hl_gtk_drawing_area_new(scroll, size, ssize, expose_event, &\n       & data_expose, button_press_event, data_button_press, &\n       & button_release_event, data_button_release, scroll_event, &\n       & data_scroll, motion_event, data_motion, realize, data_realize, &\n       & configure_event, data_configure, key_press_event, data_key_press, &\n       & key_release_event, data_key_release, enter_event, data_enter, &\n       & leave_event, data_leave, destroy, data_destroy, &\n       & tooltip, has_alpha, size_allocate, data_size_allocate, &\n       & cairo_status, hscroll_policy, vscroll_policy) result(plota)\n\n    type(c_ptr) :: plota\n    type(c_ptr), intent(out), optional :: scroll\n    integer(c_int), intent(in), optional, dimension(2) :: size, ssize\n    type(c_funptr), optional :: expose_event, button_press_event, &\n         & button_release_event, scroll_event, key_press_event, &\n         & key_release_event, motion_event, realize, configure_event,&\n         & enter_event, leave_event, destroy, size_allocate\n    type(c_ptr), intent(in), optional :: data_expose, data_button_press, &\n         & data_button_release, data_scroll, data_motion, data_realize, &\n         & data_configure, data_key_press, data_key_release, data_enter, &\n         & data_leave, data_destroy, data_size_allocate\n    character(kind=c_char), dimension(*), optional, intent(in) :: tooltip\n    integer(c_int), intent(in), optional :: has_alpha\n    integer(c_int), intent(out), optional :: cairo_status\n    integer(c_int), intent(in), optional :: hscroll_policy, vscroll_policy\n\n    ! A high-level drawing area\n    !\n    ! SCROLL |  c_ptr |  optional |  If present, then the drawing area will be placed in a scrollable window, whose pointer will be returned here. If it is present, then it rather than the drawable should be used for packing.\n    ! SIZE |  c_int() |  optional |  The requested size for the area. If no size is given then a default size of 256x256 is used.\n    ! SSIZE |  c_int() : |  optional |  The requested size for a scrolling window\n    ! EXPOSE_EVENT |  c_funptr |  optional |  Callback for expose-event signal. **N.B.** In GTK 3 the signal is called \"draw\". If this is not given then a default handler is provided which copies the image surface to the drawing area.\n    ! DATA_EXPOSE |  c_ptr |  optional |  Data for expose_event callback\n    ! BUTTON_PRESS_EVENT |  c_funptr |  optional |  Callback for button-press-event signal\n    ! DATA_BUTTON_PRESS |  c_ptr |  optional |  Data for button_press_event callback\n    ! BUTTON_RELEASE_EVENT |  c_funptr |  optional |  Callback for button-release-event signal\n    ! DATA_BUTTON_RELEASE |  c_ptr |  optional |  Data for button_release_event callback\n    ! SCROLL_EVENT |  c_funptr |  optional |  Callback for scroll-event signal\n    ! DATA_SCROLL |  c_ptr |  optional |  Data for scroll_event callback\n    ! REALIZE |  c_funptr |  optional |  Callback for realize signal\n    ! DATA_REALIZE |  c_ptr |  optional |  Data for realize callback\n    ! CONFIGURE_EVENT | c_funptr |  optional |  Callback for configure-event signal\n    ! DATA_CONFIGURE |  c_ptr |  optional |  Data for configure_event callback\n    ! KEY_PRESS_EVENT |  c_funptr |  optional |  Callback for key-press-event signal\n    ! DATA_KEY_PRESS |  c_ptr |  optional |  Data for key_press_event callback\n    ! KEY_RELEASE_EVENT |  c_funptr |  optional |  Callback for key-release-event signal\n    ! DATA_KEY_RELEASE |  c_ptr |  optional |  Data for key_release_event callback\n    ! MOTION_EVENT |  c_funptr |  optional |  Callback for the motion-notify-event signal\n    ! DATA_MOTION |  c_ptr |  optional |  Data for motion_event\n    ! ENTER_EVENT |  c_funptr |  optional |  Callback for the enter-notify-event signal\n    ! DATA_ENTER |  c_ptr |  optional |  Data for enter_event\n    ! LEAVE_EVENT |  c_funptr |  optional |  Callback for the leave-notify-event signal\n    ! DATA_LEAVE |  c_ptr |  optional |  Data for leave_event\n    ! DESTROY |  c_funptr |  optional |  Callback when the widget is destroyed.\n    ! DATA_DESTROY |  c_ptr |  optional |  Data to pass to the destroy callback.\n    ! TOOLTIP |  string |  optional |  Tooltip for the drawing area.\n    ! HAS_ALPHA |  boolean |  optional |  If a pixbuf is used, should it have an alpha (transparency) channel (default=FALSE)\n    ! SIZE_ALLOCATE |  c_funptr |  optional |  Callback for the 'resize' signal ('size-allocate' in GTK 3).\n    ! DATA_SIZE_ALLOCATE |  c_ptr |  optional |  Data for size_allocate.\n    ! CAIRO_STATUS |  c_int |  optional |  Status code from the cairo surface.\n    ! HSCROLL_POLICY |  int |  optional |  Horizontal scrolling policy for the containing scroll window (default AUTOMATIC).\n    ! VSCROLL_POLICY |  int |  optional |  Vertical scrolling policy for the containing scroll window (default AUTOMATIC).\n    !\n    ! * If an explicit size is given then the drawing area cannot be made\n    ! smaller than that by resizing the containing window\n    !-\n\n    type(c_ptr) :: isurface, cstat_cstr\n    integer(c_int) :: s_type\n    integer(c_int) :: szx, szy\n    logical :: rgba\n    integer(c_int) :: cstat, hpolicy, vpolicy\n    character(len=120) :: cstat_fstr\n    ! GtkEventControllers:\n    type(c_ptr) :: controller_m, controller_s, controller_c, controller_k\n\n    plota = gtk_drawing_area_new()\n    if (present(size)) then\n       call gtk_widget_set_size_request(plota, size(1), size(2))\n       szx = size(1)\n       szy = size(2)\n    else\n       call gtk_widget_set_size_request(plota, -1_c_int, -1_c_int)\n       szx = 1   ! Negative values give a cairo error\n       szy = 1\n    end if\n\n    ! Add it to a scrolling window if one is requested\n    if (present(scroll)) then\n       scroll = gtk_scrolled_window_new()\n       if (present(hscroll_policy)) then\n          hpolicy = hscroll_policy\n       else\n          hpolicy = GTK_POLICY_AUTOMATIC\n       end if\n       if (present(vscroll_policy)) then\n          vpolicy = vscroll_policy\n       else\n          vpolicy = GTK_POLICY_AUTOMATIC\n       end if\n       call gtk_scrolled_window_set_policy(scroll, hpolicy, vpolicy)\n       if (present(ssize)) &\n            & call gtk_widget_set_size_request(scroll, ssize(1), ssize(2))\n       call gtk_scrolled_window_set_child(scroll, plota)\n    end if\n\n    ! Create the backing surface\n    if (present(has_alpha)) then\n       rgba = c_f_logical(has_alpha)\n    else\n       rgba = .false.\n    end if\n\n    if (rgba) then\n       s_type = CAIRO_FORMAT_ARGB32\n    else\n       s_type = CAIRO_FORMAT_RGB24\n    end if\n    isurface = cairo_image_surface_create(s_type, szx, szy)\n    isurface = cairo_surface_reference(isurface)   ! Prevent accidental deletion\n    call g_object_set_data(plota, \"backing-surface\"//c_null_char, isurface)\n\n    ! Realize signal\n    if (present(realize)) then\n       if (present(data_realize)) then\n          call g_signal_connect(plota, \"realize\"//c_null_char, realize, &\n               & data_realize)\n       else\n          call g_signal_connect(plota, \"realize\"//c_null_char, realize)\n       endif\n    end if\n\n    ! Destroy signal\n    if (present(destroy)) then\n       if (present(data_destroy)) then\n          call g_signal_connect(plota, \"destroy\"//c_null_char, destroy, &\n               & data_destroy)\n       else\n          call g_signal_connect(plota, \"destroy\"//c_null_char, destroy)\n       end if\n    else\n       call g_signal_connect(plota, \"destroy\"//c_null_char, &\n            & c_funloc(hl_gtk_drawing_area_destroy_cb))\n    end if\n\n    ! Size-allocate (resize) signal\n    if (present(size_allocate)) then\n       if (present(data_size_allocate)) then\n          call g_signal_connect(plota, \"resize\"//c_null_char, &\n               & size_allocate, data_size_allocate)\n       else\n          call g_signal_connect(plota, \"resize\"//c_null_char, &\n               & size_allocate)\n       end if\n    else\n       call g_signal_connect(plota, \"resize\"//c_null_char, &\n            & c_funloc(hl_gtk_drawing_area_resize_cb))\n    end if\n\n    ! Expose event (GTK 4):\n    if (present(expose_event)) then\n       if (present(data_expose)) then\n         call gtk_drawing_area_set_draw_func(plota, &\n                           & expose_event, data_expose, c_null_funptr)\n       else\n         call gtk_drawing_area_set_draw_func(plota, &\n                           & expose_event, c_null_ptr, c_null_funptr)\n       endif\n    else\n      call gtk_drawing_area_set_draw_func(plota, &\n         & c_funloc(hl_gtk_drawing_area_expose_cb), c_null_ptr, c_null_funptr)\n    end if\n\n    ! We need a gesture controller to detect mouse clicks:\n    ! https://developer.gnome.org/gtk4/stable/GtkGestureClick.html\n    ! https://developer.gnome.org/gtk4/stable/GtkWidget.html#gtk-widget-add-controller\n    if (present(button_press_event).OR.present(button_release_event)) then\n       controller_c = gtk_gesture_click_new()\n       ! 0 to listen to all buttons (button 1 by default):\n       call gtk_gesture_single_set_button (controller_c, 0_c_int)\n\n       if (present(button_press_event)) then\n         if (present(data_button_press)) then\n           call g_signal_connect(controller_c, \"pressed\"//c_null_char, &\n                               & button_press_event, data_button_press)\n         else\n           call g_signal_connect(controller_c, \"pressed\"//c_null_char, &\n                               & button_press_event)\n         endif\n       end if\n\n       if (present(button_release_event)) then\n         if (present(data_button_release)) then\n           call g_signal_connect(controller_c, \"released\"//c_null_char, &\n                               & button_release_event, data_button_release)\n         else\n           call g_signal_connect(controller_c, \"released\"//c_null_char, &\n                               & button_release_event)\n         endif\n       end if\n\n       call gtk_widget_add_controller(plota, controller_c)\n    end if\n\n    ! And a controller for scrolling:\n    ! https://developer.gnome.org/gtk4/stable/GtkEventControllerScroll.html\n    if (present(scroll_event)) then\n       controller_s = gtk_event_controller_scroll_new (GTK_EVENT_CONTROLLER_SCROLL_VERTICAL)\n       if (present(data_scroll)) then\n         call g_signal_connect(controller_s, \"scroll\"//c_null_char, &\n                             & scroll_event, data_scroll)\n       else\n         call g_signal_connect(controller_s, \"scroll\"//c_null_char, &\n                             & scroll_event)\n       endif\n       call gtk_widget_add_controller(plota, controller_s)\n    end if\n\n    ! And a controller for key events:\n    ! https://developer.gnome.org/gtk4/stable/GtkEventControllerKey.html\n    if (present(key_press_event).or.present(key_release_event)) then\n      controller_k = gtk_event_controller_key_new()\n      call g_signal_connect(controller_k, \"im-update\"//c_null_char, &\n               & c_funloc(im_update_event_h))\n\n      if (present(key_press_event)) then\n        if (present(data_key_press)) then\n          call g_signal_connect(controller_k, \"key-pressed\"//c_null_char, &\n               & key_press_event, data_key_press)\n        else\n          call g_signal_connect(controller_k, \"key-pressed\"//c_null_char, &\n               & key_press_event)\n        endif\n      end if\n\n      if (present(key_release_event)) then\n        if (present(data_key_release)) then\n          call g_signal_connect(controller_k, \"key-released\"//c_null_char, &\n               & key_press_event, data_key_release)\n        else\n          call g_signal_connect(controller_k, \"key-released\"//c_null_char, &\n               & key_press_event)\n        endif\n      endif\n\n      call gtk_widget_add_controller(plota, controller_k)\n      ! Note: For keyboard events, the drawing area must be able to\n      ! accept input focus:\n      call gtk_widget_set_focusable(plota, TRUE)\n    end if\n\n    ! And a controller to detect motion and know where is the mouse:\n    ! https://developer.gnome.org/gtk4/stable/GtkEventControllerMotion.html\n    if (present(motion_event).or.present(enter_event).or.present(leave_event)) then\n      controller_m = gtk_event_controller_motion_new ()\n\n      if (present(data_motion)) then\n        call g_signal_connect(controller_m, \"motion\"//c_null_char, &\n                            & motion_event, data_motion)\n      else\n        call g_signal_connect(controller_m, \"motion\"//c_null_char, &\n                            & motion_event)\n      endif\n\n      ! Enter event\n      if (present(data_enter)) then\n        call g_signal_connect(controller_m, \"enter\"//c_null_char, &\n             & enter_event, data_enter)\n      else\n        call g_signal_connect(controller_m, \"enter\"//c_null_char, &\n             & enter_event)\n      endif\n\n      ! Leave event\n      if (present(data_leave)) then\n        call g_signal_connect(controller_m, \"leave\"//c_null_char, &\n             & leave_event, data_leave)\n      else\n        call g_signal_connect(controller_m, \"leave\"//c_null_char, &\n             & leave_event)\n      endif\n\n      call gtk_widget_add_controller(plota, controller_m)\n    end if\n\n    ! Configure event\n    if (present(configure_event)) then\n       if (present(data_configure)) then\n          call g_signal_connect(plota, \"configure-event\"//c_null_char, &\n               & configure_event,  data_configure)\n       else\n          call g_signal_connect(plota, \"configure-event\"//c_null_char, &\n               & configure_event)\n       endif\n    end if\n\n    if (present(tooltip)) call gtk_widget_set_tooltip_text(plota, tooltip)\n\n    ! If we fail to create the cairo surface we need to warn the user.\n    ! Cairo does not generate error messages, just a propagated error state.\n\n    if (present(cairo_status)) then\n       cairo_status = cairo_surface_status(isurface)\n    else\n       cstat = cairo_surface_status(isurface)\n       if (cstat /= CAIRO_STATUS_SUCCESS) then\n          cstat_cstr = cairo_status_to_string(cstat)\n          call c_f_string(cstat_cstr, cstat_fstr)\n          write(error_unit, \"(A)\") &\n               & \"HL_GTK_DRAWING_AREA_NEW: Error creating backing store\", &\n               & trim(cstat_fstr)\n       end if\n    end if\n  end function hl_gtk_drawing_area_new\n\n  subroutine im_update_event_h(controller, gdata) bind(c)\n    type(c_ptr), value, intent(in)    :: controller, gdata\n    print *, \"im_update event detected\"\n  end subroutine im_update_event_h\n\n  !+\n  function hl_gtk_drawing_area_get_surface(area) result(isurface)\n    type(c_ptr) :: isurface\n    type(c_ptr), intent(in) :: area\n\n    ! Convenience routine to get the backing surface of a drawing area.\n    !\n    ! AREA |  c_ptr |  required |  The drawing area whose surface is required.\n    !-\n\n    isurface = g_object_get_data(area, \"backing-surface\"//c_null_char)\n\n  end function hl_gtk_drawing_area_get_surface\n\n  !+\n  function hl_gtk_drawing_area_get_gdk_pixbuf(area, x0, y0, xsize, ysize) &\n       & result(pixb)\n    type(c_ptr) :: pixb\n    type(c_ptr), intent(in) :: area\n    integer(c_int), intent(in), optional :: x0, y0, xsize, ysize\n\n    ! Read a drawing area (strictly the cairo surface\n    ! backing store) to a GDK pixbuf.\n    !\n    ! AREA |  c_ptr |  required |  The drawing area\n    ! X0, Y0 |  c_int |  optional |  The origin of the area to return (defaults 0)\n    ! XSIZE, YSIZE |  c_int |  optional |  The size of the region to return (defaults, from the origin to the top right of the surface).\n    !-\n\n    type(c_ptr) :: surface\n    integer(c_int) :: nx, ny, rs, fmt, lpix\n    integer(c_int) :: xorig, yorig, xrange, yrange\n\n    if (present(x0)) then\n       xorig = max(x0, 0)\n    else\n       xorig = 0\n    end if\n    if (present(y0)) then\n       yorig = max(y0, 0)\n    else\n       yorig = 0\n    end if\n    surface = hl_gtk_drawing_area_get_surface(area)\n    nx = cairo_image_surface_get_width(surface)\n    ny = cairo_image_surface_get_height(surface)\n    rs = cairo_image_surface_get_stride(surface)\n    fmt = cairo_image_surface_get_format(surface)\n    lpix = rs*(ny-1)+nx*4\n\n    if (present(xsize)) then\n       xrange = min(xsize, nx - xorig)\n    else\n       xrange = nx - xorig\n    end if\n    if (present(ysize)) then\n       yrange = min(ysize, ny - yorig)\n    else\n       yrange = ny - yorig\n    end if\n\n    pixb = gdk_pixbuf_get_from_surface(surface, xorig, yorig, &\n         & xrange, yrange)\n\n  end function hl_gtk_drawing_area_get_gdk_pixbuf\n\n  !+\n  subroutine hl_gtk_drawing_area_draw_pixbuf(area, pixbuf, x, y)\n    type(c_ptr), intent(in) :: area, pixbuf\n    integer(c_int), intent(in), optional :: x, y\n\n    ! Render a GdkPixbuf on a drawing area\n    !\n    ! AREA |  c_ptr |  required |  The drawing area.\n    ! PIXBUF |  c_ptr |  required |  The pixbuf to draw.\n    ! X, Y |  c_int |  optional |  The coordinate of the upper left corner of the pixbuf on the drawing area (defaults 0).\n    !\n    ! If you are rendering a pixbuf among other operations then just use\n    ! gdk_cairo_set_source_pixbuf directly on the context with which you\n    ! are working.\n    !-\n\n    type(c_ptr) :: cc\n    real(c_double) :: xx, yy\n\n    if (present(x)) then\n       xx = real(x,c_double)\n    else\n       xx = 0._c_double\n    end if\n    if (present(y)) then\n       yy = real(y, c_double)\n    else\n      yy = 0._c_double\n    end if\n\n    cc = hl_gtk_drawing_area_cairo_new(area)\n\n    call gdk_cairo_set_source_pixbuf(cc, pixbuf, xx, yy)\n    call cairo_paint(cc)\n\n    call gtk_widget_queue_draw(area)\n    call hl_gtk_drawing_area_cairo_destroy(cc)\n\n  end subroutine hl_gtk_drawing_area_draw_pixbuf\n\n  !+\n  function hl_gtk_drawing_area_expose_cb(area, event, data) bind(c) &\n       & result(rv)\n    integer(c_int) :: rv\n    type(c_ptr), value :: area, event, data\n\n    ! Default callback for exposing a drawing area. For this to be connected\n    ! no explicit expose callback should be specified.\n    !\n    ! AREA |  c_ptr |  required |  The drawing area\n    ! EVENT |  c_ptr |  required |  event structure in GTK+2, a cairo context in GTK>=3\n    ! DATA |  c_ptr |  required |  A pointer to user data (not used).\n    !-\n\n    type(c_ptr) :: cr, isurface\n\n    rv = FALSE\n\n    isurface = g_object_get_data(area, \"backing-surface\"//c_null_char)\n    if (.not. c_associated(isurface)) then\n       write(error_unit,*) &\n            & 'hl_gtk_drawing_area_expose_cb: Backing surface is NULL'\n       return\n    end if\n\n    ! Note for plplot users, this cairo context is a different one from\n    ! the context used by plplot for the actual drawing.\n\n    cr = event\n    call cairo_set_source_surface(cr, isurface, 0._c_double, 0._c_double)\n    call cairo_paint(cr)\n\n  end function hl_gtk_drawing_area_expose_cb\n\n  !+\n  subroutine hl_gtk_drawing_area_destroy_cb(area, data) bind(c)\n    type(c_ptr), value :: area, data\n\n    ! Default callback for the destroy signal on the drawing area.\n    ! Just destroys the backing surface.\n    !\n    ! AREA |  c_ptr |  required |  The drawing area being destroyed.\n    ! DATA |  c_ptr |  required |  User data for the callback (not used)\n    !-\n\n    type(c_ptr) :: isurface\n\n    isurface = g_object_get_data(area, \"backing-surface\"//c_null_char)\n    if (c_associated(isurface)) call cairo_surface_destroy(isurface)\n\n  end subroutine hl_gtk_drawing_area_destroy_cb\n\n  !+\n  subroutine hl_gtk_drawing_area_resize_cb(area, data) bind(c)\n    type(c_ptr), value :: area, data\n\n    ! Default call back for resizing the drawing area, just\n    ! copies the old backing store to the new one\n    !\n    ! AREA |  c_ptr |  required |  The drawing area being destroyed.\n    ! DATA |  c_ptr |  required |  User data for the callback (not used)\n    !-\n\n    call hl_gtk_drawing_area_resize(area, copy=.true.)\n  end subroutine hl_gtk_drawing_area_resize_cb\n\n  !+\n  function hl_gtk_drawing_area_cairo_new(area) result(cr)\n    type(c_ptr) :: cr\n    type(c_ptr), intent(in) :: area\n\n    ! Create a cairo context which will draw into the backing surface\n    !\n    ! AREA |  c_ptr |  required |  The drawing area to which we will draw.\n    !\n    ! After the drawing operations, you should call `gtk_widget_queue_draw`\n    ! to update the plot on the screen and `hl_gtk_pixbuf_cairo_destroy`\n    ! to destroy the cairo context.\n    !-\n\n    type(c_ptr) :: isurface\n\n    isurface = g_object_get_data(area, \"backing-surface\"//c_null_char)\n    if (.not. c_associated(isurface)) then\n       cr = C_NULL_PTR\n       write(error_unit,*) \"hl_gtk_pixbuf_cairo_new:: Backing surface is NULL\"\n       return\n    end if\n\n    cr = cairo_create(isurface)\n\n  end function hl_gtk_drawing_area_cairo_new\n\n  !+\n  subroutine hl_gtk_drawing_area_cairo_destroy(cr, destroy_surface)\n\n    type(c_ptr), intent(inout) :: cr\n    integer(c_int), intent(in), optional :: destroy_surface\n\n    ! Update the backing surface and destroy the cairo context\n    !\n    ! CR |  c_ptr |  required |  The cairo context to put in the pixbuf\n    ! DESTROY_SURFACE |  boolean  |  optional |  Set to TRUE to destroy the cairo_surface as well as the context. Normally the cairo surface is destroyed by the destroy callback of the drawing area, so does not need to be explicitly destroyed.\n    !\n    ! This is called following drawing operations to the context created by\n    ! `hl_gtk_drawing_area_cairo_new`. N.B. This does not update the window,\n    ! use gtk_widget_queue_draw to do that.\n    !-\n\n    type(c_ptr) :: isurface\n\n    if (present(destroy_surface)) then\n       if (destroy_surface == TRUE) then\n          ! Get the cairo surface and destroy it\n          isurface = cairo_get_target(cr)\n          call cairo_surface_destroy(isurface)\n       end if\n    end if\n\n    call cairo_destroy(cr)\n\n  end subroutine hl_gtk_drawing_area_cairo_destroy\n\n  !+\n  subroutine hl_gtk_drawing_area_resize(area, size, copy)\n    type(c_ptr), intent(in) :: area\n    integer(c_int), intent(in), optional, dimension(2) :: size\n    logical, optional, intent(in) :: copy\n\n    ! Resize a drawing area and its backing store.\n    !\n    ! AREA |  c_ptr |  required |  The area to resize.\n    ! SIZE |  int(2)  |  optional |  The new size, if omitted, then the backing store is resized to match the drawing area (e.g. after resizing the containing window).\n    ! COPY |  logical |  optional |  Set to .true. to copy the surface contents to the new backing store.\n    !-\n\n    type(c_ptr) :: cback, cback_old, cr\n    integer(c_int) :: szx, szy, s_type\n    type(gtkallocation), target:: alloc\n    logical :: copy_surface\n\n    if (present(copy)) then\n       copy_surface = copy\n    else\n       copy_surface = .false.\n    end if\n\n    ! If the SIZE keyword is present then resize the window\n    if (present(size)) then\n       call gtk_widget_set_size_request(area, size(1), size(2))\n       szx = size(1)\n       szy = size(2)\n    endif\n\n    ! Ensure that the allocation is up-to-date\n    call gtk_widget_get_allocation(area,c_loc(alloc))\n    szx = alloc%width\n    szy = alloc%height\n\n    ! Get the backing store and make a new one with the right type. Then\n    ! make that into the backing store.\n    cback_old = g_object_get_data(area, \"backing-surface\"//c_null_char)\n    s_type = cairo_image_surface_get_format(cback_old)\n    cback = cairo_image_surface_create(s_type, szx, szy)\n    cback = cairo_surface_reference(cback)   ! Prevent accidental deletion\n    call g_object_set_data(area, \"backing-surface\"//c_null_char, cback)\n\n    ! If the copy keyword is set then make a copy from the old\n    ! backing store to the new if the gdk surface is really there.\n    if (copy_surface) then\n       if (c_f_logical(gtk_widget_get_realized(area))) then\n          cr = cairo_create(cback)\n          call cairo_set_source_surface(cr, cback_old, &\n               & 0._c_double, 0._c_double)\n          call cairo_paint(cr)\n          call cairo_destroy(cr)\n       end if\n    end if\n\n    ! Ensure that the old backing store is fully dereferenced.\n    do\n       if (cairo_surface_get_reference_count(cback_old) <= 0) exit\n       call cairo_surface_destroy(cback_old)\n    end do\n\n  end subroutine hl_gtk_drawing_area_resize\n\n  !+\n  subroutine hl_gtk_drawing_area_get_size(area, width, height)\n    type(c_ptr), intent(in) :: area\n    integer(c_int), intent(out), optional :: width, height\n\n    ! Convenience routine to get the current size of a drawing area\n    !\n    ! AREA |  c_ptr |  required |  The drawing area whose size is needed.\n    ! WIDTH |  c_int |  optional |  The width of the area.\n    ! HEIGHT |  c_int |  optional |  The height of the area\n    !-\n\n    type(gtkallocation), target :: alloc\n\n    call gtk_widget_get_allocation(area,c_loc(alloc))\n    if (present(width)) width = alloc%width\n    if (present(height)) height = alloc%height\n\n  end subroutine hl_gtk_drawing_area_get_size\n\nend module gtk_draw_hl\n"
  },
  {
    "path": "src/gtk-enumerators.lis",
    "content": "cairo_ft_synthesize_bold\ncairo_ft_synthesize_oblique\ncairo_ps_level_2\ncairo_ps_level_3\ncairo_status_success\ncairo_status_no_memory\ncairo_status_invalid_restore\ncairo_status_invalid_pop_group\ncairo_status_no_current_point\ncairo_status_invalid_matrix\ncairo_status_invalid_status\ncairo_status_null_pointer\ncairo_status_invalid_string\ncairo_status_invalid_path_data\ncairo_status_read_error\ncairo_status_write_error\ncairo_status_surface_finished\ncairo_status_surface_type_mismatch\ncairo_status_pattern_type_mismatch\ncairo_status_invalid_content\ncairo_status_invalid_format\ncairo_status_invalid_visual\ncairo_status_file_not_found\ncairo_status_invalid_dash\ncairo_status_invalid_dsc_comment\ncairo_status_invalid_index\ncairo_status_clip_not_representable\ncairo_status_temp_file_error\ncairo_status_invalid_stride\ncairo_status_font_type_mismatch\ncairo_status_user_font_immutable\ncairo_status_user_font_error\ncairo_status_negative_count\ncairo_status_invalid_clusters\ncairo_status_invalid_slant\ncairo_status_invalid_weight\ncairo_status_invalid_size\ncairo_status_user_font_not_implemented\ncairo_status_device_type_mismatch\ncairo_status_device_error\ncairo_status_invalid_mesh_construction\ncairo_status_device_finished\ncairo_status_jbig2_global_missing\ncairo_status_png_error\ncairo_status_freetype_error\ncairo_status_win32_gdi_error\ncairo_status_tag_error\ncairo_status_last_status\ncairo_content_color\ncairo_content_alpha\ncairo_content_color_alpha\ncairo_format_invalid\ncairo_format_argb32\ncairo_format_rgb24\ncairo_format_a8\ncairo_format_a1\ncairo_format_rgb16_565\ncairo_format_rgb30\ncairo_operator_clear\ncairo_operator_source\ncairo_operator_over\ncairo_operator_in\ncairo_operator_out\ncairo_operator_atop\ncairo_operator_dest\ncairo_operator_dest_over\ncairo_operator_dest_in\ncairo_operator_dest_out\ncairo_operator_dest_atop\ncairo_operator_xor\ncairo_operator_add\ncairo_operator_saturate\ncairo_operator_multiply\ncairo_operator_screen\ncairo_operator_overlay\ncairo_operator_darken\ncairo_operator_lighten\ncairo_operator_color_dodge\ncairo_operator_color_burn\ncairo_operator_hard_light\ncairo_operator_soft_light\ncairo_operator_difference\ncairo_operator_exclusion\ncairo_operator_hsl_hue\ncairo_operator_hsl_saturation\ncairo_operator_hsl_color\ncairo_operator_hsl_luminosity\ncairo_antialias_default\ncairo_antialias_none\ncairo_antialias_gray\ncairo_antialias_subpixel\ncairo_antialias_fast\ncairo_antialias_good\ncairo_antialias_best\ncairo_fill_rule_winding\ncairo_fill_rule_even_odd\ncairo_line_cap_butt\ncairo_line_cap_round\ncairo_line_cap_square\ncairo_line_join_miter\ncairo_line_join_round\ncairo_line_join_bevel\ncairo_text_cluster_flag_backward\ncairo_font_slant_normal\ncairo_font_slant_italic\ncairo_font_slant_oblique\ncairo_font_weight_normal\ncairo_font_weight_bold\ncairo_subpixel_order_default\ncairo_subpixel_order_rgb\ncairo_subpixel_order_bgr\ncairo_subpixel_order_vrgb\ncairo_subpixel_order_vbgr\ncairo_hint_style_default\ncairo_hint_style_none\ncairo_hint_style_slight\ncairo_hint_style_medium\ncairo_hint_style_full\ncairo_hint_metrics_default\ncairo_hint_metrics_off\ncairo_hint_metrics_on\ncairo_font_type_toy\ncairo_font_type_ft\ncairo_font_type_win32\ncairo_font_type_quartz\ncairo_font_type_user\ncairo_path_move_to\ncairo_path_line_to\ncairo_path_curve_to\ncairo_path_close_path\ncairo_device_type_drm\ncairo_device_type_gl\ncairo_device_type_script\ncairo_device_type_xcb\ncairo_device_type_xlib\ncairo_device_type_xml\ncairo_device_type_cogl\ncairo_device_type_win32\ncairo_device_type_invalid\ncairo_surface_observer_normal\ncairo_surface_observer_record_operations\ncairo_surface_type_image\ncairo_surface_type_pdf\ncairo_surface_type_ps\ncairo_surface_type_xlib\ncairo_surface_type_xcb\ncairo_surface_type_glitz\ncairo_surface_type_quartz\ncairo_surface_type_win32\ncairo_surface_type_beos\ncairo_surface_type_directfb\ncairo_surface_type_svg\ncairo_surface_type_os2\ncairo_surface_type_win32_printing\ncairo_surface_type_quartz_image\ncairo_surface_type_script\ncairo_surface_type_qt\ncairo_surface_type_recording\ncairo_surface_type_vg\ncairo_surface_type_gl\ncairo_surface_type_drm\ncairo_surface_type_tee\ncairo_surface_type_xml\ncairo_surface_type_skia\ncairo_surface_type_subsurface\ncairo_surface_type_cogl\ncairo_pattern_type_solid\ncairo_pattern_type_surface\ncairo_pattern_type_linear\ncairo_pattern_type_radial\ncairo_pattern_type_mesh\ncairo_pattern_type_raster_source\ncairo_extend_none\ncairo_extend_repeat\ncairo_extend_reflect\ncairo_extend_pad\ncairo_filter_fast\ncairo_filter_good\ncairo_filter_best\ncairo_filter_nearest\ncairo_filter_bilinear\ncairo_filter_gaussian\ncairo_region_overlap_in\ncairo_region_overlap_out\ncairo_region_overlap_part\ncairo_script_mode_ascii\ncairo_script_mode_binary\ncairo_pdf_version_1_4\ncairo_pdf_version_1_5\ncairo_pdf_outline_flag_open\ncairo_pdf_outline_flag_bold\ncairo_pdf_outline_flag_italic\ncairo_pdf_metadata_title\ncairo_pdf_metadata_author\ncairo_pdf_metadata_subject\ncairo_pdf_metadata_keywords\ncairo_pdf_metadata_creator\ncairo_pdf_metadata_create_date\ncairo_pdf_metadata_mod_date\ncairo_svg_version_1_1\ncairo_svg_version_1_2\ncairo_svg_unit_user\ncairo_svg_unit_em\ncairo_svg_unit_ex\ncairo_svg_unit_px\ncairo_svg_unit_in\ncairo_svg_unit_cm\ncairo_svg_unit_mm\ncairo_svg_unit_pt\ncairo_svg_unit_pc\ncairo_svg_unit_percent\ngdk_interp_nearest\ngdk_interp_tiles\ngdk_interp_bilinear\ngdk_interp_hyper\ngdk_pixbuf_rotate_none\ngdk_pixbuf_rotate_counterclockwise\ngdk_pixbuf_rotate_upsidedown\ngdk_pixbuf_rotate_clockwise\ngdk_pixbuf_format_writable\ngdk_pixbuf_format_scalable\ngdk_pixbuf_format_threadsafe\ngdk_pixbuf_alpha_bilevel\ngdk_pixbuf_alpha_full\ngdk_colorspace_rgb\ngdk_pixbuf_error_corrupt_image\ngdk_pixbuf_error_insufficient_memory\ngdk_pixbuf_error_bad_option\ngdk_pixbuf_error_unknown_type\ngdk_pixbuf_error_unsupported_operation\ngdk_pixbuf_error_failed\ngdk_pixbuf_error_incomplete_animation\ngdk_pixdata_dump_pixdata_stream\ngdk_pixdata_dump_pixdata_struct\ngdk_pixdata_dump_macros\ngdk_pixdata_dump_gtypes\ngdk_pixdata_dump_ctypes\ngdk_pixdata_dump_static\ngdk_pixdata_dump_const\ngdk_pixdata_dump_rle_decoder\ng_module_bind_lazy\ng_module_bind_local\ng_module_bind_mask\ng_key_file_error_unknown_encoding\ng_key_file_error_parse\ng_key_file_error_not_found\ng_key_file_error_key_not_found\ng_key_file_error_group_not_found\ng_key_file_error_invalid_value\ng_key_file_none\ng_key_file_keep_comments\ng_key_file_keep_translations\ng_time_type_standard\ng_time_type_daylight\ng_time_type_universal\ng_option_flag_none\ng_option_flag_hidden\ng_option_flag_in_main\ng_option_flag_reverse\ng_option_flag_no_arg\ng_option_flag_filename\ng_option_flag_optional_arg\ng_option_flag_noalias\ng_option_arg_none\ng_option_arg_string\ng_option_arg_int\ng_option_arg_callback\ng_option_arg_filename\ng_option_arg_string_array\ng_option_arg_filename_array\ng_option_arg_double\ng_option_arg_int64\ng_option_error_unknown_option\ng_option_error_bad_value\ng_option_error_failed\ng_variant_class_boolean\ng_variant_class_byte\ng_variant_class_int16\ng_variant_class_uint16\ng_variant_class_int32\ng_variant_class_uint32\ng_variant_class_int64\ng_variant_class_uint64\ng_variant_class_handle\ng_variant_class_double\ng_variant_class_string\ng_variant_class_object_path\ng_variant_class_signature\ng_variant_class_variant\ng_variant_class_maybe\ng_variant_class_array\ng_variant_class_tuple\ng_variant_class_dict_entry\ng_variant_parse_error_failed\ng_variant_parse_error_basic_type_expected\ng_variant_parse_error_cannot_infer_type\ng_variant_parse_error_definite_type_expected\ng_variant_parse_error_input_not_at_end\ng_variant_parse_error_invalid_character\ng_variant_parse_error_invalid_format_string\ng_variant_parse_error_invalid_object_path\ng_variant_parse_error_invalid_signature\ng_variant_parse_error_invalid_type_string\ng_variant_parse_error_no_common_type\ng_variant_parse_error_number_out_of_range\ng_variant_parse_error_number_too_big\ng_variant_parse_error_type_error\ng_variant_parse_error_unexpected_token\ng_variant_parse_error_unknown_keyword\ng_variant_parse_error_unterminated_string_constant\ng_variant_parse_error_value_expected\ng_variant_parse_error_recursion\ng_test_trap_silence_stdout\ng_test_trap_silence_stderr\ng_test_trap_inherit_stdin\ng_test_subprocess_inherit_stdin\ng_test_subprocess_inherit_stdout\ng_test_subprocess_inherit_stderr\ng_test_run_success\ng_test_run_skipped\ng_test_run_failure\ng_test_run_incomplete\ng_test_log_none\ng_test_log_error\ng_test_log_start_binary\ng_test_log_list_case\ng_test_log_skip_case\ng_test_log_start_case\ng_test_log_stop_case\ng_test_log_min_result\ng_test_log_max_result\ng_test_log_message\ng_test_log_start_suite\ng_test_log_stop_suite\ng_test_dist\ng_test_built\ng_err_unknown\ng_err_unexp_eof\ng_err_unexp_eof_in_string\ng_err_unexp_eof_in_comment\ng_err_non_digit_in_const\ng_err_digit_radix\ng_err_float_radix\ng_err_float_malformed\ng_token_eof\ng_token_left_paren\ng_token_right_paren\ng_token_left_curly\ng_token_right_curly\ng_token_left_brace\ng_token_right_brace\ng_token_equal_sign\ng_token_comma\ng_token_none\ng_token_error\ng_token_char\ng_token_binary\ng_token_octal\ng_token_int\ng_token_hex\ng_token_float\ng_token_string\ng_token_symbol\ng_token_identifier\ng_token_identifier_null\ng_token_comment_single\ng_token_comment_multi\ng_token_last\ng_checksum_md5\ng_checksum_sha1\ng_checksum_sha256\ng_checksum_sha512\ng_checksum_sha384\ng_ascii_alnum\ng_ascii_alpha\ng_ascii_cntrl\ng_ascii_digit\ng_ascii_graph\ng_ascii_lower\ng_ascii_print\ng_ascii_punct\ng_ascii_space\ng_ascii_upper\ng_ascii_xdigit\ng_number_parser_error_invalid\ng_number_parser_error_out_of_bounds\ng_spawn_error_fork\ng_spawn_error_read\ng_spawn_error_chdir\ng_spawn_error_acces\ng_spawn_error_perm\ng_spawn_error_too_big\ng_spawn_error_2big\ng_spawn_error_noexec\ng_spawn_error_nametoolong\ng_spawn_error_noent\ng_spawn_error_nomem\ng_spawn_error_notdir\ng_spawn_error_loop\ng_spawn_error_txtbusy\ng_spawn_error_io\ng_spawn_error_nfile\ng_spawn_error_mfile\ng_spawn_error_inval\ng_spawn_error_isdir\ng_spawn_error_libbad\ng_spawn_error_failed\ng_spawn_default\ng_spawn_leave_descriptors_open\ng_spawn_do_not_reap_child\ng_spawn_search_path\ng_spawn_stdout_to_dev_null\ng_spawn_stderr_to_dev_null\ng_spawn_child_inherits_stdin\ng_spawn_file_and_argv_zero\ng_spawn_search_path_from_envp\ng_spawn_cloexec_pipes\ng_file_error_exist\ng_file_error_isdir\ng_file_error_acces\ng_file_error_nametoolong\ng_file_error_noent\ng_file_error_notdir\ng_file_error_nxio\ng_file_error_nodev\ng_file_error_rofs\ng_file_error_txtbsy\ng_file_error_fault\ng_file_error_loop\ng_file_error_nospc\ng_file_error_nomem\ng_file_error_mfile\ng_file_error_nfile\ng_file_error_badf\ng_file_error_inval\ng_file_error_pipe\ng_file_error_again\ng_file_error_intr\ng_file_error_io\ng_file_error_perm\ng_file_error_nosys\ng_file_error_failed\ng_file_test_is_regular\ng_file_test_is_symlink\ng_file_test_is_dir\ng_file_test_is_executable\ng_file_test_exists\ng_slice_config_always_malloc\ng_slice_config_bypass_magazines\ng_slice_config_working_set_msecs\ng_slice_config_color_increment\ng_slice_config_chunk_sizes\ng_slice_config_contention_counter\ng_win32_os_any\ng_win32_os_workstation\ng_win32_os_server\ng_bookmark_file_error_invalid_uri\ng_bookmark_file_error_invalid_value\ng_bookmark_file_error_app_not_registered\ng_bookmark_file_error_uri_not_found\ng_bookmark_file_error_read\ng_bookmark_file_error_unknown_encoding\ng_bookmark_file_error_write\ng_bookmark_file_error_file_not_found\ng_log_flag_recursion\ng_log_flag_fatal\ng_log_level_error\ng_log_level_critical\ng_log_level_warning\ng_log_level_message\ng_log_level_info\ng_log_level_debug\ng_log_level_mask\ng_log_writer_handled\ng_log_writer_unhandled\ng_io_error_none\ng_io_error_again\ng_io_error_inval\ng_io_error_unknown\ng_io_channel_error_fbig\ng_io_channel_error_inval\ng_io_channel_error_io\ng_io_channel_error_isdir\ng_io_channel_error_nospc\ng_io_channel_error_nxio\ng_io_channel_error_overflow\ng_io_channel_error_pipe\ng_io_channel_error_failed\ng_io_status_error\ng_io_status_normal\ng_io_status_eof\ng_io_status_again\ng_seek_cur\ng_seek_set\ng_seek_end\ng_io_flag_append\ng_io_flag_nonblock\ng_io_flag_is_readable\ng_io_flag_is_writable\ng_io_flag_is_writeable\ng_io_flag_is_seekable\ng_io_flag_mask\ng_io_flag_get_mask\ng_io_flag_set_mask\ng_shell_error_bad_quoting\ng_shell_error_empty_string\ng_shell_error_failed\ng_regex_error_compile\ng_regex_error_optimize\ng_regex_error_replace\ng_regex_error_match\ng_regex_error_internal\ng_regex_error_stray_backslash\ng_regex_error_missing_control_char\ng_regex_error_unrecognized_escape\ng_regex_error_quantifiers_out_of_order\ng_regex_error_quantifier_too_big\ng_regex_error_unterminated_character_class\ng_regex_error_invalid_escape_in_character_class\ng_regex_error_range_out_of_order\ng_regex_error_nothing_to_repeat\ng_regex_error_unrecognized_character\ng_regex_error_posix_named_class_outside_class\ng_regex_error_unmatched_parenthesis\ng_regex_error_inexistent_subpattern_reference\ng_regex_error_unterminated_comment\ng_regex_error_expression_too_large\ng_regex_error_memory_error\ng_regex_error_variable_length_lookbehind\ng_regex_error_malformed_condition\ng_regex_error_too_many_conditional_branches\ng_regex_error_assertion_expected\ng_regex_error_unknown_posix_class_name\ng_regex_error_posix_collating_elements_not_supported\ng_regex_error_hex_code_too_large\ng_regex_error_invalid_condition\ng_regex_error_single_byte_match_in_lookbehind\ng_regex_error_infinite_loop\ng_regex_error_missing_subpattern_name_terminator\ng_regex_error_duplicate_subpattern_name\ng_regex_error_malformed_property\ng_regex_error_unknown_property\ng_regex_error_subpattern_name_too_long\ng_regex_error_too_many_subpatterns\ng_regex_error_invalid_octal_value\ng_regex_error_too_many_branches_in_define\ng_regex_error_define_repetion\ng_regex_error_inconsistent_newline_options\ng_regex_error_missing_back_reference\ng_regex_error_invalid_relative_reference\ng_regex_error_backtracking_control_verb_argument_forbidden\ng_regex_error_unknown_backtracking_control_verb\ng_regex_error_number_too_big\ng_regex_error_missing_subpattern_name\ng_regex_error_missing_digit\ng_regex_error_invalid_data_character\ng_regex_error_extra_subpattern_name\ng_regex_error_backtracking_control_verb_argument_required\ng_regex_error_invalid_control_char\ng_regex_error_missing_name\ng_regex_error_not_supported_in_class\ng_regex_error_too_many_forward_references\ng_regex_error_name_too_long\ng_regex_error_character_value_too_large\ng_regex_caseless\ng_regex_multiline\ng_regex_dotall\ng_regex_extended\ng_regex_anchored\ng_regex_dollar_endonly\ng_regex_ungreedy\ng_regex_raw\ng_regex_no_auto_capture\ng_regex_optimize\ng_regex_firstline\ng_regex_dupnames\ng_regex_newline_cr\ng_regex_newline_lf\ng_regex_newline_crlf\ng_regex_newline_anycrlf\ng_regex_bsr_anycrlf\ng_regex_javascript_compat\ng_regex_match_anchored\ng_regex_match_notbol\ng_regex_match_noteol\ng_regex_match_notempty\ng_regex_match_partial\ng_regex_match_newline_cr\ng_regex_match_newline_lf\ng_regex_match_newline_crlf\ng_regex_match_newline_any\ng_regex_match_newline_anycrlf\ng_regex_match_bsr_anycrlf\ng_regex_match_bsr_any\ng_regex_match_partial_soft\ng_regex_match_partial_hard\ng_regex_match_notempty_atstart\ng_uri_flags_none\ng_uri_flags_parse_relaxed\ng_uri_flags_has_password\ng_uri_flags_has_auth_params\ng_uri_flags_encoded\ng_uri_flags_non_dns\ng_uri_flags_encoded_query\ng_uri_flags_encoded_path\ng_uri_flags_encoded_fragment\ng_uri_hide_none\ng_uri_hide_userinfo\ng_uri_hide_password\ng_uri_hide_auth_params\ng_uri_hide_query\ng_uri_hide_fragment\ng_uri_params_none\ng_uri_params_case_insensitive\ng_uri_params_www_form\ng_uri_params_parse_relaxed\ng_uri_error_failed\ng_uri_error_bad_scheme\ng_uri_error_bad_user\ng_uri_error_bad_password\ng_uri_error_bad_auth_params\ng_uri_error_bad_host\ng_uri_error_bad_port\ng_uri_error_bad_path\ng_uri_error_bad_query\ng_uri_error_bad_fragment\ng_convert_error_no_conversion\ng_convert_error_illegal_sequence\ng_convert_error_failed\ng_convert_error_partial_input\ng_convert_error_bad_uri\ng_convert_error_not_absolute_path\ng_convert_error_no_memory\ng_convert_error_embedded_nul\ng_user_directory_desktop\ng_user_directory_documents\ng_user_directory_download\ng_user_directory_music\ng_user_directory_pictures\ng_user_directory_public_share\ng_user_directory_templates\ng_user_directory_videos\ng_user_n_directories\ng_format_size_default\ng_format_size_long_format\ng_format_size_iec_units\ng_format_size_bits\ng_date_day\ng_date_month\ng_date_year\ng_date_bad_weekday\ng_date_monday\ng_date_tuesday\ng_date_wednesday\ng_date_thursday\ng_date_friday\ng_date_saturday\ng_date_sunday\ng_date_bad_month\ng_date_january\ng_date_february\ng_date_march\ng_date_april\ng_date_may\ng_date_june\ng_date_july\ng_date_august\ng_date_september\ng_date_october\ng_date_november\ng_date_december\ng_unicode_control\ng_unicode_format\ng_unicode_unassigned\ng_unicode_private_use\ng_unicode_surrogate\ng_unicode_lowercase_letter\ng_unicode_modifier_letter\ng_unicode_other_letter\ng_unicode_titlecase_letter\ng_unicode_uppercase_letter\ng_unicode_spacing_mark\ng_unicode_enclosing_mark\ng_unicode_non_spacing_mark\ng_unicode_decimal_number\ng_unicode_letter_number\ng_unicode_other_number\ng_unicode_connect_punctuation\ng_unicode_dash_punctuation\ng_unicode_close_punctuation\ng_unicode_final_punctuation\ng_unicode_initial_punctuation\ng_unicode_other_punctuation\ng_unicode_open_punctuation\ng_unicode_currency_symbol\ng_unicode_modifier_symbol\ng_unicode_math_symbol\ng_unicode_other_symbol\ng_unicode_line_separator\ng_unicode_paragraph_separator\ng_unicode_space_separator\ng_unicode_break_mandatory\ng_unicode_break_carriage_return\ng_unicode_break_line_feed\ng_unicode_break_combining_mark\ng_unicode_break_surrogate\ng_unicode_break_zero_width_space\ng_unicode_break_inseparable\ng_unicode_break_non_breaking_glue\ng_unicode_break_contingent\ng_unicode_break_space\ng_unicode_break_after\ng_unicode_break_before\ng_unicode_break_before_and_after\ng_unicode_break_hyphen\ng_unicode_break_non_starter\ng_unicode_break_open_punctuation\ng_unicode_break_close_punctuation\ng_unicode_break_quotation\ng_unicode_break_exclamation\ng_unicode_break_ideographic\ng_unicode_break_numeric\ng_unicode_break_infix_separator\ng_unicode_break_symbol\ng_unicode_break_alphabetic\ng_unicode_break_prefix\ng_unicode_break_postfix\ng_unicode_break_complex_context\ng_unicode_break_ambiguous\ng_unicode_break_unknown\ng_unicode_break_next_line\ng_unicode_break_word_joiner\ng_unicode_break_hangul_l_jamo\ng_unicode_break_hangul_v_jamo\ng_unicode_break_hangul_t_jamo\ng_unicode_break_hangul_lv_syllable\ng_unicode_break_hangul_lvt_syllable\ng_unicode_break_close_paranthesis\ng_unicode_break_conditional_japanese_starter\ng_unicode_break_hebrew_letter\ng_unicode_break_regional_indicator\ng_unicode_break_emoji_base\ng_unicode_break_emoji_modifier\ng_unicode_break_zero_width_joiner\ng_unicode_script_invalid_code\ng_unicode_script_common\ng_unicode_script_inherited\ng_unicode_script_arabic\ng_unicode_script_armenian\ng_unicode_script_bengali\ng_unicode_script_bopomofo\ng_unicode_script_cherokee\ng_unicode_script_coptic\ng_unicode_script_cyrillic\ng_unicode_script_deseret\ng_unicode_script_devanagari\ng_unicode_script_ethiopic\ng_unicode_script_georgian\ng_unicode_script_gothic\ng_unicode_script_greek\ng_unicode_script_gujarati\ng_unicode_script_gurmukhi\ng_unicode_script_han\ng_unicode_script_hangul\ng_unicode_script_hebrew\ng_unicode_script_hiragana\ng_unicode_script_kannada\ng_unicode_script_katakana\ng_unicode_script_khmer\ng_unicode_script_lao\ng_unicode_script_latin\ng_unicode_script_malayalam\ng_unicode_script_mongolian\ng_unicode_script_myanmar\ng_unicode_script_ogham\ng_unicode_script_old_italic\ng_unicode_script_oriya\ng_unicode_script_runic\ng_unicode_script_sinhala\ng_unicode_script_syriac\ng_unicode_script_tamil\ng_unicode_script_telugu\ng_unicode_script_thaana\ng_unicode_script_thai\ng_unicode_script_tibetan\ng_unicode_script_canadian_aboriginal\ng_unicode_script_yi\ng_unicode_script_tagalog\ng_unicode_script_hanunoo\ng_unicode_script_buhid\ng_unicode_script_tagbanwa\ng_unicode_script_braille\ng_unicode_script_cypriot\ng_unicode_script_limbu\ng_unicode_script_osmanya\ng_unicode_script_shavian\ng_unicode_script_linear_b\ng_unicode_script_tai_le\ng_unicode_script_ugaritic\ng_unicode_script_new_tai_lue\ng_unicode_script_buginese\ng_unicode_script_glagolitic\ng_unicode_script_tifinagh\ng_unicode_script_syloti_nagri\ng_unicode_script_old_persian\ng_unicode_script_kharoshthi\ng_unicode_script_unknown\ng_unicode_script_balinese\ng_unicode_script_cuneiform\ng_unicode_script_phoenician\ng_unicode_script_phags_pa\ng_unicode_script_nko\ng_unicode_script_kayah_li\ng_unicode_script_lepcha\ng_unicode_script_rejang\ng_unicode_script_sundanese\ng_unicode_script_saurashtra\ng_unicode_script_cham\ng_unicode_script_ol_chiki\ng_unicode_script_vai\ng_unicode_script_carian\ng_unicode_script_lycian\ng_unicode_script_lydian\ng_unicode_script_avestan\ng_unicode_script_bamum\ng_unicode_script_egyptian_hieroglyphs\ng_unicode_script_imperial_aramaic\ng_unicode_script_inscriptional_pahlavi\ng_unicode_script_inscriptional_parthian\ng_unicode_script_javanese\ng_unicode_script_kaithi\ng_unicode_script_lisu\ng_unicode_script_meetei_mayek\ng_unicode_script_old_south_arabian\ng_unicode_script_old_turkic\ng_unicode_script_samaritan\ng_unicode_script_tai_tham\ng_unicode_script_tai_viet\ng_unicode_script_batak\ng_unicode_script_brahmi\ng_unicode_script_mandaic\ng_unicode_script_chakma\ng_unicode_script_meroitic_cursive\ng_unicode_script_meroitic_hieroglyphs\ng_unicode_script_miao\ng_unicode_script_sharada\ng_unicode_script_sora_sompeng\ng_unicode_script_takri\ng_unicode_script_bassa_vah\ng_unicode_script_caucasian_albanian\ng_unicode_script_duployan\ng_unicode_script_elbasan\ng_unicode_script_grantha\ng_unicode_script_khojki\ng_unicode_script_khudawadi\ng_unicode_script_linear_a\ng_unicode_script_mahajani\ng_unicode_script_manichaean\ng_unicode_script_mende_kikakui\ng_unicode_script_modi\ng_unicode_script_mro\ng_unicode_script_nabataean\ng_unicode_script_old_north_arabian\ng_unicode_script_old_permic\ng_unicode_script_pahawh_hmong\ng_unicode_script_palmyrene\ng_unicode_script_pau_cin_hau\ng_unicode_script_psalter_pahlavi\ng_unicode_script_siddham\ng_unicode_script_tirhuta\ng_unicode_script_warang_citi\ng_unicode_script_ahom\ng_unicode_script_anatolian_hieroglyphs\ng_unicode_script_hatran\ng_unicode_script_multani\ng_unicode_script_old_hungarian\ng_unicode_script_signwriting\ng_unicode_script_adlam\ng_unicode_script_bhaiksuki\ng_unicode_script_marchen\ng_unicode_script_newa\ng_unicode_script_osage\ng_unicode_script_tangut\ng_unicode_script_masaram_gondi\ng_unicode_script_nushu\ng_unicode_script_soyombo\ng_unicode_script_zanabazar_square\ng_unicode_script_dogra\ng_unicode_script_gunjala_gondi\ng_unicode_script_hanifi_rohingya\ng_unicode_script_makasar\ng_unicode_script_medefaidrin\ng_unicode_script_old_sogdian\ng_unicode_script_sogdian\ng_unicode_script_elymaic\ng_unicode_script_nandinagari\ng_unicode_script_nyiakeng_puachue_hmong\ng_unicode_script_wancho\ng_unicode_script_chorasmian\ng_unicode_script_dives_akuru\ng_unicode_script_khitan_small_script\ng_unicode_script_yezidi\ng_normalize_default\ng_normalize_nfd\ng_normalize_default_compose\ng_normalize_nfc\ng_normalize_all\ng_normalize_nfkd\ng_normalize_all_compose\ng_normalize_nfkc\ng_hook_flag_active\ng_hook_flag_in_call\ng_hook_flag_mask\ng_markup_error_bad_utf8\ng_markup_error_empty\ng_markup_error_parse\ng_markup_error_unknown_element\ng_markup_error_unknown_attribute\ng_markup_error_invalid_content\ng_markup_error_missing_attribute\ng_markup_do_not_use_this_unsupported_flag\ng_markup_treat_cdata_as_text\ng_markup_prefix_error_position\ng_markup_ignore_qualified\ng_markup_collect_invalid\ng_markup_collect_string\ng_markup_collect_strdup\ng_markup_collect_boolean\ng_markup_collect_tristate\ng_markup_collect_optional\ng_traverse_leaves\ng_traverse_non_leaves\ng_traverse_all\ng_traverse_mask\ng_traverse_leafs\ng_traverse_non_leafs\ng_in_order\ng_pre_order\ng_post_order\ng_level_order\ng_thread_error_again\ng_once_status_notcalled\ng_once_status_progress\ng_once_status_ready\ng_thread_priority_low\ng_thread_priority_normal\ng_thread_priority_high\ng_thread_priority_urgent\ng_settings_bind_default\ng_settings_bind_get\ng_settings_bind_set\ng_settings_bind_no_sensitivity\ng_settings_bind_get_no_changes\ng_settings_bind_invert_boolean\ng_resolver_name_lookup_flags_default\ng_resolver_name_lookup_flags_ipv4_only\ng_resolver_name_lookup_flags_ipv6_only\ng_app_info_create_none\ng_app_info_create_needs_terminal\ng_app_info_create_supports_uris\ng_app_info_create_supports_startup_notification\ng_converter_no_flags\ng_converter_input_at_end\ng_converter_flush\ng_converter_error\ng_converter_converted\ng_converter_finished\ng_converter_flushed\ng_data_stream_byte_order_big_endian\ng_data_stream_byte_order_little_endian\ng_data_stream_byte_order_host_endian\ng_data_stream_newline_type_lf\ng_data_stream_newline_type_cr\ng_data_stream_newline_type_cr_lf\ng_data_stream_newline_type_any\ng_file_attribute_type_invalid\ng_file_attribute_type_string\ng_file_attribute_type_byte_string\ng_file_attribute_type_boolean\ng_file_attribute_type_uint32\ng_file_attribute_type_int32\ng_file_attribute_type_uint64\ng_file_attribute_type_int64\ng_file_attribute_type_object\ng_file_attribute_type_stringv\ng_file_attribute_info_none\ng_file_attribute_info_copy_with_file\ng_file_attribute_info_copy_when_moved\ng_file_attribute_status_unset\ng_file_attribute_status_set\ng_file_attribute_status_error_setting\ng_file_query_info_none\ng_file_query_info_nofollow_symlinks\ng_file_create_none\ng_file_create_private\ng_file_create_replace_destination\ng_file_measure_none\ng_file_measure_report_any_error\ng_file_measure_apparent_size\ng_file_measure_no_xdev\ng_mount_mount_none\ng_mount_unmount_none\ng_mount_unmount_force\ng_drive_start_none\ng_drive_start_stop_type_unknown\ng_drive_start_stop_type_shutdown\ng_drive_start_stop_type_network\ng_drive_start_stop_type_multidisk\ng_drive_start_stop_type_password\ng_file_copy_none\ng_file_copy_overwrite\ng_file_copy_backup\ng_file_copy_nofollow_symlinks\ng_file_copy_all_metadata\ng_file_copy_no_fallback_for_move\ng_file_copy_target_default_perms\ng_file_monitor_none\ng_file_monitor_watch_mounts\ng_file_monitor_send_moved\ng_file_monitor_watch_hard_links\ng_file_monitor_watch_moves\ng_file_type_unknown\ng_file_type_regular\ng_file_type_directory\ng_file_type_symbolic_link\ng_file_type_special\ng_file_type_shortcut\ng_file_type_mountable\ng_filesystem_preview_type_if_always\ng_filesystem_preview_type_if_local\ng_filesystem_preview_type_never\ng_file_monitor_event_changed\ng_file_monitor_event_changes_done_hint\ng_file_monitor_event_deleted\ng_file_monitor_event_created\ng_file_monitor_event_attribute_changed\ng_file_monitor_event_pre_unmount\ng_file_monitor_event_unmounted\ng_file_monitor_event_moved\ng_file_monitor_event_renamed\ng_file_monitor_event_moved_in\ng_file_monitor_event_moved_out\ng_io_error_failed\ng_io_error_not_found\ng_io_error_exists\ng_io_error_is_directory\ng_io_error_not_directory\ng_io_error_not_empty\ng_io_error_not_regular_file\ng_io_error_not_symbolic_link\ng_io_error_not_mountable_file\ng_io_error_filename_too_long\ng_io_error_invalid_filename\ng_io_error_too_many_links\ng_io_error_no_space\ng_io_error_invalid_argument\ng_io_error_permission_denied\ng_io_error_not_supported\ng_io_error_not_mounted\ng_io_error_already_mounted\ng_io_error_closed\ng_io_error_cancelled\ng_io_error_pending\ng_io_error_read_only\ng_io_error_cant_create_backup\ng_io_error_wrong_etag\ng_io_error_timed_out\ng_io_error_would_recurse\ng_io_error_busy\ng_io_error_would_block\ng_io_error_host_not_found\ng_io_error_would_merge\ng_io_error_failed_handled\ng_io_error_too_many_open_files\ng_io_error_not_initialized\ng_io_error_address_in_use\ng_io_error_partial_input\ng_io_error_invalid_data\ng_io_error_dbus_error\ng_io_error_host_unreachable\ng_io_error_network_unreachable\ng_io_error_connection_refused\ng_io_error_proxy_failed\ng_io_error_proxy_auth_failed\ng_io_error_proxy_need_auth\ng_io_error_proxy_not_allowed\ng_io_error_broken_pipe\ng_io_error_connection_closed\ng_io_error_not_connected\ng_io_error_message_too_large\ng_ask_password_need_password\ng_ask_password_need_username\ng_ask_password_need_domain\ng_ask_password_saving_supported\ng_ask_password_anonymous_supported\ng_ask_password_tcrypt\ng_password_save_never\ng_password_save_for_session\ng_password_save_permanently\ng_mount_operation_handled\ng_mount_operation_aborted\ng_mount_operation_unhandled\ng_output_stream_splice_none\ng_output_stream_splice_close_source\ng_output_stream_splice_close_target\ng_io_stream_splice_none\ng_io_stream_splice_close_stream1\ng_io_stream_splice_close_stream2\ng_io_stream_splice_wait_for_both\ng_emblem_origin_unknown\ng_emblem_origin_device\ng_emblem_origin_livemetadata\ng_emblem_origin_tag\ng_resolver_error_not_found\ng_resolver_error_temporary_failure\ng_resolver_error_internal\ng_resolver_record_srv\ng_resolver_record_mx\ng_resolver_record_txt\ng_resolver_record_soa\ng_resolver_record_ns\ng_resource_error_not_found\ng_resource_error_internal\ng_resource_flags_none\ng_resource_flags_compressed\ng_resource_lookup_flags_none\ng_socket_type_invalid\ng_socket_type_stream\ng_socket_type_datagram\ng_socket_type_seqpacket\ng_socket_protocol_unknown\ng_socket_protocol_default\ng_socket_protocol_tcp\ng_socket_protocol_udp\ng_socket_protocol_sctp\ng_zlib_compressor_format_zlib\ng_zlib_compressor_format_gzip\ng_zlib_compressor_format_raw\ng_unix_socket_address_invalid\ng_unix_socket_address_anonymous\ng_unix_socket_address_path\ng_unix_socket_address_abstract\ng_unix_socket_address_abstract_padded\ng_bus_type_starter\ng_bus_type_none\ng_bus_type_system\ng_bus_type_session\ng_bus_name_owner_flags_none\ng_bus_name_owner_flags_allow_replacement\ng_bus_name_owner_flags_replace\ng_bus_name_owner_flags_do_not_queue\ng_bus_name_watcher_flags_none\ng_bus_name_watcher_flags_auto_start\ng_dbus_proxy_flags_none\ng_dbus_proxy_flags_do_not_load_properties\ng_dbus_proxy_flags_do_not_connect_signals\ng_dbus_proxy_flags_do_not_auto_start\ng_dbus_proxy_flags_get_invalidated_properties\ng_dbus_proxy_flags_do_not_auto_start_at_construction\ng_dbus_error_failed\ng_dbus_error_no_memory\ng_dbus_error_service_unknown\ng_dbus_error_name_has_no_owner\ng_dbus_error_no_reply\ng_dbus_error_io_error\ng_dbus_error_bad_address\ng_dbus_error_not_supported\ng_dbus_error_limits_exceeded\ng_dbus_error_access_denied\ng_dbus_error_auth_failed\ng_dbus_error_no_server\ng_dbus_error_timeout\ng_dbus_error_no_network\ng_dbus_error_address_in_use\ng_dbus_error_disconnected\ng_dbus_error_invalid_args\ng_dbus_error_file_not_found\ng_dbus_error_file_exists\ng_dbus_error_unknown_method\ng_dbus_error_timed_out\ng_dbus_error_match_rule_not_found\ng_dbus_error_match_rule_invalid\ng_dbus_error_spawn_exec_failed\ng_dbus_error_spawn_fork_failed\ng_dbus_error_spawn_child_exited\ng_dbus_error_spawn_child_signaled\ng_dbus_error_spawn_failed\ng_dbus_error_spawn_setup_failed\ng_dbus_error_spawn_config_invalid\ng_dbus_error_spawn_service_invalid\ng_dbus_error_spawn_service_not_found\ng_dbus_error_spawn_permissions_invalid\ng_dbus_error_spawn_file_invalid\ng_dbus_error_spawn_no_memory\ng_dbus_error_unix_process_id_unknown\ng_dbus_error_invalid_signature\ng_dbus_error_invalid_file_content\ng_dbus_error_selinux_security_context_unknown\ng_dbus_error_adt_audit_data_unknown\ng_dbus_error_object_path_in_use\ng_dbus_error_unknown_object\ng_dbus_error_unknown_interface\ng_dbus_error_unknown_property\ng_dbus_error_property_read_only\ng_dbus_connection_flags_none\ng_dbus_connection_flags_authentication_client\ng_dbus_connection_flags_authentication_server\ng_dbus_connection_flags_authentication_allow_anonymous\ng_dbus_connection_flags_message_bus_connection\ng_dbus_connection_flags_delay_message_processing\ng_dbus_capability_flags_none\ng_dbus_capability_flags_unix_fd_passing\ng_dbus_call_flags_none\ng_dbus_call_flags_no_auto_start\ng_dbus_call_flags_allow_interactive_authorization\ng_dbus_message_type_invalid\ng_dbus_message_type_method_call\ng_dbus_message_type_method_return\ng_dbus_message_type_error\ng_dbus_message_type_signal\ng_dbus_message_flags_none\ng_dbus_message_flags_no_reply_expected\ng_dbus_message_flags_no_auto_start\ng_dbus_message_flags_allow_interactive_authorization\ng_dbus_message_header_field_invalid\ng_dbus_message_header_field_path\ng_dbus_message_header_field_interface\ng_dbus_message_header_field_member\ng_dbus_message_header_field_error_name\ng_dbus_message_header_field_reply_serial\ng_dbus_message_header_field_destination\ng_dbus_message_header_field_sender\ng_dbus_message_header_field_signature\ng_dbus_message_header_field_num_unix_fds\ng_dbus_property_info_flags_none\ng_dbus_property_info_flags_readable\ng_dbus_property_info_flags_writable\ng_dbus_subtree_flags_none\ng_dbus_subtree_flags_dispatch_to_unenumerated_nodes\ng_dbus_server_flags_none\ng_dbus_server_flags_run_in_thread\ng_dbus_server_flags_authentication_allow_anonymous\ng_dbus_signal_flags_none\ng_dbus_signal_flags_no_match_rule\ng_dbus_signal_flags_match_arg0_namespace\ng_dbus_signal_flags_match_arg0_path\ng_dbus_send_message_flags_none\ng_dbus_send_message_flags_preserve_serial\ng_credentials_type_invalid\ng_credentials_type_linux_ucred\ng_credentials_type_freebsd_cmsgcred\ng_credentials_type_openbsd_sockpeercred\ng_credentials_type_solaris_ucred\ng_credentials_type_netbsd_unpcbid\ng_credentials_type_apple_xucred\ng_dbus_message_byte_order_big_endian\ng_dbus_message_byte_order_little_endian\ng_application_flags_none\ng_application_is_service\ng_application_is_launcher\ng_application_handles_open\ng_application_handles_command_line\ng_application_send_environment\ng_application_non_unique\ng_application_can_override_app_id\ng_application_allow_replacement\ng_application_replace\ng_tls_error_unavailable\ng_tls_error_misc\ng_tls_error_bad_certificate\ng_tls_error_not_tls\ng_tls_error_handshake\ng_tls_error_certificate_required\ng_tls_error_eof\ng_tls_error_inappropriate_fallback\ng_tls_certificate_unknown_ca\ng_tls_certificate_bad_identity\ng_tls_certificate_not_activated\ng_tls_certificate_expired\ng_tls_certificate_revoked\ng_tls_certificate_insecure\ng_tls_certificate_generic_error\ng_tls_certificate_validate_all\ng_tls_authentication_none\ng_tls_authentication_requested\ng_tls_authentication_required\ng_tls_channel_binding_tls_unique\ng_tls_channel_binding_tls_server_end_point\ng_tls_channel_binding_error_not_implemented\ng_tls_channel_binding_error_invalid_state\ng_tls_channel_binding_error_not_available\ng_tls_channel_binding_error_not_supported\ng_tls_channel_binding_error_general_error\ng_tls_rehandshake_never\ng_tls_rehandshake_safely\ng_tls_rehandshake_unsafely\ng_tls_password_none\ng_tls_password_retry\ng_tls_password_many_tries\ng_tls_password_final_try\ng_tls_interaction_unhandled\ng_tls_interaction_handled\ng_tls_interaction_failed\ng_dbus_object_manager_client_flags_none\ng_dbus_object_manager_client_flags_do_not_auto_start\ng_tls_database_verify_none\ng_tls_database_lookup_none\ng_tls_database_lookup_keypair\ng_tls_certificate_request_none\ng_io_module_scope_none\ng_io_module_scope_block_duplicates\ng_socket_client_resolving\ng_socket_client_resolved\ng_socket_client_connecting\ng_socket_client_connected\ng_socket_client_proxy_negotiating\ng_socket_client_proxy_negotiated\ng_socket_client_tls_handshaking\ng_socket_client_tls_handshaked\ng_socket_client_complete\ng_socket_listener_binding\ng_socket_listener_bound\ng_socket_listener_listening\ng_socket_listener_listened\ng_test_dbus_none\ng_subprocess_flags_none\ng_subprocess_flags_stdin_pipe\ng_subprocess_flags_stdin_inherit\ng_subprocess_flags_stdout_pipe\ng_subprocess_flags_stdout_silence\ng_subprocess_flags_stderr_pipe\ng_subprocess_flags_stderr_silence\ng_subprocess_flags_stderr_merge\ng_subprocess_flags_inherit_fds\ng_notification_priority_normal\ng_notification_priority_low\ng_notification_priority_high\ng_notification_priority_urgent\ng_network_connectivity_local\ng_network_connectivity_limited\ng_network_connectivity_portal\ng_network_connectivity_full\ng_pollable_return_failed\ng_pollable_return_ok\ng_pollable_return_would_block\ng_memory_monitor_warning_level_low\ng_memory_monitor_warning_level_medium\ng_memory_monitor_warning_level_critical\ng_signal_run_first\ng_signal_run_last\ng_signal_run_cleanup\ng_signal_no_recurse\ng_signal_detailed\ng_signal_action\ng_signal_no_hooks\ng_signal_must_collect\ng_signal_deprecated\ng_connect_after\ng_connect_swapped\ng_signal_match_id\ng_signal_match_detail\ng_signal_match_closure\ng_signal_match_func\ng_signal_match_data\ng_signal_match_unblocked\ng_binding_default\ng_binding_bidirectional\ng_binding_sync_create\ng_binding_invert_boolean\ng_param_readable\ng_param_writable\ng_param_readwrite\ng_param_construct\ng_param_construct_only\ng_param_lax_validation\ng_param_static_name\ng_param_private\ng_param_static_nick\ng_param_static_blurb\ng_param_explicit_notify\ng_type_debug_none\ng_type_debug_objects\ng_type_debug_signals\ng_type_debug_instance_count\ng_type_debug_mask\ng_type_flag_classed\ng_type_flag_instantiatable\ng_type_flag_derivable\ng_type_flag_deep_derivable\ng_type_flag_abstract\ng_type_flag_value_abstract\ngdk_device_pad_feature_button\ngdk_device_pad_feature_ring\ngdk_device_pad_feature_strip\ngdk_gravity_north_west\ngdk_gravity_north\ngdk_gravity_north_east\ngdk_gravity_west\ngdk_gravity_center\ngdk_gravity_east\ngdk_gravity_south_west\ngdk_gravity_south\ngdk_gravity_south_east\ngdk_gravity_static\ngdk_shift_mask\ngdk_lock_mask\ngdk_control_mask\ngdk_alt_mask\ngdk_button1_mask\ngdk_button2_mask\ngdk_button3_mask\ngdk_button4_mask\ngdk_button5_mask\ngdk_super_mask\ngdk_hyper_mask\ngdk_meta_mask\ngdk_gl_error_not_available\ngdk_gl_error_unsupported_format\ngdk_gl_error_unsupported_profile\ngdk_gl_error_compilation_failed\ngdk_gl_error_link_failed\ngdk_vulkan_error_unsupported\ngdk_vulkan_error_not_available\ngdk_axis_ignore\ngdk_axis_x\ngdk_axis_y\ngdk_axis_delta_x\ngdk_axis_delta_y\ngdk_axis_pressure\ngdk_axis_xtilt\ngdk_axis_ytilt\ngdk_axis_wheel\ngdk_axis_distance\ngdk_axis_rotation\ngdk_axis_slider\ngdk_axis_last\ngdk_action_copy\ngdk_action_move\ngdk_action_link\ngdk_action_ask\ngdk_drag_cancel_no_target\ngdk_drag_cancel_user_cancelled\ngdk_drag_cancel_error\ngdk_delete\ngdk_motion_notify\ngdk_button_press\ngdk_button_release\ngdk_key_press\ngdk_key_release\ngdk_enter_notify\ngdk_leave_notify\ngdk_focus_change\ngdk_configure\ngdk_proximity_in\ngdk_proximity_out\ngdk_drag_enter\ngdk_drag_leave\ngdk_drag_motion_f\ngdk_drop_start\ngdk_scroll\ngdk_grab_broken\ngdk_touch_begin\ngdk_touch_update\ngdk_touch_end\ngdk_touch_cancel\ngdk_touchpad_swipe\ngdk_touchpad_pinch\ngdk_pad_button_press\ngdk_pad_button_release\ngdk_pad_ring\ngdk_pad_strip\ngdk_pad_group_mode\ngdk_event_last\ngdk_touchpad_gesture_phase_begin\ngdk_touchpad_gesture_phase_update\ngdk_touchpad_gesture_phase_end\ngdk_touchpad_gesture_phase_cancel\ngdk_scroll_up\ngdk_scroll_down\ngdk_scroll_left\ngdk_scroll_right\ngdk_scroll_smooth\ngdk_notify_ancestor\ngdk_notify_virtual\ngdk_notify_inferior\ngdk_notify_nonlinear\ngdk_notify_nonlinear_virtual\ngdk_notify_unknown\ngdk_crossing_normal\ngdk_crossing_grab\ngdk_crossing_ungrab\ngdk_crossing_gtk_grab\ngdk_crossing_gtk_ungrab\ngdk_crossing_state_changed\ngdk_crossing_touch_begin\ngdk_crossing_touch_end\ngdk_crossing_device_switch\ngdk_key_match_none\ngdk_key_match_partial\ngdk_key_match_exact\ngdk_paintable_static_size\ngdk_paintable_static_contents\ngdk_subpixel_layout_unknown\ngdk_subpixel_layout_none\ngdk_subpixel_layout_horizontal_rgb\ngdk_subpixel_layout_horizontal_bgr\ngdk_subpixel_layout_vertical_rgb\ngdk_subpixel_layout_vertical_bgr\ngdk_source_mouse\ngdk_source_pen\ngdk_source_keyboard\ngdk_source_touchscreen\ngdk_source_touchpad\ngdk_source_trackpoint\ngdk_source_tablet_pad\ngdk_memory_b8g8r8a8_premultiplied\ngdk_memory_a8r8g8b8_premultiplied\ngdk_memory_r8g8b8a8_premultiplied\ngdk_memory_b8g8r8a8\ngdk_memory_a8r8g8b8\ngdk_memory_r8g8b8a8\ngdk_memory_a8b8g8r8\ngdk_memory_r8g8b8\ngdk_memory_b8g8r8\ngdk_memory_n_formats\ngdk_surface_edge_north_west\ngdk_surface_edge_north\ngdk_surface_edge_north_east\ngdk_surface_edge_west\ngdk_surface_edge_east\ngdk_surface_edge_south_west\ngdk_surface_edge_south\ngdk_surface_edge_south_east\ngdk_fullscreen_on_current_monitor\ngdk_fullscreen_on_all_monitors\ngdk_toplevel_state_withdrawn\ngdk_toplevel_state_minimized\ngdk_toplevel_state_maximized\ngdk_toplevel_state_sticky\ngdk_toplevel_state_fullscreen\ngdk_toplevel_state_above\ngdk_toplevel_state_below\ngdk_toplevel_state_focused\ngdk_toplevel_state_tiled\ngdk_toplevel_state_top_tiled\ngdk_toplevel_state_top_resizable\ngdk_toplevel_state_right_tiled\ngdk_toplevel_state_right_resizable\ngdk_toplevel_state_bottom_tiled\ngdk_toplevel_state_bottom_resizable\ngdk_toplevel_state_left_tiled\ngdk_toplevel_state_left_resizable\ngdk_device_tool_type_unknown\ngdk_device_tool_type_pen\ngdk_device_tool_type_eraser\ngdk_device_tool_type_brush\ngdk_device_tool_type_pencil\ngdk_device_tool_type_airbrush\ngdk_device_tool_type_mouse\ngdk_device_tool_type_lens\ngdk_frame_clock_phase_none\ngdk_frame_clock_phase_flush_events\ngdk_frame_clock_phase_before_paint\ngdk_frame_clock_phase_update\ngdk_frame_clock_phase_layout\ngdk_frame_clock_phase_paint\ngdk_frame_clock_phase_resume_events\ngdk_frame_clock_phase_after_paint\ngdk_anchor_flip_x\ngdk_anchor_flip_y\ngdk_anchor_slide_x\ngdk_anchor_slide_y\ngdk_anchor_resize_x\ngdk_anchor_resize_y\ngdk_anchor_flip\ngdk_anchor_slide\ngdk_anchor_resize\ngdk_x11_device_type_logical\ngdk_x11_device_type_physical\ngdk_x11_device_type_floating\ngsk_not_a_render_node\ngsk_container_node\ngsk_cairo_node\ngsk_color_node\ngsk_linear_gradient_node\ngsk_repeating_linear_gradient_node\ngsk_radial_gradient_node\ngsk_repeating_radial_gradient_node\ngsk_border_node\ngsk_texture_node\ngsk_inset_shadow_node\ngsk_outset_shadow_node\ngsk_transform_node\ngsk_opacity_node\ngsk_color_matrix_node\ngsk_repeat_node\ngsk_clip_node\ngsk_rounded_clip_node\ngsk_shadow_node\ngsk_blend_node\ngsk_cross_fade_node\ngsk_text_node\ngsk_blur_node\ngsk_debug_node\ngsk_gl_shader_node\ngsk_scaling_filter_linear\ngsk_scaling_filter_nearest\ngsk_scaling_filter_trilinear\ngsk_blend_mode_default\ngsk_blend_mode_multiply\ngsk_blend_mode_screen\ngsk_blend_mode_overlay\ngsk_blend_mode_darken\ngsk_blend_mode_lighten\ngsk_blend_mode_color_dodge\ngsk_blend_mode_color_burn\ngsk_blend_mode_hard_light\ngsk_blend_mode_soft_light\ngsk_blend_mode_difference\ngsk_blend_mode_exclusion\ngsk_blend_mode_color\ngsk_blend_mode_hue\ngsk_blend_mode_saturation\ngsk_blend_mode_luminosity\ngsk_corner_top_left\ngsk_corner_top_right\ngsk_corner_bottom_right\ngsk_corner_bottom_left\ngsk_serialization_unsupported_format\ngsk_serialization_unsupported_version\ngsk_serialization_invalid_data\ngsk_transform_category_unknown\ngsk_transform_category_any\ngsk_transform_category_3d\ngsk_transform_category_2d\ngsk_transform_category_2d_affine\ngsk_transform_category_2d_translate\ngsk_transform_category_identity\ngsk_gl_uniform_type_none\ngsk_gl_uniform_type_float\ngsk_gl_uniform_type_int\ngsk_gl_uniform_type_uint\ngsk_gl_uniform_type_bool\ngsk_gl_uniform_type_vec2\ngsk_gl_uniform_type_vec3\ngsk_gl_uniform_type_vec4\ngtk_icon_lookup_force_regular\ngtk_icon_lookup_force_symbolic\ngtk_icon_lookup_preload\ngtk_icon_theme_not_found\ngtk_icon_theme_failed\ngtk_builder_error_invalid_type_function\ngtk_builder_error_unhandled_tag\ngtk_builder_error_missing_attribute\ngtk_builder_error_invalid_attribute\ngtk_builder_error_invalid_tag\ngtk_builder_error_missing_property_value\ngtk_builder_error_invalid_value\ngtk_builder_error_version_mismatch\ngtk_builder_error_duplicate_id\ngtk_builder_error_object_type_refused\ngtk_builder_error_template_mismatch\ngtk_builder_error_invalid_property\ngtk_builder_error_invalid_signal\ngtk_builder_error_invalid_id\ngtk_builder_error_invalid_function\ngtk_cell_renderer_accel_mode_gtk\ngtk_cell_renderer_accel_mode_other\ngtk_pad_action_button\ngtk_pad_action_ring\ngtk_pad_action_strip\ngtk_application_inhibit_logout\ngtk_application_inhibit_switch\ngtk_application_inhibit_suspend\ngtk_application_inhibit_idle\ngtk_builder_closure_swapped\ngtk_sorter_order_partial\ngtk_sorter_order_none\ngtk_sorter_order_total\ngtk_sorter_change_different\ngtk_sorter_change_inverted\ngtk_sorter_change_less_strict\ngtk_sorter_change_more_strict\ngtk_popover_menu_nested\ngtk_shortcut_action_exclusive\ngtk_update_always\ngtk_update_if_valid\ngtk_spin_step_forward\ngtk_spin_step_backward\ngtk_spin_page_forward\ngtk_spin_page_backward\ngtk_spin_home\ngtk_spin_end\ngtk_spin_user_defined\ngtk_debug_text\ngtk_debug_tree\ngtk_debug_keybindings\ngtk_debug_modules\ngtk_debug_geometry\ngtk_debug_icontheme\ngtk_debug_printing\ngtk_debug_builder\ngtk_debug_size_request\ngtk_debug_no_css_cache\ngtk_debug_interactive\ngtk_debug_touchscreen\ngtk_debug_actions\ngtk_debug_layout\ngtk_debug_snapshot\ngtk_debug_constraints\ngtk_debug_builder_objects\ngtk_debug_a11y\ngtk_text_window_widget\ngtk_text_window_text\ngtk_text_window_left\ngtk_text_window_right\ngtk_text_window_top\ngtk_text_window_bottom\ngtk_text_view_layer_below_text\ngtk_text_view_layer_above_text\ngtk_text_extend_selection_word\ngtk_text_extend_selection_line\ngtk_cell_renderer_selected\ngtk_cell_renderer_prelit\ngtk_cell_renderer_insensitive\ngtk_cell_renderer_sorted\ngtk_cell_renderer_focused\ngtk_cell_renderer_expandable\ngtk_cell_renderer_expanded\ngtk_cell_renderer_mode_inert\ngtk_cell_renderer_mode_activatable\ngtk_cell_renderer_mode_editable\ngtk_style_context_print_none\ngtk_style_context_print_recurse\ngtk_style_context_print_show_style\ngtk_style_context_print_show_change\ngtk_license_unknown\ngtk_license_custom\ngtk_license_gpl_2_0\ngtk_license_gpl_3_0\ngtk_license_lgpl_2_1\ngtk_license_lgpl_3_0\ngtk_license_bsd\ngtk_license_mit_x11\ngtk_license_artistic\ngtk_license_gpl_2_0_only\ngtk_license_gpl_3_0_only\ngtk_license_lgpl_2_1_only\ngtk_license_lgpl_3_0_only\ngtk_license_agpl_3_0\ngtk_license_agpl_3_0_only\ngtk_license_bsd_3\ngtk_license_apache_2_0\ngtk_license_mpl_2_0\ngtk_icon_view_no_drop\ngtk_icon_view_drop_into\ngtk_icon_view_drop_left\ngtk_icon_view_drop_right\ngtk_icon_view_drop_above\ngtk_icon_view_drop_below\ngtk_stack_transition_type_none\ngtk_stack_transition_type_crossfade\ngtk_stack_transition_type_slide_right\ngtk_stack_transition_type_slide_left\ngtk_stack_transition_type_slide_up\ngtk_stack_transition_type_slide_down\ngtk_stack_transition_type_slide_left_right\ngtk_stack_transition_type_slide_up_down\ngtk_stack_transition_type_over_up\ngtk_stack_transition_type_over_down\ngtk_stack_transition_type_over_left\ngtk_stack_transition_type_over_right\ngtk_stack_transition_type_under_up\ngtk_stack_transition_type_under_down\ngtk_stack_transition_type_under_left\ngtk_stack_transition_type_under_right\ngtk_stack_transition_type_over_up_down\ngtk_stack_transition_type_over_down_up\ngtk_stack_transition_type_over_left_right\ngtk_stack_transition_type_over_right_left\ngtk_stack_transition_type_rotate_left\ngtk_stack_transition_type_rotate_right\ngtk_stack_transition_type_rotate_left_right\ngtk_corner_top_left\ngtk_corner_bottom_left\ngtk_corner_top_right\ngtk_corner_bottom_right\ngtk_policy_always\ngtk_policy_automatic\ngtk_policy_never\ngtk_policy_external\ngtk_event_controller_scroll_none\ngtk_event_controller_scroll_vertical\ngtk_event_controller_scroll_horizontal\ngtk_event_controller_scroll_discrete\ngtk_event_controller_scroll_kinetic\ngtk_event_controller_scroll_both_axes\ngtk_text_search_visible_only\ngtk_text_search_text_only\ngtk_text_search_case_insensitive\ngtk_align_fill\ngtk_align_start\ngtk_align_end\ngtk_align_center\ngtk_align_baseline\ngtk_arrow_up\ngtk_arrow_down\ngtk_arrow_left\ngtk_arrow_right\ngtk_arrow_none\ngtk_baseline_position_top\ngtk_baseline_position_center\ngtk_baseline_position_bottom\ngtk_delete_chars\ngtk_delete_word_ends\ngtk_delete_words\ngtk_delete_display_lines\ngtk_delete_display_line_ends\ngtk_delete_paragraph_ends\ngtk_delete_paragraphs\ngtk_delete_whitespace\ngtk_dir_tab_forward\ngtk_dir_tab_backward\ngtk_dir_up\ngtk_dir_down\ngtk_dir_left\ngtk_dir_right\ngtk_icon_size_inherit\ngtk_icon_size_normal\ngtk_icon_size_large\ngtk_sensitivity_auto\ngtk_sensitivity_on\ngtk_sensitivity_off\ngtk_text_dir_none\ngtk_text_dir_ltr\ngtk_text_dir_rtl\ngtk_justify_left\ngtk_justify_right\ngtk_justify_center\ngtk_justify_fill\ngtk_menu_dir_parent\ngtk_menu_dir_child\ngtk_menu_dir_next\ngtk_menu_dir_prev\ngtk_message_info\ngtk_message_warning\ngtk_message_question\ngtk_message_error\ngtk_message_other\ngtk_movement_logical_positions\ngtk_movement_visual_positions\ngtk_movement_words\ngtk_movement_display_lines\ngtk_movement_display_line_ends\ngtk_movement_paragraphs\ngtk_movement_paragraph_ends\ngtk_movement_pages\ngtk_movement_buffer_ends\ngtk_movement_horizontal_pages\ngtk_scroll_steps\ngtk_scroll_pages\ngtk_scroll_ends\ngtk_scroll_horizontal_steps\ngtk_scroll_horizontal_pages\ngtk_scroll_horizontal_ends\ngtk_orientation_horizontal\ngtk_orientation_vertical\ngtk_overflow_visible\ngtk_overflow_hidden\ngtk_pack_start\ngtk_pack_end\ngtk_pos_left\ngtk_pos_right\ngtk_pos_top\ngtk_pos_bottom\ngtk_scroll_none\ngtk_scroll_jump\ngtk_scroll_step_backward\ngtk_scroll_step_forward\ngtk_scroll_page_backward\ngtk_scroll_page_forward\ngtk_scroll_step_up\ngtk_scroll_step_down\ngtk_scroll_page_up\ngtk_scroll_page_down\ngtk_scroll_step_left\ngtk_scroll_step_right\ngtk_scroll_page_left\ngtk_scroll_page_right\ngtk_scroll_start\ngtk_scroll_end\ngtk_selection_none\ngtk_selection_single\ngtk_selection_browse\ngtk_selection_multiple\ngtk_wrap_none\ngtk_wrap_char\ngtk_wrap_word\ngtk_wrap_word_char\ngtk_sort_ascending\ngtk_sort_descending\ngtk_print_pages_all\ngtk_print_pages_current\ngtk_print_pages_ranges\ngtk_print_pages_selection\ngtk_page_set_all\ngtk_page_set_even\ngtk_page_set_odd\ngtk_number_up_layout_left_to_right_top_to_bottom\ngtk_number_up_layout_left_to_right_bottom_to_top\ngtk_number_up_layout_right_to_left_top_to_bottom\ngtk_number_up_layout_right_to_left_bottom_to_top\ngtk_number_up_layout_top_to_bottom_left_to_right\ngtk_number_up_layout_top_to_bottom_right_to_left\ngtk_number_up_layout_bottom_to_top_left_to_right\ngtk_number_up_layout_bottom_to_top_right_to_left\ngtk_ordering_smaller\ngtk_ordering_equal\ngtk_ordering_larger\ngtk_page_orientation_portrait\ngtk_page_orientation_landscape\ngtk_page_orientation_reverse_portrait\ngtk_page_orientation_reverse_landscape\ngtk_print_quality_low\ngtk_print_quality_normal\ngtk_print_quality_high\ngtk_print_quality_draft\ngtk_print_duplex_simplex\ngtk_print_duplex_horizontal\ngtk_print_duplex_vertical\ngtk_unit_none\ngtk_unit_points\ngtk_unit_inch\ngtk_unit_mm\ngtk_tree_view_grid_lines_none\ngtk_tree_view_grid_lines_horizontal\ngtk_tree_view_grid_lines_vertical\ngtk_tree_view_grid_lines_both\ngtk_size_group_none\ngtk_size_group_horizontal\ngtk_size_group_vertical\ngtk_size_group_both\ngtk_size_request_height_for_width\ngtk_size_request_width_for_height\ngtk_size_request_constant_size\ngtk_scroll_minimum\ngtk_scroll_natural\ngtk_state_flag_normal\ngtk_state_flag_active\ngtk_state_flag_prelight\ngtk_state_flag_selected\ngtk_state_flag_insensitive\ngtk_state_flag_inconsistent\ngtk_state_flag_focused\ngtk_state_flag_backdrop\ngtk_state_flag_dir_ltr\ngtk_state_flag_dir_rtl\ngtk_state_flag_link\ngtk_state_flag_visited\ngtk_state_flag_checked\ngtk_state_flag_drop_active\ngtk_state_flag_focus_visible\ngtk_state_flag_focus_within\ngtk_border_style_none\ngtk_border_style_hidden\ngtk_border_style_solid\ngtk_border_style_inset\ngtk_border_style_outset\ngtk_border_style_dotted\ngtk_border_style_dashed\ngtk_border_style_double\ngtk_border_style_groove\ngtk_border_style_ridge\ngtk_level_bar_mode_continuous\ngtk_level_bar_mode_discrete\ngtk_input_purpose_free_form\ngtk_input_purpose_alpha\ngtk_input_purpose_digits\ngtk_input_purpose_number\ngtk_input_purpose_phone\ngtk_input_purpose_url\ngtk_input_purpose_email\ngtk_input_purpose_name\ngtk_input_purpose_password\ngtk_input_purpose_pin\ngtk_input_purpose_terminal\ngtk_input_hint_none\ngtk_input_hint_spellcheck\ngtk_input_hint_no_spellcheck\ngtk_input_hint_word_completion\ngtk_input_hint_lowercase\ngtk_input_hint_uppercase_chars\ngtk_input_hint_uppercase_words\ngtk_input_hint_uppercase_sentences\ngtk_input_hint_inhibit_osk\ngtk_input_hint_vertical_writing\ngtk_input_hint_emoji\ngtk_input_hint_no_emoji\ngtk_input_hint_private\ngtk_phase_none\ngtk_phase_capture\ngtk_phase_bubble\ngtk_phase_target\ngtk_limit_none\ngtk_limit_same_native\ngtk_event_sequence_none\ngtk_event_sequence_claimed\ngtk_event_sequence_denied\ngtk_pan_direction_left\ngtk_pan_direction_right\ngtk_pan_direction_up\ngtk_pan_direction_down\ngtk_shortcut_scope_local\ngtk_shortcut_scope_managed\ngtk_shortcut_scope_global\ngtk_popover_constraint_none\ngtk_popover_constraint_window\ngtk_places_open_normal\ngtk_places_open_new_tab\ngtk_places_open_new_window\ngtk_pick_default\ngtk_pick_insensitive\ngtk_pick_non_targetable\ngtk_constraint_relation_le\ngtk_constraint_relation_eq\ngtk_constraint_relation_ge\ngtk_constraint_strength_required\ngtk_constraint_strength_strong\ngtk_constraint_strength_medium\ngtk_constraint_strength_weak\ngtk_constraint_attribute_none\ngtk_constraint_attribute_left\ngtk_constraint_attribute_right\ngtk_constraint_attribute_top\ngtk_constraint_attribute_bottom\ngtk_constraint_attribute_start\ngtk_constraint_attribute_end\ngtk_constraint_attribute_width\ngtk_constraint_attribute_height\ngtk_constraint_attribute_center_x\ngtk_constraint_attribute_center_y\ngtk_constraint_attribute_baseline\ngtk_constraint_vfl_parser_error_invalid_symbol\ngtk_constraint_vfl_parser_error_invalid_attribute\ngtk_constraint_vfl_parser_error_invalid_view\ngtk_constraint_vfl_parser_error_invalid_metric\ngtk_constraint_vfl_parser_error_invalid_priority\ngtk_constraint_vfl_parser_error_invalid_relation\ngtk_system_setting_dpi\ngtk_system_setting_font_name\ngtk_system_setting_font_config\ngtk_system_setting_display\ngtk_system_setting_icon_theme\ngtk_accessible_role_alert\ngtk_accessible_role_alert_dialog\ngtk_accessible_role_banner\ngtk_accessible_role_button\ngtk_accessible_role_caption\ngtk_accessible_role_cell\ngtk_accessible_role_checkbox\ngtk_accessible_role_column_header\ngtk_accessible_role_combo_box\ngtk_accessible_role_command\ngtk_accessible_role_composite\ngtk_accessible_role_dialog\ngtk_accessible_role_document\ngtk_accessible_role_feed\ngtk_accessible_role_form\ngtk_accessible_role_generic\ngtk_accessible_role_grid\ngtk_accessible_role_grid_cell\ngtk_accessible_role_group\ngtk_accessible_role_heading\ngtk_accessible_role_img\ngtk_accessible_role_input\ngtk_accessible_role_label\ngtk_accessible_role_landmark\ngtk_accessible_role_legend\ngtk_accessible_role_link\ngtk_accessible_role_list\ngtk_accessible_role_list_box\ngtk_accessible_role_list_item\ngtk_accessible_role_log\ngtk_accessible_role_main\ngtk_accessible_role_marquee\ngtk_accessible_role_math\ngtk_accessible_role_meter\ngtk_accessible_role_menu\ngtk_accessible_role_menu_bar\ngtk_accessible_role_menu_item\ngtk_accessible_role_menu_item_checkbox\ngtk_accessible_role_menu_item_radio\ngtk_accessible_role_navigation\ngtk_accessible_role_none\ngtk_accessible_role_note\ngtk_accessible_role_option\ngtk_accessible_role_presentation\ngtk_accessible_role_progress_bar\ngtk_accessible_role_radio\ngtk_accessible_role_radio_group\ngtk_accessible_role_range\ngtk_accessible_role_region\ngtk_accessible_role_row\ngtk_accessible_role_row_group\ngtk_accessible_role_row_header\ngtk_accessible_role_scrollbar\ngtk_accessible_role_search\ngtk_accessible_role_search_box\ngtk_accessible_role_section\ngtk_accessible_role_section_head\ngtk_accessible_role_select\ngtk_accessible_role_separator\ngtk_accessible_role_slider\ngtk_accessible_role_spin_button\ngtk_accessible_role_status\ngtk_accessible_role_structure\ngtk_accessible_role_switch\ngtk_accessible_role_tab\ngtk_accessible_role_table\ngtk_accessible_role_tab_list\ngtk_accessible_role_tab_panel\ngtk_accessible_role_text_box\ngtk_accessible_role_time\ngtk_accessible_role_timer\ngtk_accessible_role_toolbar\ngtk_accessible_role_tooltip\ngtk_accessible_role_tree\ngtk_accessible_role_tree_grid\ngtk_accessible_role_tree_item\ngtk_accessible_role_widget\ngtk_accessible_role_window\ngtk_accessible_state_busy\ngtk_accessible_state_checked\ngtk_accessible_state_disabled\ngtk_accessible_state_expanded\ngtk_accessible_state_hidden\ngtk_accessible_state_invalid\ngtk_accessible_state_pressed\ngtk_accessible_state_selected\ngtk_accessible_property_autocomplete\ngtk_accessible_property_description\ngtk_accessible_property_has_popup\ngtk_accessible_property_key_shortcuts\ngtk_accessible_property_label\ngtk_accessible_property_level\ngtk_accessible_property_modal\ngtk_accessible_property_multi_line\ngtk_accessible_property_multi_selectable\ngtk_accessible_property_orientation\ngtk_accessible_property_placeholder\ngtk_accessible_property_read_only\ngtk_accessible_property_required\ngtk_accessible_property_role_description\ngtk_accessible_property_sort\ngtk_accessible_property_value_max\ngtk_accessible_property_value_min\ngtk_accessible_property_value_now\ngtk_accessible_property_value_text\ngtk_accessible_relation_active_descendant\ngtk_accessible_relation_col_count\ngtk_accessible_relation_col_index\ngtk_accessible_relation_col_index_text\ngtk_accessible_relation_col_span\ngtk_accessible_relation_controls\ngtk_accessible_relation_described_by\ngtk_accessible_relation_details\ngtk_accessible_relation_error_message\ngtk_accessible_relation_flow_to\ngtk_accessible_relation_labelled_by\ngtk_accessible_relation_owns\ngtk_accessible_relation_pos_in_set\ngtk_accessible_relation_row_count\ngtk_accessible_relation_row_index\ngtk_accessible_relation_row_index_text\ngtk_accessible_relation_row_span\ngtk_accessible_relation_set_size\ngtk_accessible_tristate_false\ngtk_accessible_tristate_true\ngtk_accessible_tristate_mixed\ngtk_accessible_invalid_false\ngtk_accessible_invalid_true\ngtk_accessible_invalid_grammar\ngtk_accessible_invalid_spelling\ngtk_accessible_autocomplete_none\ngtk_accessible_autocomplete_inline\ngtk_accessible_autocomplete_list\ngtk_accessible_autocomplete_both\ngtk_accessible_sort_none\ngtk_accessible_sort_ascending\ngtk_accessible_sort_descending\ngtk_accessible_sort_other\ngtk_notebook_tab_first\ngtk_notebook_tab_last\ngtk_revealer_transition_type_none\ngtk_revealer_transition_type_crossfade\ngtk_revealer_transition_type_slide_right\ngtk_revealer_transition_type_slide_left\ngtk_revealer_transition_type_slide_up\ngtk_revealer_transition_type_slide_down\ngtk_revealer_transition_type_swing_right\ngtk_revealer_transition_type_swing_left\ngtk_revealer_transition_type_swing_up\ngtk_revealer_transition_type_swing_down\ngtk_buttons_none\ngtk_buttons_ok\ngtk_buttons_close\ngtk_buttons_cancel\ngtk_buttons_yes_no\ngtk_buttons_ok_cancel\ngtk_print_status_initial\ngtk_print_status_preparing\ngtk_print_status_generating_data\ngtk_print_status_sending_data\ngtk_print_status_pending\ngtk_print_status_pending_issue\ngtk_print_status_printing\ngtk_print_status_finished\ngtk_print_status_finished_aborted\ngtk_print_operation_result_error\ngtk_print_operation_result_apply\ngtk_print_operation_result_cancel\ngtk_print_operation_result_in_progress\ngtk_print_operation_action_print_dialog\ngtk_print_operation_action_print\ngtk_print_operation_action_preview\ngtk_print_operation_action_export\ngtk_print_error_general\ngtk_print_error_internal_error\ngtk_print_error_nomem\ngtk_print_error_invalid_file\ngtk_file_chooser_action_open\ngtk_file_chooser_action_save\ngtk_file_chooser_action_select_folder\ngtk_file_chooser_error_nonexistent\ngtk_file_chooser_error_bad_filename\ngtk_file_chooser_error_already_exists\ngtk_file_chooser_error_incomplete_hostname\ngtk_recent_manager_error_not_found\ngtk_recent_manager_error_invalid_uri\ngtk_recent_manager_error_invalid_encoding\ngtk_recent_manager_error_not_registered\ngtk_recent_manager_error_read\ngtk_recent_manager_error_write\ngtk_recent_manager_error_unknown\ngtk_editable_prop_text\ngtk_editable_prop_cursor_position\ngtk_editable_prop_selection_bound\ngtk_editable_prop_editable\ngtk_editable_prop_width_chars\ngtk_editable_prop_max_width_chars\ngtk_editable_prop_xalign\ngtk_editable_prop_enable_undo\ngtk_editable_num_properties\ngtk_dialog_modal\ngtk_dialog_destroy_with_parent\ngtk_dialog_use_header_bar\ngtk_response_none\ngtk_response_reject\ngtk_response_accept\ngtk_response_delete_event\ngtk_response_ok\ngtk_response_cancel\ngtk_response_close\ngtk_response_yes\ngtk_response_no\ngtk_response_apply\ngtk_response_help\ngtk_assistant_page_content\ngtk_assistant_page_intro\ngtk_assistant_page_confirm\ngtk_assistant_page_summary\ngtk_assistant_page_progress\ngtk_assistant_page_custom\ngtk_tree_model_iters_persist\ngtk_tree_model_list_only\ngtk_tree_view_drop_before\ngtk_tree_view_drop_after\ngtk_tree_view_drop_into_or_before\ngtk_tree_view_drop_into_or_after\ngtk_shortcut_accelerator\ngtk_shortcut_gesture_pinch\ngtk_shortcut_gesture_stretch\ngtk_shortcut_gesture_rotate_clockwise\ngtk_shortcut_gesture_rotate_counterclockwise\ngtk_shortcut_gesture_two_finger_swipe_left\ngtk_shortcut_gesture_two_finger_swipe_right\ngtk_shortcut_gesture\ngtk_shortcut_gesture_swipe_left\ngtk_shortcut_gesture_swipe_right\ngtk_font_chooser_level_family\ngtk_font_chooser_level_style\ngtk_font_chooser_level_size\ngtk_font_chooser_level_variations\ngtk_font_chooser_level_features\ngtk_tree_view_column_grow_only\ngtk_tree_view_column_autosize\ngtk_tree_view_column_fixed\ngtk_text_buffer_target_info_buffer_contents\ngtk_text_buffer_target_info_rich_text\ngtk_text_buffer_target_info_text\ngtk_image_empty\ngtk_image_icon_name\ngtk_image_gicon\ngtk_image_paintable\ngtk_filter_match_some\ngtk_filter_match_none\ngtk_filter_match_all\ngtk_filter_change_different\ngtk_filter_change_less_strict\ngtk_filter_change_more_strict\ngtk_string_filter_match_mode_exact\ngtk_string_filter_match_mode_substring\ngtk_string_filter_match_mode_prefix\ngtk_entry_icon_primary\ngtk_entry_icon_secondary\ngtk_css_parser_error_failed\ngtk_css_parser_error_syntax\ngtk_css_parser_error_import\ngtk_css_parser_error_name\ngtk_css_parser_error_unknown_value\ngtk_css_parser_warning_deprecated\ngtk_css_parser_warning_syntax\ngtk_css_parser_warning_unimplemented\ngtk_print_capability_page_set\ngtk_print_capability_copies\ngtk_print_capability_collate\ngtk_print_capability_reverse\ngtk_print_capability_scale\ngtk_print_capability_generate_pdf\ngtk_print_capability_generate_ps\ngtk_print_capability_preview\ngtk_print_capability_number_up\ngtk_print_capability_number_up_layout\npango_tab_left\npango_attr_invalid\npango_attr_language\npango_attr_family\npango_attr_style\npango_attr_weight\npango_attr_variant\npango_attr_stretch\npango_attr_size\npango_attr_font_desc\npango_attr_foreground\npango_attr_background\npango_attr_underline\npango_attr_strikethrough\npango_attr_rise\npango_attr_shape\npango_attr_scale\npango_attr_fallback\npango_attr_letter_spacing\npango_attr_underline_color\npango_attr_strikethrough_color\npango_attr_absolute_size\npango_attr_gravity\npango_attr_gravity_hint\npango_attr_font_features\npango_attr_foreground_alpha\npango_attr_background_alpha\npango_attr_allow_breaks\npango_attr_show\npango_attr_insert_hyphens\npango_attr_overline\npango_attr_overline_color\npango_underline_none\npango_underline_single\npango_underline_double\npango_underline_low\npango_underline_error\npango_underline_single_line\npango_underline_double_line\npango_underline_error_line\npango_overline_none\npango_overline_single\npango_show_none\npango_show_spaces\npango_show_line_breaks\npango_show_ignorables\npango_direction_ltr\npango_direction_rtl\npango_direction_ttb_ltr\npango_direction_ttb_rtl\npango_direction_weak_ltr\npango_direction_weak_rtl\npango_direction_neutral\npango_bidi_type_l\npango_bidi_type_lre\npango_bidi_type_lro\npango_bidi_type_r\npango_bidi_type_al\npango_bidi_type_rle\npango_bidi_type_rlo\npango_bidi_type_pdf\npango_bidi_type_en\npango_bidi_type_es\npango_bidi_type_et\npango_bidi_type_an\npango_bidi_type_cs\npango_bidi_type_nsm\npango_bidi_type_bn\npango_bidi_type_b\npango_bidi_type_s\npango_bidi_type_ws\npango_bidi_type_on\npango_shape_none\npango_shape_round_positions\npango_script_invalid_code\npango_script_common\npango_script_inherited\npango_script_arabic\npango_script_armenian\npango_script_bengali\npango_script_bopomofo\npango_script_cherokee\npango_script_coptic\npango_script_cyrillic\npango_script_deseret\npango_script_devanagari\npango_script_ethiopic\npango_script_georgian\npango_script_gothic\npango_script_greek\npango_script_gujarati\npango_script_gurmukhi\npango_script_han\npango_script_hangul\npango_script_hebrew\npango_script_hiragana\npango_script_kannada\npango_script_katakana\npango_script_khmer\npango_script_lao\npango_script_latin\npango_script_malayalam\npango_script_mongolian\npango_script_myanmar\npango_script_ogham\npango_script_old_italic\npango_script_oriya\npango_script_runic\npango_script_sinhala\npango_script_syriac\npango_script_tamil\npango_script_telugu\npango_script_thaana\npango_script_thai\npango_script_tibetan\npango_script_canadian_aboriginal\npango_script_yi\npango_script_tagalog\npango_script_hanunoo\npango_script_buhid\npango_script_tagbanwa\npango_script_braille\npango_script_cypriot\npango_script_limbu\npango_script_osmanya\npango_script_shavian\npango_script_linear_b\npango_script_tai_le\npango_script_ugaritic\npango_script_new_tai_lue\npango_script_buginese\npango_script_glagolitic\npango_script_tifinagh\npango_script_syloti_nagri\npango_script_old_persian\npango_script_kharoshthi\npango_script_unknown\npango_script_balinese\npango_script_cuneiform\npango_script_phoenician\npango_script_phags_pa\npango_script_nko\npango_script_kayah_li\npango_script_lepcha\npango_script_rejang\npango_script_sundanese\npango_script_saurashtra\npango_script_cham\npango_script_ol_chiki\npango_script_vai\npango_script_carian\npango_script_lycian\npango_script_lydian\npango_script_batak\npango_script_brahmi\npango_script_mandaic\npango_script_chakma\npango_script_meroitic_cursive\npango_script_meroitic_hieroglyphs\npango_script_miao\npango_script_sharada\npango_script_sora_sompeng\npango_script_takri\npango_script_bassa_vah\npango_script_caucasian_albanian\npango_script_duployan\npango_script_elbasan\npango_script_grantha\npango_script_khojki\npango_script_khudawadi\npango_script_linear_a\npango_script_mahajani\npango_script_manichaean\npango_script_mende_kikakui\npango_script_modi\npango_script_mro\npango_script_nabataean\npango_script_old_north_arabian\npango_script_old_permic\npango_script_pahawh_hmong\npango_script_palmyrene\npango_script_pau_cin_hau\npango_script_psalter_pahlavi\npango_script_siddham\npango_script_tirhuta\npango_script_warang_citi\npango_script_ahom\npango_script_anatolian_hieroglyphs\npango_script_hatran\npango_script_multani\npango_script_old_hungarian\npango_script_signwriting\npango_coverage_none\npango_coverage_fallback\npango_coverage_approximate\npango_coverage_exact\npango_style_normal\npango_style_oblique\npango_style_italic\npango_variant_normal\npango_variant_small_caps\npango_weight_thin\npango_weight_ultralight\npango_weight_light\npango_weight_semilight\npango_weight_book\npango_weight_normal\npango_weight_medium\npango_weight_semibold\npango_weight_bold\npango_weight_ultrabold\npango_weight_heavy\npango_weight_ultraheavy\npango_stretch_ultra_condensed\npango_stretch_extra_condensed\npango_stretch_condensed\npango_stretch_semi_condensed\npango_stretch_normal\npango_stretch_semi_expanded\npango_stretch_expanded\npango_stretch_extra_expanded\npango_stretch_ultra_expanded\npango_font_mask_family\npango_font_mask_style\npango_font_mask_variant\npango_font_mask_weight\npango_font_mask_stretch\npango_font_mask_size\npango_font_mask_gravity\npango_font_mask_variations\npango_gravity_south\npango_gravity_east\npango_gravity_north\npango_gravity_west\npango_gravity_auto\npango_gravity_hint_natural\npango_gravity_hint_strong\npango_gravity_hint_line\npango_render_part_foreground\npango_render_part_background\npango_render_part_underline\npango_render_part_strikethrough\npango_render_part_overline\npango_align_left\npango_align_center\npango_align_right\npango_wrap_word\npango_wrap_char\npango_wrap_word_char\npango_ellipsize_none\npango_ellipsize_start\npango_ellipsize_middle\npango_ellipsize_end\npango_ot_table_gsub\npango_ot_table_gpos\n"
  },
  {
    "path": "src/gtk-fortran-index.csv",
    "content": "cairo;cairo_append_path;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_append_path (cairo_t *cr, const cairo_path_t *path);\";subroutine cairo_append_path(cr, path) bind(c)\r\ncairo;cairo_arc;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_arc (cairo_t *cr, double xc, double yc, double radius, double angle1, double angle2);\";subroutine cairo_arc(cr, xc, yc, radius, angle1, angle2) bind(c)\r\ncairo;cairo_arc_negative;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_arc_negative (cairo_t *cr, double xc, double yc, double radius, double angle1, double angle2);\";subroutine cairo_arc_negative(cr, xc, yc, radius, angle1, angle2) bind(c)\r\ncairo;cairo_clip;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_clip (cairo_t *cr);\";subroutine cairo_clip(cr) bind(c)\r\ncairo;cairo_clip_extents;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_clip_extents (cairo_t *cr, double *x1, double *y1, double *x2, double *y2);\";subroutine cairo_clip_extents(cr, x1, y1, x2, y2) bind(c)\r\ncairo;cairo_clip_preserve;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_clip_preserve (cairo_t *cr);\";subroutine cairo_clip_preserve(cr) bind(c)\r\ncairo;cairo_close_path;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_close_path (cairo_t *cr);\";subroutine cairo_close_path(cr) bind(c)\r\ncairo;cairo_copy_clip_rectangle_list;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_rectangle_list_t * cairo_copy_clip_rectangle_list (cairo_t *cr);\";function cairo_copy_clip_rectangle_list(cr) bind(c)\r\ncairo;cairo_copy_page;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_copy_page (cairo_t *cr);\";subroutine cairo_copy_page(cr) bind(c)\r\ncairo;cairo_copy_path;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_path_t * cairo_copy_path (cairo_t *cr);\";function cairo_copy_path(cr) bind(c)\r\ncairo;cairo_copy_path_flat;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_path_t * cairo_copy_path_flat (cairo_t *cr);\";function cairo_copy_path_flat(cr) bind(c)\r\ncairo;cairo_create;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_t * cairo_create (cairo_surface_t *target);\";function cairo_create(target) bind(c)\r\ncairo;cairo_curve_to;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_curve_to (cairo_t *cr, double x1, double y1, double x2, double y2, double x3, double y3);\";subroutine cairo_curve_to(cr, x1, y1, x2, y2, x3, y3) bind(c)\r\ncairo;cairo_debug_reset_static_data;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_debug_reset_static_data (void);\";subroutine cairo_debug_reset_static_data() bind(c)\r\ncairo;cairo_destroy;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_destroy (cairo_t *cr);\";subroutine cairo_destroy(cr) bind(c)\r\ncairo;cairo_device_acquire;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_device_acquire (cairo_device_t *device);\";function cairo_device_acquire(device) bind(c)\r\ncairo;cairo_device_destroy;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_device_destroy (cairo_device_t *device);\";subroutine cairo_device_destroy(device) bind(c)\r\ncairo;cairo_device_finish;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_device_finish (cairo_device_t *device);\";subroutine cairo_device_finish(device) bind(c)\r\ncairo;cairo_device_flush;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_device_flush (cairo_device_t *device);\";subroutine cairo_device_flush(device) bind(c)\r\ncairo;cairo_device_get_reference_count;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"unsigned int cairo_device_get_reference_count (cairo_device_t *device);\";function cairo_device_get_reference_count(device) bind(c)\r\ncairo;cairo_device_get_type;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_device_type_t cairo_device_get_type (cairo_device_t *device);\";function cairo_device_get_type(device) bind(c)\r\ncairo;cairo_device_get_user_data;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void * cairo_device_get_user_data (cairo_device_t *device, const cairo_user_data_key_t *key);\";function cairo_device_get_user_data(device, key) bind(c)\r\ncairo;cairo_device_observer_elapsed;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"double cairo_device_observer_elapsed (cairo_device_t *abstract_device);\";function cairo_device_observer_elapsed(abstract_device) bind(c)\r\ncairo;cairo_device_observer_fill_elapsed;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"double cairo_device_observer_fill_elapsed (cairo_device_t *abstract_device);\";function cairo_device_observer_fill_elapsed(abstract_device) bind(c)\r\ncairo;cairo_device_observer_glyphs_elapsed;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"double cairo_device_observer_glyphs_elapsed (cairo_device_t *abstract_device);\";function cairo_device_observer_glyphs_elapsed(abstract_device) bind(c)\r\ncairo;cairo_device_observer_mask_elapsed;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"double cairo_device_observer_mask_elapsed (cairo_device_t *abstract_device);\";function cairo_device_observer_mask_elapsed(abstract_device) bind(c)\r\ncairo;cairo_device_observer_paint_elapsed;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"double cairo_device_observer_paint_elapsed (cairo_device_t *abstract_device);\";function cairo_device_observer_paint_elapsed(abstract_device) bind(c)\r\ncairo;cairo_device_observer_print;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_device_observer_print (cairo_device_t *abstract_device, cairo_write_func_t write_func, void *closure);\";function cairo_device_observer_print(abstract_device, write_func, closure) bind(c)\r\ncairo;cairo_device_observer_stroke_elapsed;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"double cairo_device_observer_stroke_elapsed (cairo_device_t *abstract_device);\";function cairo_device_observer_stroke_elapsed(abstract_device) bind(c)\r\ncairo;cairo_device_reference;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_device_t * cairo_device_reference (cairo_device_t *device);\";function cairo_device_reference(device) bind(c)\r\ncairo;cairo_device_release;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_device_release (cairo_device_t *device);\";subroutine cairo_device_release(device) bind(c)\r\ncairo;cairo_device_set_user_data;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_device_set_user_data (cairo_device_t *device, const cairo_user_data_key_t *key, void *user_data, cairo_destroy_func_t destroy);\";function cairo_device_set_user_data(device, key, user_data, destroy) bind(c)\r\ncairo;cairo_device_status;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_device_status (cairo_device_t *device);\";function cairo_device_status(device) bind(c)\r\ncairo;cairo_device_to_user;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_device_to_user (cairo_t *cr, double *x, double *y);\";subroutine cairo_device_to_user(cr, x, y) bind(c)\r\ncairo;cairo_device_to_user_distance;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_device_to_user_distance (cairo_t *cr, double *dx, double *dy);\";subroutine cairo_device_to_user_distance(cr, dx, dy) bind(c)\r\ncairo;cairo_fill;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_fill (cairo_t *cr);\";subroutine cairo_fill(cr) bind(c)\r\ncairo;cairo_fill_extents;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_fill_extents (cairo_t *cr, double *x1, double *y1, double *x2, double *y2);\";subroutine cairo_fill_extents(cr, x1, y1, x2, y2) bind(c)\r\ncairo;cairo_fill_preserve;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_fill_preserve (cairo_t *cr);\";subroutine cairo_fill_preserve(cr) bind(c)\r\ncairo;cairo_font_extents;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_font_extents (cairo_t *cr, cairo_font_extents_t *extents);\";subroutine cairo_font_extents(cr, extents) bind(c)\r\ncairo;cairo_font_face_destroy;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_font_face_destroy (cairo_font_face_t *font_face);\";subroutine cairo_font_face_destroy(font_face) bind(c)\r\ncairo;cairo_font_face_get_reference_count;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"unsigned int cairo_font_face_get_reference_count (cairo_font_face_t *font_face);\";function cairo_font_face_get_reference_count(font_face) bind(c)\r\ncairo;cairo_font_face_get_type;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_font_type_t cairo_font_face_get_type (cairo_font_face_t *font_face);\";function cairo_font_face_get_type(font_face) bind(c)\r\ncairo;cairo_font_face_get_user_data;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void * cairo_font_face_get_user_data (cairo_font_face_t *font_face, const cairo_user_data_key_t *key);\";function cairo_font_face_get_user_data(font_face, key) bind(c)\r\ncairo;cairo_font_face_reference;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_font_face_t * cairo_font_face_reference (cairo_font_face_t *font_face);\";function cairo_font_face_reference(font_face) bind(c)\r\ncairo;cairo_font_face_set_user_data;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_font_face_set_user_data (cairo_font_face_t *font_face, const cairo_user_data_key_t *key, void *user_data, cairo_destroy_func_t destroy);\";function cairo_font_face_set_user_data(font_face, key, user_data, destroy) bind(c)\r\ncairo;cairo_font_face_status;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_font_face_status (cairo_font_face_t *font_face);\";function cairo_font_face_status(font_face) bind(c)\r\ncairo;cairo_font_options_copy;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_font_options_t * cairo_font_options_copy (const cairo_font_options_t *original);\";function cairo_font_options_copy(original) bind(c)\r\ncairo;cairo_font_options_create;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_font_options_t * cairo_font_options_create (void);\";function cairo_font_options_create() bind(c)\r\ncairo;cairo_font_options_destroy;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_font_options_destroy (cairo_font_options_t *options);\";subroutine cairo_font_options_destroy(options) bind(c)\r\ncairo;cairo_font_options_equal;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_bool_t cairo_font_options_equal (const cairo_font_options_t *options, const cairo_font_options_t *other);\";function cairo_font_options_equal(options, other) bind(c)\r\ncairo;cairo_font_options_get_antialias;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_antialias_t cairo_font_options_get_antialias (const cairo_font_options_t *options);\";function cairo_font_options_get_antialias(options) bind(c)\r\ncairo;cairo_font_options_get_color_mode;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_color_mode_t cairo_font_options_get_color_mode (const cairo_font_options_t *options);\";function cairo_font_options_get_color_mode(options) bind(c)\r\ncairo;cairo_font_options_get_color_palette;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"unsigned int cairo_font_options_get_color_palette (const cairo_font_options_t *options);\";function cairo_font_options_get_color_palette(options) bind(c)\r\ncairo;cairo_font_options_get_custom_palette_color;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_font_options_get_custom_palette_color (cairo_font_options_t *options, unsigned int index, double *red, double *green, double *blue, double *alpha);\";function cairo_font_options_get_custom_palette_color(options, index, red, green, blue, alpha) bind(c)\r\ncairo;cairo_font_options_get_hint_metrics;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_hint_metrics_t cairo_font_options_get_hint_metrics (const cairo_font_options_t *options);\";function cairo_font_options_get_hint_metrics(options) bind(c)\r\ncairo;cairo_font_options_get_hint_style;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_hint_style_t cairo_font_options_get_hint_style (const cairo_font_options_t *options);\";function cairo_font_options_get_hint_style(options) bind(c)\r\ncairo;cairo_font_options_get_subpixel_order;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_subpixel_order_t cairo_font_options_get_subpixel_order (const cairo_font_options_t *options);\";function cairo_font_options_get_subpixel_order(options) bind(c)\r\ncairo;cairo_font_options_get_variations;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"const char * cairo_font_options_get_variations (cairo_font_options_t *options);\";function cairo_font_options_get_variations(options) bind(c)\r\ncairo;cairo_font_options_hash;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"unsigned long cairo_font_options_hash (const cairo_font_options_t *options);\";function cairo_font_options_hash(options) bind(c)\r\ncairo;cairo_font_options_merge;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_font_options_merge (cairo_font_options_t *options, const cairo_font_options_t *other);\";subroutine cairo_font_options_merge(options, other) bind(c)\r\ncairo;cairo_font_options_set_antialias;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_font_options_set_antialias (cairo_font_options_t *options, cairo_antialias_t antialias);\";subroutine cairo_font_options_set_antialias(options, antialias) bind(c)\r\ncairo;cairo_font_options_set_color_mode;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_font_options_set_color_mode (cairo_font_options_t *options, cairo_color_mode_t color_mode);\";subroutine cairo_font_options_set_color_mode(options, color_mode) bind(c)\r\ncairo;cairo_font_options_set_color_palette;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_font_options_set_color_palette (cairo_font_options_t *options, unsigned int palette_index);\";subroutine cairo_font_options_set_color_palette(options, palette_index) bind(c)\r\ncairo;cairo_font_options_set_custom_palette_color;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_font_options_set_custom_palette_color (cairo_font_options_t *options, unsigned int index, double red, double green, double blue, double alpha);\";subroutine cairo_font_options_set_custom_palette_color(options, index, red, green, blue, alpha) bind(c)\r\ncairo;cairo_font_options_set_hint_metrics;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_font_options_set_hint_metrics (cairo_font_options_t *options, cairo_hint_metrics_t hint_metrics);\";subroutine cairo_font_options_set_hint_metrics(options, hint_metrics) bind(c)\r\ncairo;cairo_font_options_set_hint_style;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_font_options_set_hint_style (cairo_font_options_t *options, cairo_hint_style_t hint_style);\";subroutine cairo_font_options_set_hint_style(options, hint_style) bind(c)\r\ncairo;cairo_font_options_set_subpixel_order;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_font_options_set_subpixel_order (cairo_font_options_t *options, cairo_subpixel_order_t subpixel_order);\";subroutine cairo_font_options_set_subpixel_order(options, subpixel_order) bind(c)\r\ncairo;cairo_font_options_set_variations;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_font_options_set_variations (cairo_font_options_t *options, const char *variations);\";subroutine cairo_font_options_set_variations(options, variations) bind(c)\r\ncairo;cairo_font_options_status;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_font_options_status (cairo_font_options_t *options);\";function cairo_font_options_status(options) bind(c)\r\ncairo;cairo_format_stride_for_width;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"int cairo_format_stride_for_width (cairo_format_t format, int width);\";function cairo_format_stride_for_width(format, width) bind(c)\r\ncairo;cairo_ft_font_face_create_for_ft_face;;cairo-auto.f90;/usr/include/cairo/cairo-ft.h;\"cairo_font_face_t * cairo_ft_font_face_create_for_ft_face (FT_Face face, int load_flags);\";function cairo_ft_font_face_create_for_ft_face(face, load_flags) bind(c)\r\ncairo;cairo_ft_font_face_create_for_pattern;;cairo-auto.f90;/usr/include/cairo/cairo-ft.h;\"cairo_font_face_t * cairo_ft_font_face_create_for_pattern (FcPattern *pattern);\";function cairo_ft_font_face_create_for_pattern(pattern) bind(c)\r\ncairo;cairo_ft_font_face_get_synthesize;;cairo-auto.f90;/usr/include/cairo/cairo-ft.h;\"unsigned int cairo_ft_font_face_get_synthesize (cairo_font_face_t *font_face);\";function cairo_ft_font_face_get_synthesize(font_face) bind(c)\r\ncairo;cairo_ft_font_face_set_synthesize;;cairo-auto.f90;/usr/include/cairo/cairo-ft.h;\"void cairo_ft_font_face_set_synthesize (cairo_font_face_t *font_face, unsigned int synth_flags);\";subroutine cairo_ft_font_face_set_synthesize(font_face, synth_flags) bind(c)\r\ncairo;cairo_ft_font_face_unset_synthesize;;cairo-auto.f90;/usr/include/cairo/cairo-ft.h;\"void cairo_ft_font_face_unset_synthesize (cairo_font_face_t *font_face, unsigned int synth_flags);\";subroutine cairo_ft_font_face_unset_synthesize(font_face, synth_flags) bind(c)\r\ncairo;cairo_ft_font_options_substitute;;cairo-auto.f90;/usr/include/cairo/cairo-ft.h;\"void cairo_ft_font_options_substitute (const cairo_font_options_t *options, FcPattern *pattern);\";subroutine cairo_ft_font_options_substitute(options, pattern) bind(c)\r\ncairo;cairo_ft_scaled_font_lock_face;;cairo-auto.f90;/usr/include/cairo/cairo-ft.h;\"FT_Face cairo_ft_scaled_font_lock_face (cairo_scaled_font_t *scaled_font);\";function cairo_ft_scaled_font_lock_face(scaled_font) bind(c)\r\ncairo;cairo_ft_scaled_font_unlock_face;;cairo-auto.f90;/usr/include/cairo/cairo-ft.h;\"void cairo_ft_scaled_font_unlock_face (cairo_scaled_font_t *scaled_font);\";subroutine cairo_ft_scaled_font_unlock_face(scaled_font) bind(c)\r\ncairo;cairo_get_antialias;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_antialias_t cairo_get_antialias (cairo_t *cr);\";function cairo_get_antialias(cr) bind(c)\r\ncairo;cairo_get_current_point;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_get_current_point (cairo_t *cr, double *x, double *y);\";subroutine cairo_get_current_point(cr, x, y) bind(c)\r\ncairo;cairo_get_dash;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_get_dash (cairo_t *cr, double *dashes, double *offset);\";subroutine cairo_get_dash(cr, dashes, offset) bind(c)\r\ncairo;cairo_get_dash_count;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"int cairo_get_dash_count (cairo_t *cr);\";function cairo_get_dash_count(cr) bind(c)\r\ncairo;cairo_get_fill_rule;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_fill_rule_t cairo_get_fill_rule (cairo_t *cr);\";function cairo_get_fill_rule(cr) bind(c)\r\ncairo;cairo_get_font_face;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_font_face_t * cairo_get_font_face (cairo_t *cr);\";function cairo_get_font_face(cr) bind(c)\r\ncairo;cairo_get_font_matrix;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_get_font_matrix (cairo_t *cr, cairo_matrix_t *matrix);\";subroutine cairo_get_font_matrix(cr, matrix) bind(c)\r\ncairo;cairo_get_font_options;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_get_font_options (cairo_t *cr, cairo_font_options_t *options);\";subroutine cairo_get_font_options(cr, options) bind(c)\r\ncairo;cairo_get_group_target;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_surface_t * cairo_get_group_target (cairo_t *cr);\";function cairo_get_group_target(cr) bind(c)\r\ncairo;cairo_get_hairline;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_bool_t cairo_get_hairline (cairo_t *cr);\";function cairo_get_hairline(cr) bind(c)\r\ncairo;cairo_get_line_cap;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_line_cap_t cairo_get_line_cap (cairo_t *cr);\";function cairo_get_line_cap(cr) bind(c)\r\ncairo;cairo_get_line_join;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_line_join_t cairo_get_line_join (cairo_t *cr);\";function cairo_get_line_join(cr) bind(c)\r\ncairo;cairo_get_line_width;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"double cairo_get_line_width (cairo_t *cr);\";function cairo_get_line_width(cr) bind(c)\r\ncairo;cairo_get_matrix;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_get_matrix (cairo_t *cr, cairo_matrix_t *matrix);\";subroutine cairo_get_matrix(cr, matrix) bind(c)\r\ncairo;cairo_get_miter_limit;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"double cairo_get_miter_limit (cairo_t *cr);\";function cairo_get_miter_limit(cr) bind(c)\r\ncairo;cairo_get_operator;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_operator_t cairo_get_operator (cairo_t *cr);\";function cairo_get_operator(cr) bind(c)\r\ncairo;cairo_get_reference_count;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"unsigned int cairo_get_reference_count (cairo_t *cr);\";function cairo_get_reference_count(cr) bind(c)\r\ncairo;cairo_get_scaled_font;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_scaled_font_t * cairo_get_scaled_font (cairo_t *cr);\";function cairo_get_scaled_font(cr) bind(c)\r\ncairo;cairo_get_source;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_pattern_t * cairo_get_source (cairo_t *cr);\";function cairo_get_source(cr) bind(c)\r\ncairo;cairo_get_target;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_surface_t * cairo_get_target (cairo_t *cr);\";function cairo_get_target(cr) bind(c)\r\ncairo;cairo_get_tolerance;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"double cairo_get_tolerance (cairo_t *cr);\";function cairo_get_tolerance(cr) bind(c)\r\ncairo;cairo_get_user_data;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void * cairo_get_user_data (cairo_t *cr, const cairo_user_data_key_t *key);\";function cairo_get_user_data(cr, key) bind(c)\r\ncairo;cairo_glyph_allocate;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_glyph_t * cairo_glyph_allocate (int num_glyphs);\";function cairo_glyph_allocate(num_glyphs) bind(c)\r\ncairo;cairo_glyph_extents;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_glyph_extents (cairo_t *cr, const cairo_glyph_t *glyphs, int num_glyphs, cairo_text_extents_t *extents);\";subroutine cairo_glyph_extents(cr, glyphs, num_glyphs, extents) bind(c)\r\ncairo;cairo_glyph_free;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_glyph_free (cairo_glyph_t *glyphs);\";subroutine cairo_glyph_free(glyphs) bind(c)\r\ncairo;cairo_glyph_path;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_glyph_path (cairo_t *cr, const cairo_glyph_t *glyphs, int num_glyphs);\";subroutine cairo_glyph_path(cr, glyphs, num_glyphs) bind(c)\r\ncairo;cairo_gobject_antialias_get_type;;cairo-auto.f90;/usr/include/cairo/cairo-gobject.h;\"GType cairo_gobject_antialias_get_type (void);\";function cairo_gobject_antialias_get_type() bind(c)\r\ncairo;cairo_gobject_content_get_type;;cairo-auto.f90;/usr/include/cairo/cairo-gobject.h;\"GType cairo_gobject_content_get_type (void);\";function cairo_gobject_content_get_type() bind(c)\r\ncairo;cairo_gobject_context_get_type;;cairo-auto.f90;/usr/include/cairo/cairo-gobject.h;\"GType cairo_gobject_context_get_type (void);\";function cairo_gobject_context_get_type() bind(c)\r\ncairo;cairo_gobject_device_get_type;;cairo-auto.f90;/usr/include/cairo/cairo-gobject.h;\"GType cairo_gobject_device_get_type (void);\";function cairo_gobject_device_get_type() bind(c)\r\ncairo;cairo_gobject_device_type_get_type;;cairo-auto.f90;/usr/include/cairo/cairo-gobject.h;\"GType cairo_gobject_device_type_get_type (void);\";function cairo_gobject_device_type_get_type() bind(c)\r\ncairo;cairo_gobject_extend_get_type;;cairo-auto.f90;/usr/include/cairo/cairo-gobject.h;\"GType cairo_gobject_extend_get_type (void);\";function cairo_gobject_extend_get_type() bind(c)\r\ncairo;cairo_gobject_fill_rule_get_type;;cairo-auto.f90;/usr/include/cairo/cairo-gobject.h;\"GType cairo_gobject_fill_rule_get_type (void);\";function cairo_gobject_fill_rule_get_type() bind(c)\r\ncairo;cairo_gobject_filter_get_type;;cairo-auto.f90;/usr/include/cairo/cairo-gobject.h;\"GType cairo_gobject_filter_get_type (void);\";function cairo_gobject_filter_get_type() bind(c)\r\ncairo;cairo_gobject_font_face_get_type;;cairo-auto.f90;/usr/include/cairo/cairo-gobject.h;\"GType cairo_gobject_font_face_get_type (void);\";function cairo_gobject_font_face_get_type() bind(c)\r\ncairo;cairo_gobject_font_options_get_type;;cairo-auto.f90;/usr/include/cairo/cairo-gobject.h;\"GType cairo_gobject_font_options_get_type (void);\";function cairo_gobject_font_options_get_type() bind(c)\r\ncairo;cairo_gobject_font_slant_get_type;;cairo-auto.f90;/usr/include/cairo/cairo-gobject.h;\"GType cairo_gobject_font_slant_get_type (void);\";function cairo_gobject_font_slant_get_type() bind(c)\r\ncairo;cairo_gobject_font_type_get_type;;cairo-auto.f90;/usr/include/cairo/cairo-gobject.h;\"GType cairo_gobject_font_type_get_type (void);\";function cairo_gobject_font_type_get_type() bind(c)\r\ncairo;cairo_gobject_font_weight_get_type;;cairo-auto.f90;/usr/include/cairo/cairo-gobject.h;\"GType cairo_gobject_font_weight_get_type (void);\";function cairo_gobject_font_weight_get_type() bind(c)\r\ncairo;cairo_gobject_format_get_type;;cairo-auto.f90;/usr/include/cairo/cairo-gobject.h;\"GType cairo_gobject_format_get_type (void);\";function cairo_gobject_format_get_type() bind(c)\r\ncairo;cairo_gobject_glyph_get_type;;cairo-auto.f90;/usr/include/cairo/cairo-gobject.h;\"GType cairo_gobject_glyph_get_type (void);\";function cairo_gobject_glyph_get_type() bind(c)\r\ncairo;cairo_gobject_hint_metrics_get_type;;cairo-auto.f90;/usr/include/cairo/cairo-gobject.h;\"GType cairo_gobject_hint_metrics_get_type (void);\";function cairo_gobject_hint_metrics_get_type() bind(c)\r\ncairo;cairo_gobject_hint_style_get_type;;cairo-auto.f90;/usr/include/cairo/cairo-gobject.h;\"GType cairo_gobject_hint_style_get_type (void);\";function cairo_gobject_hint_style_get_type() bind(c)\r\ncairo;cairo_gobject_line_cap_get_type;;cairo-auto.f90;/usr/include/cairo/cairo-gobject.h;\"GType cairo_gobject_line_cap_get_type (void);\";function cairo_gobject_line_cap_get_type() bind(c)\r\ncairo;cairo_gobject_line_join_get_type;;cairo-auto.f90;/usr/include/cairo/cairo-gobject.h;\"GType cairo_gobject_line_join_get_type (void);\";function cairo_gobject_line_join_get_type() bind(c)\r\ncairo;cairo_gobject_matrix_get_type;;cairo-auto.f90;/usr/include/cairo/cairo-gobject.h;\"GType cairo_gobject_matrix_get_type (void);\";function cairo_gobject_matrix_get_type() bind(c)\r\ncairo;cairo_gobject_operator_get_type;;cairo-auto.f90;/usr/include/cairo/cairo-gobject.h;\"GType cairo_gobject_operator_get_type (void);\";function cairo_gobject_operator_get_type() bind(c)\r\ncairo;cairo_gobject_path_data_type_get_type;;cairo-auto.f90;/usr/include/cairo/cairo-gobject.h;\"GType cairo_gobject_path_data_type_get_type (void);\";function cairo_gobject_path_data_type_get_type() bind(c)\r\ncairo;cairo_gobject_pattern_get_type;;cairo-auto.f90;/usr/include/cairo/cairo-gobject.h;\"GType cairo_gobject_pattern_get_type (void);\";function cairo_gobject_pattern_get_type() bind(c)\r\ncairo;cairo_gobject_pattern_type_get_type;;cairo-auto.f90;/usr/include/cairo/cairo-gobject.h;\"GType cairo_gobject_pattern_type_get_type (void);\";function cairo_gobject_pattern_type_get_type() bind(c)\r\ncairo;cairo_gobject_rectangle_get_type;;cairo-auto.f90;/usr/include/cairo/cairo-gobject.h;\"GType cairo_gobject_rectangle_get_type (void);\";function cairo_gobject_rectangle_get_type() bind(c)\r\ncairo;cairo_gobject_rectangle_int_get_type;;cairo-auto.f90;/usr/include/cairo/cairo-gobject.h;\"GType cairo_gobject_rectangle_int_get_type (void);\";function cairo_gobject_rectangle_int_get_type() bind(c)\r\ncairo;cairo_gobject_region_get_type;;cairo-auto.f90;/usr/include/cairo/cairo-gobject.h;\"GType cairo_gobject_region_get_type (void);\";function cairo_gobject_region_get_type() bind(c)\r\ncairo;cairo_gobject_region_overlap_get_type;;cairo-auto.f90;/usr/include/cairo/cairo-gobject.h;\"GType cairo_gobject_region_overlap_get_type (void);\";function cairo_gobject_region_overlap_get_type() bind(c)\r\ncairo;cairo_gobject_scaled_font_get_type;;cairo-auto.f90;/usr/include/cairo/cairo-gobject.h;\"GType cairo_gobject_scaled_font_get_type (void);\";function cairo_gobject_scaled_font_get_type() bind(c)\r\ncairo;cairo_gobject_status_get_type;;cairo-auto.f90;/usr/include/cairo/cairo-gobject.h;\"GType cairo_gobject_status_get_type (void);\";function cairo_gobject_status_get_type() bind(c)\r\ncairo;cairo_gobject_subpixel_order_get_type;;cairo-auto.f90;/usr/include/cairo/cairo-gobject.h;\"GType cairo_gobject_subpixel_order_get_type (void);\";function cairo_gobject_subpixel_order_get_type() bind(c)\r\ncairo;cairo_gobject_surface_get_type;;cairo-auto.f90;/usr/include/cairo/cairo-gobject.h;\"GType cairo_gobject_surface_get_type (void);\";function cairo_gobject_surface_get_type() bind(c)\r\ncairo;cairo_gobject_surface_type_get_type;;cairo-auto.f90;/usr/include/cairo/cairo-gobject.h;\"GType cairo_gobject_surface_type_get_type (void);\";function cairo_gobject_surface_type_get_type() bind(c)\r\ncairo;cairo_gobject_text_cluster_flags_get_type;;cairo-auto.f90;/usr/include/cairo/cairo-gobject.h;\"GType cairo_gobject_text_cluster_flags_get_type (void);\";function cairo_gobject_text_cluster_flags_get_type() bind(c)\r\ncairo;cairo_gobject_text_cluster_get_type;;cairo-auto.f90;/usr/include/cairo/cairo-gobject.h;\"GType cairo_gobject_text_cluster_get_type (void);\";function cairo_gobject_text_cluster_get_type() bind(c)\r\ncairo;cairo_has_current_point;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_bool_t cairo_has_current_point (cairo_t *cr);\";function cairo_has_current_point(cr) bind(c)\r\ncairo;cairo_identity_matrix;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_identity_matrix (cairo_t *cr);\";subroutine cairo_identity_matrix(cr) bind(c)\r\ncairo;cairo_image_surface_create;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_surface_t * cairo_image_surface_create (cairo_format_t format, int width, int height);\";function cairo_image_surface_create(format, width, height) bind(c)\r\ncairo;cairo_image_surface_create_for_data;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_surface_t * cairo_image_surface_create_for_data (unsigned char *data, cairo_format_t format, int width, int height, int stride);\";function cairo_image_surface_create_for_data(data, format, width, height, stride) bind(c)\r\ncairo;cairo_image_surface_create_from_png;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_surface_t * cairo_image_surface_create_from_png (const char *filename);\";function cairo_image_surface_create_from_png(filename) bind(c)\r\ncairo;cairo_image_surface_create_from_png_stream;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_surface_t * cairo_image_surface_create_from_png_stream (cairo_read_func_t read_func, void *closure);\";function cairo_image_surface_create_from_png_stream(read_func, closure) bind(c)\r\ncairo;cairo_image_surface_get_data;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"unsigned char * cairo_image_surface_get_data (cairo_surface_t *surface);\";function cairo_image_surface_get_data(surface) bind(c)\r\ncairo;cairo_image_surface_get_format;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_format_t cairo_image_surface_get_format (cairo_surface_t *surface);\";function cairo_image_surface_get_format(surface) bind(c)\r\ncairo;cairo_image_surface_get_height;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"int cairo_image_surface_get_height (cairo_surface_t *surface);\";function cairo_image_surface_get_height(surface) bind(c)\r\ncairo;cairo_image_surface_get_stride;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"int cairo_image_surface_get_stride (cairo_surface_t *surface);\";function cairo_image_surface_get_stride(surface) bind(c)\r\ncairo;cairo_image_surface_get_width;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"int cairo_image_surface_get_width (cairo_surface_t *surface);\";function cairo_image_surface_get_width(surface) bind(c)\r\ncairo;cairo_in_clip;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_bool_t cairo_in_clip (cairo_t *cr, double x, double y);\";function cairo_in_clip(cr, x, y) bind(c)\r\ncairo;cairo_in_fill;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_bool_t cairo_in_fill (cairo_t *cr, double x, double y);\";function cairo_in_fill(cr, x, y) bind(c)\r\ncairo;cairo_in_stroke;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_bool_t cairo_in_stroke (cairo_t *cr, double x, double y);\";function cairo_in_stroke(cr, x, y) bind(c)\r\ncairo;cairo_line_to;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_line_to (cairo_t *cr, double x, double y);\";subroutine cairo_line_to(cr, x, y) bind(c)\r\ncairo;cairo_mask;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_mask (cairo_t *cr, cairo_pattern_t *pattern);\";subroutine cairo_mask(cr, pattern) bind(c)\r\ncairo;cairo_mask_surface;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_mask_surface (cairo_t *cr, cairo_surface_t *surface, double surface_x, double surface_y);\";subroutine cairo_mask_surface(cr, surface, surface_x, surface_y) bind(c)\r\ncairo;cairo_matrix_init;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_matrix_init (cairo_matrix_t *matrix, double xx, double yx, double xy, double yy, double x0, double y0);\";subroutine cairo_matrix_init(matrix, xx, yx, xy, yy, x0, y0) bind(c)\r\ncairo;cairo_matrix_init_identity;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_matrix_init_identity (cairo_matrix_t *matrix);\";subroutine cairo_matrix_init_identity(matrix) bind(c)\r\ncairo;cairo_matrix_init_rotate;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_matrix_init_rotate (cairo_matrix_t *matrix, double radians);\";subroutine cairo_matrix_init_rotate(matrix, radians) bind(c)\r\ncairo;cairo_matrix_init_scale;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_matrix_init_scale (cairo_matrix_t *matrix, double sx, double sy);\";subroutine cairo_matrix_init_scale(matrix, sx, sy) bind(c)\r\ncairo;cairo_matrix_init_translate;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_matrix_init_translate (cairo_matrix_t *matrix, double tx, double ty);\";subroutine cairo_matrix_init_translate(matrix, tx, ty) bind(c)\r\ncairo;cairo_matrix_invert;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_matrix_invert (cairo_matrix_t *matrix);\";function cairo_matrix_invert(matrix) bind(c)\r\ncairo;cairo_matrix_multiply;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_matrix_multiply (cairo_matrix_t *result, const cairo_matrix_t *a, const cairo_matrix_t *b);\";subroutine cairo_matrix_multiply(result, a, b) bind(c)\r\ncairo;cairo_matrix_rotate;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_matrix_rotate (cairo_matrix_t *matrix, double radians);\";subroutine cairo_matrix_rotate(matrix, radians) bind(c)\r\ncairo;cairo_matrix_scale;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_matrix_scale (cairo_matrix_t *matrix, double sx, double sy);\";subroutine cairo_matrix_scale(matrix, sx, sy) bind(c)\r\ncairo;cairo_matrix_transform_distance;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_matrix_transform_distance (const cairo_matrix_t *matrix, double *dx, double *dy);\";subroutine cairo_matrix_transform_distance(matrix, dx, dy) bind(c)\r\ncairo;cairo_matrix_transform_point;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_matrix_transform_point (const cairo_matrix_t *matrix, double *x, double *y);\";subroutine cairo_matrix_transform_point(matrix, x, y) bind(c)\r\ncairo;cairo_matrix_translate;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_matrix_translate (cairo_matrix_t *matrix, double tx, double ty);\";subroutine cairo_matrix_translate(matrix, tx, ty) bind(c)\r\ncairo;cairo_mesh_pattern_begin_patch;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_mesh_pattern_begin_patch (cairo_pattern_t *pattern);\";subroutine cairo_mesh_pattern_begin_patch(pattern) bind(c)\r\ncairo;cairo_mesh_pattern_curve_to;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_mesh_pattern_curve_to (cairo_pattern_t *pattern, double x1, double y1, double x2, double y2, double x3, double y3);\";subroutine cairo_mesh_pattern_curve_to(pattern, x1, y1, x2, y2, x3, y3) bind(c)\r\ncairo;cairo_mesh_pattern_end_patch;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_mesh_pattern_end_patch (cairo_pattern_t *pattern);\";subroutine cairo_mesh_pattern_end_patch(pattern) bind(c)\r\ncairo;cairo_mesh_pattern_get_control_point;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_mesh_pattern_get_control_point (cairo_pattern_t *pattern, unsigned int patch_num, unsigned int point_num, double *x, double *y);\";function cairo_mesh_pattern_get_control_point(pattern, patch_num, point_num, x, y) bind(c)\r\ncairo;cairo_mesh_pattern_get_corner_color_rgba;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_mesh_pattern_get_corner_color_rgba (cairo_pattern_t *pattern, unsigned int patch_num, unsigned int corner_num, double *red, double *green, double *blue, double *alpha);\";function cairo_mesh_pattern_get_corner_color_rgba(pattern, patch_num, corner_num, red, green, blue, alpha) bind(c)\r\ncairo;cairo_mesh_pattern_get_patch_count;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_mesh_pattern_get_patch_count (cairo_pattern_t *pattern, unsigned int *count);\";function cairo_mesh_pattern_get_patch_count(pattern, count) bind(c)\r\ncairo;cairo_mesh_pattern_get_path;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_path_t * cairo_mesh_pattern_get_path (cairo_pattern_t *pattern, unsigned int patch_num);\";function cairo_mesh_pattern_get_path(pattern, patch_num) bind(c)\r\ncairo;cairo_mesh_pattern_line_to;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_mesh_pattern_line_to (cairo_pattern_t *pattern, double x, double y);\";subroutine cairo_mesh_pattern_line_to(pattern, x, y) bind(c)\r\ncairo;cairo_mesh_pattern_move_to;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_mesh_pattern_move_to (cairo_pattern_t *pattern, double x, double y);\";subroutine cairo_mesh_pattern_move_to(pattern, x, y) bind(c)\r\ncairo;cairo_mesh_pattern_set_control_point;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_mesh_pattern_set_control_point (cairo_pattern_t *pattern, unsigned int point_num, double x, double y);\";subroutine cairo_mesh_pattern_set_control_point(pattern, point_num, x, y) bind(c)\r\ncairo;cairo_mesh_pattern_set_corner_color_rgb;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_mesh_pattern_set_corner_color_rgb (cairo_pattern_t *pattern, unsigned int corner_num, double red, double green, double blue);\";subroutine cairo_mesh_pattern_set_corner_color_rgb(pattern, corner_num, red, green, blue) bind(c)\r\ncairo;cairo_mesh_pattern_set_corner_color_rgba;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_mesh_pattern_set_corner_color_rgba (cairo_pattern_t *pattern, unsigned int corner_num, double red, double green, double blue, double alpha);\";subroutine cairo_mesh_pattern_set_corner_color_rgba(pattern, corner_num, red, green, blue, alpha) bind(c)\r\ncairo;cairo_move_to;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_move_to (cairo_t *cr, double x, double y);\";subroutine cairo_move_to(cr, x, y) bind(c)\r\ncairo;cairo_new_path;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_new_path (cairo_t *cr);\";subroutine cairo_new_path(cr) bind(c)\r\ncairo;cairo_new_sub_path;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_new_sub_path (cairo_t *cr);\";subroutine cairo_new_sub_path(cr) bind(c)\r\ncairo;cairo_paint;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_paint (cairo_t *cr);\";subroutine cairo_paint(cr) bind(c)\r\ncairo;cairo_paint_with_alpha;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_paint_with_alpha (cairo_t *cr, double alpha);\";subroutine cairo_paint_with_alpha(cr, alpha) bind(c)\r\ncairo;cairo_path_destroy;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_path_destroy (cairo_path_t *path);\";subroutine cairo_path_destroy(path) bind(c)\r\ncairo;cairo_path_extents;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_path_extents (cairo_t *cr, double *x1, double *y1, double *x2, double *y2);\";subroutine cairo_path_extents(cr, x1, y1, x2, y2) bind(c)\r\ncairo;cairo_pattern_add_color_stop_rgb;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_pattern_add_color_stop_rgb (cairo_pattern_t *pattern, double offset, double red, double green, double blue);\";subroutine cairo_pattern_add_color_stop_rgb(pattern, offset, red, green, blue) bind(c)\r\ncairo;cairo_pattern_add_color_stop_rgba;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_pattern_add_color_stop_rgba (cairo_pattern_t *pattern, double offset, double red, double green, double blue, double alpha);\";subroutine cairo_pattern_add_color_stop_rgba(pattern, offset, red, green, blue, alpha) bind(c)\r\ncairo;cairo_pattern_create_for_surface;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_pattern_t * cairo_pattern_create_for_surface (cairo_surface_t *surface);\";function cairo_pattern_create_for_surface(surface) bind(c)\r\ncairo;cairo_pattern_create_linear;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_pattern_t * cairo_pattern_create_linear (double x0, double y0, double x1, double y1);\";function cairo_pattern_create_linear(x0, y0, x1, y1) bind(c)\r\ncairo;cairo_pattern_create_mesh;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_pattern_t * cairo_pattern_create_mesh (void);\";function cairo_pattern_create_mesh() bind(c)\r\ncairo;cairo_pattern_create_radial;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_pattern_t * cairo_pattern_create_radial (double cx0, double cy0, double radius0, double cx1, double cy1, double radius1);\";function cairo_pattern_create_radial(cx0, cy0, radius0, cx1, cy1, radius1) bind(c)\r\ncairo;cairo_pattern_create_raster_source;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_pattern_t * cairo_pattern_create_raster_source (void *user_data, cairo_content_t content, int width, int height);\";function cairo_pattern_create_raster_source(user_data, content, width, height) bind(c)\r\ncairo;cairo_pattern_create_rgb;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_pattern_t * cairo_pattern_create_rgb (double red, double green, double blue);\";function cairo_pattern_create_rgb(red, green, blue) bind(c)\r\ncairo;cairo_pattern_create_rgba;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_pattern_t * cairo_pattern_create_rgba (double red, double green, double blue, double alpha);\";function cairo_pattern_create_rgba(red, green, blue, alpha) bind(c)\r\ncairo;cairo_pattern_destroy;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_pattern_destroy (cairo_pattern_t *pattern);\";subroutine cairo_pattern_destroy(pattern) bind(c)\r\ncairo;cairo_pattern_get_color_stop_count;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_pattern_get_color_stop_count (cairo_pattern_t *pattern, int *count);\";function cairo_pattern_get_color_stop_count(pattern, count) bind(c)\r\ncairo;cairo_pattern_get_color_stop_rgba;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_pattern_get_color_stop_rgba (cairo_pattern_t *pattern, int index, double *offset, double *red, double *green, double *blue, double *alpha);\";function cairo_pattern_get_color_stop_rgba(pattern, index, offset, red, green, blue, alpha) bind(c)\r\ncairo;cairo_pattern_get_dither;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_dither_t cairo_pattern_get_dither (cairo_pattern_t *pattern);\";function cairo_pattern_get_dither(pattern) bind(c)\r\ncairo;cairo_pattern_get_extend;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_extend_t cairo_pattern_get_extend (cairo_pattern_t *pattern);\";function cairo_pattern_get_extend(pattern) bind(c)\r\ncairo;cairo_pattern_get_filter;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_filter_t cairo_pattern_get_filter (cairo_pattern_t *pattern);\";function cairo_pattern_get_filter(pattern) bind(c)\r\ncairo;cairo_pattern_get_linear_points;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_pattern_get_linear_points (cairo_pattern_t *pattern, double *x0, double *y0, double *x1, double *y1);\";function cairo_pattern_get_linear_points(pattern, x0, y0, x1, y1) bind(c)\r\ncairo;cairo_pattern_get_matrix;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_pattern_get_matrix (cairo_pattern_t *pattern, cairo_matrix_t *matrix);\";subroutine cairo_pattern_get_matrix(pattern, matrix) bind(c)\r\ncairo;cairo_pattern_get_radial_circles;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_pattern_get_radial_circles (cairo_pattern_t *pattern, double *x0, double *y0, double *r0, double *x1, double *y1, double *r1);\";function cairo_pattern_get_radial_circles(pattern, x0, y0, r0, x1, y1, r1) bind(c)\r\ncairo;cairo_pattern_get_reference_count;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"unsigned int cairo_pattern_get_reference_count (cairo_pattern_t *pattern);\";function cairo_pattern_get_reference_count(pattern) bind(c)\r\ncairo;cairo_pattern_get_rgba;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_pattern_get_rgba (cairo_pattern_t *pattern, double *red, double *green, double *blue, double *alpha);\";function cairo_pattern_get_rgba(pattern, red, green, blue, alpha) bind(c)\r\ncairo;cairo_pattern_get_surface;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_pattern_get_surface (cairo_pattern_t *pattern, cairo_surface_t **surface);\";function cairo_pattern_get_surface(pattern, surface) bind(c)\r\ncairo;cairo_pattern_get_type;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_pattern_type_t cairo_pattern_get_type (cairo_pattern_t *pattern);\";function cairo_pattern_get_type(pattern) bind(c)\r\ncairo;cairo_pattern_get_user_data;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void * cairo_pattern_get_user_data (cairo_pattern_t *pattern, const cairo_user_data_key_t *key);\";function cairo_pattern_get_user_data(pattern, key) bind(c)\r\ncairo;cairo_pattern_reference;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_pattern_t * cairo_pattern_reference (cairo_pattern_t *pattern);\";function cairo_pattern_reference(pattern) bind(c)\r\ncairo;cairo_pattern_set_dither;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_pattern_set_dither (cairo_pattern_t *pattern, cairo_dither_t dither);\";subroutine cairo_pattern_set_dither(pattern, dither) bind(c)\r\ncairo;cairo_pattern_set_extend;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_pattern_set_extend (cairo_pattern_t *pattern, cairo_extend_t extend);\";subroutine cairo_pattern_set_extend(pattern, extend) bind(c)\r\ncairo;cairo_pattern_set_filter;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_pattern_set_filter (cairo_pattern_t *pattern, cairo_filter_t filter);\";subroutine cairo_pattern_set_filter(pattern, filter) bind(c)\r\ncairo;cairo_pattern_set_matrix;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_pattern_set_matrix (cairo_pattern_t *pattern, const cairo_matrix_t *matrix);\";subroutine cairo_pattern_set_matrix(pattern, matrix) bind(c)\r\ncairo;cairo_pattern_set_user_data;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_pattern_set_user_data (cairo_pattern_t *pattern, const cairo_user_data_key_t *key, void *user_data, cairo_destroy_func_t destroy);\";function cairo_pattern_set_user_data(pattern, key, user_data, destroy) bind(c)\r\ncairo;cairo_pattern_status;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_pattern_status (cairo_pattern_t *pattern);\";function cairo_pattern_status(pattern) bind(c)\r\ncairo;cairo_pdf_get_versions;;cairo-auto.f90;/usr/include/cairo/cairo-pdf.h;\"void cairo_pdf_get_versions (cairo_pdf_version_t const **versions, int *num_versions);\";subroutine cairo_pdf_get_versions(versions, num_versions) bind(c)\r\ncairo;cairo_pdf_surface_add_outline;;cairo-auto.f90;/usr/include/cairo/cairo-pdf.h;\"int cairo_pdf_surface_add_outline (cairo_surface_t *surface, int parent_id, const char *utf8, const char *link_attribs, cairo_pdf_outline_flags_t flags);\";function cairo_pdf_surface_add_outline(surface, parent_id, utf8, link_attribs, flags) bind(c)\r\ncairo;cairo_pdf_surface_create;;cairo-auto.f90;/usr/include/cairo/cairo-pdf.h;\"cairo_surface_t * cairo_pdf_surface_create (const char *filename, double width_in_points, double height_in_points);\";function cairo_pdf_surface_create(filename, width_in_points, height_in_points) bind(c)\r\ncairo;cairo_pdf_surface_create_for_stream;;cairo-auto.f90;/usr/include/cairo/cairo-pdf.h;\"cairo_surface_t * cairo_pdf_surface_create_for_stream (cairo_write_func_t write_func, void *closure, double width_in_points, double height_in_points);\";function cairo_pdf_surface_create_for_stream(write_func, closure, width_in_points, height_in_points) bind(c)\r\ncairo;cairo_pdf_surface_restrict_to_version;;cairo-auto.f90;/usr/include/cairo/cairo-pdf.h;\"void cairo_pdf_surface_restrict_to_version (cairo_surface_t *surface, cairo_pdf_version_t version);\";subroutine cairo_pdf_surface_restrict_to_version(surface, version) bind(c)\r\ncairo;cairo_pdf_surface_set_custom_metadata;;cairo-auto.f90;/usr/include/cairo/cairo-pdf.h;\"void cairo_pdf_surface_set_custom_metadata (cairo_surface_t *surface, const char *name, const char *value);\";subroutine cairo_pdf_surface_set_custom_metadata(surface, name, value) bind(c)\r\ncairo;cairo_pdf_surface_set_metadata;;cairo-auto.f90;/usr/include/cairo/cairo-pdf.h;\"void cairo_pdf_surface_set_metadata (cairo_surface_t *surface, cairo_pdf_metadata_t metadata, const char *utf8);\";subroutine cairo_pdf_surface_set_metadata(surface, metadata, utf8) bind(c)\r\ncairo;cairo_pdf_surface_set_page_label;;cairo-auto.f90;/usr/include/cairo/cairo-pdf.h;\"void cairo_pdf_surface_set_page_label (cairo_surface_t *surface, const char *utf8);\";subroutine cairo_pdf_surface_set_page_label(surface, utf8) bind(c)\r\ncairo;cairo_pdf_surface_set_size;;cairo-auto.f90;/usr/include/cairo/cairo-pdf.h;\"void cairo_pdf_surface_set_size (cairo_surface_t *surface, double width_in_points, double height_in_points);\";subroutine cairo_pdf_surface_set_size(surface, width_in_points, height_in_points) bind(c)\r\ncairo;cairo_pdf_surface_set_thumbnail_size;;cairo-auto.f90;/usr/include/cairo/cairo-pdf.h;\"void cairo_pdf_surface_set_thumbnail_size (cairo_surface_t *surface, int width, int height);\";subroutine cairo_pdf_surface_set_thumbnail_size(surface, width, height) bind(c)\r\ncairo;cairo_pdf_version_to_string;;cairo-auto.f90;/usr/include/cairo/cairo-pdf.h;\"const char * cairo_pdf_version_to_string (cairo_pdf_version_t version);\";function cairo_pdf_version_to_string(version) bind(c)\r\ncairo;cairo_pop_group;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_pattern_t * cairo_pop_group (cairo_t *cr);\";function cairo_pop_group(cr) bind(c)\r\ncairo;cairo_pop_group_to_source;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_pop_group_to_source (cairo_t *cr);\";subroutine cairo_pop_group_to_source(cr) bind(c)\r\ncairo;cairo_ps_get_levels;;cairo-auto.f90;/usr/include/cairo/cairo-ps.h;\"void cairo_ps_get_levels (cairo_ps_level_t const **levels, int *num_levels);\";subroutine cairo_ps_get_levels(levels, num_levels) bind(c)\r\ncairo;cairo_ps_level_to_string;;cairo-auto.f90;/usr/include/cairo/cairo-ps.h;\"const char * cairo_ps_level_to_string (cairo_ps_level_t level);\";function cairo_ps_level_to_string(level) bind(c)\r\ncairo;cairo_ps_surface_create;;cairo-auto.f90;/usr/include/cairo/cairo-ps.h;\"cairo_surface_t * cairo_ps_surface_create (const char *filename, double width_in_points, double height_in_points);\";function cairo_ps_surface_create(filename, width_in_points, height_in_points) bind(c)\r\ncairo;cairo_ps_surface_create_for_stream;;cairo-auto.f90;/usr/include/cairo/cairo-ps.h;\"cairo_surface_t * cairo_ps_surface_create_for_stream (cairo_write_func_t write_func, void *closure, double width_in_points, double height_in_points);\";function cairo_ps_surface_create_for_stream(write_func, closure, width_in_points, height_in_points) bind(c)\r\ncairo;cairo_ps_surface_dsc_begin_page_setup;;cairo-auto.f90;/usr/include/cairo/cairo-ps.h;\"void cairo_ps_surface_dsc_begin_page_setup (cairo_surface_t *surface);\";subroutine cairo_ps_surface_dsc_begin_page_setup(surface) bind(c)\r\ncairo;cairo_ps_surface_dsc_begin_setup;;cairo-auto.f90;/usr/include/cairo/cairo-ps.h;\"void cairo_ps_surface_dsc_begin_setup (cairo_surface_t *surface);\";subroutine cairo_ps_surface_dsc_begin_setup(surface) bind(c)\r\ncairo;cairo_ps_surface_dsc_comment;;cairo-auto.f90;/usr/include/cairo/cairo-ps.h;\"void cairo_ps_surface_dsc_comment (cairo_surface_t *surface, const char *comment);\";subroutine cairo_ps_surface_dsc_comment(surface, comment) bind(c)\r\ncairo;cairo_ps_surface_get_eps;;cairo-auto.f90;/usr/include/cairo/cairo-ps.h;\"cairo_bool_t cairo_ps_surface_get_eps (cairo_surface_t *surface);\";function cairo_ps_surface_get_eps(surface) bind(c)\r\ncairo;cairo_ps_surface_restrict_to_level;;cairo-auto.f90;/usr/include/cairo/cairo-ps.h;\"void cairo_ps_surface_restrict_to_level (cairo_surface_t *surface, cairo_ps_level_t level);\";subroutine cairo_ps_surface_restrict_to_level(surface, level) bind(c)\r\ncairo;cairo_ps_surface_set_eps;;cairo-auto.f90;/usr/include/cairo/cairo-ps.h;\"void cairo_ps_surface_set_eps (cairo_surface_t *surface, cairo_bool_t eps);\";subroutine cairo_ps_surface_set_eps(surface, eps) bind(c)\r\ncairo;cairo_ps_surface_set_size;;cairo-auto.f90;/usr/include/cairo/cairo-ps.h;\"void cairo_ps_surface_set_size (cairo_surface_t *surface, double width_in_points, double height_in_points);\";subroutine cairo_ps_surface_set_size(surface, width_in_points, height_in_points) bind(c)\r\ncairo;cairo_push_group;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_push_group (cairo_t *cr);\";subroutine cairo_push_group(cr) bind(c)\r\ncairo;cairo_push_group_with_content;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_push_group_with_content (cairo_t *cr, cairo_content_t content);\";subroutine cairo_push_group_with_content(cr, content) bind(c)\r\ncairo;cairo_raster_source_pattern_get_acquire;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_raster_source_pattern_get_acquire (cairo_pattern_t *pattern, cairo_raster_source_acquire_func_t *acquire, cairo_raster_source_release_func_t *release);\";subroutine cairo_raster_source_pattern_get_acquire(pattern, acquire, release) bind(c)\r\ncairo;cairo_raster_source_pattern_get_callback_data;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void * cairo_raster_source_pattern_get_callback_data (cairo_pattern_t *pattern);\";function cairo_raster_source_pattern_get_callback_data(pattern) bind(c)\r\ncairo;cairo_raster_source_pattern_get_copy;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_raster_source_copy_func_t cairo_raster_source_pattern_get_copy (cairo_pattern_t *pattern);\";function cairo_raster_source_pattern_get_copy(pattern) bind(c)\r\ncairo;cairo_raster_source_pattern_get_finish;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_raster_source_finish_func_t cairo_raster_source_pattern_get_finish (cairo_pattern_t *pattern);\";function cairo_raster_source_pattern_get_finish(pattern) bind(c)\r\ncairo;cairo_raster_source_pattern_get_snapshot;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_raster_source_snapshot_func_t cairo_raster_source_pattern_get_snapshot (cairo_pattern_t *pattern);\";function cairo_raster_source_pattern_get_snapshot(pattern) bind(c)\r\ncairo;cairo_raster_source_pattern_set_acquire;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_raster_source_pattern_set_acquire (cairo_pattern_t *pattern, cairo_raster_source_acquire_func_t acquire, cairo_raster_source_release_func_t release);\";subroutine cairo_raster_source_pattern_set_acquire(pattern, acquire, release) bind(c)\r\ncairo;cairo_raster_source_pattern_set_callback_data;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_raster_source_pattern_set_callback_data (cairo_pattern_t *pattern, void *data);\";subroutine cairo_raster_source_pattern_set_callback_data(pattern, data) bind(c)\r\ncairo;cairo_raster_source_pattern_set_copy;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_raster_source_pattern_set_copy (cairo_pattern_t *pattern, cairo_raster_source_copy_func_t copy);\";subroutine cairo_raster_source_pattern_set_copy(pattern, copy) bind(c)\r\ncairo;cairo_raster_source_pattern_set_finish;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_raster_source_pattern_set_finish (cairo_pattern_t *pattern, cairo_raster_source_finish_func_t finish);\";subroutine cairo_raster_source_pattern_set_finish(pattern, finish) bind(c)\r\ncairo;cairo_raster_source_pattern_set_snapshot;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_raster_source_pattern_set_snapshot (cairo_pattern_t *pattern, cairo_raster_source_snapshot_func_t snapshot);\";subroutine cairo_raster_source_pattern_set_snapshot(pattern, snapshot) bind(c)\r\ncairo;cairo_recording_surface_create;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_surface_t * cairo_recording_surface_create (cairo_content_t content, const cairo_rectangle_t *extents);\";function cairo_recording_surface_create(content, extents) bind(c)\r\ncairo;cairo_recording_surface_get_extents;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_bool_t cairo_recording_surface_get_extents (cairo_surface_t *surface, cairo_rectangle_t *extents);\";function cairo_recording_surface_get_extents(surface, extents) bind(c)\r\ncairo;cairo_recording_surface_ink_extents;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_recording_surface_ink_extents (cairo_surface_t *surface, double *x0, double *y0, double *width, double *height);\";subroutine cairo_recording_surface_ink_extents(surface, x0, y0, width, height) bind(c)\r\ncairo;cairo_rectangle;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_rectangle (cairo_t *cr, double x, double y, double width, double height);\";subroutine cairo_rectangle(cr, x, y, width, height) bind(c)\r\ncairo;cairo_rectangle_list_destroy;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_rectangle_list_destroy (cairo_rectangle_list_t *rectangle_list);\";subroutine cairo_rectangle_list_destroy(rectangle_list) bind(c)\r\ncairo;cairo_reference;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_t * cairo_reference (cairo_t *cr);\";function cairo_reference(cr) bind(c)\r\ncairo;cairo_region_contains_point;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_bool_t cairo_region_contains_point (const cairo_region_t *region, int x, int y);\";function cairo_region_contains_point(region, x, y) bind(c)\r\ncairo;cairo_region_contains_rectangle;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_region_overlap_t cairo_region_contains_rectangle (const cairo_region_t *region, const cairo_rectangle_int_t *rectangle);\";function cairo_region_contains_rectangle(region, rectangle) bind(c)\r\ncairo;cairo_region_copy;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_region_t * cairo_region_copy (const cairo_region_t *original);\";function cairo_region_copy(original) bind(c)\r\ncairo;cairo_region_create;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_region_t * cairo_region_create (void);\";function cairo_region_create() bind(c)\r\ncairo;cairo_region_create_rectangle;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_region_t * cairo_region_create_rectangle (const cairo_rectangle_int_t *rectangle);\";function cairo_region_create_rectangle(rectangle) bind(c)\r\ncairo;cairo_region_create_rectangles;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_region_t * cairo_region_create_rectangles (const cairo_rectangle_int_t *rects, int count);\";function cairo_region_create_rectangles(rects, count) bind(c)\r\ncairo;cairo_region_destroy;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_region_destroy (cairo_region_t *region);\";subroutine cairo_region_destroy(region) bind(c)\r\ncairo;cairo_region_equal;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_bool_t cairo_region_equal (const cairo_region_t *a, const cairo_region_t *b);\";function cairo_region_equal(a, b) bind(c)\r\ncairo;cairo_region_get_extents;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_region_get_extents (const cairo_region_t *region, cairo_rectangle_int_t *extents);\";subroutine cairo_region_get_extents(region, extents) bind(c)\r\ncairo;cairo_region_get_rectangle;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_region_get_rectangle (const cairo_region_t *region, int nth, cairo_rectangle_int_t *rectangle);\";subroutine cairo_region_get_rectangle(region, nth, rectangle) bind(c)\r\ncairo;cairo_region_intersect;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_region_intersect (cairo_region_t *dst, const cairo_region_t *other);\";function cairo_region_intersect(dst, other) bind(c)\r\ncairo;cairo_region_intersect_rectangle;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_region_intersect_rectangle (cairo_region_t *dst, const cairo_rectangle_int_t *rectangle);\";function cairo_region_intersect_rectangle(dst, rectangle) bind(c)\r\ncairo;cairo_region_is_empty;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_bool_t cairo_region_is_empty (const cairo_region_t *region);\";function cairo_region_is_empty(region) bind(c)\r\ncairo;cairo_region_num_rectangles;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"int cairo_region_num_rectangles (const cairo_region_t *region);\";function cairo_region_num_rectangles(region) bind(c)\r\ncairo;cairo_region_reference;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_region_t * cairo_region_reference (cairo_region_t *region);\";function cairo_region_reference(region) bind(c)\r\ncairo;cairo_region_status;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_region_status (const cairo_region_t *region);\";function cairo_region_status(region) bind(c)\r\ncairo;cairo_region_subtract;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_region_subtract (cairo_region_t *dst, const cairo_region_t *other);\";function cairo_region_subtract(dst, other) bind(c)\r\ncairo;cairo_region_subtract_rectangle;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_region_subtract_rectangle (cairo_region_t *dst, const cairo_rectangle_int_t *rectangle);\";function cairo_region_subtract_rectangle(dst, rectangle) bind(c)\r\ncairo;cairo_region_translate;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_region_translate (cairo_region_t *region, int dx, int dy);\";subroutine cairo_region_translate(region, dx, dy) bind(c)\r\ncairo;cairo_region_union;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_region_union (cairo_region_t *dst, const cairo_region_t *other);\";function cairo_region_union(dst, other) bind(c)\r\ncairo;cairo_region_union_rectangle;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_region_union_rectangle (cairo_region_t *dst, const cairo_rectangle_int_t *rectangle);\";function cairo_region_union_rectangle(dst, rectangle) bind(c)\r\ncairo;cairo_region_xor;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_region_xor (cairo_region_t *dst, const cairo_region_t *other);\";function cairo_region_xor(dst, other) bind(c)\r\ncairo;cairo_region_xor_rectangle;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_region_xor_rectangle (cairo_region_t *dst, const cairo_rectangle_int_t *rectangle);\";function cairo_region_xor_rectangle(dst, rectangle) bind(c)\r\ncairo;cairo_rel_curve_to;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_rel_curve_to (cairo_t *cr, double dx1, double dy1, double dx2, double dy2, double dx3, double dy3);\";subroutine cairo_rel_curve_to(cr, dx1, dy1, dx2, dy2, dx3, dy3) bind(c)\r\ncairo;cairo_rel_line_to;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_rel_line_to (cairo_t *cr, double dx, double dy);\";subroutine cairo_rel_line_to(cr, dx, dy) bind(c)\r\ncairo;cairo_rel_move_to;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_rel_move_to (cairo_t *cr, double dx, double dy);\";subroutine cairo_rel_move_to(cr, dx, dy) bind(c)\r\ncairo;cairo_reset_clip;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_reset_clip (cairo_t *cr);\";subroutine cairo_reset_clip(cr) bind(c)\r\ncairo;cairo_restore;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_restore (cairo_t *cr);\";subroutine cairo_restore(cr) bind(c)\r\ncairo;cairo_rotate;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_rotate (cairo_t *cr, double angle);\";subroutine cairo_rotate(cr, angle) bind(c)\r\ncairo;cairo_save;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_save (cairo_t *cr);\";subroutine cairo_save(cr) bind(c)\r\ncairo;cairo_scale;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_scale (cairo_t *cr, double sx, double sy);\";subroutine cairo_scale(cr, sx, sy) bind(c)\r\ncairo;cairo_scaled_font_create;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_scaled_font_t * cairo_scaled_font_create (cairo_font_face_t *font_face, const cairo_matrix_t *font_matrix, const cairo_matrix_t *ctm, const cairo_font_options_t *options);\";function cairo_scaled_font_create(font_face, font_matrix, ctm, options) bind(c)\r\ncairo;cairo_scaled_font_destroy;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_scaled_font_destroy (cairo_scaled_font_t *scaled_font);\";subroutine cairo_scaled_font_destroy(scaled_font) bind(c)\r\ncairo;cairo_scaled_font_extents;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_scaled_font_extents (cairo_scaled_font_t *scaled_font, cairo_font_extents_t *extents);\";subroutine cairo_scaled_font_extents(scaled_font, extents) bind(c)\r\ncairo;cairo_scaled_font_get_ctm;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_scaled_font_get_ctm (cairo_scaled_font_t *scaled_font, cairo_matrix_t *ctm);\";subroutine cairo_scaled_font_get_ctm(scaled_font, ctm) bind(c)\r\ncairo;cairo_scaled_font_get_font_face;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_font_face_t * cairo_scaled_font_get_font_face (cairo_scaled_font_t *scaled_font);\";function cairo_scaled_font_get_font_face(scaled_font) bind(c)\r\ncairo;cairo_scaled_font_get_font_matrix;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_scaled_font_get_font_matrix (cairo_scaled_font_t *scaled_font, cairo_matrix_t *font_matrix);\";subroutine cairo_scaled_font_get_font_matrix(scaled_font, font_matrix) bind(c)\r\ncairo;cairo_scaled_font_get_font_options;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_scaled_font_get_font_options (cairo_scaled_font_t *scaled_font, cairo_font_options_t *options);\";subroutine cairo_scaled_font_get_font_options(scaled_font, options) bind(c)\r\ncairo;cairo_scaled_font_get_reference_count;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"unsigned int cairo_scaled_font_get_reference_count (cairo_scaled_font_t *scaled_font);\";function cairo_scaled_font_get_reference_count(scaled_font) bind(c)\r\ncairo;cairo_scaled_font_get_scale_matrix;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_scaled_font_get_scale_matrix (cairo_scaled_font_t *scaled_font, cairo_matrix_t *scale_matrix);\";subroutine cairo_scaled_font_get_scale_matrix(scaled_font, scale_matrix) bind(c)\r\ncairo;cairo_scaled_font_get_type;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_font_type_t cairo_scaled_font_get_type (cairo_scaled_font_t *scaled_font);\";function cairo_scaled_font_get_type(scaled_font) bind(c)\r\ncairo;cairo_scaled_font_get_user_data;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void * cairo_scaled_font_get_user_data (cairo_scaled_font_t *scaled_font, const cairo_user_data_key_t *key);\";function cairo_scaled_font_get_user_data(scaled_font, key) bind(c)\r\ncairo;cairo_scaled_font_glyph_extents;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_scaled_font_glyph_extents (cairo_scaled_font_t *scaled_font, const cairo_glyph_t *glyphs, int num_glyphs, cairo_text_extents_t *extents);\";subroutine cairo_scaled_font_glyph_extents(scaled_font, glyphs, num_glyphs, extents) bind(c)\r\ncairo;cairo_scaled_font_reference;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_scaled_font_t * cairo_scaled_font_reference (cairo_scaled_font_t *scaled_font);\";function cairo_scaled_font_reference(scaled_font) bind(c)\r\ncairo;cairo_scaled_font_set_user_data;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_scaled_font_set_user_data (cairo_scaled_font_t *scaled_font, const cairo_user_data_key_t *key, void *user_data, cairo_destroy_func_t destroy);\";function cairo_scaled_font_set_user_data(scaled_font, key, user_data, destroy) bind(c)\r\ncairo;cairo_scaled_font_status;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_scaled_font_status (cairo_scaled_font_t *scaled_font);\";function cairo_scaled_font_status(scaled_font) bind(c)\r\ncairo;cairo_scaled_font_text_extents;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_scaled_font_text_extents (cairo_scaled_font_t *scaled_font, const char *utf8, cairo_text_extents_t *extents);\";subroutine cairo_scaled_font_text_extents(scaled_font, utf8, extents) bind(c)\r\ncairo;cairo_scaled_font_text_to_glyphs;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_scaled_font_text_to_glyphs (cairo_scaled_font_t *scaled_font, double x, double y, const char *utf8, int utf8_len, cairo_glyph_t **glyphs, int *num_glyphs, cairo_text_cluster_t **clusters, int *num_clusters, cairo_text_cluster_flags_t *cluster_flags);\";function cairo_scaled_font_text_to_glyphs(scaled_font, x, y, utf8, utf8_len, glyphs, num_glyphs, clusters, num_clusters, cluster_flags) bind(c)\r\ncairo;cairo_script_create;;cairo-auto.f90;/usr/include/cairo/cairo-script.h;\"cairo_device_t * cairo_script_create (const char *filename);\";function cairo_script_create(filename) bind(c)\r\ncairo;cairo_script_create_for_stream;;cairo-auto.f90;/usr/include/cairo/cairo-script.h;\"cairo_device_t * cairo_script_create_for_stream (cairo_write_func_t write_func, void *closure);\";function cairo_script_create_for_stream(write_func, closure) bind(c)\r\ncairo;cairo_script_from_recording_surface;;cairo-auto.f90;/usr/include/cairo/cairo-script.h;\"cairo_status_t cairo_script_from_recording_surface (cairo_device_t *script, cairo_surface_t *recording_surface);\";function cairo_script_from_recording_surface(script, recording_surface) bind(c)\r\ncairo;cairo_script_get_mode;;cairo-auto.f90;/usr/include/cairo/cairo-script.h;\"cairo_script_mode_t cairo_script_get_mode (cairo_device_t *script);\";function cairo_script_get_mode(script) bind(c)\r\ncairo;cairo_script_interpreter_create;;cairo-auto.f90;/usr/include/cairo/cairo-script-interpreter.h;\"cairo_script_interpreter_t * cairo_script_interpreter_create (void);\";function cairo_script_interpreter_create() bind(c)\r\ncairo;cairo_script_interpreter_destroy;;cairo-auto.f90;/usr/include/cairo/cairo-script-interpreter.h;\"cairo_status_t cairo_script_interpreter_destroy (cairo_script_interpreter_t *ctx);\";function cairo_script_interpreter_destroy(ctx) bind(c)\r\ncairo;cairo_script_interpreter_feed_stream;;cairo-auto.f90;/usr/include/cairo/cairo-script-interpreter.h;\"cairo_status_t cairo_script_interpreter_feed_stream (cairo_script_interpreter_t *ctx, FILE *stream);\";function cairo_script_interpreter_feed_stream(ctx, stream) bind(c)\r\ncairo;cairo_script_interpreter_feed_string;;cairo-auto.f90;/usr/include/cairo/cairo-script-interpreter.h;\"cairo_status_t cairo_script_interpreter_feed_string (cairo_script_interpreter_t *ctx, const char *line, int len);\";function cairo_script_interpreter_feed_string(ctx, line, len) bind(c)\r\ncairo;cairo_script_interpreter_finish;;cairo-auto.f90;/usr/include/cairo/cairo-script-interpreter.h;\"cairo_status_t cairo_script_interpreter_finish (cairo_script_interpreter_t *ctx);\";function cairo_script_interpreter_finish(ctx) bind(c)\r\ncairo;cairo_script_interpreter_get_line_number;;cairo-auto.f90;/usr/include/cairo/cairo-script-interpreter.h;\"unsigned int cairo_script_interpreter_get_line_number (cairo_script_interpreter_t *ctx);\";function cairo_script_interpreter_get_line_number(ctx) bind(c)\r\ncairo;cairo_script_interpreter_install_hooks;;cairo-auto.f90;/usr/include/cairo/cairo-script-interpreter.h;\"void cairo_script_interpreter_install_hooks (cairo_script_interpreter_t *ctx, const cairo_script_interpreter_hooks_t *hooks);\";subroutine cairo_script_interpreter_install_hooks(ctx, hooks) bind(c)\r\ncairo;cairo_script_interpreter_reference;;cairo-auto.f90;/usr/include/cairo/cairo-script-interpreter.h;\"cairo_script_interpreter_t * cairo_script_interpreter_reference (cairo_script_interpreter_t *ctx);\";function cairo_script_interpreter_reference(ctx) bind(c)\r\ncairo;cairo_script_interpreter_run;;cairo-auto.f90;/usr/include/cairo/cairo-script-interpreter.h;\"cairo_status_t cairo_script_interpreter_run (cairo_script_interpreter_t *ctx, const char *filename);\";function cairo_script_interpreter_run(ctx, filename) bind(c)\r\ncairo;cairo_script_interpreter_translate_stream;;cairo-auto.f90;/usr/include/cairo/cairo-script-interpreter.h;\"cairo_status_t cairo_script_interpreter_translate_stream (FILE *stream, cairo_write_func_t write_func, void *closure);\";function cairo_script_interpreter_translate_stream(stream, write_func, closure) bind(c)\r\ncairo;cairo_script_set_mode;;cairo-auto.f90;/usr/include/cairo/cairo-script.h;\"void cairo_script_set_mode (cairo_device_t *script, cairo_script_mode_t mode);\";subroutine cairo_script_set_mode(script, mode) bind(c)\r\ncairo;cairo_script_surface_create;;cairo-auto.f90;/usr/include/cairo/cairo-script.h;\"cairo_surface_t * cairo_script_surface_create (cairo_device_t *script, cairo_content_t content, double width, double height);\";function cairo_script_surface_create(script, content, width, height) bind(c)\r\ncairo;cairo_script_surface_create_for_target;;cairo-auto.f90;/usr/include/cairo/cairo-script.h;\"cairo_surface_t * cairo_script_surface_create_for_target (cairo_device_t *script, cairo_surface_t *target);\";function cairo_script_surface_create_for_target(script, target) bind(c)\r\ncairo;cairo_script_write_comment;;cairo-auto.f90;/usr/include/cairo/cairo-script.h;\"void cairo_script_write_comment (cairo_device_t *script, const char *comment, int len);\";subroutine cairo_script_write_comment(script, comment, len) bind(c)\r\ncairo;cairo_select_font_face;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_select_font_face (cairo_t *cr, const char *family, cairo_font_slant_t slant, cairo_font_weight_t weight);\";subroutine cairo_select_font_face(cr, family, slant, weight) bind(c)\r\ncairo;cairo_set_antialias;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_set_antialias (cairo_t *cr, cairo_antialias_t antialias);\";subroutine cairo_set_antialias(cr, antialias) bind(c)\r\ncairo;cairo_set_dash;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_set_dash (cairo_t *cr, const double *dashes, int num_dashes, double offset);\";subroutine cairo_set_dash(cr, dashes, num_dashes, offset) bind(c)\r\ncairo;cairo_set_fill_rule;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_set_fill_rule (cairo_t *cr, cairo_fill_rule_t fill_rule);\";subroutine cairo_set_fill_rule(cr, fill_rule) bind(c)\r\ncairo;cairo_set_font_face;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_set_font_face (cairo_t *cr, cairo_font_face_t *font_face);\";subroutine cairo_set_font_face(cr, font_face) bind(c)\r\ncairo;cairo_set_font_matrix;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_set_font_matrix (cairo_t *cr, const cairo_matrix_t *matrix);\";subroutine cairo_set_font_matrix(cr, matrix) bind(c)\r\ncairo;cairo_set_font_options;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_set_font_options (cairo_t *cr, const cairo_font_options_t *options);\";subroutine cairo_set_font_options(cr, options) bind(c)\r\ncairo;cairo_set_font_size;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_set_font_size (cairo_t *cr, double size);\";subroutine cairo_set_font_size(cr, size) bind(c)\r\ncairo;cairo_set_hairline;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_set_hairline (cairo_t *cr, cairo_bool_t set_hairline);\";subroutine cairo_set_hairline(cr, set_hairline) bind(c)\r\ncairo;cairo_set_line_cap;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_set_line_cap (cairo_t *cr, cairo_line_cap_t line_cap);\";subroutine cairo_set_line_cap(cr, line_cap) bind(c)\r\ncairo;cairo_set_line_join;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_set_line_join (cairo_t *cr, cairo_line_join_t line_join);\";subroutine cairo_set_line_join(cr, line_join) bind(c)\r\ncairo;cairo_set_line_width;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_set_line_width (cairo_t *cr, double width);\";subroutine cairo_set_line_width(cr, width) bind(c)\r\ncairo;cairo_set_matrix;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_set_matrix (cairo_t *cr, const cairo_matrix_t *matrix);\";subroutine cairo_set_matrix(cr, matrix) bind(c)\r\ncairo;cairo_set_miter_limit;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_set_miter_limit (cairo_t *cr, double limit);\";subroutine cairo_set_miter_limit(cr, limit) bind(c)\r\ncairo;cairo_set_operator;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_set_operator (cairo_t *cr, cairo_operator_t op);\";subroutine cairo_set_operator(cr, op) bind(c)\r\ncairo;cairo_set_scaled_font;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_set_scaled_font (cairo_t *cr, const cairo_scaled_font_t *scaled_font);\";subroutine cairo_set_scaled_font(cr, scaled_font) bind(c)\r\ncairo;cairo_set_source;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_set_source (cairo_t *cr, cairo_pattern_t *source);\";subroutine cairo_set_source(cr, source) bind(c)\r\ncairo;cairo_set_source_rgb;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_set_source_rgb (cairo_t *cr, double red, double green, double blue);\";subroutine cairo_set_source_rgb(cr, red, green, blue) bind(c)\r\ncairo;cairo_set_source_rgba;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_set_source_rgba (cairo_t *cr, double red, double green, double blue, double alpha);\";subroutine cairo_set_source_rgba(cr, red, green, blue, alpha) bind(c)\r\ncairo;cairo_set_source_surface;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_set_source_surface (cairo_t *cr, cairo_surface_t *surface, double x, double y);\";subroutine cairo_set_source_surface(cr, surface, x, y) bind(c)\r\ncairo;cairo_set_tolerance;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_set_tolerance (cairo_t *cr, double tolerance);\";subroutine cairo_set_tolerance(cr, tolerance) bind(c)\r\ncairo;cairo_set_user_data;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_set_user_data (cairo_t *cr, const cairo_user_data_key_t *key, void *user_data, cairo_destroy_func_t destroy);\";function cairo_set_user_data(cr, key, user_data, destroy) bind(c)\r\ncairo;cairo_show_glyphs;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_show_glyphs (cairo_t *cr, const cairo_glyph_t *glyphs, int num_glyphs);\";subroutine cairo_show_glyphs(cr, glyphs, num_glyphs) bind(c)\r\ncairo;cairo_show_page;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_show_page (cairo_t *cr);\";subroutine cairo_show_page(cr) bind(c)\r\ncairo;cairo_show_text;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_show_text (cairo_t *cr, const char *utf8);\";subroutine cairo_show_text(cr, utf8) bind(c)\r\ncairo;cairo_show_text_glyphs;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_show_text_glyphs (cairo_t *cr, const char *utf8, int utf8_len, const cairo_glyph_t *glyphs, int num_glyphs, const cairo_text_cluster_t *clusters, int num_clusters, cairo_text_cluster_flags_t cluster_flags);\";subroutine cairo_show_text_glyphs(cr, utf8, utf8_len, glyphs, num_glyphs, clusters, num_clusters, cluster_flags) bind(c)\r\ncairo;cairo_status;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_status (cairo_t *cr);\";function cairo_status(cr) bind(c)\r\ncairo;cairo_status_to_string;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"const char * cairo_status_to_string (cairo_status_t status);\";function cairo_status_to_string(status) bind(c)\r\ncairo;cairo_stroke;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_stroke (cairo_t *cr);\";subroutine cairo_stroke(cr) bind(c)\r\ncairo;cairo_stroke_extents;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_stroke_extents (cairo_t *cr, double *x1, double *y1, double *x2, double *y2);\";subroutine cairo_stroke_extents(cr, x1, y1, x2, y2) bind(c)\r\ncairo;cairo_stroke_preserve;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_stroke_preserve (cairo_t *cr);\";subroutine cairo_stroke_preserve(cr) bind(c)\r\ncairo;cairo_surface_copy_page;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_surface_copy_page (cairo_surface_t *surface);\";subroutine cairo_surface_copy_page(surface) bind(c)\r\ncairo;cairo_surface_create_for_rectangle;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_surface_t * cairo_surface_create_for_rectangle (cairo_surface_t *target, double x, double y, double width, double height);\";function cairo_surface_create_for_rectangle(target, x, y, width, height) bind(c)\r\ncairo;cairo_surface_create_observer;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_surface_t * cairo_surface_create_observer (cairo_surface_t *target, cairo_surface_observer_mode_t mode);\";function cairo_surface_create_observer(target, mode) bind(c)\r\ncairo;cairo_surface_create_similar;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_surface_t * cairo_surface_create_similar (cairo_surface_t *other, cairo_content_t content, int width, int height);\";function cairo_surface_create_similar(other, content, width, height) bind(c)\r\ncairo;cairo_surface_create_similar_image;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_surface_t * cairo_surface_create_similar_image (cairo_surface_t *other, cairo_format_t format, int width, int height);\";function cairo_surface_create_similar_image(other, format, width, height) bind(c)\r\ncairo;cairo_surface_destroy;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_surface_destroy (cairo_surface_t *surface);\";subroutine cairo_surface_destroy(surface) bind(c)\r\ncairo;cairo_surface_finish;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_surface_finish (cairo_surface_t *surface);\";subroutine cairo_surface_finish(surface) bind(c)\r\ncairo;cairo_surface_flush;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_surface_flush (cairo_surface_t *surface);\";subroutine cairo_surface_flush(surface) bind(c)\r\ncairo;cairo_surface_get_content;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_content_t cairo_surface_get_content (cairo_surface_t *surface);\";function cairo_surface_get_content(surface) bind(c)\r\ncairo;cairo_surface_get_device;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_device_t * cairo_surface_get_device (cairo_surface_t *surface);\";function cairo_surface_get_device(surface) bind(c)\r\ncairo;cairo_surface_get_device_offset;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_surface_get_device_offset (cairo_surface_t *surface, double *x_offset, double *y_offset);\";subroutine cairo_surface_get_device_offset(surface, x_offset, y_offset) bind(c)\r\ncairo;cairo_surface_get_device_scale;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_surface_get_device_scale (cairo_surface_t *surface, double *x_scale, double *y_scale);\";subroutine cairo_surface_get_device_scale(surface, x_scale, y_scale) bind(c)\r\ncairo;cairo_surface_get_fallback_resolution;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_surface_get_fallback_resolution (cairo_surface_t *surface, double *x_pixels_per_inch, double *y_pixels_per_inch);\";subroutine cairo_surface_get_fallback_resolution(surface, x_pixels_per_inch, y_pixels_per_inch) bind(c)\r\ncairo;cairo_surface_get_font_options;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_surface_get_font_options (cairo_surface_t *surface, cairo_font_options_t *options);\";subroutine cairo_surface_get_font_options(surface, options) bind(c)\r\ncairo;cairo_surface_get_mime_data;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_surface_get_mime_data (cairo_surface_t *surface, const char *mime_type, const unsigned char **data, unsigned long *length);\";subroutine cairo_surface_get_mime_data(surface, mime_type, data, length) bind(c)\r\ncairo;cairo_surface_get_reference_count;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"unsigned int cairo_surface_get_reference_count (cairo_surface_t *surface);\";function cairo_surface_get_reference_count(surface) bind(c)\r\ncairo;cairo_surface_get_type;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_surface_type_t cairo_surface_get_type (cairo_surface_t *surface);\";function cairo_surface_get_type(surface) bind(c)\r\ncairo;cairo_surface_get_user_data;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void * cairo_surface_get_user_data (cairo_surface_t *surface, const cairo_user_data_key_t *key);\";function cairo_surface_get_user_data(surface, key) bind(c)\r\ncairo;cairo_surface_has_show_text_glyphs;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_bool_t cairo_surface_has_show_text_glyphs (cairo_surface_t *surface);\";function cairo_surface_has_show_text_glyphs(surface) bind(c)\r\ncairo;cairo_surface_map_to_image;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_surface_t * cairo_surface_map_to_image (cairo_surface_t *surface, const cairo_rectangle_int_t *extents);\";function cairo_surface_map_to_image(surface, extents) bind(c)\r\ncairo;cairo_surface_mark_dirty;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_surface_mark_dirty (cairo_surface_t *surface);\";subroutine cairo_surface_mark_dirty(surface) bind(c)\r\ncairo;cairo_surface_mark_dirty_rectangle;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_surface_mark_dirty_rectangle (cairo_surface_t *surface, int x, int y, int width, int height);\";subroutine cairo_surface_mark_dirty_rectangle(surface, x, y, width, height) bind(c)\r\ncairo;cairo_surface_observer_add_fill_callback;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_surface_observer_add_fill_callback (cairo_surface_t *abstract_surface, cairo_surface_observer_callback_t func, void *data);\";function cairo_surface_observer_add_fill_callback(abstract_surface, func, data) bind(c)\r\ncairo;cairo_surface_observer_add_finish_callback;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_surface_observer_add_finish_callback (cairo_surface_t *abstract_surface, cairo_surface_observer_callback_t func, void *data);\";function cairo_surface_observer_add_finish_callback(abstract_surface, func, data) bind(c)\r\ncairo;cairo_surface_observer_add_flush_callback;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_surface_observer_add_flush_callback (cairo_surface_t *abstract_surface, cairo_surface_observer_callback_t func, void *data);\";function cairo_surface_observer_add_flush_callback(abstract_surface, func, data) bind(c)\r\ncairo;cairo_surface_observer_add_glyphs_callback;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_surface_observer_add_glyphs_callback (cairo_surface_t *abstract_surface, cairo_surface_observer_callback_t func, void *data);\";function cairo_surface_observer_add_glyphs_callback(abstract_surface, func, data) bind(c)\r\ncairo;cairo_surface_observer_add_mask_callback;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_surface_observer_add_mask_callback (cairo_surface_t *abstract_surface, cairo_surface_observer_callback_t func, void *data);\";function cairo_surface_observer_add_mask_callback(abstract_surface, func, data) bind(c)\r\ncairo;cairo_surface_observer_add_paint_callback;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_surface_observer_add_paint_callback (cairo_surface_t *abstract_surface, cairo_surface_observer_callback_t func, void *data);\";function cairo_surface_observer_add_paint_callback(abstract_surface, func, data) bind(c)\r\ncairo;cairo_surface_observer_add_stroke_callback;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_surface_observer_add_stroke_callback (cairo_surface_t *abstract_surface, cairo_surface_observer_callback_t func, void *data);\";function cairo_surface_observer_add_stroke_callback(abstract_surface, func, data) bind(c)\r\ncairo;cairo_surface_observer_elapsed;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"double cairo_surface_observer_elapsed (cairo_surface_t *abstract_surface);\";function cairo_surface_observer_elapsed(abstract_surface) bind(c)\r\ncairo;cairo_surface_observer_print;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_surface_observer_print (cairo_surface_t *abstract_surface, cairo_write_func_t write_func, void *closure);\";function cairo_surface_observer_print(abstract_surface, write_func, closure) bind(c)\r\ncairo;cairo_surface_reference;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_surface_t * cairo_surface_reference (cairo_surface_t *surface);\";function cairo_surface_reference(surface) bind(c)\r\ncairo;cairo_surface_set_device_offset;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_surface_set_device_offset (cairo_surface_t *surface, double x_offset, double y_offset);\";subroutine cairo_surface_set_device_offset(surface, x_offset, y_offset) bind(c)\r\ncairo;cairo_surface_set_device_scale;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_surface_set_device_scale (cairo_surface_t *surface, double x_scale, double y_scale);\";subroutine cairo_surface_set_device_scale(surface, x_scale, y_scale) bind(c)\r\ncairo;cairo_surface_set_fallback_resolution;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_surface_set_fallback_resolution (cairo_surface_t *surface, double x_pixels_per_inch, double y_pixels_per_inch);\";subroutine cairo_surface_set_fallback_resolution(surface, x_pixels_per_inch, y_pixels_per_inch) bind(c)\r\ncairo;cairo_surface_set_mime_data;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_surface_set_mime_data (cairo_surface_t *surface, const char *mime_type, const unsigned char *data, unsigned long length, cairo_destroy_func_t destroy, void *closure);\";function cairo_surface_set_mime_data(surface, mime_type, data, length, destroy, closure) bind(c)\r\ncairo;cairo_surface_set_user_data;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_surface_set_user_data (cairo_surface_t *surface, const cairo_user_data_key_t *key, void *user_data, cairo_destroy_func_t destroy);\";function cairo_surface_set_user_data(surface, key, user_data, destroy) bind(c)\r\ncairo;cairo_surface_show_page;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_surface_show_page (cairo_surface_t *surface);\";subroutine cairo_surface_show_page(surface) bind(c)\r\ncairo;cairo_surface_status;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_surface_status (cairo_surface_t *surface);\";function cairo_surface_status(surface) bind(c)\r\ncairo;cairo_surface_supports_mime_type;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_bool_t cairo_surface_supports_mime_type (cairo_surface_t *surface, const char *mime_type);\";function cairo_surface_supports_mime_type(surface, mime_type) bind(c)\r\ncairo;cairo_surface_unmap_image;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_surface_unmap_image (cairo_surface_t *surface, cairo_surface_t *image);\";subroutine cairo_surface_unmap_image(surface, image) bind(c)\r\ncairo;cairo_surface_write_to_png;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_surface_write_to_png (cairo_surface_t *surface, const char *filename);\";function cairo_surface_write_to_png(surface, filename) bind(c)\r\ncairo;cairo_surface_write_to_png_stream;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_status_t cairo_surface_write_to_png_stream (cairo_surface_t *surface, cairo_write_func_t write_func, void *closure);\";function cairo_surface_write_to_png_stream(surface, write_func, closure) bind(c)\r\ncairo;cairo_svg_get_versions;;cairo-auto.f90;/usr/include/cairo/cairo-svg.h;\"void cairo_svg_get_versions (cairo_svg_version_t const **versions, int *num_versions);\";subroutine cairo_svg_get_versions(versions, num_versions) bind(c)\r\ncairo;cairo_svg_surface_create;;cairo-auto.f90;/usr/include/cairo/cairo-svg.h;\"cairo_surface_t * cairo_svg_surface_create (const char *filename, double width_in_points, double height_in_points);\";function cairo_svg_surface_create(filename, width_in_points, height_in_points) bind(c)\r\ncairo;cairo_svg_surface_create_for_stream;;cairo-auto.f90;/usr/include/cairo/cairo-svg.h;\"cairo_surface_t * cairo_svg_surface_create_for_stream (cairo_write_func_t write_func, void *closure, double width_in_points, double height_in_points);\";function cairo_svg_surface_create_for_stream(write_func, closure, width_in_points, height_in_points) bind(c)\r\ncairo;cairo_svg_surface_get_document_unit;;cairo-auto.f90;/usr/include/cairo/cairo-svg.h;\"cairo_svg_unit_t cairo_svg_surface_get_document_unit (cairo_surface_t *surface);\";function cairo_svg_surface_get_document_unit(surface) bind(c)\r\ncairo;cairo_svg_surface_restrict_to_version;;cairo-auto.f90;/usr/include/cairo/cairo-svg.h;\"void cairo_svg_surface_restrict_to_version (cairo_surface_t *surface, cairo_svg_version_t version);\";subroutine cairo_svg_surface_restrict_to_version(surface, version) bind(c)\r\ncairo;cairo_svg_surface_set_document_unit;;cairo-auto.f90;/usr/include/cairo/cairo-svg.h;\"void cairo_svg_surface_set_document_unit (cairo_surface_t *surface, cairo_svg_unit_t unit);\";subroutine cairo_svg_surface_set_document_unit(surface, unit) bind(c)\r\ncairo;cairo_svg_version_to_string;;cairo-auto.f90;/usr/include/cairo/cairo-svg.h;\"const char * cairo_svg_version_to_string (cairo_svg_version_t version);\";function cairo_svg_version_to_string(version) bind(c)\r\ncairo;cairo_tag_begin;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_tag_begin (cairo_t *cr, const char *tag_name, const char *attributes);\";subroutine cairo_tag_begin(cr, tag_name, attributes) bind(c)\r\ncairo;cairo_tag_end;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_tag_end (cairo_t *cr, const char *tag_name);\";subroutine cairo_tag_end(cr, tag_name) bind(c)\r\ncairo;cairo_tee_surface_add;;cairo-auto.f90;/usr/include/cairo/cairo-tee.h;\"void cairo_tee_surface_add (cairo_surface_t *abstract_surface, cairo_surface_t *target);\";subroutine cairo_tee_surface_add(abstract_surface, target) bind(c)\r\ncairo;cairo_tee_surface_create;;cairo-auto.f90;/usr/include/cairo/cairo-tee.h;\"cairo_surface_t * cairo_tee_surface_create (cairo_surface_t *primary);\";function cairo_tee_surface_create(primary) bind(c)\r\ncairo;cairo_tee_surface_index;;cairo-auto.f90;/usr/include/cairo/cairo-tee.h;\"cairo_surface_t * cairo_tee_surface_index (cairo_surface_t *abstract_surface, unsigned int index);\";function cairo_tee_surface_index(abstract_surface, index) bind(c)\r\ncairo;cairo_tee_surface_remove;;cairo-auto.f90;/usr/include/cairo/cairo-tee.h;\"void cairo_tee_surface_remove (cairo_surface_t *abstract_surface, cairo_surface_t *target);\";subroutine cairo_tee_surface_remove(abstract_surface, target) bind(c)\r\ncairo;cairo_text_cluster_allocate;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_text_cluster_t * cairo_text_cluster_allocate (int num_clusters);\";function cairo_text_cluster_allocate(num_clusters) bind(c)\r\ncairo;cairo_text_cluster_free;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_text_cluster_free (cairo_text_cluster_t *clusters);\";subroutine cairo_text_cluster_free(clusters) bind(c)\r\ncairo;cairo_text_extents;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_text_extents (cairo_t *cr, const char *utf8, cairo_text_extents_t *extents);\";subroutine cairo_text_extents(cr, utf8, extents) bind(c)\r\ncairo;cairo_text_path;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_text_path (cairo_t *cr, const char *utf8);\";subroutine cairo_text_path(cr, utf8) bind(c)\r\ncairo;cairo_toy_font_face_create;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_font_face_t * cairo_toy_font_face_create (const char *family, cairo_font_slant_t slant, cairo_font_weight_t weight);\";function cairo_toy_font_face_create(family, slant, weight) bind(c)\r\ncairo;cairo_toy_font_face_get_family;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"const char * cairo_toy_font_face_get_family (cairo_font_face_t *font_face);\";function cairo_toy_font_face_get_family(font_face) bind(c)\r\ncairo;cairo_toy_font_face_get_slant;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_font_slant_t cairo_toy_font_face_get_slant (cairo_font_face_t *font_face);\";function cairo_toy_font_face_get_slant(font_face) bind(c)\r\ncairo;cairo_toy_font_face_get_weight;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_font_weight_t cairo_toy_font_face_get_weight (cairo_font_face_t *font_face);\";function cairo_toy_font_face_get_weight(font_face) bind(c)\r\ncairo;cairo_transform;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_transform (cairo_t *cr, const cairo_matrix_t *matrix);\";subroutine cairo_transform(cr, matrix) bind(c)\r\ncairo;cairo_translate;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_translate (cairo_t *cr, double tx, double ty);\";subroutine cairo_translate(cr, tx, ty) bind(c)\r\ncairo;cairo_user_font_face_create;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_font_face_t * cairo_user_font_face_create (void);\";function cairo_user_font_face_create() bind(c)\r\ncairo;cairo_user_font_face_get_init_func;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_user_scaled_font_init_func_t cairo_user_font_face_get_init_func (cairo_font_face_t *font_face);\";function cairo_user_font_face_get_init_func(font_face) bind(c)\r\ncairo;cairo_user_font_face_get_render_color_glyph_func;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_user_scaled_font_render_glyph_func_t cairo_user_font_face_get_render_color_glyph_func (cairo_font_face_t *font_face);\";function cairo_user_font_face_get_render_color_glyph_func(font_face) bind(c)\r\ncairo;cairo_user_font_face_get_render_glyph_func;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_user_scaled_font_render_glyph_func_t cairo_user_font_face_get_render_glyph_func (cairo_font_face_t *font_face);\";function cairo_user_font_face_get_render_glyph_func(font_face) bind(c)\r\ncairo;cairo_user_font_face_get_text_to_glyphs_func;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_user_scaled_font_text_to_glyphs_func_t cairo_user_font_face_get_text_to_glyphs_func (cairo_font_face_t *font_face);\";function cairo_user_font_face_get_text_to_glyphs_func(font_face) bind(c)\r\ncairo;cairo_user_font_face_get_unicode_to_glyph_func;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_user_scaled_font_unicode_to_glyph_func_t cairo_user_font_face_get_unicode_to_glyph_func (cairo_font_face_t *font_face);\";function cairo_user_font_face_get_unicode_to_glyph_func(font_face) bind(c)\r\ncairo;cairo_user_font_face_set_init_func;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_user_font_face_set_init_func (cairo_font_face_t *font_face, cairo_user_scaled_font_init_func_t init_func);\";subroutine cairo_user_font_face_set_init_func(font_face, init_func) bind(c)\r\ncairo;cairo_user_font_face_set_render_color_glyph_func;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_user_font_face_set_render_color_glyph_func (cairo_font_face_t *font_face, cairo_user_scaled_font_render_glyph_func_t render_glyph_func);\";subroutine cairo_user_font_face_set_render_color_glyph_func(font_face, render_glyph_func) bind(c)\r\ncairo;cairo_user_font_face_set_render_glyph_func;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_user_font_face_set_render_glyph_func (cairo_font_face_t *font_face, cairo_user_scaled_font_render_glyph_func_t render_glyph_func);\";subroutine cairo_user_font_face_set_render_glyph_func(font_face, render_glyph_func) bind(c)\r\ncairo;cairo_user_font_face_set_text_to_glyphs_func;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_user_font_face_set_text_to_glyphs_func (cairo_font_face_t *font_face, cairo_user_scaled_font_text_to_glyphs_func_t text_to_glyphs_func);\";subroutine cairo_user_font_face_set_text_to_glyphs_func(font_face, text_to_glyphs_func) bind(c)\r\ncairo;cairo_user_font_face_set_unicode_to_glyph_func;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_user_font_face_set_unicode_to_glyph_func (cairo_font_face_t *font_face, cairo_user_scaled_font_unicode_to_glyph_func_t unicode_to_glyph_func);\";subroutine cairo_user_font_face_set_unicode_to_glyph_func(font_face, unicode_to_glyph_func) bind(c)\r\ncairo;cairo_user_scaled_font_get_foreground_marker;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_pattern_t * cairo_user_scaled_font_get_foreground_marker (cairo_scaled_font_t *scaled_font);\";function cairo_user_scaled_font_get_foreground_marker(scaled_font) bind(c)\r\ncairo;cairo_user_scaled_font_get_foreground_source;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"cairo_pattern_t * cairo_user_scaled_font_get_foreground_source (cairo_scaled_font_t *scaled_font);\";function cairo_user_scaled_font_get_foreground_source(scaled_font) bind(c)\r\ncairo;cairo_user_to_device;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_user_to_device (cairo_t *cr, double *x, double *y);\";subroutine cairo_user_to_device(cr, x, y) bind(c)\r\ncairo;cairo_user_to_device_distance;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"void cairo_user_to_device_distance (cairo_t *cr, double *dx, double *dy);\";subroutine cairo_user_to_device_distance(cr, dx, dy) bind(c)\r\ncairo;cairo_version;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"int cairo_version (void);\";function cairo_version() bind(c)\r\ncairo;cairo_version_string;;cairo-auto.f90;/usr/include/cairo/cairo.h;\"const char* cairo_version_string (void);\";function cairo_version_string() bind(c)\r\ncairo;cairo_xcb_device_debug_cap_xrender_version;;cairo-auto.f90;/usr/include/cairo/cairo-xcb.h;\"void cairo_xcb_device_debug_cap_xrender_version (cairo_device_t *device, int major_version, int minor_version);\";subroutine cairo_xcb_device_debug_cap_xrender_version(device, major_version, minor_version) bind(c)\r\ncairo;cairo_xcb_device_debug_cap_xshm_version;;cairo-auto.f90;/usr/include/cairo/cairo-xcb.h;\"void cairo_xcb_device_debug_cap_xshm_version (cairo_device_t *device, int major_version, int minor_version);\";subroutine cairo_xcb_device_debug_cap_xshm_version(device, major_version, minor_version) bind(c)\r\ncairo;cairo_xcb_device_debug_get_precision;;cairo-auto.f90;/usr/include/cairo/cairo-xcb.h;\"int cairo_xcb_device_debug_get_precision (cairo_device_t *device);\";function cairo_xcb_device_debug_get_precision(device) bind(c)\r\ncairo;cairo_xcb_device_debug_set_precision;;cairo-auto.f90;/usr/include/cairo/cairo-xcb.h;\"void cairo_xcb_device_debug_set_precision (cairo_device_t *device, int precision);\";subroutine cairo_xcb_device_debug_set_precision(device, precision) bind(c)\r\ncairo;cairo_xcb_device_get_connection;;cairo-auto.f90;/usr/include/cairo/cairo-xcb.h;\"xcb_connection_t * cairo_xcb_device_get_connection (cairo_device_t *device);\";function cairo_xcb_device_get_connection(device) bind(c)\r\ncairo;cairo_xcb_surface_create;;cairo-auto.f90;/usr/include/cairo/cairo-xcb.h;\"cairo_surface_t * cairo_xcb_surface_create (xcb_connection_t *connection, xcb_drawable_t drawable, xcb_visualtype_t *visual, int width, int height);\";function cairo_xcb_surface_create(connection, drawable, visual, width, height) bind(c)\r\ncairo;cairo_xcb_surface_create_for_bitmap;;cairo-auto.f90;/usr/include/cairo/cairo-xcb.h;\"cairo_surface_t * cairo_xcb_surface_create_for_bitmap (xcb_connection_t *connection, xcb_screen_t *screen, xcb_pixmap_t bitmap, int width, int height);\";function cairo_xcb_surface_create_for_bitmap(connection, screen, bitmap, width, height) bind(c)\r\ncairo;cairo_xcb_surface_create_with_xrender_format;;cairo-auto.f90;/usr/include/cairo/cairo-xcb.h;\"cairo_surface_t * cairo_xcb_surface_create_with_xrender_format (xcb_connection_t *connection, xcb_screen_t *screen, xcb_drawable_t drawable, xcb_render_pictforminfo_t *format, int width, int height);\";function cairo_xcb_surface_create_with_xrender_format(connection, screen, drawable, format, width, height) bind(c)\r\ncairo;cairo_xcb_surface_set_drawable;;cairo-auto.f90;/usr/include/cairo/cairo-xcb.h;\"void cairo_xcb_surface_set_drawable (cairo_surface_t *surface, xcb_drawable_t drawable, int width, int height);\";subroutine cairo_xcb_surface_set_drawable(surface, drawable, width, height) bind(c)\r\ncairo;cairo_xcb_surface_set_size;;cairo-auto.f90;/usr/include/cairo/cairo-xcb.h;\"void cairo_xcb_surface_set_size (cairo_surface_t *surface, int width, int height);\";subroutine cairo_xcb_surface_set_size(surface, width, height) bind(c)\r\ncairo;cairo_xlib_device_debug_cap_xrender_version;;cairo-auto.f90;/usr/include/cairo/cairo-xlib.h;\"void cairo_xlib_device_debug_cap_xrender_version (cairo_device_t *device, int major_version, int minor_version);\";subroutine cairo_xlib_device_debug_cap_xrender_version(device, major_version, minor_version) bind(c)\r\ncairo;cairo_xlib_device_debug_get_precision;;cairo-auto.f90;/usr/include/cairo/cairo-xlib.h;\"int cairo_xlib_device_debug_get_precision (cairo_device_t *device);\";function cairo_xlib_device_debug_get_precision(device) bind(c)\r\ncairo;cairo_xlib_device_debug_set_precision;;cairo-auto.f90;/usr/include/cairo/cairo-xlib.h;\"void cairo_xlib_device_debug_set_precision (cairo_device_t *device, int precision);\";subroutine cairo_xlib_device_debug_set_precision(device, precision) bind(c)\r\ncairo;cairo_xlib_surface_create;;cairo-auto.f90;/usr/include/cairo/cairo-xlib.h;\"cairo_surface_t * cairo_xlib_surface_create (Display *dpy, Drawable drawable, Visual *visual, int width, int height);\";function cairo_xlib_surface_create(dpy, drawable, visual, width, height) bind(c)\r\ncairo;cairo_xlib_surface_create_for_bitmap;;cairo-auto.f90;/usr/include/cairo/cairo-xlib.h;\"cairo_surface_t * cairo_xlib_surface_create_for_bitmap (Display *dpy, Pixmap bitmap, Screen *screen, int width, int height);\";function cairo_xlib_surface_create_for_bitmap(dpy, bitmap, screen, width, height) bind(c)\r\ncairo;cairo_xlib_surface_create_with_xrender_format;;cairo-auto.f90;/usr/include/cairo/cairo-xlib-xrender.h;\"cairo_surface_t * cairo_xlib_surface_create_with_xrender_format (Display *dpy, Drawable drawable, Screen *screen, XRenderPictFormat *format, int width, int height);\";function cairo_xlib_surface_create_with_xrender_format(dpy, drawable, screen, format, width, height) bind(c)\r\ncairo;cairo_xlib_surface_get_depth;;cairo-auto.f90;/usr/include/cairo/cairo-xlib.h;\"int cairo_xlib_surface_get_depth (cairo_surface_t *surface);\";function cairo_xlib_surface_get_depth(surface) bind(c)\r\ncairo;cairo_xlib_surface_get_display;;cairo-auto.f90;/usr/include/cairo/cairo-xlib.h;\"Display * cairo_xlib_surface_get_display (cairo_surface_t *surface);\";function cairo_xlib_surface_get_display(surface) bind(c)\r\ncairo;cairo_xlib_surface_get_drawable;;cairo-auto.f90;/usr/include/cairo/cairo-xlib.h;\"Drawable cairo_xlib_surface_get_drawable (cairo_surface_t *surface);\";function cairo_xlib_surface_get_drawable(surface) bind(c)\r\ncairo;cairo_xlib_surface_get_height;;cairo-auto.f90;/usr/include/cairo/cairo-xlib.h;\"int cairo_xlib_surface_get_height (cairo_surface_t *surface);\";function cairo_xlib_surface_get_height(surface) bind(c)\r\ncairo;cairo_xlib_surface_get_screen;;cairo-auto.f90;/usr/include/cairo/cairo-xlib.h;\"Screen * cairo_xlib_surface_get_screen (cairo_surface_t *surface);\";function cairo_xlib_surface_get_screen(surface) bind(c)\r\ncairo;cairo_xlib_surface_get_visual;;cairo-auto.f90;/usr/include/cairo/cairo-xlib.h;\"Visual * cairo_xlib_surface_get_visual (cairo_surface_t *surface);\";function cairo_xlib_surface_get_visual(surface) bind(c)\r\ncairo;cairo_xlib_surface_get_width;;cairo-auto.f90;/usr/include/cairo/cairo-xlib.h;\"int cairo_xlib_surface_get_width (cairo_surface_t *surface);\";function cairo_xlib_surface_get_width(surface) bind(c)\r\ncairo;cairo_xlib_surface_get_xrender_format;;cairo-auto.f90;/usr/include/cairo/cairo-xlib-xrender.h;\"XRenderPictFormat * cairo_xlib_surface_get_xrender_format (cairo_surface_t *surface);\";function cairo_xlib_surface_get_xrender_format(surface) bind(c)\r\ncairo;cairo_xlib_surface_set_drawable;;cairo-auto.f90;/usr/include/cairo/cairo-xlib.h;\"void cairo_xlib_surface_set_drawable (cairo_surface_t *surface, Drawable drawable, int width, int height);\";subroutine cairo_xlib_surface_set_drawable(surface, drawable, width, height) bind(c)\r\ncairo;cairo_xlib_surface_set_size;;cairo-auto.f90;/usr/include/cairo/cairo-xlib.h;\"void cairo_xlib_surface_set_size (cairo_surface_t *surface, int width, int height);\";subroutine cairo_xlib_surface_set_size(surface, width, height) bind(c)\r\ng;address_of_function;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gutils.h;\"const gchar * const * g_win32_get_system_data_dirs_for_module (void (*address_of_function)(void));\";function address_of_function() bind(c)\r\ng;alloca;;glib-auto.f90;/usr/include/glib-2.0/glib/galloca.h;\"char *alloca ();\";function alloca() bind(c)\r\ng;g_access;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstdio.h;\"int g_access (const gchar *filename, int mode);\";function g_access(filename, mode) bind(c)\r\ng;g_action_activate;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gaction.h;\"void g_action_activate (GAction *action, GVariant *parameter);\";subroutine g_action_activate(action, parameter) bind(c)\r\ng;g_action_change_state;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gaction.h;\"void g_action_change_state (GAction *action, GVariant *value);\";subroutine g_action_change_state(action, value) bind(c)\r\ng;g_action_get_enabled;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gaction.h;\"gboolean g_action_get_enabled (GAction *action);\";function g_action_get_enabled(action) bind(c)\r\ng;g_action_get_name;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gaction.h;\"const gchar * g_action_get_name (GAction *action);\";function g_action_get_name(action) bind(c)\r\ng;g_action_get_parameter_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gaction.h;\"const GVariantType * g_action_get_parameter_type (GAction *action);\";function g_action_get_parameter_type(action) bind(c)\r\ng;g_action_get_state;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gaction.h;\"GVariant * g_action_get_state (GAction *action);\";function g_action_get_state(action) bind(c)\r\ng;g_action_get_state_hint;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gaction.h;\"GVariant * g_action_get_state_hint (GAction *action);\";function g_action_get_state_hint(action) bind(c)\r\ng;g_action_get_state_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gaction.h;\"const GVariantType * g_action_get_state_type (GAction *action);\";function g_action_get_state_type(action) bind(c)\r\ng;g_action_get_type;GIO_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/gio/gaction.h;\"GType g_action_get_type (void) ;\";function g_action_get_type() bind(c)\r\ng;g_action_group_action_added;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gactiongroup.h;\"void g_action_group_action_added (GActionGroup *action_group, const gchar *action_name);\";subroutine g_action_group_action_added(action_group, action_name) bind(c)\r\ng;g_action_group_action_enabled_changed;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gactiongroup.h;\"void g_action_group_action_enabled_changed (GActionGroup *action_group, const gchar *action_name, gboolean enabled);\";subroutine g_action_group_action_enabled_changed(action_group, action_name, enabled) bind(c)\r\ng;g_action_group_action_removed;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gactiongroup.h;\"void g_action_group_action_removed (GActionGroup *action_group, const gchar *action_name);\";subroutine g_action_group_action_removed(action_group, action_name) bind(c)\r\ng;g_action_group_action_state_changed;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gactiongroup.h;\"void g_action_group_action_state_changed (GActionGroup *action_group, const gchar *action_name, GVariant *state);\";subroutine g_action_group_action_state_changed(action_group, action_name, state) bind(c)\r\ng;g_action_group_activate_action;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gactiongroup.h;\"void g_action_group_activate_action (GActionGroup *action_group, const gchar *action_name, GVariant *parameter);\";subroutine g_action_group_activate_action(action_group, action_name, parameter) bind(c)\r\ng;g_action_group_change_action_state;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gactiongroup.h;\"void g_action_group_change_action_state (GActionGroup *action_group, const gchar *action_name, GVariant *value);\";subroutine g_action_group_change_action_state(action_group, action_name, value) bind(c)\r\ng;g_action_group_get_action_enabled;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gactiongroup.h;\"gboolean g_action_group_get_action_enabled (GActionGroup *action_group, const gchar *action_name);\";function g_action_group_get_action_enabled(action_group, action_name) bind(c)\r\ng;g_action_group_get_action_parameter_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gactiongroup.h;\"const GVariantType * g_action_group_get_action_parameter_type (GActionGroup *action_group, const gchar *action_name);\";function g_action_group_get_action_parameter_type(action_group, action_name) bind(c)\r\ng;g_action_group_get_action_state;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gactiongroup.h;\"GVariant * g_action_group_get_action_state (GActionGroup *action_group, const gchar *action_name);\";function g_action_group_get_action_state(action_group, action_name) bind(c)\r\ng;g_action_group_get_action_state_hint;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gactiongroup.h;\"GVariant * g_action_group_get_action_state_hint (GActionGroup *action_group, const gchar *action_name);\";function g_action_group_get_action_state_hint(action_group, action_name) bind(c)\r\ng;g_action_group_get_action_state_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gactiongroup.h;\"const GVariantType * g_action_group_get_action_state_type (GActionGroup *action_group, const gchar *action_name);\";function g_action_group_get_action_state_type(action_group, action_name) bind(c)\r\ng;g_action_group_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gactiongroup.h;\"GType g_action_group_get_type (void) ;\";function g_action_group_get_type() bind(c)\r\ng;g_action_group_has_action;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gactiongroup.h;\"gboolean g_action_group_has_action (GActionGroup *action_group, const gchar *action_name);\";function g_action_group_has_action(action_group, action_name) bind(c)\r\ng;g_action_group_list_actions;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gactiongroup.h;\"gchar ** g_action_group_list_actions (GActionGroup *action_group);\";function g_action_group_list_actions(action_group) bind(c)\r\ng;g_action_group_query_action;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gactiongroup.h;\"gboolean g_action_group_query_action (GActionGroup *action_group, const gchar *action_name, gboolean *enabled, const GVariantType **parameter_type, const GVariantType **state_type, GVariant **state_hint, GVariant **state) ;\";function g_action_group_query_action(action_group, action_name, enabled, parameter_type, state_type, state_hint, state) bind(c)\r\ng;g_action_map_add_action;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gactionmap.h;\"void g_action_map_add_action (GActionMap *action_map, GAction *action);\";subroutine g_action_map_add_action(action_map, action) bind(c)\r\ng;g_action_map_add_action_entries;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gactionmap.h;\"void g_action_map_add_action_entries (GActionMap *action_map, const GActionEntry *entries, gint n_entries, gpointer user_data);\";subroutine g_action_map_add_action_entries(action_map, entries, n_entries, user_data) bind(c)\r\ng;g_action_map_get_type;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gactionmap.h;\"GType g_action_map_get_type (void) ;\";function g_action_map_get_type() bind(c)\r\ng;g_action_map_lookup_action;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gactionmap.h;\"GAction * g_action_map_lookup_action (GActionMap *action_map, const gchar *action_name);\";function g_action_map_lookup_action(action_map, action_name) bind(c)\r\ng;g_action_map_remove_action;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gactionmap.h;\"void g_action_map_remove_action (GActionMap *action_map, const gchar *action_name);\";subroutine g_action_map_remove_action(action_map, action_name) bind(c)\r\ng;g_action_map_remove_action_entries;GIO_AVAILABLE_IN_2_78;glib-auto.f90;/usr/include/glib-2.0/gio/gactionmap.h;\"void g_action_map_remove_action_entries (GActionMap *action_map, const GActionEntry *entries, gint n_entries);\";subroutine g_action_map_remove_action_entries(action_map, entries, n_entries) bind(c)\r\ng;g_action_name_is_valid;GIO_AVAILABLE_IN_2_28;glib-auto.f90;/usr/include/glib-2.0/gio/gaction.h;\"gboolean g_action_name_is_valid (const gchar *action_name);\";function g_action_name_is_valid(action_name) bind(c)\r\ng;g_action_parse_detailed_name;GIO_AVAILABLE_IN_2_38;glib-auto.f90;/usr/include/glib-2.0/gio/gaction.h;\"gboolean g_action_parse_detailed_name (const gchar *detailed_name, gchar **action_name, GVariant **target_value, GError **error);\";function g_action_parse_detailed_name(detailed_name, action_name, target_value, error) bind(c)\r\ng;g_action_print_detailed_name;GIO_AVAILABLE_IN_2_38;glib-auto.f90;/usr/include/glib-2.0/gio/gaction.h;\"gchar * g_action_print_detailed_name (const gchar *action_name, GVariant *target_value);\";function g_action_print_detailed_name(action_name, target_value) bind(c)\r\ng;g_aligned_alloc;GLIB_AVAILABLE_IN_2_72;glib-auto.f90;/usr/include/glib-2.0/glib/gmem.h;\"gpointer g_aligned_alloc (gsize n_blocks, gsize n_block_bytes, gsize alignment) ;\";function g_aligned_alloc(n_blocks, n_block_bytes, alignment) bind(c)\r\ng;g_aligned_alloc0;GLIB_AVAILABLE_IN_2_72;glib-auto.f90;/usr/include/glib-2.0/glib/gmem.h;\"gpointer g_aligned_alloc0 (gsize n_blocks, gsize n_block_bytes, gsize alignment) ;\";function g_aligned_alloc0(n_blocks, n_block_bytes, alignment) bind(c)\r\ng;g_aligned_free;GLIB_AVAILABLE_IN_2_72;glib-auto.f90;/usr/include/glib-2.0/glib/gmem.h;\"void g_aligned_free (gpointer mem);\";subroutine g_aligned_free(mem) bind(c)\r\ng;g_aligned_free_sized;GLIB_AVAILABLE_IN_2_76;glib-auto.f90;/usr/include/glib-2.0/glib/gmem.h;\"void g_aligned_free_sized (gpointer mem, size_t alignment, size_t size);\";subroutine g_aligned_free_sized(mem, alignment, size) bind(c)\r\ng;g_allocator_free;GLIB_DEPRECATED;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gallocator.h;\"void g_allocator_free (GAllocator *allocator);\";subroutine g_allocator_free(allocator) bind(c)\r\ng;g_allocator_new;GLIB_DEPRECATED;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gallocator.h;\"GAllocator * g_allocator_new (const gchar *name, guint n_preallocs);\";function g_allocator_new(name, n_preallocs) bind(c)\r\ng;g_app_info_add_supports_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"gboolean g_app_info_add_supports_type (GAppInfo *appinfo, const char *content_type, GError **error);\";function g_app_info_add_supports_type(appinfo, content_type, error) bind(c)\r\ng;g_app_info_can_delete;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"gboolean g_app_info_can_delete (GAppInfo *appinfo);\";function g_app_info_can_delete(appinfo) bind(c)\r\ng;g_app_info_can_remove_supports_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"gboolean g_app_info_can_remove_supports_type (GAppInfo *appinfo);\";function g_app_info_can_remove_supports_type(appinfo) bind(c)\r\ng;g_app_info_create_from_commandline;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"GAppInfo * g_app_info_create_from_commandline (const char *commandline, const char *application_name, GAppInfoCreateFlags flags, GError **error);\";function g_app_info_create_from_commandline(commandline, application_name, flags, error) bind(c)\r\ng;g_app_info_delete;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"gboolean g_app_info_delete (GAppInfo *appinfo);\";function g_app_info_delete(appinfo) bind(c)\r\ng;g_app_info_dup;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"GAppInfo * g_app_info_dup (GAppInfo *appinfo);\";function g_app_info_dup(appinfo) bind(c)\r\ng;g_app_info_equal;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"gboolean g_app_info_equal (GAppInfo *appinfo1, GAppInfo *appinfo2);\";function g_app_info_equal(appinfo1, appinfo2) bind(c)\r\ng;g_app_info_get_all;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"GList * g_app_info_get_all (void);\";function g_app_info_get_all() bind(c)\r\ng;g_app_info_get_all_for_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"GList * g_app_info_get_all_for_type (const char *content_type);\";function g_app_info_get_all_for_type(content_type) bind(c)\r\ng;g_app_info_get_commandline;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"const char *g_app_info_get_commandline (GAppInfo *appinfo);\";function g_app_info_get_commandline(appinfo) bind(c)\r\ng;g_app_info_get_default_for_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"GAppInfo *g_app_info_get_default_for_type (const char *content_type, gboolean must_support_uris);\";function g_app_info_get_default_for_type(content_type, must_support_uris) bind(c)\r\ng;g_app_info_get_default_for_type_async;GIO_AVAILABLE_IN_2_74;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"void g_app_info_get_default_for_type_async (const char *content_type, gboolean must_support_uris, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_app_info_get_default_for_type_async(content_type, must_support_uris, cancellable, callback, user_data) bind(c)\r\ng;g_app_info_get_default_for_type_finish;GIO_AVAILABLE_IN_2_74;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"GAppInfo *g_app_info_get_default_for_type_finish (GAsyncResult *result, GError **error);\";function g_app_info_get_default_for_type_finish(result, error) bind(c)\r\ng;g_app_info_get_default_for_uri_scheme;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"GAppInfo *g_app_info_get_default_for_uri_scheme (const char *uri_scheme);\";function g_app_info_get_default_for_uri_scheme(uri_scheme) bind(c)\r\ng;g_app_info_get_default_for_uri_scheme_async;GIO_AVAILABLE_IN_2_74;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"void g_app_info_get_default_for_uri_scheme_async (const char *uri_scheme, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_app_info_get_default_for_uri_scheme_async(uri_scheme, cancellable, callback, user_data) bind(c)\r\ng;g_app_info_get_default_for_uri_scheme_finish;GIO_AVAILABLE_IN_2_74;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"GAppInfo *g_app_info_get_default_for_uri_scheme_finish (GAsyncResult *result, GError **error);\";function g_app_info_get_default_for_uri_scheme_finish(result, error) bind(c)\r\ng;g_app_info_get_description;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"const char *g_app_info_get_description (GAppInfo *appinfo);\";function g_app_info_get_description(appinfo) bind(c)\r\ng;g_app_info_get_display_name;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"const char *g_app_info_get_display_name (GAppInfo *appinfo);\";function g_app_info_get_display_name(appinfo) bind(c)\r\ng;g_app_info_get_executable;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"const char *g_app_info_get_executable (GAppInfo *appinfo);\";function g_app_info_get_executable(appinfo) bind(c)\r\ng;g_app_info_get_fallback_for_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"GList * g_app_info_get_fallback_for_type (const gchar *content_type);\";function g_app_info_get_fallback_for_type(content_type) bind(c)\r\ng;g_app_info_get_icon;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"GIcon * g_app_info_get_icon (GAppInfo *appinfo);\";function g_app_info_get_icon(appinfo) bind(c)\r\ng;g_app_info_get_id;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"const char *g_app_info_get_id (GAppInfo *appinfo);\";function g_app_info_get_id(appinfo) bind(c)\r\ng;g_app_info_get_name;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"const char *g_app_info_get_name (GAppInfo *appinfo);\";function g_app_info_get_name(appinfo) bind(c)\r\ng;g_app_info_get_recommended_for_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"GList * g_app_info_get_recommended_for_type (const gchar *content_type);\";function g_app_info_get_recommended_for_type(content_type) bind(c)\r\ng;g_app_info_get_supported_types;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"const char **g_app_info_get_supported_types (GAppInfo *appinfo);\";function g_app_info_get_supported_types(appinfo) bind(c)\r\ng;g_app_info_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"GType g_app_info_get_type (void) ;\";function g_app_info_get_type() bind(c)\r\ng;g_app_info_launch;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"gboolean g_app_info_launch (GAppInfo *appinfo, GList *files, GAppLaunchContext *context, GError **error);\";function g_app_info_launch(appinfo, files, context, error) bind(c)\r\ng;g_app_info_launch_default_for_uri;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"gboolean g_app_info_launch_default_for_uri (const char *uri, GAppLaunchContext *context, GError **error);\";function g_app_info_launch_default_for_uri(uri, context, error) bind(c)\r\ng;g_app_info_launch_default_for_uri_async;GIO_AVAILABLE_IN_2_50;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"void g_app_info_launch_default_for_uri_async (const char *uri, GAppLaunchContext *context, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_app_info_launch_default_for_uri_async(uri, context, cancellable, callback, user_data) bind(c)\r\ng;g_app_info_launch_default_for_uri_finish;GIO_AVAILABLE_IN_2_50;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"gboolean g_app_info_launch_default_for_uri_finish (GAsyncResult *result, GError **error);\";function g_app_info_launch_default_for_uri_finish(result, error) bind(c)\r\ng;g_app_info_launch_uris;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"gboolean g_app_info_launch_uris (GAppInfo *appinfo, GList *uris, GAppLaunchContext *context, GError **error);\";function g_app_info_launch_uris(appinfo, uris, context, error) bind(c)\r\ng;g_app_info_launch_uris_async;GIO_AVAILABLE_IN_2_60;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"void g_app_info_launch_uris_async (GAppInfo *appinfo, GList *uris, GAppLaunchContext *context, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_app_info_launch_uris_async(appinfo, uris, context, cancellable, callback, user_data) bind(c)\r\ng;g_app_info_launch_uris_finish;GIO_AVAILABLE_IN_2_60;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"gboolean g_app_info_launch_uris_finish (GAppInfo *appinfo, GAsyncResult *result, GError **error);\";function g_app_info_launch_uris_finish(appinfo, result, error) bind(c)\r\ng;g_app_info_monitor_get;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"GAppInfoMonitor * g_app_info_monitor_get (void);\";function g_app_info_monitor_get() bind(c)\r\ng;g_app_info_monitor_get_type;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"GType g_app_info_monitor_get_type (void);\";function g_app_info_monitor_get_type() bind(c)\r\ng;g_app_info_remove_supports_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"gboolean g_app_info_remove_supports_type (GAppInfo *appinfo, const char *content_type, GError **error);\";function g_app_info_remove_supports_type(appinfo, content_type, error) bind(c)\r\ng;g_app_info_reset_type_associations;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"void g_app_info_reset_type_associations (const char *content_type);\";subroutine g_app_info_reset_type_associations(content_type) bind(c)\r\ng;g_app_info_set_as_default_for_extension;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"gboolean g_app_info_set_as_default_for_extension (GAppInfo *appinfo, const char *extension, GError **error);\";function g_app_info_set_as_default_for_extension(appinfo, extension, error) bind(c)\r\ng;g_app_info_set_as_default_for_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"gboolean g_app_info_set_as_default_for_type (GAppInfo *appinfo, const char *content_type, GError **error);\";function g_app_info_set_as_default_for_type(appinfo, content_type, error) bind(c)\r\ng;g_app_info_set_as_last_used_for_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"gboolean g_app_info_set_as_last_used_for_type (GAppInfo *appinfo, const char *content_type, GError **error);\";function g_app_info_set_as_last_used_for_type(appinfo, content_type, error) bind(c)\r\ng;g_app_info_should_show;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"gboolean g_app_info_should_show (GAppInfo *appinfo);\";function g_app_info_should_show(appinfo) bind(c)\r\ng;g_app_info_supports_files;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"gboolean g_app_info_supports_files (GAppInfo *appinfo);\";function g_app_info_supports_files(appinfo) bind(c)\r\ng;g_app_info_supports_uris;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"gboolean g_app_info_supports_uris (GAppInfo *appinfo);\";function g_app_info_supports_uris(appinfo) bind(c)\r\ng;g_app_launch_context_get_display;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"char * g_app_launch_context_get_display (GAppLaunchContext *context, GAppInfo *info, GList *files);\";function g_app_launch_context_get_display(context, info, files) bind(c)\r\ng;g_app_launch_context_get_environment;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"char ** g_app_launch_context_get_environment (GAppLaunchContext *context);\";function g_app_launch_context_get_environment(context) bind(c)\r\ng;g_app_launch_context_get_startup_notify_id;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"char * g_app_launch_context_get_startup_notify_id (GAppLaunchContext *context, GAppInfo *info, GList *files);\";function g_app_launch_context_get_startup_notify_id(context, info, files) bind(c)\r\ng;g_app_launch_context_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"GType g_app_launch_context_get_type (void) ;\";function g_app_launch_context_get_type() bind(c)\r\ng;g_app_launch_context_launch_failed;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"void g_app_launch_context_launch_failed (GAppLaunchContext *context, const char * startup_notify_id);\";subroutine g_app_launch_context_launch_failed(context, startup_notify_id) bind(c)\r\ng;g_app_launch_context_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"GAppLaunchContext *g_app_launch_context_new (void);\";function g_app_launch_context_new() bind(c)\r\ng;g_app_launch_context_setenv;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"void g_app_launch_context_setenv (GAppLaunchContext *context, const char *variable, const char *value);\";subroutine g_app_launch_context_setenv(context, variable, value) bind(c)\r\ng;g_app_launch_context_unsetenv;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gappinfo.h;\"void g_app_launch_context_unsetenv (GAppLaunchContext *context, const char *variable);\";subroutine g_app_launch_context_unsetenv(context, variable) bind(c)\r\ng;g_application_activate;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"void g_application_activate (GApplication *application);\";subroutine g_application_activate(application) bind(c)\r\ng;g_application_add_main_option;GIO_AVAILABLE_IN_2_42;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"void g_application_add_main_option (GApplication *application, const char *long_name, char short_name, GOptionFlags flags, GOptionArg arg, const char *description, const char *arg_description);\";subroutine g_application_add_main_option(application, long_name, short_name, flags, arg, description, arg_description) bind(c)\r\ng;g_application_add_main_option_entries;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"void g_application_add_main_option_entries (GApplication *application, const GOptionEntry *entries);\";subroutine g_application_add_main_option_entries(application, entries) bind(c)\r\ng;g_application_add_option_group;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"void g_application_add_option_group (GApplication *application, GOptionGroup *group);\";subroutine g_application_add_option_group(application, group) bind(c)\r\ng;g_application_bind_busy_property;GIO_AVAILABLE_IN_2_44;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"void g_application_bind_busy_property (GApplication *application, gpointer object, const gchar *property);\";subroutine g_application_bind_busy_property(application, object, property) bind(c)\r\ng;g_application_command_line_create_file_for_arg;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gapplicationcommandline.h;\"GFile * g_application_command_line_create_file_for_arg (GApplicationCommandLine *cmdline, const gchar *arg);\";function g_application_command_line_create_file_for_arg(cmdline, arg) bind(c)\r\ng;g_application_command_line_done;GIO_AVAILABLE_IN_2_80;glib-auto.f90;/usr/include/glib-2.0/gio/gapplicationcommandline.h;\"void g_application_command_line_done (GApplicationCommandLine *cmdline);\";subroutine g_application_command_line_done(cmdline) bind(c)\r\ng;g_application_command_line_get_arguments;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gapplicationcommandline.h;\"gchar ** g_application_command_line_get_arguments (GApplicationCommandLine *cmdline, int *argc);\";function g_application_command_line_get_arguments(cmdline, argc) bind(c)\r\ng;g_application_command_line_get_cwd;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gapplicationcommandline.h;\"const gchar * g_application_command_line_get_cwd (GApplicationCommandLine *cmdline);\";function g_application_command_line_get_cwd(cmdline) bind(c)\r\ng;g_application_command_line_get_environ;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gapplicationcommandline.h;\"const gchar * const * g_application_command_line_get_environ (GApplicationCommandLine *cmdline);\";function g_application_command_line_get_environ(cmdline) bind(c)\r\ng;g_application_command_line_get_exit_status;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gapplicationcommandline.h;\"int g_application_command_line_get_exit_status (GApplicationCommandLine *cmdline);\";function g_application_command_line_get_exit_status(cmdline) bind(c)\r\ng;g_application_command_line_get_is_remote;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gapplicationcommandline.h;\"gboolean g_application_command_line_get_is_remote (GApplicationCommandLine *cmdline);\";function g_application_command_line_get_is_remote(cmdline) bind(c)\r\ng;g_application_command_line_get_options_dict;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gapplicationcommandline.h;\"GVariantDict * g_application_command_line_get_options_dict (GApplicationCommandLine *cmdline);\";function g_application_command_line_get_options_dict(cmdline) bind(c)\r\ng;g_application_command_line_get_platform_data;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gapplicationcommandline.h;\"GVariant * g_application_command_line_get_platform_data (GApplicationCommandLine *cmdline);\";function g_application_command_line_get_platform_data(cmdline) bind(c)\r\ng;g_application_command_line_get_stdin;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gapplicationcommandline.h;\"GInputStream * g_application_command_line_get_stdin (GApplicationCommandLine *cmdline);\";function g_application_command_line_get_stdin(cmdline) bind(c)\r\ng;g_application_command_line_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gapplicationcommandline.h;\"GType g_application_command_line_get_type (void) ;\";function g_application_command_line_get_type() bind(c)\r\ng;g_application_command_line_getenv;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gapplicationcommandline.h;\"const gchar * g_application_command_line_getenv (GApplicationCommandLine *cmdline, const gchar *name);\";function g_application_command_line_getenv(cmdline, name) bind(c)\r\ng;g_application_command_line_print_literal;GIO_AVAILABLE_IN_2_80;glib-auto.f90;/usr/include/glib-2.0/gio/gapplicationcommandline.h;\"void g_application_command_line_print_literal (GApplicationCommandLine *cmdline, const gchar *message);\";subroutine g_application_command_line_print_literal(cmdline, message) bind(c)\r\ng;g_application_command_line_printerr_literal;GIO_AVAILABLE_IN_2_80;glib-auto.f90;/usr/include/glib-2.0/gio/gapplicationcommandline.h;\"void g_application_command_line_printerr_literal (GApplicationCommandLine *cmdline, const gchar *message);\";subroutine g_application_command_line_printerr_literal(cmdline, message) bind(c)\r\ng;g_application_command_line_set_exit_status;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gapplicationcommandline.h;\"void g_application_command_line_set_exit_status (GApplicationCommandLine *cmdline, int exit_status);\";subroutine g_application_command_line_set_exit_status(cmdline, exit_status) bind(c)\r\ng;g_application_get_application_id;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"const gchar * g_application_get_application_id (GApplication *application);\";function g_application_get_application_id(application) bind(c)\r\ng;g_application_get_dbus_connection;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"GDBusConnection * g_application_get_dbus_connection (GApplication *application);\";function g_application_get_dbus_connection(application) bind(c)\r\ng;g_application_get_dbus_object_path;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"const gchar * g_application_get_dbus_object_path (GApplication *application);\";function g_application_get_dbus_object_path(application) bind(c)\r\ng;g_application_get_default;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"GApplication * g_application_get_default (void);\";function g_application_get_default() bind(c)\r\ng;g_application_get_flags;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"GApplicationFlags g_application_get_flags (GApplication *application);\";function g_application_get_flags(application) bind(c)\r\ng;g_application_get_inactivity_timeout;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"guint g_application_get_inactivity_timeout (GApplication *application);\";function g_application_get_inactivity_timeout(application) bind(c)\r\ng;g_application_get_is_busy;GIO_AVAILABLE_IN_2_44;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"gboolean g_application_get_is_busy (GApplication *application);\";function g_application_get_is_busy(application) bind(c)\r\ng;g_application_get_is_registered;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"gboolean g_application_get_is_registered (GApplication *application);\";function g_application_get_is_registered(application) bind(c)\r\ng;g_application_get_is_remote;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"gboolean g_application_get_is_remote (GApplication *application);\";function g_application_get_is_remote(application) bind(c)\r\ng;g_application_get_resource_base_path;GIO_AVAILABLE_IN_2_42;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"const gchar * g_application_get_resource_base_path (GApplication *application);\";function g_application_get_resource_base_path(application) bind(c)\r\ng;g_application_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"GType g_application_get_type (void) ;\";function g_application_get_type() bind(c)\r\ng;g_application_get_version;GIO_AVAILABLE_IN_2_80;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"const gchar * g_application_get_version (GApplication *application);\";function g_application_get_version(application) bind(c)\r\ng;g_application_hold;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"void g_application_hold (GApplication *application);\";subroutine g_application_hold(application) bind(c)\r\ng;g_application_id_is_valid;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"gboolean g_application_id_is_valid (const gchar *application_id);\";function g_application_id_is_valid(application_id) bind(c)\r\ng;g_application_mark_busy;GIO_AVAILABLE_IN_2_38;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"void g_application_mark_busy (GApplication *application);\";subroutine g_application_mark_busy(application) bind(c)\r\ng;g_application_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"GApplication * g_application_new (const gchar *application_id, GApplicationFlags flags);\";function g_application_new(application_id, flags) bind(c)\r\ng;g_application_open;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"void g_application_open (GApplication *application, GFile **files, gint n_files, const gchar *hint);\";subroutine g_application_open(application, files, n_files, hint) bind(c)\r\ng;g_application_quit;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"void g_application_quit (GApplication *application);\";subroutine g_application_quit(application) bind(c)\r\ng;g_application_register;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"gboolean g_application_register (GApplication *application, GCancellable *cancellable, GError **error);\";function g_application_register(application, cancellable, error) bind(c)\r\ng;g_application_release;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"void g_application_release (GApplication *application);\";subroutine g_application_release(application) bind(c)\r\ng;g_application_run;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"int g_application_run (GApplication *application, int argc, char **argv);\";function g_application_run(application, argc, argv) bind(c)\r\ng;g_application_send_notification;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"void g_application_send_notification (GApplication *application, const gchar *id, GNotification *notification);\";subroutine g_application_send_notification(application, id, notification) bind(c)\r\ng;g_application_set_action_group;GIO_DEPRECATED;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"void g_application_set_action_group (GApplication *application, GActionGroup *action_group);\";subroutine g_application_set_action_group(application, action_group) bind(c)\r\ng;g_application_set_application_id;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"void g_application_set_application_id (GApplication *application, const gchar *application_id);\";subroutine g_application_set_application_id(application, application_id) bind(c)\r\ng;g_application_set_default;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"void g_application_set_default (GApplication *application);\";subroutine g_application_set_default(application) bind(c)\r\ng;g_application_set_flags;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"void g_application_set_flags (GApplication *application, GApplicationFlags flags);\";subroutine g_application_set_flags(application, flags) bind(c)\r\ng;g_application_set_inactivity_timeout;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"void g_application_set_inactivity_timeout (GApplication *application, guint inactivity_timeout);\";subroutine g_application_set_inactivity_timeout(application, inactivity_timeout) bind(c)\r\ng;g_application_set_option_context_description;GIO_AVAILABLE_IN_2_56;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"void g_application_set_option_context_description (GApplication *application, const gchar *description);\";subroutine g_application_set_option_context_description(application, description) bind(c)\r\ng;g_application_set_option_context_parameter_string;GIO_AVAILABLE_IN_2_56;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"void g_application_set_option_context_parameter_string (GApplication *application, const gchar *parameter_string);\";subroutine g_application_set_option_context_parameter_string(application, parameter_string) bind(c)\r\ng;g_application_set_option_context_summary;GIO_AVAILABLE_IN_2_56;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"void g_application_set_option_context_summary (GApplication *application, const gchar *summary);\";subroutine g_application_set_option_context_summary(application, summary) bind(c)\r\ng;g_application_set_resource_base_path;GIO_AVAILABLE_IN_2_42;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"void g_application_set_resource_base_path (GApplication *application, const gchar *resource_path);\";subroutine g_application_set_resource_base_path(application, resource_path) bind(c)\r\ng;g_application_set_version;GIO_AVAILABLE_IN_2_80;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"void g_application_set_version (GApplication *application, const gchar *version);\";subroutine g_application_set_version(application, version) bind(c)\r\ng;g_application_unbind_busy_property;GIO_AVAILABLE_IN_2_44;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"void g_application_unbind_busy_property (GApplication *application, gpointer object, const gchar *property);\";subroutine g_application_unbind_busy_property(application, object, property) bind(c)\r\ng;g_application_unmark_busy;GIO_AVAILABLE_IN_2_38;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"void g_application_unmark_busy (GApplication *application);\";subroutine g_application_unmark_busy(application) bind(c)\r\ng;g_application_withdraw_notification;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gapplication.h;\"void g_application_withdraw_notification (GApplication *application, const gchar *id);\";subroutine g_application_withdraw_notification(application, id) bind(c)\r\ng;g_array_append_vals;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"GArray* g_array_append_vals (GArray *array, gconstpointer data, guint len);\";function g_array_append_vals(array, data, len) bind(c)\r\ng;g_array_binary_search;GLIB_AVAILABLE_IN_2_62;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"gboolean g_array_binary_search (GArray *array, gconstpointer target, GCompareFunc compare_func, guint *out_match_index);\";function g_array_binary_search(array, target, compare_func, out_match_index) bind(c)\r\ng;g_array_copy;GLIB_AVAILABLE_IN_2_62;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"GArray* g_array_copy (GArray *array);\";function g_array_copy(array) bind(c)\r\ng;g_array_free;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"gchar* g_array_free (GArray *array, gboolean free_segment);\";function g_array_free(array, free_segment) bind(c)\r\ng;g_array_get_element_size;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"guint g_array_get_element_size (GArray *array);\";function g_array_get_element_size(array) bind(c)\r\ng;g_array_get_type;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/glib-types.h;\"GType g_array_get_type (void) ;\";function g_array_get_type() bind(c)\r\ng;g_array_insert_vals;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"GArray* g_array_insert_vals (GArray *array, guint index_, gconstpointer data, guint len);\";function g_array_insert_vals(array, index_, data, len) bind(c)\r\ng;g_array_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"GArray* g_array_new (gboolean zero_terminated, gboolean clear_, guint element_size);\";function g_array_new(zero_terminated, clear_, element_size) bind(c)\r\ng;g_array_new_take;GLIB_AVAILABLE_IN_2_76;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"GArray* g_array_new_take (gpointer data, gsize len, gboolean clear, gsize element_size);\";function g_array_new_take(data, len, clear, element_size) bind(c)\r\ng;g_array_new_take_zero_terminated;GLIB_AVAILABLE_IN_2_76;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"GArray* g_array_new_take_zero_terminated (gpointer data, gboolean clear, gsize element_size);\";function g_array_new_take_zero_terminated(data, clear, element_size) bind(c)\r\ng;g_array_prepend_vals;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"GArray* g_array_prepend_vals (GArray *array, gconstpointer data, guint len);\";function g_array_prepend_vals(array, data, len) bind(c)\r\ng;g_array_ref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"GArray *g_array_ref (GArray *array);\";function g_array_ref(array) bind(c)\r\ng;g_array_remove_index;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"GArray* g_array_remove_index (GArray *array, guint index_);\";function g_array_remove_index(array, index_) bind(c)\r\ng;g_array_remove_index_fast;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"GArray* g_array_remove_index_fast (GArray *array, guint index_);\";function g_array_remove_index_fast(array, index_) bind(c)\r\ng;g_array_remove_range;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"GArray* g_array_remove_range (GArray *array, guint index_, guint length);\";function g_array_remove_range(array, index_, length) bind(c)\r\ng;g_array_set_clear_func;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"void g_array_set_clear_func (GArray *array, GDestroyNotify clear_func);\";subroutine g_array_set_clear_func(array, clear_func) bind(c)\r\ng;g_array_set_size;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"GArray* g_array_set_size (GArray *array, guint length);\";function g_array_set_size(array, length) bind(c)\r\ng;g_array_sized_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"GArray* g_array_sized_new (gboolean zero_terminated, gboolean clear_, guint element_size, guint reserved_size);\";function g_array_sized_new(zero_terminated, clear_, element_size, reserved_size) bind(c)\r\ng;g_array_sort;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"void g_array_sort (GArray *array, GCompareFunc compare_func);\";subroutine g_array_sort(array, compare_func) bind(c)\r\ng;g_array_sort_with_data;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"void g_array_sort_with_data (GArray *array, GCompareDataFunc compare_func, gpointer user_data);\";subroutine g_array_sort_with_data(array, compare_func, user_data) bind(c)\r\ng;g_array_steal;GLIB_AVAILABLE_IN_2_64;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"gpointer g_array_steal (GArray *array, gsize *len);\";function g_array_steal(array, len) bind(c)\r\ng;g_array_unref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"void g_array_unref (GArray *array);\";subroutine g_array_unref(array) bind(c)\r\ng;g_ascii_digit_value;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gint g_ascii_digit_value (gchar c) ;\";function g_ascii_digit_value(c) bind(c)\r\ng;g_ascii_dtostr;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gchar * g_ascii_dtostr (gchar *buffer, gint buf_len, gdouble d);\";function g_ascii_dtostr(buffer, buf_len, d) bind(c)\r\ng;g_ascii_formatd;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gchar * g_ascii_formatd (gchar *buffer, gint buf_len, const gchar *format, gdouble d);\";function g_ascii_formatd(buffer, buf_len, format, d) bind(c)\r\ng;g_ascii_strcasecmp;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gint g_ascii_strcasecmp (const gchar *s1, const gchar *s2);\";function g_ascii_strcasecmp(s1, s2) bind(c)\r\ng;g_ascii_strdown;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gchar* g_ascii_strdown (const gchar *str, gssize len) ;\";function g_ascii_strdown(str, len) bind(c)\r\ng;g_ascii_string_to_signed;GLIB_AVAILABLE_IN_2_54;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gboolean g_ascii_string_to_signed (const gchar *str, guint base, gint64 min, gint64 max, gint64 *out_num, GError **error);\";function g_ascii_string_to_signed(str, base, min, max, out_num, error) bind(c)\r\ng;g_ascii_string_to_unsigned;GLIB_AVAILABLE_IN_2_54;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gboolean g_ascii_string_to_unsigned (const gchar *str, guint base, guint64 min, guint64 max, guint64 *out_num, GError **error);\";function g_ascii_string_to_unsigned(str, base, min, max, out_num, error) bind(c)\r\ng;g_ascii_strncasecmp;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gint g_ascii_strncasecmp (const gchar *s1, const gchar *s2, gsize n);\";function g_ascii_strncasecmp(s1, s2, n) bind(c)\r\ng;g_ascii_strtod;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gdouble g_ascii_strtod (const gchar *nptr, gchar **endptr);\";function g_ascii_strtod(nptr, endptr) bind(c)\r\ng;g_ascii_strtoll;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gint64 g_ascii_strtoll (const gchar *nptr, gchar **endptr, guint base);\";function g_ascii_strtoll(nptr, endptr, base) bind(c)\r\ng;g_ascii_strtoull;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"guint64 g_ascii_strtoull (const gchar *nptr, gchar **endptr, guint base);\";function g_ascii_strtoull(nptr, endptr, base) bind(c)\r\ng;g_ascii_strup;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gchar* g_ascii_strup (const gchar *str, gssize len) ;\";function g_ascii_strup(str, len) bind(c)\r\ng;g_ascii_tolower;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gchar g_ascii_tolower (gchar c) ;\";function g_ascii_tolower(c) bind(c)\r\ng;g_ascii_toupper;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gchar g_ascii_toupper (gchar c) ;\";function g_ascii_toupper(c) bind(c)\r\ng;g_ascii_xdigit_value;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gint g_ascii_xdigit_value (gchar c) ;\";function g_ascii_xdigit_value(c) bind(c)\r\ng;g_assert_warning;GLIB_DEPRECATED;glib-auto.f90;/usr/include/glib-2.0/glib/gmessages.h;\"G_NORETURN void g_assert_warning (const char *log_domain, const char *file, const int line, const char *pretty_function, const char *expression);\";subroutine g_assert_warning(log_domain, file, line, pretty_function, expression) bind(c)\r\ng;g_assertion_message;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"void g_assertion_message (const char *domain, const char *file, int line, const char *func, const char *message) ;\";subroutine g_assertion_message(domain, file, line, func, message) bind(c)\r\ng;g_assertion_message_cmpint;GLIB_AVAILABLE_IN_2_78;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"void g_assertion_message_cmpint (const char *domain, const char *file, int line, const char *func, const char *expr, guint64 arg1, const char *cmp, guint64 arg2, char numtype) ;\";subroutine g_assertion_message_cmpint(domain, file, line, func, expr, arg1, cmp, arg2, numtype) bind(c)\r\ng;g_assertion_message_cmpnum;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"void g_assertion_message_cmpnum (const char *domain, const char *file, int line, const char *func, const char *expr, long double arg1, const char *cmp, long double arg2, char numtype) ;\";subroutine g_assertion_message_cmpnum(domain, file, line, func, expr, arg1, cmp, arg2, numtype) bind(c)\r\ng;g_assertion_message_cmpstr;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"void g_assertion_message_cmpstr (const char *domain, const char *file, int line, const char *func, const char *expr, const char *arg1, const char *cmp, const char *arg2) ;\";subroutine g_assertion_message_cmpstr(domain, file, line, func, expr, arg1, cmp, arg2) bind(c)\r\ng;g_assertion_message_cmpstrv;GLIB_AVAILABLE_IN_2_68;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"void g_assertion_message_cmpstrv (const char *domain, const char *file, int line, const char *func, const char *expr, const char * const *arg1, const char * const *arg2, gsize first_wrong_idx) ;\";subroutine g_assertion_message_cmpstrv(domain, file, line, func, expr, arg1, arg2, first_wrong_idx) bind(c)\r\ng;g_assertion_message_error;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"void g_assertion_message_error (const char *domain, const char *file, int line, const char *func, const char *expr, const GError *error, GQuark error_domain, int error_code) ;\";subroutine g_assertion_message_error(domain, file, line, func, expr, error, error_domain, error_code) bind(c)\r\ng;g_assertion_message_expr;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"G_NORETURN void g_assertion_message_expr (const char *domain, const char *file, int line, const char *func, const char *expr);\";subroutine g_assertion_message_expr(domain, file, line, func, expr) bind(c)\r\ng;g_async_initable_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gasyncinitable.h;\"GType g_async_initable_get_type (void) ;\";function g_async_initable_get_type() bind(c)\r\ng;g_async_initable_init_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gasyncinitable.h;\"void g_async_initable_init_async (GAsyncInitable *initable, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_async_initable_init_async(initable, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_async_initable_init_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gasyncinitable.h;\"gboolean g_async_initable_init_finish (GAsyncInitable *initable, GAsyncResult *res, GError **error);\";function g_async_initable_init_finish(initable, res, error) bind(c)\r\ng;g_async_initable_new_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gasyncinitable.h;\"GObject *g_async_initable_new_finish (GAsyncInitable *initable, GAsyncResult *res, GError **error);\";function g_async_initable_new_finish(initable, res, error) bind(c)\r\ng;g_async_initable_new_valist_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gasyncinitable.h;\"void g_async_initable_new_valist_async (GType object_type, const gchar *first_property_name, va_list var_args, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_async_initable_new_valist_async(object_type, first_property_name, var_args, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_async_initable_newv_async;GIO_DEPRECATED_IN_2_54_FOR(g_object_new_with_properties and g_async_initable_init_async);glib-auto.f90;/usr/include/glib-2.0/gio/gasyncinitable.h;\"void g_async_initable_newv_async (GType object_type, guint n_parameters, GParameter *parameters, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_async_initable_newv_async(object_type, n_parameters, parameters, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_async_queue_length;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gasyncqueue.h;\"gint g_async_queue_length (GAsyncQueue *queue);\";function g_async_queue_length(queue) bind(c)\r\ng;g_async_queue_length_unlocked;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gasyncqueue.h;\"gint g_async_queue_length_unlocked (GAsyncQueue *queue);\";function g_async_queue_length_unlocked(queue) bind(c)\r\ng;g_async_queue_lock;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gasyncqueue.h;\"void g_async_queue_lock (GAsyncQueue *queue);\";subroutine g_async_queue_lock(queue) bind(c)\r\ng;g_async_queue_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gasyncqueue.h;\"GAsyncQueue *g_async_queue_new (void);\";function g_async_queue_new() bind(c)\r\ng;g_async_queue_new_full;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gasyncqueue.h;\"GAsyncQueue *g_async_queue_new_full (GDestroyNotify item_free_func);\";function g_async_queue_new_full(item_free_func) bind(c)\r\ng;g_async_queue_pop;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gasyncqueue.h;\"gpointer g_async_queue_pop (GAsyncQueue *queue);\";function g_async_queue_pop(queue) bind(c)\r\ng;g_async_queue_pop_unlocked;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gasyncqueue.h;\"gpointer g_async_queue_pop_unlocked (GAsyncQueue *queue);\";function g_async_queue_pop_unlocked(queue) bind(c)\r\ng;g_async_queue_push;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gasyncqueue.h;\"void g_async_queue_push (GAsyncQueue *queue, gpointer data);\";subroutine g_async_queue_push(queue, data) bind(c)\r\ng;g_async_queue_push_front;GLIB_AVAILABLE_IN_2_46;glib-auto.f90;/usr/include/glib-2.0/glib/gasyncqueue.h;\"void g_async_queue_push_front (GAsyncQueue *queue, gpointer item);\";subroutine g_async_queue_push_front(queue, item) bind(c)\r\ng;g_async_queue_push_front_unlocked;GLIB_AVAILABLE_IN_2_46;glib-auto.f90;/usr/include/glib-2.0/glib/gasyncqueue.h;\"void g_async_queue_push_front_unlocked (GAsyncQueue *queue, gpointer item);\";subroutine g_async_queue_push_front_unlocked(queue, item) bind(c)\r\ng;g_async_queue_push_sorted;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gasyncqueue.h;\"void g_async_queue_push_sorted (GAsyncQueue *queue, gpointer data, GCompareDataFunc func, gpointer user_data);\";subroutine g_async_queue_push_sorted(queue, data, func, user_data) bind(c)\r\ng;g_async_queue_push_sorted_unlocked;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gasyncqueue.h;\"void g_async_queue_push_sorted_unlocked (GAsyncQueue *queue, gpointer data, GCompareDataFunc func, gpointer user_data);\";subroutine g_async_queue_push_sorted_unlocked(queue, data, func, user_data) bind(c)\r\ng;g_async_queue_push_unlocked;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gasyncqueue.h;\"void g_async_queue_push_unlocked (GAsyncQueue *queue, gpointer data);\";subroutine g_async_queue_push_unlocked(queue, data) bind(c)\r\ng;g_async_queue_ref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gasyncqueue.h;\"GAsyncQueue *g_async_queue_ref (GAsyncQueue *queue);\";function g_async_queue_ref(queue) bind(c)\r\ng;g_async_queue_ref_unlocked;GLIB_DEPRECATED_FOR(g_async_queue_ref);glib-auto.f90;/usr/include/glib-2.0/glib/gasyncqueue.h;\"void g_async_queue_ref_unlocked (GAsyncQueue *queue);\";subroutine g_async_queue_ref_unlocked(queue) bind(c)\r\ng;g_async_queue_remove;GLIB_AVAILABLE_IN_2_46;glib-auto.f90;/usr/include/glib-2.0/glib/gasyncqueue.h;\"gboolean g_async_queue_remove (GAsyncQueue *queue, gpointer item);\";function g_async_queue_remove(queue, item) bind(c)\r\ng;g_async_queue_remove_unlocked;GLIB_AVAILABLE_IN_2_46;glib-auto.f90;/usr/include/glib-2.0/glib/gasyncqueue.h;\"gboolean g_async_queue_remove_unlocked (GAsyncQueue *queue, gpointer item);\";function g_async_queue_remove_unlocked(queue, item) bind(c)\r\ng;g_async_queue_sort;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gasyncqueue.h;\"void g_async_queue_sort (GAsyncQueue *queue, GCompareDataFunc func, gpointer user_data);\";subroutine g_async_queue_sort(queue, func, user_data) bind(c)\r\ng;g_async_queue_sort_unlocked;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gasyncqueue.h;\"void g_async_queue_sort_unlocked (GAsyncQueue *queue, GCompareDataFunc func, gpointer user_data);\";subroutine g_async_queue_sort_unlocked(queue, func, user_data) bind(c)\r\ng;g_async_queue_timed_pop;GLIB_DEPRECATED_FOR(g_async_queue_timeout_pop);glib-auto.f90;/usr/include/glib-2.0/glib/gasyncqueue.h;\"gpointer g_async_queue_timed_pop (GAsyncQueue *queue, GTimeVal *end_time);\";function g_async_queue_timed_pop(queue, end_time) bind(c)\r\ng;g_async_queue_timed_pop_unlocked;GLIB_DEPRECATED_FOR(g_async_queue_timeout_pop_unlocked);glib-auto.f90;/usr/include/glib-2.0/glib/gasyncqueue.h;\"gpointer g_async_queue_timed_pop_unlocked (GAsyncQueue *queue, GTimeVal *end_time);\";function g_async_queue_timed_pop_unlocked(queue, end_time) bind(c)\r\ng;g_async_queue_timeout_pop;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gasyncqueue.h;\"gpointer g_async_queue_timeout_pop (GAsyncQueue *queue, guint64 timeout);\";function g_async_queue_timeout_pop(queue, timeout) bind(c)\r\ng;g_async_queue_timeout_pop_unlocked;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gasyncqueue.h;\"gpointer g_async_queue_timeout_pop_unlocked (GAsyncQueue *queue, guint64 timeout);\";function g_async_queue_timeout_pop_unlocked(queue, timeout) bind(c)\r\ng;g_async_queue_try_pop;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gasyncqueue.h;\"gpointer g_async_queue_try_pop (GAsyncQueue *queue);\";function g_async_queue_try_pop(queue) bind(c)\r\ng;g_async_queue_try_pop_unlocked;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gasyncqueue.h;\"gpointer g_async_queue_try_pop_unlocked (GAsyncQueue *queue);\";function g_async_queue_try_pop_unlocked(queue) bind(c)\r\ng;g_async_queue_unlock;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gasyncqueue.h;\"void g_async_queue_unlock (GAsyncQueue *queue);\";subroutine g_async_queue_unlock(queue) bind(c)\r\ng;g_async_queue_unref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gasyncqueue.h;\"void g_async_queue_unref (GAsyncQueue *queue);\";subroutine g_async_queue_unref(queue) bind(c)\r\ng;g_async_queue_unref_and_unlock;GLIB_DEPRECATED_FOR(g_async_queue_unref);glib-auto.f90;/usr/include/glib-2.0/glib/gasyncqueue.h;\"void g_async_queue_unref_and_unlock (GAsyncQueue *queue);\";subroutine g_async_queue_unref_and_unlock(queue) bind(c)\r\ng;g_async_result_get_source_object;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gasyncresult.h;\"GObject *g_async_result_get_source_object (GAsyncResult *res);\";function g_async_result_get_source_object(res) bind(c)\r\ng;g_async_result_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gasyncresult.h;\"GType g_async_result_get_type (void) ;\";function g_async_result_get_type() bind(c)\r\ng;g_async_result_get_user_data;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gasyncresult.h;\"gpointer g_async_result_get_user_data (GAsyncResult *res);\";function g_async_result_get_user_data(res) bind(c)\r\ng;g_async_result_is_tagged;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/gasyncresult.h;\"gboolean g_async_result_is_tagged (GAsyncResult *res, gpointer source_tag);\";function g_async_result_is_tagged(res, source_tag) bind(c)\r\ng;g_async_result_legacy_propagate_error;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/gasyncresult.h;\"gboolean g_async_result_legacy_propagate_error (GAsyncResult *res, GError **error);\";function g_async_result_legacy_propagate_error(res, error) bind(c)\r\ng;g_atexit;GLIB_DEPRECATED;glib-auto.f90;/usr/include/glib-2.0/glib/gutils.h;\"void g_atexit (GVoidFunc func);\";subroutine g_atexit(func) bind(c)\r\ng;g_atomic_int_add;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gatomic.h;\"gint g_atomic_int_add (volatile gint *atomic, gint val);\";function g_atomic_int_add(atomic, val) bind(c)\r\ng;g_atomic_int_and;GLIB_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/glib/gatomic.h;\"guint g_atomic_int_and (volatile guint *atomic, guint val);\";function g_atomic_int_and(atomic, val) bind(c)\r\ng;g_atomic_int_compare_and_exchange;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gatomic.h;\"gboolean g_atomic_int_compare_and_exchange (volatile gint *atomic, gint oldval, gint newval);\";function g_atomic_int_compare_and_exchange(atomic, oldval, newval) bind(c)\r\ng;g_atomic_int_compare_and_exchange_full;GLIB_AVAILABLE_IN_2_74;glib-auto.f90;/usr/include/glib-2.0/glib/gatomic.h;\"gboolean g_atomic_int_compare_and_exchange_full (gint *atomic, gint oldval, gint newval, gint *preval);\";function g_atomic_int_compare_and_exchange_full(atomic, oldval, newval, preval) bind(c)\r\ng;g_atomic_int_dec_and_test;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gatomic.h;\"gboolean g_atomic_int_dec_and_test (volatile gint *atomic);\";function g_atomic_int_dec_and_test(atomic) bind(c)\r\ng;g_atomic_int_exchange;GLIB_AVAILABLE_IN_2_74;glib-auto.f90;/usr/include/glib-2.0/glib/gatomic.h;\"gint g_atomic_int_exchange (gint *atomic, gint newval);\";function g_atomic_int_exchange(atomic, newval) bind(c)\r\ng;g_atomic_int_exchange_and_add;GLIB_DEPRECATED_IN_2_30_FOR(g_atomic_int_add);glib-auto.f90;/usr/include/glib-2.0/glib/gatomic.h;\"gint g_atomic_int_exchange_and_add (volatile gint *atomic, gint val);\";function g_atomic_int_exchange_and_add(atomic, val) bind(c)\r\ng;g_atomic_int_get;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gatomic.h;\"gint g_atomic_int_get (const volatile gint *atomic);\";function g_atomic_int_get(atomic) bind(c)\r\ng;g_atomic_int_inc;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gatomic.h;\"void g_atomic_int_inc (volatile gint *atomic);\";subroutine g_atomic_int_inc(atomic) bind(c)\r\ng;g_atomic_int_or;GLIB_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/glib/gatomic.h;\"guint g_atomic_int_or (volatile guint *atomic, guint val);\";function g_atomic_int_or(atomic, val) bind(c)\r\ng;g_atomic_int_set;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gatomic.h;\"void g_atomic_int_set (volatile gint *atomic, gint newval);\";subroutine g_atomic_int_set(atomic, newval) bind(c)\r\ng;g_atomic_int_xor;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gatomic.h;\"guint g_atomic_int_xor (volatile guint *atomic, guint val);\";function g_atomic_int_xor(atomic, val) bind(c)\r\ng;g_atomic_pointer_compare_and_exchange;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gatomic.h;\"gboolean g_atomic_pointer_compare_and_exchange (volatile void *atomic, gpointer oldval, gpointer newval);\";function g_atomic_pointer_compare_and_exchange(atomic, oldval, newval) bind(c)\r\ng;g_atomic_pointer_compare_and_exchange_full;GLIB_AVAILABLE_IN_2_74;glib-auto.f90;/usr/include/glib-2.0/glib/gatomic.h;\"gboolean g_atomic_pointer_compare_and_exchange_full (void *atomic, gpointer oldval, gpointer newval, void *preval);\";function g_atomic_pointer_compare_and_exchange_full(atomic, oldval, newval, preval) bind(c)\r\ng;g_atomic_pointer_exchange;GLIB_AVAILABLE_IN_2_74;glib-auto.f90;/usr/include/glib-2.0/glib/gatomic.h;\"gpointer g_atomic_pointer_exchange (void *atomic, gpointer newval);\";function g_atomic_pointer_exchange(atomic, newval) bind(c)\r\ng;g_atomic_pointer_get;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gatomic.h;\"gpointer g_atomic_pointer_get (const volatile void *atomic);\";function g_atomic_pointer_get(atomic) bind(c)\r\ng;g_atomic_pointer_set;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gatomic.h;\"void g_atomic_pointer_set (volatile void *atomic, gpointer newval);\";subroutine g_atomic_pointer_set(atomic, newval) bind(c)\r\ng;g_atomic_rc_box_acquire;GLIB_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/glib/grcbox.h;\"gpointer g_atomic_rc_box_acquire (gpointer mem_block);\";function g_atomic_rc_box_acquire(mem_block) bind(c)\r\ng;g_atomic_rc_box_alloc;GLIB_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/glib/grcbox.h;\"gpointer g_atomic_rc_box_alloc (gsize block_size) ;\";function g_atomic_rc_box_alloc(block_size) bind(c)\r\ng;g_atomic_rc_box_alloc0;GLIB_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/glib/grcbox.h;\"gpointer g_atomic_rc_box_alloc0 (gsize block_size) ;\";function g_atomic_rc_box_alloc0(block_size) bind(c)\r\ng;g_atomic_rc_box_dup;GLIB_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/glib/grcbox.h;\"gpointer g_atomic_rc_box_dup (gsize block_size, gconstpointer mem_block) ;\";function g_atomic_rc_box_dup(block_size, mem_block) bind(c)\r\ng;g_atomic_rc_box_get_size;GLIB_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/glib/grcbox.h;\"gsize g_atomic_rc_box_get_size (gpointer mem_block);\";function g_atomic_rc_box_get_size(mem_block) bind(c)\r\ng;g_atomic_rc_box_release;GLIB_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/glib/grcbox.h;\"void g_atomic_rc_box_release (gpointer mem_block);\";subroutine g_atomic_rc_box_release(mem_block) bind(c)\r\ng;g_atomic_rc_box_release_full;GLIB_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/glib/grcbox.h;\"void g_atomic_rc_box_release_full (gpointer mem_block, GDestroyNotify clear_func);\";subroutine g_atomic_rc_box_release_full(mem_block, clear_func) bind(c)\r\ng;g_atomic_ref_count_compare;GLIB_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/glib/grefcount.h;\"gboolean g_atomic_ref_count_compare (gatomicrefcount *arc, gint val);\";function g_atomic_ref_count_compare(arc, val) bind(c)\r\ng;g_atomic_ref_count_dec;GLIB_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/glib/grefcount.h;\"gboolean g_atomic_ref_count_dec (gatomicrefcount *arc);\";function g_atomic_ref_count_dec(arc) bind(c)\r\ng;g_atomic_ref_count_inc;GLIB_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/glib/grefcount.h;\"void g_atomic_ref_count_inc (gatomicrefcount *arc);\";subroutine g_atomic_ref_count_inc(arc) bind(c)\r\ng;g_atomic_ref_count_init;GLIB_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/glib/grefcount.h;\"void g_atomic_ref_count_init (gatomicrefcount *arc);\";subroutine g_atomic_ref_count_init(arc) bind(c)\r\ng;g_base64_decode;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbase64.h;\"guchar *g_base64_decode (const gchar *text, gsize *out_len) ;\";function g_base64_decode(text, out_len) bind(c)\r\ng;g_base64_decode_inplace;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbase64.h;\"guchar *g_base64_decode_inplace (gchar *text, gsize *out_len);\";function g_base64_decode_inplace(text, out_len) bind(c)\r\ng;g_base64_decode_step;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbase64.h;\"gsize g_base64_decode_step (const gchar *in, gsize len, guchar *out, gint *state, guint *save);\";function g_base64_decode_step(in, len, out, state, save) bind(c)\r\ng;g_base64_encode;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbase64.h;\"gchar* g_base64_encode (const guchar *data, gsize len) ;\";function g_base64_encode(data, len) bind(c)\r\ng;g_base64_encode_close;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbase64.h;\"gsize g_base64_encode_close (gboolean break_lines, gchar *out, gint *state, gint *save);\";function g_base64_encode_close(break_lines, out, state, save) bind(c)\r\ng;g_base64_encode_step;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbase64.h;\"gsize g_base64_encode_step (const guchar *in, gsize len, gboolean break_lines, gchar *out, gint *state, gint *save);\";function g_base64_encode_step(in, len, break_lines, out, state, save) bind(c)\r\ng;g_basename;GLIB_DEPRECATED_FOR(g_path_get_basename);glib-auto.f90;/usr/include/glib-2.0/glib/gfileutils.h;\"const gchar *g_basename (const gchar *file_name);\";function g_basename(file_name) bind(c)\r\ng;g_binding_dup_source;GOBJECT_AVAILABLE_IN_2_68;glib-auto.f90;/usr/include/glib-2.0/gobject/gbinding.h;\"GObject * g_binding_dup_source (GBinding *binding);\";function g_binding_dup_source(binding) bind(c)\r\ng;g_binding_dup_target;GOBJECT_AVAILABLE_IN_2_68;glib-auto.f90;/usr/include/glib-2.0/gobject/gbinding.h;\"GObject * g_binding_dup_target (GBinding *binding);\";function g_binding_dup_target(binding) bind(c)\r\ng;g_binding_flags_get_type;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gbinding.h;\"GType g_binding_flags_get_type (void) ;\";function g_binding_flags_get_type() bind(c)\r\ng;g_binding_get_flags;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gbinding.h;\"GBindingFlags g_binding_get_flags (GBinding *binding);\";function g_binding_get_flags(binding) bind(c)\r\ng;g_binding_get_source;GOBJECT_DEPRECATED_IN_2_68_FOR(g_binding_dup_source);glib-auto.f90;/usr/include/glib-2.0/gobject/gbinding.h;\"GObject * g_binding_get_source (GBinding *binding);\";function g_binding_get_source(binding) bind(c)\r\ng;g_binding_get_source_property;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gbinding.h;\"const gchar * g_binding_get_source_property (GBinding *binding);\";function g_binding_get_source_property(binding) bind(c)\r\ng;g_binding_get_target;GOBJECT_DEPRECATED_IN_2_68_FOR(g_binding_dup_target);glib-auto.f90;/usr/include/glib-2.0/gobject/gbinding.h;\"GObject * g_binding_get_target (GBinding *binding);\";function g_binding_get_target(binding) bind(c)\r\ng;g_binding_get_target_property;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gbinding.h;\"const gchar * g_binding_get_target_property (GBinding *binding);\";function g_binding_get_target_property(binding) bind(c)\r\ng;g_binding_get_type;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gbinding.h;\"GType g_binding_get_type (void) ;\";function g_binding_get_type() bind(c)\r\ng;g_binding_group_bind;GOBJECT_AVAILABLE_IN_2_72;glib-auto.f90;/usr/include/glib-2.0/gobject/gbindinggroup.h;\"void g_binding_group_bind (GBindingGroup *self, const gchar *source_property, gpointer target, const gchar *target_property, GBindingFlags flags);\";subroutine g_binding_group_bind(self, source_property, target, target_property, flags) bind(c)\r\ng;g_binding_group_bind_full;GOBJECT_AVAILABLE_IN_2_72;glib-auto.f90;/usr/include/glib-2.0/gobject/gbindinggroup.h;\"void g_binding_group_bind_full (GBindingGroup *self, const gchar *source_property, gpointer target, const gchar *target_property, GBindingFlags flags, GBindingTransformFunc transform_to, GBindingTransformFunc transform_from, gpointer user_data, GDestroyNotify user_data_destroy);\";subroutine g_binding_group_bind_full(self, source_property, target, target_property, flags, transform_to, transform_from, user_data, user_data_destroy) bind(c)\r\ng;g_binding_group_bind_with_closures;GOBJECT_AVAILABLE_IN_2_72;glib-auto.f90;/usr/include/glib-2.0/gobject/gbindinggroup.h;\"void g_binding_group_bind_with_closures (GBindingGroup *self, const gchar *source_property, gpointer target, const gchar *target_property, GBindingFlags flags, GClosure *transform_to, GClosure *transform_from);\";subroutine g_binding_group_bind_with_closures(self, source_property, target, target_property, flags, transform_to, transform_from) bind(c)\r\ng;g_binding_group_dup_source;GOBJECT_AVAILABLE_IN_2_72;glib-auto.f90;/usr/include/glib-2.0/gobject/gbindinggroup.h;\"gpointer g_binding_group_dup_source (GBindingGroup *self);\";function g_binding_group_dup_source(self) bind(c)\r\ng;g_binding_group_get_type;GOBJECT_AVAILABLE_IN_2_72;glib-auto.f90;/usr/include/glib-2.0/gobject/gbindinggroup.h;\"GType g_binding_group_get_type (void) ;\";function g_binding_group_get_type() bind(c)\r\ng;g_binding_group_new;GOBJECT_AVAILABLE_IN_2_72;glib-auto.f90;/usr/include/glib-2.0/gobject/gbindinggroup.h;\"GBindingGroup *g_binding_group_new (void);\";function g_binding_group_new() bind(c)\r\ng;g_binding_group_set_source;GOBJECT_AVAILABLE_IN_2_72;glib-auto.f90;/usr/include/glib-2.0/gobject/gbindinggroup.h;\"void g_binding_group_set_source (GBindingGroup *self, gpointer source);\";subroutine g_binding_group_set_source(self, source) bind(c)\r\ng;g_binding_unbind;GOBJECT_AVAILABLE_IN_2_38;glib-auto.f90;/usr/include/glib-2.0/gobject/gbinding.h;\"void g_binding_unbind (GBinding *binding);\";subroutine g_binding_unbind(binding) bind(c)\r\ng;g_bit_lock;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbitlock.h;\"void g_bit_lock (volatile gint *address, gint lock_bit);\";subroutine g_bit_lock(address, lock_bit) bind(c)\r\ng;g_bit_lock_and_get;GLIB_AVAILABLE_IN_2_86;glib-auto.f90;/usr/include/glib-2.0/glib/gbitlock.h;\"void g_bit_lock_and_get (gint *address, guint lock_bit, gint *out_val);\";subroutine g_bit_lock_and_get(address, lock_bit, out_val) bind(c)\r\ng;g_bit_nth_lsf;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gutils.h;\"gint (g_bit_nth_lsf) (gulong mask, gint nth_bit);\";function g_bit_nth_lsf(mask, nth_bit) bind(c)\r\ng;g_bit_nth_msf;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gutils.h;\"gint (g_bit_nth_msf) (gulong mask, gint nth_bit);\";function g_bit_nth_msf(mask, nth_bit) bind(c)\r\ng;g_bit_storage;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gutils.h;\"guint (g_bit_storage) (gulong number);\";function g_bit_storage(number) bind(c)\r\ng;g_bit_trylock;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbitlock.h;\"gboolean g_bit_trylock (volatile gint *address, gint lock_bit);\";function g_bit_trylock(address, lock_bit) bind(c)\r\ng;g_bit_unlock;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbitlock.h;\"void g_bit_unlock (volatile gint *address, gint lock_bit);\";subroutine g_bit_unlock(address, lock_bit) bind(c)\r\ng;g_bit_unlock_and_set;GLIB_AVAILABLE_IN_2_86;glib-auto.f90;/usr/include/glib-2.0/glib/gbitlock.h;\"void g_bit_unlock_and_set (gint *address, guint lock_bit, gint new_val, gint preserve_mask);\";subroutine g_bit_unlock_and_set(address, lock_bit, new_val, preserve_mask) bind(c)\r\ng;g_blow_chunks;GLIB_DEPRECATED;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gallocator.h;\"void g_blow_chunks (void);\";subroutine g_blow_chunks() bind(c)\r\ng;g_bookmark_file_add_application;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"void g_bookmark_file_add_application (GBookmarkFile *bookmark, const gchar *uri, const gchar *name, const gchar *exec);\";subroutine g_bookmark_file_add_application(bookmark, uri, name, exec) bind(c)\r\ng;g_bookmark_file_add_group;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"void g_bookmark_file_add_group (GBookmarkFile *bookmark, const gchar *uri, const gchar *group);\";subroutine g_bookmark_file_add_group(bookmark, uri, group) bind(c)\r\ng;g_bookmark_file_copy;GLIB_AVAILABLE_IN_2_76;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"GBookmarkFile *g_bookmark_file_copy (GBookmarkFile *bookmark);\";function g_bookmark_file_copy(bookmark) bind(c)\r\ng;g_bookmark_file_error_quark;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"GQuark g_bookmark_file_error_quark (void);\";function g_bookmark_file_error_quark() bind(c)\r\ng;g_bookmark_file_free;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"void g_bookmark_file_free (GBookmarkFile *bookmark);\";subroutine g_bookmark_file_free(bookmark) bind(c)\r\ng;g_bookmark_file_get_added;GLIB_DEPRECATED_IN_2_66_FOR(g_bookmark_file_get_added_date_time);glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"time_t g_bookmark_file_get_added (GBookmarkFile *bookmark, const gchar *uri, GError **error);\";function g_bookmark_file_get_added(bookmark, uri, error) bind(c)\r\ng;g_bookmark_file_get_added_date_time;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"GDateTime *g_bookmark_file_get_added_date_time (GBookmarkFile *bookmark, const char *uri, GError **error);\";function g_bookmark_file_get_added_date_time(bookmark, uri, error) bind(c)\r\ng;g_bookmark_file_get_app_info;GLIB_DEPRECATED_IN_2_66_FOR(g_bookmark_file_get_application_info);glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"gboolean g_bookmark_file_get_app_info (GBookmarkFile *bookmark, const gchar *uri, const gchar *name, gchar **exec, guint *count, time_t *stamp, GError **error);\";function g_bookmark_file_get_app_info(bookmark, uri, name, exec, count, stamp, error) bind(c)\r\ng;g_bookmark_file_get_application_info;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"gboolean g_bookmark_file_get_application_info (GBookmarkFile *bookmark, const char *uri, const char *name, char **exec, unsigned int *count, GDateTime **stamp, GError **error);\";function g_bookmark_file_get_application_info(bookmark, uri, name, exec, count, stamp, error) bind(c)\r\ng;g_bookmark_file_get_applications;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"gchar ** g_bookmark_file_get_applications (GBookmarkFile *bookmark, const gchar *uri, gsize *length, GError **error);\";function g_bookmark_file_get_applications(bookmark, uri, length, error) bind(c)\r\ng;g_bookmark_file_get_description;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"gchar * g_bookmark_file_get_description (GBookmarkFile *bookmark, const gchar *uri, GError **error) ;\";function g_bookmark_file_get_description(bookmark, uri, error) bind(c)\r\ng;g_bookmark_file_get_groups;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"gchar ** g_bookmark_file_get_groups (GBookmarkFile *bookmark, const gchar *uri, gsize *length, GError **error);\";function g_bookmark_file_get_groups(bookmark, uri, length, error) bind(c)\r\ng;g_bookmark_file_get_icon;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"gboolean g_bookmark_file_get_icon (GBookmarkFile *bookmark, const gchar *uri, gchar **href, gchar **mime_type, GError **error);\";function g_bookmark_file_get_icon(bookmark, uri, href, mime_type, error) bind(c)\r\ng;g_bookmark_file_get_is_private;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"gboolean g_bookmark_file_get_is_private (GBookmarkFile *bookmark, const gchar *uri, GError **error);\";function g_bookmark_file_get_is_private(bookmark, uri, error) bind(c)\r\ng;g_bookmark_file_get_mime_type;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"gchar * g_bookmark_file_get_mime_type (GBookmarkFile *bookmark, const gchar *uri, GError **error) ;\";function g_bookmark_file_get_mime_type(bookmark, uri, error) bind(c)\r\ng;g_bookmark_file_get_modified;GLIB_DEPRECATED_IN_2_66_FOR(g_bookmark_file_get_modified_date_time);glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"time_t g_bookmark_file_get_modified (GBookmarkFile *bookmark, const gchar *uri, GError **error);\";function g_bookmark_file_get_modified(bookmark, uri, error) bind(c)\r\ng;g_bookmark_file_get_modified_date_time;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"GDateTime *g_bookmark_file_get_modified_date_time (GBookmarkFile *bookmark, const char *uri, GError **error);\";function g_bookmark_file_get_modified_date_time(bookmark, uri, error) bind(c)\r\ng;g_bookmark_file_get_size;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"gint g_bookmark_file_get_size (GBookmarkFile *bookmark);\";function g_bookmark_file_get_size(bookmark) bind(c)\r\ng;g_bookmark_file_get_title;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"gchar * g_bookmark_file_get_title (GBookmarkFile *bookmark, const gchar *uri, GError **error) ;\";function g_bookmark_file_get_title(bookmark, uri, error) bind(c)\r\ng;g_bookmark_file_get_type;GOBJECT_AVAILABLE_IN_2_76;glib-auto.f90;/usr/include/glib-2.0/gobject/glib-types.h;\"GType g_bookmark_file_get_type (void) ;\";function g_bookmark_file_get_type() bind(c)\r\ng;g_bookmark_file_get_uris;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"gchar ** g_bookmark_file_get_uris (GBookmarkFile *bookmark, gsize *length);\";function g_bookmark_file_get_uris(bookmark, length) bind(c)\r\ng;g_bookmark_file_get_visited;GLIB_DEPRECATED_IN_2_66_FOR(g_bookmark_file_get_visited_date_time);glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"time_t g_bookmark_file_get_visited (GBookmarkFile *bookmark, const gchar *uri, GError **error);\";function g_bookmark_file_get_visited(bookmark, uri, error) bind(c)\r\ng;g_bookmark_file_get_visited_date_time;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"GDateTime *g_bookmark_file_get_visited_date_time (GBookmarkFile *bookmark, const char *uri, GError **error);\";function g_bookmark_file_get_visited_date_time(bookmark, uri, error) bind(c)\r\ng;g_bookmark_file_has_application;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"gboolean g_bookmark_file_has_application (GBookmarkFile *bookmark, const gchar *uri, const gchar *name, GError **error);\";function g_bookmark_file_has_application(bookmark, uri, name, error) bind(c)\r\ng;g_bookmark_file_has_group;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"gboolean g_bookmark_file_has_group (GBookmarkFile *bookmark, const gchar *uri, const gchar *group, GError **error);\";function g_bookmark_file_has_group(bookmark, uri, group, error) bind(c)\r\ng;g_bookmark_file_has_item;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"gboolean g_bookmark_file_has_item (GBookmarkFile *bookmark, const gchar *uri);\";function g_bookmark_file_has_item(bookmark, uri) bind(c)\r\ng;g_bookmark_file_load_from_data;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"gboolean g_bookmark_file_load_from_data (GBookmarkFile *bookmark, const gchar *data, gsize length, GError **error);\";function g_bookmark_file_load_from_data(bookmark, data, length, error) bind(c)\r\ng;g_bookmark_file_load_from_data_dirs;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"gboolean g_bookmark_file_load_from_data_dirs (GBookmarkFile *bookmark, const gchar *file, gchar **full_path, GError **error);\";function g_bookmark_file_load_from_data_dirs(bookmark, file, full_path, error) bind(c)\r\ng;g_bookmark_file_load_from_file;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"gboolean g_bookmark_file_load_from_file (GBookmarkFile *bookmark, const gchar *filename, GError **error);\";function g_bookmark_file_load_from_file(bookmark, filename, error) bind(c)\r\ng;g_bookmark_file_move_item;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"gboolean g_bookmark_file_move_item (GBookmarkFile *bookmark, const gchar *old_uri, const gchar *new_uri, GError **error);\";function g_bookmark_file_move_item(bookmark, old_uri, new_uri, error) bind(c)\r\ng;g_bookmark_file_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"GBookmarkFile *g_bookmark_file_new (void);\";function g_bookmark_file_new() bind(c)\r\ng;g_bookmark_file_remove_application;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"gboolean g_bookmark_file_remove_application (GBookmarkFile *bookmark, const gchar *uri, const gchar *name, GError **error);\";function g_bookmark_file_remove_application(bookmark, uri, name, error) bind(c)\r\ng;g_bookmark_file_remove_group;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"gboolean g_bookmark_file_remove_group (GBookmarkFile *bookmark, const gchar *uri, const gchar *group, GError **error);\";function g_bookmark_file_remove_group(bookmark, uri, group, error) bind(c)\r\ng;g_bookmark_file_remove_item;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"gboolean g_bookmark_file_remove_item (GBookmarkFile *bookmark, const gchar *uri, GError **error);\";function g_bookmark_file_remove_item(bookmark, uri, error) bind(c)\r\ng;g_bookmark_file_set_added;GLIB_DEPRECATED_IN_2_66_FOR(g_bookmark_file_set_added_date_time);glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"void g_bookmark_file_set_added (GBookmarkFile *bookmark, const gchar *uri, time_t added);\";subroutine g_bookmark_file_set_added(bookmark, uri, added) bind(c)\r\ng;g_bookmark_file_set_added_date_time;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"void g_bookmark_file_set_added_date_time (GBookmarkFile *bookmark, const char *uri, GDateTime *added);\";subroutine g_bookmark_file_set_added_date_time(bookmark, uri, added) bind(c)\r\ng;g_bookmark_file_set_app_info;GLIB_DEPRECATED_IN_2_66_FOR(g_bookmark_file_set_application_info);glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"gboolean g_bookmark_file_set_app_info (GBookmarkFile *bookmark, const gchar *uri, const gchar *name, const gchar *exec, gint count, time_t stamp, GError **error);\";function g_bookmark_file_set_app_info(bookmark, uri, name, exec, count, stamp, error) bind(c)\r\ng;g_bookmark_file_set_application_info;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"gboolean g_bookmark_file_set_application_info (GBookmarkFile *bookmark, const char *uri, const char *name, const char *exec, int count, GDateTime *stamp, GError **error);\";function g_bookmark_file_set_application_info(bookmark, uri, name, exec, count, stamp, error) bind(c)\r\ng;g_bookmark_file_set_description;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"void g_bookmark_file_set_description (GBookmarkFile *bookmark, const gchar *uri, const gchar *description);\";subroutine g_bookmark_file_set_description(bookmark, uri, description) bind(c)\r\ng;g_bookmark_file_set_groups;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"void g_bookmark_file_set_groups (GBookmarkFile *bookmark, const gchar *uri, const gchar **groups, gsize length);\";subroutine g_bookmark_file_set_groups(bookmark, uri, groups, length) bind(c)\r\ng;g_bookmark_file_set_icon;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"void g_bookmark_file_set_icon (GBookmarkFile *bookmark, const gchar *uri, const gchar *href, const gchar *mime_type);\";subroutine g_bookmark_file_set_icon(bookmark, uri, href, mime_type) bind(c)\r\ng;g_bookmark_file_set_is_private;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"void g_bookmark_file_set_is_private (GBookmarkFile *bookmark, const gchar *uri, gboolean is_private);\";subroutine g_bookmark_file_set_is_private(bookmark, uri, is_private) bind(c)\r\ng;g_bookmark_file_set_mime_type;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"void g_bookmark_file_set_mime_type (GBookmarkFile *bookmark, const gchar *uri, const gchar *mime_type);\";subroutine g_bookmark_file_set_mime_type(bookmark, uri, mime_type) bind(c)\r\ng;g_bookmark_file_set_modified;GLIB_DEPRECATED_IN_2_66_FOR(g_bookmark_file_set_modified_date_time);glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"void g_bookmark_file_set_modified (GBookmarkFile *bookmark, const gchar *uri, time_t modified);\";subroutine g_bookmark_file_set_modified(bookmark, uri, modified) bind(c)\r\ng;g_bookmark_file_set_modified_date_time;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"void g_bookmark_file_set_modified_date_time (GBookmarkFile *bookmark, const char *uri, GDateTime *modified);\";subroutine g_bookmark_file_set_modified_date_time(bookmark, uri, modified) bind(c)\r\ng;g_bookmark_file_set_title;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"void g_bookmark_file_set_title (GBookmarkFile *bookmark, const gchar *uri, const gchar *title);\";subroutine g_bookmark_file_set_title(bookmark, uri, title) bind(c)\r\ng;g_bookmark_file_set_visited;GLIB_DEPRECATED_IN_2_66_FOR(g_bookmark_file_set_visited_date_time);glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"void g_bookmark_file_set_visited (GBookmarkFile *bookmark, const gchar *uri, time_t visited);\";subroutine g_bookmark_file_set_visited(bookmark, uri, visited) bind(c)\r\ng;g_bookmark_file_set_visited_date_time;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"void g_bookmark_file_set_visited_date_time (GBookmarkFile *bookmark, const char *uri, GDateTime *visited);\";subroutine g_bookmark_file_set_visited_date_time(bookmark, uri, visited) bind(c)\r\ng;g_bookmark_file_to_data;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"gchar * g_bookmark_file_to_data (GBookmarkFile *bookmark, gsize *length, GError **error) ;\";function g_bookmark_file_to_data(bookmark, length, error) bind(c)\r\ng;g_bookmark_file_to_file;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbookmarkfile.h;\"gboolean g_bookmark_file_to_file (GBookmarkFile *bookmark, const gchar *filename, GError **error);\";function g_bookmark_file_to_file(bookmark, filename, error) bind(c)\r\ng;g_boxed_copy;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gboxed.h;\"gpointer g_boxed_copy (GType boxed_type, gconstpointer src_boxed);\";function g_boxed_copy(boxed_type, src_boxed) bind(c)\r\ng;g_boxed_free;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gboxed.h;\"void g_boxed_free (GType boxed_type, gpointer boxed);\";subroutine g_boxed_free(boxed_type, boxed) bind(c)\r\ng;g_boxed_type_register_static;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gboxed.h;\"GType g_boxed_type_register_static (const gchar *name, GBoxedCopyFunc boxed_copy, GBoxedFreeFunc boxed_free);\";function g_boxed_type_register_static(name, boxed_copy, boxed_free) bind(c)\r\ng;g_buffered_input_stream_fill;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gbufferedinputstream.h;\"gssize g_buffered_input_stream_fill (GBufferedInputStream *stream, gssize count, GCancellable *cancellable, GError **error);\";function g_buffered_input_stream_fill(stream, count, cancellable, error) bind(c)\r\ng;g_buffered_input_stream_fill_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gbufferedinputstream.h;\"void g_buffered_input_stream_fill_async (GBufferedInputStream *stream, gssize count, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_buffered_input_stream_fill_async(stream, count, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_buffered_input_stream_fill_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gbufferedinputstream.h;\"gssize g_buffered_input_stream_fill_finish (GBufferedInputStream *stream, GAsyncResult *result, GError **error);\";function g_buffered_input_stream_fill_finish(stream, result, error) bind(c)\r\ng;g_buffered_input_stream_get_available;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gbufferedinputstream.h;\"gsize g_buffered_input_stream_get_available (GBufferedInputStream *stream);\";function g_buffered_input_stream_get_available(stream) bind(c)\r\ng;g_buffered_input_stream_get_buffer_size;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gbufferedinputstream.h;\"gsize g_buffered_input_stream_get_buffer_size (GBufferedInputStream *stream);\";function g_buffered_input_stream_get_buffer_size(stream) bind(c)\r\ng;g_buffered_input_stream_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gbufferedinputstream.h;\"GType g_buffered_input_stream_get_type (void) ;\";function g_buffered_input_stream_get_type() bind(c)\r\ng;g_buffered_input_stream_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gbufferedinputstream.h;\"GInputStream* g_buffered_input_stream_new (GInputStream *base_stream);\";function g_buffered_input_stream_new(base_stream) bind(c)\r\ng;g_buffered_input_stream_new_sized;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gbufferedinputstream.h;\"GInputStream* g_buffered_input_stream_new_sized (GInputStream *base_stream, gsize size);\";function g_buffered_input_stream_new_sized(base_stream, size) bind(c)\r\ng;g_buffered_input_stream_peek;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gbufferedinputstream.h;\"gsize g_buffered_input_stream_peek (GBufferedInputStream *stream, void *buffer, gsize offset, gsize count);\";function g_buffered_input_stream_peek(stream, buffer, offset, count) bind(c)\r\ng;g_buffered_input_stream_peek_buffer;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gbufferedinputstream.h;\"const void* g_buffered_input_stream_peek_buffer (GBufferedInputStream *stream, gsize *count);\";function g_buffered_input_stream_peek_buffer(stream, count) bind(c)\r\ng;g_buffered_input_stream_read_byte;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gbufferedinputstream.h;\"int g_buffered_input_stream_read_byte (GBufferedInputStream *stream, GCancellable *cancellable, GError **error);\";function g_buffered_input_stream_read_byte(stream, cancellable, error) bind(c)\r\ng;g_buffered_input_stream_set_buffer_size;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gbufferedinputstream.h;\"void g_buffered_input_stream_set_buffer_size (GBufferedInputStream *stream, gsize size);\";subroutine g_buffered_input_stream_set_buffer_size(stream, size) bind(c)\r\ng;g_buffered_output_stream_get_auto_grow;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gbufferedoutputstream.h;\"gboolean g_buffered_output_stream_get_auto_grow (GBufferedOutputStream *stream);\";function g_buffered_output_stream_get_auto_grow(stream) bind(c)\r\ng;g_buffered_output_stream_get_buffer_size;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gbufferedoutputstream.h;\"gsize g_buffered_output_stream_get_buffer_size (GBufferedOutputStream *stream);\";function g_buffered_output_stream_get_buffer_size(stream) bind(c)\r\ng;g_buffered_output_stream_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gbufferedoutputstream.h;\"GType g_buffered_output_stream_get_type (void) ;\";function g_buffered_output_stream_get_type() bind(c)\r\ng;g_buffered_output_stream_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gbufferedoutputstream.h;\"GOutputStream* g_buffered_output_stream_new (GOutputStream *base_stream);\";function g_buffered_output_stream_new(base_stream) bind(c)\r\ng;g_buffered_output_stream_new_sized;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gbufferedoutputstream.h;\"GOutputStream* g_buffered_output_stream_new_sized (GOutputStream *base_stream, gsize size);\";function g_buffered_output_stream_new_sized(base_stream, size) bind(c)\r\ng;g_buffered_output_stream_set_auto_grow;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gbufferedoutputstream.h;\"void g_buffered_output_stream_set_auto_grow (GBufferedOutputStream *stream, gboolean auto_grow);\";subroutine g_buffered_output_stream_set_auto_grow(stream, auto_grow) bind(c)\r\ng;g_buffered_output_stream_set_buffer_size;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gbufferedoutputstream.h;\"void g_buffered_output_stream_set_buffer_size (GBufferedOutputStream *stream, gsize size);\";subroutine g_buffered_output_stream_set_buffer_size(stream, size) bind(c)\r\ng;g_build_filename_valist;GLIB_AVAILABLE_IN_2_56;glib-auto.f90;/usr/include/glib-2.0/glib/gfileutils.h;\"gchar *g_build_filename_valist (const gchar *first_element, va_list *args) ;\";function g_build_filename_valist(first_element, args) bind(c)\r\ng;g_build_filenamev;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gfileutils.h;\"gchar *g_build_filenamev (gchar **args) ;\";function g_build_filenamev(args) bind(c)\r\ng;g_build_pathv;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gfileutils.h;\"gchar *g_build_pathv (const gchar *separator, gchar **args) ;\";function g_build_pathv(separator, args) bind(c)\r\ng;g_bus_get;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"void g_bus_get (GBusType bus_type, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_bus_get(bus_type, cancellable, callback, user_data) bind(c)\r\ng;g_bus_get_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"GDBusConnection *g_bus_get_finish (GAsyncResult *res, GError **error);\";function g_bus_get_finish(res, error) bind(c)\r\ng;g_bus_get_sync;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"GDBusConnection *g_bus_get_sync (GBusType bus_type, GCancellable *cancellable, GError **error);\";function g_bus_get_sync(bus_type, cancellable, error) bind(c)\r\ng;g_bus_own_name;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusnameowning.h;\"guint g_bus_own_name (GBusType bus_type, const gchar *name, GBusNameOwnerFlags flags, GBusAcquiredCallback bus_acquired_handler, GBusNameAcquiredCallback name_acquired_handler, GBusNameLostCallback name_lost_handler, gpointer user_data, GDestroyNotify user_data_free_func);\";function g_bus_own_name(bus_type, name, flags, bus_acquired_handler, name_acquired_handler, name_lost_handler, user_data, user_data_free_func) bind(c)\r\ng;g_bus_own_name_on_connection;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusnameowning.h;\"guint g_bus_own_name_on_connection (GDBusConnection *connection, const gchar *name, GBusNameOwnerFlags flags, GBusNameAcquiredCallback name_acquired_handler, GBusNameLostCallback name_lost_handler, gpointer user_data, GDestroyNotify user_data_free_func);\";function g_bus_own_name_on_connection(connection, name, flags, name_acquired_handler, name_lost_handler, user_data, user_data_free_func) bind(c)\r\ng;g_bus_own_name_on_connection_with_closures;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusnameowning.h;\"guint g_bus_own_name_on_connection_with_closures ( GDBusConnection *connection, const gchar *name, GBusNameOwnerFlags flags, GClosure *name_acquired_closure, GClosure *name_lost_closure);\";function g_bus_own_name_on_connection_with_closures(connection, name, flags, name_acquired_closure, name_lost_closure) bind(c)\r\ng;g_bus_own_name_with_closures;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusnameowning.h;\"guint g_bus_own_name_with_closures (GBusType bus_type, const gchar *name, GBusNameOwnerFlags flags, GClosure *bus_acquired_closure, GClosure *name_acquired_closure, GClosure *name_lost_closure);\";function g_bus_own_name_with_closures(bus_type, name, flags, bus_acquired_closure, name_acquired_closure, name_lost_closure) bind(c)\r\ng;g_bus_unown_name;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusnameowning.h;\"void g_bus_unown_name (guint owner_id);\";subroutine g_bus_unown_name(owner_id) bind(c)\r\ng;g_bus_unwatch_name;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusnamewatching.h;\"void g_bus_unwatch_name (guint watcher_id);\";subroutine g_bus_unwatch_name(watcher_id) bind(c)\r\ng;g_bus_watch_name;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusnamewatching.h;\"guint g_bus_watch_name (GBusType bus_type, const gchar *name, GBusNameWatcherFlags flags, GBusNameAppearedCallback name_appeared_handler, GBusNameVanishedCallback name_vanished_handler, gpointer user_data, GDestroyNotify user_data_free_func);\";function g_bus_watch_name(bus_type, name, flags, name_appeared_handler, name_vanished_handler, user_data, user_data_free_func) bind(c)\r\ng;g_bus_watch_name_on_connection;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusnamewatching.h;\"guint g_bus_watch_name_on_connection (GDBusConnection *connection, const gchar *name, GBusNameWatcherFlags flags, GBusNameAppearedCallback name_appeared_handler, GBusNameVanishedCallback name_vanished_handler, gpointer user_data, GDestroyNotify user_data_free_func);\";function g_bus_watch_name_on_connection(connection, name, flags, name_appeared_handler, name_vanished_handler, user_data, user_data_free_func) bind(c)\r\ng;g_bus_watch_name_on_connection_with_closures;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusnamewatching.h;\"guint g_bus_watch_name_on_connection_with_closures ( GDBusConnection *connection, const gchar *name, GBusNameWatcherFlags flags, GClosure *name_appeared_closure, GClosure *name_vanished_closure);\";function g_bus_watch_name_on_connection_with_closures(connection, name, flags, name_appeared_closure, name_vanished_closure) bind(c)\r\ng;g_bus_watch_name_with_closures;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusnamewatching.h;\"guint g_bus_watch_name_with_closures (GBusType bus_type, const gchar *name, GBusNameWatcherFlags flags, GClosure *name_appeared_closure, GClosure *name_vanished_closure);\";function g_bus_watch_name_with_closures(bus_type, name, flags, name_appeared_closure, name_vanished_closure) bind(c)\r\ng;g_byte_array_append;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"GByteArray* g_byte_array_append (GByteArray *array, const guint8 *data, guint len);\";function g_byte_array_append(array, data, len) bind(c)\r\ng;g_byte_array_free;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"guint8* g_byte_array_free (GByteArray *array, gboolean free_segment);\";function g_byte_array_free(array, free_segment) bind(c)\r\ng;g_byte_array_free_to_bytes;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"GBytes* g_byte_array_free_to_bytes (GByteArray *array);\";function g_byte_array_free_to_bytes(array) bind(c)\r\ng;g_byte_array_get_type;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/glib-types.h;\"GType g_byte_array_get_type (void) ;\";function g_byte_array_get_type() bind(c)\r\ng;g_byte_array_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"GByteArray* g_byte_array_new (void);\";function g_byte_array_new() bind(c)\r\ng;g_byte_array_new_take;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"GByteArray* g_byte_array_new_take (guint8 *data, gsize len);\";function g_byte_array_new_take(data, len) bind(c)\r\ng;g_byte_array_prepend;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"GByteArray* g_byte_array_prepend (GByteArray *array, const guint8 *data, guint len);\";function g_byte_array_prepend(array, data, len) bind(c)\r\ng;g_byte_array_ref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"GByteArray *g_byte_array_ref (GByteArray *array);\";function g_byte_array_ref(array) bind(c)\r\ng;g_byte_array_remove_index;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"GByteArray* g_byte_array_remove_index (GByteArray *array, guint index_);\";function g_byte_array_remove_index(array, index_) bind(c)\r\ng;g_byte_array_remove_index_fast;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"GByteArray* g_byte_array_remove_index_fast (GByteArray *array, guint index_);\";function g_byte_array_remove_index_fast(array, index_) bind(c)\r\ng;g_byte_array_remove_range;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"GByteArray* g_byte_array_remove_range (GByteArray *array, guint index_, guint length);\";function g_byte_array_remove_range(array, index_, length) bind(c)\r\ng;g_byte_array_set_size;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"GByteArray* g_byte_array_set_size (GByteArray *array, guint length);\";function g_byte_array_set_size(array, length) bind(c)\r\ng;g_byte_array_sized_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"GByteArray* g_byte_array_sized_new (guint reserved_size);\";function g_byte_array_sized_new(reserved_size) bind(c)\r\ng;g_byte_array_sort;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"void g_byte_array_sort (GByteArray *array, GCompareFunc compare_func);\";subroutine g_byte_array_sort(array, compare_func) bind(c)\r\ng;g_byte_array_sort_with_data;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"void g_byte_array_sort_with_data (GByteArray *array, GCompareDataFunc compare_func, gpointer user_data);\";subroutine g_byte_array_sort_with_data(array, compare_func, user_data) bind(c)\r\ng;g_byte_array_steal;GLIB_AVAILABLE_IN_2_64;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"guint8* g_byte_array_steal (GByteArray *array, gsize *len);\";function g_byte_array_steal(array, len) bind(c)\r\ng;g_byte_array_unref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"void g_byte_array_unref (GByteArray *array);\";subroutine g_byte_array_unref(array) bind(c)\r\ng;g_bytes_compare;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbytes.h;\"gint g_bytes_compare (gconstpointer bytes1, gconstpointer bytes2);\";function g_bytes_compare(bytes1, bytes2) bind(c)\r\ng;g_bytes_equal;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbytes.h;\"gboolean g_bytes_equal (gconstpointer bytes1, gconstpointer bytes2);\";function g_bytes_equal(bytes1, bytes2) bind(c)\r\ng;g_bytes_get_data;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbytes.h;\"gconstpointer g_bytes_get_data (GBytes *bytes, gsize *size);\";function g_bytes_get_data(bytes, size) bind(c)\r\ng;g_bytes_get_region;GLIB_AVAILABLE_IN_2_70;glib-auto.f90;/usr/include/glib-2.0/glib/gbytes.h;\"gconstpointer g_bytes_get_region (GBytes *bytes, gsize element_size, gsize offset, gsize n_elements);\";function g_bytes_get_region(bytes, element_size, offset, n_elements) bind(c)\r\ng;g_bytes_get_size;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbytes.h;\"gsize g_bytes_get_size (GBytes *bytes);\";function g_bytes_get_size(bytes) bind(c)\r\ng;g_bytes_get_type;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/glib-types.h;\"GType g_bytes_get_type (void) ;\";function g_bytes_get_type() bind(c)\r\ng;g_bytes_hash;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbytes.h;\"guint g_bytes_hash (gconstpointer bytes);\";function g_bytes_hash(bytes) bind(c)\r\ng;g_bytes_icon_get_bytes;GIO_AVAILABLE_IN_2_38;glib-auto.f90;/usr/include/glib-2.0/gio/gbytesicon.h;\"GBytes * g_bytes_icon_get_bytes (GBytesIcon *icon);\";function g_bytes_icon_get_bytes(icon) bind(c)\r\ng;g_bytes_icon_get_type;GIO_AVAILABLE_IN_2_38;glib-auto.f90;/usr/include/glib-2.0/gio/gbytesicon.h;\"GType g_bytes_icon_get_type (void) ;\";function g_bytes_icon_get_type() bind(c)\r\ng;g_bytes_icon_new;GIO_AVAILABLE_IN_2_38;glib-auto.f90;/usr/include/glib-2.0/gio/gbytesicon.h;\"GIcon * g_bytes_icon_new (GBytes *bytes);\";function g_bytes_icon_new(bytes) bind(c)\r\ng;g_bytes_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbytes.h;\"GBytes * g_bytes_new (gconstpointer data, gsize size);\";function g_bytes_new(data, size) bind(c)\r\ng;g_bytes_new_from_bytes;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbytes.h;\"GBytes * g_bytes_new_from_bytes (GBytes *bytes, gsize offset, gsize length);\";function g_bytes_new_from_bytes(bytes, offset, length) bind(c)\r\ng;g_bytes_new_static;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbytes.h;\"GBytes * g_bytes_new_static (gconstpointer data, gsize size);\";function g_bytes_new_static(data, size) bind(c)\r\ng;g_bytes_new_take;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbytes.h;\"GBytes * g_bytes_new_take (gpointer data, gsize size);\";function g_bytes_new_take(data, size) bind(c)\r\ng;g_bytes_new_with_free_func;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbytes.h;\"GBytes * g_bytes_new_with_free_func (gconstpointer data, gsize size, GDestroyNotify free_func, gpointer user_data);\";function g_bytes_new_with_free_func(data, size, free_func, user_data) bind(c)\r\ng;g_bytes_ref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbytes.h;\"GBytes * g_bytes_ref (GBytes *bytes);\";function g_bytes_ref(bytes) bind(c)\r\ng;g_bytes_unref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbytes.h;\"void g_bytes_unref (GBytes *bytes);\";subroutine g_bytes_unref(bytes) bind(c)\r\ng;g_bytes_unref_to_array;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbytes.h;\"GByteArray * g_bytes_unref_to_array (GBytes *bytes);\";function g_bytes_unref_to_array(bytes) bind(c)\r\ng;g_bytes_unref_to_data;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbytes.h;\"gpointer g_bytes_unref_to_data (GBytes *bytes, gsize *size);\";function g_bytes_unref_to_data(bytes, size) bind(c)\r\ng;g_cache_destroy;GLIB_DEPRECATED;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gcache.h;\"void g_cache_destroy (GCache *cache);\";subroutine g_cache_destroy(cache) bind(c)\r\ng;g_cache_insert;GLIB_DEPRECATED;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gcache.h;\"gpointer g_cache_insert (GCache *cache, gpointer key);\";function g_cache_insert(cache, key) bind(c)\r\ng;g_cache_key_foreach;GLIB_DEPRECATED;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gcache.h;\"void g_cache_key_foreach (GCache *cache, GHFunc func, gpointer user_data);\";subroutine g_cache_key_foreach(cache, func, user_data) bind(c)\r\ng;g_cache_new;GLIB_DEPRECATED;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gcache.h;\"GCache* g_cache_new (GCacheNewFunc value_new_func, GCacheDestroyFunc value_destroy_func, GCacheDupFunc key_dup_func, GCacheDestroyFunc key_destroy_func, GHashFunc hash_key_func, GHashFunc hash_value_func, GEqualFunc key_equal_func);\";function g_cache_new(value_new_func, value_destroy_func, key_dup_func, key_destroy_func, hash_key_func, hash_value_func, key_equal_func) bind(c)\r\ng;g_cache_remove;GLIB_DEPRECATED;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gcache.h;\"void g_cache_remove (GCache *cache, gconstpointer value);\";subroutine g_cache_remove(cache, value) bind(c)\r\ng;g_cache_value_foreach;GLIB_DEPRECATED;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gcache.h;\"void g_cache_value_foreach (GCache *cache, GHFunc func, gpointer user_data);\";subroutine g_cache_value_foreach(cache, func, user_data) bind(c)\r\ng;g_cancellable_cancel;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gcancellable.h;\"void g_cancellable_cancel (GCancellable *cancellable);\";subroutine g_cancellable_cancel(cancellable) bind(c)\r\ng;g_cancellable_connect;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gcancellable.h;\"gulong g_cancellable_connect (GCancellable *cancellable, GCallback callback, gpointer data, GDestroyNotify data_destroy_func);\";function g_cancellable_connect(cancellable, callback, data, data_destroy_func) bind(c)\r\ng;g_cancellable_disconnect;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gcancellable.h;\"void g_cancellable_disconnect (GCancellable *cancellable, gulong handler_id);\";subroutine g_cancellable_disconnect(cancellable, handler_id) bind(c)\r\ng;g_cancellable_get_current;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gcancellable.h;\"GCancellable *g_cancellable_get_current (void);\";function g_cancellable_get_current() bind(c)\r\ng;g_cancellable_get_fd;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gcancellable.h;\"int g_cancellable_get_fd (GCancellable *cancellable);\";function g_cancellable_get_fd(cancellable) bind(c)\r\ng;g_cancellable_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gcancellable.h;\"GType g_cancellable_get_type (void) ;\";function g_cancellable_get_type() bind(c)\r\ng;g_cancellable_is_cancelled;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gcancellable.h;\"gboolean g_cancellable_is_cancelled (GCancellable *cancellable);\";function g_cancellable_is_cancelled(cancellable) bind(c)\r\ng;g_cancellable_make_pollfd;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gcancellable.h;\"gboolean g_cancellable_make_pollfd (GCancellable *cancellable, GPollFD *pollfd);\";function g_cancellable_make_pollfd(cancellable, pollfd) bind(c)\r\ng;g_cancellable_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gcancellable.h;\"GCancellable *g_cancellable_new (void);\";function g_cancellable_new() bind(c)\r\ng;g_cancellable_pop_current;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gcancellable.h;\"void g_cancellable_pop_current (GCancellable *cancellable);\";subroutine g_cancellable_pop_current(cancellable) bind(c)\r\ng;g_cancellable_push_current;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gcancellable.h;\"void g_cancellable_push_current (GCancellable *cancellable);\";subroutine g_cancellable_push_current(cancellable) bind(c)\r\ng;g_cancellable_release_fd;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gcancellable.h;\"void g_cancellable_release_fd (GCancellable *cancellable);\";subroutine g_cancellable_release_fd(cancellable) bind(c)\r\ng;g_cancellable_reset;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gcancellable.h;\"void g_cancellable_reset (GCancellable *cancellable);\";subroutine g_cancellable_reset(cancellable) bind(c)\r\ng;g_cancellable_set_error_if_cancelled;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gcancellable.h;\"gboolean g_cancellable_set_error_if_cancelled (GCancellable *cancellable, GError **error);\";function g_cancellable_set_error_if_cancelled(cancellable, error) bind(c)\r\ng;g_cancellable_source_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gcancellable.h;\"GSource * g_cancellable_source_new (GCancellable *cancellable);\";function g_cancellable_source_new(cancellable) bind(c)\r\ng;g_canonicalize_filename;GLIB_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/glib/gfileutils.h;\"gchar *g_canonicalize_filename (const gchar *filename, const gchar *relative_to) ;\";function g_canonicalize_filename(filename, relative_to) bind(c)\r\ng;g_cclosure_marshal_BOOLEAN__BOXED_BOXED;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_BOOLEAN__BOXED_BOXED (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\";subroutine g_cclosure_marshal_BOOLEAN__BOXED_BOXED(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data) bind(c)\r\ng;g_cclosure_marshal_BOOLEAN__BOXED_BOXEDv;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_BOOLEAN__BOXED_BOXEDv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\";subroutine g_cclosure_marshal_BOOLEAN__BOXED_BOXEDv(closure, return_value, instance, args, marshal_data, n_params, param_types) bind(c)\r\ng;g_cclosure_marshal_BOOLEAN__FLAGS;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_BOOLEAN__FLAGS (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\";subroutine g_cclosure_marshal_BOOLEAN__FLAGS(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data) bind(c)\r\ng;g_cclosure_marshal_BOOLEAN__FLAGSv;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_BOOLEAN__FLAGSv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\";subroutine g_cclosure_marshal_BOOLEAN__FLAGSv(closure, return_value, instance, args, marshal_data, n_params, param_types) bind(c)\r\ng;g_cclosure_marshal_STRING__OBJECT_POINTER;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_STRING__OBJECT_POINTER (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\";subroutine g_cclosure_marshal_STRING__OBJECT_POINTER(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data) bind(c)\r\ng;g_cclosure_marshal_STRING__OBJECT_POINTERv;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_STRING__OBJECT_POINTERv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\";subroutine g_cclosure_marshal_STRING__OBJECT_POINTERv(closure, return_value, instance, args, marshal_data, n_params, param_types) bind(c)\r\ng;g_cclosure_marshal_VOID__BOOLEAN;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_VOID__BOOLEAN (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\";subroutine g_cclosure_marshal_VOID__BOOLEAN(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data) bind(c)\r\ng;g_cclosure_marshal_VOID__BOOLEANv;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_VOID__BOOLEANv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\";subroutine g_cclosure_marshal_VOID__BOOLEANv(closure, return_value, instance, args, marshal_data, n_params, param_types) bind(c)\r\ng;g_cclosure_marshal_VOID__BOXED;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_VOID__BOXED (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\";subroutine g_cclosure_marshal_VOID__BOXED(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data) bind(c)\r\ng;g_cclosure_marshal_VOID__BOXEDv;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_VOID__BOXEDv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\";subroutine g_cclosure_marshal_VOID__BOXEDv(closure, return_value, instance, args, marshal_data, n_params, param_types) bind(c)\r\ng;g_cclosure_marshal_VOID__CHAR;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_VOID__CHAR (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\";subroutine g_cclosure_marshal_VOID__CHAR(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data) bind(c)\r\ng;g_cclosure_marshal_VOID__CHARv;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_VOID__CHARv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\";subroutine g_cclosure_marshal_VOID__CHARv(closure, return_value, instance, args, marshal_data, n_params, param_types) bind(c)\r\ng;g_cclosure_marshal_VOID__DOUBLE;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_VOID__DOUBLE (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\";subroutine g_cclosure_marshal_VOID__DOUBLE(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data) bind(c)\r\ng;g_cclosure_marshal_VOID__DOUBLEv;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_VOID__DOUBLEv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\";subroutine g_cclosure_marshal_VOID__DOUBLEv(closure, return_value, instance, args, marshal_data, n_params, param_types) bind(c)\r\ng;g_cclosure_marshal_VOID__ENUM;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_VOID__ENUM (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\";subroutine g_cclosure_marshal_VOID__ENUM(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data) bind(c)\r\ng;g_cclosure_marshal_VOID__ENUMv;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_VOID__ENUMv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\";subroutine g_cclosure_marshal_VOID__ENUMv(closure, return_value, instance, args, marshal_data, n_params, param_types) bind(c)\r\ng;g_cclosure_marshal_VOID__FLAGS;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_VOID__FLAGS (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\";subroutine g_cclosure_marshal_VOID__FLAGS(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data) bind(c)\r\ng;g_cclosure_marshal_VOID__FLAGSv;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_VOID__FLAGSv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\";subroutine g_cclosure_marshal_VOID__FLAGSv(closure, return_value, instance, args, marshal_data, n_params, param_types) bind(c)\r\ng;g_cclosure_marshal_VOID__FLOAT;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_VOID__FLOAT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\";subroutine g_cclosure_marshal_VOID__FLOAT(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data) bind(c)\r\ng;g_cclosure_marshal_VOID__FLOATv;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_VOID__FLOATv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\";subroutine g_cclosure_marshal_VOID__FLOATv(closure, return_value, instance, args, marshal_data, n_params, param_types) bind(c)\r\ng;g_cclosure_marshal_VOID__INT;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_VOID__INT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\";subroutine g_cclosure_marshal_VOID__INT(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data) bind(c)\r\ng;g_cclosure_marshal_VOID__INTv;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_VOID__INTv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\";subroutine g_cclosure_marshal_VOID__INTv(closure, return_value, instance, args, marshal_data, n_params, param_types) bind(c)\r\ng;g_cclosure_marshal_VOID__LONG;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_VOID__LONG (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\";subroutine g_cclosure_marshal_VOID__LONG(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data) bind(c)\r\ng;g_cclosure_marshal_VOID__LONGv;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_VOID__LONGv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\";subroutine g_cclosure_marshal_VOID__LONGv(closure, return_value, instance, args, marshal_data, n_params, param_types) bind(c)\r\ng;g_cclosure_marshal_VOID__OBJECT;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_VOID__OBJECT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\";subroutine g_cclosure_marshal_VOID__OBJECT(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data) bind(c)\r\ng;g_cclosure_marshal_VOID__OBJECTv;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_VOID__OBJECTv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\";subroutine g_cclosure_marshal_VOID__OBJECTv(closure, return_value, instance, args, marshal_data, n_params, param_types) bind(c)\r\ng;g_cclosure_marshal_VOID__PARAM;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_VOID__PARAM (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\";subroutine g_cclosure_marshal_VOID__PARAM(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data) bind(c)\r\ng;g_cclosure_marshal_VOID__PARAMv;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_VOID__PARAMv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\";subroutine g_cclosure_marshal_VOID__PARAMv(closure, return_value, instance, args, marshal_data, n_params, param_types) bind(c)\r\ng;g_cclosure_marshal_VOID__POINTER;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_VOID__POINTER (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\";subroutine g_cclosure_marshal_VOID__POINTER(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data) bind(c)\r\ng;g_cclosure_marshal_VOID__POINTERv;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_VOID__POINTERv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\";subroutine g_cclosure_marshal_VOID__POINTERv(closure, return_value, instance, args, marshal_data, n_params, param_types) bind(c)\r\ng;g_cclosure_marshal_VOID__STRING;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_VOID__STRING (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\";subroutine g_cclosure_marshal_VOID__STRING(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data) bind(c)\r\ng;g_cclosure_marshal_VOID__STRINGv;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_VOID__STRINGv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\";subroutine g_cclosure_marshal_VOID__STRINGv(closure, return_value, instance, args, marshal_data, n_params, param_types) bind(c)\r\ng;g_cclosure_marshal_VOID__UCHAR;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_VOID__UCHAR (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\";subroutine g_cclosure_marshal_VOID__UCHAR(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data) bind(c)\r\ng;g_cclosure_marshal_VOID__UCHARv;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_VOID__UCHARv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\";subroutine g_cclosure_marshal_VOID__UCHARv(closure, return_value, instance, args, marshal_data, n_params, param_types) bind(c)\r\ng;g_cclosure_marshal_VOID__UINT;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_VOID__UINT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\";subroutine g_cclosure_marshal_VOID__UINT(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data) bind(c)\r\ng;g_cclosure_marshal_VOID__UINT_POINTER;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_VOID__UINT_POINTER (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\";subroutine g_cclosure_marshal_VOID__UINT_POINTER(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data) bind(c)\r\ng;g_cclosure_marshal_VOID__UINT_POINTERv;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_VOID__UINT_POINTERv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\";subroutine g_cclosure_marshal_VOID__UINT_POINTERv(closure, return_value, instance, args, marshal_data, n_params, param_types) bind(c)\r\ng;g_cclosure_marshal_VOID__UINTv;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_VOID__UINTv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\";subroutine g_cclosure_marshal_VOID__UINTv(closure, return_value, instance, args, marshal_data, n_params, param_types) bind(c)\r\ng;g_cclosure_marshal_VOID__ULONG;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_VOID__ULONG (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\";subroutine g_cclosure_marshal_VOID__ULONG(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data) bind(c)\r\ng;g_cclosure_marshal_VOID__ULONGv;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_VOID__ULONGv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\";subroutine g_cclosure_marshal_VOID__ULONGv(closure, return_value, instance, args, marshal_data, n_params, param_types) bind(c)\r\ng;g_cclosure_marshal_VOID__VARIANT;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_VOID__VARIANT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\";subroutine g_cclosure_marshal_VOID__VARIANT(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data) bind(c)\r\ng;g_cclosure_marshal_VOID__VARIANTv;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_VOID__VARIANTv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\";subroutine g_cclosure_marshal_VOID__VARIANTv(closure, return_value, instance, args, marshal_data, n_params, param_types) bind(c)\r\ng;g_cclosure_marshal_VOID__VOID;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_VOID__VOID (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\";subroutine g_cclosure_marshal_VOID__VOID(closure, return_value, n_param_values, param_values, invocation_hint, marshal_data) bind(c)\r\ng;g_cclosure_marshal_VOID__VOIDv;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gmarshal.h;\"void g_cclosure_marshal_VOID__VOIDv (GClosure *closure, GValue *return_value, gpointer instance, va_list args, gpointer marshal_data, int n_params, GType *param_types);\";subroutine g_cclosure_marshal_VOID__VOIDv(closure, return_value, instance, args, marshal_data, n_params, param_types) bind(c)\r\ng;g_cclosure_marshal_generic;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gclosure.h;\"void g_cclosure_marshal_generic (GClosure *closure, GValue *return_gvalue, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data);\";subroutine g_cclosure_marshal_generic(closure, return_gvalue, n_param_values, param_values, invocation_hint, marshal_data) bind(c)\r\ng;g_cclosure_marshal_generic_va;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gclosure.h;\"void g_cclosure_marshal_generic_va (GClosure *closure, GValue *return_value, gpointer instance, va_list args_list, gpointer marshal_data, int n_params, GType *param_types);\";subroutine g_cclosure_marshal_generic_va(closure, return_value, instance, args_list, marshal_data, n_params, param_types) bind(c)\r\ng;g_cclosure_new;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gclosure.h;\"GClosure* g_cclosure_new (GCallback callback_func, gpointer user_data, GClosureNotify destroy_data);\";function g_cclosure_new(callback_func, user_data, destroy_data) bind(c)\r\ng;g_cclosure_new_object;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"GClosure* g_cclosure_new_object (GCallback callback_func, GObject *object);\";function g_cclosure_new_object(callback_func, object) bind(c)\r\ng;g_cclosure_new_object_swap;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"GClosure* g_cclosure_new_object_swap (GCallback callback_func, GObject *object);\";function g_cclosure_new_object_swap(callback_func, object) bind(c)\r\ng;g_cclosure_new_swap;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gclosure.h;\"GClosure* g_cclosure_new_swap (GCallback callback_func, gpointer user_data, GClosureNotify destroy_data);\";function g_cclosure_new_swap(callback_func, user_data, destroy_data) bind(c)\r\ng;g_charset_converter_get_num_fallbacks;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gcharsetconverter.h;\"guint g_charset_converter_get_num_fallbacks (GCharsetConverter *converter);\";function g_charset_converter_get_num_fallbacks(converter) bind(c)\r\ng;g_charset_converter_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gcharsetconverter.h;\"GType g_charset_converter_get_type (void) ;\";function g_charset_converter_get_type() bind(c)\r\ng;g_charset_converter_get_use_fallback;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gcharsetconverter.h;\"gboolean g_charset_converter_get_use_fallback (GCharsetConverter *converter);\";function g_charset_converter_get_use_fallback(converter) bind(c)\r\ng;g_charset_converter_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gcharsetconverter.h;\"GCharsetConverter *g_charset_converter_new (const gchar *to_charset, const gchar *from_charset, GError **error);\";function g_charset_converter_new(to_charset, from_charset, error) bind(c)\r\ng;g_charset_converter_set_use_fallback;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gcharsetconverter.h;\"void g_charset_converter_set_use_fallback (GCharsetConverter *converter, gboolean use_fallback);\";subroutine g_charset_converter_set_use_fallback(converter, use_fallback) bind(c)\r\ng;g_chdir;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstdio.h;\"int g_chdir (const gchar *path);\";function g_chdir(path) bind(c)\r\ng;g_checksum_copy;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gchecksum.h;\"GChecksum * g_checksum_copy (const GChecksum *checksum);\";function g_checksum_copy(checksum) bind(c)\r\ng;g_checksum_free;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gchecksum.h;\"void g_checksum_free (GChecksum *checksum);\";subroutine g_checksum_free(checksum) bind(c)\r\ng;g_checksum_get_digest;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gchecksum.h;\"void g_checksum_get_digest (GChecksum *checksum, guint8 *buffer, gsize *digest_len);\";subroutine g_checksum_get_digest(checksum, buffer, digest_len) bind(c)\r\ng;g_checksum_get_string;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gchecksum.h;\"const gchar * g_checksum_get_string (GChecksum *checksum);\";function g_checksum_get_string(checksum) bind(c)\r\ng;g_checksum_get_type;GOBJECT_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gobject/glib-types.h;\"GType g_checksum_get_type (void) ;\";function g_checksum_get_type() bind(c)\r\ng;g_checksum_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gchecksum.h;\"GChecksum * g_checksum_new (GChecksumType checksum_type);\";function g_checksum_new(checksum_type) bind(c)\r\ng;g_checksum_reset;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gchecksum.h;\"void g_checksum_reset (GChecksum *checksum);\";subroutine g_checksum_reset(checksum) bind(c)\r\ng;g_checksum_type_get_length;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gchecksum.h;\"gssize g_checksum_type_get_length (GChecksumType checksum_type);\";function g_checksum_type_get_length(checksum_type) bind(c)\r\ng;g_checksum_update;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gchecksum.h;\"void g_checksum_update (GChecksum *checksum, const guchar *data, gssize length);\";subroutine g_checksum_update(checksum, data, length) bind(c)\r\ng;g_child_watch_add;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"guint g_child_watch_add (GPid pid, GChildWatchFunc function, gpointer data);\";function g_child_watch_add(pid, function, data) bind(c)\r\ng;g_child_watch_add_full;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"guint g_child_watch_add_full (gint priority, GPid pid, GChildWatchFunc function, gpointer data, GDestroyNotify notify);\";function g_child_watch_add_full(priority, pid, function, data, notify) bind(c)\r\ng;g_child_watch_source_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"GSource *g_child_watch_source_new (GPid pid);\";function g_child_watch_source_new(pid) bind(c)\r\ng;g_chmod;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstdio.h;\"int g_chmod (const gchar *filename, int mode);\";function g_chmod(filename, mode) bind(c)\r\ng;g_clear_error;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gerror.h;\"void g_clear_error (GError **err);\";subroutine g_clear_error(err) bind(c)\r\ng;g_clear_handle_id;GLIB_AVAILABLE_IN_2_56;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"void g_clear_handle_id (guint *tag_ptr, GClearHandleFunc clear_func);\";subroutine g_clear_handle_id(tag_ptr, clear_func) bind(c)\r\ng;g_clear_list;GLIB_AVAILABLE_IN_2_64;glib-auto.f90;/usr/include/glib-2.0/glib/glist.h;\"void g_clear_list (GList **list_ptr, GDestroyNotify destroy);\";subroutine g_clear_list(list_ptr, destroy) bind(c)\r\ng;g_clear_object;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"void g_clear_object (GObject **object_ptr);\";subroutine g_clear_object(object_ptr) bind(c)\r\ng;g_clear_pointer;GLIB_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/glib/gmem.h;\"void g_clear_pointer (gpointer *pp, GDestroyNotify destroy);\";subroutine g_clear_pointer(pp, destroy) bind(c)\r\ng;g_clear_signal_handler;GOBJECT_AVAILABLE_IN_2_62;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignal.h;\"void g_clear_signal_handler (gulong *handler_id_ptr, gpointer instance);\";subroutine g_clear_signal_handler(handler_id_ptr, instance) bind(c)\r\ng;g_clear_slist;GLIB_AVAILABLE_IN_2_64;glib-auto.f90;/usr/include/glib-2.0/glib/gslist.h;\"void g_clear_slist (GSList **slist_ptr, GDestroyNotify destroy);\";subroutine g_clear_slist(slist_ptr, destroy) bind(c)\r\ng;g_close;GLIB_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/glib/gstdio.h;\"gboolean g_close (gint fd, GError **error);\";function g_close(fd, error) bind(c)\r\ng;g_closure_add_finalize_notifier;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gclosure.h;\"void g_closure_add_finalize_notifier (GClosure *closure, gpointer notify_data, GClosureNotify notify_func);\";subroutine g_closure_add_finalize_notifier(closure, notify_data, notify_func) bind(c)\r\ng;g_closure_add_invalidate_notifier;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gclosure.h;\"void g_closure_add_invalidate_notifier (GClosure *closure, gpointer notify_data, GClosureNotify notify_func);\";subroutine g_closure_add_invalidate_notifier(closure, notify_data, notify_func) bind(c)\r\ng;g_closure_add_marshal_guards;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gclosure.h;\"void g_closure_add_marshal_guards (GClosure *closure, gpointer pre_marshal_data, GClosureNotify pre_marshal_notify, gpointer post_marshal_data, GClosureNotify post_marshal_notify);\";subroutine g_closure_add_marshal_guards(closure, pre_marshal_data, pre_marshal_notify, post_marshal_data, post_marshal_notify) bind(c)\r\ng;g_closure_get_type;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gboxed.h;\"GType g_closure_get_type (void) ;\";function g_closure_get_type() bind(c)\r\ng;g_closure_invalidate;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gclosure.h;\"void g_closure_invalidate (GClosure *closure);\";subroutine g_closure_invalidate(closure) bind(c)\r\ng;g_closure_invoke;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gclosure.h;\"void g_closure_invoke (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint);\";subroutine g_closure_invoke(closure, return_value, n_param_values, param_values, invocation_hint) bind(c)\r\ng;g_closure_new_object;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"GClosure* g_closure_new_object (guint sizeof_closure, GObject *object);\";function g_closure_new_object(sizeof_closure, object) bind(c)\r\ng;g_closure_new_simple;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gclosure.h;\"GClosure* g_closure_new_simple (guint sizeof_closure, gpointer data);\";function g_closure_new_simple(sizeof_closure, data) bind(c)\r\ng;g_closure_ref;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gclosure.h;\"GClosure* g_closure_ref (GClosure *closure);\";function g_closure_ref(closure) bind(c)\r\ng;g_closure_remove_finalize_notifier;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gclosure.h;\"void g_closure_remove_finalize_notifier (GClosure *closure, gpointer notify_data, GClosureNotify notify_func);\";subroutine g_closure_remove_finalize_notifier(closure, notify_data, notify_func) bind(c)\r\ng;g_closure_remove_invalidate_notifier;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gclosure.h;\"void g_closure_remove_invalidate_notifier (GClosure *closure, gpointer notify_data, GClosureNotify notify_func);\";subroutine g_closure_remove_invalidate_notifier(closure, notify_data, notify_func) bind(c)\r\ng;g_closure_set_marshal;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gclosure.h;\"void g_closure_set_marshal (GClosure *closure, GClosureMarshal marshal);\";subroutine g_closure_set_marshal(closure, marshal) bind(c)\r\ng;g_closure_set_meta_marshal;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gclosure.h;\"void g_closure_set_meta_marshal (GClosure *closure, gpointer marshal_data, GClosureMarshal meta_marshal);\";subroutine g_closure_set_meta_marshal(closure, marshal_data, meta_marshal) bind(c)\r\ng;g_closure_sink;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gclosure.h;\"void g_closure_sink (GClosure *closure);\";subroutine g_closure_sink(closure) bind(c)\r\ng;g_closure_unref;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gclosure.h;\"void g_closure_unref (GClosure *closure);\";subroutine g_closure_unref(closure) bind(c)\r\ng;g_completion_add_items;GLIB_DEPRECATED_IN_2_26;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gcompletion.h;\"void g_completion_add_items (GCompletion* cmp, GList* items);\";subroutine g_completion_add_items(cmp, items) bind(c)\r\ng;g_completion_clear_items;GLIB_DEPRECATED_IN_2_26;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gcompletion.h;\"void g_completion_clear_items (GCompletion* cmp);\";subroutine g_completion_clear_items(cmp) bind(c)\r\ng;g_completion_complete;GLIB_DEPRECATED_IN_2_26;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gcompletion.h;\"GList* g_completion_complete (GCompletion* cmp, const gchar* prefix, gchar** new_prefix);\";function g_completion_complete(cmp, prefix, new_prefix) bind(c)\r\ng;g_completion_complete_utf8;GLIB_DEPRECATED_IN_2_26;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gcompletion.h;\"GList* g_completion_complete_utf8 (GCompletion *cmp, const gchar* prefix, gchar** new_prefix);\";function g_completion_complete_utf8(cmp, prefix, new_prefix) bind(c)\r\ng;g_completion_free;GLIB_DEPRECATED_IN_2_26;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gcompletion.h;\"void g_completion_free (GCompletion* cmp);\";subroutine g_completion_free(cmp) bind(c)\r\ng;g_completion_new;GLIB_DEPRECATED_IN_2_26;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gcompletion.h;\"GCompletion* g_completion_new (GCompletionFunc func);\";function g_completion_new(func) bind(c)\r\ng;g_completion_remove_items;GLIB_DEPRECATED_IN_2_26;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gcompletion.h;\"void g_completion_remove_items (GCompletion* cmp, GList* items);\";subroutine g_completion_remove_items(cmp, items) bind(c)\r\ng;g_completion_set_compare;GLIB_DEPRECATED_IN_2_26;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gcompletion.h;\"void g_completion_set_compare (GCompletion *cmp, GCompletionStrncmpFunc strncmp_func);\";subroutine g_completion_set_compare(cmp, strncmp_func) bind(c)\r\ng;g_compute_checksum_for_bytes;GLIB_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/glib/gchecksum.h;\"gchar *g_compute_checksum_for_bytes (GChecksumType checksum_type, GBytes *data);\";function g_compute_checksum_for_bytes(checksum_type, data) bind(c)\r\ng;g_compute_checksum_for_data;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gchecksum.h;\"gchar *g_compute_checksum_for_data (GChecksumType checksum_type, const guchar *data, gsize length);\";function g_compute_checksum_for_data(checksum_type, data, length) bind(c)\r\ng;g_compute_checksum_for_string;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gchecksum.h;\"gchar *g_compute_checksum_for_string (GChecksumType checksum_type, const gchar *str, gssize length);\";function g_compute_checksum_for_string(checksum_type, str, length) bind(c)\r\ng;g_compute_hmac_for_bytes;GLIB_AVAILABLE_IN_2_50;glib-auto.f90;/usr/include/glib-2.0/glib/ghmac.h;\"gchar *g_compute_hmac_for_bytes (GChecksumType digest_type, GBytes *key, GBytes *data);\";function g_compute_hmac_for_bytes(digest_type, key, data) bind(c)\r\ng;g_compute_hmac_for_data;GLIB_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/glib/ghmac.h;\"gchar *g_compute_hmac_for_data (GChecksumType digest_type, const guchar *key, gsize key_len, const guchar *data, gsize length);\";function g_compute_hmac_for_data(digest_type, key, key_len, data, length) bind(c)\r\ng;g_compute_hmac_for_string;GLIB_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/glib/ghmac.h;\"gchar *g_compute_hmac_for_string (GChecksumType digest_type, const guchar *key, gsize key_len, const gchar *str, gssize length);\";function g_compute_hmac_for_string(digest_type, key, key_len, str, length) bind(c)\r\ng;g_cond_broadcast;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"void g_cond_broadcast (GCond *cond);\";subroutine g_cond_broadcast(cond) bind(c)\r\ng;g_cond_clear;GLIB_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"void g_cond_clear (GCond *cond);\";subroutine g_cond_clear(cond) bind(c)\r\ng;g_cond_free;GLIB_DEPRECATED_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gthread.h;\"void g_cond_free (GCond *cond);\";subroutine g_cond_free(cond) bind(c)\r\ng;g_cond_init;GLIB_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"void g_cond_init (GCond *cond);\";subroutine g_cond_init(cond) bind(c)\r\ng;g_cond_new;GLIB_DEPRECATED_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gthread.h;\"GCond * g_cond_new (void);\";function g_cond_new() bind(c)\r\ng;g_cond_signal;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"void g_cond_signal (GCond *cond);\";subroutine g_cond_signal(cond) bind(c)\r\ng;g_cond_timed_wait;GLIB_DEPRECATED_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gthread.h;\"gboolean g_cond_timed_wait (GCond *cond, GMutex *mutex, GTimeVal *abs_time);\";function g_cond_timed_wait(cond, mutex, abs_time) bind(c)\r\ng;g_cond_wait;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"void g_cond_wait (GCond *cond, GMutex *mutex);\";subroutine g_cond_wait(cond, mutex) bind(c)\r\ng;g_cond_wait_until;GLIB_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"gboolean g_cond_wait_until (GCond *cond, GMutex *mutex, gint64 end_time);\";function g_cond_wait_until(cond, mutex, end_time) bind(c)\r\ng;g_content_type_can_be_executable;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gcontenttype.h;\"gboolean g_content_type_can_be_executable (const gchar *type);\";function g_content_type_can_be_executable(type) bind(c)\r\ng;g_content_type_equals;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gcontenttype.h;\"gboolean g_content_type_equals (const gchar *type1, const gchar *type2);\";function g_content_type_equals(type1, type2) bind(c)\r\ng;g_content_type_from_mime_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gcontenttype.h;\"gchar * g_content_type_from_mime_type (const gchar *mime_type);\";function g_content_type_from_mime_type(mime_type) bind(c)\r\ng;g_content_type_get_description;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gcontenttype.h;\"gchar * g_content_type_get_description (const gchar *type);\";function g_content_type_get_description(type) bind(c)\r\ng;g_content_type_get_generic_icon_name;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/gcontenttype.h;\"gchar * g_content_type_get_generic_icon_name (const gchar *type);\";function g_content_type_get_generic_icon_name(type) bind(c)\r\ng;g_content_type_get_icon;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gcontenttype.h;\"GIcon * g_content_type_get_icon (const gchar *type);\";function g_content_type_get_icon(type) bind(c)\r\ng;g_content_type_get_mime_dirs;GIO_AVAILABLE_IN_2_60;glib-auto.f90;/usr/include/glib-2.0/gio/gcontenttype.h;\"const gchar * const *g_content_type_get_mime_dirs (void);\";function g_content_type_get_mime_dirs() bind(c)\r\ng;g_content_type_get_mime_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gcontenttype.h;\"gchar * g_content_type_get_mime_type (const gchar *type);\";function g_content_type_get_mime_type(type) bind(c)\r\ng;g_content_type_get_symbolic_icon;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/gcontenttype.h;\"GIcon * g_content_type_get_symbolic_icon (const gchar *type);\";function g_content_type_get_symbolic_icon(type) bind(c)\r\ng;g_content_type_guess;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gcontenttype.h;\"gchar * g_content_type_guess (const gchar *filename, const guchar *data, gsize data_size, gboolean *result_uncertain);\";function g_content_type_guess(filename, data, data_size, result_uncertain) bind(c)\r\ng;g_content_type_guess_for_tree;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gcontenttype.h;\"gchar ** g_content_type_guess_for_tree (GFile *root);\";function g_content_type_guess_for_tree(root) bind(c)\r\ng;g_content_type_is_a;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gcontenttype.h;\"gboolean g_content_type_is_a (const gchar *type, const gchar *supertype);\";function g_content_type_is_a(type, supertype) bind(c)\r\ng;g_content_type_is_mime_type;GIO_AVAILABLE_IN_2_52;glib-auto.f90;/usr/include/glib-2.0/gio/gcontenttype.h;\"gboolean g_content_type_is_mime_type (const gchar *type, const gchar *mime_type);\";function g_content_type_is_mime_type(type, mime_type) bind(c)\r\ng;g_content_type_is_unknown;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gcontenttype.h;\"gboolean g_content_type_is_unknown (const gchar *type);\";function g_content_type_is_unknown(type) bind(c)\r\ng;g_content_type_set_mime_dirs;GIO_AVAILABLE_IN_2_60;glib-auto.f90;/usr/include/glib-2.0/gio/gcontenttype.h;\"void g_content_type_set_mime_dirs (const gchar * const *dirs);\";subroutine g_content_type_set_mime_dirs(dirs) bind(c)\r\ng;g_content_types_get_registered;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gcontenttype.h;\"GList * g_content_types_get_registered (void);\";function g_content_types_get_registered() bind(c)\r\ng;g_convert;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gconvert.h;\"gchar* g_convert (const gchar *str, gssize len, const gchar *to_codeset, const gchar *from_codeset, gsize *bytes_read, gsize *bytes_written, GError **error) ;\";function g_convert(str, len, to_codeset, from_codeset, bytes_read, bytes_written, error) bind(c)\r\ng;g_convert_error_quark;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gconvert.h;\"GQuark g_convert_error_quark (void);\";function g_convert_error_quark() bind(c)\r\ng;g_convert_with_fallback;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gconvert.h;\"gchar* g_convert_with_fallback (const gchar *str, gssize len, const gchar *to_codeset, const gchar *from_codeset, const gchar *fallback, gsize *bytes_read, gsize *bytes_written, GError **error) ;\";function g_convert_with_fallback(str, len, to_codeset, from_codeset, fallback, bytes_read, bytes_written, error) bind(c)\r\ng;g_convert_with_iconv;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gconvert.h;\"gchar* g_convert_with_iconv (const gchar *str, gssize len, GIConv converter, gsize *bytes_read, gsize *bytes_written, GError **error) ;\";function g_convert_with_iconv(str, len, converter, bytes_read, bytes_written, error) bind(c)\r\ng;g_converter_convert;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gconverter.h;\"GConverterResult g_converter_convert (GConverter *converter, const void *inbuf, gsize inbuf_size, void *outbuf, gsize outbuf_size, GConverterFlags flags, gsize *bytes_read, gsize *bytes_written, GError **error);\";function g_converter_convert(converter, inbuf, inbuf_size, outbuf, outbuf_size, flags, bytes_read, bytes_written, error) bind(c)\r\ng;g_converter_convert_bytes;GIO_AVAILABLE_IN_2_82;glib-auto.f90;/usr/include/glib-2.0/gio/gconverter.h;\"GBytes * g_converter_convert_bytes (GConverter *converter, GBytes *bytes, GError **error);\";function g_converter_convert_bytes(converter, bytes, error) bind(c)\r\ng;g_converter_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gconverter.h;\"GType g_converter_get_type (void) ;\";function g_converter_get_type() bind(c)\r\ng;g_converter_input_stream_get_converter;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gconverterinputstream.h;\"GConverter *g_converter_input_stream_get_converter (GConverterInputStream *converter_stream);\";function g_converter_input_stream_get_converter(converter_stream) bind(c)\r\ng;g_converter_input_stream_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gconverterinputstream.h;\"GType g_converter_input_stream_get_type (void) ;\";function g_converter_input_stream_get_type() bind(c)\r\ng;g_converter_input_stream_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gconverterinputstream.h;\"GInputStream *g_converter_input_stream_new (GInputStream *base_stream, GConverter *converter);\";function g_converter_input_stream_new(base_stream, converter) bind(c)\r\ng;g_converter_output_stream_get_converter;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gconverteroutputstream.h;\"GConverter *g_converter_output_stream_get_converter (GConverterOutputStream *converter_stream);\";function g_converter_output_stream_get_converter(converter_stream) bind(c)\r\ng;g_converter_output_stream_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gconverteroutputstream.h;\"GType g_converter_output_stream_get_type (void) ;\";function g_converter_output_stream_get_type() bind(c)\r\ng;g_converter_output_stream_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gconverteroutputstream.h;\"GOutputStream *g_converter_output_stream_new (GOutputStream *base_stream, GConverter *converter);\";function g_converter_output_stream_new(base_stream, converter) bind(c)\r\ng;g_converter_reset;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gconverter.h;\"void g_converter_reset (GConverter *converter);\";subroutine g_converter_reset(converter) bind(c)\r\ng;g_creat;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstdio.h;\"int g_creat (const gchar *filename, int mode);\";function g_creat(filename, mode) bind(c)\r\ng;g_credentials_get_native;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gcredentials.h;\"gpointer g_credentials_get_native (GCredentials *credentials, GCredentialsType native_type);\";function g_credentials_get_native(credentials, native_type) bind(c)\r\ng;g_credentials_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gcredentials.h;\"GType g_credentials_get_type (void) ;\";function g_credentials_get_type() bind(c)\r\ng;g_credentials_get_unix_user;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gcredentials.h;\"uid_t g_credentials_get_unix_user (GCredentials *credentials, GError **error);\";function g_credentials_get_unix_user(credentials, error) bind(c)\r\ng;g_credentials_is_same_user;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gcredentials.h;\"gboolean g_credentials_is_same_user (GCredentials *credentials, GCredentials *other_credentials, GError **error);\";function g_credentials_is_same_user(credentials, other_credentials, error) bind(c)\r\ng;g_credentials_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gcredentials.h;\"GCredentials *g_credentials_new (void);\";function g_credentials_new() bind(c)\r\ng;g_credentials_set_native;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gcredentials.h;\"void g_credentials_set_native (GCredentials *credentials, GCredentialsType native_type, gpointer native);\";subroutine g_credentials_set_native(credentials, native_type, native) bind(c)\r\ng;g_credentials_set_unix_user;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gcredentials.h;\"gboolean g_credentials_set_unix_user (GCredentials *credentials, uid_t uid, GError **error);\";function g_credentials_set_unix_user(credentials, uid, error) bind(c)\r\ng;g_credentials_to_string;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gcredentials.h;\"gchar *g_credentials_to_string (GCredentials *credentials);\";function g_credentials_to_string(credentials) bind(c)\r\ng;g_data_input_stream_get_byte_order;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdatainputstream.h;\"GDataStreamByteOrder g_data_input_stream_get_byte_order (GDataInputStream *stream);\";function g_data_input_stream_get_byte_order(stream) bind(c)\r\ng;g_data_input_stream_get_newline_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdatainputstream.h;\"GDataStreamNewlineType g_data_input_stream_get_newline_type (GDataInputStream *stream);\";function g_data_input_stream_get_newline_type(stream) bind(c)\r\ng;g_data_input_stream_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdatainputstream.h;\"GType g_data_input_stream_get_type (void) ;\";function g_data_input_stream_get_type() bind(c)\r\ng;g_data_input_stream_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdatainputstream.h;\"GDataInputStream * g_data_input_stream_new (GInputStream *base_stream);\";function g_data_input_stream_new(base_stream) bind(c)\r\ng;g_data_input_stream_read_byte;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdatainputstream.h;\"guchar g_data_input_stream_read_byte (GDataInputStream *stream, GCancellable *cancellable, GError **error);\";function g_data_input_stream_read_byte(stream, cancellable, error) bind(c)\r\ng;g_data_input_stream_read_int16;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdatainputstream.h;\"gint16 g_data_input_stream_read_int16 (GDataInputStream *stream, GCancellable *cancellable, GError **error);\";function g_data_input_stream_read_int16(stream, cancellable, error) bind(c)\r\ng;g_data_input_stream_read_int32;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdatainputstream.h;\"gint32 g_data_input_stream_read_int32 (GDataInputStream *stream, GCancellable *cancellable, GError **error);\";function g_data_input_stream_read_int32(stream, cancellable, error) bind(c)\r\ng;g_data_input_stream_read_int64;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdatainputstream.h;\"gint64 g_data_input_stream_read_int64 (GDataInputStream *stream, GCancellable *cancellable, GError **error);\";function g_data_input_stream_read_int64(stream, cancellable, error) bind(c)\r\ng;g_data_input_stream_read_line;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdatainputstream.h;\"char * g_data_input_stream_read_line (GDataInputStream *stream, gsize *length, GCancellable *cancellable, GError **error);\";function g_data_input_stream_read_line(stream, length, cancellable, error) bind(c)\r\ng;g_data_input_stream_read_line_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdatainputstream.h;\"void g_data_input_stream_read_line_async (GDataInputStream *stream, gint io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_data_input_stream_read_line_async(stream, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_data_input_stream_read_line_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdatainputstream.h;\"char * g_data_input_stream_read_line_finish (GDataInputStream *stream, GAsyncResult *result, gsize *length, GError **error);\";function g_data_input_stream_read_line_finish(stream, result, length, error) bind(c)\r\ng;g_data_input_stream_read_line_finish_utf8;GIO_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/gio/gdatainputstream.h;\"char * g_data_input_stream_read_line_finish_utf8(GDataInputStream *stream, GAsyncResult *result, gsize *length, GError **error);\";function g_data_input_stream_read_line_finish_utf8(stream, result, length, error) bind(c)\r\ng;g_data_input_stream_read_line_utf8;GIO_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/gio/gdatainputstream.h;\"char * g_data_input_stream_read_line_utf8 (GDataInputStream *stream, gsize *length, GCancellable *cancellable, GError **error);\";function g_data_input_stream_read_line_utf8(stream, length, cancellable, error) bind(c)\r\ng;g_data_input_stream_read_uint16;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdatainputstream.h;\"guint16 g_data_input_stream_read_uint16 (GDataInputStream *stream, GCancellable *cancellable, GError **error);\";function g_data_input_stream_read_uint16(stream, cancellable, error) bind(c)\r\ng;g_data_input_stream_read_uint32;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdatainputstream.h;\"guint32 g_data_input_stream_read_uint32 (GDataInputStream *stream, GCancellable *cancellable, GError **error);\";function g_data_input_stream_read_uint32(stream, cancellable, error) bind(c)\r\ng;g_data_input_stream_read_uint64;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdatainputstream.h;\"guint64 g_data_input_stream_read_uint64 (GDataInputStream *stream, GCancellable *cancellable, GError **error);\";function g_data_input_stream_read_uint64(stream, cancellable, error) bind(c)\r\ng;g_data_input_stream_read_until;GIO_DEPRECATED_IN_2_56_FOR (g_data_input_stream_read_upto);glib-auto.f90;/usr/include/glib-2.0/gio/gdatainputstream.h;\"char * g_data_input_stream_read_until (GDataInputStream *stream, const gchar *stop_chars, gsize *length, GCancellable *cancellable, GError **error);\";function g_data_input_stream_read_until(stream, stop_chars, length, cancellable, error) bind(c)\r\ng;g_data_input_stream_read_until_async;GIO_DEPRECATED_IN_2_56_FOR (g_data_input_stream_read_upto_async);glib-auto.f90;/usr/include/glib-2.0/gio/gdatainputstream.h;\"void g_data_input_stream_read_until_async (GDataInputStream *stream, const gchar *stop_chars, gint io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_data_input_stream_read_until_async(stream, stop_chars, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_data_input_stream_read_until_finish;GIO_DEPRECATED_IN_2_56_FOR (g_data_input_stream_read_upto_finish);glib-auto.f90;/usr/include/glib-2.0/gio/gdatainputstream.h;\"char * g_data_input_stream_read_until_finish (GDataInputStream *stream, GAsyncResult *result, gsize *length, GError **error);\";function g_data_input_stream_read_until_finish(stream, result, length, error) bind(c)\r\ng;g_data_input_stream_read_upto;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdatainputstream.h;\"char * g_data_input_stream_read_upto (GDataInputStream *stream, const gchar *stop_chars, gssize stop_chars_len, gsize *length, GCancellable *cancellable, GError **error);\";function g_data_input_stream_read_upto(stream, stop_chars, stop_chars_len, length, cancellable, error) bind(c)\r\ng;g_data_input_stream_read_upto_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdatainputstream.h;\"void g_data_input_stream_read_upto_async (GDataInputStream *stream, const gchar *stop_chars, gssize stop_chars_len, gint io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_data_input_stream_read_upto_async(stream, stop_chars, stop_chars_len, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_data_input_stream_read_upto_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdatainputstream.h;\"char * g_data_input_stream_read_upto_finish (GDataInputStream *stream, GAsyncResult *result, gsize *length, GError **error);\";function g_data_input_stream_read_upto_finish(stream, result, length, error) bind(c)\r\ng;g_data_input_stream_set_byte_order;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdatainputstream.h;\"void g_data_input_stream_set_byte_order (GDataInputStream *stream, GDataStreamByteOrder order);\";subroutine g_data_input_stream_set_byte_order(stream, order) bind(c)\r\ng;g_data_input_stream_set_newline_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdatainputstream.h;\"void g_data_input_stream_set_newline_type (GDataInputStream *stream, GDataStreamNewlineType type);\";subroutine g_data_input_stream_set_newline_type(stream, type) bind(c)\r\ng;g_data_output_stream_get_byte_order;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdataoutputstream.h;\"GDataStreamByteOrder g_data_output_stream_get_byte_order (GDataOutputStream *stream);\";function g_data_output_stream_get_byte_order(stream) bind(c)\r\ng;g_data_output_stream_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdataoutputstream.h;\"GType g_data_output_stream_get_type (void) ;\";function g_data_output_stream_get_type() bind(c)\r\ng;g_data_output_stream_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdataoutputstream.h;\"GDataOutputStream * g_data_output_stream_new (GOutputStream *base_stream);\";function g_data_output_stream_new(base_stream) bind(c)\r\ng;g_data_output_stream_put_byte;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdataoutputstream.h;\"gboolean g_data_output_stream_put_byte (GDataOutputStream *stream, guchar data, GCancellable *cancellable, GError **error);\";function g_data_output_stream_put_byte(stream, data, cancellable, error) bind(c)\r\ng;g_data_output_stream_put_int16;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdataoutputstream.h;\"gboolean g_data_output_stream_put_int16 (GDataOutputStream *stream, gint16 data, GCancellable *cancellable, GError **error);\";function g_data_output_stream_put_int16(stream, data, cancellable, error) bind(c)\r\ng;g_data_output_stream_put_int32;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdataoutputstream.h;\"gboolean g_data_output_stream_put_int32 (GDataOutputStream *stream, gint32 data, GCancellable *cancellable, GError **error);\";function g_data_output_stream_put_int32(stream, data, cancellable, error) bind(c)\r\ng;g_data_output_stream_put_int64;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdataoutputstream.h;\"gboolean g_data_output_stream_put_int64 (GDataOutputStream *stream, gint64 data, GCancellable *cancellable, GError **error);\";function g_data_output_stream_put_int64(stream, data, cancellable, error) bind(c)\r\ng;g_data_output_stream_put_string;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdataoutputstream.h;\"gboolean g_data_output_stream_put_string (GDataOutputStream *stream, const char *str, GCancellable *cancellable, GError **error);\";function g_data_output_stream_put_string(stream, str, cancellable, error) bind(c)\r\ng;g_data_output_stream_put_uint16;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdataoutputstream.h;\"gboolean g_data_output_stream_put_uint16 (GDataOutputStream *stream, guint16 data, GCancellable *cancellable, GError **error);\";function g_data_output_stream_put_uint16(stream, data, cancellable, error) bind(c)\r\ng;g_data_output_stream_put_uint32;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdataoutputstream.h;\"gboolean g_data_output_stream_put_uint32 (GDataOutputStream *stream, guint32 data, GCancellable *cancellable, GError **error);\";function g_data_output_stream_put_uint32(stream, data, cancellable, error) bind(c)\r\ng;g_data_output_stream_put_uint64;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdataoutputstream.h;\"gboolean g_data_output_stream_put_uint64 (GDataOutputStream *stream, guint64 data, GCancellable *cancellable, GError **error);\";function g_data_output_stream_put_uint64(stream, data, cancellable, error) bind(c)\r\ng;g_data_output_stream_set_byte_order;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdataoutputstream.h;\"void g_data_output_stream_set_byte_order (GDataOutputStream *stream, GDataStreamByteOrder order);\";subroutine g_data_output_stream_set_byte_order(stream, order) bind(c)\r\ng;g_datagram_based_condition_check;;glib-auto.f90;/usr/include/glib-2.0/gio/gdatagrambased.h;\"GIOCondition g_datagram_based_condition_check (GDatagramBased *datagram_based, GIOCondition condition);\";function g_datagram_based_condition_check(datagram_based, condition) bind(c)\r\ng;g_datagram_based_condition_wait;;glib-auto.f90;/usr/include/glib-2.0/gio/gdatagrambased.h;\"gboolean g_datagram_based_condition_wait (GDatagramBased *datagram_based, GIOCondition condition, gint64 timeout, GCancellable *cancellable, GError **error);\";function g_datagram_based_condition_wait(datagram_based, condition, timeout, cancellable, error) bind(c)\r\ng;g_datagram_based_create_source;;glib-auto.f90;/usr/include/glib-2.0/gio/gdatagrambased.h;\"GSource * g_datagram_based_create_source (GDatagramBased *datagram_based, GIOCondition condition, GCancellable *cancellable);\";function g_datagram_based_create_source(datagram_based, condition, cancellable) bind(c)\r\ng;g_datagram_based_get_type;;glib-auto.f90;/usr/include/glib-2.0/gio/gdatagrambased.h;\"GType g_datagram_based_get_type (void);\";function g_datagram_based_get_type() bind(c)\r\ng;g_datagram_based_receive_messages;;glib-auto.f90;/usr/include/glib-2.0/gio/gdatagrambased.h;\"gint g_datagram_based_receive_messages (GDatagramBased *datagram_based, GInputMessage *messages, guint num_messages, gint flags, gint64 timeout, GCancellable *cancellable, GError **error);\";function g_datagram_based_receive_messages(datagram_based, messages, num_messages, flags, timeout, cancellable, error) bind(c)\r\ng;g_datagram_based_send_messages;;glib-auto.f90;/usr/include/glib-2.0/gio/gdatagrambased.h;\"gint g_datagram_based_send_messages (GDatagramBased *datagram_based, GOutputMessage *messages, guint num_messages, gint flags, gint64 timeout, GCancellable *cancellable, GError **error);\";function g_datagram_based_send_messages(datagram_based, messages, num_messages, flags, timeout, cancellable, error) bind(c)\r\ng;g_datalist_clear;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdataset.h;\"void g_datalist_clear (GData **datalist);\";subroutine g_datalist_clear(datalist) bind(c)\r\ng;g_datalist_foreach;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdataset.h;\"void g_datalist_foreach (GData **datalist, GDataForeachFunc func, gpointer user_data);\";subroutine g_datalist_foreach(datalist, func, user_data) bind(c)\r\ng;g_datalist_get_data;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdataset.h;\"gpointer g_datalist_get_data (GData **datalist, const gchar *key);\";function g_datalist_get_data(datalist, key) bind(c)\r\ng;g_datalist_get_flags;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdataset.h;\"guint g_datalist_get_flags (GData **datalist);\";function g_datalist_get_flags(datalist) bind(c)\r\ng;g_datalist_id_dup_data;GLIB_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/glib/gdataset.h;\"gpointer g_datalist_id_dup_data (GData **datalist, GQuark key_id, GDuplicateFunc dup_func, gpointer user_data);\";function g_datalist_id_dup_data(datalist, key_id, dup_func, user_data) bind(c)\r\ng;g_datalist_id_get_data;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdataset.h;\"gpointer g_datalist_id_get_data (GData **datalist, GQuark key_id);\";function g_datalist_id_get_data(datalist, key_id) bind(c)\r\ng;g_datalist_id_remove_multiple;GLIB_AVAILABLE_IN_2_74;glib-auto.f90;/usr/include/glib-2.0/glib/gdataset.h;\"void g_datalist_id_remove_multiple (GData **datalist, GQuark *keys, gsize n_keys);\";subroutine g_datalist_id_remove_multiple(datalist, keys, n_keys) bind(c)\r\ng;g_datalist_id_remove_no_notify;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdataset.h;\"gpointer g_datalist_id_remove_no_notify (GData **datalist, GQuark key_id);\";function g_datalist_id_remove_no_notify(datalist, key_id) bind(c)\r\ng;g_datalist_id_replace_data;GLIB_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/glib/gdataset.h;\"gboolean g_datalist_id_replace_data (GData **datalist, GQuark key_id, gpointer oldval, gpointer newval, GDestroyNotify destroy, GDestroyNotify *old_destroy);\";function g_datalist_id_replace_data(datalist, key_id, oldval, newval, destroy, old_destroy) bind(c)\r\ng;g_datalist_id_set_data_full;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdataset.h;\"void g_datalist_id_set_data_full (GData **datalist, GQuark key_id, gpointer data, GDestroyNotify destroy_func);\";subroutine g_datalist_id_set_data_full(datalist, key_id, data, destroy_func) bind(c)\r\ng;g_datalist_init;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdataset.h;\"void g_datalist_init (GData **datalist);\";subroutine g_datalist_init(datalist) bind(c)\r\ng;g_datalist_set_flags;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdataset.h;\"void g_datalist_set_flags (GData **datalist, guint flags);\";subroutine g_datalist_set_flags(datalist, flags) bind(c)\r\ng;g_datalist_unset_flags;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdataset.h;\"void g_datalist_unset_flags (GData **datalist, guint flags);\";subroutine g_datalist_unset_flags(datalist, flags) bind(c)\r\ng;g_dataset_destroy;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdataset.h;\"void g_dataset_destroy (gconstpointer dataset_location);\";subroutine g_dataset_destroy(dataset_location) bind(c)\r\ng;g_dataset_foreach;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdataset.h;\"void g_dataset_foreach (gconstpointer dataset_location, GDataForeachFunc func, gpointer user_data);\";subroutine g_dataset_foreach(dataset_location, func, user_data) bind(c)\r\ng;g_dataset_id_get_data;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdataset.h;\"gpointer g_dataset_id_get_data (gconstpointer dataset_location, GQuark key_id);\";function g_dataset_id_get_data(dataset_location, key_id) bind(c)\r\ng;g_dataset_id_remove_no_notify;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdataset.h;\"gpointer g_dataset_id_remove_no_notify (gconstpointer dataset_location, GQuark key_id);\";function g_dataset_id_remove_no_notify(dataset_location, key_id) bind(c)\r\ng;g_dataset_id_set_data_full;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdataset.h;\"void g_dataset_id_set_data_full (gconstpointer dataset_location, GQuark key_id, gpointer data, GDestroyNotify destroy_func);\";subroutine g_dataset_id_set_data_full(dataset_location, key_id, data, destroy_func) bind(c)\r\ng;g_date_add_days;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"void g_date_add_days (GDate *date, guint n_days);\";subroutine g_date_add_days(date, n_days) bind(c)\r\ng;g_date_add_months;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"void g_date_add_months (GDate *date, guint n_months);\";subroutine g_date_add_months(date, n_months) bind(c)\r\ng;g_date_add_years;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"void g_date_add_years (GDate *date, guint n_years);\";subroutine g_date_add_years(date, n_years) bind(c)\r\ng;g_date_clamp;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"void g_date_clamp (GDate *date, const GDate *min_date, const GDate *max_date);\";subroutine g_date_clamp(date, min_date, max_date) bind(c)\r\ng;g_date_clear;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"void g_date_clear (GDate *date, guint n_dates);\";subroutine g_date_clear(date, n_dates) bind(c)\r\ng;g_date_compare;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"gint g_date_compare (const GDate *lhs, const GDate *rhs);\";function g_date_compare(lhs, rhs) bind(c)\r\ng;g_date_copy;GLIB_AVAILABLE_IN_2_56;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"GDate* g_date_copy (const GDate *date);\";function g_date_copy(date) bind(c)\r\ng;g_date_days_between;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"gint g_date_days_between (const GDate *date1, const GDate *date2);\";function g_date_days_between(date1, date2) bind(c)\r\ng;g_date_free;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"void g_date_free (GDate *date);\";subroutine g_date_free(date) bind(c)\r\ng;g_date_get_day;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"GDateDay g_date_get_day (const GDate *date);\";function g_date_get_day(date) bind(c)\r\ng;g_date_get_day_of_year;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"guint g_date_get_day_of_year (const GDate *date);\";function g_date_get_day_of_year(date) bind(c)\r\ng;g_date_get_days_in_month;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"guint8 g_date_get_days_in_month (GDateMonth month, GDateYear year) ;\";function g_date_get_days_in_month(month, year) bind(c)\r\ng;g_date_get_iso8601_week_of_year;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"guint g_date_get_iso8601_week_of_year (const GDate *date);\";function g_date_get_iso8601_week_of_year(date) bind(c)\r\ng;g_date_get_julian;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"guint32 g_date_get_julian (const GDate *date);\";function g_date_get_julian(date) bind(c)\r\ng;g_date_get_monday_week_of_year;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"guint g_date_get_monday_week_of_year (const GDate *date);\";function g_date_get_monday_week_of_year(date) bind(c)\r\ng;g_date_get_monday_weeks_in_year;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"guint8 g_date_get_monday_weeks_in_year (GDateYear year) ;\";function g_date_get_monday_weeks_in_year(year) bind(c)\r\ng;g_date_get_month;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"GDateMonth g_date_get_month (const GDate *date);\";function g_date_get_month(date) bind(c)\r\ng;g_date_get_sunday_week_of_year;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"guint g_date_get_sunday_week_of_year (const GDate *date);\";function g_date_get_sunday_week_of_year(date) bind(c)\r\ng;g_date_get_sunday_weeks_in_year;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"guint8 g_date_get_sunday_weeks_in_year (GDateYear year) ;\";function g_date_get_sunday_weeks_in_year(year) bind(c)\r\ng;g_date_get_type;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/glib-types.h;\"GType g_date_get_type (void) ;\";function g_date_get_type() bind(c)\r\ng;g_date_get_week_of_year;GLIB_AVAILABLE_IN_2_86;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"guint g_date_get_week_of_year (const GDate *date, GDateWeekday first_day_of_week);\";function g_date_get_week_of_year(date, first_day_of_week) bind(c)\r\ng;g_date_get_weekday;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"GDateWeekday g_date_get_weekday (const GDate *date);\";function g_date_get_weekday(date) bind(c)\r\ng;g_date_get_weeks_in_year;GLIB_AVAILABLE_IN_2_86;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"guint8 g_date_get_weeks_in_year (GDateYear year, GDateWeekday first_day_of_week) ;\";function g_date_get_weeks_in_year(year, first_day_of_week) bind(c)\r\ng;g_date_get_year;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"GDateYear g_date_get_year (const GDate *date);\";function g_date_get_year(date) bind(c)\r\ng;g_date_is_first_of_month;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"gboolean g_date_is_first_of_month (const GDate *date);\";function g_date_is_first_of_month(date) bind(c)\r\ng;g_date_is_last_of_month;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"gboolean g_date_is_last_of_month (const GDate *date);\";function g_date_is_last_of_month(date) bind(c)\r\ng;g_date_is_leap_year;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"gboolean g_date_is_leap_year (GDateYear year) ;\";function g_date_is_leap_year(year) bind(c)\r\ng;g_date_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"GDate* g_date_new (void);\";function g_date_new() bind(c)\r\ng;g_date_new_dmy;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"GDate* g_date_new_dmy (GDateDay day, GDateMonth month, GDateYear year);\";function g_date_new_dmy(day, month, year) bind(c)\r\ng;g_date_new_julian;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"GDate* g_date_new_julian (guint32 julian_day);\";function g_date_new_julian(julian_day) bind(c)\r\ng;g_date_order;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"void g_date_order (GDate *date1, GDate *date2);\";subroutine g_date_order(date1, date2) bind(c)\r\ng;g_date_set_day;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"void g_date_set_day (GDate *date, GDateDay day);\";subroutine g_date_set_day(date, day) bind(c)\r\ng;g_date_set_dmy;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"void g_date_set_dmy (GDate *date, GDateDay day, GDateMonth month, GDateYear y);\";subroutine g_date_set_dmy(date, day, month, y) bind(c)\r\ng;g_date_set_julian;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"void g_date_set_julian (GDate *date, guint32 julian_date);\";subroutine g_date_set_julian(date, julian_date) bind(c)\r\ng;g_date_set_month;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"void g_date_set_month (GDate *date, GDateMonth month);\";subroutine g_date_set_month(date, month) bind(c)\r\ng;g_date_set_parse;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"void g_date_set_parse (GDate *date, const gchar *str);\";subroutine g_date_set_parse(date, str) bind(c)\r\ng;g_date_set_time;GLIB_DEPRECATED_FOR(g_date_set_time_t);glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"void g_date_set_time (GDate *date, GTime time_);\";subroutine g_date_set_time(date, time_) bind(c)\r\ng;g_date_set_time_t;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"void g_date_set_time_t (GDate *date, time_t timet);\";subroutine g_date_set_time_t(date, timet) bind(c)\r\ng;g_date_set_time_val;GLIB_DEPRECATED_IN_2_62_FOR(g_date_set_time_t);glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"void g_date_set_time_val (GDate *date, GTimeVal *timeval);\";subroutine g_date_set_time_val(date, timeval) bind(c)\r\ng;g_date_set_year;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"void g_date_set_year (GDate *date, GDateYear year);\";subroutine g_date_set_year(date, year) bind(c)\r\ng;g_date_strftime;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"gsize g_date_strftime (gchar *s, gsize slen, const gchar *format, const GDate *date);\";function g_date_strftime(s, slen, format, date) bind(c)\r\ng;g_date_subtract_days;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"void g_date_subtract_days (GDate *date, guint n_days);\";subroutine g_date_subtract_days(date, n_days) bind(c)\r\ng;g_date_subtract_months;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"void g_date_subtract_months (GDate *date, guint n_months);\";subroutine g_date_subtract_months(date, n_months) bind(c)\r\ng;g_date_subtract_years;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"void g_date_subtract_years (GDate *date, guint n_years);\";subroutine g_date_subtract_years(date, n_years) bind(c)\r\ng;g_date_time_add;;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"GDateTime * g_date_time_add (GDateTime *datetime, GTimeSpan timespan);\";function g_date_time_add(datetime, timespan) bind(c)\r\ng;g_date_time_add_days;;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"GDateTime * g_date_time_add_days (GDateTime *datetime, gint days);\";function g_date_time_add_days(datetime, days) bind(c)\r\ng;g_date_time_add_full;;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"GDateTime * g_date_time_add_full (GDateTime *datetime, gint years, gint months, gint days, gint hours, gint minutes, gdouble seconds);\";function g_date_time_add_full(datetime, years, months, days, hours, minutes, seconds) bind(c)\r\ng;g_date_time_add_hours;;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"GDateTime * g_date_time_add_hours (GDateTime *datetime, gint hours);\";function g_date_time_add_hours(datetime, hours) bind(c)\r\ng;g_date_time_add_minutes;;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"GDateTime * g_date_time_add_minutes (GDateTime *datetime, gint minutes);\";function g_date_time_add_minutes(datetime, minutes) bind(c)\r\ng;g_date_time_add_months;;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"GDateTime * g_date_time_add_months (GDateTime *datetime, gint months);\";function g_date_time_add_months(datetime, months) bind(c)\r\ng;g_date_time_add_seconds;;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"GDateTime * g_date_time_add_seconds (GDateTime *datetime, gdouble seconds);\";function g_date_time_add_seconds(datetime, seconds) bind(c)\r\ng;g_date_time_add_weeks;;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"GDateTime * g_date_time_add_weeks (GDateTime *datetime, gint weeks);\";function g_date_time_add_weeks(datetime, weeks) bind(c)\r\ng;g_date_time_add_years;;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"GDateTime * g_date_time_add_years (GDateTime *datetime, gint years);\";function g_date_time_add_years(datetime, years) bind(c)\r\ng;g_date_time_compare;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"gint g_date_time_compare (gconstpointer dt1, gconstpointer dt2);\";function g_date_time_compare(dt1, dt2) bind(c)\r\ng;g_date_time_difference;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"GTimeSpan g_date_time_difference (GDateTime *end, GDateTime *begin);\";function g_date_time_difference(end, begin) bind(c)\r\ng;g_date_time_equal;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"gboolean g_date_time_equal (gconstpointer dt1, gconstpointer dt2);\";function g_date_time_equal(dt1, dt2) bind(c)\r\ng;g_date_time_format;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"gchar * g_date_time_format (GDateTime *datetime, const gchar *format) ;\";function g_date_time_format(datetime, format) bind(c)\r\ng;g_date_time_format_iso8601;GLIB_AVAILABLE_IN_2_62;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"gchar * g_date_time_format_iso8601 (GDateTime *datetime) ;\";function g_date_time_format_iso8601(datetime) bind(c)\r\ng;g_date_time_get_day_of_month;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"gint g_date_time_get_day_of_month (GDateTime *datetime);\";function g_date_time_get_day_of_month(datetime) bind(c)\r\ng;g_date_time_get_day_of_week;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"gint g_date_time_get_day_of_week (GDateTime *datetime);\";function g_date_time_get_day_of_week(datetime) bind(c)\r\ng;g_date_time_get_day_of_year;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"gint g_date_time_get_day_of_year (GDateTime *datetime);\";function g_date_time_get_day_of_year(datetime) bind(c)\r\ng;g_date_time_get_hour;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"gint g_date_time_get_hour (GDateTime *datetime);\";function g_date_time_get_hour(datetime) bind(c)\r\ng;g_date_time_get_microsecond;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"gint g_date_time_get_microsecond (GDateTime *datetime);\";function g_date_time_get_microsecond(datetime) bind(c)\r\ng;g_date_time_get_minute;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"gint g_date_time_get_minute (GDateTime *datetime);\";function g_date_time_get_minute(datetime) bind(c)\r\ng;g_date_time_get_month;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"gint g_date_time_get_month (GDateTime *datetime);\";function g_date_time_get_month(datetime) bind(c)\r\ng;g_date_time_get_second;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"gint g_date_time_get_second (GDateTime *datetime);\";function g_date_time_get_second(datetime) bind(c)\r\ng;g_date_time_get_seconds;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"gdouble g_date_time_get_seconds (GDateTime *datetime);\";function g_date_time_get_seconds(datetime) bind(c)\r\ng;g_date_time_get_timezone;GLIB_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"GTimeZone * g_date_time_get_timezone (GDateTime *datetime);\";function g_date_time_get_timezone(datetime) bind(c)\r\ng;g_date_time_get_timezone_abbreviation;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"const gchar * g_date_time_get_timezone_abbreviation (GDateTime *datetime);\";function g_date_time_get_timezone_abbreviation(datetime) bind(c)\r\ng;g_date_time_get_type;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/glib-types.h;\"GType g_date_time_get_type (void) ;\";function g_date_time_get_type() bind(c)\r\ng;g_date_time_get_utc_offset;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"GTimeSpan g_date_time_get_utc_offset (GDateTime *datetime);\";function g_date_time_get_utc_offset(datetime) bind(c)\r\ng;g_date_time_get_week_numbering_year;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"gint g_date_time_get_week_numbering_year (GDateTime *datetime);\";function g_date_time_get_week_numbering_year(datetime) bind(c)\r\ng;g_date_time_get_week_of_year;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"gint g_date_time_get_week_of_year (GDateTime *datetime);\";function g_date_time_get_week_of_year(datetime) bind(c)\r\ng;g_date_time_get_year;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"gint g_date_time_get_year (GDateTime *datetime);\";function g_date_time_get_year(datetime) bind(c)\r\ng;g_date_time_get_ymd;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"void g_date_time_get_ymd (GDateTime *datetime, gint *year, gint *month, gint *day);\";subroutine g_date_time_get_ymd(datetime, year, month, day) bind(c)\r\ng;g_date_time_hash;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"guint g_date_time_hash (gconstpointer datetime);\";function g_date_time_hash(datetime) bind(c)\r\ng;g_date_time_is_daylight_savings;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"gboolean g_date_time_is_daylight_savings (GDateTime *datetime);\";function g_date_time_is_daylight_savings(datetime) bind(c)\r\ng;g_date_time_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"GDateTime * g_date_time_new (GTimeZone *tz, gint year, gint month, gint day, gint hour, gint minute, gdouble seconds);\";function g_date_time_new(tz, year, month, day, hour, minute, seconds) bind(c)\r\ng;g_date_time_new_from_iso8601;GLIB_AVAILABLE_IN_2_56;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"GDateTime * g_date_time_new_from_iso8601 (const gchar *text, GTimeZone *default_tz);\";function g_date_time_new_from_iso8601(text, default_tz) bind(c)\r\ng;g_date_time_new_from_timeval_local;GLIB_DEPRECATED_IN_2_62_FOR(g_date_time_new_from_unix_local);glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"GDateTime * g_date_time_new_from_timeval_local (const GTimeVal *tv);\";function g_date_time_new_from_timeval_local(tv) bind(c)\r\ng;g_date_time_new_from_timeval_utc;GLIB_DEPRECATED_IN_2_62_FOR(g_date_time_new_from_unix_utc);glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"GDateTime * g_date_time_new_from_timeval_utc (const GTimeVal *tv);\";function g_date_time_new_from_timeval_utc(tv) bind(c)\r\ng;g_date_time_new_from_unix_local;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"GDateTime * g_date_time_new_from_unix_local (gint64 t);\";function g_date_time_new_from_unix_local(t) bind(c)\r\ng;g_date_time_new_from_unix_local_usec;GLIB_AVAILABLE_IN_2_80;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"GDateTime * g_date_time_new_from_unix_local_usec (gint64 usecs);\";function g_date_time_new_from_unix_local_usec(usecs) bind(c)\r\ng;g_date_time_new_from_unix_utc;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"GDateTime * g_date_time_new_from_unix_utc (gint64 t);\";function g_date_time_new_from_unix_utc(t) bind(c)\r\ng;g_date_time_new_from_unix_utc_usec;GLIB_AVAILABLE_IN_2_80;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"GDateTime * g_date_time_new_from_unix_utc_usec (gint64 usecs);\";function g_date_time_new_from_unix_utc_usec(usecs) bind(c)\r\ng;g_date_time_new_local;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"GDateTime * g_date_time_new_local (gint year, gint month, gint day, gint hour, gint minute, gdouble seconds);\";function g_date_time_new_local(year, month, day, hour, minute, seconds) bind(c)\r\ng;g_date_time_new_now;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"GDateTime * g_date_time_new_now (GTimeZone *tz);\";function g_date_time_new_now(tz) bind(c)\r\ng;g_date_time_new_now_local;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"GDateTime * g_date_time_new_now_local (void);\";function g_date_time_new_now_local() bind(c)\r\ng;g_date_time_new_now_utc;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"GDateTime * g_date_time_new_now_utc (void);\";function g_date_time_new_now_utc() bind(c)\r\ng;g_date_time_new_utc;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"GDateTime * g_date_time_new_utc (gint year, gint month, gint day, gint hour, gint minute, gdouble seconds);\";function g_date_time_new_utc(year, month, day, hour, minute, seconds) bind(c)\r\ng;g_date_time_ref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"GDateTime * g_date_time_ref (GDateTime *datetime);\";function g_date_time_ref(datetime) bind(c)\r\ng;g_date_time_to_local;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"GDateTime * g_date_time_to_local (GDateTime *datetime);\";function g_date_time_to_local(datetime) bind(c)\r\ng;g_date_time_to_timeval;GLIB_DEPRECATED_IN_2_62_FOR(g_date_time_to_unix);glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"gboolean g_date_time_to_timeval (GDateTime *datetime, GTimeVal *tv);\";function g_date_time_to_timeval(datetime, tv) bind(c)\r\ng;g_date_time_to_timezone;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"GDateTime * g_date_time_to_timezone (GDateTime *datetime, GTimeZone *tz);\";function g_date_time_to_timezone(datetime, tz) bind(c)\r\ng;g_date_time_to_unix;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"gint64 g_date_time_to_unix (GDateTime *datetime);\";function g_date_time_to_unix(datetime) bind(c)\r\ng;g_date_time_to_unix_usec;GLIB_AVAILABLE_IN_2_80;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"gint64 g_date_time_to_unix_usec (GDateTime *datetime);\";function g_date_time_to_unix_usec(datetime) bind(c)\r\ng;g_date_time_to_utc;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"GDateTime * g_date_time_to_utc (GDateTime *datetime);\";function g_date_time_to_utc(datetime) bind(c)\r\ng;g_date_time_unref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdatetime.h;\"void g_date_time_unref (GDateTime *datetime);\";subroutine g_date_time_unref(datetime) bind(c)\r\ng;g_date_to_struct_tm;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"void g_date_to_struct_tm (const GDate *date, struct tm *tm);\";subroutine g_date_to_struct_tm(date, tm) bind(c)\r\ng;g_date_valid;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"gboolean g_date_valid (const GDate *date);\";function g_date_valid(date) bind(c)\r\ng;g_date_valid_day;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"gboolean g_date_valid_day (GDateDay day) ;\";function g_date_valid_day(day) bind(c)\r\ng;g_date_valid_dmy;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"gboolean g_date_valid_dmy (GDateDay day, GDateMonth month, GDateYear year) ;\";function g_date_valid_dmy(day, month, year) bind(c)\r\ng;g_date_valid_julian;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"gboolean g_date_valid_julian (guint32 julian_date) ;\";function g_date_valid_julian(julian_date) bind(c)\r\ng;g_date_valid_month;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"gboolean g_date_valid_month (GDateMonth month) ;\";function g_date_valid_month(month) bind(c)\r\ng;g_date_valid_weekday;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"gboolean g_date_valid_weekday (GDateWeekday weekday) ;\";function g_date_valid_weekday(weekday) bind(c)\r\ng;g_date_valid_year;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdate.h;\"gboolean g_date_valid_year (GDateYear year) ;\";function g_date_valid_year(year) bind(c)\r\ng;g_dbus_action_group_get;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusactiongroup.h;\"GDBusActionGroup * g_dbus_action_group_get (GDBusConnection *connection, const gchar *bus_name, const gchar *object_path);\";function g_dbus_action_group_get(connection, bus_name, object_path) bind(c)\r\ng;g_dbus_action_group_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusactiongroup.h;\"GType g_dbus_action_group_get_type (void) ;\";function g_dbus_action_group_get_type() bind(c)\r\ng;g_dbus_address_escape_value;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusaddress.h;\"gchar *g_dbus_address_escape_value (const gchar *string);\";function g_dbus_address_escape_value(string) bind(c)\r\ng;g_dbus_address_get_for_bus_sync;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusaddress.h;\"gchar *g_dbus_address_get_for_bus_sync (GBusType bus_type, GCancellable *cancellable, GError **error);\";function g_dbus_address_get_for_bus_sync(bus_type, cancellable, error) bind(c)\r\ng;g_dbus_address_get_stream;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusaddress.h;\"void g_dbus_address_get_stream (const gchar *address, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_dbus_address_get_stream(address, cancellable, callback, user_data) bind(c)\r\ng;g_dbus_address_get_stream_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusaddress.h;\"GIOStream *g_dbus_address_get_stream_finish (GAsyncResult *res, gchar **out_guid, GError **error);\";function g_dbus_address_get_stream_finish(res, out_guid, error) bind(c)\r\ng;g_dbus_address_get_stream_sync;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusaddress.h;\"GIOStream *g_dbus_address_get_stream_sync (const gchar *address, gchar **out_guid, GCancellable *cancellable, GError **error);\";function g_dbus_address_get_stream_sync(address, out_guid, cancellable, error) bind(c)\r\ng;g_dbus_annotation_info_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusintrospection.h;\"GType g_dbus_annotation_info_get_type (void) ;\";function g_dbus_annotation_info_get_type() bind(c)\r\ng;g_dbus_annotation_info_lookup;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusintrospection.h;\"const gchar *g_dbus_annotation_info_lookup (GDBusAnnotationInfo **annotations, const gchar *name);\";function g_dbus_annotation_info_lookup(annotations, name) bind(c)\r\ng;g_dbus_annotation_info_ref;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusintrospection.h;\"GDBusAnnotationInfo *g_dbus_annotation_info_ref (GDBusAnnotationInfo *info);\";function g_dbus_annotation_info_ref(info) bind(c)\r\ng;g_dbus_annotation_info_unref;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusintrospection.h;\"void g_dbus_annotation_info_unref (GDBusAnnotationInfo *info);\";subroutine g_dbus_annotation_info_unref(info) bind(c)\r\ng;g_dbus_arg_info_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusintrospection.h;\"GType g_dbus_arg_info_get_type (void) ;\";function g_dbus_arg_info_get_type() bind(c)\r\ng;g_dbus_arg_info_ref;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusintrospection.h;\"GDBusArgInfo *g_dbus_arg_info_ref (GDBusArgInfo *info);\";function g_dbus_arg_info_ref(info) bind(c)\r\ng;g_dbus_arg_info_unref;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusintrospection.h;\"void g_dbus_arg_info_unref (GDBusArgInfo *info);\";subroutine g_dbus_arg_info_unref(info) bind(c)\r\ng;g_dbus_auth_observer_allow_mechanism;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusauthobserver.h;\"gboolean g_dbus_auth_observer_allow_mechanism (GDBusAuthObserver *observer, const gchar *mechanism);\";function g_dbus_auth_observer_allow_mechanism(observer, mechanism) bind(c)\r\ng;g_dbus_auth_observer_authorize_authenticated_peer;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusauthobserver.h;\"gboolean g_dbus_auth_observer_authorize_authenticated_peer (GDBusAuthObserver *observer, GIOStream *stream, GCredentials *credentials);\";function g_dbus_auth_observer_authorize_authenticated_peer(observer, stream, credentials) bind(c)\r\ng;g_dbus_auth_observer_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusauthobserver.h;\"GType g_dbus_auth_observer_get_type (void) ;\";function g_dbus_auth_observer_get_type() bind(c)\r\ng;g_dbus_auth_observer_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusauthobserver.h;\"GDBusAuthObserver *g_dbus_auth_observer_new (void);\";function g_dbus_auth_observer_new() bind(c)\r\ng;g_dbus_connection_call;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"void g_dbus_connection_call (GDBusConnection *connection, const gchar *bus_name, const gchar *object_path, const gchar *interface_name, const gchar *method_name, GVariant *parameters, const GVariantType *reply_type, GDBusCallFlags flags, gint timeout_msec, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_dbus_connection_call(connection, bus_name, object_path, interface_name, method_name, parameters, reply_type, flags, timeout_msec, cancellable, callback, user_data) bind(c)\r\ng;g_dbus_connection_call_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"GVariant *g_dbus_connection_call_finish (GDBusConnection *connection, GAsyncResult *res, GError **error);\";function g_dbus_connection_call_finish(connection, res, error) bind(c)\r\ng;g_dbus_connection_call_sync;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"GVariant *g_dbus_connection_call_sync (GDBusConnection *connection, const gchar *bus_name, const gchar *object_path, const gchar *interface_name, const gchar *method_name, GVariant *parameters, const GVariantType *reply_type, GDBusCallFlags flags, gint timeout_msec, GCancellable *cancellable, GError **error);\";function g_dbus_connection_call_sync(connection, bus_name, object_path, interface_name, method_name, parameters, reply_type, flags, timeout_msec, cancellable, error) bind(c)\r\ng;g_dbus_connection_call_with_unix_fd_list;GIO_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"void g_dbus_connection_call_with_unix_fd_list (GDBusConnection *connection, const gchar *bus_name, const gchar *object_path, const gchar *interface_name, const gchar *method_name, GVariant *parameters, const GVariantType *reply_type, GDBusCallFlags flags, gint timeout_msec, GUnixFDList *fd_list, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_dbus_connection_call_with_unix_fd_list(connection, bus_name, object_path, interface_name, method_name, parameters, reply_type, flags, timeout_msec, fd_list, cancellable, callback, user_data) bind(c)\r\ng;g_dbus_connection_call_with_unix_fd_list_finish;GIO_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"GVariant *g_dbus_connection_call_with_unix_fd_list_finish (GDBusConnection *connection, GUnixFDList **out_fd_list, GAsyncResult *res, GError **error);\";function g_dbus_connection_call_with_unix_fd_list_finish(connection, out_fd_list, res, error) bind(c)\r\ng;g_dbus_connection_call_with_unix_fd_list_sync;GIO_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"GVariant *g_dbus_connection_call_with_unix_fd_list_sync (GDBusConnection *connection, const gchar *bus_name, const gchar *object_path, const gchar *interface_name, const gchar *method_name, GVariant *parameters, const GVariantType *reply_type, GDBusCallFlags flags, gint timeout_msec, GUnixFDList *fd_list, GUnixFDList **out_fd_list, GCancellable *cancellable, GError **error);\";function g_dbus_connection_call_with_unix_fd_list_sync(connection, bus_name, object_path, interface_name, method_name, parameters, reply_type, flags, timeout_msec, fd_list, out_fd_list, cancellable, error) bind(c)\r\ng;g_dbus_connection_close;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"void g_dbus_connection_close (GDBusConnection *connection, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_dbus_connection_close(connection, cancellable, callback, user_data) bind(c)\r\ng;g_dbus_connection_close_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"gboolean g_dbus_connection_close_finish (GDBusConnection *connection, GAsyncResult *res, GError **error);\";function g_dbus_connection_close_finish(connection, res, error) bind(c)\r\ng;g_dbus_connection_close_sync;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"gboolean g_dbus_connection_close_sync (GDBusConnection *connection, GCancellable *cancellable, GError **error);\";function g_dbus_connection_close_sync(connection, cancellable, error) bind(c)\r\ng;g_dbus_connection_emit_signal;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"gboolean g_dbus_connection_emit_signal (GDBusConnection *connection, const gchar *destination_bus_name, const gchar *object_path, const gchar *interface_name, const gchar *signal_name, GVariant *parameters, GError **error);\";function g_dbus_connection_emit_signal(connection, destination_bus_name, object_path, interface_name, signal_name, parameters, error) bind(c)\r\ng;g_dbus_connection_export_action_group;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gactiongroupexporter.h;\"guint g_dbus_connection_export_action_group (GDBusConnection *connection, const gchar *object_path, GActionGroup *action_group, GError **error);\";function g_dbus_connection_export_action_group(connection, object_path, action_group, error) bind(c)\r\ng;g_dbus_connection_export_menu_model;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenuexporter.h;\"guint g_dbus_connection_export_menu_model (GDBusConnection *connection, const gchar *object_path, GMenuModel *menu, GError **error);\";function g_dbus_connection_export_menu_model(connection, object_path, menu, error) bind(c)\r\ng;g_dbus_connection_flush;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"void g_dbus_connection_flush (GDBusConnection *connection, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_dbus_connection_flush(connection, cancellable, callback, user_data) bind(c)\r\ng;g_dbus_connection_flush_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"gboolean g_dbus_connection_flush_finish (GDBusConnection *connection, GAsyncResult *res, GError **error);\";function g_dbus_connection_flush_finish(connection, res, error) bind(c)\r\ng;g_dbus_connection_flush_sync;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"gboolean g_dbus_connection_flush_sync (GDBusConnection *connection, GCancellable *cancellable, GError **error);\";function g_dbus_connection_flush_sync(connection, cancellable, error) bind(c)\r\ng;g_dbus_connection_get_capabilities;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"GDBusCapabilityFlags g_dbus_connection_get_capabilities (GDBusConnection *connection);\";function g_dbus_connection_get_capabilities(connection) bind(c)\r\ng;g_dbus_connection_get_exit_on_close;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"gboolean g_dbus_connection_get_exit_on_close (GDBusConnection *connection);\";function g_dbus_connection_get_exit_on_close(connection) bind(c)\r\ng;g_dbus_connection_get_flags;GIO_AVAILABLE_IN_2_60;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"GDBusConnectionFlags g_dbus_connection_get_flags (GDBusConnection *connection);\";function g_dbus_connection_get_flags(connection) bind(c)\r\ng;g_dbus_connection_get_guid;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"const gchar *g_dbus_connection_get_guid (GDBusConnection *connection);\";function g_dbus_connection_get_guid(connection) bind(c)\r\ng;g_dbus_connection_get_last_serial;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"guint32 g_dbus_connection_get_last_serial (GDBusConnection *connection);\";function g_dbus_connection_get_last_serial(connection) bind(c)\r\ng;g_dbus_connection_get_peer_credentials;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"GCredentials *g_dbus_connection_get_peer_credentials (GDBusConnection *connection);\";function g_dbus_connection_get_peer_credentials(connection) bind(c)\r\ng;g_dbus_connection_get_stream;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"GIOStream *g_dbus_connection_get_stream (GDBusConnection *connection);\";function g_dbus_connection_get_stream(connection) bind(c)\r\ng;g_dbus_connection_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"GType g_dbus_connection_get_type (void) ;\";function g_dbus_connection_get_type() bind(c)\r\ng;g_dbus_connection_get_unique_name;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"const gchar *g_dbus_connection_get_unique_name (GDBusConnection *connection);\";function g_dbus_connection_get_unique_name(connection) bind(c)\r\ng;g_dbus_connection_is_closed;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"gboolean g_dbus_connection_is_closed (GDBusConnection *connection);\";function g_dbus_connection_is_closed(connection) bind(c)\r\ng;g_dbus_connection_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"void g_dbus_connection_new (GIOStream *stream, const gchar *guid, GDBusConnectionFlags flags, GDBusAuthObserver *observer, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_dbus_connection_new(stream, guid, flags, observer, cancellable, callback, user_data) bind(c)\r\ng;g_dbus_connection_new_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"GDBusConnection *g_dbus_connection_new_finish (GAsyncResult *res, GError **error);\";function g_dbus_connection_new_finish(res, error) bind(c)\r\ng;g_dbus_connection_new_for_address;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"void g_dbus_connection_new_for_address (const gchar *address, GDBusConnectionFlags flags, GDBusAuthObserver *observer, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_dbus_connection_new_for_address(address, flags, observer, cancellable, callback, user_data) bind(c)\r\ng;g_dbus_connection_new_for_address_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"GDBusConnection *g_dbus_connection_new_for_address_finish (GAsyncResult *res, GError **error);\";function g_dbus_connection_new_for_address_finish(res, error) bind(c)\r\ng;g_dbus_connection_new_for_address_sync;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"GDBusConnection *g_dbus_connection_new_for_address_sync (const gchar *address, GDBusConnectionFlags flags, GDBusAuthObserver *observer, GCancellable *cancellable, GError **error);\";function g_dbus_connection_new_for_address_sync(address, flags, observer, cancellable, error) bind(c)\r\ng;g_dbus_connection_new_sync;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"GDBusConnection *g_dbus_connection_new_sync (GIOStream *stream, const gchar *guid, GDBusConnectionFlags flags, GDBusAuthObserver *observer, GCancellable *cancellable, GError **error);\";function g_dbus_connection_new_sync(stream, guid, flags, observer, cancellable, error) bind(c)\r\ng;g_dbus_connection_register_object;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"guint g_dbus_connection_register_object (GDBusConnection *connection, const gchar *object_path, GDBusInterfaceInfo *interface_info, const GDBusInterfaceVTable *vtable, gpointer user_data, GDestroyNotify user_data_free_func, GError **error);\";function g_dbus_connection_register_object(connection, object_path, interface_info, vtable, user_data, user_data_free_func, error) bind(c)\r\ng;g_dbus_connection_register_object_with_closures;GIO_DEPRECATED_IN_2_84_FOR(g_dbus_connection_register_object_with_closures2);glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"guint g_dbus_connection_register_object_with_closures (GDBusConnection *connection, const gchar *object_path, GDBusInterfaceInfo *interface_info, GClosure *method_call_closure, GClosure *get_property_closure, GClosure *set_property_closure, GError **error);\";function g_dbus_connection_register_object_with_closures(connection, object_path, interface_info, method_call_closure, get_property_closure, set_property_closure, error) bind(c)\r\ng;g_dbus_connection_register_object_with_closures2;GIO_AVAILABLE_IN_2_84;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"guint g_dbus_connection_register_object_with_closures2 (GDBusConnection *connection, const gchar *object_path, GDBusInterfaceInfo *interface_info, GClosure *method_call_closure, GClosure *get_property_closure, GClosure *set_property_closure, GError **error);\";function g_dbus_connection_register_object_with_closures2(connection, object_path, interface_info, method_call_closure, get_property_closure, set_property_closure, error) bind(c)\r\ng;g_dbus_connection_register_subtree;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"guint g_dbus_connection_register_subtree (GDBusConnection *connection, const gchar *object_path, const GDBusSubtreeVTable *vtable, GDBusSubtreeFlags flags, gpointer user_data, GDestroyNotify user_data_free_func, GError **error);\";function g_dbus_connection_register_subtree(connection, object_path, vtable, flags, user_data, user_data_free_func, error) bind(c)\r\ng;g_dbus_connection_remove_filter;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"void g_dbus_connection_remove_filter (GDBusConnection *connection, guint filter_id);\";subroutine g_dbus_connection_remove_filter(connection, filter_id) bind(c)\r\ng;g_dbus_connection_send_message;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"gboolean g_dbus_connection_send_message (GDBusConnection *connection, GDBusMessage *message, GDBusSendMessageFlags flags, volatile guint32 *out_serial, GError **error);\";function g_dbus_connection_send_message(connection, message, flags, out_serial, error) bind(c)\r\ng;g_dbus_connection_send_message_with_reply;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"void g_dbus_connection_send_message_with_reply (GDBusConnection *connection, GDBusMessage *message, GDBusSendMessageFlags flags, gint timeout_msec, volatile guint32 *out_serial, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_dbus_connection_send_message_with_reply(connection, message, flags, timeout_msec, out_serial, cancellable, callback, user_data) bind(c)\r\ng;g_dbus_connection_send_message_with_reply_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"GDBusMessage *g_dbus_connection_send_message_with_reply_finish (GDBusConnection *connection, GAsyncResult *res, GError **error);\";function g_dbus_connection_send_message_with_reply_finish(connection, res, error) bind(c)\r\ng;g_dbus_connection_send_message_with_reply_sync;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"GDBusMessage *g_dbus_connection_send_message_with_reply_sync (GDBusConnection *connection, GDBusMessage *message, GDBusSendMessageFlags flags, gint timeout_msec, volatile guint32 *out_serial, GCancellable *cancellable, GError **error);\";function g_dbus_connection_send_message_with_reply_sync(connection, message, flags, timeout_msec, out_serial, cancellable, error) bind(c)\r\ng;g_dbus_connection_set_exit_on_close;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"void g_dbus_connection_set_exit_on_close (GDBusConnection *connection, gboolean exit_on_close);\";subroutine g_dbus_connection_set_exit_on_close(connection, exit_on_close) bind(c)\r\ng;g_dbus_connection_signal_subscribe;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"guint g_dbus_connection_signal_subscribe (GDBusConnection *connection, const gchar *sender, const gchar *interface_name, const gchar *member, const gchar *object_path, const gchar *arg0, GDBusSignalFlags flags, GDBusSignalCallback callback, gpointer user_data, GDestroyNotify user_data_free_func);\";function g_dbus_connection_signal_subscribe(connection, sender, interface_name, member, object_path, arg0, flags, callback, user_data, user_data_free_func) bind(c)\r\ng;g_dbus_connection_signal_unsubscribe;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"void g_dbus_connection_signal_unsubscribe (GDBusConnection *connection, guint subscription_id);\";subroutine g_dbus_connection_signal_unsubscribe(connection, subscription_id) bind(c)\r\ng;g_dbus_connection_start_message_processing;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"void g_dbus_connection_start_message_processing (GDBusConnection *connection);\";subroutine g_dbus_connection_start_message_processing(connection) bind(c)\r\ng;g_dbus_connection_unexport_action_group;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gactiongroupexporter.h;\"void g_dbus_connection_unexport_action_group (GDBusConnection *connection, guint export_id);\";subroutine g_dbus_connection_unexport_action_group(connection, export_id) bind(c)\r\ng;g_dbus_connection_unexport_menu_model;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenuexporter.h;\"void g_dbus_connection_unexport_menu_model (GDBusConnection *connection, guint export_id);\";subroutine g_dbus_connection_unexport_menu_model(connection, export_id) bind(c)\r\ng;g_dbus_connection_unregister_object;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"gboolean g_dbus_connection_unregister_object (GDBusConnection *connection, guint registration_id);\";function g_dbus_connection_unregister_object(connection, registration_id) bind(c)\r\ng;g_dbus_connection_unregister_subtree;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusconnection.h;\"gboolean g_dbus_connection_unregister_subtree (GDBusConnection *connection, guint registration_id);\";function g_dbus_connection_unregister_subtree(connection, registration_id) bind(c)\r\ng;g_dbus_error_encode_gerror;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbuserror.h;\"gchar *g_dbus_error_encode_gerror (const GError *error);\";function g_dbus_error_encode_gerror(error) bind(c)\r\ng;g_dbus_error_get_remote_error;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbuserror.h;\"gchar *g_dbus_error_get_remote_error (const GError *error);\";function g_dbus_error_get_remote_error(error) bind(c)\r\ng;g_dbus_error_is_remote_error;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbuserror.h;\"gboolean g_dbus_error_is_remote_error (const GError *error);\";function g_dbus_error_is_remote_error(error) bind(c)\r\ng;g_dbus_error_new_for_dbus_error;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbuserror.h;\"GError *g_dbus_error_new_for_dbus_error (const gchar *dbus_error_name, const gchar *dbus_error_message);\";function g_dbus_error_new_for_dbus_error(dbus_error_name, dbus_error_message) bind(c)\r\ng;g_dbus_error_quark;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbuserror.h;\"GQuark g_dbus_error_quark (void);\";function g_dbus_error_quark() bind(c)\r\ng;g_dbus_error_register_error;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbuserror.h;\"gboolean g_dbus_error_register_error (GQuark error_domain, gint error_code, const gchar *dbus_error_name);\";function g_dbus_error_register_error(error_domain, error_code, dbus_error_name) bind(c)\r\ng;g_dbus_error_register_error_domain;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbuserror.h;\"void g_dbus_error_register_error_domain (const gchar *error_domain_quark_name, volatile gsize *quark_volatile, const GDBusErrorEntry *entries, guint num_entries);\";subroutine g_dbus_error_register_error_domain(error_domain_quark_name, quark_volatile, entries, num_entries) bind(c)\r\ng;g_dbus_error_set_dbus_error_valist;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbuserror.h;\"void g_dbus_error_set_dbus_error_valist (GError **error, const gchar *dbus_error_name, const gchar *dbus_error_message, const gchar *format, va_list var_args) ;\";subroutine g_dbus_error_set_dbus_error_valist(error, dbus_error_name, dbus_error_message, format, var_args) bind(c)\r\ng;g_dbus_error_strip_remote_error;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbuserror.h;\"gboolean g_dbus_error_strip_remote_error (GError *error);\";function g_dbus_error_strip_remote_error(error) bind(c)\r\ng;g_dbus_error_unregister_error;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbuserror.h;\"gboolean g_dbus_error_unregister_error (GQuark error_domain, gint error_code, const gchar *dbus_error_name);\";function g_dbus_error_unregister_error(error_domain, error_code, dbus_error_name) bind(c)\r\ng;g_dbus_escape_object_path;GIO_AVAILABLE_IN_2_68;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusutils.h;\"gchar *g_dbus_escape_object_path (const gchar *s);\";function g_dbus_escape_object_path(s) bind(c)\r\ng;g_dbus_escape_object_path_bytestring;GIO_AVAILABLE_IN_2_68;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusutils.h;\"gchar *g_dbus_escape_object_path_bytestring (const guint8 *bytes);\";function g_dbus_escape_object_path_bytestring(bytes) bind(c)\r\ng;g_dbus_generate_guid;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusutils.h;\"gchar *g_dbus_generate_guid (void);\";function g_dbus_generate_guid() bind(c)\r\ng;g_dbus_gvalue_to_gvariant;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusutils.h;\"GVariant *g_dbus_gvalue_to_gvariant (const GValue *gvalue, const GVariantType *type);\";function g_dbus_gvalue_to_gvariant(gvalue, type) bind(c)\r\ng;g_dbus_gvariant_to_gvalue;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusutils.h;\"void g_dbus_gvariant_to_gvalue (GVariant *value, GValue *out_gvalue);\";subroutine g_dbus_gvariant_to_gvalue(value, out_gvalue) bind(c)\r\ng;g_dbus_interface_dup_object;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusinterface.h;\"GDBusObject *g_dbus_interface_dup_object (GDBusInterface *interface_);\";function g_dbus_interface_dup_object(interface_) bind(c)\r\ng;g_dbus_interface_get_info;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusinterface.h;\"GDBusInterfaceInfo *g_dbus_interface_get_info (GDBusInterface *interface_);\";function g_dbus_interface_get_info(interface_) bind(c)\r\ng;g_dbus_interface_get_object;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusinterface.h;\"GDBusObject *g_dbus_interface_get_object (GDBusInterface *interface_);\";function g_dbus_interface_get_object(interface_) bind(c)\r\ng;g_dbus_interface_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusinterface.h;\"GType g_dbus_interface_get_type (void) ;\";function g_dbus_interface_get_type() bind(c)\r\ng;g_dbus_interface_info_cache_build;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusintrospection.h;\"void g_dbus_interface_info_cache_build (GDBusInterfaceInfo *info);\";subroutine g_dbus_interface_info_cache_build(info) bind(c)\r\ng;g_dbus_interface_info_cache_release;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusintrospection.h;\"void g_dbus_interface_info_cache_release (GDBusInterfaceInfo *info);\";subroutine g_dbus_interface_info_cache_release(info) bind(c)\r\ng;g_dbus_interface_info_generate_xml;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusintrospection.h;\"void g_dbus_interface_info_generate_xml (GDBusInterfaceInfo *info, guint indent, GString *string_builder);\";subroutine g_dbus_interface_info_generate_xml(info, indent, string_builder) bind(c)\r\ng;g_dbus_interface_info_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusintrospection.h;\"GType g_dbus_interface_info_get_type (void) ;\";function g_dbus_interface_info_get_type() bind(c)\r\ng;g_dbus_interface_info_lookup_method;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusintrospection.h;\"GDBusMethodInfo *g_dbus_interface_info_lookup_method (GDBusInterfaceInfo *info, const gchar *name);\";function g_dbus_interface_info_lookup_method(info, name) bind(c)\r\ng;g_dbus_interface_info_lookup_property;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusintrospection.h;\"GDBusPropertyInfo *g_dbus_interface_info_lookup_property (GDBusInterfaceInfo *info, const gchar *name);\";function g_dbus_interface_info_lookup_property(info, name) bind(c)\r\ng;g_dbus_interface_info_lookup_signal;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusintrospection.h;\"GDBusSignalInfo *g_dbus_interface_info_lookup_signal (GDBusInterfaceInfo *info, const gchar *name);\";function g_dbus_interface_info_lookup_signal(info, name) bind(c)\r\ng;g_dbus_interface_info_ref;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusintrospection.h;\"GDBusInterfaceInfo *g_dbus_interface_info_ref (GDBusInterfaceInfo *info);\";function g_dbus_interface_info_ref(info) bind(c)\r\ng;g_dbus_interface_info_unref;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusintrospection.h;\"void g_dbus_interface_info_unref (GDBusInterfaceInfo *info);\";subroutine g_dbus_interface_info_unref(info) bind(c)\r\ng;g_dbus_interface_set_object;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusinterface.h;\"void g_dbus_interface_set_object (GDBusInterface *interface_, GDBusObject *object);\";subroutine g_dbus_interface_set_object(interface_, object) bind(c)\r\ng;g_dbus_interface_skeleton_export;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusinterfaceskeleton.h;\"gboolean g_dbus_interface_skeleton_export (GDBusInterfaceSkeleton *interface_, GDBusConnection *connection, const gchar *object_path, GError **error);\";function g_dbus_interface_skeleton_export(interface_, connection, object_path, error) bind(c)\r\ng;g_dbus_interface_skeleton_flush;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusinterfaceskeleton.h;\"void g_dbus_interface_skeleton_flush (GDBusInterfaceSkeleton *interface_);\";subroutine g_dbus_interface_skeleton_flush(interface_) bind(c)\r\ng;g_dbus_interface_skeleton_get_connection;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusinterfaceskeleton.h;\"GDBusConnection *g_dbus_interface_skeleton_get_connection (GDBusInterfaceSkeleton *interface_);\";function g_dbus_interface_skeleton_get_connection(interface_) bind(c)\r\ng;g_dbus_interface_skeleton_get_connections;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusinterfaceskeleton.h;\"GList *g_dbus_interface_skeleton_get_connections (GDBusInterfaceSkeleton *interface_);\";function g_dbus_interface_skeleton_get_connections(interface_) bind(c)\r\ng;g_dbus_interface_skeleton_get_flags;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusinterfaceskeleton.h;\"GDBusInterfaceSkeletonFlags g_dbus_interface_skeleton_get_flags (GDBusInterfaceSkeleton *interface_);\";function g_dbus_interface_skeleton_get_flags(interface_) bind(c)\r\ng;g_dbus_interface_skeleton_get_info;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusinterfaceskeleton.h;\"GDBusInterfaceInfo *g_dbus_interface_skeleton_get_info (GDBusInterfaceSkeleton *interface_);\";function g_dbus_interface_skeleton_get_info(interface_) bind(c)\r\ng;g_dbus_interface_skeleton_get_object_path;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusinterfaceskeleton.h;\"const gchar *g_dbus_interface_skeleton_get_object_path (GDBusInterfaceSkeleton *interface_);\";function g_dbus_interface_skeleton_get_object_path(interface_) bind(c)\r\ng;g_dbus_interface_skeleton_get_properties;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusinterfaceskeleton.h;\"GVariant *g_dbus_interface_skeleton_get_properties (GDBusInterfaceSkeleton *interface_);\";function g_dbus_interface_skeleton_get_properties(interface_) bind(c)\r\ng;g_dbus_interface_skeleton_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusinterfaceskeleton.h;\"GType g_dbus_interface_skeleton_get_type (void) ;\";function g_dbus_interface_skeleton_get_type() bind(c)\r\ng;g_dbus_interface_skeleton_get_vtable;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusinterfaceskeleton.h;\"GDBusInterfaceVTable *g_dbus_interface_skeleton_get_vtable (GDBusInterfaceSkeleton *interface_);\";function g_dbus_interface_skeleton_get_vtable(interface_) bind(c)\r\ng;g_dbus_interface_skeleton_has_connection;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusinterfaceskeleton.h;\"gboolean g_dbus_interface_skeleton_has_connection (GDBusInterfaceSkeleton *interface_, GDBusConnection *connection);\";function g_dbus_interface_skeleton_has_connection(interface_, connection) bind(c)\r\ng;g_dbus_interface_skeleton_set_flags;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusinterfaceskeleton.h;\"void g_dbus_interface_skeleton_set_flags (GDBusInterfaceSkeleton *interface_, GDBusInterfaceSkeletonFlags flags);\";subroutine g_dbus_interface_skeleton_set_flags(interface_, flags) bind(c)\r\ng;g_dbus_interface_skeleton_unexport;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusinterfaceskeleton.h;\"void g_dbus_interface_skeleton_unexport (GDBusInterfaceSkeleton *interface_);\";subroutine g_dbus_interface_skeleton_unexport(interface_) bind(c)\r\ng;g_dbus_interface_skeleton_unexport_from_connection;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusinterfaceskeleton.h;\"void g_dbus_interface_skeleton_unexport_from_connection (GDBusInterfaceSkeleton *interface_, GDBusConnection *connection);\";subroutine g_dbus_interface_skeleton_unexport_from_connection(interface_, connection) bind(c)\r\ng;g_dbus_is_address;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusaddress.h;\"gboolean g_dbus_is_address (const gchar *string);\";function g_dbus_is_address(string) bind(c)\r\ng;g_dbus_is_error_name;GIO_AVAILABLE_IN_2_70;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusutils.h;\"gboolean g_dbus_is_error_name (const gchar *string);\";function g_dbus_is_error_name(string) bind(c)\r\ng;g_dbus_is_guid;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusutils.h;\"gboolean g_dbus_is_guid (const gchar *string);\";function g_dbus_is_guid(string) bind(c)\r\ng;g_dbus_is_interface_name;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusutils.h;\"gboolean g_dbus_is_interface_name (const gchar *string);\";function g_dbus_is_interface_name(string) bind(c)\r\ng;g_dbus_is_member_name;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusutils.h;\"gboolean g_dbus_is_member_name (const gchar *string);\";function g_dbus_is_member_name(string) bind(c)\r\ng;g_dbus_is_name;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusutils.h;\"gboolean g_dbus_is_name (const gchar *string);\";function g_dbus_is_name(string) bind(c)\r\ng;g_dbus_is_supported_address;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusaddress.h;\"gboolean g_dbus_is_supported_address (const gchar *string, GError **error);\";function g_dbus_is_supported_address(string, error) bind(c)\r\ng;g_dbus_is_unique_name;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusutils.h;\"gboolean g_dbus_is_unique_name (const gchar *string);\";function g_dbus_is_unique_name(string) bind(c)\r\ng;g_dbus_menu_model_get;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmenumodel.h;\"GDBusMenuModel * g_dbus_menu_model_get (GDBusConnection *connection, const gchar *bus_name, const gchar *object_path);\";function g_dbus_menu_model_get(connection, bus_name, object_path) bind(c)\r\ng;g_dbus_menu_model_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmenumodel.h;\"GType g_dbus_menu_model_get_type (void) ;\";function g_dbus_menu_model_get_type() bind(c)\r\ng;g_dbus_message_bytes_needed;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"gssize g_dbus_message_bytes_needed (guchar *blob, gsize blob_len, GError **error);\";function g_dbus_message_bytes_needed(blob, blob_len, error) bind(c)\r\ng;g_dbus_message_copy;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"GDBusMessage *g_dbus_message_copy (GDBusMessage *message, GError **error);\";function g_dbus_message_copy(message, error) bind(c)\r\ng;g_dbus_message_get_arg0;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"const gchar *g_dbus_message_get_arg0 (GDBusMessage *message);\";function g_dbus_message_get_arg0(message) bind(c)\r\ng;g_dbus_message_get_arg0_path;GIO_AVAILABLE_IN_2_80;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"const gchar *g_dbus_message_get_arg0_path (GDBusMessage *message);\";function g_dbus_message_get_arg0_path(message) bind(c)\r\ng;g_dbus_message_get_body;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"GVariant *g_dbus_message_get_body (GDBusMessage *message);\";function g_dbus_message_get_body(message) bind(c)\r\ng;g_dbus_message_get_byte_order;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"GDBusMessageByteOrder g_dbus_message_get_byte_order (GDBusMessage *message);\";function g_dbus_message_get_byte_order(message) bind(c)\r\ng;g_dbus_message_get_destination;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"const gchar *g_dbus_message_get_destination (GDBusMessage *message);\";function g_dbus_message_get_destination(message) bind(c)\r\ng;g_dbus_message_get_error_name;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"const gchar *g_dbus_message_get_error_name (GDBusMessage *message);\";function g_dbus_message_get_error_name(message) bind(c)\r\ng;g_dbus_message_get_flags;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"GDBusMessageFlags g_dbus_message_get_flags (GDBusMessage *message);\";function g_dbus_message_get_flags(message) bind(c)\r\ng;g_dbus_message_get_header;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"GVariant *g_dbus_message_get_header (GDBusMessage *message, GDBusMessageHeaderField header_field);\";function g_dbus_message_get_header(message, header_field) bind(c)\r\ng;g_dbus_message_get_header_fields;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"guchar *g_dbus_message_get_header_fields (GDBusMessage *message);\";function g_dbus_message_get_header_fields(message) bind(c)\r\ng;g_dbus_message_get_interface;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"const gchar *g_dbus_message_get_interface (GDBusMessage *message);\";function g_dbus_message_get_interface(message) bind(c)\r\ng;g_dbus_message_get_locked;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"gboolean g_dbus_message_get_locked (GDBusMessage *message);\";function g_dbus_message_get_locked(message) bind(c)\r\ng;g_dbus_message_get_member;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"const gchar *g_dbus_message_get_member (GDBusMessage *message);\";function g_dbus_message_get_member(message) bind(c)\r\ng;g_dbus_message_get_message_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"GDBusMessageType g_dbus_message_get_message_type (GDBusMessage *message);\";function g_dbus_message_get_message_type(message) bind(c)\r\ng;g_dbus_message_get_num_unix_fds;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"guint32 g_dbus_message_get_num_unix_fds (GDBusMessage *message);\";function g_dbus_message_get_num_unix_fds(message) bind(c)\r\ng;g_dbus_message_get_path;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"const gchar *g_dbus_message_get_path (GDBusMessage *message);\";function g_dbus_message_get_path(message) bind(c)\r\ng;g_dbus_message_get_reply_serial;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"guint32 g_dbus_message_get_reply_serial (GDBusMessage *message);\";function g_dbus_message_get_reply_serial(message) bind(c)\r\ng;g_dbus_message_get_sender;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"const gchar *g_dbus_message_get_sender (GDBusMessage *message);\";function g_dbus_message_get_sender(message) bind(c)\r\ng;g_dbus_message_get_serial;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"guint32 g_dbus_message_get_serial (GDBusMessage *message);\";function g_dbus_message_get_serial(message) bind(c)\r\ng;g_dbus_message_get_signature;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"const gchar *g_dbus_message_get_signature (GDBusMessage *message);\";function g_dbus_message_get_signature(message) bind(c)\r\ng;g_dbus_message_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"GType g_dbus_message_get_type (void) ;\";function g_dbus_message_get_type() bind(c)\r\ng;g_dbus_message_get_unix_fd_list;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"GUnixFDList *g_dbus_message_get_unix_fd_list (GDBusMessage *message);\";function g_dbus_message_get_unix_fd_list(message) bind(c)\r\ng;g_dbus_message_lock;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"void g_dbus_message_lock (GDBusMessage *message);\";subroutine g_dbus_message_lock(message) bind(c)\r\ng;g_dbus_message_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"GDBusMessage *g_dbus_message_new (void);\";function g_dbus_message_new() bind(c)\r\ng;g_dbus_message_new_from_blob;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"GDBusMessage *g_dbus_message_new_from_blob (guchar *blob, gsize blob_len, GDBusCapabilityFlags capabilities, GError **error);\";function g_dbus_message_new_from_blob(blob, blob_len, capabilities, error) bind(c)\r\ng;g_dbus_message_new_method_call;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"GDBusMessage *g_dbus_message_new_method_call (const gchar *name, const gchar *path, const gchar *interface_, const gchar *method);\";function g_dbus_message_new_method_call(name, path, interface_, method) bind(c)\r\ng;g_dbus_message_new_method_error_literal;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"GDBusMessage *g_dbus_message_new_method_error_literal (GDBusMessage *method_call_message, const gchar *error_name, const gchar *error_message);\";function g_dbus_message_new_method_error_literal(method_call_message, error_name, error_message) bind(c)\r\ng;g_dbus_message_new_method_error_valist;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"GDBusMessage *g_dbus_message_new_method_error_valist (GDBusMessage *method_call_message, const gchar *error_name, const gchar *error_message_format, va_list var_args);\";function g_dbus_message_new_method_error_valist(method_call_message, error_name, error_message_format, var_args) bind(c)\r\ng;g_dbus_message_new_method_reply;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"GDBusMessage *g_dbus_message_new_method_reply (GDBusMessage *method_call_message);\";function g_dbus_message_new_method_reply(method_call_message) bind(c)\r\ng;g_dbus_message_new_signal;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"GDBusMessage *g_dbus_message_new_signal (const gchar *path, const gchar *interface_, const gchar *signal);\";function g_dbus_message_new_signal(path, interface_, signal) bind(c)\r\ng;g_dbus_message_print;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"gchar *g_dbus_message_print (GDBusMessage *message, guint indent);\";function g_dbus_message_print(message, indent) bind(c)\r\ng;g_dbus_message_set_body;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"void g_dbus_message_set_body (GDBusMessage *message, GVariant *body);\";subroutine g_dbus_message_set_body(message, body) bind(c)\r\ng;g_dbus_message_set_byte_order;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"void g_dbus_message_set_byte_order (GDBusMessage *message, GDBusMessageByteOrder byte_order);\";subroutine g_dbus_message_set_byte_order(message, byte_order) bind(c)\r\ng;g_dbus_message_set_destination;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"void g_dbus_message_set_destination (GDBusMessage *message, const gchar *value);\";subroutine g_dbus_message_set_destination(message, value) bind(c)\r\ng;g_dbus_message_set_error_name;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"void g_dbus_message_set_error_name (GDBusMessage *message, const gchar *value);\";subroutine g_dbus_message_set_error_name(message, value) bind(c)\r\ng;g_dbus_message_set_flags;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"void g_dbus_message_set_flags (GDBusMessage *message, GDBusMessageFlags flags);\";subroutine g_dbus_message_set_flags(message, flags) bind(c)\r\ng;g_dbus_message_set_header;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"void g_dbus_message_set_header (GDBusMessage *message, GDBusMessageHeaderField header_field, GVariant *value);\";subroutine g_dbus_message_set_header(message, header_field, value) bind(c)\r\ng;g_dbus_message_set_interface;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"void g_dbus_message_set_interface (GDBusMessage *message, const gchar *value);\";subroutine g_dbus_message_set_interface(message, value) bind(c)\r\ng;g_dbus_message_set_member;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"void g_dbus_message_set_member (GDBusMessage *message, const gchar *value);\";subroutine g_dbus_message_set_member(message, value) bind(c)\r\ng;g_dbus_message_set_message_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"void g_dbus_message_set_message_type (GDBusMessage *message, GDBusMessageType type);\";subroutine g_dbus_message_set_message_type(message, type) bind(c)\r\ng;g_dbus_message_set_num_unix_fds;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"void g_dbus_message_set_num_unix_fds (GDBusMessage *message, guint32 value);\";subroutine g_dbus_message_set_num_unix_fds(message, value) bind(c)\r\ng;g_dbus_message_set_path;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"void g_dbus_message_set_path (GDBusMessage *message, const gchar *value);\";subroutine g_dbus_message_set_path(message, value) bind(c)\r\ng;g_dbus_message_set_reply_serial;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"void g_dbus_message_set_reply_serial (GDBusMessage *message, guint32 value);\";subroutine g_dbus_message_set_reply_serial(message, value) bind(c)\r\ng;g_dbus_message_set_sender;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"void g_dbus_message_set_sender (GDBusMessage *message, const gchar *value);\";subroutine g_dbus_message_set_sender(message, value) bind(c)\r\ng;g_dbus_message_set_serial;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"void g_dbus_message_set_serial (GDBusMessage *message, guint32 serial);\";subroutine g_dbus_message_set_serial(message, serial) bind(c)\r\ng;g_dbus_message_set_signature;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"void g_dbus_message_set_signature (GDBusMessage *message, const gchar *value);\";subroutine g_dbus_message_set_signature(message, value) bind(c)\r\ng;g_dbus_message_set_unix_fd_list;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"void g_dbus_message_set_unix_fd_list (GDBusMessage *message, GUnixFDList *fd_list);\";subroutine g_dbus_message_set_unix_fd_list(message, fd_list) bind(c)\r\ng;g_dbus_message_to_blob;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"guchar *g_dbus_message_to_blob (GDBusMessage *message, gsize *out_size, GDBusCapabilityFlags capabilities, GError **error);\";function g_dbus_message_to_blob(message, out_size, capabilities, error) bind(c)\r\ng;g_dbus_message_to_gerror;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmessage.h;\"gboolean g_dbus_message_to_gerror (GDBusMessage *message, GError **error);\";function g_dbus_message_to_gerror(message, error) bind(c)\r\ng;g_dbus_method_info_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusintrospection.h;\"GType g_dbus_method_info_get_type (void) ;\";function g_dbus_method_info_get_type() bind(c)\r\ng;g_dbus_method_info_ref;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusintrospection.h;\"GDBusMethodInfo *g_dbus_method_info_ref (GDBusMethodInfo *info);\";function g_dbus_method_info_ref(info) bind(c)\r\ng;g_dbus_method_info_unref;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusintrospection.h;\"void g_dbus_method_info_unref (GDBusMethodInfo *info);\";subroutine g_dbus_method_info_unref(info) bind(c)\r\ng;g_dbus_method_invocation_get_connection;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmethodinvocation.h;\"GDBusConnection *g_dbus_method_invocation_get_connection (GDBusMethodInvocation *invocation);\";function g_dbus_method_invocation_get_connection(invocation) bind(c)\r\ng;g_dbus_method_invocation_get_interface_name;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmethodinvocation.h;\"const gchar *g_dbus_method_invocation_get_interface_name (GDBusMethodInvocation *invocation);\";function g_dbus_method_invocation_get_interface_name(invocation) bind(c)\r\ng;g_dbus_method_invocation_get_message;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmethodinvocation.h;\"GDBusMessage *g_dbus_method_invocation_get_message (GDBusMethodInvocation *invocation);\";function g_dbus_method_invocation_get_message(invocation) bind(c)\r\ng;g_dbus_method_invocation_get_method_info;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmethodinvocation.h;\"const GDBusMethodInfo *g_dbus_method_invocation_get_method_info (GDBusMethodInvocation *invocation);\";function g_dbus_method_invocation_get_method_info(invocation) bind(c)\r\ng;g_dbus_method_invocation_get_method_name;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmethodinvocation.h;\"const gchar *g_dbus_method_invocation_get_method_name (GDBusMethodInvocation *invocation);\";function g_dbus_method_invocation_get_method_name(invocation) bind(c)\r\ng;g_dbus_method_invocation_get_object_path;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmethodinvocation.h;\"const gchar *g_dbus_method_invocation_get_object_path (GDBusMethodInvocation *invocation);\";function g_dbus_method_invocation_get_object_path(invocation) bind(c)\r\ng;g_dbus_method_invocation_get_parameters;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmethodinvocation.h;\"GVariant *g_dbus_method_invocation_get_parameters (GDBusMethodInvocation *invocation);\";function g_dbus_method_invocation_get_parameters(invocation) bind(c)\r\ng;g_dbus_method_invocation_get_property_info;GIO_AVAILABLE_IN_2_38;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmethodinvocation.h;\"const GDBusPropertyInfo *g_dbus_method_invocation_get_property_info (GDBusMethodInvocation *invocation);\";function g_dbus_method_invocation_get_property_info(invocation) bind(c)\r\ng;g_dbus_method_invocation_get_sender;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmethodinvocation.h;\"const gchar *g_dbus_method_invocation_get_sender (GDBusMethodInvocation *invocation);\";function g_dbus_method_invocation_get_sender(invocation) bind(c)\r\ng;g_dbus_method_invocation_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmethodinvocation.h;\"GType g_dbus_method_invocation_get_type (void) ;\";function g_dbus_method_invocation_get_type() bind(c)\r\ng;g_dbus_method_invocation_get_user_data;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmethodinvocation.h;\"gpointer g_dbus_method_invocation_get_user_data (GDBusMethodInvocation *invocation);\";function g_dbus_method_invocation_get_user_data(invocation) bind(c)\r\ng;g_dbus_method_invocation_return_dbus_error;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmethodinvocation.h;\"void g_dbus_method_invocation_return_dbus_error (GDBusMethodInvocation *invocation, const gchar *error_name, const gchar *error_message);\";subroutine g_dbus_method_invocation_return_dbus_error(invocation, error_name, error_message) bind(c)\r\ng;g_dbus_method_invocation_return_error_literal;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmethodinvocation.h;\"void g_dbus_method_invocation_return_error_literal (GDBusMethodInvocation *invocation, GQuark domain, gint code, const gchar *message);\";subroutine g_dbus_method_invocation_return_error_literal(invocation, domain, code, message) bind(c)\r\ng;g_dbus_method_invocation_return_error_valist;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmethodinvocation.h;\"void g_dbus_method_invocation_return_error_valist (GDBusMethodInvocation *invocation, GQuark domain, gint code, const gchar *format, va_list var_args) ;\";subroutine g_dbus_method_invocation_return_error_valist(invocation, domain, code, format, var_args) bind(c)\r\ng;g_dbus_method_invocation_return_gerror;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmethodinvocation.h;\"void g_dbus_method_invocation_return_gerror (GDBusMethodInvocation *invocation, const GError *error);\";subroutine g_dbus_method_invocation_return_gerror(invocation, error) bind(c)\r\ng;g_dbus_method_invocation_return_value;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmethodinvocation.h;\"void g_dbus_method_invocation_return_value (GDBusMethodInvocation *invocation, GVariant *parameters);\";subroutine g_dbus_method_invocation_return_value(invocation, parameters) bind(c)\r\ng;g_dbus_method_invocation_return_value_with_unix_fd_list;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmethodinvocation.h;\"void g_dbus_method_invocation_return_value_with_unix_fd_list (GDBusMethodInvocation *invocation, GVariant *parameters, GUnixFDList *fd_list);\";subroutine g_dbus_method_invocation_return_value_with_unix_fd_list(invocation, parameters, fd_list) bind(c)\r\ng;g_dbus_method_invocation_take_error;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusmethodinvocation.h;\"void g_dbus_method_invocation_take_error (GDBusMethodInvocation *invocation, GError *error);\";subroutine g_dbus_method_invocation_take_error(invocation, error) bind(c)\r\ng;g_dbus_node_info_generate_xml;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusintrospection.h;\"void g_dbus_node_info_generate_xml (GDBusNodeInfo *info, guint indent, GString *string_builder);\";subroutine g_dbus_node_info_generate_xml(info, indent, string_builder) bind(c)\r\ng;g_dbus_node_info_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusintrospection.h;\"GType g_dbus_node_info_get_type (void) ;\";function g_dbus_node_info_get_type() bind(c)\r\ng;g_dbus_node_info_lookup_interface;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusintrospection.h;\"GDBusInterfaceInfo *g_dbus_node_info_lookup_interface (GDBusNodeInfo *info, const gchar *name);\";function g_dbus_node_info_lookup_interface(info, name) bind(c)\r\ng;g_dbus_node_info_new_for_xml;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusintrospection.h;\"GDBusNodeInfo *g_dbus_node_info_new_for_xml (const gchar *xml_data, GError **error);\";function g_dbus_node_info_new_for_xml(xml_data, error) bind(c)\r\ng;g_dbus_node_info_ref;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusintrospection.h;\"GDBusNodeInfo *g_dbus_node_info_ref (GDBusNodeInfo *info);\";function g_dbus_node_info_ref(info) bind(c)\r\ng;g_dbus_node_info_unref;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusintrospection.h;\"void g_dbus_node_info_unref (GDBusNodeInfo *info);\";subroutine g_dbus_node_info_unref(info) bind(c)\r\ng;g_dbus_object_get_interface;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusobject.h;\"GDBusInterface *g_dbus_object_get_interface (GDBusObject *object, const gchar *interface_name);\";function g_dbus_object_get_interface(object, interface_name) bind(c)\r\ng;g_dbus_object_get_interfaces;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusobject.h;\"GList *g_dbus_object_get_interfaces (GDBusObject *object);\";function g_dbus_object_get_interfaces(object) bind(c)\r\ng;g_dbus_object_get_object_path;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusobject.h;\"const gchar *g_dbus_object_get_object_path (GDBusObject *object);\";function g_dbus_object_get_object_path(object) bind(c)\r\ng;g_dbus_object_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusobject.h;\"GType g_dbus_object_get_type (void) ;\";function g_dbus_object_get_type() bind(c)\r\ng;g_dbus_object_manager_client_get_connection;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusobjectmanagerclient.h;\"GDBusConnection *g_dbus_object_manager_client_get_connection (GDBusObjectManagerClient *manager);\";function g_dbus_object_manager_client_get_connection(manager) bind(c)\r\ng;g_dbus_object_manager_client_get_flags;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusobjectmanagerclient.h;\"GDBusObjectManagerClientFlags g_dbus_object_manager_client_get_flags (GDBusObjectManagerClient *manager);\";function g_dbus_object_manager_client_get_flags(manager) bind(c)\r\ng;g_dbus_object_manager_client_get_name;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusobjectmanagerclient.h;\"const gchar *g_dbus_object_manager_client_get_name (GDBusObjectManagerClient *manager);\";function g_dbus_object_manager_client_get_name(manager) bind(c)\r\ng;g_dbus_object_manager_client_get_name_owner;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusobjectmanagerclient.h;\"gchar *g_dbus_object_manager_client_get_name_owner (GDBusObjectManagerClient *manager);\";function g_dbus_object_manager_client_get_name_owner(manager) bind(c)\r\ng;g_dbus_object_manager_client_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusobjectmanagerclient.h;\"GType g_dbus_object_manager_client_get_type (void) ;\";function g_dbus_object_manager_client_get_type() bind(c)\r\ng;g_dbus_object_manager_client_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusobjectmanagerclient.h;\"void g_dbus_object_manager_client_new (GDBusConnection *connection, GDBusObjectManagerClientFlags flags, const gchar *name, const gchar *object_path, GDBusProxyTypeFunc get_proxy_type_func, gpointer get_proxy_type_user_data, GDestroyNotify get_proxy_type_destroy_notify, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_dbus_object_manager_client_new(connection, flags, name, object_path, get_proxy_type_func, get_proxy_type_user_data, get_proxy_type_destroy_notify, cancellable, callback, user_data) bind(c)\r\ng;g_dbus_object_manager_client_new_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusobjectmanagerclient.h;\"GDBusObjectManager *g_dbus_object_manager_client_new_finish (GAsyncResult *res, GError **error);\";function g_dbus_object_manager_client_new_finish(res, error) bind(c)\r\ng;g_dbus_object_manager_client_new_for_bus;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusobjectmanagerclient.h;\"void g_dbus_object_manager_client_new_for_bus (GBusType bus_type, GDBusObjectManagerClientFlags flags, const gchar *name, const gchar *object_path, GDBusProxyTypeFunc get_proxy_type_func, gpointer get_proxy_type_user_data, GDestroyNotify get_proxy_type_destroy_notify, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_dbus_object_manager_client_new_for_bus(bus_type, flags, name, object_path, get_proxy_type_func, get_proxy_type_user_data, get_proxy_type_destroy_notify, cancellable, callback, user_data) bind(c)\r\ng;g_dbus_object_manager_client_new_for_bus_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusobjectmanagerclient.h;\"GDBusObjectManager *g_dbus_object_manager_client_new_for_bus_finish (GAsyncResult *res, GError **error);\";function g_dbus_object_manager_client_new_for_bus_finish(res, error) bind(c)\r\ng;g_dbus_object_manager_client_new_for_bus_sync;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusobjectmanagerclient.h;\"GDBusObjectManager *g_dbus_object_manager_client_new_for_bus_sync (GBusType bus_type, GDBusObjectManagerClientFlags flags, const gchar *name, const gchar *object_path, GDBusProxyTypeFunc get_proxy_type_func, gpointer get_proxy_type_user_data, GDestroyNotify get_proxy_type_destroy_notify, GCancellable *cancellable, GError **error);\";function g_dbus_object_manager_client_new_for_bus_sync(bus_type, flags, name, object_path, get_proxy_type_func, get_proxy_type_user_data, get_proxy_type_destroy_notify, cancellable, error) bind(c)\r\ng;g_dbus_object_manager_client_new_sync;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusobjectmanagerclient.h;\"GDBusObjectManager *g_dbus_object_manager_client_new_sync (GDBusConnection *connection, GDBusObjectManagerClientFlags flags, const gchar *name, const gchar *object_path, GDBusProxyTypeFunc get_proxy_type_func, gpointer get_proxy_type_user_data, GDestroyNotify get_proxy_type_destroy_notify, GCancellable *cancellable, GError **error);\";function g_dbus_object_manager_client_new_sync(connection, flags, name, object_path, get_proxy_type_func, get_proxy_type_user_data, get_proxy_type_destroy_notify, cancellable, error) bind(c)\r\ng;g_dbus_object_manager_get_interface;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusobjectmanager.h;\"GDBusInterface *g_dbus_object_manager_get_interface (GDBusObjectManager *manager, const gchar *object_path, const gchar *interface_name);\";function g_dbus_object_manager_get_interface(manager, object_path, interface_name) bind(c)\r\ng;g_dbus_object_manager_get_object;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusobjectmanager.h;\"GDBusObject *g_dbus_object_manager_get_object (GDBusObjectManager *manager, const gchar *object_path);\";function g_dbus_object_manager_get_object(manager, object_path) bind(c)\r\ng;g_dbus_object_manager_get_object_path;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusobjectmanager.h;\"const gchar *g_dbus_object_manager_get_object_path (GDBusObjectManager *manager);\";function g_dbus_object_manager_get_object_path(manager) bind(c)\r\ng;g_dbus_object_manager_get_objects;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusobjectmanager.h;\"GList *g_dbus_object_manager_get_objects (GDBusObjectManager *manager);\";function g_dbus_object_manager_get_objects(manager) bind(c)\r\ng;g_dbus_object_manager_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusobjectmanager.h;\"GType g_dbus_object_manager_get_type (void) ;\";function g_dbus_object_manager_get_type() bind(c)\r\ng;g_dbus_object_manager_server_export;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusobjectmanagerserver.h;\"void g_dbus_object_manager_server_export (GDBusObjectManagerServer *manager, GDBusObjectSkeleton *object);\";subroutine g_dbus_object_manager_server_export(manager, object) bind(c)\r\ng;g_dbus_object_manager_server_export_uniquely;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusobjectmanagerserver.h;\"void g_dbus_object_manager_server_export_uniquely (GDBusObjectManagerServer *manager, GDBusObjectSkeleton *object);\";subroutine g_dbus_object_manager_server_export_uniquely(manager, object) bind(c)\r\ng;g_dbus_object_manager_server_get_connection;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusobjectmanagerserver.h;\"GDBusConnection *g_dbus_object_manager_server_get_connection (GDBusObjectManagerServer *manager);\";function g_dbus_object_manager_server_get_connection(manager) bind(c)\r\ng;g_dbus_object_manager_server_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusobjectmanagerserver.h;\"GType g_dbus_object_manager_server_get_type (void) ;\";function g_dbus_object_manager_server_get_type() bind(c)\r\ng;g_dbus_object_manager_server_is_exported;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusobjectmanagerserver.h;\"gboolean g_dbus_object_manager_server_is_exported (GDBusObjectManagerServer *manager, GDBusObjectSkeleton *object);\";function g_dbus_object_manager_server_is_exported(manager, object) bind(c)\r\ng;g_dbus_object_manager_server_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusobjectmanagerserver.h;\"GDBusObjectManagerServer *g_dbus_object_manager_server_new (const gchar *object_path);\";function g_dbus_object_manager_server_new(object_path) bind(c)\r\ng;g_dbus_object_manager_server_set_connection;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusobjectmanagerserver.h;\"void g_dbus_object_manager_server_set_connection (GDBusObjectManagerServer *manager, GDBusConnection *connection);\";subroutine g_dbus_object_manager_server_set_connection(manager, connection) bind(c)\r\ng;g_dbus_object_manager_server_unexport;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusobjectmanagerserver.h;\"gboolean g_dbus_object_manager_server_unexport (GDBusObjectManagerServer *manager, const gchar *object_path);\";function g_dbus_object_manager_server_unexport(manager, object_path) bind(c)\r\ng;g_dbus_object_proxy_get_connection;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusobjectproxy.h;\"GDBusConnection *g_dbus_object_proxy_get_connection (GDBusObjectProxy *proxy);\";function g_dbus_object_proxy_get_connection(proxy) bind(c)\r\ng;g_dbus_object_proxy_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusobjectproxy.h;\"GType g_dbus_object_proxy_get_type (void) ;\";function g_dbus_object_proxy_get_type() bind(c)\r\ng;g_dbus_object_proxy_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusobjectproxy.h;\"GDBusObjectProxy *g_dbus_object_proxy_new (GDBusConnection *connection, const gchar *object_path);\";function g_dbus_object_proxy_new(connection, object_path) bind(c)\r\ng;g_dbus_object_skeleton_add_interface;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusobjectskeleton.h;\"void g_dbus_object_skeleton_add_interface (GDBusObjectSkeleton *object, GDBusInterfaceSkeleton *interface_);\";subroutine g_dbus_object_skeleton_add_interface(object, interface_) bind(c)\r\ng;g_dbus_object_skeleton_flush;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusobjectskeleton.h;\"void g_dbus_object_skeleton_flush (GDBusObjectSkeleton *object);\";subroutine g_dbus_object_skeleton_flush(object) bind(c)\r\ng;g_dbus_object_skeleton_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusobjectskeleton.h;\"GType g_dbus_object_skeleton_get_type (void) ;\";function g_dbus_object_skeleton_get_type() bind(c)\r\ng;g_dbus_object_skeleton_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusobjectskeleton.h;\"GDBusObjectSkeleton *g_dbus_object_skeleton_new (const gchar *object_path);\";function g_dbus_object_skeleton_new(object_path) bind(c)\r\ng;g_dbus_object_skeleton_remove_interface;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusobjectskeleton.h;\"void g_dbus_object_skeleton_remove_interface (GDBusObjectSkeleton *object, GDBusInterfaceSkeleton *interface_);\";subroutine g_dbus_object_skeleton_remove_interface(object, interface_) bind(c)\r\ng;g_dbus_object_skeleton_remove_interface_by_name;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusobjectskeleton.h;\"void g_dbus_object_skeleton_remove_interface_by_name (GDBusObjectSkeleton *object, const gchar *interface_name);\";subroutine g_dbus_object_skeleton_remove_interface_by_name(object, interface_name) bind(c)\r\ng;g_dbus_object_skeleton_set_object_path;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusobjectskeleton.h;\"void g_dbus_object_skeleton_set_object_path (GDBusObjectSkeleton *object, const gchar *object_path);\";subroutine g_dbus_object_skeleton_set_object_path(object, object_path) bind(c)\r\ng;g_dbus_property_info_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusintrospection.h;\"GType g_dbus_property_info_get_type (void) ;\";function g_dbus_property_info_get_type() bind(c)\r\ng;g_dbus_property_info_ref;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusintrospection.h;\"GDBusPropertyInfo *g_dbus_property_info_ref (GDBusPropertyInfo *info);\";function g_dbus_property_info_ref(info) bind(c)\r\ng;g_dbus_property_info_unref;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusintrospection.h;\"void g_dbus_property_info_unref (GDBusPropertyInfo *info);\";subroutine g_dbus_property_info_unref(info) bind(c)\r\ng;g_dbus_proxy_call;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusproxy.h;\"void g_dbus_proxy_call (GDBusProxy *proxy, const gchar *method_name, GVariant *parameters, GDBusCallFlags flags, gint timeout_msec, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_dbus_proxy_call(proxy, method_name, parameters, flags, timeout_msec, cancellable, callback, user_data) bind(c)\r\ng;g_dbus_proxy_call_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusproxy.h;\"GVariant *g_dbus_proxy_call_finish (GDBusProxy *proxy, GAsyncResult *res, GError **error);\";function g_dbus_proxy_call_finish(proxy, res, error) bind(c)\r\ng;g_dbus_proxy_call_sync;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusproxy.h;\"GVariant *g_dbus_proxy_call_sync (GDBusProxy *proxy, const gchar *method_name, GVariant *parameters, GDBusCallFlags flags, gint timeout_msec, GCancellable *cancellable, GError **error);\";function g_dbus_proxy_call_sync(proxy, method_name, parameters, flags, timeout_msec, cancellable, error) bind(c)\r\ng;g_dbus_proxy_call_with_unix_fd_list;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusproxy.h;\"void g_dbus_proxy_call_with_unix_fd_list (GDBusProxy *proxy, const gchar *method_name, GVariant *parameters, GDBusCallFlags flags, gint timeout_msec, GUnixFDList *fd_list, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_dbus_proxy_call_with_unix_fd_list(proxy, method_name, parameters, flags, timeout_msec, fd_list, cancellable, callback, user_data) bind(c)\r\ng;g_dbus_proxy_call_with_unix_fd_list_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusproxy.h;\"GVariant *g_dbus_proxy_call_with_unix_fd_list_finish (GDBusProxy *proxy, GUnixFDList **out_fd_list, GAsyncResult *res, GError **error);\";function g_dbus_proxy_call_with_unix_fd_list_finish(proxy, out_fd_list, res, error) bind(c)\r\ng;g_dbus_proxy_call_with_unix_fd_list_sync;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusproxy.h;\"GVariant *g_dbus_proxy_call_with_unix_fd_list_sync (GDBusProxy *proxy, const gchar *method_name, GVariant *parameters, GDBusCallFlags flags, gint timeout_msec, GUnixFDList *fd_list, GUnixFDList **out_fd_list, GCancellable *cancellable, GError **error);\";function g_dbus_proxy_call_with_unix_fd_list_sync(proxy, method_name, parameters, flags, timeout_msec, fd_list, out_fd_list, cancellable, error) bind(c)\r\ng;g_dbus_proxy_get_cached_property;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusproxy.h;\"GVariant *g_dbus_proxy_get_cached_property (GDBusProxy *proxy, const gchar *property_name);\";function g_dbus_proxy_get_cached_property(proxy, property_name) bind(c)\r\ng;g_dbus_proxy_get_cached_property_names;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusproxy.h;\"gchar **g_dbus_proxy_get_cached_property_names (GDBusProxy *proxy);\";function g_dbus_proxy_get_cached_property_names(proxy) bind(c)\r\ng;g_dbus_proxy_get_connection;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusproxy.h;\"GDBusConnection *g_dbus_proxy_get_connection (GDBusProxy *proxy);\";function g_dbus_proxy_get_connection(proxy) bind(c)\r\ng;g_dbus_proxy_get_default_timeout;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusproxy.h;\"gint g_dbus_proxy_get_default_timeout (GDBusProxy *proxy);\";function g_dbus_proxy_get_default_timeout(proxy) bind(c)\r\ng;g_dbus_proxy_get_flags;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusproxy.h;\"GDBusProxyFlags g_dbus_proxy_get_flags (GDBusProxy *proxy);\";function g_dbus_proxy_get_flags(proxy) bind(c)\r\ng;g_dbus_proxy_get_interface_info;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusproxy.h;\"GDBusInterfaceInfo *g_dbus_proxy_get_interface_info (GDBusProxy *proxy);\";function g_dbus_proxy_get_interface_info(proxy) bind(c)\r\ng;g_dbus_proxy_get_interface_name;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusproxy.h;\"const gchar *g_dbus_proxy_get_interface_name (GDBusProxy *proxy);\";function g_dbus_proxy_get_interface_name(proxy) bind(c)\r\ng;g_dbus_proxy_get_name;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusproxy.h;\"const gchar *g_dbus_proxy_get_name (GDBusProxy *proxy);\";function g_dbus_proxy_get_name(proxy) bind(c)\r\ng;g_dbus_proxy_get_name_owner;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusproxy.h;\"gchar *g_dbus_proxy_get_name_owner (GDBusProxy *proxy);\";function g_dbus_proxy_get_name_owner(proxy) bind(c)\r\ng;g_dbus_proxy_get_object_path;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusproxy.h;\"const gchar *g_dbus_proxy_get_object_path (GDBusProxy *proxy);\";function g_dbus_proxy_get_object_path(proxy) bind(c)\r\ng;g_dbus_proxy_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusproxy.h;\"GType g_dbus_proxy_get_type (void) ;\";function g_dbus_proxy_get_type() bind(c)\r\ng;g_dbus_proxy_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusproxy.h;\"void g_dbus_proxy_new (GDBusConnection *connection, GDBusProxyFlags flags, GDBusInterfaceInfo *info, const gchar *name, const gchar *object_path, const gchar *interface_name, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_dbus_proxy_new(connection, flags, info, name, object_path, interface_name, cancellable, callback, user_data) bind(c)\r\ng;g_dbus_proxy_new_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusproxy.h;\"GDBusProxy *g_dbus_proxy_new_finish (GAsyncResult *res, GError **error);\";function g_dbus_proxy_new_finish(res, error) bind(c)\r\ng;g_dbus_proxy_new_for_bus;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusproxy.h;\"void g_dbus_proxy_new_for_bus (GBusType bus_type, GDBusProxyFlags flags, GDBusInterfaceInfo *info, const gchar *name, const gchar *object_path, const gchar *interface_name, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_dbus_proxy_new_for_bus(bus_type, flags, info, name, object_path, interface_name, cancellable, callback, user_data) bind(c)\r\ng;g_dbus_proxy_new_for_bus_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusproxy.h;\"GDBusProxy *g_dbus_proxy_new_for_bus_finish (GAsyncResult *res, GError **error);\";function g_dbus_proxy_new_for_bus_finish(res, error) bind(c)\r\ng;g_dbus_proxy_new_for_bus_sync;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusproxy.h;\"GDBusProxy *g_dbus_proxy_new_for_bus_sync (GBusType bus_type, GDBusProxyFlags flags, GDBusInterfaceInfo *info, const gchar *name, const gchar *object_path, const gchar *interface_name, GCancellable *cancellable, GError **error);\";function g_dbus_proxy_new_for_bus_sync(bus_type, flags, info, name, object_path, interface_name, cancellable, error) bind(c)\r\ng;g_dbus_proxy_new_sync;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusproxy.h;\"GDBusProxy *g_dbus_proxy_new_sync (GDBusConnection *connection, GDBusProxyFlags flags, GDBusInterfaceInfo *info, const gchar *name, const gchar *object_path, const gchar *interface_name, GCancellable *cancellable, GError **error);\";function g_dbus_proxy_new_sync(connection, flags, info, name, object_path, interface_name, cancellable, error) bind(c)\r\ng;g_dbus_proxy_set_cached_property;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusproxy.h;\"void g_dbus_proxy_set_cached_property (GDBusProxy *proxy, const gchar *property_name, GVariant *value);\";subroutine g_dbus_proxy_set_cached_property(proxy, property_name, value) bind(c)\r\ng;g_dbus_proxy_set_default_timeout;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusproxy.h;\"void g_dbus_proxy_set_default_timeout (GDBusProxy *proxy, gint timeout_msec);\";subroutine g_dbus_proxy_set_default_timeout(proxy, timeout_msec) bind(c)\r\ng;g_dbus_proxy_set_interface_info;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusproxy.h;\"void g_dbus_proxy_set_interface_info (GDBusProxy *proxy, GDBusInterfaceInfo *info);\";subroutine g_dbus_proxy_set_interface_info(proxy, info) bind(c)\r\ng;g_dbus_server_get_client_address;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusserver.h;\"const gchar *g_dbus_server_get_client_address (GDBusServer *server);\";function g_dbus_server_get_client_address(server) bind(c)\r\ng;g_dbus_server_get_flags;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusserver.h;\"GDBusServerFlags g_dbus_server_get_flags (GDBusServer *server);\";function g_dbus_server_get_flags(server) bind(c)\r\ng;g_dbus_server_get_guid;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusserver.h;\"const gchar *g_dbus_server_get_guid (GDBusServer *server);\";function g_dbus_server_get_guid(server) bind(c)\r\ng;g_dbus_server_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusserver.h;\"GType g_dbus_server_get_type (void) ;\";function g_dbus_server_get_type() bind(c)\r\ng;g_dbus_server_is_active;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusserver.h;\"gboolean g_dbus_server_is_active (GDBusServer *server);\";function g_dbus_server_is_active(server) bind(c)\r\ng;g_dbus_server_new_sync;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusserver.h;\"GDBusServer *g_dbus_server_new_sync (const gchar *address, GDBusServerFlags flags, const gchar *guid, GDBusAuthObserver *observer, GCancellable *cancellable, GError **error);\";function g_dbus_server_new_sync(address, flags, guid, observer, cancellable, error) bind(c)\r\ng;g_dbus_server_start;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusserver.h;\"void g_dbus_server_start (GDBusServer *server);\";subroutine g_dbus_server_start(server) bind(c)\r\ng;g_dbus_server_stop;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusserver.h;\"void g_dbus_server_stop (GDBusServer *server);\";subroutine g_dbus_server_stop(server) bind(c)\r\ng;g_dbus_signal_info_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusintrospection.h;\"GType g_dbus_signal_info_get_type (void) ;\";function g_dbus_signal_info_get_type() bind(c)\r\ng;g_dbus_signal_info_ref;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusintrospection.h;\"GDBusSignalInfo *g_dbus_signal_info_ref (GDBusSignalInfo *info);\";function g_dbus_signal_info_ref(info) bind(c)\r\ng;g_dbus_signal_info_unref;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusintrospection.h;\"void g_dbus_signal_info_unref (GDBusSignalInfo *info);\";subroutine g_dbus_signal_info_unref(info) bind(c)\r\ng;g_dbus_unescape_object_path;GIO_AVAILABLE_IN_2_68;glib-auto.f90;/usr/include/glib-2.0/gio/gdbusutils.h;\"guint8 *g_dbus_unescape_object_path (const gchar *s);\";function g_dbus_unescape_object_path(s) bind(c)\r\ng;g_dcgettext;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ggettext.h;\"const gchar *g_dcgettext (const gchar *domain, const gchar *msgid, gint category) ;\";function g_dcgettext(domain, msgid, category) bind(c)\r\ng;g_debug_controller_dbus_new;GIO_AVAILABLE_IN_2_72;glib-auto.f90;/usr/include/glib-2.0/gio/gdebugcontrollerdbus.h;\"GDebugControllerDBus *g_debug_controller_dbus_new (GDBusConnection *connection, GCancellable *cancellable, GError **error);\";function g_debug_controller_dbus_new(connection, cancellable, error) bind(c)\r\ng;g_debug_controller_dbus_stop;GIO_AVAILABLE_IN_2_72;glib-auto.f90;/usr/include/glib-2.0/gio/gdebugcontrollerdbus.h;\"void g_debug_controller_dbus_stop (GDebugControllerDBus *self);\";subroutine g_debug_controller_dbus_stop(self) bind(c)\r\ng;g_debug_controller_get_debug_enabled;GIO_AVAILABLE_IN_2_72;glib-auto.f90;/usr/include/glib-2.0/gio/gdebugcontroller.h;\"gboolean g_debug_controller_get_debug_enabled (GDebugController *self);\";function g_debug_controller_get_debug_enabled(self) bind(c)\r\ng;g_debug_controller_set_debug_enabled;GIO_AVAILABLE_IN_2_72;glib-auto.f90;/usr/include/glib-2.0/gio/gdebugcontroller.h;\"void g_debug_controller_set_debug_enabled (GDebugController *self, gboolean debug_enabled);\";subroutine g_debug_controller_set_debug_enabled(self, debug_enabled) bind(c)\r\ng;g_dgettext;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ggettext.h;\"const gchar *g_dgettext (const gchar *domain, const gchar *msgid) ;\";function g_dgettext(domain, msgid) bind(c)\r\ng;g_dir_close;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdir.h;\"void g_dir_close (GDir *dir);\";subroutine g_dir_close(dir) bind(c)\r\ng;g_dir_get_type;GOBJECT_AVAILABLE_IN_2_80;glib-auto.f90;/usr/include/glib-2.0/gobject/glib-types.h;\"GType g_dir_get_type (void) ;\";function g_dir_get_type() bind(c)\r\ng;g_dir_make_tmp;GLIB_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/glib/gfileutils.h;\"gchar *g_dir_make_tmp (const gchar *tmpl, GError **error);\";function g_dir_make_tmp(tmpl, error) bind(c)\r\ng;g_dir_open;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdir.h;\"GDir * g_dir_open (const gchar *path, guint flags, GError **error);\";function g_dir_open(path, flags, error) bind(c)\r\ng;g_dir_read_name;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdir.h;\"const gchar * g_dir_read_name (GDir *dir);\";function g_dir_read_name(dir) bind(c)\r\ng;g_dir_ref;GLIB_AVAILABLE_IN_2_80;glib-auto.f90;/usr/include/glib-2.0/glib/gdir.h;\"GDir * g_dir_ref (GDir *dir);\";function g_dir_ref(dir) bind(c)\r\ng;g_dir_rewind;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gdir.h;\"void g_dir_rewind (GDir *dir);\";subroutine g_dir_rewind(dir) bind(c)\r\ng;g_dir_unref;GLIB_AVAILABLE_IN_2_80;glib-auto.f90;/usr/include/glib-2.0/glib/gdir.h;\"void g_dir_unref (GDir *dir);\";subroutine g_dir_unref(dir) bind(c)\r\ng;g_direct_equal;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"gboolean g_direct_equal (gconstpointer v1, gconstpointer v2) ;\";function g_direct_equal(v1, v2) bind(c)\r\ng;g_direct_hash;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"guint g_direct_hash (gconstpointer v) ;\";function g_direct_hash(v) bind(c)\r\ng;g_dngettext;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ggettext.h;\"const gchar *g_dngettext (const gchar *domain, const gchar *msgid, const gchar *msgid_plural, gulong n) ;\";function g_dngettext(domain, msgid, msgid_plural, n) bind(c)\r\ng;g_double_equal;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"gboolean g_double_equal (gconstpointer v1, gconstpointer v2);\";function g_double_equal(v1, v2) bind(c)\r\ng;g_double_hash;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"guint g_double_hash (gconstpointer v);\";function g_double_hash(v) bind(c)\r\ng;g_dpgettext;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ggettext.h;\"const gchar *g_dpgettext (const gchar *domain, const gchar *msgctxtid, gsize msgidoffset) ;\";function g_dpgettext(domain, msgctxtid, msgidoffset) bind(c)\r\ng;g_dpgettext2;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ggettext.h;\"const gchar *g_dpgettext2 (const gchar *domain, const gchar *context, const gchar *msgid) ;\";function g_dpgettext2(domain, context, msgid) bind(c)\r\ng;g_drive_can_eject;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdrive.h;\"gboolean g_drive_can_eject (GDrive *drive);\";function g_drive_can_eject(drive) bind(c)\r\ng;g_drive_can_poll_for_media;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdrive.h;\"gboolean g_drive_can_poll_for_media (GDrive *drive);\";function g_drive_can_poll_for_media(drive) bind(c)\r\ng;g_drive_can_start;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdrive.h;\"gboolean g_drive_can_start (GDrive *drive);\";function g_drive_can_start(drive) bind(c)\r\ng;g_drive_can_start_degraded;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdrive.h;\"gboolean g_drive_can_start_degraded (GDrive *drive);\";function g_drive_can_start_degraded(drive) bind(c)\r\ng;g_drive_can_stop;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdrive.h;\"gboolean g_drive_can_stop (GDrive *drive);\";function g_drive_can_stop(drive) bind(c)\r\ng;g_drive_eject;GIO_DEPRECATED_FOR(g_drive_eject_with_operation);glib-auto.f90;/usr/include/glib-2.0/gio/gdrive.h;\"void g_drive_eject (GDrive *drive, GMountUnmountFlags flags, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_drive_eject(drive, flags, cancellable, callback, user_data) bind(c)\r\ng;g_drive_eject_finish;GIO_DEPRECATED_FOR(g_drive_eject_with_operation_finish);glib-auto.f90;/usr/include/glib-2.0/gio/gdrive.h;\"gboolean g_drive_eject_finish (GDrive *drive, GAsyncResult *result, GError **error);\";function g_drive_eject_finish(drive, result, error) bind(c)\r\ng;g_drive_eject_with_operation;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdrive.h;\"void g_drive_eject_with_operation (GDrive *drive, GMountUnmountFlags flags, GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_drive_eject_with_operation(drive, flags, mount_operation, cancellable, callback, user_data) bind(c)\r\ng;g_drive_eject_with_operation_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdrive.h;\"gboolean g_drive_eject_with_operation_finish (GDrive *drive, GAsyncResult *result, GError **error);\";function g_drive_eject_with_operation_finish(drive, result, error) bind(c)\r\ng;g_drive_enumerate_identifiers;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdrive.h;\"char ** g_drive_enumerate_identifiers (GDrive *drive);\";function g_drive_enumerate_identifiers(drive) bind(c)\r\ng;g_drive_get_icon;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdrive.h;\"GIcon * g_drive_get_icon (GDrive *drive);\";function g_drive_get_icon(drive) bind(c)\r\ng;g_drive_get_identifier;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdrive.h;\"char * g_drive_get_identifier (GDrive *drive, const char *kind);\";function g_drive_get_identifier(drive, kind) bind(c)\r\ng;g_drive_get_name;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdrive.h;\"char * g_drive_get_name (GDrive *drive);\";function g_drive_get_name(drive) bind(c)\r\ng;g_drive_get_sort_key;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gdrive.h;\"const gchar *g_drive_get_sort_key (GDrive *drive);\";function g_drive_get_sort_key(drive) bind(c)\r\ng;g_drive_get_start_stop_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdrive.h;\"GDriveStartStopType g_drive_get_start_stop_type (GDrive *drive);\";function g_drive_get_start_stop_type(drive) bind(c)\r\ng;g_drive_get_symbolic_icon;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdrive.h;\"GIcon * g_drive_get_symbolic_icon (GDrive *drive);\";function g_drive_get_symbolic_icon(drive) bind(c)\r\ng;g_drive_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdrive.h;\"GType g_drive_get_type (void) ;\";function g_drive_get_type() bind(c)\r\ng;g_drive_get_volumes;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdrive.h;\"GList * g_drive_get_volumes (GDrive *drive);\";function g_drive_get_volumes(drive) bind(c)\r\ng;g_drive_has_media;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdrive.h;\"gboolean g_drive_has_media (GDrive *drive);\";function g_drive_has_media(drive) bind(c)\r\ng;g_drive_has_volumes;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdrive.h;\"gboolean g_drive_has_volumes (GDrive *drive);\";function g_drive_has_volumes(drive) bind(c)\r\ng;g_drive_is_media_check_automatic;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdrive.h;\"gboolean g_drive_is_media_check_automatic (GDrive *drive);\";function g_drive_is_media_check_automatic(drive) bind(c)\r\ng;g_drive_is_media_removable;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdrive.h;\"gboolean g_drive_is_media_removable (GDrive *drive);\";function g_drive_is_media_removable(drive) bind(c)\r\ng;g_drive_is_removable;GIO_AVAILABLE_IN_2_50;glib-auto.f90;/usr/include/glib-2.0/gio/gdrive.h;\"gboolean g_drive_is_removable (GDrive *drive);\";function g_drive_is_removable(drive) bind(c)\r\ng;g_drive_poll_for_media;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdrive.h;\"void g_drive_poll_for_media (GDrive *drive, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_drive_poll_for_media(drive, cancellable, callback, user_data) bind(c)\r\ng;g_drive_poll_for_media_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdrive.h;\"gboolean g_drive_poll_for_media_finish (GDrive *drive, GAsyncResult *result, GError **error);\";function g_drive_poll_for_media_finish(drive, result, error) bind(c)\r\ng;g_drive_start;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdrive.h;\"void g_drive_start (GDrive *drive, GDriveStartFlags flags, GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_drive_start(drive, flags, mount_operation, cancellable, callback, user_data) bind(c)\r\ng;g_drive_start_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdrive.h;\"gboolean g_drive_start_finish (GDrive *drive, GAsyncResult *result, GError **error);\";function g_drive_start_finish(drive, result, error) bind(c)\r\ng;g_drive_stop;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdrive.h;\"void g_drive_stop (GDrive *drive, GMountUnmountFlags flags, GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_drive_stop(drive, flags, mount_operation, cancellable, callback, user_data) bind(c)\r\ng;g_drive_stop_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gdrive.h;\"gboolean g_drive_stop_finish (GDrive *drive, GAsyncResult *result, GError **error);\";function g_drive_stop_finish(drive, result, error) bind(c)\r\ng;g_dtls_client_connection_get_accepted_cas;GIO_AVAILABLE_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/gio/gdtlsclientconnection.h;\"GList * g_dtls_client_connection_get_accepted_cas (GDtlsClientConnection *conn);\";function g_dtls_client_connection_get_accepted_cas(conn) bind(c)\r\ng;g_dtls_client_connection_get_server_identity;GIO_AVAILABLE_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/gio/gdtlsclientconnection.h;\"GSocketConnectable *g_dtls_client_connection_get_server_identity (GDtlsClientConnection *conn);\";function g_dtls_client_connection_get_server_identity(conn) bind(c)\r\ng;g_dtls_client_connection_get_type;GIO_AVAILABLE_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/gio/gdtlsclientconnection.h;\"GType g_dtls_client_connection_get_type (void) ;\";function g_dtls_client_connection_get_type() bind(c)\r\ng;g_dtls_client_connection_get_validation_flags;GIO_AVAILABLE_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/gio/gdtlsclientconnection.h;\"GTlsCertificateFlags g_dtls_client_connection_get_validation_flags (GDtlsClientConnection *conn);\";function g_dtls_client_connection_get_validation_flags(conn) bind(c)\r\ng;g_dtls_client_connection_new;GIO_AVAILABLE_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/gio/gdtlsclientconnection.h;\"GDatagramBased *g_dtls_client_connection_new (GDatagramBased *base_socket, GSocketConnectable *server_identity, GError **error);\";function g_dtls_client_connection_new(base_socket, server_identity, error) bind(c)\r\ng;g_dtls_client_connection_set_server_identity;GIO_AVAILABLE_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/gio/gdtlsclientconnection.h;\"void g_dtls_client_connection_set_server_identity (GDtlsClientConnection *conn, GSocketConnectable *identity);\";subroutine g_dtls_client_connection_set_server_identity(conn, identity) bind(c)\r\ng;g_dtls_client_connection_set_validation_flags;GIO_AVAILABLE_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/gio/gdtlsclientconnection.h;\"void g_dtls_client_connection_set_validation_flags (GDtlsClientConnection *conn, GTlsCertificateFlags flags);\";subroutine g_dtls_client_connection_set_validation_flags(conn, flags) bind(c)\r\ng;g_dtls_connection_close;GIO_AVAILABLE_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/gio/gdtlsconnection.h;\"gboolean g_dtls_connection_close (GDtlsConnection *conn, GCancellable *cancellable, GError **error);\";function g_dtls_connection_close(conn, cancellable, error) bind(c)\r\ng;g_dtls_connection_close_async;GIO_AVAILABLE_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/gio/gdtlsconnection.h;\"void g_dtls_connection_close_async (GDtlsConnection *conn, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_dtls_connection_close_async(conn, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_dtls_connection_close_finish;GIO_AVAILABLE_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/gio/gdtlsconnection.h;\"gboolean g_dtls_connection_close_finish (GDtlsConnection *conn, GAsyncResult *result, GError **error);\";function g_dtls_connection_close_finish(conn, result, error) bind(c)\r\ng;g_dtls_connection_emit_accept_certificate;GIO_AVAILABLE_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/gio/gdtlsconnection.h;\"gboolean g_dtls_connection_emit_accept_certificate (GDtlsConnection *conn, GTlsCertificate *peer_cert, GTlsCertificateFlags errors);\";function g_dtls_connection_emit_accept_certificate(conn, peer_cert, errors) bind(c)\r\ng;g_dtls_connection_get_certificate;GIO_AVAILABLE_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/gio/gdtlsconnection.h;\"GTlsCertificate *g_dtls_connection_get_certificate (GDtlsConnection *conn);\";function g_dtls_connection_get_certificate(conn) bind(c)\r\ng;g_dtls_connection_get_channel_binding_data;GIO_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/gio/gdtlsconnection.h;\"gboolean g_dtls_connection_get_channel_binding_data (GDtlsConnection *conn, GTlsChannelBindingType type, GByteArray *data, GError **error);\";function g_dtls_connection_get_channel_binding_data(conn, type, data, error) bind(c)\r\ng;g_dtls_connection_get_ciphersuite_name;GIO_AVAILABLE_IN_2_70;glib-auto.f90;/usr/include/glib-2.0/gio/gdtlsconnection.h;\"gchar * g_dtls_connection_get_ciphersuite_name (GDtlsConnection *conn);\";function g_dtls_connection_get_ciphersuite_name(conn) bind(c)\r\ng;g_dtls_connection_get_database;GIO_AVAILABLE_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/gio/gdtlsconnection.h;\"GTlsDatabase *g_dtls_connection_get_database (GDtlsConnection *conn);\";function g_dtls_connection_get_database(conn) bind(c)\r\ng;g_dtls_connection_get_interaction;GIO_AVAILABLE_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/gio/gdtlsconnection.h;\"GTlsInteraction *g_dtls_connection_get_interaction (GDtlsConnection *conn);\";function g_dtls_connection_get_interaction(conn) bind(c)\r\ng;g_dtls_connection_get_negotiated_protocol;GIO_AVAILABLE_IN_2_60;glib-auto.f90;/usr/include/glib-2.0/gio/gdtlsconnection.h;\"const gchar * g_dtls_connection_get_negotiated_protocol (GDtlsConnection *conn);\";function g_dtls_connection_get_negotiated_protocol(conn) bind(c)\r\ng;g_dtls_connection_get_peer_certificate;GIO_AVAILABLE_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/gio/gdtlsconnection.h;\"GTlsCertificate *g_dtls_connection_get_peer_certificate (GDtlsConnection *conn);\";function g_dtls_connection_get_peer_certificate(conn) bind(c)\r\ng;g_dtls_connection_get_peer_certificate_errors;GIO_AVAILABLE_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/gio/gdtlsconnection.h;\"GTlsCertificateFlags g_dtls_connection_get_peer_certificate_errors (GDtlsConnection *conn);\";function g_dtls_connection_get_peer_certificate_errors(conn) bind(c)\r\ng;g_dtls_connection_get_protocol_version;GIO_AVAILABLE_IN_2_70;glib-auto.f90;/usr/include/glib-2.0/gio/gdtlsconnection.h;\"GTlsProtocolVersion g_dtls_connection_get_protocol_version (GDtlsConnection *conn);\";function g_dtls_connection_get_protocol_version(conn) bind(c)\r\ng;g_dtls_connection_get_require_close_notify;GIO_AVAILABLE_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/gio/gdtlsconnection.h;\"gboolean g_dtls_connection_get_require_close_notify (GDtlsConnection *conn);\";function g_dtls_connection_get_require_close_notify(conn) bind(c)\r\ng;g_dtls_connection_get_type;GIO_AVAILABLE_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/gio/gdtlsconnection.h;\"GType g_dtls_connection_get_type (void) ;\";function g_dtls_connection_get_type() bind(c)\r\ng;g_dtls_connection_handshake;GIO_AVAILABLE_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/gio/gdtlsconnection.h;\"gboolean g_dtls_connection_handshake (GDtlsConnection *conn, GCancellable *cancellable, GError **error);\";function g_dtls_connection_handshake(conn, cancellable, error) bind(c)\r\ng;g_dtls_connection_handshake_async;GIO_AVAILABLE_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/gio/gdtlsconnection.h;\"void g_dtls_connection_handshake_async (GDtlsConnection *conn, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_dtls_connection_handshake_async(conn, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_dtls_connection_handshake_finish;GIO_AVAILABLE_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/gio/gdtlsconnection.h;\"gboolean g_dtls_connection_handshake_finish (GDtlsConnection *conn, GAsyncResult *result, GError **error);\";function g_dtls_connection_handshake_finish(conn, result, error) bind(c)\r\ng;g_dtls_connection_set_advertised_protocols;GIO_AVAILABLE_IN_2_60;glib-auto.f90;/usr/include/glib-2.0/gio/gdtlsconnection.h;\"void g_dtls_connection_set_advertised_protocols (GDtlsConnection *conn, const gchar * const *protocols);\";subroutine g_dtls_connection_set_advertised_protocols(conn, protocols) bind(c)\r\ng;g_dtls_connection_set_certificate;GIO_AVAILABLE_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/gio/gdtlsconnection.h;\"void g_dtls_connection_set_certificate (GDtlsConnection *conn, GTlsCertificate *certificate);\";subroutine g_dtls_connection_set_certificate(conn, certificate) bind(c)\r\ng;g_dtls_connection_set_database;GIO_AVAILABLE_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/gio/gdtlsconnection.h;\"void g_dtls_connection_set_database (GDtlsConnection *conn, GTlsDatabase *database);\";subroutine g_dtls_connection_set_database(conn, database) bind(c)\r\ng;g_dtls_connection_set_interaction;GIO_AVAILABLE_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/gio/gdtlsconnection.h;\"void g_dtls_connection_set_interaction (GDtlsConnection *conn, GTlsInteraction *interaction);\";subroutine g_dtls_connection_set_interaction(conn, interaction) bind(c)\r\ng;g_dtls_connection_set_require_close_notify;GIO_AVAILABLE_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/gio/gdtlsconnection.h;\"void g_dtls_connection_set_require_close_notify (GDtlsConnection *conn, gboolean require_close_notify);\";subroutine g_dtls_connection_set_require_close_notify(conn, require_close_notify) bind(c)\r\ng;g_dtls_connection_shutdown;GIO_AVAILABLE_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/gio/gdtlsconnection.h;\"gboolean g_dtls_connection_shutdown (GDtlsConnection *conn, gboolean shutdown_read, gboolean shutdown_write, GCancellable *cancellable, GError **error);\";function g_dtls_connection_shutdown(conn, shutdown_read, shutdown_write, cancellable, error) bind(c)\r\ng;g_dtls_connection_shutdown_async;GIO_AVAILABLE_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/gio/gdtlsconnection.h;\"void g_dtls_connection_shutdown_async (GDtlsConnection *conn, gboolean shutdown_read, gboolean shutdown_write, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_dtls_connection_shutdown_async(conn, shutdown_read, shutdown_write, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_dtls_connection_shutdown_finish;GIO_AVAILABLE_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/gio/gdtlsconnection.h;\"gboolean g_dtls_connection_shutdown_finish (GDtlsConnection *conn, GAsyncResult *result, GError **error);\";function g_dtls_connection_shutdown_finish(conn, result, error) bind(c)\r\ng;g_dtls_server_connection_get_type;GIO_AVAILABLE_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/gio/gdtlsserverconnection.h;\"GType g_dtls_server_connection_get_type (void) ;\";function g_dtls_server_connection_get_type() bind(c)\r\ng;g_dtls_server_connection_new;GIO_AVAILABLE_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/gio/gdtlsserverconnection.h;\"GDatagramBased *g_dtls_server_connection_new (GDatagramBased *base_socket, GTlsCertificate *certificate, GError **error);\";function g_dtls_server_connection_new(base_socket, certificate, error) bind(c)\r\ng;g_emblem_get_icon;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gemblem.h;\"GIcon *g_emblem_get_icon (GEmblem *emblem);\";function g_emblem_get_icon(emblem) bind(c)\r\ng;g_emblem_get_origin;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gemblem.h;\"GEmblemOrigin g_emblem_get_origin (GEmblem *emblem);\";function g_emblem_get_origin(emblem) bind(c)\r\ng;g_emblem_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gemblem.h;\"GType g_emblem_get_type (void) ;\";function g_emblem_get_type() bind(c)\r\ng;g_emblem_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gemblem.h;\"GEmblem *g_emblem_new (GIcon *icon);\";function g_emblem_new(icon) bind(c)\r\ng;g_emblem_new_with_origin;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gemblem.h;\"GEmblem *g_emblem_new_with_origin (GIcon *icon, GEmblemOrigin origin);\";function g_emblem_new_with_origin(icon, origin) bind(c)\r\ng;g_emblemed_icon_add_emblem;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gemblemedicon.h;\"void g_emblemed_icon_add_emblem (GEmblemedIcon *emblemed, GEmblem *emblem);\";subroutine g_emblemed_icon_add_emblem(emblemed, emblem) bind(c)\r\ng;g_emblemed_icon_clear_emblems;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gemblemedicon.h;\"void g_emblemed_icon_clear_emblems (GEmblemedIcon *emblemed);\";subroutine g_emblemed_icon_clear_emblems(emblemed) bind(c)\r\ng;g_emblemed_icon_get_emblems;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gemblemedicon.h;\"GList *g_emblemed_icon_get_emblems (GEmblemedIcon *emblemed);\";function g_emblemed_icon_get_emblems(emblemed) bind(c)\r\ng;g_emblemed_icon_get_icon;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gemblemedicon.h;\"GIcon *g_emblemed_icon_get_icon (GEmblemedIcon *emblemed);\";function g_emblemed_icon_get_icon(emblemed) bind(c)\r\ng;g_emblemed_icon_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gemblemedicon.h;\"GType g_emblemed_icon_get_type (void) ;\";function g_emblemed_icon_get_type() bind(c)\r\ng;g_emblemed_icon_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gemblemedicon.h;\"GIcon *g_emblemed_icon_new (GIcon *icon, GEmblem *emblem);\";function g_emblemed_icon_new(icon, emblem) bind(c)\r\ng;g_enum_complete_type_info;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/genums.h;\"void g_enum_complete_type_info (GType g_enum_type, GTypeInfo *info, const GEnumValue *const_values);\";subroutine g_enum_complete_type_info(g_enum_type, info, const_values) bind(c)\r\ng;g_enum_get_value;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/genums.h;\"GEnumValue* g_enum_get_value (GEnumClass *enum_class, gint value);\";function g_enum_get_value(enum_class, value) bind(c)\r\ng;g_enum_get_value_by_name;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/genums.h;\"GEnumValue* g_enum_get_value_by_name (GEnumClass *enum_class, const gchar *name);\";function g_enum_get_value_by_name(enum_class, name) bind(c)\r\ng;g_enum_get_value_by_nick;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/genums.h;\"GEnumValue* g_enum_get_value_by_nick (GEnumClass *enum_class, const gchar *nick);\";function g_enum_get_value_by_nick(enum_class, nick) bind(c)\r\ng;g_enum_register_static;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/genums.h;\"GType g_enum_register_static (const gchar *name, const GEnumValue *const_static_values);\";function g_enum_register_static(name, const_static_values) bind(c)\r\ng;g_enum_to_string;GOBJECT_AVAILABLE_IN_2_54;glib-auto.f90;/usr/include/glib-2.0/gobject/genums.h;\"gchar *g_enum_to_string (GType g_enum_type, gint value);\";function g_enum_to_string(g_enum_type, value) bind(c)\r\ng;g_environ_getenv;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/genviron.h;\"const gchar * g_environ_getenv (gchar **envp, const gchar *variable);\";function g_environ_getenv(envp, variable) bind(c)\r\ng;g_environ_setenv;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/genviron.h;\"gchar ** g_environ_setenv (gchar **envp, const gchar *variable, const gchar *value, gboolean overwrite) ;\";function g_environ_setenv(envp, variable, value, overwrite) bind(c)\r\ng;g_environ_unsetenv;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/genviron.h;\"gchar ** g_environ_unsetenv (gchar **envp, const gchar *variable) ;\";function g_environ_unsetenv(envp, variable) bind(c)\r\ng;g_error_copy;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gerror.h;\"GError* g_error_copy (const GError *error);\";function g_error_copy(error) bind(c)\r\ng;g_error_domain_register;GLIB_AVAILABLE_IN_2_68;glib-auto.f90;/usr/include/glib-2.0/glib/gerror.h;\"GQuark g_error_domain_register (const char *error_type_name, gsize error_type_private_size, GErrorInitFunc error_type_init, GErrorCopyFunc error_type_copy, GErrorClearFunc error_type_clear);\";function g_error_domain_register(error_type_name, error_type_private_size, error_type_init, error_type_copy, error_type_clear) bind(c)\r\ng;g_error_domain_register_static;GLIB_AVAILABLE_IN_2_68;glib-auto.f90;/usr/include/glib-2.0/glib/gerror.h;\"GQuark g_error_domain_register_static (const char *error_type_name, gsize error_type_private_size, GErrorInitFunc error_type_init, GErrorCopyFunc error_type_copy, GErrorClearFunc error_type_clear);\";function g_error_domain_register_static(error_type_name, error_type_private_size, error_type_init, error_type_copy, error_type_clear) bind(c)\r\ng;g_error_free;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gerror.h;\"void g_error_free (GError *error);\";subroutine g_error_free(error) bind(c)\r\ng;g_error_get_type;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/glib-types.h;\"GType g_error_get_type (void) ;\";function g_error_get_type() bind(c)\r\ng;g_error_matches;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gerror.h;\"gboolean g_error_matches (const GError *error, GQuark domain, gint code);\";function g_error_matches(error, domain, code) bind(c)\r\ng;g_error_new_literal;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gerror.h;\"GError* g_error_new_literal (GQuark domain, gint code, const gchar *message);\";function g_error_new_literal(domain, code, message) bind(c)\r\ng;g_error_new_valist;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gerror.h;\"GError* g_error_new_valist (GQuark domain, gint code, const gchar *format, va_list args) ;\";function g_error_new_valist(domain, code, format, args) bind(c)\r\ng;g_fdwalk_set_cloexec;GLIB_AVAILABLE_IN_2_80;glib-auto.f90;/usr/include/glib-2.0/glib-unix.h;\"int g_fdwalk_set_cloexec (int lowfd);\";function g_fdwalk_set_cloexec(lowfd) bind(c)\r\ng;g_file_append_to;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFileOutputStream * g_file_append_to (GFile *file, GFileCreateFlags flags, GCancellable *cancellable, GError **error);\";function g_file_append_to(file, flags, cancellable, error) bind(c)\r\ng;g_file_append_to_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"void g_file_append_to_async (GFile *file, GFileCreateFlags flags, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_append_to_async(file, flags, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_file_append_to_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFileOutputStream * g_file_append_to_finish (GFile *file, GAsyncResult *res, GError **error);\";function g_file_append_to_finish(file, res, error) bind(c)\r\ng;g_file_attribute_info_list_add;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileattribute.h;\"void g_file_attribute_info_list_add (GFileAttributeInfoList *list, const char *name, GFileAttributeType type, GFileAttributeInfoFlags flags);\";subroutine g_file_attribute_info_list_add(list, name, type, flags) bind(c)\r\ng;g_file_attribute_info_list_dup;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileattribute.h;\"GFileAttributeInfoList * g_file_attribute_info_list_dup (GFileAttributeInfoList *list);\";function g_file_attribute_info_list_dup(list) bind(c)\r\ng;g_file_attribute_info_list_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileattribute.h;\"GType g_file_attribute_info_list_get_type (void);\";function g_file_attribute_info_list_get_type() bind(c)\r\ng;g_file_attribute_info_list_lookup;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileattribute.h;\"const GFileAttributeInfo *g_file_attribute_info_list_lookup (GFileAttributeInfoList *list, const char *name);\";function g_file_attribute_info_list_lookup(list, name) bind(c)\r\ng;g_file_attribute_info_list_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileattribute.h;\"GFileAttributeInfoList * g_file_attribute_info_list_new (void);\";function g_file_attribute_info_list_new() bind(c)\r\ng;g_file_attribute_info_list_ref;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileattribute.h;\"GFileAttributeInfoList * g_file_attribute_info_list_ref (GFileAttributeInfoList *list);\";function g_file_attribute_info_list_ref(list) bind(c)\r\ng;g_file_attribute_info_list_unref;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileattribute.h;\"void g_file_attribute_info_list_unref (GFileAttributeInfoList *list);\";subroutine g_file_attribute_info_list_unref(list) bind(c)\r\ng;g_file_attribute_matcher_enumerate_namespace;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"gboolean g_file_attribute_matcher_enumerate_namespace (GFileAttributeMatcher *matcher, const char *ns);\";function g_file_attribute_matcher_enumerate_namespace(matcher, ns) bind(c)\r\ng;g_file_attribute_matcher_enumerate_next;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"const char * g_file_attribute_matcher_enumerate_next (GFileAttributeMatcher *matcher);\";function g_file_attribute_matcher_enumerate_next(matcher) bind(c)\r\ng;g_file_attribute_matcher_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"GType g_file_attribute_matcher_get_type (void) ;\";function g_file_attribute_matcher_get_type() bind(c)\r\ng;g_file_attribute_matcher_matches;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"gboolean g_file_attribute_matcher_matches (GFileAttributeMatcher *matcher, const char *attribute);\";function g_file_attribute_matcher_matches(matcher, attribute) bind(c)\r\ng;g_file_attribute_matcher_matches_only;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"gboolean g_file_attribute_matcher_matches_only (GFileAttributeMatcher *matcher, const char *attribute);\";function g_file_attribute_matcher_matches_only(matcher, attribute) bind(c)\r\ng;g_file_attribute_matcher_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"GFileAttributeMatcher *g_file_attribute_matcher_new (const char *attributes);\";function g_file_attribute_matcher_new(attributes) bind(c)\r\ng;g_file_attribute_matcher_ref;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"GFileAttributeMatcher *g_file_attribute_matcher_ref (GFileAttributeMatcher *matcher);\";function g_file_attribute_matcher_ref(matcher) bind(c)\r\ng;g_file_attribute_matcher_subtract;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"GFileAttributeMatcher *g_file_attribute_matcher_subtract (GFileAttributeMatcher *matcher, GFileAttributeMatcher *subtract);\";function g_file_attribute_matcher_subtract(matcher, subtract) bind(c)\r\ng;g_file_attribute_matcher_to_string;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"char * g_file_attribute_matcher_to_string (GFileAttributeMatcher *matcher);\";function g_file_attribute_matcher_to_string(matcher) bind(c)\r\ng;g_file_attribute_matcher_unref;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"void g_file_attribute_matcher_unref (GFileAttributeMatcher *matcher);\";subroutine g_file_attribute_matcher_unref(matcher) bind(c)\r\ng;g_file_build_attribute_list_for_copy;GIO_AVAILABLE_IN_2_68;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"char * g_file_build_attribute_list_for_copy (GFile *file, GFileCopyFlags flags, GCancellable *cancellable, GError **error);\";function g_file_build_attribute_list_for_copy(file, flags, cancellable, error) bind(c)\r\ng;g_file_copy;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_copy (GFile *source, GFile *destination, GFileCopyFlags flags, GCancellable *cancellable, GFileProgressCallback progress_callback, gpointer progress_callback_data, GError **error);\";function g_file_copy(source, destination, flags, cancellable, progress_callback, progress_callback_data, error) bind(c)\r\ng;g_file_copy_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"void g_file_copy_async (GFile *source, GFile *destination, GFileCopyFlags flags, int io_priority, GCancellable *cancellable, GFileProgressCallback progress_callback, gpointer progress_callback_data, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_copy_async(source, destination, flags, io_priority, cancellable, progress_callback, progress_callback_data, callback, user_data) bind(c)\r\ng;g_file_copy_async_with_closures;GIO_AVAILABLE_IN_2_82;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"void g_file_copy_async_with_closures (GFile *source, GFile *destination, GFileCopyFlags flags, int io_priority, GCancellable *cancellable, GClosure *progress_callback_closure, GClosure *ready_callback_closure);\";subroutine g_file_copy_async_with_closures(source, destination, flags, io_priority, cancellable, progress_callback_closure, ready_callback_closure) bind(c)\r\ng;g_file_copy_attributes;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_copy_attributes (GFile *source, GFile *destination, GFileCopyFlags flags, GCancellable *cancellable, GError **error);\";function g_file_copy_attributes(source, destination, flags, cancellable, error) bind(c)\r\ng;g_file_copy_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_copy_finish (GFile *file, GAsyncResult *res, GError **error);\";function g_file_copy_finish(file, res, error) bind(c)\r\ng;g_file_create;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFileOutputStream * g_file_create (GFile *file, GFileCreateFlags flags, GCancellable *cancellable, GError **error);\";function g_file_create(file, flags, cancellable, error) bind(c)\r\ng;g_file_create_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"void g_file_create_async (GFile *file, GFileCreateFlags flags, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_create_async(file, flags, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_file_create_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFileOutputStream * g_file_create_finish (GFile *file, GAsyncResult *res, GError **error);\";function g_file_create_finish(file, res, error) bind(c)\r\ng;g_file_create_readwrite;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFileIOStream * g_file_create_readwrite (GFile *file, GFileCreateFlags flags, GCancellable *cancellable, GError **error);\";function g_file_create_readwrite(file, flags, cancellable, error) bind(c)\r\ng;g_file_create_readwrite_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"void g_file_create_readwrite_async (GFile *file, GFileCreateFlags flags, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_create_readwrite_async(file, flags, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_file_create_readwrite_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFileIOStream * g_file_create_readwrite_finish (GFile *file, GAsyncResult *res, GError **error);\";function g_file_create_readwrite_finish(file, res, error) bind(c)\r\ng;g_file_delete;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_delete (GFile *file, GCancellable *cancellable, GError **error);\";function g_file_delete(file, cancellable, error) bind(c)\r\ng;g_file_delete_async;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"void g_file_delete_async (GFile *file, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_delete_async(file, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_file_delete_finish;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_delete_finish (GFile *file, GAsyncResult *result, GError **error);\";function g_file_delete_finish(file, result, error) bind(c)\r\ng;g_file_dup;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFile * g_file_dup (GFile *file);\";function g_file_dup(file) bind(c)\r\ng;g_file_eject_mountable;GIO_DEPRECATED_FOR(g_file_eject_mountable_with_operation);glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"void g_file_eject_mountable (GFile *file, GMountUnmountFlags flags, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_eject_mountable(file, flags, cancellable, callback, user_data) bind(c)\r\ng;g_file_eject_mountable_finish;GIO_DEPRECATED_FOR(g_file_eject_mountable_with_operation_finish);glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_eject_mountable_finish (GFile *file, GAsyncResult *result, GError **error);\";function g_file_eject_mountable_finish(file, result, error) bind(c)\r\ng;g_file_eject_mountable_with_operation;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"void g_file_eject_mountable_with_operation (GFile *file, GMountUnmountFlags flags, GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_eject_mountable_with_operation(file, flags, mount_operation, cancellable, callback, user_data) bind(c)\r\ng;g_file_eject_mountable_with_operation_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_eject_mountable_with_operation_finish (GFile *file, GAsyncResult *result, GError **error);\";function g_file_eject_mountable_with_operation_finish(file, result, error) bind(c)\r\ng;g_file_enumerate_children;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFileEnumerator * g_file_enumerate_children (GFile *file, const char *attributes, GFileQueryInfoFlags flags, GCancellable *cancellable, GError **error);\";function g_file_enumerate_children(file, attributes, flags, cancellable, error) bind(c)\r\ng;g_file_enumerate_children_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"void g_file_enumerate_children_async (GFile *file, const char *attributes, GFileQueryInfoFlags flags, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_enumerate_children_async(file, attributes, flags, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_file_enumerate_children_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFileEnumerator * g_file_enumerate_children_finish (GFile *file, GAsyncResult *res, GError **error);\";function g_file_enumerate_children_finish(file, res, error) bind(c)\r\ng;g_file_enumerator_close;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileenumerator.h;\"gboolean g_file_enumerator_close (GFileEnumerator *enumerator, GCancellable *cancellable, GError **error);\";function g_file_enumerator_close(enumerator, cancellable, error) bind(c)\r\ng;g_file_enumerator_close_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileenumerator.h;\"void g_file_enumerator_close_async (GFileEnumerator *enumerator, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_enumerator_close_async(enumerator, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_file_enumerator_close_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileenumerator.h;\"gboolean g_file_enumerator_close_finish (GFileEnumerator *enumerator, GAsyncResult *result, GError **error);\";function g_file_enumerator_close_finish(enumerator, result, error) bind(c)\r\ng;g_file_enumerator_get_child;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gfileenumerator.h;\"GFile * g_file_enumerator_get_child (GFileEnumerator *enumerator, GFileInfo *info);\";function g_file_enumerator_get_child(enumerator, info) bind(c)\r\ng;g_file_enumerator_get_container;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileenumerator.h;\"GFile * g_file_enumerator_get_container (GFileEnumerator *enumerator);\";function g_file_enumerator_get_container(enumerator) bind(c)\r\ng;g_file_enumerator_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileenumerator.h;\"GType g_file_enumerator_get_type (void) ;\";function g_file_enumerator_get_type() bind(c)\r\ng;g_file_enumerator_has_pending;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileenumerator.h;\"gboolean g_file_enumerator_has_pending (GFileEnumerator *enumerator);\";function g_file_enumerator_has_pending(enumerator) bind(c)\r\ng;g_file_enumerator_is_closed;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileenumerator.h;\"gboolean g_file_enumerator_is_closed (GFileEnumerator *enumerator);\";function g_file_enumerator_is_closed(enumerator) bind(c)\r\ng;g_file_enumerator_iterate;GIO_AVAILABLE_IN_2_44;glib-auto.f90;/usr/include/glib-2.0/gio/gfileenumerator.h;\"gboolean g_file_enumerator_iterate (GFileEnumerator *direnum, GFileInfo **out_info, GFile **out_child, GCancellable *cancellable, GError **error);\";function g_file_enumerator_iterate(direnum, out_info, out_child, cancellable, error) bind(c)\r\ng;g_file_enumerator_next_file;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileenumerator.h;\"GFileInfo *g_file_enumerator_next_file (GFileEnumerator *enumerator, GCancellable *cancellable, GError **error);\";function g_file_enumerator_next_file(enumerator, cancellable, error) bind(c)\r\ng;g_file_enumerator_next_files_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileenumerator.h;\"void g_file_enumerator_next_files_async (GFileEnumerator *enumerator, int num_files, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_enumerator_next_files_async(enumerator, num_files, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_file_enumerator_next_files_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileenumerator.h;\"GList * g_file_enumerator_next_files_finish (GFileEnumerator *enumerator, GAsyncResult *result, GError **error);\";function g_file_enumerator_next_files_finish(enumerator, result, error) bind(c)\r\ng;g_file_enumerator_set_pending;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileenumerator.h;\"void g_file_enumerator_set_pending (GFileEnumerator *enumerator, gboolean pending);\";subroutine g_file_enumerator_set_pending(enumerator, pending) bind(c)\r\ng;g_file_equal;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_equal (GFile *file1, GFile *file2);\";function g_file_equal(file1, file2) bind(c)\r\ng;g_file_error_from_errno;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gfileutils.h;\"GFileError g_file_error_from_errno (gint err_no);\";function g_file_error_from_errno(err_no) bind(c)\r\ng;g_file_error_quark;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gfileutils.h;\"GQuark g_file_error_quark (void);\";function g_file_error_quark() bind(c)\r\ng;g_file_find_enclosing_mount;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GMount * g_file_find_enclosing_mount (GFile *file, GCancellable *cancellable, GError **error);\";function g_file_find_enclosing_mount(file, cancellable, error) bind(c)\r\ng;g_file_find_enclosing_mount_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"void g_file_find_enclosing_mount_async (GFile *file, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_find_enclosing_mount_async(file, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_file_find_enclosing_mount_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GMount * g_file_find_enclosing_mount_finish (GFile *file, GAsyncResult *res, GError **error);\";function g_file_find_enclosing_mount_finish(file, res, error) bind(c)\r\ng;g_file_get_basename;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"char * g_file_get_basename (GFile *file);\";function g_file_get_basename(file) bind(c)\r\ng;g_file_get_child;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFile * g_file_get_child (GFile *file, const char *name);\";function g_file_get_child(file, name) bind(c)\r\ng;g_file_get_child_for_display_name;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFile * g_file_get_child_for_display_name (GFile *file, const char *display_name, GError **error);\";function g_file_get_child_for_display_name(file, display_name, error) bind(c)\r\ng;g_file_get_contents;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gfileutils.h;\"gboolean g_file_get_contents (const gchar *filename, gchar **contents, gsize *length, GError **error);\";function g_file_get_contents(filename, contents, length, error) bind(c)\r\ng;g_file_get_parent;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFile * g_file_get_parent (GFile *file);\";function g_file_get_parent(file) bind(c)\r\ng;g_file_get_parse_name;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"char * g_file_get_parse_name (GFile *file);\";function g_file_get_parse_name(file) bind(c)\r\ng;g_file_get_path;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"char * g_file_get_path (GFile *file);\";function g_file_get_path(file) bind(c)\r\ng;g_file_get_relative_path;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"char * g_file_get_relative_path (GFile *parent, GFile *descendant);\";function g_file_get_relative_path(parent, descendant) bind(c)\r\ng;g_file_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GType g_file_get_type (void) ;\";function g_file_get_type() bind(c)\r\ng;g_file_get_uri;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"char * g_file_get_uri (GFile *file);\";function g_file_get_uri(file) bind(c)\r\ng;g_file_get_uri_scheme;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"char * g_file_get_uri_scheme (GFile *file);\";function g_file_get_uri_scheme(file) bind(c)\r\ng;g_file_has_parent;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_has_parent (GFile *file, GFile *parent);\";function g_file_has_parent(file, parent) bind(c)\r\ng;g_file_has_prefix;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_has_prefix (GFile *file, GFile *prefix);\";function g_file_has_prefix(file, prefix) bind(c)\r\ng;g_file_has_uri_scheme;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_has_uri_scheme (GFile *file, const char *uri_scheme);\";function g_file_has_uri_scheme(file, uri_scheme) bind(c)\r\ng;g_file_hash;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"guint g_file_hash (gconstpointer file);\";function g_file_hash(file) bind(c)\r\ng;g_file_icon_get_file;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileicon.h;\"GFile * g_file_icon_get_file (GFileIcon *icon);\";function g_file_icon_get_file(icon) bind(c)\r\ng;g_file_icon_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileicon.h;\"GType g_file_icon_get_type (void) ;\";function g_file_icon_get_type() bind(c)\r\ng;g_file_icon_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileicon.h;\"GIcon * g_file_icon_new (GFile *file);\";function g_file_icon_new(file) bind(c)\r\ng;g_file_info_clear_status;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"void g_file_info_clear_status (GFileInfo *info);\";subroutine g_file_info_clear_status(info) bind(c)\r\ng;g_file_info_copy_into;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"void g_file_info_copy_into (GFileInfo *src_info, GFileInfo *dest_info);\";subroutine g_file_info_copy_into(src_info, dest_info) bind(c)\r\ng;g_file_info_dup;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"GFileInfo * g_file_info_dup (GFileInfo *other);\";function g_file_info_dup(other) bind(c)\r\ng;g_file_info_get_access_date_time;GIO_AVAILABLE_IN_2_70;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"GDateTime * g_file_info_get_access_date_time (GFileInfo *info);\";function g_file_info_get_access_date_time(info) bind(c)\r\ng;g_file_info_get_attribute_as_string;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"char * g_file_info_get_attribute_as_string (GFileInfo *info, const char *attribute);\";function g_file_info_get_attribute_as_string(info, attribute) bind(c)\r\ng;g_file_info_get_attribute_boolean;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"gboolean g_file_info_get_attribute_boolean (GFileInfo *info, const char *attribute);\";function g_file_info_get_attribute_boolean(info, attribute) bind(c)\r\ng;g_file_info_get_attribute_byte_string;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"const char * g_file_info_get_attribute_byte_string (GFileInfo *info, const char *attribute);\";function g_file_info_get_attribute_byte_string(info, attribute) bind(c)\r\ng;g_file_info_get_attribute_data;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"gboolean g_file_info_get_attribute_data (GFileInfo *info, const char *attribute, GFileAttributeType *type, gpointer *value_pp, GFileAttributeStatus *status);\";function g_file_info_get_attribute_data(info, attribute, type, value_pp, status) bind(c)\r\ng;g_file_info_get_attribute_file_path;GIO_AVAILABLE_IN_2_78;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"const char * g_file_info_get_attribute_file_path (GFileInfo *info, const char *attribute);\";function g_file_info_get_attribute_file_path(info, attribute) bind(c)\r\ng;g_file_info_get_attribute_int32;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"gint32 g_file_info_get_attribute_int32 (GFileInfo *info, const char *attribute);\";function g_file_info_get_attribute_int32(info, attribute) bind(c)\r\ng;g_file_info_get_attribute_int64;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"gint64 g_file_info_get_attribute_int64 (GFileInfo *info, const char *attribute);\";function g_file_info_get_attribute_int64(info, attribute) bind(c)\r\ng;g_file_info_get_attribute_object;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"GObject * g_file_info_get_attribute_object (GFileInfo *info, const char *attribute);\";function g_file_info_get_attribute_object(info, attribute) bind(c)\r\ng;g_file_info_get_attribute_status;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"GFileAttributeStatus g_file_info_get_attribute_status (GFileInfo *info, const char *attribute);\";function g_file_info_get_attribute_status(info, attribute) bind(c)\r\ng;g_file_info_get_attribute_string;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"const char * g_file_info_get_attribute_string (GFileInfo *info, const char *attribute);\";function g_file_info_get_attribute_string(info, attribute) bind(c)\r\ng;g_file_info_get_attribute_stringv;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"char ** g_file_info_get_attribute_stringv (GFileInfo *info, const char *attribute);\";function g_file_info_get_attribute_stringv(info, attribute) bind(c)\r\ng;g_file_info_get_attribute_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"GFileAttributeType g_file_info_get_attribute_type (GFileInfo *info, const char *attribute);\";function g_file_info_get_attribute_type(info, attribute) bind(c)\r\ng;g_file_info_get_attribute_uint32;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"guint32 g_file_info_get_attribute_uint32 (GFileInfo *info, const char *attribute);\";function g_file_info_get_attribute_uint32(info, attribute) bind(c)\r\ng;g_file_info_get_attribute_uint64;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"guint64 g_file_info_get_attribute_uint64 (GFileInfo *info, const char *attribute);\";function g_file_info_get_attribute_uint64(info, attribute) bind(c)\r\ng;g_file_info_get_content_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"const char * g_file_info_get_content_type (GFileInfo *info);\";function g_file_info_get_content_type(info) bind(c)\r\ng;g_file_info_get_creation_date_time;GIO_AVAILABLE_IN_2_70;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"GDateTime * g_file_info_get_creation_date_time (GFileInfo *info);\";function g_file_info_get_creation_date_time(info) bind(c)\r\ng;g_file_info_get_deletion_date;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"GDateTime * g_file_info_get_deletion_date (GFileInfo *info);\";function g_file_info_get_deletion_date(info) bind(c)\r\ng;g_file_info_get_display_name;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"const char * g_file_info_get_display_name (GFileInfo *info);\";function g_file_info_get_display_name(info) bind(c)\r\ng;g_file_info_get_edit_name;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"const char * g_file_info_get_edit_name (GFileInfo *info);\";function g_file_info_get_edit_name(info) bind(c)\r\ng;g_file_info_get_etag;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"const char * g_file_info_get_etag (GFileInfo *info);\";function g_file_info_get_etag(info) bind(c)\r\ng;g_file_info_get_file_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"GFileType g_file_info_get_file_type (GFileInfo *info);\";function g_file_info_get_file_type(info) bind(c)\r\ng;g_file_info_get_icon;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"GIcon * g_file_info_get_icon (GFileInfo *info);\";function g_file_info_get_icon(info) bind(c)\r\ng;g_file_info_get_is_backup;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"gboolean g_file_info_get_is_backup (GFileInfo *info);\";function g_file_info_get_is_backup(info) bind(c)\r\ng;g_file_info_get_is_hidden;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"gboolean g_file_info_get_is_hidden (GFileInfo *info);\";function g_file_info_get_is_hidden(info) bind(c)\r\ng;g_file_info_get_is_symlink;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"gboolean g_file_info_get_is_symlink (GFileInfo *info);\";function g_file_info_get_is_symlink(info) bind(c)\r\ng;g_file_info_get_modification_date_time;GIO_AVAILABLE_IN_2_62;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"GDateTime * g_file_info_get_modification_date_time (GFileInfo *info);\";function g_file_info_get_modification_date_time(info) bind(c)\r\ng;g_file_info_get_modification_time;GIO_DEPRECATED_IN_2_62_FOR(g_file_info_get_modification_date_time);glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"void g_file_info_get_modification_time (GFileInfo *info, GTimeVal *result);\";subroutine g_file_info_get_modification_time(info, result) bind(c)\r\ng;g_file_info_get_name;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"const char * g_file_info_get_name (GFileInfo *info);\";function g_file_info_get_name(info) bind(c)\r\ng;g_file_info_get_size;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"goffset g_file_info_get_size (GFileInfo *info);\";function g_file_info_get_size(info) bind(c)\r\ng;g_file_info_get_sort_order;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"gint32 g_file_info_get_sort_order (GFileInfo *info);\";function g_file_info_get_sort_order(info) bind(c)\r\ng;g_file_info_get_symbolic_icon;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"GIcon * g_file_info_get_symbolic_icon (GFileInfo *info);\";function g_file_info_get_symbolic_icon(info) bind(c)\r\ng;g_file_info_get_symlink_target;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"const char * g_file_info_get_symlink_target (GFileInfo *info);\";function g_file_info_get_symlink_target(info) bind(c)\r\ng;g_file_info_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"GType g_file_info_get_type (void) ;\";function g_file_info_get_type() bind(c)\r\ng;g_file_info_has_attribute;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"gboolean g_file_info_has_attribute (GFileInfo *info, const char *attribute);\";function g_file_info_has_attribute(info, attribute) bind(c)\r\ng;g_file_info_has_namespace;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"gboolean g_file_info_has_namespace (GFileInfo *info, const char *name_space);\";function g_file_info_has_namespace(info, name_space) bind(c)\r\ng;g_file_info_list_attributes;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"char ** g_file_info_list_attributes (GFileInfo *info, const char *name_space);\";function g_file_info_list_attributes(info, name_space) bind(c)\r\ng;g_file_info_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"GFileInfo * g_file_info_new (void);\";function g_file_info_new() bind(c)\r\ng;g_file_info_remove_attribute;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"void g_file_info_remove_attribute (GFileInfo *info, const char *attribute);\";subroutine g_file_info_remove_attribute(info, attribute) bind(c)\r\ng;g_file_info_set_access_date_time;GIO_AVAILABLE_IN_2_70;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"void g_file_info_set_access_date_time (GFileInfo *info, GDateTime *atime);\";subroutine g_file_info_set_access_date_time(info, atime) bind(c)\r\ng;g_file_info_set_attribute;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"void g_file_info_set_attribute (GFileInfo *info, const char *attribute, GFileAttributeType type, gpointer value_p);\";subroutine g_file_info_set_attribute(info, attribute, type, value_p) bind(c)\r\ng;g_file_info_set_attribute_boolean;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"void g_file_info_set_attribute_boolean (GFileInfo *info, const char *attribute, gboolean attr_value);\";subroutine g_file_info_set_attribute_boolean(info, attribute, attr_value) bind(c)\r\ng;g_file_info_set_attribute_byte_string;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"void g_file_info_set_attribute_byte_string (GFileInfo *info, const char *attribute, const char *attr_value);\";subroutine g_file_info_set_attribute_byte_string(info, attribute, attr_value) bind(c)\r\ng;g_file_info_set_attribute_file_path;GIO_AVAILABLE_IN_2_78;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"void g_file_info_set_attribute_file_path (GFileInfo *info, const char *attribute, const char *attr_value);\";subroutine g_file_info_set_attribute_file_path(info, attribute, attr_value) bind(c)\r\ng;g_file_info_set_attribute_int32;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"void g_file_info_set_attribute_int32 (GFileInfo *info, const char *attribute, gint32 attr_value);\";subroutine g_file_info_set_attribute_int32(info, attribute, attr_value) bind(c)\r\ng;g_file_info_set_attribute_int64;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"void g_file_info_set_attribute_int64 (GFileInfo *info, const char *attribute, gint64 attr_value);\";subroutine g_file_info_set_attribute_int64(info, attribute, attr_value) bind(c)\r\ng;g_file_info_set_attribute_mask;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"void g_file_info_set_attribute_mask (GFileInfo *info, GFileAttributeMatcher *mask);\";subroutine g_file_info_set_attribute_mask(info, mask) bind(c)\r\ng;g_file_info_set_attribute_object;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"void g_file_info_set_attribute_object (GFileInfo *info, const char *attribute, GObject *attr_value);\";subroutine g_file_info_set_attribute_object(info, attribute, attr_value) bind(c)\r\ng;g_file_info_set_attribute_status;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"gboolean g_file_info_set_attribute_status (GFileInfo *info, const char *attribute, GFileAttributeStatus status);\";function g_file_info_set_attribute_status(info, attribute, status) bind(c)\r\ng;g_file_info_set_attribute_string;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"void g_file_info_set_attribute_string (GFileInfo *info, const char *attribute, const char *attr_value);\";subroutine g_file_info_set_attribute_string(info, attribute, attr_value) bind(c)\r\ng;g_file_info_set_attribute_stringv;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"void g_file_info_set_attribute_stringv (GFileInfo *info, const char *attribute, char **attr_value);\";subroutine g_file_info_set_attribute_stringv(info, attribute, attr_value) bind(c)\r\ng;g_file_info_set_attribute_uint32;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"void g_file_info_set_attribute_uint32 (GFileInfo *info, const char *attribute, guint32 attr_value);\";subroutine g_file_info_set_attribute_uint32(info, attribute, attr_value) bind(c)\r\ng;g_file_info_set_attribute_uint64;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"void g_file_info_set_attribute_uint64 (GFileInfo *info, const char *attribute, guint64 attr_value);\";subroutine g_file_info_set_attribute_uint64(info, attribute, attr_value) bind(c)\r\ng;g_file_info_set_content_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"void g_file_info_set_content_type (GFileInfo *info, const char *content_type);\";subroutine g_file_info_set_content_type(info, content_type) bind(c)\r\ng;g_file_info_set_creation_date_time;GIO_AVAILABLE_IN_2_70;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"void g_file_info_set_creation_date_time (GFileInfo *info, GDateTime *creation_time);\";subroutine g_file_info_set_creation_date_time(info, creation_time) bind(c)\r\ng;g_file_info_set_display_name;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"void g_file_info_set_display_name (GFileInfo *info, const char *display_name);\";subroutine g_file_info_set_display_name(info, display_name) bind(c)\r\ng;g_file_info_set_edit_name;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"void g_file_info_set_edit_name (GFileInfo *info, const char *edit_name);\";subroutine g_file_info_set_edit_name(info, edit_name) bind(c)\r\ng;g_file_info_set_file_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"void g_file_info_set_file_type (GFileInfo *info, GFileType type);\";subroutine g_file_info_set_file_type(info, type) bind(c)\r\ng;g_file_info_set_icon;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"void g_file_info_set_icon (GFileInfo *info, GIcon *icon);\";subroutine g_file_info_set_icon(info, icon) bind(c)\r\ng;g_file_info_set_is_hidden;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"void g_file_info_set_is_hidden (GFileInfo *info, gboolean is_hidden);\";subroutine g_file_info_set_is_hidden(info, is_hidden) bind(c)\r\ng;g_file_info_set_is_symlink;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"void g_file_info_set_is_symlink (GFileInfo *info, gboolean is_symlink);\";subroutine g_file_info_set_is_symlink(info, is_symlink) bind(c)\r\ng;g_file_info_set_modification_date_time;GIO_AVAILABLE_IN_2_62;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"void g_file_info_set_modification_date_time (GFileInfo *info, GDateTime *mtime);\";subroutine g_file_info_set_modification_date_time(info, mtime) bind(c)\r\ng;g_file_info_set_modification_time;GIO_DEPRECATED_IN_2_62_FOR(g_file_info_set_modification_date_time);glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"void g_file_info_set_modification_time (GFileInfo *info, GTimeVal *mtime);\";subroutine g_file_info_set_modification_time(info, mtime) bind(c)\r\ng;g_file_info_set_name;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"void g_file_info_set_name (GFileInfo *info, const char *name);\";subroutine g_file_info_set_name(info, name) bind(c)\r\ng;g_file_info_set_size;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"void g_file_info_set_size (GFileInfo *info, goffset size);\";subroutine g_file_info_set_size(info, size) bind(c)\r\ng;g_file_info_set_sort_order;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"void g_file_info_set_sort_order (GFileInfo *info, gint32 sort_order);\";subroutine g_file_info_set_sort_order(info, sort_order) bind(c)\r\ng;g_file_info_set_symbolic_icon;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"void g_file_info_set_symbolic_icon (GFileInfo *info, GIcon *icon);\";subroutine g_file_info_set_symbolic_icon(info, icon) bind(c)\r\ng;g_file_info_set_symlink_target;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"void g_file_info_set_symlink_target (GFileInfo *info, const char *symlink_target);\";subroutine g_file_info_set_symlink_target(info, symlink_target) bind(c)\r\ng;g_file_info_unset_attribute_mask;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinfo.h;\"void g_file_info_unset_attribute_mask (GFileInfo *info);\";subroutine g_file_info_unset_attribute_mask(info) bind(c)\r\ng;g_file_input_stream_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinputstream.h;\"GType g_file_input_stream_get_type (void) ;\";function g_file_input_stream_get_type() bind(c)\r\ng;g_file_input_stream_query_info;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinputstream.h;\"GFileInfo *g_file_input_stream_query_info (GFileInputStream *stream, const char *attributes, GCancellable *cancellable, GError **error);\";function g_file_input_stream_query_info(stream, attributes, cancellable, error) bind(c)\r\ng;g_file_input_stream_query_info_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinputstream.h;\"void g_file_input_stream_query_info_async (GFileInputStream *stream, const char *attributes, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_input_stream_query_info_async(stream, attributes, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_file_input_stream_query_info_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileinputstream.h;\"GFileInfo *g_file_input_stream_query_info_finish (GFileInputStream *stream, GAsyncResult *result, GError **error);\";function g_file_input_stream_query_info_finish(stream, result, error) bind(c)\r\ng;g_file_io_stream_get_etag;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileiostream.h;\"char * g_file_io_stream_get_etag (GFileIOStream *stream);\";function g_file_io_stream_get_etag(stream) bind(c)\r\ng;g_file_io_stream_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileiostream.h;\"GType g_file_io_stream_get_type (void) ;\";function g_file_io_stream_get_type() bind(c)\r\ng;g_file_io_stream_query_info;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileiostream.h;\"GFileInfo *g_file_io_stream_query_info (GFileIOStream *stream, const char *attributes, GCancellable *cancellable, GError **error);\";function g_file_io_stream_query_info(stream, attributes, cancellable, error) bind(c)\r\ng;g_file_io_stream_query_info_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileiostream.h;\"void g_file_io_stream_query_info_async (GFileIOStream *stream, const char *attributes, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_io_stream_query_info_async(stream, attributes, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_file_io_stream_query_info_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileiostream.h;\"GFileInfo *g_file_io_stream_query_info_finish (GFileIOStream *stream, GAsyncResult *result, GError **error);\";function g_file_io_stream_query_info_finish(stream, result, error) bind(c)\r\ng;g_file_is_native;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_is_native (GFile *file);\";function g_file_is_native(file) bind(c)\r\ng;g_file_load_bytes;GIO_AVAILABLE_IN_2_56;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GBytes *g_file_load_bytes (GFile *file, GCancellable *cancellable, gchar **etag_out, GError **error);\";function g_file_load_bytes(file, cancellable, etag_out, error) bind(c)\r\ng;g_file_load_bytes_async;GIO_AVAILABLE_IN_2_56;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"void g_file_load_bytes_async (GFile *file, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_load_bytes_async(file, cancellable, callback, user_data) bind(c)\r\ng;g_file_load_bytes_finish;GIO_AVAILABLE_IN_2_56;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GBytes *g_file_load_bytes_finish (GFile *file, GAsyncResult *result, gchar **etag_out, GError **error);\";function g_file_load_bytes_finish(file, result, etag_out, error) bind(c)\r\ng;g_file_load_contents;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_load_contents (GFile *file, GCancellable *cancellable, char **contents, gsize *length, char **etag_out, GError **error);\";function g_file_load_contents(file, cancellable, contents, length, etag_out, error) bind(c)\r\ng;g_file_load_contents_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"void g_file_load_contents_async (GFile *file, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_load_contents_async(file, cancellable, callback, user_data) bind(c)\r\ng;g_file_load_contents_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_load_contents_finish (GFile *file, GAsyncResult *res, char **contents, gsize *length, char **etag_out, GError **error);\";function g_file_load_contents_finish(file, res, contents, length, etag_out, error) bind(c)\r\ng;g_file_load_partial_contents_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"void g_file_load_partial_contents_async (GFile *file, GCancellable *cancellable, GFileReadMoreCallback read_more_callback, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_load_partial_contents_async(file, cancellable, read_more_callback, callback, user_data) bind(c)\r\ng;g_file_load_partial_contents_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_load_partial_contents_finish (GFile *file, GAsyncResult *res, char **contents, gsize *length, char **etag_out, GError **error);\";function g_file_load_partial_contents_finish(file, res, contents, length, etag_out, error) bind(c)\r\ng;g_file_make_directory;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_make_directory (GFile *file, GCancellable *cancellable, GError **error);\";function g_file_make_directory(file, cancellable, error) bind(c)\r\ng;g_file_make_directory_async;GIO_AVAILABLE_IN_2_38;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"void g_file_make_directory_async (GFile *file, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_make_directory_async(file, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_file_make_directory_finish;GIO_AVAILABLE_IN_2_38;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_make_directory_finish (GFile *file, GAsyncResult *result, GError **error);\";function g_file_make_directory_finish(file, result, error) bind(c)\r\ng;g_file_make_directory_with_parents;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_make_directory_with_parents (GFile *file, GCancellable *cancellable, GError **error);\";function g_file_make_directory_with_parents(file, cancellable, error) bind(c)\r\ng;g_file_make_symbolic_link;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_make_symbolic_link (GFile *file, const char *symlink_value, GCancellable *cancellable, GError **error);\";function g_file_make_symbolic_link(file, symlink_value, cancellable, error) bind(c)\r\ng;g_file_make_symbolic_link_async;GIO_AVAILABLE_IN_2_74;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"void g_file_make_symbolic_link_async (GFile *file, const char *symlink_value, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_make_symbolic_link_async(file, symlink_value, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_file_make_symbolic_link_finish;GIO_AVAILABLE_IN_2_74;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_make_symbolic_link_finish (GFile *file, GAsyncResult *result, GError **error);\";function g_file_make_symbolic_link_finish(file, result, error) bind(c)\r\ng;g_file_measure_disk_usage;GIO_AVAILABLE_IN_2_38;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_measure_disk_usage (GFile *file, GFileMeasureFlags flags, GCancellable *cancellable, GFileMeasureProgressCallback progress_callback, gpointer progress_data, guint64 *disk_usage, guint64 *num_dirs, guint64 *num_files, GError **error);\";function g_file_measure_disk_usage(file, flags, cancellable, progress_callback, progress_data, disk_usage, num_dirs, num_files, error) bind(c)\r\ng;g_file_measure_disk_usage_async;GIO_AVAILABLE_IN_2_38;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"void g_file_measure_disk_usage_async (GFile *file, GFileMeasureFlags flags, gint io_priority, GCancellable *cancellable, GFileMeasureProgressCallback progress_callback, gpointer progress_data, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_measure_disk_usage_async(file, flags, io_priority, cancellable, progress_callback, progress_data, callback, user_data) bind(c)\r\ng;g_file_measure_disk_usage_finish;GIO_AVAILABLE_IN_2_38;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_measure_disk_usage_finish (GFile *file, GAsyncResult *result, guint64 *disk_usage, guint64 *num_dirs, guint64 *num_files, GError **error);\";function g_file_measure_disk_usage_finish(file, result, disk_usage, num_dirs, num_files, error) bind(c)\r\ng;g_file_monitor;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFileMonitor* g_file_monitor (GFile *file, GFileMonitorFlags flags, GCancellable *cancellable, GError **error);\";function g_file_monitor(file, flags, cancellable, error) bind(c)\r\ng;g_file_monitor_cancel;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfilemonitor.h;\"gboolean g_file_monitor_cancel (GFileMonitor *monitor);\";function g_file_monitor_cancel(monitor) bind(c)\r\ng;g_file_monitor_directory;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFileMonitor* g_file_monitor_directory (GFile *file, GFileMonitorFlags flags, GCancellable *cancellable, GError **error);\";function g_file_monitor_directory(file, flags, cancellable, error) bind(c)\r\ng;g_file_monitor_emit_event;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfilemonitor.h;\"void g_file_monitor_emit_event (GFileMonitor *monitor, GFile *child, GFile *other_file, GFileMonitorEvent event_type);\";subroutine g_file_monitor_emit_event(monitor, child, other_file, event_type) bind(c)\r\ng;g_file_monitor_file;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFileMonitor* g_file_monitor_file (GFile *file, GFileMonitorFlags flags, GCancellable *cancellable, GError **error);\";function g_file_monitor_file(file, flags, cancellable, error) bind(c)\r\ng;g_file_monitor_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfilemonitor.h;\"GType g_file_monitor_get_type (void) ;\";function g_file_monitor_get_type() bind(c)\r\ng;g_file_monitor_is_cancelled;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfilemonitor.h;\"gboolean g_file_monitor_is_cancelled (GFileMonitor *monitor);\";function g_file_monitor_is_cancelled(monitor) bind(c)\r\ng;g_file_monitor_set_rate_limit;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfilemonitor.h;\"void g_file_monitor_set_rate_limit (GFileMonitor *monitor, gint limit_msecs);\";subroutine g_file_monitor_set_rate_limit(monitor, limit_msecs) bind(c)\r\ng;g_file_mount_enclosing_volume;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"void g_file_mount_enclosing_volume (GFile *location, GMountMountFlags flags, GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_mount_enclosing_volume(location, flags, mount_operation, cancellable, callback, user_data) bind(c)\r\ng;g_file_mount_enclosing_volume_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_mount_enclosing_volume_finish (GFile *location, GAsyncResult *result, GError **error);\";function g_file_mount_enclosing_volume_finish(location, result, error) bind(c)\r\ng;g_file_mount_mountable;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"void g_file_mount_mountable (GFile *file, GMountMountFlags flags, GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_mount_mountable(file, flags, mount_operation, cancellable, callback, user_data) bind(c)\r\ng;g_file_mount_mountable_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFile * g_file_mount_mountable_finish (GFile *file, GAsyncResult *result, GError **error);\";function g_file_mount_mountable_finish(file, result, error) bind(c)\r\ng;g_file_move;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_move (GFile *source, GFile *destination, GFileCopyFlags flags, GCancellable *cancellable, GFileProgressCallback progress_callback, gpointer progress_callback_data, GError **error);\";function g_file_move(source, destination, flags, cancellable, progress_callback, progress_callback_data, error) bind(c)\r\ng;g_file_move_async;GIO_AVAILABLE_IN_2_72;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"void g_file_move_async (GFile *source, GFile *destination, GFileCopyFlags flags, int io_priority, GCancellable *cancellable, GFileProgressCallback progress_callback, gpointer progress_callback_data, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_move_async(source, destination, flags, io_priority, cancellable, progress_callback, progress_callback_data, callback, user_data) bind(c)\r\ng;g_file_move_async_with_closures;GIO_AVAILABLE_IN_2_82;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"void g_file_move_async_with_closures (GFile *source, GFile *destination, GFileCopyFlags flags, int io_priority, GCancellable *cancellable, GClosure *progress_callback_closure, GClosure *ready_callback_closure);\";subroutine g_file_move_async_with_closures(source, destination, flags, io_priority, cancellable, progress_callback_closure, ready_callback_closure) bind(c)\r\ng;g_file_move_finish;GIO_AVAILABLE_IN_2_72;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_move_finish (GFile *file, GAsyncResult *result, GError **error);\";function g_file_move_finish(file, result, error) bind(c)\r\ng;g_file_new_build_filenamev;GIO_AVAILABLE_IN_2_78;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFile * g_file_new_build_filenamev (const gchar * const *args);\";function g_file_new_build_filenamev(args) bind(c)\r\ng;g_file_new_for_commandline_arg;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFile * g_file_new_for_commandline_arg (const char *arg);\";function g_file_new_for_commandline_arg(arg) bind(c)\r\ng;g_file_new_for_commandline_arg_and_cwd;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFile * g_file_new_for_commandline_arg_and_cwd (const gchar *arg, const gchar *cwd);\";function g_file_new_for_commandline_arg_and_cwd(arg, cwd) bind(c)\r\ng;g_file_new_for_path;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFile * g_file_new_for_path (const char *path);\";function g_file_new_for_path(path) bind(c)\r\ng;g_file_new_for_uri;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFile * g_file_new_for_uri (const char *uri);\";function g_file_new_for_uri(uri) bind(c)\r\ng;g_file_new_tmp;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFile * g_file_new_tmp (const char *tmpl, GFileIOStream **iostream, GError **error);\";function g_file_new_tmp(tmpl, iostream, error) bind(c)\r\ng;g_file_new_tmp_async;GIO_AVAILABLE_IN_2_74;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"void g_file_new_tmp_async (const char *tmpl, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_new_tmp_async(tmpl, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_file_new_tmp_dir_async;GIO_AVAILABLE_IN_2_74;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"void g_file_new_tmp_dir_async (const char *tmpl, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_new_tmp_dir_async(tmpl, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_file_new_tmp_dir_finish;GIO_AVAILABLE_IN_2_74;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFile * g_file_new_tmp_dir_finish (GAsyncResult *result, GError **error);\";function g_file_new_tmp_dir_finish(result, error) bind(c)\r\ng;g_file_new_tmp_finish;GIO_AVAILABLE_IN_2_74;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFile * g_file_new_tmp_finish (GAsyncResult *result, GFileIOStream **iostream, GError **error);\";function g_file_new_tmp_finish(result, iostream, error) bind(c)\r\ng;g_file_open_readwrite;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFileIOStream * g_file_open_readwrite (GFile *file, GCancellable *cancellable, GError **error);\";function g_file_open_readwrite(file, cancellable, error) bind(c)\r\ng;g_file_open_readwrite_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"void g_file_open_readwrite_async (GFile *file, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_open_readwrite_async(file, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_file_open_readwrite_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFileIOStream * g_file_open_readwrite_finish (GFile *file, GAsyncResult *res, GError **error);\";function g_file_open_readwrite_finish(file, res, error) bind(c)\r\ng;g_file_open_tmp;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gfileutils.h;\"gint g_file_open_tmp (const gchar *tmpl, gchar **name_used, GError **error);\";function g_file_open_tmp(tmpl, name_used, error) bind(c)\r\ng;g_file_output_stream_get_etag;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileoutputstream.h;\"char * g_file_output_stream_get_etag (GFileOutputStream *stream);\";function g_file_output_stream_get_etag(stream) bind(c)\r\ng;g_file_output_stream_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileoutputstream.h;\"GType g_file_output_stream_get_type (void) ;\";function g_file_output_stream_get_type() bind(c)\r\ng;g_file_output_stream_query_info;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileoutputstream.h;\"GFileInfo *g_file_output_stream_query_info (GFileOutputStream *stream, const char *attributes, GCancellable *cancellable, GError **error);\";function g_file_output_stream_query_info(stream, attributes, cancellable, error) bind(c)\r\ng;g_file_output_stream_query_info_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileoutputstream.h;\"void g_file_output_stream_query_info_async (GFileOutputStream *stream, const char *attributes, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_output_stream_query_info_async(stream, attributes, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_file_output_stream_query_info_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfileoutputstream.h;\"GFileInfo *g_file_output_stream_query_info_finish (GFileOutputStream *stream, GAsyncResult *result, GError **error);\";function g_file_output_stream_query_info_finish(stream, result, error) bind(c)\r\ng;g_file_parse_name;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFile * g_file_parse_name (const char *parse_name);\";function g_file_parse_name(parse_name) bind(c)\r\ng;g_file_peek_path;GIO_AVAILABLE_IN_2_56;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"const char * g_file_peek_path (GFile *file);\";function g_file_peek_path(file) bind(c)\r\ng;g_file_poll_mountable;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"void g_file_poll_mountable (GFile *file, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_poll_mountable(file, cancellable, callback, user_data) bind(c)\r\ng;g_file_poll_mountable_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_poll_mountable_finish (GFile *file, GAsyncResult *result, GError **error);\";function g_file_poll_mountable_finish(file, result, error) bind(c)\r\ng;g_file_query_default_handler;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GAppInfo *g_file_query_default_handler (GFile *file, GCancellable *cancellable, GError **error);\";function g_file_query_default_handler(file, cancellable, error) bind(c)\r\ng;g_file_query_default_handler_async;GIO_AVAILABLE_IN_2_60;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"void g_file_query_default_handler_async (GFile *file, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_query_default_handler_async(file, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_file_query_default_handler_finish;GIO_AVAILABLE_IN_2_60;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GAppInfo *g_file_query_default_handler_finish (GFile *file, GAsyncResult *result, GError **error);\";function g_file_query_default_handler_finish(file, result, error) bind(c)\r\ng;g_file_query_exists;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_query_exists (GFile *file, GCancellable *cancellable);\";function g_file_query_exists(file, cancellable) bind(c)\r\ng;g_file_query_file_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFileType g_file_query_file_type (GFile *file, GFileQueryInfoFlags flags, GCancellable *cancellable);\";function g_file_query_file_type(file, flags, cancellable) bind(c)\r\ng;g_file_query_filesystem_info;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFileInfo * g_file_query_filesystem_info (GFile *file, const char *attributes, GCancellable *cancellable, GError **error);\";function g_file_query_filesystem_info(file, attributes, cancellable, error) bind(c)\r\ng;g_file_query_filesystem_info_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"void g_file_query_filesystem_info_async (GFile *file, const char *attributes, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_query_filesystem_info_async(file, attributes, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_file_query_filesystem_info_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFileInfo * g_file_query_filesystem_info_finish (GFile *file, GAsyncResult *res, GError **error);\";function g_file_query_filesystem_info_finish(file, res, error) bind(c)\r\ng;g_file_query_info;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFileInfo * g_file_query_info (GFile *file, const char *attributes, GFileQueryInfoFlags flags, GCancellable *cancellable, GError **error);\";function g_file_query_info(file, attributes, flags, cancellable, error) bind(c)\r\ng;g_file_query_info_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"void g_file_query_info_async (GFile *file, const char *attributes, GFileQueryInfoFlags flags, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_query_info_async(file, attributes, flags, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_file_query_info_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFileInfo * g_file_query_info_finish (GFile *file, GAsyncResult *res, GError **error);\";function g_file_query_info_finish(file, res, error) bind(c)\r\ng;g_file_query_settable_attributes;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFileAttributeInfoList *g_file_query_settable_attributes (GFile *file, GCancellable *cancellable, GError **error);\";function g_file_query_settable_attributes(file, cancellable, error) bind(c)\r\ng;g_file_query_writable_namespaces;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFileAttributeInfoList *g_file_query_writable_namespaces (GFile *file, GCancellable *cancellable, GError **error);\";function g_file_query_writable_namespaces(file, cancellable, error) bind(c)\r\ng;g_file_read;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFileInputStream * g_file_read (GFile *file, GCancellable *cancellable, GError **error);\";function g_file_read(file, cancellable, error) bind(c)\r\ng;g_file_read_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"void g_file_read_async (GFile *file, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_read_async(file, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_file_read_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFileInputStream * g_file_read_finish (GFile *file, GAsyncResult *res, GError **error);\";function g_file_read_finish(file, res, error) bind(c)\r\ng;g_file_read_link;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gfileutils.h;\"gchar *g_file_read_link (const gchar *filename, GError **error);\";function g_file_read_link(filename, error) bind(c)\r\ng;g_file_replace;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFileOutputStream * g_file_replace (GFile *file, const char *etag, gboolean make_backup, GFileCreateFlags flags, GCancellable *cancellable, GError **error);\";function g_file_replace(file, etag, make_backup, flags, cancellable, error) bind(c)\r\ng;g_file_replace_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"void g_file_replace_async (GFile *file, const char *etag, gboolean make_backup, GFileCreateFlags flags, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_replace_async(file, etag, make_backup, flags, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_file_replace_contents;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_replace_contents (GFile *file, const char *contents, gsize length, const char *etag, gboolean make_backup, GFileCreateFlags flags, char **new_etag, GCancellable *cancellable, GError **error);\";function g_file_replace_contents(file, contents, length, etag, make_backup, flags, new_etag, cancellable, error) bind(c)\r\ng;g_file_replace_contents_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"void g_file_replace_contents_async (GFile *file, const char *contents, gsize length, const char *etag, gboolean make_backup, GFileCreateFlags flags, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_replace_contents_async(file, contents, length, etag, make_backup, flags, cancellable, callback, user_data) bind(c)\r\ng;g_file_replace_contents_bytes_async;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"void g_file_replace_contents_bytes_async (GFile *file, GBytes *contents, const char *etag, gboolean make_backup, GFileCreateFlags flags, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_replace_contents_bytes_async(file, contents, etag, make_backup, flags, cancellable, callback, user_data) bind(c)\r\ng;g_file_replace_contents_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_replace_contents_finish (GFile *file, GAsyncResult *res, char **new_etag, GError **error);\";function g_file_replace_contents_finish(file, res, new_etag, error) bind(c)\r\ng;g_file_replace_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFileOutputStream * g_file_replace_finish (GFile *file, GAsyncResult *res, GError **error);\";function g_file_replace_finish(file, res, error) bind(c)\r\ng;g_file_replace_readwrite;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFileIOStream * g_file_replace_readwrite (GFile *file, const char *etag, gboolean make_backup, GFileCreateFlags flags, GCancellable *cancellable, GError **error);\";function g_file_replace_readwrite(file, etag, make_backup, flags, cancellable, error) bind(c)\r\ng;g_file_replace_readwrite_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"void g_file_replace_readwrite_async (GFile *file, const char *etag, gboolean make_backup, GFileCreateFlags flags, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_replace_readwrite_async(file, etag, make_backup, flags, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_file_replace_readwrite_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFileIOStream * g_file_replace_readwrite_finish (GFile *file, GAsyncResult *res, GError **error);\";function g_file_replace_readwrite_finish(file, res, error) bind(c)\r\ng;g_file_resolve_relative_path;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFile * g_file_resolve_relative_path (GFile *file, const char *relative_path);\";function g_file_resolve_relative_path(file, relative_path) bind(c)\r\ng;g_file_set_attribute;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_set_attribute (GFile *file, const char *attribute, GFileAttributeType type, gpointer value_p, GFileQueryInfoFlags flags, GCancellable *cancellable, GError **error);\";function g_file_set_attribute(file, attribute, type, value_p, flags, cancellable, error) bind(c)\r\ng;g_file_set_attribute_byte_string;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_set_attribute_byte_string (GFile *file, const char *attribute, const char *value, GFileQueryInfoFlags flags, GCancellable *cancellable, GError **error);\";function g_file_set_attribute_byte_string(file, attribute, value, flags, cancellable, error) bind(c)\r\ng;g_file_set_attribute_int32;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_set_attribute_int32 (GFile *file, const char *attribute, gint32 value, GFileQueryInfoFlags flags, GCancellable *cancellable, GError **error);\";function g_file_set_attribute_int32(file, attribute, value, flags, cancellable, error) bind(c)\r\ng;g_file_set_attribute_int64;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_set_attribute_int64 (GFile *file, const char *attribute, gint64 value, GFileQueryInfoFlags flags, GCancellable *cancellable, GError **error);\";function g_file_set_attribute_int64(file, attribute, value, flags, cancellable, error) bind(c)\r\ng;g_file_set_attribute_string;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_set_attribute_string (GFile *file, const char *attribute, const char *value, GFileQueryInfoFlags flags, GCancellable *cancellable, GError **error);\";function g_file_set_attribute_string(file, attribute, value, flags, cancellable, error) bind(c)\r\ng;g_file_set_attribute_uint32;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_set_attribute_uint32 (GFile *file, const char *attribute, guint32 value, GFileQueryInfoFlags flags, GCancellable *cancellable, GError **error);\";function g_file_set_attribute_uint32(file, attribute, value, flags, cancellable, error) bind(c)\r\ng;g_file_set_attribute_uint64;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_set_attribute_uint64 (GFile *file, const char *attribute, guint64 value, GFileQueryInfoFlags flags, GCancellable *cancellable, GError **error);\";function g_file_set_attribute_uint64(file, attribute, value, flags, cancellable, error) bind(c)\r\ng;g_file_set_attributes_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"void g_file_set_attributes_async (GFile *file, GFileInfo *info, GFileQueryInfoFlags flags, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_set_attributes_async(file, info, flags, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_file_set_attributes_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_set_attributes_finish (GFile *file, GAsyncResult *result, GFileInfo **info, GError **error);\";function g_file_set_attributes_finish(file, result, info, error) bind(c)\r\ng;g_file_set_attributes_from_info;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_set_attributes_from_info (GFile *file, GFileInfo *info, GFileQueryInfoFlags flags, GCancellable *cancellable, GError **error);\";function g_file_set_attributes_from_info(file, info, flags, cancellable, error) bind(c)\r\ng;g_file_set_contents;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gfileutils.h;\"gboolean g_file_set_contents (const gchar *filename, const gchar *contents, gssize length, GError **error);\";function g_file_set_contents(filename, contents, length, error) bind(c)\r\ng;g_file_set_display_name;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFile * g_file_set_display_name (GFile *file, const char *display_name, GCancellable *cancellable, GError **error);\";function g_file_set_display_name(file, display_name, cancellable, error) bind(c)\r\ng;g_file_set_display_name_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"void g_file_set_display_name_async (GFile *file, const char *display_name, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_set_display_name_async(file, display_name, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_file_set_display_name_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"GFile * g_file_set_display_name_finish (GFile *file, GAsyncResult *res, GError **error);\";function g_file_set_display_name_finish(file, res, error) bind(c)\r\ng;g_file_start_mountable;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"void g_file_start_mountable (GFile *file, GDriveStartFlags flags, GMountOperation *start_operation, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_start_mountable(file, flags, start_operation, cancellable, callback, user_data) bind(c)\r\ng;g_file_start_mountable_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_start_mountable_finish (GFile *file, GAsyncResult *result, GError **error);\";function g_file_start_mountable_finish(file, result, error) bind(c)\r\ng;g_file_stop_mountable;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"void g_file_stop_mountable (GFile *file, GMountUnmountFlags flags, GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_stop_mountable(file, flags, mount_operation, cancellable, callback, user_data) bind(c)\r\ng;g_file_stop_mountable_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_stop_mountable_finish (GFile *file, GAsyncResult *result, GError **error);\";function g_file_stop_mountable_finish(file, result, error) bind(c)\r\ng;g_file_supports_thread_contexts;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_supports_thread_contexts (GFile *file);\";function g_file_supports_thread_contexts(file) bind(c)\r\ng;g_file_test;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gfileutils.h;\"gboolean g_file_test (const gchar *filename, GFileTest test);\";function g_file_test(filename, test) bind(c)\r\ng;g_file_trash;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_trash (GFile *file, GCancellable *cancellable, GError **error);\";function g_file_trash(file, cancellable, error) bind(c)\r\ng;g_file_trash_async;GIO_AVAILABLE_IN_2_38;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"void g_file_trash_async (GFile *file, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_trash_async(file, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_file_trash_finish;GIO_AVAILABLE_IN_2_38;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_trash_finish (GFile *file, GAsyncResult *result, GError **error);\";function g_file_trash_finish(file, result, error) bind(c)\r\ng;g_file_unmount_mountable;GIO_DEPRECATED_FOR(g_file_unmount_mountable_with_operation);glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"void g_file_unmount_mountable (GFile *file, GMountUnmountFlags flags, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_unmount_mountable(file, flags, cancellable, callback, user_data) bind(c)\r\ng;g_file_unmount_mountable_finish;GIO_DEPRECATED_FOR(g_file_unmount_mountable_with_operation_finish);glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_unmount_mountable_finish (GFile *file, GAsyncResult *result, GError **error);\";function g_file_unmount_mountable_finish(file, result, error) bind(c)\r\ng;g_file_unmount_mountable_with_operation;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"void g_file_unmount_mountable_with_operation (GFile *file, GMountUnmountFlags flags, GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_file_unmount_mountable_with_operation(file, flags, mount_operation, cancellable, callback, user_data) bind(c)\r\ng;g_file_unmount_mountable_with_operation_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfile.h;\"gboolean g_file_unmount_mountable_with_operation_finish (GFile *file, GAsyncResult *result, GError **error);\";function g_file_unmount_mountable_with_operation_finish(file, result, error) bind(c)\r\ng;g_filename_completer_get_completion_suffix;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfilenamecompleter.h;\"char * g_filename_completer_get_completion_suffix (GFilenameCompleter *completer, const char *initial_text);\";function g_filename_completer_get_completion_suffix(completer, initial_text) bind(c)\r\ng;g_filename_completer_get_completions;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfilenamecompleter.h;\"char ** g_filename_completer_get_completions (GFilenameCompleter *completer, const char *initial_text);\";function g_filename_completer_get_completions(completer, initial_text) bind(c)\r\ng;g_filename_completer_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfilenamecompleter.h;\"GType g_filename_completer_get_type (void) ;\";function g_filename_completer_get_type() bind(c)\r\ng;g_filename_completer_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfilenamecompleter.h;\"GFilenameCompleter *g_filename_completer_new (void);\";function g_filename_completer_new() bind(c)\r\ng;g_filename_completer_set_dirs_only;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfilenamecompleter.h;\"void g_filename_completer_set_dirs_only (GFilenameCompleter *completer, gboolean dirs_only);\";subroutine g_filename_completer_set_dirs_only(completer, dirs_only) bind(c)\r\ng;g_filename_display_basename;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gconvert.h;\"gchar *g_filename_display_basename (const gchar *filename) ;\";function g_filename_display_basename(filename) bind(c)\r\ng;g_filename_display_name;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gconvert.h;\"gchar *g_filename_display_name (const gchar *filename) ;\";function g_filename_display_name(filename) bind(c)\r\ng;g_filename_from_uri;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gconvert.h;\"gchar *g_filename_from_uri (const gchar *uri, gchar **hostname, GError **error) ;\";function g_filename_from_uri(uri, hostname, error) bind(c)\r\ng;g_filename_from_utf8;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gconvert.h;\"gchar* g_filename_from_utf8 (const gchar *utf8string, gssize len, gsize *bytes_read, gsize *bytes_written, GError **error) ;\";function g_filename_from_utf8(utf8string, len, bytes_read, bytes_written, error) bind(c)\r\ng;g_filename_to_uri;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gconvert.h;\"gchar *g_filename_to_uri (const gchar *filename, const gchar *hostname, GError **error) ;\";function g_filename_to_uri(filename, hostname, error) bind(c)\r\ng;g_filename_to_utf8;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gconvert.h;\"gchar* g_filename_to_utf8 (const gchar *opsysstring, gssize len, gsize *bytes_read, gsize *bytes_written, GError **error) ;\";function g_filename_to_utf8(opsysstring, len, bytes_read, bytes_written, error) bind(c)\r\ng;g_filter_input_stream_get_base_stream;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfilterinputstream.h;\"GInputStream * g_filter_input_stream_get_base_stream (GFilterInputStream *stream);\";function g_filter_input_stream_get_base_stream(stream) bind(c)\r\ng;g_filter_input_stream_get_close_base_stream;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfilterinputstream.h;\"gboolean g_filter_input_stream_get_close_base_stream (GFilterInputStream *stream);\";function g_filter_input_stream_get_close_base_stream(stream) bind(c)\r\ng;g_filter_input_stream_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfilterinputstream.h;\"GType g_filter_input_stream_get_type (void) ;\";function g_filter_input_stream_get_type() bind(c)\r\ng;g_filter_input_stream_set_close_base_stream;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfilterinputstream.h;\"void g_filter_input_stream_set_close_base_stream (GFilterInputStream *stream, gboolean close_base);\";subroutine g_filter_input_stream_set_close_base_stream(stream, close_base) bind(c)\r\ng;g_filter_output_stream_get_base_stream;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfilteroutputstream.h;\"GOutputStream * g_filter_output_stream_get_base_stream (GFilterOutputStream *stream);\";function g_filter_output_stream_get_base_stream(stream) bind(c)\r\ng;g_filter_output_stream_get_close_base_stream;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfilteroutputstream.h;\"gboolean g_filter_output_stream_get_close_base_stream (GFilterOutputStream *stream);\";function g_filter_output_stream_get_close_base_stream(stream) bind(c)\r\ng;g_filter_output_stream_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfilteroutputstream.h;\"GType g_filter_output_stream_get_type (void) ;\";function g_filter_output_stream_get_type() bind(c)\r\ng;g_filter_output_stream_set_close_base_stream;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gfilteroutputstream.h;\"void g_filter_output_stream_set_close_base_stream (GFilterOutputStream *stream, gboolean close_base);\";subroutine g_filter_output_stream_set_close_base_stream(stream, close_base) bind(c)\r\ng;g_find_program_in_path;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gutils.h;\"gchar* g_find_program_in_path (const gchar *program);\";function g_find_program_in_path(program) bind(c)\r\ng;g_flags_complete_type_info;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/genums.h;\"void g_flags_complete_type_info (GType g_flags_type, GTypeInfo *info, const GFlagsValue *const_values);\";subroutine g_flags_complete_type_info(g_flags_type, info, const_values) bind(c)\r\ng;g_flags_get_first_value;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/genums.h;\"GFlagsValue* g_flags_get_first_value (GFlagsClass *flags_class, guint value);\";function g_flags_get_first_value(flags_class, value) bind(c)\r\ng;g_flags_get_value_by_name;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/genums.h;\"GFlagsValue* g_flags_get_value_by_name (GFlagsClass *flags_class, const gchar *name);\";function g_flags_get_value_by_name(flags_class, name) bind(c)\r\ng;g_flags_get_value_by_nick;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/genums.h;\"GFlagsValue* g_flags_get_value_by_nick (GFlagsClass *flags_class, const gchar *nick);\";function g_flags_get_value_by_nick(flags_class, nick) bind(c)\r\ng;g_flags_register_static;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/genums.h;\"GType g_flags_register_static (const gchar *name, const GFlagsValue *const_static_values);\";function g_flags_register_static(name, const_static_values) bind(c)\r\ng;g_flags_to_string;GOBJECT_AVAILABLE_IN_2_54;glib-auto.f90;/usr/include/glib-2.0/gobject/genums.h;\"gchar *g_flags_to_string (GType flags_type, guint value);\";function g_flags_to_string(flags_type, value) bind(c)\r\ng;g_fopen;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstdio.h;\"FILE *g_fopen (const gchar *filename, const gchar *mode);\";function g_fopen(filename, mode) bind(c)\r\ng;g_format_size;GLIB_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/glib/gutils.h;\"gchar *g_format_size (guint64 size);\";function g_format_size(size) bind(c)\r\ng;g_format_size_for_display;GLIB_DEPRECATED_IN_2_30_FOR(g_format_size);glib-auto.f90;/usr/include/glib-2.0/glib/gutils.h;\"gchar *g_format_size_for_display (goffset size);\";function g_format_size_for_display(size) bind(c)\r\ng;g_format_size_full;GLIB_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/glib/gutils.h;\"gchar *g_format_size_full (guint64 size, GFormatSizeFlags flags);\";function g_format_size_full(size, flags) bind(c)\r\ng;g_free;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmem.h;\"void (g_free) (gpointer mem);\";subroutine g_free(mem) bind(c)\r\ng;g_free_sized;GLIB_AVAILABLE_IN_2_76;glib-auto.f90;/usr/include/glib-2.0/glib/gmem.h;\"void g_free_sized (gpointer mem, size_t size);\";subroutine g_free_sized(mem, size) bind(c)\r\ng;g_freopen;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstdio.h;\"FILE *g_freopen (const gchar *filename, const gchar *mode, FILE *stream);\";function g_freopen(filename, mode, stream) bind(c)\r\ng;g_fsync;GLIB_AVAILABLE_IN_2_64;glib-auto.f90;/usr/include/glib-2.0/glib/gstdio.h;\"gint g_fsync (gint fd);\";function g_fsync(fd) bind(c)\r\ng;g_get_application_name;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gutils.h;\"const gchar * g_get_application_name (void);\";function g_get_application_name() bind(c)\r\ng;g_get_charset;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gcharset.h;\"gboolean g_get_charset (const char **charset);\";function g_get_charset(charset) bind(c)\r\ng;g_get_codeset;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gcharset.h;\"gchar * g_get_codeset (void);\";function g_get_codeset() bind(c)\r\ng;g_get_console_charset;GLIB_AVAILABLE_IN_2_62;glib-auto.f90;/usr/include/glib-2.0/glib/gcharset.h;\"gboolean g_get_console_charset (const char **charset);\";function g_get_console_charset(charset) bind(c)\r\ng;g_get_current_dir;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gfileutils.h;\"gchar *g_get_current_dir (void);\";function g_get_current_dir() bind(c)\r\ng;g_get_current_time;GLIB_DEPRECATED_IN_2_62_FOR(g_get_real_time);glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"void g_get_current_time (GTimeVal *result);\";subroutine g_get_current_time(result) bind(c)\r\ng;g_get_environ;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/genviron.h;\"gchar ** g_get_environ (void);\";function g_get_environ() bind(c)\r\ng;g_get_filename_charsets;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gconvert.h;\"gboolean g_get_filename_charsets (const gchar ***filename_charsets);\";function g_get_filename_charsets(filename_charsets) bind(c)\r\ng;g_get_home_dir;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gutils.h;\"const gchar * g_get_home_dir (void);\";function g_get_home_dir() bind(c)\r\ng;g_get_host_name;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gutils.h;\"const gchar * g_get_host_name (void);\";function g_get_host_name() bind(c)\r\ng;g_get_language_names;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gcharset.h;\"const gchar * const * g_get_language_names (void);\";function g_get_language_names() bind(c)\r\ng;g_get_language_names_with_category;GLIB_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/glib/gcharset.h;\"const gchar * const * g_get_language_names_with_category (const gchar *category_name);\";function g_get_language_names_with_category(category_name) bind(c)\r\ng;g_get_locale_variants;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gcharset.h;\"gchar ** g_get_locale_variants (const gchar *locale);\";function g_get_locale_variants(locale) bind(c)\r\ng;g_get_monotonic_time;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"gint64 g_get_monotonic_time (void);\";function g_get_monotonic_time() bind(c)\r\ng;g_get_num_processors;GLIB_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"guint g_get_num_processors (void);\";function g_get_num_processors() bind(c)\r\ng;g_get_os_info;GLIB_AVAILABLE_IN_2_64;glib-auto.f90;/usr/include/glib-2.0/glib/gutils.h;\"gchar * g_get_os_info (const gchar *key_name);\";function g_get_os_info(key_name) bind(c)\r\ng;g_get_prgname;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gutils.h;\"const gchar * g_get_prgname (void);\";function g_get_prgname() bind(c)\r\ng;g_get_real_name;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gutils.h;\"const gchar * g_get_real_name (void);\";function g_get_real_name() bind(c)\r\ng;g_get_real_time;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"gint64 g_get_real_time (void);\";function g_get_real_time() bind(c)\r\ng;g_get_system_config_dirs;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gutils.h;\"const gchar * const * g_get_system_config_dirs (void);\";function g_get_system_config_dirs() bind(c)\r\ng;g_get_system_data_dirs;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gutils.h;\"const gchar * const * g_get_system_data_dirs (void);\";function g_get_system_data_dirs() bind(c)\r\ng;g_get_tmp_dir;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gutils.h;\"const gchar * g_get_tmp_dir (void);\";function g_get_tmp_dir() bind(c)\r\ng;g_get_user_cache_dir;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gutils.h;\"const gchar * g_get_user_cache_dir (void);\";function g_get_user_cache_dir() bind(c)\r\ng;g_get_user_config_dir;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gutils.h;\"const gchar * g_get_user_config_dir (void);\";function g_get_user_config_dir() bind(c)\r\ng;g_get_user_data_dir;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gutils.h;\"const gchar * g_get_user_data_dir (void);\";function g_get_user_data_dir() bind(c)\r\ng;g_get_user_name;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gutils.h;\"const gchar * g_get_user_name (void);\";function g_get_user_name() bind(c)\r\ng;g_get_user_runtime_dir;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gutils.h;\"const gchar * g_get_user_runtime_dir (void);\";function g_get_user_runtime_dir() bind(c)\r\ng;g_get_user_special_dir;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gutils.h;\"const gchar * g_get_user_special_dir (GUserDirectory directory);\";function g_get_user_special_dir(directory) bind(c)\r\ng;g_get_user_state_dir;GLIB_AVAILABLE_IN_2_72;glib-auto.f90;/usr/include/glib-2.0/glib/gutils.h;\"const gchar * g_get_user_state_dir (void);\";function g_get_user_state_dir() bind(c)\r\ng;g_getenv;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/genviron.h;\"const gchar * g_getenv (const gchar *variable);\";function g_getenv(variable) bind(c)\r\ng;g_gstring_get_type;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/glib-types.h;\"GType g_gstring_get_type (void) ;\";function g_gstring_get_type() bind(c)\r\ng;g_gtype_get_type;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"GType g_gtype_get_type (void);\";function g_gtype_get_type() bind(c)\r\ng;g_hash_table_add;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"gboolean g_hash_table_add (GHashTable *hash_table, gpointer key);\";function g_hash_table_add(hash_table, key) bind(c)\r\ng;g_hash_table_contains;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"gboolean g_hash_table_contains (GHashTable *hash_table, gconstpointer key);\";function g_hash_table_contains(hash_table, key) bind(c)\r\ng;g_hash_table_destroy;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"void g_hash_table_destroy (GHashTable *hash_table);\";subroutine g_hash_table_destroy(hash_table) bind(c)\r\ng;g_hash_table_find;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"gpointer g_hash_table_find (GHashTable *hash_table, GHRFunc predicate, gpointer user_data);\";function g_hash_table_find(hash_table, predicate, user_data) bind(c)\r\ng;g_hash_table_foreach;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"void g_hash_table_foreach (GHashTable *hash_table, GHFunc func, gpointer user_data);\";subroutine g_hash_table_foreach(hash_table, func, user_data) bind(c)\r\ng;g_hash_table_foreach_remove;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"guint g_hash_table_foreach_remove (GHashTable *hash_table, GHRFunc func, gpointer user_data);\";function g_hash_table_foreach_remove(hash_table, func, user_data) bind(c)\r\ng;g_hash_table_foreach_steal;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"guint g_hash_table_foreach_steal (GHashTable *hash_table, GHRFunc func, gpointer user_data);\";function g_hash_table_foreach_steal(hash_table, func, user_data) bind(c)\r\ng;g_hash_table_get_keys;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"GList * g_hash_table_get_keys (GHashTable *hash_table);\";function g_hash_table_get_keys(hash_table) bind(c)\r\ng;g_hash_table_get_keys_as_array;GLIB_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"gpointer * g_hash_table_get_keys_as_array (GHashTable *hash_table, guint *length);\";function g_hash_table_get_keys_as_array(hash_table, length) bind(c)\r\ng;g_hash_table_get_keys_as_ptr_array;GLIB_AVAILABLE_IN_2_76;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"GPtrArray * g_hash_table_get_keys_as_ptr_array (GHashTable *hash_table);\";function g_hash_table_get_keys_as_ptr_array(hash_table) bind(c)\r\ng;g_hash_table_get_type;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/glib-types.h;\"GType g_hash_table_get_type (void) ;\";function g_hash_table_get_type() bind(c)\r\ng;g_hash_table_get_values;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"GList * g_hash_table_get_values (GHashTable *hash_table);\";function g_hash_table_get_values(hash_table) bind(c)\r\ng;g_hash_table_get_values_as_ptr_array;GLIB_AVAILABLE_IN_2_76;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"GPtrArray * g_hash_table_get_values_as_ptr_array (GHashTable *hash_table);\";function g_hash_table_get_values_as_ptr_array(hash_table) bind(c)\r\ng;g_hash_table_insert;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"gboolean g_hash_table_insert (GHashTable *hash_table, gpointer key, gpointer value);\";function g_hash_table_insert(hash_table, key, value) bind(c)\r\ng;g_hash_table_iter_get_hash_table;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"GHashTable* g_hash_table_iter_get_hash_table (GHashTableIter *iter);\";function g_hash_table_iter_get_hash_table(iter) bind(c)\r\ng;g_hash_table_iter_init;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"void g_hash_table_iter_init (GHashTableIter *iter, GHashTable *hash_table);\";subroutine g_hash_table_iter_init(iter, hash_table) bind(c)\r\ng;g_hash_table_iter_next;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"gboolean g_hash_table_iter_next (GHashTableIter *iter, gpointer *key, gpointer *value);\";function g_hash_table_iter_next(iter, key, value) bind(c)\r\ng;g_hash_table_iter_remove;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"void g_hash_table_iter_remove (GHashTableIter *iter);\";subroutine g_hash_table_iter_remove(iter) bind(c)\r\ng;g_hash_table_iter_replace;GLIB_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"void g_hash_table_iter_replace (GHashTableIter *iter, gpointer value);\";subroutine g_hash_table_iter_replace(iter, value) bind(c)\r\ng;g_hash_table_iter_steal;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"void g_hash_table_iter_steal (GHashTableIter *iter);\";subroutine g_hash_table_iter_steal(iter) bind(c)\r\ng;g_hash_table_lookup;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"gpointer g_hash_table_lookup (GHashTable *hash_table, gconstpointer key);\";function g_hash_table_lookup(hash_table, key) bind(c)\r\ng;g_hash_table_lookup_extended;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"gboolean g_hash_table_lookup_extended (GHashTable *hash_table, gconstpointer lookup_key, gpointer *orig_key, gpointer *value);\";function g_hash_table_lookup_extended(hash_table, lookup_key, orig_key, value) bind(c)\r\ng;g_hash_table_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"GHashTable* g_hash_table_new (GHashFunc hash_func, GEqualFunc key_equal_func);\";function g_hash_table_new(hash_func, key_equal_func) bind(c)\r\ng;g_hash_table_new_full;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"GHashTable* g_hash_table_new_full (GHashFunc hash_func, GEqualFunc key_equal_func, GDestroyNotify key_destroy_func, GDestroyNotify value_destroy_func);\";function g_hash_table_new_full(hash_func, key_equal_func, key_destroy_func, value_destroy_func) bind(c)\r\ng;g_hash_table_new_similar;GLIB_AVAILABLE_IN_2_72;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"GHashTable *g_hash_table_new_similar (GHashTable *other_hash_table);\";function g_hash_table_new_similar(other_hash_table) bind(c)\r\ng;g_hash_table_ref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"GHashTable* g_hash_table_ref (GHashTable *hash_table);\";function g_hash_table_ref(hash_table) bind(c)\r\ng;g_hash_table_remove;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"gboolean g_hash_table_remove (GHashTable *hash_table, gconstpointer key);\";function g_hash_table_remove(hash_table, key) bind(c)\r\ng;g_hash_table_remove_all;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"void g_hash_table_remove_all (GHashTable *hash_table);\";subroutine g_hash_table_remove_all(hash_table) bind(c)\r\ng;g_hash_table_replace;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"gboolean g_hash_table_replace (GHashTable *hash_table, gpointer key, gpointer value);\";function g_hash_table_replace(hash_table, key, value) bind(c)\r\ng;g_hash_table_size;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"guint g_hash_table_size (GHashTable *hash_table);\";function g_hash_table_size(hash_table) bind(c)\r\ng;g_hash_table_steal;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"gboolean g_hash_table_steal (GHashTable *hash_table, gconstpointer key);\";function g_hash_table_steal(hash_table, key) bind(c)\r\ng;g_hash_table_steal_all;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"void g_hash_table_steal_all (GHashTable *hash_table);\";subroutine g_hash_table_steal_all(hash_table) bind(c)\r\ng;g_hash_table_steal_all_keys;GLIB_AVAILABLE_IN_2_76;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"GPtrArray * g_hash_table_steal_all_keys (GHashTable *hash_table);\";function g_hash_table_steal_all_keys(hash_table) bind(c)\r\ng;g_hash_table_steal_all_values;GLIB_AVAILABLE_IN_2_76;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"GPtrArray * g_hash_table_steal_all_values (GHashTable *hash_table);\";function g_hash_table_steal_all_values(hash_table) bind(c)\r\ng;g_hash_table_steal_extended;GLIB_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"gboolean g_hash_table_steal_extended (GHashTable *hash_table, gconstpointer lookup_key, gpointer *stolen_key, gpointer *stolen_value);\";function g_hash_table_steal_extended(hash_table, lookup_key, stolen_key, stolen_value) bind(c)\r\ng;g_hash_table_unref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"void g_hash_table_unref (GHashTable *hash_table);\";subroutine g_hash_table_unref(hash_table) bind(c)\r\ng;g_hmac_copy;GLIB_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/glib/ghmac.h;\"GHmac * g_hmac_copy (const GHmac *hmac);\";function g_hmac_copy(hmac) bind(c)\r\ng;g_hmac_get_digest;GLIB_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/glib/ghmac.h;\"void g_hmac_get_digest (GHmac *hmac, guint8 *buffer, gsize *digest_len);\";subroutine g_hmac_get_digest(hmac, buffer, digest_len) bind(c)\r\ng;g_hmac_get_string;GLIB_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/glib/ghmac.h;\"const gchar * g_hmac_get_string (GHmac *hmac);\";function g_hmac_get_string(hmac) bind(c)\r\ng;g_hmac_get_type;GOBJECT_AVAILABLE_IN_2_80;glib-auto.f90;/usr/include/glib-2.0/gobject/glib-types.h;\"GType g_hmac_get_type (void) ;\";function g_hmac_get_type() bind(c)\r\ng;g_hmac_new;GLIB_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/glib/ghmac.h;\"GHmac * g_hmac_new (GChecksumType digest_type, const guchar *key, gsize key_len);\";function g_hmac_new(digest_type, key, key_len) bind(c)\r\ng;g_hmac_ref;GLIB_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/glib/ghmac.h;\"GHmac * g_hmac_ref (GHmac *hmac);\";function g_hmac_ref(hmac) bind(c)\r\ng;g_hmac_unref;GLIB_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/glib/ghmac.h;\"void g_hmac_unref (GHmac *hmac);\";subroutine g_hmac_unref(hmac) bind(c)\r\ng;g_hmac_update;GLIB_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/glib/ghmac.h;\"void g_hmac_update (GHmac *hmac, const guchar *data, gssize length);\";subroutine g_hmac_update(hmac, data, length) bind(c)\r\ng;g_hook_alloc;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghook.h;\"GHook* g_hook_alloc (GHookList *hook_list);\";function g_hook_alloc(hook_list) bind(c)\r\ng;g_hook_compare_ids;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghook.h;\"gint g_hook_compare_ids (GHook *new_hook, GHook *sibling);\";function g_hook_compare_ids(new_hook, sibling) bind(c)\r\ng;g_hook_destroy;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghook.h;\"gboolean g_hook_destroy (GHookList *hook_list, gulong hook_id);\";function g_hook_destroy(hook_list, hook_id) bind(c)\r\ng;g_hook_destroy_link;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghook.h;\"void g_hook_destroy_link (GHookList *hook_list, GHook *hook);\";subroutine g_hook_destroy_link(hook_list, hook) bind(c)\r\ng;g_hook_find;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghook.h;\"GHook* g_hook_find (GHookList *hook_list, gboolean need_valids, GHookFindFunc func, gpointer data);\";function g_hook_find(hook_list, need_valids, func, data) bind(c)\r\ng;g_hook_find_data;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghook.h;\"GHook* g_hook_find_data (GHookList *hook_list, gboolean need_valids, gpointer data);\";function g_hook_find_data(hook_list, need_valids, data) bind(c)\r\ng;g_hook_find_func;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghook.h;\"GHook* g_hook_find_func (GHookList *hook_list, gboolean need_valids, gpointer func);\";function g_hook_find_func(hook_list, need_valids, func) bind(c)\r\ng;g_hook_find_func_data;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghook.h;\"GHook* g_hook_find_func_data (GHookList *hook_list, gboolean need_valids, gpointer func, gpointer data);\";function g_hook_find_func_data(hook_list, need_valids, func, data) bind(c)\r\ng;g_hook_first_valid;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghook.h;\"GHook* g_hook_first_valid (GHookList *hook_list, gboolean may_be_in_call);\";function g_hook_first_valid(hook_list, may_be_in_call) bind(c)\r\ng;g_hook_free;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghook.h;\"void g_hook_free (GHookList *hook_list, GHook *hook);\";subroutine g_hook_free(hook_list, hook) bind(c)\r\ng;g_hook_get;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghook.h;\"GHook* g_hook_get (GHookList *hook_list, gulong hook_id);\";function g_hook_get(hook_list, hook_id) bind(c)\r\ng;g_hook_insert_before;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghook.h;\"void g_hook_insert_before (GHookList *hook_list, GHook *sibling, GHook *hook);\";subroutine g_hook_insert_before(hook_list, sibling, hook) bind(c)\r\ng;g_hook_insert_sorted;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghook.h;\"void g_hook_insert_sorted (GHookList *hook_list, GHook *hook, GHookCompareFunc func);\";subroutine g_hook_insert_sorted(hook_list, hook, func) bind(c)\r\ng;g_hook_list_clear;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghook.h;\"void g_hook_list_clear (GHookList *hook_list);\";subroutine g_hook_list_clear(hook_list) bind(c)\r\ng;g_hook_list_init;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghook.h;\"void g_hook_list_init (GHookList *hook_list, guint hook_size);\";subroutine g_hook_list_init(hook_list, hook_size) bind(c)\r\ng;g_hook_list_invoke;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghook.h;\"void g_hook_list_invoke (GHookList *hook_list, gboolean may_recurse);\";subroutine g_hook_list_invoke(hook_list, may_recurse) bind(c)\r\ng;g_hook_list_invoke_check;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghook.h;\"void g_hook_list_invoke_check (GHookList *hook_list, gboolean may_recurse);\";subroutine g_hook_list_invoke_check(hook_list, may_recurse) bind(c)\r\ng;g_hook_list_marshal;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghook.h;\"void g_hook_list_marshal (GHookList *hook_list, gboolean may_recurse, GHookMarshaller marshaller, gpointer marshal_data);\";subroutine g_hook_list_marshal(hook_list, may_recurse, marshaller, marshal_data) bind(c)\r\ng;g_hook_list_marshal_check;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghook.h;\"void g_hook_list_marshal_check (GHookList *hook_list, gboolean may_recurse, GHookCheckMarshaller marshaller, gpointer marshal_data);\";subroutine g_hook_list_marshal_check(hook_list, may_recurse, marshaller, marshal_data) bind(c)\r\ng;g_hook_next_valid;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghook.h;\"GHook* g_hook_next_valid (GHookList *hook_list, GHook *hook, gboolean may_be_in_call);\";function g_hook_next_valid(hook_list, hook, may_be_in_call) bind(c)\r\ng;g_hook_prepend;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghook.h;\"void g_hook_prepend (GHookList *hook_list, GHook *hook);\";subroutine g_hook_prepend(hook_list, hook) bind(c)\r\ng;g_hook_ref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghook.h;\"GHook * g_hook_ref (GHookList *hook_list, GHook *hook);\";function g_hook_ref(hook_list, hook) bind(c)\r\ng;g_hook_unref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghook.h;\"void g_hook_unref (GHookList *hook_list, GHook *hook);\";subroutine g_hook_unref(hook_list, hook) bind(c)\r\ng;g_hostname_is_ascii_encoded;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghostutils.h;\"gboolean g_hostname_is_ascii_encoded (const gchar *hostname);\";function g_hostname_is_ascii_encoded(hostname) bind(c)\r\ng;g_hostname_is_ip_address;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghostutils.h;\"gboolean g_hostname_is_ip_address (const gchar *hostname);\";function g_hostname_is_ip_address(hostname) bind(c)\r\ng;g_hostname_is_non_ascii;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghostutils.h;\"gboolean g_hostname_is_non_ascii (const gchar *hostname);\";function g_hostname_is_non_ascii(hostname) bind(c)\r\ng;g_hostname_to_ascii;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghostutils.h;\"gchar *g_hostname_to_ascii (const gchar *hostname);\";function g_hostname_to_ascii(hostname) bind(c)\r\ng;g_hostname_to_unicode;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghostutils.h;\"gchar *g_hostname_to_unicode (const gchar *hostname);\";function g_hostname_to_unicode(hostname) bind(c)\r\ng;g_icon_deserialize;GIO_AVAILABLE_IN_2_38;glib-auto.f90;/usr/include/glib-2.0/gio/gicon.h;\"GIcon * g_icon_deserialize (GVariant *value);\";function g_icon_deserialize(value) bind(c)\r\ng;g_icon_equal;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gicon.h;\"gboolean g_icon_equal (GIcon *icon1, GIcon *icon2);\";function g_icon_equal(icon1, icon2) bind(c)\r\ng;g_icon_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gicon.h;\"GType g_icon_get_type (void) ;\";function g_icon_get_type() bind(c)\r\ng;g_icon_hash;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gicon.h;\"guint g_icon_hash (gconstpointer icon);\";function g_icon_hash(icon) bind(c)\r\ng;g_icon_new_for_string;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gicon.h;\"GIcon *g_icon_new_for_string (const gchar *str, GError **error);\";function g_icon_new_for_string(str, error) bind(c)\r\ng;g_icon_serialize;GIO_AVAILABLE_IN_2_38;glib-auto.f90;/usr/include/glib-2.0/gio/gicon.h;\"GVariant * g_icon_serialize (GIcon *icon);\";function g_icon_serialize(icon) bind(c)\r\ng;g_icon_to_string;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gicon.h;\"gchar *g_icon_to_string (GIcon *icon);\";function g_icon_to_string(icon) bind(c)\r\ng;g_iconv;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gconvert.h;\"gsize g_iconv (GIConv converter, gchar **inbuf, gsize *inbytes_left, gchar **outbuf, gsize *outbytes_left);\";function g_iconv(converter, inbuf, inbytes_left, outbuf, outbytes_left) bind(c)\r\ng;g_iconv_close;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gconvert.h;\"gint g_iconv_close (GIConv converter);\";function g_iconv_close(converter) bind(c)\r\ng;g_iconv_open;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gconvert.h;\"GIConv g_iconv_open (const gchar *to_codeset, const gchar *from_codeset);\";function g_iconv_open(to_codeset, from_codeset) bind(c)\r\ng;g_idle_add;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"guint g_idle_add (GSourceFunc function, gpointer data);\";function g_idle_add(function, data) bind(c)\r\ng;g_idle_add_full;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"guint g_idle_add_full (gint priority, GSourceFunc function, gpointer data, GDestroyNotify notify);\";function g_idle_add_full(priority, function, data, notify) bind(c)\r\ng;g_idle_add_once;GLIB_AVAILABLE_IN_2_74;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"guint g_idle_add_once (GSourceOnceFunc function, gpointer data);\";function g_idle_add_once(function, data) bind(c)\r\ng;g_idle_remove_by_data;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"gboolean g_idle_remove_by_data (gpointer data);\";function g_idle_remove_by_data(data) bind(c)\r\ng;g_idle_source_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"GSource *g_idle_source_new (void);\";function g_idle_source_new() bind(c)\r\ng;g_inet_address_equal;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginetaddress.h;\"gboolean g_inet_address_equal (GInetAddress *address, GInetAddress *other_address);\";function g_inet_address_equal(address, other_address) bind(c)\r\ng;g_inet_address_get_family;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginetaddress.h;\"GSocketFamily g_inet_address_get_family (GInetAddress *address);\";function g_inet_address_get_family(address) bind(c)\r\ng;g_inet_address_get_flowinfo;GIO_AVAILABLE_IN_2_86;glib-auto.f90;/usr/include/glib-2.0/gio/ginetaddress.h;\"guint32 g_inet_address_get_flowinfo (GInetAddress *address);\";function g_inet_address_get_flowinfo(address) bind(c)\r\ng;g_inet_address_get_is_any;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginetaddress.h;\"gboolean g_inet_address_get_is_any (GInetAddress *address);\";function g_inet_address_get_is_any(address) bind(c)\r\ng;g_inet_address_get_is_link_local;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginetaddress.h;\"gboolean g_inet_address_get_is_link_local (GInetAddress *address);\";function g_inet_address_get_is_link_local(address) bind(c)\r\ng;g_inet_address_get_is_loopback;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginetaddress.h;\"gboolean g_inet_address_get_is_loopback (GInetAddress *address);\";function g_inet_address_get_is_loopback(address) bind(c)\r\ng;g_inet_address_get_is_mc_global;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginetaddress.h;\"gboolean g_inet_address_get_is_mc_global (GInetAddress *address);\";function g_inet_address_get_is_mc_global(address) bind(c)\r\ng;g_inet_address_get_is_mc_link_local;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginetaddress.h;\"gboolean g_inet_address_get_is_mc_link_local (GInetAddress *address);\";function g_inet_address_get_is_mc_link_local(address) bind(c)\r\ng;g_inet_address_get_is_mc_node_local;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginetaddress.h;\"gboolean g_inet_address_get_is_mc_node_local (GInetAddress *address);\";function g_inet_address_get_is_mc_node_local(address) bind(c)\r\ng;g_inet_address_get_is_mc_org_local;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginetaddress.h;\"gboolean g_inet_address_get_is_mc_org_local (GInetAddress *address);\";function g_inet_address_get_is_mc_org_local(address) bind(c)\r\ng;g_inet_address_get_is_mc_site_local;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginetaddress.h;\"gboolean g_inet_address_get_is_mc_site_local (GInetAddress *address);\";function g_inet_address_get_is_mc_site_local(address) bind(c)\r\ng;g_inet_address_get_is_multicast;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginetaddress.h;\"gboolean g_inet_address_get_is_multicast (GInetAddress *address);\";function g_inet_address_get_is_multicast(address) bind(c)\r\ng;g_inet_address_get_is_site_local;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginetaddress.h;\"gboolean g_inet_address_get_is_site_local (GInetAddress *address);\";function g_inet_address_get_is_site_local(address) bind(c)\r\ng;g_inet_address_get_native_size;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginetaddress.h;\"gsize g_inet_address_get_native_size (GInetAddress *address);\";function g_inet_address_get_native_size(address) bind(c)\r\ng;g_inet_address_get_scope_id;GIO_AVAILABLE_IN_2_86;glib-auto.f90;/usr/include/glib-2.0/gio/ginetaddress.h;\"guint32 g_inet_address_get_scope_id (GInetAddress *address);\";function g_inet_address_get_scope_id(address) bind(c)\r\ng;g_inet_address_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginetaddress.h;\"GType g_inet_address_get_type (void) ;\";function g_inet_address_get_type() bind(c)\r\ng;g_inet_address_mask_equal;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/ginetaddressmask.h;\"gboolean g_inet_address_mask_equal (GInetAddressMask *mask, GInetAddressMask *mask2);\";function g_inet_address_mask_equal(mask, mask2) bind(c)\r\ng;g_inet_address_mask_get_address;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/ginetaddressmask.h;\"GInetAddress *g_inet_address_mask_get_address (GInetAddressMask *mask);\";function g_inet_address_mask_get_address(mask) bind(c)\r\ng;g_inet_address_mask_get_family;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/ginetaddressmask.h;\"GSocketFamily g_inet_address_mask_get_family (GInetAddressMask *mask);\";function g_inet_address_mask_get_family(mask) bind(c)\r\ng;g_inet_address_mask_get_length;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/ginetaddressmask.h;\"guint g_inet_address_mask_get_length (GInetAddressMask *mask);\";function g_inet_address_mask_get_length(mask) bind(c)\r\ng;g_inet_address_mask_get_type;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/ginetaddressmask.h;\"GType g_inet_address_mask_get_type (void) ;\";function g_inet_address_mask_get_type() bind(c)\r\ng;g_inet_address_mask_matches;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/ginetaddressmask.h;\"gboolean g_inet_address_mask_matches (GInetAddressMask *mask, GInetAddress *address);\";function g_inet_address_mask_matches(mask, address) bind(c)\r\ng;g_inet_address_mask_new;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/ginetaddressmask.h;\"GInetAddressMask *g_inet_address_mask_new (GInetAddress *addr, guint length, GError **error);\";function g_inet_address_mask_new(addr, length, error) bind(c)\r\ng;g_inet_address_mask_new_from_string;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/ginetaddressmask.h;\"GInetAddressMask *g_inet_address_mask_new_from_string (const gchar *mask_string, GError **error);\";function g_inet_address_mask_new_from_string(mask_string, error) bind(c)\r\ng;g_inet_address_mask_to_string;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/ginetaddressmask.h;\"gchar *g_inet_address_mask_to_string (GInetAddressMask *mask);\";function g_inet_address_mask_to_string(mask) bind(c)\r\ng;g_inet_address_new_any;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginetaddress.h;\"GInetAddress * g_inet_address_new_any (GSocketFamily family);\";function g_inet_address_new_any(family) bind(c)\r\ng;g_inet_address_new_from_bytes;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginetaddress.h;\"GInetAddress * g_inet_address_new_from_bytes (const guint8 *bytes, GSocketFamily family);\";function g_inet_address_new_from_bytes(bytes, family) bind(c)\r\ng;g_inet_address_new_from_bytes_with_ipv6_info;GIO_AVAILABLE_IN_2_86;glib-auto.f90;/usr/include/glib-2.0/gio/ginetaddress.h;\"GInetAddress * g_inet_address_new_from_bytes_with_ipv6_info (const guint8 *bytes, GSocketFamily family, guint32 flowinfo, guint32 scope_id);\";function g_inet_address_new_from_bytes_with_ipv6_info(bytes, family, flowinfo, scope_id) bind(c)\r\ng;g_inet_address_new_from_string;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginetaddress.h;\"GInetAddress * g_inet_address_new_from_string (const gchar *string);\";function g_inet_address_new_from_string(string) bind(c)\r\ng;g_inet_address_new_loopback;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginetaddress.h;\"GInetAddress * g_inet_address_new_loopback (GSocketFamily family);\";function g_inet_address_new_loopback(family) bind(c)\r\ng;g_inet_address_to_bytes;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginetaddress.h;\"const guint8 * g_inet_address_to_bytes (GInetAddress *address);\";function g_inet_address_to_bytes(address) bind(c)\r\ng;g_inet_address_to_string;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginetaddress.h;\"gchar * g_inet_address_to_string (GInetAddress *address);\";function g_inet_address_to_string(address) bind(c)\r\ng;g_inet_socket_address_get_address;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginetsocketaddress.h;\"GInetAddress * g_inet_socket_address_get_address (GInetSocketAddress *address);\";function g_inet_socket_address_get_address(address) bind(c)\r\ng;g_inet_socket_address_get_flowinfo;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/ginetsocketaddress.h;\"guint32 g_inet_socket_address_get_flowinfo (GInetSocketAddress *address);\";function g_inet_socket_address_get_flowinfo(address) bind(c)\r\ng;g_inet_socket_address_get_port;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginetsocketaddress.h;\"guint16 g_inet_socket_address_get_port (GInetSocketAddress *address);\";function g_inet_socket_address_get_port(address) bind(c)\r\ng;g_inet_socket_address_get_scope_id;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/ginetsocketaddress.h;\"guint32 g_inet_socket_address_get_scope_id (GInetSocketAddress *address);\";function g_inet_socket_address_get_scope_id(address) bind(c)\r\ng;g_inet_socket_address_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginetsocketaddress.h;\"GType g_inet_socket_address_get_type (void) ;\";function g_inet_socket_address_get_type() bind(c)\r\ng;g_inet_socket_address_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginetsocketaddress.h;\"GSocketAddress *g_inet_socket_address_new (GInetAddress *address, guint16 port);\";function g_inet_socket_address_new(address, port) bind(c)\r\ng;g_inet_socket_address_new_from_string;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/ginetsocketaddress.h;\"GSocketAddress *g_inet_socket_address_new_from_string (const char *address, guint port);\";function g_inet_socket_address_new_from_string(address, port) bind(c)\r\ng;g_initable_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginitable.h;\"GType g_initable_get_type (void) ;\";function g_initable_get_type() bind(c)\r\ng;g_initable_init;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginitable.h;\"gboolean g_initable_init (GInitable *initable, GCancellable *cancellable, GError **error);\";function g_initable_init(initable, cancellable, error) bind(c)\r\ng;g_initable_new_valist;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginitable.h;\"GObject* g_initable_new_valist (GType object_type, const gchar *first_property_name, va_list var_args, GCancellable *cancellable, GError **error);\";function g_initable_new_valist(object_type, first_property_name, var_args, cancellable, error) bind(c)\r\ng;g_initable_newv;GIO_DEPRECATED_IN_2_54_FOR(g_object_new_with_properties and g_initable_init);glib-auto.f90;/usr/include/glib-2.0/gio/ginitable.h;\"gpointer g_initable_newv (GType object_type, guint n_parameters, GParameter *parameters, GCancellable *cancellable, GError **error);\";function g_initable_newv(object_type, n_parameters, parameters, cancellable, error) bind(c)\r\ng;g_initially_unowned_get_type;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"GType g_initially_unowned_get_type (void);\";function g_initially_unowned_get_type() bind(c)\r\ng;g_input_stream_clear_pending;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginputstream.h;\"void g_input_stream_clear_pending (GInputStream *stream);\";subroutine g_input_stream_clear_pending(stream) bind(c)\r\ng;g_input_stream_close;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginputstream.h;\"gboolean g_input_stream_close (GInputStream *stream, GCancellable *cancellable, GError **error);\";function g_input_stream_close(stream, cancellable, error) bind(c)\r\ng;g_input_stream_close_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginputstream.h;\"void g_input_stream_close_async (GInputStream *stream, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_input_stream_close_async(stream, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_input_stream_close_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginputstream.h;\"gboolean g_input_stream_close_finish (GInputStream *stream, GAsyncResult *result, GError **error);\";function g_input_stream_close_finish(stream, result, error) bind(c)\r\ng;g_input_stream_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginputstream.h;\"GType g_input_stream_get_type (void) ;\";function g_input_stream_get_type() bind(c)\r\ng;g_input_stream_has_pending;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginputstream.h;\"gboolean g_input_stream_has_pending (GInputStream *stream);\";function g_input_stream_has_pending(stream) bind(c)\r\ng;g_input_stream_is_closed;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginputstream.h;\"gboolean g_input_stream_is_closed (GInputStream *stream);\";function g_input_stream_is_closed(stream) bind(c)\r\ng;g_input_stream_read;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginputstream.h;\"gssize g_input_stream_read (GInputStream *stream, void *buffer, gsize count, GCancellable *cancellable, GError **error);\";function g_input_stream_read(stream, buffer, count, cancellable, error) bind(c)\r\ng;g_input_stream_read_all;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginputstream.h;\"gboolean g_input_stream_read_all (GInputStream *stream, void *buffer, gsize count, gsize *bytes_read, GCancellable *cancellable, GError **error);\";function g_input_stream_read_all(stream, buffer, count, bytes_read, cancellable, error) bind(c)\r\ng;g_input_stream_read_all_async;GIO_AVAILABLE_IN_2_44;glib-auto.f90;/usr/include/glib-2.0/gio/ginputstream.h;\"void g_input_stream_read_all_async (GInputStream *stream, void *buffer, gsize count, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_input_stream_read_all_async(stream, buffer, count, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_input_stream_read_all_finish;GIO_AVAILABLE_IN_2_44;glib-auto.f90;/usr/include/glib-2.0/gio/ginputstream.h;\"gboolean g_input_stream_read_all_finish (GInputStream *stream, GAsyncResult *result, gsize *bytes_read, GError **error);\";function g_input_stream_read_all_finish(stream, result, bytes_read, error) bind(c)\r\ng;g_input_stream_read_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginputstream.h;\"void g_input_stream_read_async (GInputStream *stream, void *buffer, gsize count, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_input_stream_read_async(stream, buffer, count, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_input_stream_read_bytes;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/ginputstream.h;\"GBytes *g_input_stream_read_bytes (GInputStream *stream, gsize count, GCancellable *cancellable, GError **error);\";function g_input_stream_read_bytes(stream, count, cancellable, error) bind(c)\r\ng;g_input_stream_read_bytes_async;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/ginputstream.h;\"void g_input_stream_read_bytes_async (GInputStream *stream, gsize count, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_input_stream_read_bytes_async(stream, count, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_input_stream_read_bytes_finish;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/ginputstream.h;\"GBytes *g_input_stream_read_bytes_finish (GInputStream *stream, GAsyncResult *result, GError **error);\";function g_input_stream_read_bytes_finish(stream, result, error) bind(c)\r\ng;g_input_stream_read_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginputstream.h;\"gssize g_input_stream_read_finish (GInputStream *stream, GAsyncResult *result, GError **error);\";function g_input_stream_read_finish(stream, result, error) bind(c)\r\ng;g_input_stream_set_pending;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginputstream.h;\"gboolean g_input_stream_set_pending (GInputStream *stream, GError **error);\";function g_input_stream_set_pending(stream, error) bind(c)\r\ng;g_input_stream_skip;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginputstream.h;\"gssize g_input_stream_skip (GInputStream *stream, gsize count, GCancellable *cancellable, GError **error);\";function g_input_stream_skip(stream, count, cancellable, error) bind(c)\r\ng;g_input_stream_skip_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginputstream.h;\"void g_input_stream_skip_async (GInputStream *stream, gsize count, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_input_stream_skip_async(stream, count, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_input_stream_skip_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/ginputstream.h;\"gssize g_input_stream_skip_finish (GInputStream *stream, GAsyncResult *result, GError **error);\";function g_input_stream_skip_finish(stream, result, error) bind(c)\r\ng;g_int64_equal;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"gboolean g_int64_equal (gconstpointer v1, gconstpointer v2);\";function g_int64_equal(v1, v2) bind(c)\r\ng;g_int64_hash;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"guint g_int64_hash (gconstpointer v);\";function g_int64_hash(v) bind(c)\r\ng;g_int_equal;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"gboolean g_int_equal (gconstpointer v1, gconstpointer v2);\";function g_int_equal(v1, v2) bind(c)\r\ng;g_int_hash;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"guint g_int_hash (gconstpointer v);\";function g_int_hash(v) bind(c)\r\ng;g_intern_static_string;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gquark.h;\"const gchar * g_intern_static_string (const gchar *string);\";function g_intern_static_string(string) bind(c)\r\ng;g_intern_string;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gquark.h;\"const gchar * g_intern_string (const gchar *string);\";function g_intern_string(string) bind(c)\r\ng;g_io_add_watch;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"guint g_io_add_watch (GIOChannel *channel, GIOCondition condition, GIOFunc func, gpointer user_data);\";function g_io_add_watch(channel, condition, func, user_data) bind(c)\r\ng;g_io_add_watch_full;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"guint g_io_add_watch_full (GIOChannel *channel, gint priority, GIOCondition condition, GIOFunc func, gpointer user_data, GDestroyNotify notify);\";function g_io_add_watch_full(channel, priority, condition, func, user_data, notify) bind(c)\r\ng;g_io_channel_close;GLIB_DEPRECATED_FOR(g_io_channel_shutdown);glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"void g_io_channel_close (GIOChannel *channel);\";subroutine g_io_channel_close(channel) bind(c)\r\ng;g_io_channel_error_from_errno;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"GIOChannelError g_io_channel_error_from_errno (gint en);\";function g_io_channel_error_from_errno(en) bind(c)\r\ng;g_io_channel_error_quark;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"GQuark g_io_channel_error_quark (void);\";function g_io_channel_error_quark() bind(c)\r\ng;g_io_channel_flush;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"GIOStatus g_io_channel_flush (GIOChannel *channel, GError **error);\";function g_io_channel_flush(channel, error) bind(c)\r\ng;g_io_channel_get_buffer_condition;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"GIOCondition g_io_channel_get_buffer_condition (GIOChannel *channel);\";function g_io_channel_get_buffer_condition(channel) bind(c)\r\ng;g_io_channel_get_buffer_size;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"gsize g_io_channel_get_buffer_size (GIOChannel *channel);\";function g_io_channel_get_buffer_size(channel) bind(c)\r\ng;g_io_channel_get_buffered;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"gboolean g_io_channel_get_buffered (GIOChannel *channel);\";function g_io_channel_get_buffered(channel) bind(c)\r\ng;g_io_channel_get_close_on_unref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"gboolean g_io_channel_get_close_on_unref (GIOChannel *channel);\";function g_io_channel_get_close_on_unref(channel) bind(c)\r\ng;g_io_channel_get_encoding;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"const gchar * g_io_channel_get_encoding (GIOChannel *channel);\";function g_io_channel_get_encoding(channel) bind(c)\r\ng;g_io_channel_get_flags;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"GIOFlags g_io_channel_get_flags (GIOChannel *channel);\";function g_io_channel_get_flags(channel) bind(c)\r\ng;g_io_channel_get_line_term;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"const gchar * g_io_channel_get_line_term (GIOChannel *channel, gint *length);\";function g_io_channel_get_line_term(channel, length) bind(c)\r\ng;g_io_channel_get_type;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/glib-types.h;\"GType g_io_channel_get_type (void) ;\";function g_io_channel_get_type() bind(c)\r\ng;g_io_channel_init;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"void g_io_channel_init (GIOChannel *channel);\";subroutine g_io_channel_init(channel) bind(c)\r\ng;g_io_channel_new_file;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"GIOChannel* g_io_channel_new_file (const gchar *filename, const gchar *mode, GError **error);\";function g_io_channel_new_file(filename, mode, error) bind(c)\r\ng;g_io_channel_read;GLIB_DEPRECATED_FOR(g_io_channel_read_chars);glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"GIOError g_io_channel_read (GIOChannel *channel, gchar *buf, gsize count, gsize *bytes_read);\";function g_io_channel_read(channel, buf, count, bytes_read) bind(c)\r\ng;g_io_channel_read_chars;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"GIOStatus g_io_channel_read_chars (GIOChannel *channel, gchar *buf, gsize count, gsize *bytes_read, GError **error);\";function g_io_channel_read_chars(channel, buf, count, bytes_read, error) bind(c)\r\ng;g_io_channel_read_line;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"GIOStatus g_io_channel_read_line (GIOChannel *channel, gchar **str_return, gsize *length, gsize *terminator_pos, GError **error);\";function g_io_channel_read_line(channel, str_return, length, terminator_pos, error) bind(c)\r\ng;g_io_channel_read_line_string;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"GIOStatus g_io_channel_read_line_string (GIOChannel *channel, GString *buffer, gsize *terminator_pos, GError **error);\";function g_io_channel_read_line_string(channel, buffer, terminator_pos, error) bind(c)\r\ng;g_io_channel_read_to_end;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"GIOStatus g_io_channel_read_to_end (GIOChannel *channel, gchar **str_return, gsize *length, GError **error);\";function g_io_channel_read_to_end(channel, str_return, length, error) bind(c)\r\ng;g_io_channel_read_unichar;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"GIOStatus g_io_channel_read_unichar (GIOChannel *channel, gunichar *thechar, GError **error);\";function g_io_channel_read_unichar(channel, thechar, error) bind(c)\r\ng;g_io_channel_ref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"GIOChannel *g_io_channel_ref (GIOChannel *channel);\";function g_io_channel_ref(channel) bind(c)\r\ng;g_io_channel_seek;GLIB_DEPRECATED_FOR(g_io_channel_seek_position);glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"GIOError g_io_channel_seek (GIOChannel *channel, gint64 offset, GSeekType type);\";function g_io_channel_seek(channel, offset, type) bind(c)\r\ng;g_io_channel_seek_position;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"GIOStatus g_io_channel_seek_position (GIOChannel *channel, gint64 offset, GSeekType type, GError **error);\";function g_io_channel_seek_position(channel, offset, type, error) bind(c)\r\ng;g_io_channel_set_buffer_size;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"void g_io_channel_set_buffer_size (GIOChannel *channel, gsize size);\";subroutine g_io_channel_set_buffer_size(channel, size) bind(c)\r\ng;g_io_channel_set_buffered;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"void g_io_channel_set_buffered (GIOChannel *channel, gboolean buffered);\";subroutine g_io_channel_set_buffered(channel, buffered) bind(c)\r\ng;g_io_channel_set_close_on_unref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"void g_io_channel_set_close_on_unref (GIOChannel *channel, gboolean do_close);\";subroutine g_io_channel_set_close_on_unref(channel, do_close) bind(c)\r\ng;g_io_channel_set_encoding;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"GIOStatus g_io_channel_set_encoding (GIOChannel *channel, const gchar *encoding, GError **error);\";function g_io_channel_set_encoding(channel, encoding, error) bind(c)\r\ng;g_io_channel_set_flags;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"GIOStatus g_io_channel_set_flags (GIOChannel *channel, GIOFlags flags, GError **error);\";function g_io_channel_set_flags(channel, flags, error) bind(c)\r\ng;g_io_channel_set_line_term;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"void g_io_channel_set_line_term (GIOChannel *channel, const gchar *line_term, gint length);\";subroutine g_io_channel_set_line_term(channel, line_term, length) bind(c)\r\ng;g_io_channel_shutdown;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"GIOStatus g_io_channel_shutdown (GIOChannel *channel, gboolean flush, GError **err);\";function g_io_channel_shutdown(channel, flush, err) bind(c)\r\ng;g_io_channel_unix_get_fd;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"gint g_io_channel_unix_get_fd (GIOChannel *channel);\";function g_io_channel_unix_get_fd(channel) bind(c)\r\ng;g_io_channel_unix_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"GIOChannel* g_io_channel_unix_new (int fd);\";function g_io_channel_unix_new(fd) bind(c)\r\ng;g_io_channel_unref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"void g_io_channel_unref (GIOChannel *channel);\";subroutine g_io_channel_unref(channel) bind(c)\r\ng;g_io_channel_win32_get_fd;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"gint g_io_channel_win32_get_fd (GIOChannel *channel);\";function g_io_channel_win32_get_fd(channel) bind(c)\r\ng;g_io_channel_win32_make_pollfd;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"void g_io_channel_win32_make_pollfd (GIOChannel *channel, GIOCondition condition, GPollFD *fd);\";subroutine g_io_channel_win32_make_pollfd(channel, condition, fd) bind(c)\r\ng;g_io_channel_win32_new_fd;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"GIOChannel* g_io_channel_win32_new_fd (gint fd);\";function g_io_channel_win32_new_fd(fd) bind(c)\r\ng;g_io_channel_win32_new_socket;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"GIOChannel *g_io_channel_win32_new_socket (gint socket);\";function g_io_channel_win32_new_socket(socket) bind(c)\r\ng;g_io_channel_win32_new_stream_socket;GLIB_DEPRECATED_FOR(g_io_channel_win32_new_socket);glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"GIOChannel *g_io_channel_win32_new_stream_socket (gint socket);\";function g_io_channel_win32_new_stream_socket(socket) bind(c)\r\ng;g_io_channel_win32_poll;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"gint g_io_channel_win32_poll (GPollFD *fds, gint n_fds, gint timeout_);\";function g_io_channel_win32_poll(fds, n_fds, timeout_) bind(c)\r\ng;g_io_channel_win32_set_debug;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"void g_io_channel_win32_set_debug (GIOChannel *channel, gboolean flag);\";subroutine g_io_channel_win32_set_debug(channel, flag) bind(c)\r\ng;g_io_channel_write;GLIB_DEPRECATED_FOR(g_io_channel_write_chars);glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"GIOError g_io_channel_write (GIOChannel *channel, const gchar *buf, gsize count, gsize *bytes_written);\";function g_io_channel_write(channel, buf, count, bytes_written) bind(c)\r\ng;g_io_channel_write_chars;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"GIOStatus g_io_channel_write_chars (GIOChannel *channel, const gchar *buf, gssize count, gsize *bytes_written, GError **error);\";function g_io_channel_write_chars(channel, buf, count, bytes_written, error) bind(c)\r\ng;g_io_channel_write_unichar;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"GIOStatus g_io_channel_write_unichar (GIOChannel *channel, gunichar thechar, GError **error);\";function g_io_channel_write_unichar(channel, thechar, error) bind(c)\r\ng;g_io_condition_get_type;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/glib-types.h;\"GType g_io_condition_get_type (void) ;\";function g_io_condition_get_type() bind(c)\r\ng;g_io_create_watch;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/giochannel.h;\"GSource * g_io_create_watch (GIOChannel *channel, GIOCondition condition);\";function g_io_create_watch(channel, condition) bind(c)\r\ng;g_io_error_from_errno;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gioerror.h;\"GIOErrorEnum g_io_error_from_errno (gint err_no);\";function g_io_error_from_errno(err_no) bind(c)\r\ng;g_io_error_from_file_error;GIO_AVAILABLE_IN_2_74;glib-auto.f90;/usr/include/glib-2.0/gio/gioerror.h;\"GIOErrorEnum g_io_error_from_file_error (GFileError file_error);\";function g_io_error_from_file_error(file_error) bind(c)\r\ng;g_io_error_from_win32_error;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gioerror.h;\"GIOErrorEnum g_io_error_from_win32_error (gint error_code);\";function g_io_error_from_win32_error(error_code) bind(c)\r\ng;g_io_error_quark;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gioerror.h;\"GQuark g_io_error_quark (void);\";function g_io_error_quark() bind(c)\r\ng;g_io_extension_get_name;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/giomodule.h;\"const char * g_io_extension_get_name (GIOExtension *extension);\";function g_io_extension_get_name(extension) bind(c)\r\ng;g_io_extension_get_priority;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/giomodule.h;\"gint g_io_extension_get_priority (GIOExtension *extension);\";function g_io_extension_get_priority(extension) bind(c)\r\ng;g_io_extension_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/giomodule.h;\"GType g_io_extension_get_type (GIOExtension *extension);\";function g_io_extension_get_type(extension) bind(c)\r\ng;g_io_extension_point_get_extension_by_name;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/giomodule.h;\"GIOExtension * g_io_extension_point_get_extension_by_name (GIOExtensionPoint *extension_point, const char *name);\";function g_io_extension_point_get_extension_by_name(extension_point, name) bind(c)\r\ng;g_io_extension_point_get_extensions;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/giomodule.h;\"GList *g_io_extension_point_get_extensions (GIOExtensionPoint *extension_point);\";function g_io_extension_point_get_extensions(extension_point) bind(c)\r\ng;g_io_extension_point_get_required_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/giomodule.h;\"GType g_io_extension_point_get_required_type (GIOExtensionPoint *extension_point);\";function g_io_extension_point_get_required_type(extension_point) bind(c)\r\ng;g_io_extension_point_implement;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/giomodule.h;\"GIOExtension * g_io_extension_point_implement (const char *extension_point_name, GType type, const char *extension_name, gint priority);\";function g_io_extension_point_implement(extension_point_name, type, extension_name, priority) bind(c)\r\ng;g_io_extension_point_lookup;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/giomodule.h;\"GIOExtensionPoint *g_io_extension_point_lookup (const char *name);\";function g_io_extension_point_lookup(name) bind(c)\r\ng;g_io_extension_point_register;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/giomodule.h;\"GIOExtensionPoint *g_io_extension_point_register (const char *name);\";function g_io_extension_point_register(name) bind(c)\r\ng;g_io_extension_point_set_required_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/giomodule.h;\"void g_io_extension_point_set_required_type (GIOExtensionPoint *extension_point, GType type);\";subroutine g_io_extension_point_set_required_type(extension_point, type) bind(c)\r\ng;g_io_extension_ref_class;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/giomodule.h;\"GTypeClass* g_io_extension_ref_class (GIOExtension *extension);\";function g_io_extension_ref_class(extension) bind(c)\r\ng;g_io_module_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/giomodule.h;\"GType g_io_module_get_type (void) ;\";function g_io_module_get_type() bind(c)\r\ng;g_io_module_load;;glib-auto.f90;/usr/include/glib-2.0/gio/giomodule.h;\"G_MODULE_EXPORT void g_io_module_load (GIOModule *module);\";subroutine g_io_module_load(module) bind(c)\r\ng;g_io_module_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/giomodule.h;\"GIOModule *g_io_module_new (const gchar *filename);\";function g_io_module_new(filename) bind(c)\r\ng;g_io_module_query;;glib-auto.f90;/usr/include/glib-2.0/gio/giomodule.h;\"G_MODULE_EXPORT char **g_io_module_query (void);\";function g_io_module_query() bind(c)\r\ng;g_io_module_scope_block;GIO_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/gio/giomodule.h;\"void g_io_module_scope_block (GIOModuleScope *scope, const gchar *basename);\";subroutine g_io_module_scope_block(scope, basename) bind(c)\r\ng;g_io_module_scope_free;GIO_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/gio/giomodule.h;\"void g_io_module_scope_free (GIOModuleScope *scope);\";subroutine g_io_module_scope_free(scope) bind(c)\r\ng;g_io_module_scope_new;GIO_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/gio/giomodule.h;\"GIOModuleScope * g_io_module_scope_new (GIOModuleScopeFlags flags);\";function g_io_module_scope_new(flags) bind(c)\r\ng;g_io_module_unload;;glib-auto.f90;/usr/include/glib-2.0/gio/giomodule.h;\"G_MODULE_EXPORT void g_io_module_unload (GIOModule *module);\";subroutine g_io_module_unload(module) bind(c)\r\ng;g_io_modules_load_all_in_directory;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/giomodule.h;\"GList *g_io_modules_load_all_in_directory (const gchar *dirname);\";function g_io_modules_load_all_in_directory(dirname) bind(c)\r\ng;g_io_modules_load_all_in_directory_with_scope;GIO_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/gio/giomodule.h;\"GList *g_io_modules_load_all_in_directory_with_scope (const gchar *dirname, GIOModuleScope *scope);\";function g_io_modules_load_all_in_directory_with_scope(dirname, scope) bind(c)\r\ng;g_io_modules_scan_all_in_directory;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/giomodule.h;\"void g_io_modules_scan_all_in_directory (const char *dirname);\";subroutine g_io_modules_scan_all_in_directory(dirname) bind(c)\r\ng;g_io_modules_scan_all_in_directory_with_scope;GIO_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/gio/giomodule.h;\"void g_io_modules_scan_all_in_directory_with_scope (const gchar *dirname, GIOModuleScope *scope);\";subroutine g_io_modules_scan_all_in_directory_with_scope(dirname, scope) bind(c)\r\ng;g_io_scheduler_cancel_all_jobs;GIO_DEPRECATED_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gioscheduler.h;\"void g_io_scheduler_cancel_all_jobs (void);\";subroutine g_io_scheduler_cancel_all_jobs() bind(c)\r\ng;g_io_scheduler_job_send_to_mainloop;GIO_DEPRECATED_IN_2_36_FOR (g_main_context_invoke);glib-auto.f90;/usr/include/glib-2.0/gio/gioscheduler.h;\"gboolean g_io_scheduler_job_send_to_mainloop (GIOSchedulerJob *job, GSourceFunc func, gpointer user_data, GDestroyNotify notify);\";function g_io_scheduler_job_send_to_mainloop(job, func, user_data, notify) bind(c)\r\ng;g_io_scheduler_job_send_to_mainloop_async;GIO_DEPRECATED_IN_2_36_FOR (g_main_context_invoke);glib-auto.f90;/usr/include/glib-2.0/gio/gioscheduler.h;\"void g_io_scheduler_job_send_to_mainloop_async (GIOSchedulerJob *job, GSourceFunc func, gpointer user_data, GDestroyNotify notify);\";subroutine g_io_scheduler_job_send_to_mainloop_async(job, func, user_data, notify) bind(c)\r\ng;g_io_scheduler_push_job;\"GIO_DEPRECATED_IN_2_36_FOR (\"\"GThreadPool or g_task_run_in_thread\"\")\";glib-auto.f90;/usr/include/glib-2.0/gio/gioscheduler.h;\"void g_io_scheduler_push_job (GIOSchedulerJobFunc job_func, gpointer user_data, GDestroyNotify notify, gint io_priority, GCancellable *cancellable);\";subroutine g_io_scheduler_push_job(job_func, user_data, notify, io_priority, cancellable) bind(c)\r\ng;g_io_stream_clear_pending;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/giostream.h;\"void g_io_stream_clear_pending (GIOStream *stream);\";subroutine g_io_stream_clear_pending(stream) bind(c)\r\ng;g_io_stream_close;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/giostream.h;\"gboolean g_io_stream_close (GIOStream *stream, GCancellable *cancellable, GError **error);\";function g_io_stream_close(stream, cancellable, error) bind(c)\r\ng;g_io_stream_close_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/giostream.h;\"void g_io_stream_close_async (GIOStream *stream, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_io_stream_close_async(stream, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_io_stream_close_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/giostream.h;\"gboolean g_io_stream_close_finish (GIOStream *stream, GAsyncResult *result, GError **error);\";function g_io_stream_close_finish(stream, result, error) bind(c)\r\ng;g_io_stream_get_input_stream;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/giostream.h;\"GInputStream * g_io_stream_get_input_stream (GIOStream *stream);\";function g_io_stream_get_input_stream(stream) bind(c)\r\ng;g_io_stream_get_output_stream;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/giostream.h;\"GOutputStream *g_io_stream_get_output_stream (GIOStream *stream);\";function g_io_stream_get_output_stream(stream) bind(c)\r\ng;g_io_stream_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/giostream.h;\"GType g_io_stream_get_type (void) ;\";function g_io_stream_get_type() bind(c)\r\ng;g_io_stream_has_pending;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/giostream.h;\"gboolean g_io_stream_has_pending (GIOStream *stream);\";function g_io_stream_has_pending(stream) bind(c)\r\ng;g_io_stream_is_closed;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/giostream.h;\"gboolean g_io_stream_is_closed (GIOStream *stream);\";function g_io_stream_is_closed(stream) bind(c)\r\ng;g_io_stream_set_pending;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/giostream.h;\"gboolean g_io_stream_set_pending (GIOStream *stream, GError **error);\";function g_io_stream_set_pending(stream, error) bind(c)\r\ng;g_io_stream_splice_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/giostream.h;\"void g_io_stream_splice_async (GIOStream *stream1, GIOStream *stream2, GIOStreamSpliceFlags flags, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_io_stream_splice_async(stream1, stream2, flags, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_io_stream_splice_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/giostream.h;\"gboolean g_io_stream_splice_finish (GAsyncResult *result, GError **error);\";function g_io_stream_splice_finish(result, error) bind(c)\r\ng;g_key_file_error_quark;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"GQuark g_key_file_error_quark (void);\";function g_key_file_error_quark() bind(c)\r\ng;g_key_file_free;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"void g_key_file_free (GKeyFile *key_file);\";subroutine g_key_file_free(key_file) bind(c)\r\ng;g_key_file_get_boolean;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"gboolean g_key_file_get_boolean (GKeyFile *key_file, const gchar *group_name, const gchar *key, GError **error);\";function g_key_file_get_boolean(key_file, group_name, key, error) bind(c)\r\ng;g_key_file_get_boolean_list;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"gboolean *g_key_file_get_boolean_list (GKeyFile *key_file, const gchar *group_name, const gchar *key, gsize *length, GError **error) ;\";function g_key_file_get_boolean_list(key_file, group_name, key, length, error) bind(c)\r\ng;g_key_file_get_comment;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"gchar *g_key_file_get_comment (GKeyFile *key_file, const gchar *group_name, const gchar *key, GError **error) ;\";function g_key_file_get_comment(key_file, group_name, key, error) bind(c)\r\ng;g_key_file_get_double;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"gdouble g_key_file_get_double (GKeyFile *key_file, const gchar *group_name, const gchar *key, GError **error);\";function g_key_file_get_double(key_file, group_name, key, error) bind(c)\r\ng;g_key_file_get_double_list;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"gdouble *g_key_file_get_double_list (GKeyFile *key_file, const gchar *group_name, const gchar *key, gsize *length, GError **error) ;\";function g_key_file_get_double_list(key_file, group_name, key, length, error) bind(c)\r\ng;g_key_file_get_groups;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"gchar **g_key_file_get_groups (GKeyFile *key_file, gsize *length);\";function g_key_file_get_groups(key_file, length) bind(c)\r\ng;g_key_file_get_int64;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"gint64 g_key_file_get_int64 (GKeyFile *key_file, const gchar *group_name, const gchar *key, GError **error);\";function g_key_file_get_int64(key_file, group_name, key, error) bind(c)\r\ng;g_key_file_get_integer;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"gint g_key_file_get_integer (GKeyFile *key_file, const gchar *group_name, const gchar *key, GError **error);\";function g_key_file_get_integer(key_file, group_name, key, error) bind(c)\r\ng;g_key_file_get_integer_list;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"gint *g_key_file_get_integer_list (GKeyFile *key_file, const gchar *group_name, const gchar *key, gsize *length, GError **error) ;\";function g_key_file_get_integer_list(key_file, group_name, key, length, error) bind(c)\r\ng;g_key_file_get_keys;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"gchar **g_key_file_get_keys (GKeyFile *key_file, const gchar *group_name, gsize *length, GError **error);\";function g_key_file_get_keys(key_file, group_name, length, error) bind(c)\r\ng;g_key_file_get_locale_for_key;GLIB_AVAILABLE_IN_2_56;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"gchar *g_key_file_get_locale_for_key (GKeyFile *key_file, const gchar *group_name, const gchar *key, const gchar *locale) ;\";function g_key_file_get_locale_for_key(key_file, group_name, key, locale) bind(c)\r\ng;g_key_file_get_locale_string;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"gchar *g_key_file_get_locale_string (GKeyFile *key_file, const gchar *group_name, const gchar *key, const gchar *locale, GError **error) ;\";function g_key_file_get_locale_string(key_file, group_name, key, locale, error) bind(c)\r\ng;g_key_file_get_locale_string_list;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"gchar **g_key_file_get_locale_string_list (GKeyFile *key_file, const gchar *group_name, const gchar *key, const gchar *locale, gsize *length, GError **error);\";function g_key_file_get_locale_string_list(key_file, group_name, key, locale, length, error) bind(c)\r\ng;g_key_file_get_start_group;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"gchar *g_key_file_get_start_group (GKeyFile *key_file) ;\";function g_key_file_get_start_group(key_file) bind(c)\r\ng;g_key_file_get_string;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"gchar *g_key_file_get_string (GKeyFile *key_file, const gchar *group_name, const gchar *key, GError **error) ;\";function g_key_file_get_string(key_file, group_name, key, error) bind(c)\r\ng;g_key_file_get_string_list;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"gchar **g_key_file_get_string_list (GKeyFile *key_file, const gchar *group_name, const gchar *key, gsize *length, GError **error);\";function g_key_file_get_string_list(key_file, group_name, key, length, error) bind(c)\r\ng;g_key_file_get_type;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/glib-types.h;\"GType g_key_file_get_type (void) ;\";function g_key_file_get_type() bind(c)\r\ng;g_key_file_get_uint64;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"guint64 g_key_file_get_uint64 (GKeyFile *key_file, const gchar *group_name, const gchar *key, GError **error);\";function g_key_file_get_uint64(key_file, group_name, key, error) bind(c)\r\ng;g_key_file_get_value;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"gchar *g_key_file_get_value (GKeyFile *key_file, const gchar *group_name, const gchar *key, GError **error) ;\";function g_key_file_get_value(key_file, group_name, key, error) bind(c)\r\ng;g_key_file_has_group;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"gboolean g_key_file_has_group (GKeyFile *key_file, const gchar *group_name);\";function g_key_file_has_group(key_file, group_name) bind(c)\r\ng;g_key_file_has_key;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"gboolean g_key_file_has_key (GKeyFile *key_file, const gchar *group_name, const gchar *key, GError **error);\";function g_key_file_has_key(key_file, group_name, key, error) bind(c)\r\ng;g_key_file_load_from_bytes;GLIB_AVAILABLE_IN_2_50;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"gboolean g_key_file_load_from_bytes (GKeyFile *key_file, GBytes *bytes, GKeyFileFlags flags, GError **error);\";function g_key_file_load_from_bytes(key_file, bytes, flags, error) bind(c)\r\ng;g_key_file_load_from_data;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"gboolean g_key_file_load_from_data (GKeyFile *key_file, const gchar *data, gsize length, GKeyFileFlags flags, GError **error);\";function g_key_file_load_from_data(key_file, data, length, flags, error) bind(c)\r\ng;g_key_file_load_from_data_dirs;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"gboolean g_key_file_load_from_data_dirs (GKeyFile *key_file, const gchar *file, gchar **full_path, GKeyFileFlags flags, GError **error);\";function g_key_file_load_from_data_dirs(key_file, file, full_path, flags, error) bind(c)\r\ng;g_key_file_load_from_dirs;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"gboolean g_key_file_load_from_dirs (GKeyFile *key_file, const gchar *file, const gchar **search_dirs, gchar **full_path, GKeyFileFlags flags, GError **error);\";function g_key_file_load_from_dirs(key_file, file, search_dirs, full_path, flags, error) bind(c)\r\ng;g_key_file_load_from_file;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"gboolean g_key_file_load_from_file (GKeyFile *key_file, const gchar *file, GKeyFileFlags flags, GError **error);\";function g_key_file_load_from_file(key_file, file, flags, error) bind(c)\r\ng;g_key_file_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"GKeyFile *g_key_file_new (void);\";function g_key_file_new() bind(c)\r\ng;g_key_file_ref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"GKeyFile *g_key_file_ref (GKeyFile *key_file);\";function g_key_file_ref(key_file) bind(c)\r\ng;g_key_file_remove_comment;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"gboolean g_key_file_remove_comment (GKeyFile *key_file, const gchar *group_name, const gchar *key, GError **error);\";function g_key_file_remove_comment(key_file, group_name, key, error) bind(c)\r\ng;g_key_file_remove_group;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"gboolean g_key_file_remove_group (GKeyFile *key_file, const gchar *group_name, GError **error);\";function g_key_file_remove_group(key_file, group_name, error) bind(c)\r\ng;g_key_file_remove_key;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"gboolean g_key_file_remove_key (GKeyFile *key_file, const gchar *group_name, const gchar *key, GError **error);\";function g_key_file_remove_key(key_file, group_name, key, error) bind(c)\r\ng;g_key_file_save_to_file;GLIB_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"gboolean g_key_file_save_to_file (GKeyFile *key_file, const gchar *filename, GError **error);\";function g_key_file_save_to_file(key_file, filename, error) bind(c)\r\ng;g_key_file_set_boolean;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"void g_key_file_set_boolean (GKeyFile *key_file, const gchar *group_name, const gchar *key, gboolean value);\";subroutine g_key_file_set_boolean(key_file, group_name, key, value) bind(c)\r\ng;g_key_file_set_boolean_list;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"void g_key_file_set_boolean_list (GKeyFile *key_file, const gchar *group_name, const gchar *key, gboolean list[], gsize length);\";subroutine g_key_file_set_boolean_list(key_file, group_name, key, list, length) bind(c)\r\ng;g_key_file_set_comment;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"gboolean g_key_file_set_comment (GKeyFile *key_file, const gchar *group_name, const gchar *key, const gchar *comment, GError **error);\";function g_key_file_set_comment(key_file, group_name, key, comment, error) bind(c)\r\ng;g_key_file_set_double;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"void g_key_file_set_double (GKeyFile *key_file, const gchar *group_name, const gchar *key, gdouble value);\";subroutine g_key_file_set_double(key_file, group_name, key, value) bind(c)\r\ng;g_key_file_set_double_list;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"void g_key_file_set_double_list (GKeyFile *key_file, const gchar *group_name, const gchar *key, gdouble list[], gsize length);\";subroutine g_key_file_set_double_list(key_file, group_name, key, list, length) bind(c)\r\ng;g_key_file_set_int64;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"void g_key_file_set_int64 (GKeyFile *key_file, const gchar *group_name, const gchar *key, gint64 value);\";subroutine g_key_file_set_int64(key_file, group_name, key, value) bind(c)\r\ng;g_key_file_set_integer;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"void g_key_file_set_integer (GKeyFile *key_file, const gchar *group_name, const gchar *key, gint value);\";subroutine g_key_file_set_integer(key_file, group_name, key, value) bind(c)\r\ng;g_key_file_set_integer_list;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"void g_key_file_set_integer_list (GKeyFile *key_file, const gchar *group_name, const gchar *key, gint list[], gsize length);\";subroutine g_key_file_set_integer_list(key_file, group_name, key, list, length) bind(c)\r\ng;g_key_file_set_list_separator;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"void g_key_file_set_list_separator (GKeyFile *key_file, gchar separator);\";subroutine g_key_file_set_list_separator(key_file, separator) bind(c)\r\ng;g_key_file_set_locale_string;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"void g_key_file_set_locale_string (GKeyFile *key_file, const gchar *group_name, const gchar *key, const gchar *locale, const gchar *string);\";subroutine g_key_file_set_locale_string(key_file, group_name, key, locale, string) bind(c)\r\ng;g_key_file_set_locale_string_list;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"void g_key_file_set_locale_string_list (GKeyFile *key_file, const gchar *group_name, const gchar *key, const gchar *locale, const gchar * const list[], gsize length);\";subroutine g_key_file_set_locale_string_list(key_file, group_name, key, locale, list, length) bind(c)\r\ng;g_key_file_set_string;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"void g_key_file_set_string (GKeyFile *key_file, const gchar *group_name, const gchar *key, const gchar *string);\";subroutine g_key_file_set_string(key_file, group_name, key, string) bind(c)\r\ng;g_key_file_set_string_list;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"void g_key_file_set_string_list (GKeyFile *key_file, const gchar *group_name, const gchar *key, const gchar * const list[], gsize length);\";subroutine g_key_file_set_string_list(key_file, group_name, key, list, length) bind(c)\r\ng;g_key_file_set_uint64;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"void g_key_file_set_uint64 (GKeyFile *key_file, const gchar *group_name, const gchar *key, guint64 value);\";subroutine g_key_file_set_uint64(key_file, group_name, key, value) bind(c)\r\ng;g_key_file_set_value;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"void g_key_file_set_value (GKeyFile *key_file, const gchar *group_name, const gchar *key, const gchar *value);\";subroutine g_key_file_set_value(key_file, group_name, key, value) bind(c)\r\ng;g_key_file_to_data;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"gchar *g_key_file_to_data (GKeyFile *key_file, gsize *length, GError **error) ;\";function g_key_file_to_data(key_file, length, error) bind(c)\r\ng;g_key_file_unref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gkeyfile.h;\"void g_key_file_unref (GKeyFile *key_file);\";subroutine g_key_file_unref(key_file) bind(c)\r\ng;g_keyfile_settings_backend_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettingsbackend.h;\"GSettingsBackend * g_keyfile_settings_backend_new (const gchar *filename, const gchar *root_path, const gchar *root_group);\";function g_keyfile_settings_backend_new(filename, root_path, root_group) bind(c)\r\ng;g_list_alloc;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/glist.h;\"GList* g_list_alloc (void) ;\";function g_list_alloc() bind(c)\r\ng;g_list_append;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/glist.h;\"GList* g_list_append (GList *list, gpointer data) ;\";function g_list_append(list, data) bind(c)\r\ng;g_list_concat;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/glist.h;\"GList* g_list_concat (GList *list1, GList *list2) ;\";function g_list_concat(list1, list2) bind(c)\r\ng;g_list_copy;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/glist.h;\"GList* g_list_copy (GList *list) ;\";function g_list_copy(list) bind(c)\r\ng;g_list_copy_deep;GLIB_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/glib/glist.h;\"GList* g_list_copy_deep (GList *list, GCopyFunc func, gpointer user_data) ;\";function g_list_copy_deep(list, func, user_data) bind(c)\r\ng;g_list_delete_link;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/glist.h;\"GList* g_list_delete_link (GList *list, GList *link_) ;\";function g_list_delete_link(list, link_) bind(c)\r\ng;g_list_find;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/glist.h;\"GList* g_list_find (GList *list, gconstpointer data);\";function g_list_find(list, data) bind(c)\r\ng;g_list_find_custom;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/glist.h;\"GList* g_list_find_custom (GList *list, gconstpointer data, GCompareFunc func);\";function g_list_find_custom(list, data, func) bind(c)\r\ng;g_list_first;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/glist.h;\"GList* g_list_first (GList *list);\";function g_list_first(list) bind(c)\r\ng;g_list_foreach;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/glist.h;\"void g_list_foreach (GList *list, GFunc func, gpointer user_data);\";subroutine g_list_foreach(list, func, user_data) bind(c)\r\ng;g_list_free;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/glist.h;\"void g_list_free (GList *list);\";subroutine g_list_free(list) bind(c)\r\ng;g_list_free_1;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/glist.h;\"void g_list_free_1 (GList *list);\";subroutine g_list_free_1(list) bind(c)\r\ng;g_list_free_full;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/glist.h;\"void g_list_free_full (GList *list, GDestroyNotify free_func);\";subroutine g_list_free_full(list, free_func) bind(c)\r\ng;g_list_index;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/glist.h;\"gint g_list_index (GList *list, gconstpointer data);\";function g_list_index(list, data) bind(c)\r\ng;g_list_insert;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/glist.h;\"GList* g_list_insert (GList *list, gpointer data, gint position) ;\";function g_list_insert(list, data, position) bind(c)\r\ng;g_list_insert_before;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/glist.h;\"GList* g_list_insert_before (GList *list, GList *sibling, gpointer data) ;\";function g_list_insert_before(list, sibling, data) bind(c)\r\ng;g_list_insert_before_link;GLIB_AVAILABLE_IN_2_62;glib-auto.f90;/usr/include/glib-2.0/glib/glist.h;\"GList* g_list_insert_before_link (GList *list, GList *sibling, GList *link_) ;\";function g_list_insert_before_link(list, sibling, link_) bind(c)\r\ng;g_list_insert_sorted;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/glist.h;\"GList* g_list_insert_sorted (GList *list, gpointer data, GCompareFunc func) ;\";function g_list_insert_sorted(list, data, func) bind(c)\r\ng;g_list_insert_sorted_with_data;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/glist.h;\"GList* g_list_insert_sorted_with_data (GList *list, gpointer data, GCompareDataFunc func, gpointer user_data) ;\";function g_list_insert_sorted_with_data(list, data, func, user_data) bind(c)\r\ng;g_list_last;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/glist.h;\"GList* g_list_last (GList *list);\";function g_list_last(list) bind(c)\r\ng;g_list_length;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/glist.h;\"guint g_list_length (GList *list);\";function g_list_length(list) bind(c)\r\ng;g_list_model_get_item;GIO_AVAILABLE_IN_2_44;glib-auto.f90;/usr/include/glib-2.0/gio/glistmodel.h;\"gpointer g_list_model_get_item (GListModel *list, guint position);\";function g_list_model_get_item(list, position) bind(c)\r\ng;g_list_model_get_item_type;GIO_AVAILABLE_IN_2_44;glib-auto.f90;/usr/include/glib-2.0/gio/glistmodel.h;\"GType g_list_model_get_item_type (GListModel *list);\";function g_list_model_get_item_type(list) bind(c)\r\ng;g_list_model_get_n_items;GIO_AVAILABLE_IN_2_44;glib-auto.f90;/usr/include/glib-2.0/gio/glistmodel.h;\"guint g_list_model_get_n_items (GListModel *list);\";function g_list_model_get_n_items(list) bind(c)\r\ng;g_list_model_get_object;GIO_AVAILABLE_IN_2_44;glib-auto.f90;/usr/include/glib-2.0/gio/glistmodel.h;\"GObject * g_list_model_get_object (GListModel *list, guint position);\";function g_list_model_get_object(list, position) bind(c)\r\ng;g_list_model_items_changed;GIO_AVAILABLE_IN_2_44;glib-auto.f90;/usr/include/glib-2.0/gio/glistmodel.h;\"void g_list_model_items_changed (GListModel *list, guint position, guint removed, guint added);\";subroutine g_list_model_items_changed(list, position, removed, added) bind(c)\r\ng;g_list_nth;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/glist.h;\"GList* g_list_nth (GList *list, guint n);\";function g_list_nth(list, n) bind(c)\r\ng;g_list_nth_data;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/glist.h;\"gpointer g_list_nth_data (GList *list, guint n);\";function g_list_nth_data(list, n) bind(c)\r\ng;g_list_nth_prev;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/glist.h;\"GList* g_list_nth_prev (GList *list, guint n);\";function g_list_nth_prev(list, n) bind(c)\r\ng;g_list_pop_allocator;GLIB_DEPRECATED;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gallocator.h;\"void g_list_pop_allocator (void);\";subroutine g_list_pop_allocator() bind(c)\r\ng;g_list_position;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/glist.h;\"gint g_list_position (GList *list, GList *llink);\";function g_list_position(list, llink) bind(c)\r\ng;g_list_prepend;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/glist.h;\"GList* g_list_prepend (GList *list, gpointer data) ;\";function g_list_prepend(list, data) bind(c)\r\ng;g_list_push_allocator;GLIB_DEPRECATED;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gallocator.h;\"void g_list_push_allocator (GAllocator *allocator);\";subroutine g_list_push_allocator(allocator) bind(c)\r\ng;g_list_remove;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/glist.h;\"GList* g_list_remove (GList *list, gconstpointer data) ;\";function g_list_remove(list, data) bind(c)\r\ng;g_list_remove_all;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/glist.h;\"GList* g_list_remove_all (GList *list, gconstpointer data) ;\";function g_list_remove_all(list, data) bind(c)\r\ng;g_list_remove_link;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/glist.h;\"GList* g_list_remove_link (GList *list, GList *llink) ;\";function g_list_remove_link(list, llink) bind(c)\r\ng;g_list_reverse;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/glist.h;\"GList* g_list_reverse (GList *list) ;\";function g_list_reverse(list) bind(c)\r\ng;g_list_sort;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/glist.h;\"GList* g_list_sort (GList *list, GCompareFunc compare_func) ;\";function g_list_sort(list, compare_func) bind(c)\r\ng;g_list_sort_with_data;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/glist.h;\"GList* g_list_sort_with_data (GList *list, GCompareDataFunc compare_func, gpointer user_data) ;\";function g_list_sort_with_data(list, compare_func, user_data) bind(c)\r\ng;g_list_store_append;GIO_AVAILABLE_IN_2_44;glib-auto.f90;/usr/include/glib-2.0/gio/gliststore.h;\"void g_list_store_append (GListStore *store, gpointer item);\";subroutine g_list_store_append(store, item) bind(c)\r\ng;g_list_store_find;GIO_AVAILABLE_IN_2_64;glib-auto.f90;/usr/include/glib-2.0/gio/gliststore.h;\"gboolean g_list_store_find (GListStore *store, gpointer item, guint *position);\";function g_list_store_find(store, item, position) bind(c)\r\ng;g_list_store_find_with_equal_func;GIO_AVAILABLE_IN_2_64;glib-auto.f90;/usr/include/glib-2.0/gio/gliststore.h;\"gboolean g_list_store_find_with_equal_func (GListStore *store, gpointer item, GEqualFunc equal_func, guint *position);\";function g_list_store_find_with_equal_func(store, item, equal_func, position) bind(c)\r\ng;g_list_store_find_with_equal_func_full;GIO_AVAILABLE_IN_2_74;glib-auto.f90;/usr/include/glib-2.0/gio/gliststore.h;\"gboolean g_list_store_find_with_equal_func_full (GListStore *store, gpointer item, GEqualFuncFull equal_func, gpointer user_data, guint *position);\";function g_list_store_find_with_equal_func_full(store, item, equal_func, user_data, position) bind(c)\r\ng;g_list_store_insert;GIO_AVAILABLE_IN_2_44;glib-auto.f90;/usr/include/glib-2.0/gio/gliststore.h;\"void g_list_store_insert (GListStore *store, guint position, gpointer item);\";subroutine g_list_store_insert(store, position, item) bind(c)\r\ng;g_list_store_insert_sorted;GIO_AVAILABLE_IN_2_44;glib-auto.f90;/usr/include/glib-2.0/gio/gliststore.h;\"guint g_list_store_insert_sorted (GListStore *store, gpointer item, GCompareDataFunc compare_func, gpointer user_data);\";function g_list_store_insert_sorted(store, item, compare_func, user_data) bind(c)\r\ng;g_list_store_new;GIO_AVAILABLE_IN_2_44;glib-auto.f90;/usr/include/glib-2.0/gio/gliststore.h;\"GListStore * g_list_store_new (GType item_type);\";function g_list_store_new(item_type) bind(c)\r\ng;g_list_store_remove;GIO_AVAILABLE_IN_2_44;glib-auto.f90;/usr/include/glib-2.0/gio/gliststore.h;\"void g_list_store_remove (GListStore *store, guint position);\";subroutine g_list_store_remove(store, position) bind(c)\r\ng;g_list_store_remove_all;GIO_AVAILABLE_IN_2_44;glib-auto.f90;/usr/include/glib-2.0/gio/gliststore.h;\"void g_list_store_remove_all (GListStore *store);\";subroutine g_list_store_remove_all(store) bind(c)\r\ng;g_list_store_sort;GIO_AVAILABLE_IN_2_46;glib-auto.f90;/usr/include/glib-2.0/gio/gliststore.h;\"void g_list_store_sort (GListStore *store, GCompareDataFunc compare_func, gpointer user_data);\";subroutine g_list_store_sort(store, compare_func, user_data) bind(c)\r\ng;g_list_store_splice;GIO_AVAILABLE_IN_2_44;glib-auto.f90;/usr/include/glib-2.0/gio/gliststore.h;\"void g_list_store_splice (GListStore *store, guint position, guint n_removals, gpointer *additions, guint n_additions);\";subroutine g_list_store_splice(store, position, n_removals, additions, n_additions) bind(c)\r\ng;g_listenv;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/genviron.h;\"gchar ** g_listenv (void);\";function g_listenv() bind(c)\r\ng;g_loadable_icon_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gloadableicon.h;\"GType g_loadable_icon_get_type (void) ;\";function g_loadable_icon_get_type() bind(c)\r\ng;g_loadable_icon_load;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gloadableicon.h;\"GInputStream *g_loadable_icon_load (GLoadableIcon *icon, int size, char **type, GCancellable *cancellable, GError **error);\";function g_loadable_icon_load(icon, size, type, cancellable, error) bind(c)\r\ng;g_loadable_icon_load_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gloadableicon.h;\"void g_loadable_icon_load_async (GLoadableIcon *icon, int size, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_loadable_icon_load_async(icon, size, cancellable, callback, user_data) bind(c)\r\ng;g_loadable_icon_load_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gloadableicon.h;\"GInputStream *g_loadable_icon_load_finish (GLoadableIcon *icon, GAsyncResult *res, char **type, GError **error);\";function g_loadable_icon_load_finish(icon, res, type, error) bind(c)\r\ng;g_locale_from_utf8;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gconvert.h;\"gchar* g_locale_from_utf8 (const gchar *utf8string, gssize len, gsize *bytes_read, gsize *bytes_written, GError **error) ;\";function g_locale_from_utf8(utf8string, len, bytes_read, bytes_written, error) bind(c)\r\ng;g_locale_to_utf8;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gconvert.h;\"gchar* g_locale_to_utf8 (const gchar *opsysstring, gssize len, gsize *bytes_read, gsize *bytes_written, GError **error) ;\";function g_locale_to_utf8(opsysstring, len, bytes_read, bytes_written, error) bind(c)\r\ng;g_log_default_handler;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmessages.h;\"void g_log_default_handler (const gchar *log_domain, GLogLevelFlags log_level, const gchar *message, gpointer unused_data);\";subroutine g_log_default_handler(log_domain, log_level, message, unused_data) bind(c)\r\ng;g_log_get_always_fatal;GLIB_AVAILABLE_IN_2_86;glib-auto.f90;/usr/include/glib-2.0/glib/gmessages.h;\"GLogLevelFlags g_log_get_always_fatal (void);\";function g_log_get_always_fatal() bind(c)\r\ng;g_log_get_debug_enabled;GLIB_AVAILABLE_IN_2_72;glib-auto.f90;/usr/include/glib-2.0/glib/gmessages.h;\"gboolean g_log_get_debug_enabled (void);\";function g_log_get_debug_enabled() bind(c)\r\ng;g_log_remove_handler;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmessages.h;\"void g_log_remove_handler (const gchar *log_domain, guint handler_id);\";subroutine g_log_remove_handler(log_domain, handler_id) bind(c)\r\ng;g_log_set_always_fatal;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmessages.h;\"GLogLevelFlags g_log_set_always_fatal (GLogLevelFlags fatal_mask);\";function g_log_set_always_fatal(fatal_mask) bind(c)\r\ng;g_log_set_debug_enabled;GLIB_AVAILABLE_IN_2_72;glib-auto.f90;/usr/include/glib-2.0/glib/gmessages.h;\"void g_log_set_debug_enabled (gboolean enabled);\";subroutine g_log_set_debug_enabled(enabled) bind(c)\r\ng;g_log_set_default_handler;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmessages.h;\"GLogFunc g_log_set_default_handler (GLogFunc log_func, gpointer user_data);\";function g_log_set_default_handler(log_func, user_data) bind(c)\r\ng;g_log_set_fatal_mask;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmessages.h;\"GLogLevelFlags g_log_set_fatal_mask (const gchar *log_domain, GLogLevelFlags fatal_mask);\";function g_log_set_fatal_mask(log_domain, fatal_mask) bind(c)\r\ng;g_log_set_handler;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmessages.h;\"guint g_log_set_handler (const gchar *log_domain, GLogLevelFlags log_levels, GLogFunc log_func, gpointer user_data);\";function g_log_set_handler(log_domain, log_levels, log_func, user_data) bind(c)\r\ng;g_log_set_handler_full;GLIB_AVAILABLE_IN_2_46;glib-auto.f90;/usr/include/glib-2.0/glib/gmessages.h;\"guint g_log_set_handler_full (const gchar *log_domain, GLogLevelFlags log_levels, GLogFunc log_func, gpointer user_data, GDestroyNotify destroy);\";function g_log_set_handler_full(log_domain, log_levels, log_func, user_data, destroy) bind(c)\r\ng;g_log_set_writer_func;GLIB_AVAILABLE_IN_2_50;glib-auto.f90;/usr/include/glib-2.0/glib/gmessages.h;\"void g_log_set_writer_func (GLogWriterFunc func, gpointer user_data, GDestroyNotify user_data_free);\";subroutine g_log_set_writer_func(func, user_data, user_data_free) bind(c)\r\ng;g_log_structured_array;GLIB_AVAILABLE_IN_2_50;glib-auto.f90;/usr/include/glib-2.0/glib/gmessages.h;\"void g_log_structured_array (GLogLevelFlags log_level, const GLogField *fields, gsize n_fields);\";subroutine g_log_structured_array(log_level, fields, n_fields) bind(c)\r\ng;g_log_variant;GLIB_AVAILABLE_IN_2_50;glib-auto.f90;/usr/include/glib-2.0/glib/gmessages.h;\"void g_log_variant (const gchar *log_domain, GLogLevelFlags log_level, GVariant *fields);\";subroutine g_log_variant(log_domain, log_level, fields) bind(c)\r\ng;g_log_writer_default;GLIB_AVAILABLE_IN_2_50;glib-auto.f90;/usr/include/glib-2.0/glib/gmessages.h;\"GLogWriterOutput g_log_writer_default (GLogLevelFlags log_level, const GLogField *fields, gsize n_fields, gpointer user_data);\";function g_log_writer_default(log_level, fields, n_fields, user_data) bind(c)\r\ng;g_log_writer_default_set_debug_domains;GLIB_AVAILABLE_IN_2_80;glib-auto.f90;/usr/include/glib-2.0/glib/gmessages.h;\"void g_log_writer_default_set_debug_domains (const gchar * const *domains);\";subroutine g_log_writer_default_set_debug_domains(domains) bind(c)\r\ng;g_log_writer_default_set_use_stderr;GLIB_AVAILABLE_IN_2_68;glib-auto.f90;/usr/include/glib-2.0/glib/gmessages.h;\"void g_log_writer_default_set_use_stderr (gboolean use_stderr);\";subroutine g_log_writer_default_set_use_stderr(use_stderr) bind(c)\r\ng;g_log_writer_default_would_drop;GLIB_AVAILABLE_IN_2_68;glib-auto.f90;/usr/include/glib-2.0/glib/gmessages.h;\"gboolean g_log_writer_default_would_drop (GLogLevelFlags log_level, const char *log_domain);\";function g_log_writer_default_would_drop(log_level, log_domain) bind(c)\r\ng;g_log_writer_format_fields;GLIB_AVAILABLE_IN_2_50;glib-auto.f90;/usr/include/glib-2.0/glib/gmessages.h;\"gchar *g_log_writer_format_fields (GLogLevelFlags log_level, const GLogField *fields, gsize n_fields, gboolean use_color);\";function g_log_writer_format_fields(log_level, fields, n_fields, use_color) bind(c)\r\ng;g_log_writer_is_journald;GLIB_AVAILABLE_IN_2_50;glib-auto.f90;/usr/include/glib-2.0/glib/gmessages.h;\"gboolean g_log_writer_is_journald (gint output_fd);\";function g_log_writer_is_journald(output_fd) bind(c)\r\ng;g_log_writer_journald;GLIB_AVAILABLE_IN_2_50;glib-auto.f90;/usr/include/glib-2.0/glib/gmessages.h;\"GLogWriterOutput g_log_writer_journald (GLogLevelFlags log_level, const GLogField *fields, gsize n_fields, gpointer user_data);\";function g_log_writer_journald(log_level, fields, n_fields, user_data) bind(c)\r\ng;g_log_writer_standard_streams;GLIB_AVAILABLE_IN_2_50;glib-auto.f90;/usr/include/glib-2.0/glib/gmessages.h;\"GLogWriterOutput g_log_writer_standard_streams (GLogLevelFlags log_level, const GLogField *fields, gsize n_fields, gpointer user_data);\";function g_log_writer_standard_streams(log_level, fields, n_fields, user_data) bind(c)\r\ng;g_log_writer_supports_color;GLIB_AVAILABLE_IN_2_50;glib-auto.f90;/usr/include/glib-2.0/glib/gmessages.h;\"gboolean g_log_writer_supports_color (gint output_fd);\";function g_log_writer_supports_color(output_fd) bind(c)\r\ng;g_log_writer_syslog;GLIB_AVAILABLE_IN_2_80;glib-auto.f90;/usr/include/glib-2.0/glib/gmessages.h;\"GLogWriterOutput g_log_writer_syslog (GLogLevelFlags log_level, const GLogField *fields, gsize n_fields, gpointer user_data);\";function g_log_writer_syslog(log_level, fields, n_fields, user_data) bind(c)\r\ng;g_logv;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmessages.h;\"void g_logv (const gchar *log_domain, GLogLevelFlags log_level, const gchar *format, va_list args) ;\";subroutine g_logv(log_domain, log_level, format, args) bind(c)\r\ng;g_lstat;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstdio.h;\"int g_lstat (const gchar *filename, GStatBuf *buf);\";function g_lstat(filename, buf) bind(c)\r\ng;g_main_context_acquire;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"gboolean g_main_context_acquire (GMainContext *context);\";function g_main_context_acquire(context) bind(c)\r\ng;g_main_context_add_poll;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"void g_main_context_add_poll (GMainContext *context, GPollFD *fd, gint priority);\";subroutine g_main_context_add_poll(context, fd, priority) bind(c)\r\ng;g_main_context_check;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"gboolean g_main_context_check (GMainContext *context, gint max_priority, GPollFD *fds, gint n_fds);\";function g_main_context_check(context, max_priority, fds, n_fds) bind(c)\r\ng;g_main_context_default;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"GMainContext *g_main_context_default (void);\";function g_main_context_default() bind(c)\r\ng;g_main_context_dispatch;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"void g_main_context_dispatch (GMainContext *context);\";subroutine g_main_context_dispatch(context) bind(c)\r\ng;g_main_context_find_source_by_funcs_user_data;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"GSource *g_main_context_find_source_by_funcs_user_data (GMainContext *context, GSourceFuncs *funcs, gpointer user_data);\";function g_main_context_find_source_by_funcs_user_data(context, funcs, user_data) bind(c)\r\ng;g_main_context_find_source_by_id;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"GSource *g_main_context_find_source_by_id (GMainContext *context, guint source_id);\";function g_main_context_find_source_by_id(context, source_id) bind(c)\r\ng;g_main_context_find_source_by_user_data;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"GSource *g_main_context_find_source_by_user_data (GMainContext *context, gpointer user_data);\";function g_main_context_find_source_by_user_data(context, user_data) bind(c)\r\ng;g_main_context_get_poll_func;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"GPollFunc g_main_context_get_poll_func (GMainContext *context);\";function g_main_context_get_poll_func(context) bind(c)\r\ng;g_main_context_get_thread_default;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"GMainContext *g_main_context_get_thread_default (void);\";function g_main_context_get_thread_default() bind(c)\r\ng;g_main_context_get_type;GOBJECT_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/gobject/glib-types.h;\"GType g_main_context_get_type (void) ;\";function g_main_context_get_type() bind(c)\r\ng;g_main_context_invoke;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"void g_main_context_invoke (GMainContext *context, GSourceFunc function, gpointer data);\";subroutine g_main_context_invoke(context, function, data) bind(c)\r\ng;g_main_context_invoke_full;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"void g_main_context_invoke_full (GMainContext *context, gint priority, GSourceFunc function, gpointer data, GDestroyNotify notify);\";subroutine g_main_context_invoke_full(context, priority, function, data, notify) bind(c)\r\ng;g_main_context_is_owner;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"gboolean g_main_context_is_owner (GMainContext *context);\";function g_main_context_is_owner(context) bind(c)\r\ng;g_main_context_iteration;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"gboolean g_main_context_iteration (GMainContext *context, gboolean may_block);\";function g_main_context_iteration(context, may_block) bind(c)\r\ng;g_main_context_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"GLIB_AVAILABLE_TYPE_IN_2_72 GLIB_AVAILABLE_TYPE_IN_2_64 GMainContext *g_main_context_new (void);\";function g_main_context_new() bind(c)\r\ng;g_main_context_new_with_flags;GLIB_AVAILABLE_IN_2_72;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"GMainContext *g_main_context_new_with_flags (GMainContextFlags flags);\";function g_main_context_new_with_flags(flags) bind(c)\r\ng;g_main_context_pending;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"gboolean g_main_context_pending (GMainContext *context);\";function g_main_context_pending(context) bind(c)\r\ng;g_main_context_pop_thread_default;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"void g_main_context_pop_thread_default (GMainContext *context);\";subroutine g_main_context_pop_thread_default(context) bind(c)\r\ng;g_main_context_prepare;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"gboolean g_main_context_prepare (GMainContext *context, gint *priority);\";function g_main_context_prepare(context, priority) bind(c)\r\ng;g_main_context_push_thread_default;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"void g_main_context_push_thread_default (GMainContext *context);\";subroutine g_main_context_push_thread_default(context) bind(c)\r\ng;g_main_context_query;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"gint g_main_context_query (GMainContext *context, gint max_priority, gint *timeout_, GPollFD *fds, gint n_fds);\";function g_main_context_query(context, max_priority, timeout_, fds, n_fds) bind(c)\r\ng;g_main_context_ref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"GMainContext *g_main_context_ref (GMainContext *context);\";function g_main_context_ref(context) bind(c)\r\ng;g_main_context_ref_thread_default;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"GMainContext *g_main_context_ref_thread_default (void);\";function g_main_context_ref_thread_default() bind(c)\r\ng;g_main_context_release;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"void g_main_context_release (GMainContext *context);\";subroutine g_main_context_release(context) bind(c)\r\ng;g_main_context_remove_poll;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"void g_main_context_remove_poll (GMainContext *context, GPollFD *fd);\";subroutine g_main_context_remove_poll(context, fd) bind(c)\r\ng;g_main_context_set_poll_func;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"void g_main_context_set_poll_func (GMainContext *context, GPollFunc func);\";subroutine g_main_context_set_poll_func(context, func) bind(c)\r\ng;g_main_context_unref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"void g_main_context_unref (GMainContext *context);\";subroutine g_main_context_unref(context) bind(c)\r\ng;g_main_context_wait;GLIB_DEPRECATED_IN_2_58_FOR(g_main_context_is_owner);glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"gboolean g_main_context_wait (GMainContext *context, GCond *cond, GMutex *mutex);\";function g_main_context_wait(context, cond, mutex) bind(c)\r\ng;g_main_context_wakeup;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"void g_main_context_wakeup (GMainContext *context);\";subroutine g_main_context_wakeup(context) bind(c)\r\ng;g_main_current_source;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"GSource *g_main_current_source (void);\";function g_main_current_source() bind(c)\r\ng;g_main_depth;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"gint g_main_depth (void);\";function g_main_depth() bind(c)\r\ng;g_main_loop_get_context;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"GMainContext *g_main_loop_get_context (GMainLoop *loop);\";function g_main_loop_get_context(loop) bind(c)\r\ng;g_main_loop_get_type;GOBJECT_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/gobject/glib-types.h;\"GType g_main_loop_get_type (void) ;\";function g_main_loop_get_type() bind(c)\r\ng;g_main_loop_is_running;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"gboolean g_main_loop_is_running (GMainLoop *loop);\";function g_main_loop_is_running(loop) bind(c)\r\ng;g_main_loop_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"GLIB_AVAILABLE_STATIC_INLINE_IN_2_64 GLIB_AVAILABLE_STATIC_INLINE_IN_2_64 GMainLoop *g_main_loop_new (GMainContext *context, gboolean is_running);\";function g_main_loop_new(context, is_running) bind(c)\r\ng;g_main_loop_quit;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"void g_main_loop_quit (GMainLoop *loop);\";subroutine g_main_loop_quit(loop) bind(c)\r\ng;g_main_loop_ref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"GMainLoop *g_main_loop_ref (GMainLoop *loop);\";function g_main_loop_ref(loop) bind(c)\r\ng;g_main_loop_run;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"void g_main_loop_run (GMainLoop *loop);\";subroutine g_main_loop_run(loop) bind(c)\r\ng;g_main_loop_unref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"void g_main_loop_unref (GMainLoop *loop);\";subroutine g_main_loop_unref(loop) bind(c)\r\ng;g_malloc;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmem.h;\"gpointer g_malloc (gsize n_bytes) ;\";function g_malloc(n_bytes) bind(c)\r\ng;g_malloc0;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmem.h;\"gpointer g_malloc0 (gsize n_bytes) ;\";function g_malloc0(n_bytes) bind(c)\r\ng;g_malloc0_n;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmem.h;\"gpointer g_malloc0_n (gsize n_blocks, gsize n_block_bytes) ;\";function g_malloc0_n(n_blocks, n_block_bytes) bind(c)\r\ng;g_malloc_n;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmem.h;\"gpointer g_malloc_n (gsize n_blocks, gsize n_block_bytes) ;\";function g_malloc_n(n_blocks, n_block_bytes) bind(c)\r\ng;g_mapped_file_free;GLIB_DEPRECATED_FOR(g_mapped_file_unref);glib-auto.f90;/usr/include/glib-2.0/glib/gmappedfile.h;\"void g_mapped_file_free (GMappedFile *file);\";subroutine g_mapped_file_free(file) bind(c)\r\ng;g_mapped_file_get_bytes;GLIB_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/glib/gmappedfile.h;\"GBytes * g_mapped_file_get_bytes (GMappedFile *file);\";function g_mapped_file_get_bytes(file) bind(c)\r\ng;g_mapped_file_get_contents;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmappedfile.h;\"gchar *g_mapped_file_get_contents (GMappedFile *file);\";function g_mapped_file_get_contents(file) bind(c)\r\ng;g_mapped_file_get_length;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmappedfile.h;\"gsize g_mapped_file_get_length (GMappedFile *file);\";function g_mapped_file_get_length(file) bind(c)\r\ng;g_mapped_file_get_type;GOBJECT_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gobject/glib-types.h;\"GType g_mapped_file_get_type (void) ;\";function g_mapped_file_get_type() bind(c)\r\ng;g_mapped_file_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmappedfile.h;\"GMappedFile *g_mapped_file_new (const gchar *filename, gboolean writable, GError **error);\";function g_mapped_file_new(filename, writable, error) bind(c)\r\ng;g_mapped_file_new_from_fd;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmappedfile.h;\"GMappedFile *g_mapped_file_new_from_fd (gint fd, gboolean writable, GError **error);\";function g_mapped_file_new_from_fd(fd, writable, error) bind(c)\r\ng;g_mapped_file_ref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmappedfile.h;\"GMappedFile *g_mapped_file_ref (GMappedFile *file);\";function g_mapped_file_ref(file) bind(c)\r\ng;g_mapped_file_unref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmappedfile.h;\"void g_mapped_file_unref (GMappedFile *file);\";subroutine g_mapped_file_unref(file) bind(c)\r\ng;g_markup_error_quark;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmarkup.h;\"GQuark g_markup_error_quark (void);\";function g_markup_error_quark() bind(c)\r\ng;g_markup_escape_text;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmarkup.h;\"gchar* g_markup_escape_text (const gchar *text, gssize length);\";function g_markup_escape_text(text, length) bind(c)\r\ng;g_markup_parse_context_end_parse;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmarkup.h;\"gboolean g_markup_parse_context_end_parse (GMarkupParseContext *context, GError **error);\";function g_markup_parse_context_end_parse(context, error) bind(c)\r\ng;g_markup_parse_context_free;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmarkup.h;\"void g_markup_parse_context_free (GMarkupParseContext *context);\";subroutine g_markup_parse_context_free(context) bind(c)\r\ng;g_markup_parse_context_get_element;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmarkup.h;\"const gchar * g_markup_parse_context_get_element (GMarkupParseContext *context);\";function g_markup_parse_context_get_element(context) bind(c)\r\ng;g_markup_parse_context_get_element_stack;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmarkup.h;\"const GSList * g_markup_parse_context_get_element_stack (GMarkupParseContext *context);\";function g_markup_parse_context_get_element_stack(context) bind(c)\r\ng;g_markup_parse_context_get_position;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmarkup.h;\"void g_markup_parse_context_get_position (GMarkupParseContext *context, gint *line_number, gint *char_number);\";subroutine g_markup_parse_context_get_position(context, line_number, char_number) bind(c)\r\ng;g_markup_parse_context_get_type;GOBJECT_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gobject/glib-types.h;\"GType g_markup_parse_context_get_type (void) ;\";function g_markup_parse_context_get_type() bind(c)\r\ng;g_markup_parse_context_get_user_data;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmarkup.h;\"gpointer g_markup_parse_context_get_user_data (GMarkupParseContext *context);\";function g_markup_parse_context_get_user_data(context) bind(c)\r\ng;g_markup_parse_context_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmarkup.h;\"GMarkupParseContext *g_markup_parse_context_new (const GMarkupParser *parser, GMarkupParseFlags flags, gpointer user_data, GDestroyNotify user_data_dnotify);\";function g_markup_parse_context_new(parser, flags, user_data, user_data_dnotify) bind(c)\r\ng;g_markup_parse_context_parse;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmarkup.h;\"gboolean g_markup_parse_context_parse (GMarkupParseContext *context, const gchar *text, gssize text_len, GError **error);\";function g_markup_parse_context_parse(context, text, text_len, error) bind(c)\r\ng;g_markup_parse_context_pop;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmarkup.h;\"gpointer g_markup_parse_context_pop (GMarkupParseContext *context);\";function g_markup_parse_context_pop(context) bind(c)\r\ng;g_markup_parse_context_push;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmarkup.h;\"void g_markup_parse_context_push (GMarkupParseContext *context, const GMarkupParser *parser, gpointer user_data);\";subroutine g_markup_parse_context_push(context, parser, user_data) bind(c)\r\ng;g_markup_parse_context_ref;GLIB_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/glib/gmarkup.h;\"GMarkupParseContext *g_markup_parse_context_ref (GMarkupParseContext *context);\";function g_markup_parse_context_ref(context) bind(c)\r\ng;g_markup_parse_context_unref;GLIB_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/glib/gmarkup.h;\"void g_markup_parse_context_unref (GMarkupParseContext *context);\";subroutine g_markup_parse_context_unref(context) bind(c)\r\ng;g_markup_vprintf_escaped;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmarkup.h;\"gchar *g_markup_vprintf_escaped (const char *format, va_list args) ;\";function g_markup_vprintf_escaped(format, args) bind(c)\r\ng;g_match_info_expand_references;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"gchar *g_match_info_expand_references(const GMatchInfo *match_info, const gchar *string_to_expand, GError **error);\";function g_match_info_expand_references(match_info, string_to_expand, error) bind(c)\r\ng;g_match_info_fetch;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"gchar *g_match_info_fetch (const GMatchInfo *match_info, gint match_num);\";function g_match_info_fetch(match_info, match_num) bind(c)\r\ng;g_match_info_fetch_all;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"gchar **g_match_info_fetch_all (const GMatchInfo *match_info);\";function g_match_info_fetch_all(match_info) bind(c)\r\ng;g_match_info_fetch_named;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"gchar *g_match_info_fetch_named (const GMatchInfo *match_info, const gchar *name);\";function g_match_info_fetch_named(match_info, name) bind(c)\r\ng;g_match_info_fetch_named_pos;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"gboolean g_match_info_fetch_named_pos (const GMatchInfo *match_info, const gchar *name, gint *start_pos, gint *end_pos);\";function g_match_info_fetch_named_pos(match_info, name, start_pos, end_pos) bind(c)\r\ng;g_match_info_fetch_pos;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"gboolean g_match_info_fetch_pos (const GMatchInfo *match_info, gint match_num, gint *start_pos, gint *end_pos);\";function g_match_info_fetch_pos(match_info, match_num, start_pos, end_pos) bind(c)\r\ng;g_match_info_free;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"void g_match_info_free (GMatchInfo *match_info);\";subroutine g_match_info_free(match_info) bind(c)\r\ng;g_match_info_get_match_count;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"gint g_match_info_get_match_count (const GMatchInfo *match_info);\";function g_match_info_get_match_count(match_info) bind(c)\r\ng;g_match_info_get_regex;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"GRegex *g_match_info_get_regex (const GMatchInfo *match_info);\";function g_match_info_get_regex(match_info) bind(c)\r\ng;g_match_info_get_string;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"const gchar *g_match_info_get_string (const GMatchInfo *match_info);\";function g_match_info_get_string(match_info) bind(c)\r\ng;g_match_info_get_type;GOBJECT_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/gobject/glib-types.h;\"GType g_match_info_get_type (void) ;\";function g_match_info_get_type() bind(c)\r\ng;g_match_info_is_partial_match;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"gboolean g_match_info_is_partial_match (const GMatchInfo *match_info);\";function g_match_info_is_partial_match(match_info) bind(c)\r\ng;g_match_info_matches;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"gboolean g_match_info_matches (const GMatchInfo *match_info);\";function g_match_info_matches(match_info) bind(c)\r\ng;g_match_info_next;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"gboolean g_match_info_next (GMatchInfo *match_info, GError **error);\";function g_match_info_next(match_info, error) bind(c)\r\ng;g_match_info_ref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"GMatchInfo *g_match_info_ref (GMatchInfo *match_info);\";function g_match_info_ref(match_info) bind(c)\r\ng;g_match_info_unref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"void g_match_info_unref (GMatchInfo *match_info);\";subroutine g_match_info_unref(match_info) bind(c)\r\ng;g_mem_chunk_alloc;GLIB_DEPRECATED;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gallocator.h;\"gpointer g_mem_chunk_alloc (GMemChunk *mem_chunk);\";function g_mem_chunk_alloc(mem_chunk) bind(c)\r\ng;g_mem_chunk_alloc0;GLIB_DEPRECATED;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gallocator.h;\"gpointer g_mem_chunk_alloc0 (GMemChunk *mem_chunk);\";function g_mem_chunk_alloc0(mem_chunk) bind(c)\r\ng;g_mem_chunk_clean;GLIB_DEPRECATED;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gallocator.h;\"void g_mem_chunk_clean (GMemChunk *mem_chunk);\";subroutine g_mem_chunk_clean(mem_chunk) bind(c)\r\ng;g_mem_chunk_destroy;GLIB_DEPRECATED;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gallocator.h;\"void g_mem_chunk_destroy (GMemChunk *mem_chunk);\";subroutine g_mem_chunk_destroy(mem_chunk) bind(c)\r\ng;g_mem_chunk_free;GLIB_DEPRECATED;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gallocator.h;\"void g_mem_chunk_free (GMemChunk *mem_chunk, gpointer mem);\";subroutine g_mem_chunk_free(mem_chunk, mem) bind(c)\r\ng;g_mem_chunk_info;GLIB_DEPRECATED;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gallocator.h;\"void g_mem_chunk_info (void);\";subroutine g_mem_chunk_info() bind(c)\r\ng;g_mem_chunk_new;GLIB_DEPRECATED;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gallocator.h;\"GMemChunk * g_mem_chunk_new (const gchar *name, gint atom_size, gsize area_size, gint type);\";function g_mem_chunk_new(name, atom_size, area_size, type) bind(c)\r\ng;g_mem_chunk_print;GLIB_DEPRECATED;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gallocator.h;\"void g_mem_chunk_print (GMemChunk *mem_chunk);\";subroutine g_mem_chunk_print(mem_chunk) bind(c)\r\ng;g_mem_chunk_reset;GLIB_DEPRECATED;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gallocator.h;\"void g_mem_chunk_reset (GMemChunk *mem_chunk);\";subroutine g_mem_chunk_reset(mem_chunk) bind(c)\r\ng;g_mem_is_system_malloc;GLIB_DEPRECATED_IN_2_46;glib-auto.f90;/usr/include/glib-2.0/glib/gmem.h;\"gboolean g_mem_is_system_malloc (void);\";function g_mem_is_system_malloc() bind(c)\r\ng;g_mem_profile;GLIB_DEPRECATED_IN_2_46;glib-auto.f90;/usr/include/glib-2.0/glib/gmem.h;\"void g_mem_profile (void);\";subroutine g_mem_profile() bind(c)\r\ng;g_mem_set_vtable;GLIB_DEPRECATED_IN_2_46;glib-auto.f90;/usr/include/glib-2.0/glib/gmem.h;\"GLIB_AVAILABLE_STATIC_INLINE_IN_2_44 void g_mem_set_vtable (GMemVTable *vtable);\";subroutine g_mem_set_vtable(vtable) bind(c)\r\ng;g_memdup;GLIB_DEPRECATED_IN_2_68_FOR (g_memdup2);glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gpointer g_memdup (gconstpointer mem, guint byte_size) ;\";function g_memdup(mem, byte_size) bind(c)\r\ng;g_memdup2;GLIB_AVAILABLE_IN_2_68;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gpointer g_memdup2 (gconstpointer mem, gsize byte_size) ;\";function g_memdup2(mem, byte_size) bind(c)\r\ng;g_memory_input_stream_add_bytes;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/gmemoryinputstream.h;\"void g_memory_input_stream_add_bytes (GMemoryInputStream *stream, GBytes *bytes);\";subroutine g_memory_input_stream_add_bytes(stream, bytes) bind(c)\r\ng;g_memory_input_stream_add_data;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmemoryinputstream.h;\"void g_memory_input_stream_add_data (GMemoryInputStream *stream, const void *data, gssize len, GDestroyNotify destroy);\";subroutine g_memory_input_stream_add_data(stream, data, len, destroy) bind(c)\r\ng;g_memory_input_stream_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmemoryinputstream.h;\"GType g_memory_input_stream_get_type (void) ;\";function g_memory_input_stream_get_type() bind(c)\r\ng;g_memory_input_stream_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmemoryinputstream.h;\"GInputStream * g_memory_input_stream_new (void);\";function g_memory_input_stream_new() bind(c)\r\ng;g_memory_input_stream_new_from_bytes;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/gmemoryinputstream.h;\"GInputStream * g_memory_input_stream_new_from_bytes (GBytes *bytes);\";function g_memory_input_stream_new_from_bytes(bytes) bind(c)\r\ng;g_memory_input_stream_new_from_data;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmemoryinputstream.h;\"GInputStream * g_memory_input_stream_new_from_data (const void *data, gssize len, GDestroyNotify destroy);\";function g_memory_input_stream_new_from_data(data, len, destroy) bind(c)\r\ng;g_memory_monitor_dup_default;GIO_AVAILABLE_IN_2_64;glib-auto.f90;/usr/include/glib-2.0/gio/gmemorymonitor.h;\"GMemoryMonitor *g_memory_monitor_dup_default (void);\";function g_memory_monitor_dup_default() bind(c)\r\ng;g_memory_output_stream_get_data;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmemoryoutputstream.h;\"gpointer g_memory_output_stream_get_data (GMemoryOutputStream *ostream);\";function g_memory_output_stream_get_data(ostream) bind(c)\r\ng;g_memory_output_stream_get_data_size;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmemoryoutputstream.h;\"gsize g_memory_output_stream_get_data_size (GMemoryOutputStream *ostream);\";function g_memory_output_stream_get_data_size(ostream) bind(c)\r\ng;g_memory_output_stream_get_size;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmemoryoutputstream.h;\"gsize g_memory_output_stream_get_size (GMemoryOutputStream *ostream);\";function g_memory_output_stream_get_size(ostream) bind(c)\r\ng;g_memory_output_stream_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmemoryoutputstream.h;\"GType g_memory_output_stream_get_type (void) ;\";function g_memory_output_stream_get_type() bind(c)\r\ng;g_memory_output_stream_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmemoryoutputstream.h;\"GOutputStream *g_memory_output_stream_new (gpointer data, gsize size, GReallocFunc realloc_function, GDestroyNotify destroy_function);\";function g_memory_output_stream_new(data, size, realloc_function, destroy_function) bind(c)\r\ng;g_memory_output_stream_new_resizable;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gmemoryoutputstream.h;\"GOutputStream *g_memory_output_stream_new_resizable (void);\";function g_memory_output_stream_new_resizable() bind(c)\r\ng;g_memory_output_stream_steal_as_bytes;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/gmemoryoutputstream.h;\"GBytes * g_memory_output_stream_steal_as_bytes (GMemoryOutputStream *ostream);\";function g_memory_output_stream_steal_as_bytes(ostream) bind(c)\r\ng;g_memory_output_stream_steal_data;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmemoryoutputstream.h;\"gpointer g_memory_output_stream_steal_data (GMemoryOutputStream *ostream);\";function g_memory_output_stream_steal_data(ostream) bind(c)\r\ng;g_memory_settings_backend_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettingsbackend.h;\"GSettingsBackend * g_memory_settings_backend_new (void);\";function g_memory_settings_backend_new() bind(c)\r\ng;g_menu_append;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenu.h;\"void g_menu_append (GMenu *menu, const gchar *label, const gchar *detailed_action);\";subroutine g_menu_append(menu, label, detailed_action) bind(c)\r\ng;g_menu_append_item;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenu.h;\"void g_menu_append_item (GMenu *menu, GMenuItem *item);\";subroutine g_menu_append_item(menu, item) bind(c)\r\ng;g_menu_append_section;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenu.h;\"void g_menu_append_section (GMenu *menu, const gchar *label, GMenuModel *section);\";subroutine g_menu_append_section(menu, label, section) bind(c)\r\ng;g_menu_append_submenu;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenu.h;\"void g_menu_append_submenu (GMenu *menu, const gchar *label, GMenuModel *submenu);\";subroutine g_menu_append_submenu(menu, label, submenu) bind(c)\r\ng;g_menu_attribute_iter_get_name;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenumodel.h;\"const gchar * g_menu_attribute_iter_get_name (GMenuAttributeIter *iter);\";function g_menu_attribute_iter_get_name(iter) bind(c)\r\ng;g_menu_attribute_iter_get_next;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenumodel.h;\"gboolean g_menu_attribute_iter_get_next (GMenuAttributeIter *iter, const gchar **out_name, GVariant **value);\";function g_menu_attribute_iter_get_next(iter, out_name, value) bind(c)\r\ng;g_menu_attribute_iter_get_type;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenumodel.h;\"GType g_menu_attribute_iter_get_type (void) ;\";function g_menu_attribute_iter_get_type() bind(c)\r\ng;g_menu_attribute_iter_get_value;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenumodel.h;\"GVariant * g_menu_attribute_iter_get_value (GMenuAttributeIter *iter);\";function g_menu_attribute_iter_get_value(iter) bind(c)\r\ng;g_menu_attribute_iter_next;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenumodel.h;\"gboolean g_menu_attribute_iter_next (GMenuAttributeIter *iter);\";function g_menu_attribute_iter_next(iter) bind(c)\r\ng;g_menu_freeze;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenu.h;\"void g_menu_freeze (GMenu *menu);\";subroutine g_menu_freeze(menu) bind(c)\r\ng;g_menu_get_type;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenu.h;\"GType g_menu_get_type (void) ;\";function g_menu_get_type() bind(c)\r\ng;g_menu_insert;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenu.h;\"void g_menu_insert (GMenu *menu, gint position, const gchar *label, const gchar *detailed_action);\";subroutine g_menu_insert(menu, position, label, detailed_action) bind(c)\r\ng;g_menu_insert_item;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenu.h;\"void g_menu_insert_item (GMenu *menu, gint position, GMenuItem *item);\";subroutine g_menu_insert_item(menu, position, item) bind(c)\r\ng;g_menu_insert_section;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenu.h;\"void g_menu_insert_section (GMenu *menu, gint position, const gchar *label, GMenuModel *section);\";subroutine g_menu_insert_section(menu, position, label, section) bind(c)\r\ng;g_menu_insert_submenu;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenu.h;\"void g_menu_insert_submenu (GMenu *menu, gint position, const gchar *label, GMenuModel *submenu);\";subroutine g_menu_insert_submenu(menu, position, label, submenu) bind(c)\r\ng;g_menu_item_get_attribute_value;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/gmenu.h;\"GVariant * g_menu_item_get_attribute_value (GMenuItem *menu_item, const gchar *attribute, const GVariantType *expected_type);\";function g_menu_item_get_attribute_value(menu_item, attribute, expected_type) bind(c)\r\ng;g_menu_item_get_link;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/gmenu.h;\"GMenuModel *g_menu_item_get_link (GMenuItem *menu_item, const gchar *link);\";function g_menu_item_get_link(menu_item, link) bind(c)\r\ng;g_menu_item_get_type;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenu.h;\"GType g_menu_item_get_type (void) ;\";function g_menu_item_get_type() bind(c)\r\ng;g_menu_item_new;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenu.h;\"GMenuItem * g_menu_item_new (const gchar *label, const gchar *detailed_action);\";function g_menu_item_new(label, detailed_action) bind(c)\r\ng;g_menu_item_new_from_model;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/gmenu.h;\"GMenuItem * g_menu_item_new_from_model (GMenuModel *model, gint item_index);\";function g_menu_item_new_from_model(model, item_index) bind(c)\r\ng;g_menu_item_new_section;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenu.h;\"GMenuItem * g_menu_item_new_section (const gchar *label, GMenuModel *section);\";function g_menu_item_new_section(label, section) bind(c)\r\ng;g_menu_item_new_submenu;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenu.h;\"GMenuItem * g_menu_item_new_submenu (const gchar *label, GMenuModel *submenu);\";function g_menu_item_new_submenu(label, submenu) bind(c)\r\ng;g_menu_item_set_action_and_target_value;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenu.h;\"void g_menu_item_set_action_and_target_value (GMenuItem *menu_item, const gchar *action, GVariant *target_value);\";subroutine g_menu_item_set_action_and_target_value(menu_item, action, target_value) bind(c)\r\ng;g_menu_item_set_attribute_value;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenu.h;\"void g_menu_item_set_attribute_value (GMenuItem *menu_item, const gchar *attribute, GVariant *value);\";subroutine g_menu_item_set_attribute_value(menu_item, attribute, value) bind(c)\r\ng;g_menu_item_set_detailed_action;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenu.h;\"void g_menu_item_set_detailed_action (GMenuItem *menu_item, const gchar *detailed_action);\";subroutine g_menu_item_set_detailed_action(menu_item, detailed_action) bind(c)\r\ng;g_menu_item_set_icon;GIO_AVAILABLE_IN_2_38;glib-auto.f90;/usr/include/glib-2.0/gio/gmenu.h;\"void g_menu_item_set_icon (GMenuItem *menu_item, GIcon *icon);\";subroutine g_menu_item_set_icon(menu_item, icon) bind(c)\r\ng;g_menu_item_set_label;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenu.h;\"void g_menu_item_set_label (GMenuItem *menu_item, const gchar *label);\";subroutine g_menu_item_set_label(menu_item, label) bind(c)\r\ng;g_menu_item_set_link;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenu.h;\"void g_menu_item_set_link (GMenuItem *menu_item, const gchar *link, GMenuModel *model);\";subroutine g_menu_item_set_link(menu_item, link, model) bind(c)\r\ng;g_menu_item_set_section;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenu.h;\"void g_menu_item_set_section (GMenuItem *menu_item, GMenuModel *section);\";subroutine g_menu_item_set_section(menu_item, section) bind(c)\r\ng;g_menu_item_set_submenu;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenu.h;\"void g_menu_item_set_submenu (GMenuItem *menu_item, GMenuModel *submenu);\";subroutine g_menu_item_set_submenu(menu_item, submenu) bind(c)\r\ng;g_menu_link_iter_get_name;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenumodel.h;\"const gchar * g_menu_link_iter_get_name (GMenuLinkIter *iter);\";function g_menu_link_iter_get_name(iter) bind(c)\r\ng;g_menu_link_iter_get_next;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenumodel.h;\"gboolean g_menu_link_iter_get_next (GMenuLinkIter *iter, const gchar **out_link, GMenuModel **value);\";function g_menu_link_iter_get_next(iter, out_link, value) bind(c)\r\ng;g_menu_link_iter_get_type;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenumodel.h;\"GType g_menu_link_iter_get_type (void) ;\";function g_menu_link_iter_get_type() bind(c)\r\ng;g_menu_link_iter_get_value;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenumodel.h;\"GMenuModel * g_menu_link_iter_get_value (GMenuLinkIter *iter);\";function g_menu_link_iter_get_value(iter) bind(c)\r\ng;g_menu_link_iter_next;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenumodel.h;\"gboolean g_menu_link_iter_next (GMenuLinkIter *iter);\";function g_menu_link_iter_next(iter) bind(c)\r\ng;g_menu_model_get_item_attribute_value;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenumodel.h;\"GVariant * g_menu_model_get_item_attribute_value (GMenuModel *model, gint item_index, const gchar *attribute, const GVariantType *expected_type);\";function g_menu_model_get_item_attribute_value(model, item_index, attribute, expected_type) bind(c)\r\ng;g_menu_model_get_item_link;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenumodel.h;\"GMenuModel * g_menu_model_get_item_link (GMenuModel *model, gint item_index, const gchar *link);\";function g_menu_model_get_item_link(model, item_index, link) bind(c)\r\ng;g_menu_model_get_n_items;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenumodel.h;\"gint g_menu_model_get_n_items (GMenuModel *model);\";function g_menu_model_get_n_items(model) bind(c)\r\ng;g_menu_model_get_type;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenumodel.h;\"GType g_menu_model_get_type (void) ;\";function g_menu_model_get_type() bind(c)\r\ng;g_menu_model_is_mutable;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenumodel.h;\"gboolean g_menu_model_is_mutable (GMenuModel *model);\";function g_menu_model_is_mutable(model) bind(c)\r\ng;g_menu_model_items_changed;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenumodel.h;\"void g_menu_model_items_changed (GMenuModel *model, gint position, gint removed, gint added);\";subroutine g_menu_model_items_changed(model, position, removed, added) bind(c)\r\ng;g_menu_model_iterate_item_attributes;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenumodel.h;\"GMenuAttributeIter * g_menu_model_iterate_item_attributes (GMenuModel *model, gint item_index);\";function g_menu_model_iterate_item_attributes(model, item_index) bind(c)\r\ng;g_menu_model_iterate_item_links;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenumodel.h;\"GMenuLinkIter * g_menu_model_iterate_item_links (GMenuModel *model, gint item_index);\";function g_menu_model_iterate_item_links(model, item_index) bind(c)\r\ng;g_menu_new;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenu.h;\"GMenu * g_menu_new (void);\";function g_menu_new() bind(c)\r\ng;g_menu_prepend;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenu.h;\"void g_menu_prepend (GMenu *menu, const gchar *label, const gchar *detailed_action);\";subroutine g_menu_prepend(menu, label, detailed_action) bind(c)\r\ng;g_menu_prepend_item;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenu.h;\"void g_menu_prepend_item (GMenu *menu, GMenuItem *item);\";subroutine g_menu_prepend_item(menu, item) bind(c)\r\ng;g_menu_prepend_section;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenu.h;\"void g_menu_prepend_section (GMenu *menu, const gchar *label, GMenuModel *section);\";subroutine g_menu_prepend_section(menu, label, section) bind(c)\r\ng;g_menu_prepend_submenu;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenu.h;\"void g_menu_prepend_submenu (GMenu *menu, const gchar *label, GMenuModel *submenu);\";subroutine g_menu_prepend_submenu(menu, label, submenu) bind(c)\r\ng;g_menu_remove;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gmenu.h;\"void g_menu_remove (GMenu *menu, gint position);\";subroutine g_menu_remove(menu, position) bind(c)\r\ng;g_menu_remove_all;GIO_AVAILABLE_IN_2_38;glib-auto.f90;/usr/include/glib-2.0/gio/gmenu.h;\"void g_menu_remove_all (GMenu *menu);\";subroutine g_menu_remove_all(menu) bind(c)\r\ng;g_mkdir;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstdio.h;\"int g_mkdir (const gchar *filename, int mode);\";function g_mkdir(filename, mode) bind(c)\r\ng;g_mkdir_with_parents;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gfileutils.h;\"gint g_mkdir_with_parents (const gchar *pathname, gint mode);\";function g_mkdir_with_parents(pathname, mode) bind(c)\r\ng;g_mkdtemp;GLIB_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/glib/gfileutils.h;\"gchar *g_mkdtemp (gchar *tmpl);\";function g_mkdtemp(tmpl) bind(c)\r\ng;g_mkdtemp_full;GLIB_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/glib/gfileutils.h;\"gchar *g_mkdtemp_full (gchar *tmpl, gint mode);\";function g_mkdtemp_full(tmpl, mode) bind(c)\r\ng;g_mkstemp;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gfileutils.h;\"gint g_mkstemp (gchar *tmpl);\";function g_mkstemp(tmpl) bind(c)\r\ng;g_mkstemp_full;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gfileutils.h;\"gint g_mkstemp_full (gchar *tmpl, gint flags, gint mode);\";function g_mkstemp_full(tmpl, flags, mode) bind(c)\r\ng;g_module_build_path;GMODULE_DEPRECATED_IN_2_76;glib-auto.f90;/usr/include/glib-2.0/gmodule.h;\"gchar* g_module_build_path (const gchar *directory, const gchar *module_name);\";function g_module_build_path(directory, module_name) bind(c)\r\ng;g_module_close;GMODULE_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gmodule.h;\"gboolean g_module_close (GModule *module);\";function g_module_close(module) bind(c)\r\ng;g_module_error;GMODULE_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gmodule.h;\"const gchar * g_module_error (void);\";function g_module_error() bind(c)\r\ng;g_module_error_quark;GMODULE_AVAILABLE_IN_2_70;glib-auto.f90;/usr/include/glib-2.0/gmodule.h;\"GQuark g_module_error_quark (void);\";function g_module_error_quark() bind(c)\r\ng;g_module_make_resident;GMODULE_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gmodule.h;\"void g_module_make_resident (GModule *module);\";subroutine g_module_make_resident(module) bind(c)\r\ng;g_module_name;GMODULE_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gmodule.h;\"const gchar * g_module_name (GModule *module);\";function g_module_name(module) bind(c)\r\ng;g_module_open;GMODULE_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gmodule.h;\"GModule* g_module_open (const gchar *file_name, GModuleFlags flags);\";function g_module_open(file_name, flags) bind(c)\r\ng;g_module_open_full;GMODULE_AVAILABLE_IN_2_70;glib-auto.f90;/usr/include/glib-2.0/gmodule.h;\"GModule *g_module_open_full (const gchar *file_name, GModuleFlags flags, GError **error);\";function g_module_open_full(file_name, flags, error) bind(c)\r\ng;g_module_supported;GMODULE_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gmodule.h;\"gboolean g_module_supported (void) ;\";function g_module_supported() bind(c)\r\ng;g_module_symbol;GMODULE_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gmodule.h;\"gboolean g_module_symbol (GModule *module, const gchar *symbol_name, gpointer *symbol);\";function g_module_symbol(module, symbol_name, symbol) bind(c)\r\ng;g_mount_can_eject;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmount.h;\"gboolean g_mount_can_eject (GMount *mount);\";function g_mount_can_eject(mount) bind(c)\r\ng;g_mount_can_unmount;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmount.h;\"gboolean g_mount_can_unmount (GMount *mount);\";function g_mount_can_unmount(mount) bind(c)\r\ng;g_mount_eject;GIO_DEPRECATED_FOR(g_mount_eject_with_operation);glib-auto.f90;/usr/include/glib-2.0/gio/gmount.h;\"void g_mount_eject (GMount *mount, GMountUnmountFlags flags, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_mount_eject(mount, flags, cancellable, callback, user_data) bind(c)\r\ng;g_mount_eject_finish;GIO_DEPRECATED_FOR(g_mount_eject_with_operation_finish);glib-auto.f90;/usr/include/glib-2.0/gio/gmount.h;\"gboolean g_mount_eject_finish (GMount *mount, GAsyncResult *result, GError **error);\";function g_mount_eject_finish(mount, result, error) bind(c)\r\ng;g_mount_eject_with_operation;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmount.h;\"void g_mount_eject_with_operation (GMount *mount, GMountUnmountFlags flags, GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_mount_eject_with_operation(mount, flags, mount_operation, cancellable, callback, user_data) bind(c)\r\ng;g_mount_eject_with_operation_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmount.h;\"gboolean g_mount_eject_with_operation_finish (GMount *mount, GAsyncResult *result, GError **error);\";function g_mount_eject_with_operation_finish(mount, result, error) bind(c)\r\ng;g_mount_get_default_location;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmount.h;\"GFile * g_mount_get_default_location (GMount *mount);\";function g_mount_get_default_location(mount) bind(c)\r\ng;g_mount_get_drive;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmount.h;\"GDrive * g_mount_get_drive (GMount *mount);\";function g_mount_get_drive(mount) bind(c)\r\ng;g_mount_get_icon;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmount.h;\"GIcon * g_mount_get_icon (GMount *mount);\";function g_mount_get_icon(mount) bind(c)\r\ng;g_mount_get_name;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmount.h;\"char * g_mount_get_name (GMount *mount);\";function g_mount_get_name(mount) bind(c)\r\ng;g_mount_get_root;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmount.h;\"GFile * g_mount_get_root (GMount *mount);\";function g_mount_get_root(mount) bind(c)\r\ng;g_mount_get_sort_key;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmount.h;\"const gchar *g_mount_get_sort_key (GMount *mount);\";function g_mount_get_sort_key(mount) bind(c)\r\ng;g_mount_get_symbolic_icon;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmount.h;\"GIcon * g_mount_get_symbolic_icon (GMount *mount);\";function g_mount_get_symbolic_icon(mount) bind(c)\r\ng;g_mount_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmount.h;\"GType g_mount_get_type (void) ;\";function g_mount_get_type() bind(c)\r\ng;g_mount_get_uuid;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmount.h;\"char * g_mount_get_uuid (GMount *mount);\";function g_mount_get_uuid(mount) bind(c)\r\ng;g_mount_get_volume;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmount.h;\"GVolume * g_mount_get_volume (GMount *mount);\";function g_mount_get_volume(mount) bind(c)\r\ng;g_mount_guess_content_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmount.h;\"void g_mount_guess_content_type (GMount *mount, gboolean force_rescan, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_mount_guess_content_type(mount, force_rescan, cancellable, callback, user_data) bind(c)\r\ng;g_mount_guess_content_type_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmount.h;\"gchar ** g_mount_guess_content_type_finish (GMount *mount, GAsyncResult *result, GError **error);\";function g_mount_guess_content_type_finish(mount, result, error) bind(c)\r\ng;g_mount_guess_content_type_sync;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmount.h;\"gchar ** g_mount_guess_content_type_sync (GMount *mount, gboolean force_rescan, GCancellable *cancellable, GError **error);\";function g_mount_guess_content_type_sync(mount, force_rescan, cancellable, error) bind(c)\r\ng;g_mount_is_shadowed;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmount.h;\"gboolean g_mount_is_shadowed (GMount *mount);\";function g_mount_is_shadowed(mount) bind(c)\r\ng;g_mount_operation_get_anonymous;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmountoperation.h;\"gboolean g_mount_operation_get_anonymous (GMountOperation *op);\";function g_mount_operation_get_anonymous(op) bind(c)\r\ng;g_mount_operation_get_choice;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmountoperation.h;\"int g_mount_operation_get_choice (GMountOperation *op);\";function g_mount_operation_get_choice(op) bind(c)\r\ng;g_mount_operation_get_domain;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmountoperation.h;\"const char * g_mount_operation_get_domain (GMountOperation *op);\";function g_mount_operation_get_domain(op) bind(c)\r\ng;g_mount_operation_get_is_tcrypt_hidden_volume;GIO_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/gio/gmountoperation.h;\"gboolean g_mount_operation_get_is_tcrypt_hidden_volume (GMountOperation *op);\";function g_mount_operation_get_is_tcrypt_hidden_volume(op) bind(c)\r\ng;g_mount_operation_get_is_tcrypt_system_volume;GIO_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/gio/gmountoperation.h;\"gboolean g_mount_operation_get_is_tcrypt_system_volume (GMountOperation *op);\";function g_mount_operation_get_is_tcrypt_system_volume(op) bind(c)\r\ng;g_mount_operation_get_password;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmountoperation.h;\"const char * g_mount_operation_get_password (GMountOperation *op);\";function g_mount_operation_get_password(op) bind(c)\r\ng;g_mount_operation_get_password_save;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmountoperation.h;\"GPasswordSave g_mount_operation_get_password_save (GMountOperation *op);\";function g_mount_operation_get_password_save(op) bind(c)\r\ng;g_mount_operation_get_pim;GIO_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/gio/gmountoperation.h;\"guint g_mount_operation_get_pim (GMountOperation *op);\";function g_mount_operation_get_pim(op) bind(c)\r\ng;g_mount_operation_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmountoperation.h;\"GType g_mount_operation_get_type (void) ;\";function g_mount_operation_get_type() bind(c)\r\ng;g_mount_operation_get_username;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmountoperation.h;\"const char * g_mount_operation_get_username (GMountOperation *op);\";function g_mount_operation_get_username(op) bind(c)\r\ng;g_mount_operation_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmountoperation.h;\"GMountOperation * g_mount_operation_new (void);\";function g_mount_operation_new() bind(c)\r\ng;g_mount_operation_reply;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmountoperation.h;\"void g_mount_operation_reply (GMountOperation *op, GMountOperationResult result);\";subroutine g_mount_operation_reply(op, result) bind(c)\r\ng;g_mount_operation_set_anonymous;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmountoperation.h;\"void g_mount_operation_set_anonymous (GMountOperation *op, gboolean anonymous);\";subroutine g_mount_operation_set_anonymous(op, anonymous) bind(c)\r\ng;g_mount_operation_set_choice;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmountoperation.h;\"void g_mount_operation_set_choice (GMountOperation *op, int choice);\";subroutine g_mount_operation_set_choice(op, choice) bind(c)\r\ng;g_mount_operation_set_domain;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmountoperation.h;\"void g_mount_operation_set_domain (GMountOperation *op, const char *domain);\";subroutine g_mount_operation_set_domain(op, domain) bind(c)\r\ng;g_mount_operation_set_is_tcrypt_hidden_volume;GIO_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/gio/gmountoperation.h;\"void g_mount_operation_set_is_tcrypt_hidden_volume (GMountOperation *op, gboolean hidden_volume);\";subroutine g_mount_operation_set_is_tcrypt_hidden_volume(op, hidden_volume) bind(c)\r\ng;g_mount_operation_set_is_tcrypt_system_volume;GIO_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/gio/gmountoperation.h;\"void g_mount_operation_set_is_tcrypt_system_volume (GMountOperation *op, gboolean system_volume);\";subroutine g_mount_operation_set_is_tcrypt_system_volume(op, system_volume) bind(c)\r\ng;g_mount_operation_set_password;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmountoperation.h;\"void g_mount_operation_set_password (GMountOperation *op, const char *password);\";subroutine g_mount_operation_set_password(op, password) bind(c)\r\ng;g_mount_operation_set_password_save;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmountoperation.h;\"void g_mount_operation_set_password_save (GMountOperation *op, GPasswordSave save);\";subroutine g_mount_operation_set_password_save(op, save) bind(c)\r\ng;g_mount_operation_set_pim;GIO_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/gio/gmountoperation.h;\"void g_mount_operation_set_pim (GMountOperation *op, guint pim);\";subroutine g_mount_operation_set_pim(op, pim) bind(c)\r\ng;g_mount_operation_set_username;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmountoperation.h;\"void g_mount_operation_set_username (GMountOperation *op, const char *username);\";subroutine g_mount_operation_set_username(op, username) bind(c)\r\ng;g_mount_remount;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmount.h;\"void g_mount_remount (GMount *mount, GMountMountFlags flags, GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_mount_remount(mount, flags, mount_operation, cancellable, callback, user_data) bind(c)\r\ng;g_mount_remount_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmount.h;\"gboolean g_mount_remount_finish (GMount *mount, GAsyncResult *result, GError **error);\";function g_mount_remount_finish(mount, result, error) bind(c)\r\ng;g_mount_shadow;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmount.h;\"void g_mount_shadow (GMount *mount);\";subroutine g_mount_shadow(mount) bind(c)\r\ng;g_mount_unmount;GIO_DEPRECATED_FOR(g_mount_unmount_with_operation);glib-auto.f90;/usr/include/glib-2.0/gio/gmount.h;\"void g_mount_unmount (GMount *mount, GMountUnmountFlags flags, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_mount_unmount(mount, flags, cancellable, callback, user_data) bind(c)\r\ng;g_mount_unmount_finish;GIO_DEPRECATED_FOR(g_mount_unmount_with_operation_finish);glib-auto.f90;/usr/include/glib-2.0/gio/gmount.h;\"gboolean g_mount_unmount_finish (GMount *mount, GAsyncResult *result, GError **error);\";function g_mount_unmount_finish(mount, result, error) bind(c)\r\ng;g_mount_unmount_with_operation;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmount.h;\"void g_mount_unmount_with_operation (GMount *mount, GMountUnmountFlags flags, GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_mount_unmount_with_operation(mount, flags, mount_operation, cancellable, callback, user_data) bind(c)\r\ng;g_mount_unmount_with_operation_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmount.h;\"gboolean g_mount_unmount_with_operation_finish (GMount *mount, GAsyncResult *result, GError **error);\";function g_mount_unmount_with_operation_finish(mount, result, error) bind(c)\r\ng;g_mount_unshadow;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gmount.h;\"void g_mount_unshadow (GMount *mount);\";subroutine g_mount_unshadow(mount) bind(c)\r\ng;g_mutex_clear;GLIB_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"void g_mutex_clear (GMutex *mutex);\";subroutine g_mutex_clear(mutex) bind(c)\r\ng;g_mutex_free;GLIB_DEPRECATED_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gthread.h;\"void g_mutex_free (GMutex *mutex);\";subroutine g_mutex_free(mutex) bind(c)\r\ng;g_mutex_init;GLIB_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"void g_mutex_init (GMutex *mutex);\";subroutine g_mutex_init(mutex) bind(c)\r\ng;g_mutex_lock;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"void g_mutex_lock (GMutex *mutex);\";subroutine g_mutex_lock(mutex) bind(c)\r\ng;g_mutex_new;GLIB_DEPRECATED_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gthread.h;\"GMutex * g_mutex_new (void);\";function g_mutex_new() bind(c)\r\ng;g_mutex_trylock;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"gboolean g_mutex_trylock (GMutex *mutex);\";function g_mutex_trylock(mutex) bind(c)\r\ng;g_mutex_unlock;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"void g_mutex_unlock (GMutex *mutex);\";subroutine g_mutex_unlock(mutex) bind(c)\r\ng;g_native_socket_address_get_type;GIO_AVAILABLE_IN_2_46;glib-auto.f90;/usr/include/glib-2.0/gio/gnativesocketaddress.h;\"GType g_native_socket_address_get_type (void) ;\";function g_native_socket_address_get_type() bind(c)\r\ng;g_native_socket_address_new;GIO_AVAILABLE_IN_2_46;glib-auto.f90;/usr/include/glib-2.0/gio/gnativesocketaddress.h;\"GSocketAddress *g_native_socket_address_new (gpointer native, gsize len);\";function g_native_socket_address_new(native, len) bind(c)\r\ng;g_native_volume_monitor_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gnativevolumemonitor.h;\"GType g_native_volume_monitor_get_type (void) ;\";function g_native_volume_monitor_get_type() bind(c)\r\ng;g_network_address_get_hostname;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gnetworkaddress.h;\"const gchar *g_network_address_get_hostname (GNetworkAddress *addr);\";function g_network_address_get_hostname(addr) bind(c)\r\ng;g_network_address_get_port;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gnetworkaddress.h;\"guint16 g_network_address_get_port (GNetworkAddress *addr);\";function g_network_address_get_port(addr) bind(c)\r\ng;g_network_address_get_scheme;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gnetworkaddress.h;\"const gchar *g_network_address_get_scheme (GNetworkAddress *addr);\";function g_network_address_get_scheme(addr) bind(c)\r\ng;g_network_address_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gnetworkaddress.h;\"GType g_network_address_get_type (void) ;\";function g_network_address_get_type() bind(c)\r\ng;g_network_address_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gnetworkaddress.h;\"GSocketConnectable *g_network_address_new (const gchar *hostname, guint16 port);\";function g_network_address_new(hostname, port) bind(c)\r\ng;g_network_address_new_loopback;GIO_AVAILABLE_IN_2_44;glib-auto.f90;/usr/include/glib-2.0/gio/gnetworkaddress.h;\"GSocketConnectable *g_network_address_new_loopback (guint16 port);\";function g_network_address_new_loopback(port) bind(c)\r\ng;g_network_address_parse;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gnetworkaddress.h;\"GSocketConnectable *g_network_address_parse (const gchar *host_and_port, guint16 default_port, GError **error);\";function g_network_address_parse(host_and_port, default_port, error) bind(c)\r\ng;g_network_address_parse_uri;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gnetworkaddress.h;\"GSocketConnectable *g_network_address_parse_uri (const gchar *uri, guint16 default_port, GError **error);\";function g_network_address_parse_uri(uri, default_port, error) bind(c)\r\ng;g_network_monitor_can_reach;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gnetworkmonitor.h;\"gboolean g_network_monitor_can_reach (GNetworkMonitor *monitor, GSocketConnectable *connectable, GCancellable *cancellable, GError **error);\";function g_network_monitor_can_reach(monitor, connectable, cancellable, error) bind(c)\r\ng;g_network_monitor_can_reach_async;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gnetworkmonitor.h;\"void g_network_monitor_can_reach_async (GNetworkMonitor *monitor, GSocketConnectable *connectable, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_network_monitor_can_reach_async(monitor, connectable, cancellable, callback, user_data) bind(c)\r\ng;g_network_monitor_can_reach_finish;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gnetworkmonitor.h;\"gboolean g_network_monitor_can_reach_finish (GNetworkMonitor *monitor, GAsyncResult *result, GError **error);\";function g_network_monitor_can_reach_finish(monitor, result, error) bind(c)\r\ng;g_network_monitor_get_connectivity;GIO_AVAILABLE_IN_2_44;glib-auto.f90;/usr/include/glib-2.0/gio/gnetworkmonitor.h;\"GNetworkConnectivity g_network_monitor_get_connectivity (GNetworkMonitor *monitor);\";function g_network_monitor_get_connectivity(monitor) bind(c)\r\ng;g_network_monitor_get_default;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gnetworkmonitor.h;\"GNetworkMonitor *g_network_monitor_get_default (void);\";function g_network_monitor_get_default() bind(c)\r\ng;g_network_monitor_get_network_available;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gnetworkmonitor.h;\"gboolean g_network_monitor_get_network_available (GNetworkMonitor *monitor);\";function g_network_monitor_get_network_available(monitor) bind(c)\r\ng;g_network_monitor_get_network_metered;GIO_AVAILABLE_IN_2_46;glib-auto.f90;/usr/include/glib-2.0/gio/gnetworkmonitor.h;\"gboolean g_network_monitor_get_network_metered (GNetworkMonitor *monitor);\";function g_network_monitor_get_network_metered(monitor) bind(c)\r\ng;g_network_monitor_get_type;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gnetworkmonitor.h;\"GType g_network_monitor_get_type (void) ;\";function g_network_monitor_get_type() bind(c)\r\ng;g_network_service_get_domain;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gnetworkservice.h;\"const gchar *g_network_service_get_domain (GNetworkService *srv);\";function g_network_service_get_domain(srv) bind(c)\r\ng;g_network_service_get_protocol;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gnetworkservice.h;\"const gchar *g_network_service_get_protocol (GNetworkService *srv);\";function g_network_service_get_protocol(srv) bind(c)\r\ng;g_network_service_get_scheme;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gnetworkservice.h;\"const gchar *g_network_service_get_scheme (GNetworkService *srv);\";function g_network_service_get_scheme(srv) bind(c)\r\ng;g_network_service_get_service;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gnetworkservice.h;\"const gchar *g_network_service_get_service (GNetworkService *srv);\";function g_network_service_get_service(srv) bind(c)\r\ng;g_network_service_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gnetworkservice.h;\"GType g_network_service_get_type (void) ;\";function g_network_service_get_type() bind(c)\r\ng;g_network_service_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gnetworkservice.h;\"GSocketConnectable *g_network_service_new (const gchar *service, const gchar *protocol, const gchar *domain);\";function g_network_service_new(service, protocol, domain) bind(c)\r\ng;g_network_service_set_scheme;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gnetworkservice.h;\"void g_network_service_set_scheme (GNetworkService *srv, const gchar *scheme);\";subroutine g_network_service_set_scheme(srv, scheme) bind(c)\r\ng;g_networking_init;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gnetworking.h;\"void g_networking_init (void);\";subroutine g_networking_init() bind(c)\r\ng;g_node_child_index;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gnode.h;\"gint g_node_child_index (GNode *node, gpointer data);\";function g_node_child_index(node, data) bind(c)\r\ng;g_node_child_position;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gnode.h;\"gint g_node_child_position (GNode *node, GNode *child);\";function g_node_child_position(node, child) bind(c)\r\ng;g_node_children_foreach;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gnode.h;\"void g_node_children_foreach (GNode *node, GTraverseFlags flags, GNodeForeachFunc func, gpointer data);\";subroutine g_node_children_foreach(node, flags, func, data) bind(c)\r\ng;g_node_copy;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gnode.h;\"GNode* g_node_copy (GNode *node);\";function g_node_copy(node) bind(c)\r\ng;g_node_copy_deep;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gnode.h;\"GNode* g_node_copy_deep (GNode *node, GCopyFunc copy_func, gpointer data);\";function g_node_copy_deep(node, copy_func, data) bind(c)\r\ng;g_node_depth;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gnode.h;\"guint g_node_depth (GNode *node);\";function g_node_depth(node) bind(c)\r\ng;g_node_destroy;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gnode.h;\"void g_node_destroy (GNode *root);\";subroutine g_node_destroy(root) bind(c)\r\ng;g_node_find;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gnode.h;\"GNode* g_node_find (GNode *root, GTraverseType order, GTraverseFlags flags, gpointer data);\";function g_node_find(root, order, flags, data) bind(c)\r\ng;g_node_find_child;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gnode.h;\"GNode* g_node_find_child (GNode *node, GTraverseFlags flags, gpointer data);\";function g_node_find_child(node, flags, data) bind(c)\r\ng;g_node_first_sibling;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gnode.h;\"GNode* g_node_first_sibling (GNode *node);\";function g_node_first_sibling(node) bind(c)\r\ng;g_node_get_root;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gnode.h;\"GNode* g_node_get_root (GNode *node);\";function g_node_get_root(node) bind(c)\r\ng;g_node_insert;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gnode.h;\"GNode* g_node_insert (GNode *parent, gint position, GNode *node);\";function g_node_insert(parent, position, node) bind(c)\r\ng;g_node_insert_after;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gnode.h;\"GNode* g_node_insert_after (GNode *parent, GNode *sibling, GNode *node);\";function g_node_insert_after(parent, sibling, node) bind(c)\r\ng;g_node_insert_before;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gnode.h;\"GNode* g_node_insert_before (GNode *parent, GNode *sibling, GNode *node);\";function g_node_insert_before(parent, sibling, node) bind(c)\r\ng;g_node_is_ancestor;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gnode.h;\"gboolean g_node_is_ancestor (GNode *node, GNode *descendant);\";function g_node_is_ancestor(node, descendant) bind(c)\r\ng;g_node_last_child;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gnode.h;\"GNode* g_node_last_child (GNode *node);\";function g_node_last_child(node) bind(c)\r\ng;g_node_last_sibling;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gnode.h;\"GNode* g_node_last_sibling (GNode *node);\";function g_node_last_sibling(node) bind(c)\r\ng;g_node_max_height;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gnode.h;\"guint g_node_max_height (GNode *root);\";function g_node_max_height(root) bind(c)\r\ng;g_node_n_children;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gnode.h;\"guint g_node_n_children (GNode *node);\";function g_node_n_children(node) bind(c)\r\ng;g_node_n_nodes;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gnode.h;\"guint g_node_n_nodes (GNode *root, GTraverseFlags flags);\";function g_node_n_nodes(root, flags) bind(c)\r\ng;g_node_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gnode.h;\"GNode* g_node_new (gpointer data);\";function g_node_new(data) bind(c)\r\ng;g_node_nth_child;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gnode.h;\"GNode* g_node_nth_child (GNode *node, guint n);\";function g_node_nth_child(node, n) bind(c)\r\ng;g_node_pop_allocator;GLIB_DEPRECATED;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gallocator.h;\"void g_node_pop_allocator (void);\";subroutine g_node_pop_allocator() bind(c)\r\ng;g_node_prepend;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gnode.h;\"GNode* g_node_prepend (GNode *parent, GNode *node);\";function g_node_prepend(parent, node) bind(c)\r\ng;g_node_push_allocator;GLIB_DEPRECATED;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gallocator.h;\"void g_node_push_allocator (GAllocator *allocator);\";subroutine g_node_push_allocator(allocator) bind(c)\r\ng;g_node_reverse_children;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gnode.h;\"void g_node_reverse_children (GNode *node);\";subroutine g_node_reverse_children(node) bind(c)\r\ng;g_node_traverse;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gnode.h;\"void g_node_traverse (GNode *root, GTraverseType order, GTraverseFlags flags, gint max_depth, GNodeTraverseFunc func, gpointer data);\";subroutine g_node_traverse(root, order, flags, max_depth, func, data) bind(c)\r\ng;g_node_unlink;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gnode.h;\"void g_node_unlink (GNode *node);\";subroutine g_node_unlink(node) bind(c)\r\ng;g_notification_add_button;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gnotification.h;\"void g_notification_add_button (GNotification *notification, const gchar *label, const gchar *detailed_action);\";subroutine g_notification_add_button(notification, label, detailed_action) bind(c)\r\ng;g_notification_add_button_with_target_value;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gnotification.h;\"void g_notification_add_button_with_target_value (GNotification *notification, const gchar *label, const gchar *action, GVariant *target);\";subroutine g_notification_add_button_with_target_value(notification, label, action, target) bind(c)\r\ng;g_notification_get_type;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gnotification.h;\"GType g_notification_get_type (void) ;\";function g_notification_get_type() bind(c)\r\ng;g_notification_new;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gnotification.h;\"GNotification * g_notification_new (const gchar *title);\";function g_notification_new(title) bind(c)\r\ng;g_notification_set_body;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gnotification.h;\"void g_notification_set_body (GNotification *notification, const gchar *body);\";subroutine g_notification_set_body(notification, body) bind(c)\r\ng;g_notification_set_category;GIO_AVAILABLE_IN_2_70;glib-auto.f90;/usr/include/glib-2.0/gio/gnotification.h;\"void g_notification_set_category (GNotification *notification, const gchar *category);\";subroutine g_notification_set_category(notification, category) bind(c)\r\ng;g_notification_set_default_action;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gnotification.h;\"void g_notification_set_default_action (GNotification *notification, const gchar *detailed_action);\";subroutine g_notification_set_default_action(notification, detailed_action) bind(c)\r\ng;g_notification_set_default_action_and_target_value;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gnotification.h;\"void g_notification_set_default_action_and_target_value (GNotification *notification, const gchar *action, GVariant *target);\";subroutine g_notification_set_default_action_and_target_value(notification, action, target) bind(c)\r\ng;g_notification_set_icon;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gnotification.h;\"void g_notification_set_icon (GNotification *notification, GIcon *icon);\";subroutine g_notification_set_icon(notification, icon) bind(c)\r\ng;g_notification_set_priority;GIO_AVAILABLE_IN_2_42;glib-auto.f90;/usr/include/glib-2.0/gio/gnotification.h;\"void g_notification_set_priority (GNotification *notification, GNotificationPriority priority);\";subroutine g_notification_set_priority(notification, priority) bind(c)\r\ng;g_notification_set_title;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gnotification.h;\"void g_notification_set_title (GNotification *notification, const gchar *title);\";subroutine g_notification_set_title(notification, title) bind(c)\r\ng;g_notification_set_urgent;GIO_DEPRECATED_IN_2_42_FOR(g_notification_set_priority);glib-auto.f90;/usr/include/glib-2.0/gio/gnotification.h;\"void g_notification_set_urgent (GNotification *notification, gboolean urgent);\";subroutine g_notification_set_urgent(notification, urgent) bind(c)\r\ng;g_null_settings_backend_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettingsbackend.h;\"GSettingsBackend * g_null_settings_backend_new (void);\";function g_null_settings_backend_new() bind(c)\r\ng;g_nullify_pointer;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gutils.h;\"void g_nullify_pointer (gpointer *nullify_location);\";subroutine g_nullify_pointer(nullify_location) bind(c)\r\ng;g_number_parser_error_quark;GLIB_AVAILABLE_IN_2_54;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"GQuark g_number_parser_error_quark (void);\";function g_number_parser_error_quark() bind(c)\r\ng;g_object_add_toggle_ref;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"void g_object_add_toggle_ref (GObject *object, GToggleNotify notify, gpointer data);\";subroutine g_object_add_toggle_ref(object, notify, data) bind(c)\r\ng;g_object_add_weak_pointer;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"void g_object_add_weak_pointer (GObject *object, gpointer *weak_pointer_location);\";subroutine g_object_add_weak_pointer(object, weak_pointer_location) bind(c)\r\ng;g_object_bind_property;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gbinding.h;\"GBinding *g_object_bind_property (gpointer source, const gchar *source_property, gpointer target, const gchar *target_property, GBindingFlags flags);\";function g_object_bind_property(source, source_property, target, target_property, flags) bind(c)\r\ng;g_object_bind_property_full;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gbinding.h;\"GBinding *g_object_bind_property_full (gpointer source, const gchar *source_property, gpointer target, const gchar *target_property, GBindingFlags flags, GBindingTransformFunc transform_to, GBindingTransformFunc transform_from, gpointer user_data, GDestroyNotify notify);\";function g_object_bind_property_full(source, source_property, target, target_property, flags, transform_to, transform_from, user_data, notify) bind(c)\r\ng;g_object_bind_property_with_closures;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gbinding.h;\"GBinding *g_object_bind_property_with_closures (gpointer source, const gchar *source_property, gpointer target, const gchar *target_property, GBindingFlags flags, GClosure *transform_to, GClosure *transform_from);\";function g_object_bind_property_with_closures(source, source_property, target, target_property, flags, transform_to, transform_from) bind(c)\r\ng;g_object_class_find_property;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"GParamSpec* g_object_class_find_property (GObjectClass *oclass, const gchar *property_name);\";function g_object_class_find_property(oclass, property_name) bind(c)\r\ng;g_object_class_install_properties;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"void g_object_class_install_properties (GObjectClass *oclass, guint n_pspecs, GParamSpec **pspecs);\";subroutine g_object_class_install_properties(oclass, n_pspecs, pspecs) bind(c)\r\ng;g_object_class_install_property;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"void g_object_class_install_property (GObjectClass *oclass, guint property_id, GParamSpec *pspec);\";subroutine g_object_class_install_property(oclass, property_id, pspec) bind(c)\r\ng;g_object_class_list_properties;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"GParamSpec**g_object_class_list_properties (GObjectClass *oclass, guint *n_properties);\";function g_object_class_list_properties(oclass, n_properties) bind(c)\r\ng;g_object_class_override_property;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"void g_object_class_override_property (GObjectClass *oclass, guint property_id, const gchar *name);\";subroutine g_object_class_override_property(oclass, property_id, name) bind(c)\r\ng;g_object_compat_control;GOBJECT_DEPRECATED;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"gsize g_object_compat_control (gsize what, gpointer data);\";function g_object_compat_control(what, data) bind(c)\r\ng;g_object_dup_data;GOBJECT_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"gpointer g_object_dup_data (GObject *object, const gchar *key, GDuplicateFunc dup_func, gpointer user_data);\";function g_object_dup_data(object, key, dup_func, user_data) bind(c)\r\ng;g_object_dup_qdata;GOBJECT_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"gpointer g_object_dup_qdata (GObject *object, GQuark quark, GDuplicateFunc dup_func, gpointer user_data);\";function g_object_dup_qdata(object, quark, dup_func, user_data) bind(c)\r\ng;g_object_force_floating;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"void g_object_force_floating (GObject *object);\";subroutine g_object_force_floating(object) bind(c)\r\ng;g_object_freeze_notify;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"void g_object_freeze_notify (GObject *object);\";subroutine g_object_freeze_notify(object) bind(c)\r\ng;g_object_get_data;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"gpointer g_object_get_data (GObject *object, const gchar *key);\";function g_object_get_data(object, key) bind(c)\r\ng;g_object_get_property;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"void g_object_get_property (GObject *object, const gchar *property_name, GValue *value);\";subroutine g_object_get_property(object, property_name, value) bind(c)\r\ng;g_object_get_qdata;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"gpointer g_object_get_qdata (GObject *object, GQuark quark);\";function g_object_get_qdata(object, quark) bind(c)\r\ng;g_object_get_type;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"GType g_object_get_type (void) ;\";function g_object_get_type() bind(c)\r\ng;g_object_get_valist;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"void g_object_get_valist (GObject *object, const gchar *first_property_name, va_list var_args);\";subroutine g_object_get_valist(object, first_property_name, var_args) bind(c)\r\ng;g_object_interface_find_property;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"GParamSpec* g_object_interface_find_property (gpointer g_iface, const gchar *property_name);\";function g_object_interface_find_property(g_iface, property_name) bind(c)\r\ng;g_object_interface_install_property;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"void g_object_interface_install_property (gpointer g_iface, GParamSpec *pspec);\";subroutine g_object_interface_install_property(g_iface, pspec) bind(c)\r\ng;g_object_interface_list_properties;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"GParamSpec**g_object_interface_list_properties (gpointer g_iface, guint *n_properties_p);\";function g_object_interface_list_properties(g_iface, n_properties_p) bind(c)\r\ng;g_object_is_floating;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"gboolean g_object_is_floating (gpointer object);\";function g_object_is_floating(object) bind(c)\r\ng;g_object_new_valist;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"GObject* g_object_new_valist (GType object_type, const gchar *first_property_name, va_list var_args);\";function g_object_new_valist(object_type, first_property_name, var_args) bind(c)\r\ng;g_object_newv;GOBJECT_DEPRECATED_IN_2_54_FOR(g_object_new_with_properties);glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"gpointer g_object_newv (GType object_type, guint n_parameters, GParameter *parameters);\";function g_object_newv(object_type, n_parameters, parameters) bind(c)\r\ng;g_object_notify;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"void g_object_notify (GObject *object, const gchar *property_name);\";subroutine g_object_notify(object, property_name) bind(c)\r\ng;g_object_notify_by_pspec;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"void g_object_notify_by_pspec (GObject *object, GParamSpec *pspec);\";subroutine g_object_notify_by_pspec(object, pspec) bind(c)\r\ng;g_object_ref;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"gpointer g_object_ref (gpointer object);\";function g_object_ref(object) bind(c)\r\ng;g_object_ref_sink;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"gpointer g_object_ref_sink (gpointer object);\";function g_object_ref_sink(object) bind(c)\r\ng;g_object_remove_toggle_ref;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"void g_object_remove_toggle_ref (GObject *object, GToggleNotify notify, gpointer data);\";subroutine g_object_remove_toggle_ref(object, notify, data) bind(c)\r\ng;g_object_remove_weak_pointer;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"void g_object_remove_weak_pointer (GObject *object, gpointer *weak_pointer_location);\";subroutine g_object_remove_weak_pointer(object, weak_pointer_location) bind(c)\r\ng;g_object_replace_data;GOBJECT_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"gboolean g_object_replace_data (GObject *object, const gchar *key, gpointer oldval, gpointer newval, GDestroyNotify destroy, GDestroyNotify *old_destroy);\";function g_object_replace_data(object, key, oldval, newval, destroy, old_destroy) bind(c)\r\ng;g_object_replace_qdata;GOBJECT_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"gboolean g_object_replace_qdata (GObject *object, GQuark quark, gpointer oldval, gpointer newval, GDestroyNotify destroy, GDestroyNotify *old_destroy);\";function g_object_replace_qdata(object, quark, oldval, newval, destroy, old_destroy) bind(c)\r\ng;g_object_run_dispose;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"void g_object_run_dispose (GObject *object);\";subroutine g_object_run_dispose(object) bind(c)\r\ng;g_object_set_data;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"void g_object_set_data (GObject *object, const gchar *key, gpointer data);\";subroutine g_object_set_data(object, key, data) bind(c)\r\ng;g_object_set_data_full;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"void g_object_set_data_full (GObject *object, const gchar *key, gpointer data, GDestroyNotify destroy);\";subroutine g_object_set_data_full(object, key, data, destroy) bind(c)\r\ng;g_object_set_property;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"void g_object_set_property (GObject *object, const gchar *property_name, const GValue *value);\";subroutine g_object_set_property(object, property_name, value) bind(c)\r\ng;g_object_set_qdata;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"void g_object_set_qdata (GObject *object, GQuark quark, gpointer data);\";subroutine g_object_set_qdata(object, quark, data) bind(c)\r\ng;g_object_set_qdata_full;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"void g_object_set_qdata_full (GObject *object, GQuark quark, gpointer data, GDestroyNotify destroy);\";subroutine g_object_set_qdata_full(object, quark, data, destroy) bind(c)\r\ng;g_object_set_valist;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"void g_object_set_valist (GObject *object, const gchar *first_property_name, va_list var_args);\";subroutine g_object_set_valist(object, first_property_name, var_args) bind(c)\r\ng;g_object_steal_data;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"gpointer g_object_steal_data (GObject *object, const gchar *key);\";function g_object_steal_data(object, key) bind(c)\r\ng;g_object_steal_qdata;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"gpointer g_object_steal_qdata (GObject *object, GQuark quark);\";function g_object_steal_qdata(object, quark) bind(c)\r\ng;g_object_take_ref;GOBJECT_AVAILABLE_IN_2_70;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"gpointer g_object_take_ref (gpointer object);\";function g_object_take_ref(object) bind(c)\r\ng;g_object_thaw_notify;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"void g_object_thaw_notify (GObject *object);\";subroutine g_object_thaw_notify(object) bind(c)\r\ng;g_object_unref;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"void g_object_unref (gpointer object);\";subroutine g_object_unref(object) bind(c)\r\ng;g_object_watch_closure;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"void g_object_watch_closure (GObject *object, GClosure *closure);\";subroutine g_object_watch_closure(object, closure) bind(c)\r\ng;g_object_weak_ref;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"void g_object_weak_ref (GObject *object, GWeakNotify notify, gpointer data);\";subroutine g_object_weak_ref(object, notify, data) bind(c)\r\ng;g_object_weak_unref;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"void g_object_weak_unref (GObject *object, GWeakNotify notify, gpointer data);\";subroutine g_object_weak_unref(object, notify, data) bind(c)\r\ng;g_on_error_query;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbacktrace.h;\"void g_on_error_query (const gchar *prg_name);\";subroutine g_on_error_query(prg_name) bind(c)\r\ng;g_on_error_stack_trace;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbacktrace.h;\"void g_on_error_stack_trace (const gchar *prg_name);\";subroutine g_on_error_stack_trace(prg_name) bind(c)\r\ng;g_once_impl;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"gpointer g_once_impl (GOnce *once, GThreadFunc func, gpointer arg);\";function g_once_impl(once, func, arg) bind(c)\r\ng;g_once_init_enter;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"gboolean g_once_init_enter (volatile void *location);\";function g_once_init_enter(location) bind(c)\r\ng;g_once_init_enter_impl;GLIB_DEPRECATED_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gthread.h;\"gboolean g_once_init_enter_impl (volatile gsize *location);\";function g_once_init_enter_impl(location) bind(c)\r\ng;g_once_init_enter_pointer;GLIB_AVAILABLE_IN_2_80;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"gboolean g_once_init_enter_pointer (void *location);\";function g_once_init_enter_pointer(location) bind(c)\r\ng;g_once_init_leave;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"void g_once_init_leave (volatile void *location, gsize result);\";subroutine g_once_init_leave(location, result) bind(c)\r\ng;g_once_init_leave_pointer;GLIB_AVAILABLE_IN_2_80;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"void g_once_init_leave_pointer (void *location, gpointer result);\";subroutine g_once_init_leave_pointer(location, result) bind(c)\r\ng;g_open;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstdio.h;\"int g_open (const gchar *filename, int flags, int mode);\";function g_open(filename, flags, mode) bind(c)\r\ng;g_option_context_add_group;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/goption.h;\"void g_option_context_add_group (GOptionContext *context, GOptionGroup *group);\";subroutine g_option_context_add_group(context, group) bind(c)\r\ng;g_option_context_add_main_entries;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/goption.h;\"void g_option_context_add_main_entries (GOptionContext *context, const GOptionEntry *entries, const gchar *translation_domain);\";subroutine g_option_context_add_main_entries(context, entries, translation_domain) bind(c)\r\ng;g_option_context_free;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/goption.h;\"void g_option_context_free (GOptionContext *context);\";subroutine g_option_context_free(context) bind(c)\r\ng;g_option_context_get_description;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/goption.h;\"const gchar * g_option_context_get_description (GOptionContext *context);\";function g_option_context_get_description(context) bind(c)\r\ng;g_option_context_get_help;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/goption.h;\"gchar *g_option_context_get_help (GOptionContext *context, gboolean main_help, GOptionGroup *group);\";function g_option_context_get_help(context, main_help, group) bind(c)\r\ng;g_option_context_get_help_enabled;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/goption.h;\"gboolean g_option_context_get_help_enabled (GOptionContext *context);\";function g_option_context_get_help_enabled(context) bind(c)\r\ng;g_option_context_get_ignore_unknown_options;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/goption.h;\"gboolean g_option_context_get_ignore_unknown_options (GOptionContext *context);\";function g_option_context_get_ignore_unknown_options(context) bind(c)\r\ng;g_option_context_get_main_group;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/goption.h;\"GOptionGroup *g_option_context_get_main_group (GOptionContext *context);\";function g_option_context_get_main_group(context) bind(c)\r\ng;g_option_context_get_strict_posix;GLIB_AVAILABLE_IN_2_44;glib-auto.f90;/usr/include/glib-2.0/glib/goption.h;\"gboolean g_option_context_get_strict_posix (GOptionContext *context);\";function g_option_context_get_strict_posix(context) bind(c)\r\ng;g_option_context_get_summary;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/goption.h;\"const gchar * g_option_context_get_summary (GOptionContext *context);\";function g_option_context_get_summary(context) bind(c)\r\ng;g_option_context_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/goption.h;\"GOptionContext *g_option_context_new (const gchar *parameter_string);\";function g_option_context_new(parameter_string) bind(c)\r\ng;g_option_context_parse;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/goption.h;\"gboolean g_option_context_parse (GOptionContext *context, gint *argc, gchar ***argv, GError **error);\";function g_option_context_parse(context, argc, argv, error) bind(c)\r\ng;g_option_context_parse_strv;GLIB_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/glib/goption.h;\"gboolean g_option_context_parse_strv (GOptionContext *context, gchar ***arguments, GError **error);\";function g_option_context_parse_strv(context, arguments, error) bind(c)\r\ng;g_option_context_set_description;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/goption.h;\"void g_option_context_set_description (GOptionContext *context, const gchar *description);\";subroutine g_option_context_set_description(context, description) bind(c)\r\ng;g_option_context_set_help_enabled;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/goption.h;\"void g_option_context_set_help_enabled (GOptionContext *context, gboolean help_enabled);\";subroutine g_option_context_set_help_enabled(context, help_enabled) bind(c)\r\ng;g_option_context_set_ignore_unknown_options;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/goption.h;\"void g_option_context_set_ignore_unknown_options (GOptionContext *context, gboolean ignore_unknown);\";subroutine g_option_context_set_ignore_unknown_options(context, ignore_unknown) bind(c)\r\ng;g_option_context_set_main_group;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/goption.h;\"void g_option_context_set_main_group (GOptionContext *context, GOptionGroup *group);\";subroutine g_option_context_set_main_group(context, group) bind(c)\r\ng;g_option_context_set_strict_posix;GLIB_AVAILABLE_IN_2_44;glib-auto.f90;/usr/include/glib-2.0/glib/goption.h;\"void g_option_context_set_strict_posix (GOptionContext *context, gboolean strict_posix);\";subroutine g_option_context_set_strict_posix(context, strict_posix) bind(c)\r\ng;g_option_context_set_summary;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/goption.h;\"void g_option_context_set_summary (GOptionContext *context, const gchar *summary);\";subroutine g_option_context_set_summary(context, summary) bind(c)\r\ng;g_option_context_set_translate_func;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/goption.h;\"void g_option_context_set_translate_func (GOptionContext *context, GTranslateFunc func, gpointer data, GDestroyNotify destroy_notify);\";subroutine g_option_context_set_translate_func(context, func, data, destroy_notify) bind(c)\r\ng;g_option_context_set_translation_domain;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/goption.h;\"void g_option_context_set_translation_domain (GOptionContext *context, const gchar *domain);\";subroutine g_option_context_set_translation_domain(context, domain) bind(c)\r\ng;g_option_error_quark;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/goption.h;\"GQuark g_option_error_quark (void);\";function g_option_error_quark() bind(c)\r\ng;g_option_group_add_entries;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/goption.h;\"void g_option_group_add_entries (GOptionGroup *group, const GOptionEntry *entries);\";subroutine g_option_group_add_entries(group, entries) bind(c)\r\ng;g_option_group_free;GLIB_DEPRECATED_IN_2_44;glib-auto.f90;/usr/include/glib-2.0/glib/goption.h;\"void g_option_group_free (GOptionGroup *group);\";subroutine g_option_group_free(group) bind(c)\r\ng;g_option_group_get_type;GOBJECT_AVAILABLE_IN_2_44;glib-auto.f90;/usr/include/glib-2.0/gobject/glib-types.h;\"GType g_option_group_get_type (void) ;\";function g_option_group_get_type() bind(c)\r\ng;g_option_group_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/goption.h;\"GOptionGroup *g_option_group_new (const gchar *name, const gchar *description, const gchar *help_description, gpointer user_data, GDestroyNotify destroy);\";function g_option_group_new(name, description, help_description, user_data, destroy) bind(c)\r\ng;g_option_group_ref;GLIB_AVAILABLE_IN_2_44;glib-auto.f90;/usr/include/glib-2.0/glib/goption.h;\"GOptionGroup *g_option_group_ref (GOptionGroup *group);\";function g_option_group_ref(group) bind(c)\r\ng;g_option_group_set_error_hook;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/goption.h;\"void g_option_group_set_error_hook (GOptionGroup *group, GOptionErrorFunc error_func);\";subroutine g_option_group_set_error_hook(group, error_func) bind(c)\r\ng;g_option_group_set_parse_hooks;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/goption.h;\"void g_option_group_set_parse_hooks (GOptionGroup *group, GOptionParseFunc pre_parse_func, GOptionParseFunc post_parse_func);\";subroutine g_option_group_set_parse_hooks(group, pre_parse_func, post_parse_func) bind(c)\r\ng;g_option_group_set_translate_func;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/goption.h;\"void g_option_group_set_translate_func (GOptionGroup *group, GTranslateFunc func, gpointer data, GDestroyNotify destroy_notify);\";subroutine g_option_group_set_translate_func(group, func, data, destroy_notify) bind(c)\r\ng;g_option_group_set_translation_domain;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/goption.h;\"void g_option_group_set_translation_domain (GOptionGroup *group, const gchar *domain);\";subroutine g_option_group_set_translation_domain(group, domain) bind(c)\r\ng;g_option_group_unref;GLIB_AVAILABLE_IN_2_44;glib-auto.f90;/usr/include/glib-2.0/glib/goption.h;\"void g_option_group_unref (GOptionGroup *group);\";subroutine g_option_group_unref(group) bind(c)\r\ng;g_output_stream_clear_pending;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/goutputstream.h;\"void g_output_stream_clear_pending (GOutputStream *stream);\";subroutine g_output_stream_clear_pending(stream) bind(c)\r\ng;g_output_stream_close;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/goutputstream.h;\"gboolean g_output_stream_close (GOutputStream *stream, GCancellable *cancellable, GError **error);\";function g_output_stream_close(stream, cancellable, error) bind(c)\r\ng;g_output_stream_close_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/goutputstream.h;\"void g_output_stream_close_async (GOutputStream *stream, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_output_stream_close_async(stream, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_output_stream_close_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/goutputstream.h;\"gboolean g_output_stream_close_finish (GOutputStream *stream, GAsyncResult *result, GError **error);\";function g_output_stream_close_finish(stream, result, error) bind(c)\r\ng;g_output_stream_flush;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/goutputstream.h;\"gboolean g_output_stream_flush (GOutputStream *stream, GCancellable *cancellable, GError **error);\";function g_output_stream_flush(stream, cancellable, error) bind(c)\r\ng;g_output_stream_flush_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/goutputstream.h;\"void g_output_stream_flush_async (GOutputStream *stream, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_output_stream_flush_async(stream, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_output_stream_flush_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/goutputstream.h;\"gboolean g_output_stream_flush_finish (GOutputStream *stream, GAsyncResult *result, GError **error);\";function g_output_stream_flush_finish(stream, result, error) bind(c)\r\ng;g_output_stream_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/goutputstream.h;\"GType g_output_stream_get_type (void) ;\";function g_output_stream_get_type() bind(c)\r\ng;g_output_stream_has_pending;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/goutputstream.h;\"gboolean g_output_stream_has_pending (GOutputStream *stream);\";function g_output_stream_has_pending(stream) bind(c)\r\ng;g_output_stream_is_closed;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/goutputstream.h;\"gboolean g_output_stream_is_closed (GOutputStream *stream);\";function g_output_stream_is_closed(stream) bind(c)\r\ng;g_output_stream_is_closing;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/goutputstream.h;\"gboolean g_output_stream_is_closing (GOutputStream *stream);\";function g_output_stream_is_closing(stream) bind(c)\r\ng;g_output_stream_set_pending;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/goutputstream.h;\"gboolean g_output_stream_set_pending (GOutputStream *stream, GError **error);\";function g_output_stream_set_pending(stream, error) bind(c)\r\ng;g_output_stream_splice;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/goutputstream.h;\"gssize g_output_stream_splice (GOutputStream *stream, GInputStream *source, GOutputStreamSpliceFlags flags, GCancellable *cancellable, GError **error);\";function g_output_stream_splice(stream, source, flags, cancellable, error) bind(c)\r\ng;g_output_stream_splice_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/goutputstream.h;\"void g_output_stream_splice_async (GOutputStream *stream, GInputStream *source, GOutputStreamSpliceFlags flags, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_output_stream_splice_async(stream, source, flags, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_output_stream_splice_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/goutputstream.h;\"gssize g_output_stream_splice_finish (GOutputStream *stream, GAsyncResult *result, GError **error);\";function g_output_stream_splice_finish(stream, result, error) bind(c)\r\ng;g_output_stream_vprintf;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/goutputstream.h;\"gboolean g_output_stream_vprintf (GOutputStream *stream, gsize *bytes_written, GCancellable *cancellable, GError **error, const gchar *format, va_list args) ;\";function g_output_stream_vprintf(stream, bytes_written, cancellable, error, format, args) bind(c)\r\ng;g_output_stream_write;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/goutputstream.h;\"gssize g_output_stream_write (GOutputStream *stream, const void *buffer, gsize count, GCancellable *cancellable, GError **error);\";function g_output_stream_write(stream, buffer, count, cancellable, error) bind(c)\r\ng;g_output_stream_write_all;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/goutputstream.h;\"gboolean g_output_stream_write_all (GOutputStream *stream, const void *buffer, gsize count, gsize *bytes_written, GCancellable *cancellable, GError **error);\";function g_output_stream_write_all(stream, buffer, count, bytes_written, cancellable, error) bind(c)\r\ng;g_output_stream_write_all_async;GIO_AVAILABLE_IN_2_44;glib-auto.f90;/usr/include/glib-2.0/gio/goutputstream.h;\"void g_output_stream_write_all_async (GOutputStream *stream, const void *buffer, gsize count, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_output_stream_write_all_async(stream, buffer, count, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_output_stream_write_all_finish;GIO_AVAILABLE_IN_2_44;glib-auto.f90;/usr/include/glib-2.0/gio/goutputstream.h;\"gboolean g_output_stream_write_all_finish (GOutputStream *stream, GAsyncResult *result, gsize *bytes_written, GError **error);\";function g_output_stream_write_all_finish(stream, result, bytes_written, error) bind(c)\r\ng;g_output_stream_write_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/goutputstream.h;\"void g_output_stream_write_async (GOutputStream *stream, const void *buffer, gsize count, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_output_stream_write_async(stream, buffer, count, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_output_stream_write_bytes;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/goutputstream.h;\"gssize g_output_stream_write_bytes (GOutputStream *stream, GBytes *bytes, GCancellable *cancellable, GError **error);\";function g_output_stream_write_bytes(stream, bytes, cancellable, error) bind(c)\r\ng;g_output_stream_write_bytes_async;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/goutputstream.h;\"void g_output_stream_write_bytes_async (GOutputStream *stream, GBytes *bytes, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_output_stream_write_bytes_async(stream, bytes, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_output_stream_write_bytes_finish;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/goutputstream.h;\"gssize g_output_stream_write_bytes_finish (GOutputStream *stream, GAsyncResult *result, GError **error);\";function g_output_stream_write_bytes_finish(stream, result, error) bind(c)\r\ng;g_output_stream_write_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/goutputstream.h;\"gssize g_output_stream_write_finish (GOutputStream *stream, GAsyncResult *result, GError **error);\";function g_output_stream_write_finish(stream, result, error) bind(c)\r\ng;g_output_stream_writev;GIO_AVAILABLE_IN_2_60;glib-auto.f90;/usr/include/glib-2.0/gio/goutputstream.h;\"gboolean g_output_stream_writev (GOutputStream *stream, const GOutputVector *vectors, gsize n_vectors, gsize *bytes_written, GCancellable *cancellable, GError **error);\";function g_output_stream_writev(stream, vectors, n_vectors, bytes_written, cancellable, error) bind(c)\r\ng;g_output_stream_writev_all;GIO_AVAILABLE_IN_2_60;glib-auto.f90;/usr/include/glib-2.0/gio/goutputstream.h;\"gboolean g_output_stream_writev_all (GOutputStream *stream, GOutputVector *vectors, gsize n_vectors, gsize *bytes_written, GCancellable *cancellable, GError **error);\";function g_output_stream_writev_all(stream, vectors, n_vectors, bytes_written, cancellable, error) bind(c)\r\ng;g_output_stream_writev_all_async;GIO_AVAILABLE_IN_2_60;glib-auto.f90;/usr/include/glib-2.0/gio/goutputstream.h;\"void g_output_stream_writev_all_async (GOutputStream *stream, GOutputVector *vectors, gsize n_vectors, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_output_stream_writev_all_async(stream, vectors, n_vectors, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_output_stream_writev_all_finish;GIO_AVAILABLE_IN_2_60;glib-auto.f90;/usr/include/glib-2.0/gio/goutputstream.h;\"gboolean g_output_stream_writev_all_finish (GOutputStream *stream, GAsyncResult *result, gsize *bytes_written, GError **error);\";function g_output_stream_writev_all_finish(stream, result, bytes_written, error) bind(c)\r\ng;g_output_stream_writev_async;GIO_AVAILABLE_IN_2_60;glib-auto.f90;/usr/include/glib-2.0/gio/goutputstream.h;\"void g_output_stream_writev_async (GOutputStream *stream, const GOutputVector *vectors, gsize n_vectors, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_output_stream_writev_async(stream, vectors, n_vectors, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_output_stream_writev_finish;GIO_AVAILABLE_IN_2_60;glib-auto.f90;/usr/include/glib-2.0/gio/goutputstream.h;\"gboolean g_output_stream_writev_finish (GOutputStream *stream, GAsyncResult *result, gsize *bytes_written, GError **error);\";function g_output_stream_writev_finish(stream, result, bytes_written, error) bind(c)\r\ng;g_param_spec_boolean;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparamspecs.h;\"GParamSpec* g_param_spec_boolean (const gchar *name, const gchar *nick, const gchar *blurb, gboolean default_value, GParamFlags flags);\";function g_param_spec_boolean(name, nick, blurb, default_value, flags) bind(c)\r\ng;g_param_spec_boxed;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparamspecs.h;\"GParamSpec* g_param_spec_boxed (const gchar *name, const gchar *nick, const gchar *blurb, GType boxed_type, GParamFlags flags);\";function g_param_spec_boxed(name, nick, blurb, boxed_type, flags) bind(c)\r\ng;g_param_spec_char;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparamspecs.h;\"GParamSpec* g_param_spec_char (const gchar *name, const gchar *nick, const gchar *blurb, gint8 minimum, gint8 maximum, gint8 default_value, GParamFlags flags);\";function g_param_spec_char(name, nick, blurb, minimum, maximum, default_value, flags) bind(c)\r\ng;g_param_spec_double;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparamspecs.h;\"GParamSpec* g_param_spec_double (const gchar *name, const gchar *nick, const gchar *blurb, gdouble minimum, gdouble maximum, gdouble default_value, GParamFlags flags);\";function g_param_spec_double(name, nick, blurb, minimum, maximum, default_value, flags) bind(c)\r\ng;g_param_spec_enum;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparamspecs.h;\"GParamSpec* g_param_spec_enum (const gchar *name, const gchar *nick, const gchar *blurb, GType enum_type, gint default_value, GParamFlags flags);\";function g_param_spec_enum(name, nick, blurb, enum_type, default_value, flags) bind(c)\r\ng;g_param_spec_flags;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparamspecs.h;\"GParamSpec* g_param_spec_flags (const gchar *name, const gchar *nick, const gchar *blurb, GType flags_type, guint default_value, GParamFlags flags);\";function g_param_spec_flags(name, nick, blurb, flags_type, default_value, flags) bind(c)\r\ng;g_param_spec_float;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparamspecs.h;\"GParamSpec* g_param_spec_float (const gchar *name, const gchar *nick, const gchar *blurb, gfloat minimum, gfloat maximum, gfloat default_value, GParamFlags flags);\";function g_param_spec_float(name, nick, blurb, minimum, maximum, default_value, flags) bind(c)\r\ng;g_param_spec_get_blurb;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparam.h;\"const gchar * g_param_spec_get_blurb (GParamSpec *pspec);\";function g_param_spec_get_blurb(pspec) bind(c)\r\ng;g_param_spec_get_default_value;GOBJECT_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gobject/gparam.h;\"const GValue * g_param_spec_get_default_value (GParamSpec *pspec);\";function g_param_spec_get_default_value(pspec) bind(c)\r\ng;g_param_spec_get_name;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparam.h;\"const gchar * g_param_spec_get_name (GParamSpec *pspec);\";function g_param_spec_get_name(pspec) bind(c)\r\ng;g_param_spec_get_name_quark;GOBJECT_AVAILABLE_IN_2_46;glib-auto.f90;/usr/include/glib-2.0/gobject/gparam.h;\"GQuark g_param_spec_get_name_quark (GParamSpec *pspec);\";function g_param_spec_get_name_quark(pspec) bind(c)\r\ng;g_param_spec_get_nick;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparam.h;\"const gchar * g_param_spec_get_nick (GParamSpec *pspec);\";function g_param_spec_get_nick(pspec) bind(c)\r\ng;g_param_spec_get_qdata;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparam.h;\"gpointer g_param_spec_get_qdata (GParamSpec *pspec, GQuark quark);\";function g_param_spec_get_qdata(pspec, quark) bind(c)\r\ng;g_param_spec_get_redirect_target;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparam.h;\"GParamSpec* g_param_spec_get_redirect_target (GParamSpec *pspec);\";function g_param_spec_get_redirect_target(pspec) bind(c)\r\ng;g_param_spec_gtype;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparamspecs.h;\"GParamSpec* g_param_spec_gtype (const gchar *name, const gchar *nick, const gchar *blurb, GType is_a_type, GParamFlags flags);\";function g_param_spec_gtype(name, nick, blurb, is_a_type, flags) bind(c)\r\ng;g_param_spec_int;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparamspecs.h;\"GParamSpec* g_param_spec_int (const gchar *name, const gchar *nick, const gchar *blurb, gint minimum, gint maximum, gint default_value, GParamFlags flags);\";function g_param_spec_int(name, nick, blurb, minimum, maximum, default_value, flags) bind(c)\r\ng;g_param_spec_int64;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparamspecs.h;\"GParamSpec* g_param_spec_int64 (const gchar *name, const gchar *nick, const gchar *blurb, gint64 minimum, gint64 maximum, gint64 default_value, GParamFlags flags);\";function g_param_spec_int64(name, nick, blurb, minimum, maximum, default_value, flags) bind(c)\r\ng;g_param_spec_internal;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparam.h;\"gpointer g_param_spec_internal (GType param_type, const gchar *name, const gchar *nick, const gchar *blurb, GParamFlags flags);\";function g_param_spec_internal(param_type, name, nick, blurb, flags) bind(c)\r\ng;g_param_spec_is_valid_name;GOBJECT_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/gobject/gparam.h;\"gboolean g_param_spec_is_valid_name (const gchar *name);\";function g_param_spec_is_valid_name(name) bind(c)\r\ng;g_param_spec_long;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparamspecs.h;\"GParamSpec* g_param_spec_long (const gchar *name, const gchar *nick, const gchar *blurb, glong minimum, glong maximum, glong default_value, GParamFlags flags);\";function g_param_spec_long(name, nick, blurb, minimum, maximum, default_value, flags) bind(c)\r\ng;g_param_spec_object;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparamspecs.h;\"GParamSpec* g_param_spec_object (const gchar *name, const gchar *nick, const gchar *blurb, GType object_type, GParamFlags flags);\";function g_param_spec_object(name, nick, blurb, object_type, flags) bind(c)\r\ng;g_param_spec_override;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparamspecs.h;\"GParamSpec* g_param_spec_override (const gchar *name, GParamSpec *overridden);\";function g_param_spec_override(name, overridden) bind(c)\r\ng;g_param_spec_param;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparamspecs.h;\"GParamSpec* g_param_spec_param (const gchar *name, const gchar *nick, const gchar *blurb, GType param_type, GParamFlags flags);\";function g_param_spec_param(name, nick, blurb, param_type, flags) bind(c)\r\ng;g_param_spec_pointer;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparamspecs.h;\"GParamSpec* g_param_spec_pointer (const gchar *name, const gchar *nick, const gchar *blurb, GParamFlags flags);\";function g_param_spec_pointer(name, nick, blurb, flags) bind(c)\r\ng;g_param_spec_pool_free;GOBJECT_AVAILABLE_IN_2_80;glib-auto.f90;/usr/include/glib-2.0/gobject/gparam.h;\"void g_param_spec_pool_free (GParamSpecPool *pool);\";subroutine g_param_spec_pool_free(pool) bind(c)\r\ng;g_param_spec_pool_insert;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparam.h;\"void g_param_spec_pool_insert (GParamSpecPool *pool, GParamSpec *pspec, GType owner_type);\";subroutine g_param_spec_pool_insert(pool, pspec, owner_type) bind(c)\r\ng;g_param_spec_pool_list;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparam.h;\"GParamSpec** g_param_spec_pool_list (GParamSpecPool *pool, GType owner_type, guint *n_pspecs_p);\";function g_param_spec_pool_list(pool, owner_type, n_pspecs_p) bind(c)\r\ng;g_param_spec_pool_list_owned;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparam.h;\"GList* g_param_spec_pool_list_owned (GParamSpecPool *pool, GType owner_type);\";function g_param_spec_pool_list_owned(pool, owner_type) bind(c)\r\ng;g_param_spec_pool_lookup;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparam.h;\"GParamSpec* g_param_spec_pool_lookup (GParamSpecPool *pool, const gchar *param_name, GType owner_type, gboolean walk_ancestors);\";function g_param_spec_pool_lookup(pool, param_name, owner_type, walk_ancestors) bind(c)\r\ng;g_param_spec_pool_new;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparam.h;\"GParamSpecPool* g_param_spec_pool_new (gboolean type_prefixing);\";function g_param_spec_pool_new(type_prefixing) bind(c)\r\ng;g_param_spec_pool_remove;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparam.h;\"void g_param_spec_pool_remove (GParamSpecPool *pool, GParamSpec *pspec);\";subroutine g_param_spec_pool_remove(pool, pspec) bind(c)\r\ng;g_param_spec_ref;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparam.h;\"GParamSpec* g_param_spec_ref (GParamSpec *pspec);\";function g_param_spec_ref(pspec) bind(c)\r\ng;g_param_spec_ref_sink;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparam.h;\"GParamSpec* g_param_spec_ref_sink (GParamSpec *pspec);\";function g_param_spec_ref_sink(pspec) bind(c)\r\ng;g_param_spec_set_qdata;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparam.h;\"void g_param_spec_set_qdata (GParamSpec *pspec, GQuark quark, gpointer data);\";subroutine g_param_spec_set_qdata(pspec, quark, data) bind(c)\r\ng;g_param_spec_set_qdata_full;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparam.h;\"void g_param_spec_set_qdata_full (GParamSpec *pspec, GQuark quark, gpointer data, GDestroyNotify destroy);\";subroutine g_param_spec_set_qdata_full(pspec, quark, data, destroy) bind(c)\r\ng;g_param_spec_sink;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparam.h;\"void g_param_spec_sink (GParamSpec *pspec);\";subroutine g_param_spec_sink(pspec) bind(c)\r\ng;g_param_spec_steal_qdata;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparam.h;\"gpointer g_param_spec_steal_qdata (GParamSpec *pspec, GQuark quark);\";function g_param_spec_steal_qdata(pspec, quark) bind(c)\r\ng;g_param_spec_string;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparamspecs.h;\"GParamSpec* g_param_spec_string (const gchar *name, const gchar *nick, const gchar *blurb, const gchar *default_value, GParamFlags flags);\";function g_param_spec_string(name, nick, blurb, default_value, flags) bind(c)\r\ng;g_param_spec_uchar;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparamspecs.h;\"GParamSpec* g_param_spec_uchar (const gchar *name, const gchar *nick, const gchar *blurb, guint8 minimum, guint8 maximum, guint8 default_value, GParamFlags flags);\";function g_param_spec_uchar(name, nick, blurb, minimum, maximum, default_value, flags) bind(c)\r\ng;g_param_spec_uint;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparamspecs.h;\"GParamSpec* g_param_spec_uint (const gchar *name, const gchar *nick, const gchar *blurb, guint minimum, guint maximum, guint default_value, GParamFlags flags);\";function g_param_spec_uint(name, nick, blurb, minimum, maximum, default_value, flags) bind(c)\r\ng;g_param_spec_uint64;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparamspecs.h;\"GParamSpec* g_param_spec_uint64 (const gchar *name, const gchar *nick, const gchar *blurb, guint64 minimum, guint64 maximum, guint64 default_value, GParamFlags flags);\";function g_param_spec_uint64(name, nick, blurb, minimum, maximum, default_value, flags) bind(c)\r\ng;g_param_spec_ulong;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparamspecs.h;\"GParamSpec* g_param_spec_ulong (const gchar *name, const gchar *nick, const gchar *blurb, gulong minimum, gulong maximum, gulong default_value, GParamFlags flags);\";function g_param_spec_ulong(name, nick, blurb, minimum, maximum, default_value, flags) bind(c)\r\ng;g_param_spec_unichar;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparamspecs.h;\"GParamSpec* g_param_spec_unichar (const gchar *name, const gchar *nick, const gchar *blurb, gunichar default_value, GParamFlags flags);\";function g_param_spec_unichar(name, nick, blurb, default_value, flags) bind(c)\r\ng;g_param_spec_unref;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparam.h;\"void g_param_spec_unref (GParamSpec *pspec);\";subroutine g_param_spec_unref(pspec) bind(c)\r\ng;g_param_spec_value_array;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparamspecs.h;\"GParamSpec* g_param_spec_value_array (const gchar *name, const gchar *nick, const gchar *blurb, GParamSpec *element_spec, GParamFlags flags);\";function g_param_spec_value_array(name, nick, blurb, element_spec, flags) bind(c)\r\ng;g_param_spec_variant;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparamspecs.h;\"GParamSpec* g_param_spec_variant (const gchar *name, const gchar *nick, const gchar *blurb, const GVariantType *type, GVariant *default_value, GParamFlags flags);\";function g_param_spec_variant(name, nick, blurb, type, default_value, flags) bind(c)\r\ng;g_param_type_register_static;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparam.h;\"GType g_param_type_register_static (const gchar *name, const GParamSpecTypeInfo *pspec_info);\";function g_param_type_register_static(name, pspec_info) bind(c)\r\ng;g_param_value_convert;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparam.h;\"gboolean g_param_value_convert (GParamSpec *pspec, const GValue *src_value, GValue *dest_value, gboolean strict_validation);\";function g_param_value_convert(pspec, src_value, dest_value, strict_validation) bind(c)\r\ng;g_param_value_defaults;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparam.h;\"gboolean g_param_value_defaults (GParamSpec *pspec, const GValue *value);\";function g_param_value_defaults(pspec, value) bind(c)\r\ng;g_param_value_is_valid;GOBJECT_AVAILABLE_IN_2_74;glib-auto.f90;/usr/include/glib-2.0/gobject/gparam.h;\"gboolean g_param_value_is_valid (GParamSpec *pspec, const GValue *value);\";function g_param_value_is_valid(pspec, value) bind(c)\r\ng;g_param_value_set_default;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparam.h;\"void g_param_value_set_default (GParamSpec *pspec, GValue *value);\";subroutine g_param_value_set_default(pspec, value) bind(c)\r\ng;g_param_value_validate;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparam.h;\"gboolean g_param_value_validate (GParamSpec *pspec, GValue *value);\";function g_param_value_validate(pspec, value) bind(c)\r\ng;g_param_values_cmp;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparam.h;\"gint g_param_values_cmp (GParamSpec *pspec, const GValue *value1, const GValue *value2);\";function g_param_values_cmp(pspec, value1, value2) bind(c)\r\ng;g_parse_debug_string;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gutils.h;\"guint g_parse_debug_string (const gchar *string, const GDebugKey *keys, guint nkeys);\";function g_parse_debug_string(string, keys, nkeys) bind(c)\r\ng;g_path_buf_clear;GLIB_AVAILABLE_IN_2_76;glib-auto.f90;/usr/include/glib-2.0/glib/gpathbuf.h;\"void g_path_buf_clear (GPathBuf *buf);\";subroutine g_path_buf_clear(buf) bind(c)\r\ng;g_path_buf_clear_to_path;GLIB_AVAILABLE_IN_2_76;glib-auto.f90;/usr/include/glib-2.0/glib/gpathbuf.h;\"char * g_path_buf_clear_to_path (GPathBuf *buf) ;\";function g_path_buf_clear_to_path(buf) bind(c)\r\ng;g_path_buf_copy;GLIB_AVAILABLE_IN_2_76;glib-auto.f90;/usr/include/glib-2.0/glib/gpathbuf.h;\"GPathBuf * g_path_buf_copy (GPathBuf *buf);\";function g_path_buf_copy(buf) bind(c)\r\ng;g_path_buf_equal;GLIB_AVAILABLE_IN_2_76;glib-auto.f90;/usr/include/glib-2.0/glib/gpathbuf.h;\"gboolean g_path_buf_equal (gconstpointer v1, gconstpointer v2);\";function g_path_buf_equal(v1, v2) bind(c)\r\ng;g_path_buf_free;GLIB_AVAILABLE_IN_2_76;glib-auto.f90;/usr/include/glib-2.0/glib/gpathbuf.h;\"void g_path_buf_free (GPathBuf *buf);\";subroutine g_path_buf_free(buf) bind(c)\r\ng;g_path_buf_free_to_path;GLIB_AVAILABLE_IN_2_76;glib-auto.f90;/usr/include/glib-2.0/glib/gpathbuf.h;\"char * g_path_buf_free_to_path (GPathBuf *buf) ;\";function g_path_buf_free_to_path(buf) bind(c)\r\ng;g_path_buf_init;GLIB_AVAILABLE_IN_2_76;glib-auto.f90;/usr/include/glib-2.0/glib/gpathbuf.h;\"GPathBuf * g_path_buf_init (GPathBuf *buf);\";function g_path_buf_init(buf) bind(c)\r\ng;g_path_buf_init_from_path;GLIB_AVAILABLE_IN_2_76;glib-auto.f90;/usr/include/glib-2.0/glib/gpathbuf.h;\"GPathBuf * g_path_buf_init_from_path (GPathBuf *buf, const char *path);\";function g_path_buf_init_from_path(buf, path) bind(c)\r\ng;g_path_buf_new;GLIB_AVAILABLE_IN_2_76;glib-auto.f90;/usr/include/glib-2.0/glib/gpathbuf.h;\"GPathBuf * g_path_buf_new (void);\";function g_path_buf_new() bind(c)\r\ng;g_path_buf_new_from_path;GLIB_AVAILABLE_IN_2_76;glib-auto.f90;/usr/include/glib-2.0/glib/gpathbuf.h;\"GPathBuf * g_path_buf_new_from_path (const char *path);\";function g_path_buf_new_from_path(path) bind(c)\r\ng;g_path_buf_pop;GLIB_AVAILABLE_IN_2_76;glib-auto.f90;/usr/include/glib-2.0/glib/gpathbuf.h;\"gboolean g_path_buf_pop (GPathBuf *buf);\";function g_path_buf_pop(buf) bind(c)\r\ng;g_path_buf_push;GLIB_AVAILABLE_IN_2_76;glib-auto.f90;/usr/include/glib-2.0/glib/gpathbuf.h;\"GPathBuf * g_path_buf_push (GPathBuf *buf, const char *path);\";function g_path_buf_push(buf, path) bind(c)\r\ng;g_path_buf_set_extension;GLIB_AVAILABLE_IN_2_76;glib-auto.f90;/usr/include/glib-2.0/glib/gpathbuf.h;\"gboolean g_path_buf_set_extension (GPathBuf *buf, const char *extension);\";function g_path_buf_set_extension(buf, extension) bind(c)\r\ng;g_path_buf_set_filename;GLIB_AVAILABLE_IN_2_76;glib-auto.f90;/usr/include/glib-2.0/glib/gpathbuf.h;\"gboolean g_path_buf_set_filename (GPathBuf *buf, const char *file_name);\";function g_path_buf_set_filename(buf, file_name) bind(c)\r\ng;g_path_buf_to_path;GLIB_AVAILABLE_IN_2_76;glib-auto.f90;/usr/include/glib-2.0/glib/gpathbuf.h;\"char * g_path_buf_to_path (GPathBuf *buf) ;\";function g_path_buf_to_path(buf) bind(c)\r\ng;g_path_get_basename;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gfileutils.h;\"gchar *g_path_get_basename (const gchar *file_name) ;\";function g_path_get_basename(file_name) bind(c)\r\ng;g_path_get_dirname;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gfileutils.h;\"gchar *g_path_get_dirname (const gchar *file_name) ;\";function g_path_get_dirname(file_name) bind(c)\r\ng;g_path_is_absolute;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gfileutils.h;\"gboolean g_path_is_absolute (const gchar *file_name);\";function g_path_is_absolute(file_name) bind(c)\r\ng;g_path_skip_root;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gfileutils.h;\"const gchar *g_path_skip_root (const gchar *file_name);\";function g_path_skip_root(file_name) bind(c)\r\ng;g_pattern_match;GLIB_DEPRECATED_IN_2_70_FOR (g_pattern_spec_match);glib-auto.f90;/usr/include/glib-2.0/glib/gpattern.h;\"gboolean g_pattern_match (GPatternSpec *pspec, guint string_length, const gchar *string, const gchar *string_reversed);\";function g_pattern_match(pspec, string_length, string, string_reversed) bind(c)\r\ng;g_pattern_match_simple;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gpattern.h;\"gboolean g_pattern_match_simple (const gchar *pattern, const gchar *string);\";function g_pattern_match_simple(pattern, string) bind(c)\r\ng;g_pattern_match_string;GLIB_DEPRECATED_IN_2_70_FOR (g_pattern_spec_match_string);glib-auto.f90;/usr/include/glib-2.0/glib/gpattern.h;\"gboolean g_pattern_match_string (GPatternSpec *pspec, const gchar *string);\";function g_pattern_match_string(pspec, string) bind(c)\r\ng;g_pattern_spec_copy;GLIB_AVAILABLE_IN_2_70;glib-auto.f90;/usr/include/glib-2.0/glib/gpattern.h;\"GPatternSpec *g_pattern_spec_copy (GPatternSpec *pspec);\";function g_pattern_spec_copy(pspec) bind(c)\r\ng;g_pattern_spec_equal;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gpattern.h;\"gboolean g_pattern_spec_equal (GPatternSpec *pspec1, GPatternSpec *pspec2);\";function g_pattern_spec_equal(pspec1, pspec2) bind(c)\r\ng;g_pattern_spec_free;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gpattern.h;\"void g_pattern_spec_free (GPatternSpec *pspec);\";subroutine g_pattern_spec_free(pspec) bind(c)\r\ng;g_pattern_spec_get_type;GOBJECT_AVAILABLE_IN_2_70;glib-auto.f90;/usr/include/glib-2.0/gobject/glib-types.h;\"GType g_pattern_spec_get_type (void) ;\";function g_pattern_spec_get_type() bind(c)\r\ng;g_pattern_spec_match;GLIB_AVAILABLE_IN_2_70;glib-auto.f90;/usr/include/glib-2.0/glib/gpattern.h;\"gboolean g_pattern_spec_match (GPatternSpec *pspec, gsize string_length, const gchar *string, const gchar *string_reversed);\";function g_pattern_spec_match(pspec, string_length, string, string_reversed) bind(c)\r\ng;g_pattern_spec_match_string;GLIB_AVAILABLE_IN_2_70;glib-auto.f90;/usr/include/glib-2.0/glib/gpattern.h;\"gboolean g_pattern_spec_match_string (GPatternSpec *pspec, const gchar *string);\";function g_pattern_spec_match_string(pspec, string) bind(c)\r\ng;g_pattern_spec_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gpattern.h;\"GPatternSpec* g_pattern_spec_new (const gchar *pattern);\";function g_pattern_spec_new(pattern) bind(c)\r\ng;g_permission_acquire;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gpermission.h;\"gboolean g_permission_acquire (GPermission *permission, GCancellable *cancellable, GError **error);\";function g_permission_acquire(permission, cancellable, error) bind(c)\r\ng;g_permission_acquire_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gpermission.h;\"void g_permission_acquire_async (GPermission *permission, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_permission_acquire_async(permission, cancellable, callback, user_data) bind(c)\r\ng;g_permission_acquire_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gpermission.h;\"gboolean g_permission_acquire_finish (GPermission *permission, GAsyncResult *result, GError **error);\";function g_permission_acquire_finish(permission, result, error) bind(c)\r\ng;g_permission_get_allowed;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gpermission.h;\"gboolean g_permission_get_allowed (GPermission *permission);\";function g_permission_get_allowed(permission) bind(c)\r\ng;g_permission_get_can_acquire;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gpermission.h;\"gboolean g_permission_get_can_acquire (GPermission *permission);\";function g_permission_get_can_acquire(permission) bind(c)\r\ng;g_permission_get_can_release;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gpermission.h;\"gboolean g_permission_get_can_release (GPermission *permission);\";function g_permission_get_can_release(permission) bind(c)\r\ng;g_permission_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gpermission.h;\"GType g_permission_get_type (void);\";function g_permission_get_type() bind(c)\r\ng;g_permission_impl_update;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gpermission.h;\"void g_permission_impl_update (GPermission *permission, gboolean allowed, gboolean can_acquire, gboolean can_release);\";subroutine g_permission_impl_update(permission, allowed, can_acquire, can_release) bind(c)\r\ng;g_permission_release;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gpermission.h;\"gboolean g_permission_release (GPermission *permission, GCancellable *cancellable, GError **error);\";function g_permission_release(permission, cancellable, error) bind(c)\r\ng;g_permission_release_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gpermission.h;\"void g_permission_release_async (GPermission *permission, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_permission_release_async(permission, cancellable, callback, user_data) bind(c)\r\ng;g_permission_release_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gpermission.h;\"gboolean g_permission_release_finish (GPermission *permission, GAsyncResult *result, GError **error);\";function g_permission_release_finish(permission, result, error) bind(c)\r\ng;g_pointer_bit_lock;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbitlock.h;\"void g_pointer_bit_lock (volatile void *address, gint lock_bit);\";subroutine g_pointer_bit_lock(address, lock_bit) bind(c)\r\ng;g_pointer_bit_lock_and_get;GLIB_AVAILABLE_IN_2_80;glib-auto.f90;/usr/include/glib-2.0/glib/gbitlock.h;\"void g_pointer_bit_lock_and_get (gpointer address, guint lock_bit, guintptr *out_ptr);\";subroutine g_pointer_bit_lock_and_get(address, lock_bit, out_ptr) bind(c)\r\ng;g_pointer_bit_trylock;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbitlock.h;\"gboolean g_pointer_bit_trylock (volatile void *address, gint lock_bit);\";function g_pointer_bit_trylock(address, lock_bit) bind(c)\r\ng;g_pointer_bit_unlock;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gbitlock.h;\"void g_pointer_bit_unlock (volatile void *address, gint lock_bit);\";subroutine g_pointer_bit_unlock(address, lock_bit) bind(c)\r\ng;g_pointer_type_register_static;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"GType g_pointer_type_register_static (const gchar *name);\";function g_pointer_type_register_static(name) bind(c)\r\ng;g_poll;;glib-auto.f90;/usr/include/glib-2.0/glib/gpoll.h;\"gint g_poll (GPollFD *fds, guint nfds, gint timeout);\";function g_poll(fds, nfds, timeout) bind(c)\r\ng;g_pollable_input_stream_can_poll;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gpollableinputstream.h;\"gboolean g_pollable_input_stream_can_poll (GPollableInputStream *stream);\";function g_pollable_input_stream_can_poll(stream) bind(c)\r\ng;g_pollable_input_stream_create_source;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gpollableinputstream.h;\"GSource *g_pollable_input_stream_create_source (GPollableInputStream *stream, GCancellable *cancellable);\";function g_pollable_input_stream_create_source(stream, cancellable) bind(c)\r\ng;g_pollable_input_stream_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gpollableinputstream.h;\"GType g_pollable_input_stream_get_type (void) ;\";function g_pollable_input_stream_get_type() bind(c)\r\ng;g_pollable_input_stream_is_readable;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gpollableinputstream.h;\"gboolean g_pollable_input_stream_is_readable (GPollableInputStream *stream);\";function g_pollable_input_stream_is_readable(stream) bind(c)\r\ng;g_pollable_input_stream_read_nonblocking;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gpollableinputstream.h;\"gssize g_pollable_input_stream_read_nonblocking (GPollableInputStream *stream, void *buffer, gsize count, GCancellable *cancellable, GError **error);\";function g_pollable_input_stream_read_nonblocking(stream, buffer, count, cancellable, error) bind(c)\r\ng;g_pollable_output_stream_can_poll;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gpollableoutputstream.h;\"gboolean g_pollable_output_stream_can_poll (GPollableOutputStream *stream);\";function g_pollable_output_stream_can_poll(stream) bind(c)\r\ng;g_pollable_output_stream_create_source;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gpollableoutputstream.h;\"GSource *g_pollable_output_stream_create_source (GPollableOutputStream *stream, GCancellable *cancellable);\";function g_pollable_output_stream_create_source(stream, cancellable) bind(c)\r\ng;g_pollable_output_stream_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gpollableoutputstream.h;\"GType g_pollable_output_stream_get_type (void) ;\";function g_pollable_output_stream_get_type() bind(c)\r\ng;g_pollable_output_stream_is_writable;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gpollableoutputstream.h;\"gboolean g_pollable_output_stream_is_writable (GPollableOutputStream *stream);\";function g_pollable_output_stream_is_writable(stream) bind(c)\r\ng;g_pollable_output_stream_write_nonblocking;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gpollableoutputstream.h;\"gssize g_pollable_output_stream_write_nonblocking (GPollableOutputStream *stream, const void *buffer, gsize count, GCancellable *cancellable, GError **error);\";function g_pollable_output_stream_write_nonblocking(stream, buffer, count, cancellable, error) bind(c)\r\ng;g_pollable_output_stream_writev_nonblocking;GIO_AVAILABLE_IN_2_60;glib-auto.f90;/usr/include/glib-2.0/gio/gpollableoutputstream.h;\"GPollableReturn g_pollable_output_stream_writev_nonblocking (GPollableOutputStream *stream, const GOutputVector *vectors, gsize n_vectors, gsize *bytes_written, GCancellable *cancellable, GError **error);\";function g_pollable_output_stream_writev_nonblocking(stream, vectors, n_vectors, bytes_written, cancellable, error) bind(c)\r\ng;g_pollable_source_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gpollableutils.h;\"GSource *g_pollable_source_new (GObject *pollable_stream);\";function g_pollable_source_new(pollable_stream) bind(c)\r\ng;g_pollable_source_new_full;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/gpollableutils.h;\"GSource *g_pollable_source_new_full (gpointer pollable_stream, GSource *child_source, GCancellable *cancellable);\";function g_pollable_source_new_full(pollable_stream, child_source, cancellable) bind(c)\r\ng;g_pollable_stream_read;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/gpollableutils.h;\"gssize g_pollable_stream_read (GInputStream *stream, void *buffer, gsize count, gboolean blocking, GCancellable *cancellable, GError **error);\";function g_pollable_stream_read(stream, buffer, count, blocking, cancellable, error) bind(c)\r\ng;g_pollable_stream_write;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/gpollableutils.h;\"gssize g_pollable_stream_write (GOutputStream *stream, const void *buffer, gsize count, gboolean blocking, GCancellable *cancellable, GError **error);\";function g_pollable_stream_write(stream, buffer, count, blocking, cancellable, error) bind(c)\r\ng;g_pollable_stream_write_all;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/gpollableutils.h;\"gboolean g_pollable_stream_write_all (GOutputStream *stream, const void *buffer, gsize count, gboolean blocking, gsize *bytes_written, GCancellable *cancellable, GError **error);\";function g_pollable_stream_write_all(stream, buffer, count, blocking, bytes_written, cancellable, error) bind(c)\r\ng;g_pollfd_get_type;GOBJECT_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gobject/glib-types.h;\"GType g_pollfd_get_type (void) ;\";function g_pollfd_get_type() bind(c)\r\ng;g_power_profile_monitor_dup_default;GIO_AVAILABLE_IN_2_70;glib-auto.f90;/usr/include/glib-2.0/gio/gpowerprofilemonitor.h;\"GPowerProfileMonitor *g_power_profile_monitor_dup_default (void);\";function g_power_profile_monitor_dup_default() bind(c)\r\ng;g_power_profile_monitor_get_power_saver_enabled;GIO_AVAILABLE_IN_2_70;glib-auto.f90;/usr/include/glib-2.0/gio/gpowerprofilemonitor.h;\"gboolean g_power_profile_monitor_get_power_saver_enabled (GPowerProfileMonitor *monitor);\";function g_power_profile_monitor_get_power_saver_enabled(monitor) bind(c)\r\ng;g_prefix_error_literal;GLIB_AVAILABLE_IN_2_70;glib-auto.f90;/usr/include/glib-2.0/glib/gerror.h;\"void g_prefix_error_literal (GError **err, const gchar *prefix);\";subroutine g_prefix_error_literal(err, prefix) bind(c)\r\ng;g_printf_string_upper_bound;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmessages.h;\"gsize g_printf_string_upper_bound (const gchar* format, va_list args) ;\";function g_printf_string_upper_bound(format, args) bind(c)\r\ng;g_private_get;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"gpointer g_private_get (GPrivate *key);\";function g_private_get(key) bind(c)\r\ng;g_private_new;GLIB_DEPRECATED_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gthread.h;\"GPrivate * g_private_new (GDestroyNotify notify);\";function g_private_new(notify) bind(c)\r\ng;g_private_replace;GLIB_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"void g_private_replace (GPrivate *key, gpointer value);\";subroutine g_private_replace(key, value) bind(c)\r\ng;g_private_set;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"void g_private_set (GPrivate *key, gpointer value);\";subroutine g_private_set(key, value) bind(c)\r\ng;g_propagate_error;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gerror.h;\"void g_propagate_error (GError **dest, GError *src);\";subroutine g_propagate_error(dest, src) bind(c)\r\ng;g_property_action_get_type;GIO_AVAILABLE_IN_2_38;glib-auto.f90;/usr/include/glib-2.0/gio/gpropertyaction.h;\"GType g_property_action_get_type (void) ;\";function g_property_action_get_type() bind(c)\r\ng;g_property_action_new;GIO_AVAILABLE_IN_2_38;glib-auto.f90;/usr/include/glib-2.0/gio/gpropertyaction.h;\"GPropertyAction * g_property_action_new (const gchar *name, gpointer object, const gchar *property_name);\";function g_property_action_new(name, object, property_name) bind(c)\r\ng;g_proxy_address_enumerator_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gproxyaddressenumerator.h;\"GType g_proxy_address_enumerator_get_type (void) ;\";function g_proxy_address_enumerator_get_type() bind(c)\r\ng;g_proxy_address_get_destination_hostname;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gproxyaddress.h;\"const gchar *g_proxy_address_get_destination_hostname (GProxyAddress *proxy);\";function g_proxy_address_get_destination_hostname(proxy) bind(c)\r\ng;g_proxy_address_get_destination_port;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gproxyaddress.h;\"guint16 g_proxy_address_get_destination_port (GProxyAddress *proxy);\";function g_proxy_address_get_destination_port(proxy) bind(c)\r\ng;g_proxy_address_get_destination_protocol;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/gproxyaddress.h;\"const gchar *g_proxy_address_get_destination_protocol (GProxyAddress *proxy);\";function g_proxy_address_get_destination_protocol(proxy) bind(c)\r\ng;g_proxy_address_get_password;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gproxyaddress.h;\"const gchar *g_proxy_address_get_password (GProxyAddress *proxy);\";function g_proxy_address_get_password(proxy) bind(c)\r\ng;g_proxy_address_get_protocol;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gproxyaddress.h;\"const gchar *g_proxy_address_get_protocol (GProxyAddress *proxy);\";function g_proxy_address_get_protocol(proxy) bind(c)\r\ng;g_proxy_address_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gproxyaddress.h;\"GType g_proxy_address_get_type (void) ;\";function g_proxy_address_get_type() bind(c)\r\ng;g_proxy_address_get_uri;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/gproxyaddress.h;\"const gchar *g_proxy_address_get_uri (GProxyAddress *proxy);\";function g_proxy_address_get_uri(proxy) bind(c)\r\ng;g_proxy_address_get_username;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gproxyaddress.h;\"const gchar *g_proxy_address_get_username (GProxyAddress *proxy);\";function g_proxy_address_get_username(proxy) bind(c)\r\ng;g_proxy_address_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gproxyaddress.h;\"GSocketAddress *g_proxy_address_new (GInetAddress *inetaddr, guint16 port, const gchar *protocol, const gchar *dest_hostname, guint16 dest_port, const gchar *username, const gchar *password);\";function g_proxy_address_new(inetaddr, port, protocol, dest_hostname, dest_port, username, password) bind(c)\r\ng;g_proxy_connect;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gproxy.h;\"GIOStream *g_proxy_connect (GProxy *proxy, GIOStream *connection, GProxyAddress *proxy_address, GCancellable *cancellable, GError **error);\";function g_proxy_connect(proxy, connection, proxy_address, cancellable, error) bind(c)\r\ng;g_proxy_connect_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gproxy.h;\"void g_proxy_connect_async (GProxy *proxy, GIOStream *connection, GProxyAddress *proxy_address, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_proxy_connect_async(proxy, connection, proxy_address, cancellable, callback, user_data) bind(c)\r\ng;g_proxy_connect_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gproxy.h;\"GIOStream *g_proxy_connect_finish (GProxy *proxy, GAsyncResult *result, GError **error);\";function g_proxy_connect_finish(proxy, result, error) bind(c)\r\ng;g_proxy_get_default_for_protocol;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gproxy.h;\"GProxy *g_proxy_get_default_for_protocol (const gchar *protocol);\";function g_proxy_get_default_for_protocol(protocol) bind(c)\r\ng;g_proxy_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gproxy.h;\"GType g_proxy_get_type (void) ;\";function g_proxy_get_type() bind(c)\r\ng;g_proxy_resolver_get_default;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gproxyresolver.h;\"GProxyResolver *g_proxy_resolver_get_default (void);\";function g_proxy_resolver_get_default() bind(c)\r\ng;g_proxy_resolver_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gproxyresolver.h;\"GType g_proxy_resolver_get_type (void) ;\";function g_proxy_resolver_get_type() bind(c)\r\ng;g_proxy_resolver_is_supported;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gproxyresolver.h;\"gboolean g_proxy_resolver_is_supported (GProxyResolver *resolver);\";function g_proxy_resolver_is_supported(resolver) bind(c)\r\ng;g_proxy_resolver_lookup;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gproxyresolver.h;\"gchar **g_proxy_resolver_lookup (GProxyResolver *resolver, const gchar *uri, GCancellable *cancellable, GError **error);\";function g_proxy_resolver_lookup(resolver, uri, cancellable, error) bind(c)\r\ng;g_proxy_resolver_lookup_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gproxyresolver.h;\"void g_proxy_resolver_lookup_async (GProxyResolver *resolver, const gchar *uri, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_proxy_resolver_lookup_async(resolver, uri, cancellable, callback, user_data) bind(c)\r\ng;g_proxy_resolver_lookup_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gproxyresolver.h;\"gchar **g_proxy_resolver_lookup_finish (GProxyResolver *resolver, GAsyncResult *result, GError **error);\";function g_proxy_resolver_lookup_finish(resolver, result, error) bind(c)\r\ng;g_proxy_supports_hostname;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gproxy.h;\"gboolean g_proxy_supports_hostname (GProxy *proxy);\";function g_proxy_supports_hostname(proxy) bind(c)\r\ng;g_ptr_array_add;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"void g_ptr_array_add (GPtrArray *array, gpointer data);\";subroutine g_ptr_array_add(array, data) bind(c)\r\ng;g_ptr_array_copy;GLIB_AVAILABLE_IN_2_62;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"GPtrArray *g_ptr_array_copy (GPtrArray *array, GCopyFunc func, gpointer user_data);\";function g_ptr_array_copy(array, func, user_data) bind(c)\r\ng;g_ptr_array_extend;GLIB_AVAILABLE_IN_2_62;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"void g_ptr_array_extend (GPtrArray *array_to_extend, GPtrArray *array, GCopyFunc func, gpointer user_data);\";subroutine g_ptr_array_extend(array_to_extend, array, func, user_data) bind(c)\r\ng;g_ptr_array_extend_and_steal;GLIB_AVAILABLE_IN_2_62;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"void g_ptr_array_extend_and_steal (GPtrArray *array_to_extend, GPtrArray *array);\";subroutine g_ptr_array_extend_and_steal(array_to_extend, array) bind(c)\r\ng;g_ptr_array_find;GLIB_AVAILABLE_IN_2_54;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"gboolean g_ptr_array_find (GPtrArray *haystack, gconstpointer needle, guint *index_);\";function g_ptr_array_find(haystack, needle, index_) bind(c)\r\ng;g_ptr_array_find_with_equal_func;GLIB_AVAILABLE_IN_2_54;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"gboolean g_ptr_array_find_with_equal_func (GPtrArray *haystack, gconstpointer needle, GEqualFunc equal_func, guint *index_);\";function g_ptr_array_find_with_equal_func(haystack, needle, equal_func, index_) bind(c)\r\ng;g_ptr_array_foreach;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"void g_ptr_array_foreach (GPtrArray *array, GFunc func, gpointer user_data);\";subroutine g_ptr_array_foreach(array, func, user_data) bind(c)\r\ng;g_ptr_array_free;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"gpointer* g_ptr_array_free (GPtrArray *array, gboolean free_segment);\";function g_ptr_array_free(array, free_segment) bind(c)\r\ng;g_ptr_array_get_type;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/glib-types.h;\"GType g_ptr_array_get_type (void) ;\";function g_ptr_array_get_type() bind(c)\r\ng;g_ptr_array_insert;GLIB_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"void g_ptr_array_insert (GPtrArray *array, gint index_, gpointer data);\";subroutine g_ptr_array_insert(array, index_, data) bind(c)\r\ng;g_ptr_array_is_null_terminated;GLIB_AVAILABLE_IN_2_74;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"gboolean g_ptr_array_is_null_terminated (GPtrArray *array);\";function g_ptr_array_is_null_terminated(array) bind(c)\r\ng;g_ptr_array_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"GPtrArray* g_ptr_array_new (void);\";function g_ptr_array_new() bind(c)\r\ng;g_ptr_array_new_from_array;GLIB_AVAILABLE_IN_2_76;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"GPtrArray* g_ptr_array_new_from_array (gpointer *data, gsize len, GCopyFunc copy_func, gpointer copy_func_user_data, GDestroyNotify element_free_func);\";function g_ptr_array_new_from_array(data, len, copy_func, copy_func_user_data, element_free_func) bind(c)\r\ng;g_ptr_array_new_from_null_terminated_array;GLIB_AVAILABLE_IN_2_76;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"GPtrArray* g_ptr_array_new_from_null_terminated_array (gpointer *data, GCopyFunc copy_func, gpointer copy_func_user_data, GDestroyNotify element_free_func);\";function g_ptr_array_new_from_null_terminated_array(data, copy_func, copy_func_user_data, element_free_func) bind(c)\r\ng;g_ptr_array_new_full;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"GPtrArray* g_ptr_array_new_full (guint reserved_size, GDestroyNotify element_free_func);\";function g_ptr_array_new_full(reserved_size, element_free_func) bind(c)\r\ng;g_ptr_array_new_null_terminated;GLIB_AVAILABLE_IN_2_74;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"GPtrArray* g_ptr_array_new_null_terminated (guint reserved_size, GDestroyNotify element_free_func, gboolean null_terminated);\";function g_ptr_array_new_null_terminated(reserved_size, element_free_func, null_terminated) bind(c)\r\ng;g_ptr_array_new_take;GLIB_AVAILABLE_IN_2_76;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"GPtrArray* g_ptr_array_new_take (gpointer *data, gsize len, GDestroyNotify element_free_func);\";function g_ptr_array_new_take(data, len, element_free_func) bind(c)\r\ng;g_ptr_array_new_take_null_terminated;GLIB_AVAILABLE_IN_2_76;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"GPtrArray* g_ptr_array_new_take_null_terminated (gpointer *data, GDestroyNotify element_free_func);\";function g_ptr_array_new_take_null_terminated(data, element_free_func) bind(c)\r\ng;g_ptr_array_new_with_free_func;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"GPtrArray* g_ptr_array_new_with_free_func (GDestroyNotify element_free_func);\";function g_ptr_array_new_with_free_func(element_free_func) bind(c)\r\ng;g_ptr_array_ref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"GPtrArray* g_ptr_array_ref (GPtrArray *array);\";function g_ptr_array_ref(array) bind(c)\r\ng;g_ptr_array_remove;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"gboolean g_ptr_array_remove (GPtrArray *array, gpointer data);\";function g_ptr_array_remove(array, data) bind(c)\r\ng;g_ptr_array_remove_fast;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"gboolean g_ptr_array_remove_fast (GPtrArray *array, gpointer data);\";function g_ptr_array_remove_fast(array, data) bind(c)\r\ng;g_ptr_array_remove_index;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"gpointer g_ptr_array_remove_index (GPtrArray *array, guint index_);\";function g_ptr_array_remove_index(array, index_) bind(c)\r\ng;g_ptr_array_remove_index_fast;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"gpointer g_ptr_array_remove_index_fast (GPtrArray *array, guint index_);\";function g_ptr_array_remove_index_fast(array, index_) bind(c)\r\ng;g_ptr_array_remove_range;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"GPtrArray *g_ptr_array_remove_range (GPtrArray *array, guint index_, guint length);\";function g_ptr_array_remove_range(array, index_, length) bind(c)\r\ng;g_ptr_array_set_free_func;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"void g_ptr_array_set_free_func (GPtrArray *array, GDestroyNotify element_free_func);\";subroutine g_ptr_array_set_free_func(array, element_free_func) bind(c)\r\ng;g_ptr_array_set_size;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"void g_ptr_array_set_size (GPtrArray *array, gint length);\";subroutine g_ptr_array_set_size(array, length) bind(c)\r\ng;g_ptr_array_sized_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"GPtrArray* g_ptr_array_sized_new (guint reserved_size);\";function g_ptr_array_sized_new(reserved_size) bind(c)\r\ng;g_ptr_array_sort;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"void g_ptr_array_sort (GPtrArray *array, GCompareFunc compare_func);\";subroutine g_ptr_array_sort(array, compare_func) bind(c)\r\ng;g_ptr_array_sort_values;GLIB_AVAILABLE_IN_2_76;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"void g_ptr_array_sort_values (GPtrArray *array, GCompareFunc compare_func);\";subroutine g_ptr_array_sort_values(array, compare_func) bind(c)\r\ng;g_ptr_array_sort_values_with_data;GLIB_AVAILABLE_IN_2_76;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"void g_ptr_array_sort_values_with_data (GPtrArray *array, GCompareDataFunc compare_func, gpointer user_data);\";subroutine g_ptr_array_sort_values_with_data(array, compare_func, user_data) bind(c)\r\ng;g_ptr_array_sort_with_data;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"void g_ptr_array_sort_with_data (GPtrArray *array, GCompareDataFunc compare_func, gpointer user_data);\";subroutine g_ptr_array_sort_with_data(array, compare_func, user_data) bind(c)\r\ng;g_ptr_array_steal;GLIB_AVAILABLE_IN_2_64;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"gpointer* g_ptr_array_steal (GPtrArray *array, gsize *len);\";function g_ptr_array_steal(array, len) bind(c)\r\ng;g_ptr_array_steal_index;GLIB_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"gpointer g_ptr_array_steal_index (GPtrArray *array, guint index_);\";function g_ptr_array_steal_index(array, index_) bind(c)\r\ng;g_ptr_array_steal_index_fast;GLIB_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"gpointer g_ptr_array_steal_index_fast (GPtrArray *array, guint index_);\";function g_ptr_array_steal_index_fast(array, index_) bind(c)\r\ng;g_ptr_array_unref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/garray.h;\"void g_ptr_array_unref (GPtrArray *array);\";subroutine g_ptr_array_unref(array) bind(c)\r\ng;g_qsort_with_data;GLIB_DEPRECATED_IN_2_82_FOR(g_sort_array);glib-auto.f90;/usr/include/glib-2.0/glib/gqsort.h;\"void g_qsort_with_data (gconstpointer pbase, gint total_elems, gsize size, GCompareDataFunc compare_func, gpointer user_data);\";subroutine g_qsort_with_data(pbase, total_elems, size, compare_func, user_data) bind(c)\r\ng;g_quark_from_static_string;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gquark.h;\"GQuark g_quark_from_static_string (const gchar *string);\";function g_quark_from_static_string(string) bind(c)\r\ng;g_quark_from_string;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gquark.h;\"GQuark g_quark_from_string (const gchar *string);\";function g_quark_from_string(string) bind(c)\r\ng;g_quark_to_string;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gquark.h;\"const gchar * g_quark_to_string (GQuark quark) ;\";function g_quark_to_string(quark) bind(c)\r\ng;g_quark_try_string;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gquark.h;\"GQuark g_quark_try_string (const gchar *string);\";function g_quark_try_string(string) bind(c)\r\ng;g_queue_clear;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"void g_queue_clear (GQueue *queue);\";subroutine g_queue_clear(queue) bind(c)\r\ng;g_queue_clear_full;GLIB_AVAILABLE_IN_2_60;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"void g_queue_clear_full (GQueue *queue, GDestroyNotify free_func);\";subroutine g_queue_clear_full(queue, free_func) bind(c)\r\ng;g_queue_copy;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"GQueue * g_queue_copy (GQueue *queue);\";function g_queue_copy(queue) bind(c)\r\ng;g_queue_delete_link;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"void g_queue_delete_link (GQueue *queue, GList *link_);\";subroutine g_queue_delete_link(queue, link_) bind(c)\r\ng;g_queue_find;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"GList * g_queue_find (GQueue *queue, gconstpointer data);\";function g_queue_find(queue, data) bind(c)\r\ng;g_queue_find_custom;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"GList * g_queue_find_custom (GQueue *queue, gconstpointer data, GCompareFunc func);\";function g_queue_find_custom(queue, data, func) bind(c)\r\ng;g_queue_foreach;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"void g_queue_foreach (GQueue *queue, GFunc func, gpointer user_data);\";subroutine g_queue_foreach(queue, func, user_data) bind(c)\r\ng;g_queue_free;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"void g_queue_free (GQueue *queue);\";subroutine g_queue_free(queue) bind(c)\r\ng;g_queue_free_full;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"void g_queue_free_full (GQueue *queue, GDestroyNotify free_func);\";subroutine g_queue_free_full(queue, free_func) bind(c)\r\ng;g_queue_get_length;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"guint g_queue_get_length (GQueue *queue);\";function g_queue_get_length(queue) bind(c)\r\ng;g_queue_index;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"gint g_queue_index (GQueue *queue, gconstpointer data);\";function g_queue_index(queue, data) bind(c)\r\ng;g_queue_init;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"void g_queue_init (GQueue *queue);\";subroutine g_queue_init(queue) bind(c)\r\ng;g_queue_insert_after;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"void g_queue_insert_after (GQueue *queue, GList *sibling, gpointer data);\";subroutine g_queue_insert_after(queue, sibling, data) bind(c)\r\ng;g_queue_insert_after_link;GLIB_AVAILABLE_IN_2_62;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"void g_queue_insert_after_link (GQueue *queue, GList *sibling, GList *link_);\";subroutine g_queue_insert_after_link(queue, sibling, link_) bind(c)\r\ng;g_queue_insert_before;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"void g_queue_insert_before (GQueue *queue, GList *sibling, gpointer data);\";subroutine g_queue_insert_before(queue, sibling, data) bind(c)\r\ng;g_queue_insert_before_link;GLIB_AVAILABLE_IN_2_62;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"void g_queue_insert_before_link (GQueue *queue, GList *sibling, GList *link_);\";subroutine g_queue_insert_before_link(queue, sibling, link_) bind(c)\r\ng;g_queue_insert_sorted;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"void g_queue_insert_sorted (GQueue *queue, gpointer data, GCompareDataFunc func, gpointer user_data);\";subroutine g_queue_insert_sorted(queue, data, func, user_data) bind(c)\r\ng;g_queue_is_empty;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"gboolean g_queue_is_empty (GQueue *queue);\";function g_queue_is_empty(queue) bind(c)\r\ng;g_queue_link_index;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"gint g_queue_link_index (GQueue *queue, GList *link_);\";function g_queue_link_index(queue, link_) bind(c)\r\ng;g_queue_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"GQueue* g_queue_new (void);\";function g_queue_new() bind(c)\r\ng;g_queue_peek_head;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"gpointer g_queue_peek_head (GQueue *queue);\";function g_queue_peek_head(queue) bind(c)\r\ng;g_queue_peek_head_link;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"GList* g_queue_peek_head_link (GQueue *queue);\";function g_queue_peek_head_link(queue) bind(c)\r\ng;g_queue_peek_nth;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"gpointer g_queue_peek_nth (GQueue *queue, guint n);\";function g_queue_peek_nth(queue, n) bind(c)\r\ng;g_queue_peek_nth_link;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"GList* g_queue_peek_nth_link (GQueue *queue, guint n);\";function g_queue_peek_nth_link(queue, n) bind(c)\r\ng;g_queue_peek_tail;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"gpointer g_queue_peek_tail (GQueue *queue);\";function g_queue_peek_tail(queue) bind(c)\r\ng;g_queue_peek_tail_link;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"GList* g_queue_peek_tail_link (GQueue *queue);\";function g_queue_peek_tail_link(queue) bind(c)\r\ng;g_queue_pop_head;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"gpointer g_queue_pop_head (GQueue *queue);\";function g_queue_pop_head(queue) bind(c)\r\ng;g_queue_pop_head_link;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"GList* g_queue_pop_head_link (GQueue *queue);\";function g_queue_pop_head_link(queue) bind(c)\r\ng;g_queue_pop_nth;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"gpointer g_queue_pop_nth (GQueue *queue, guint n);\";function g_queue_pop_nth(queue, n) bind(c)\r\ng;g_queue_pop_nth_link;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"GList* g_queue_pop_nth_link (GQueue *queue, guint n);\";function g_queue_pop_nth_link(queue, n) bind(c)\r\ng;g_queue_pop_tail;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"gpointer g_queue_pop_tail (GQueue *queue);\";function g_queue_pop_tail(queue) bind(c)\r\ng;g_queue_pop_tail_link;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"GList* g_queue_pop_tail_link (GQueue *queue);\";function g_queue_pop_tail_link(queue) bind(c)\r\ng;g_queue_push_head;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"void g_queue_push_head (GQueue *queue, gpointer data);\";subroutine g_queue_push_head(queue, data) bind(c)\r\ng;g_queue_push_head_link;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"void g_queue_push_head_link (GQueue *queue, GList *link_);\";subroutine g_queue_push_head_link(queue, link_) bind(c)\r\ng;g_queue_push_nth;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"void g_queue_push_nth (GQueue *queue, gpointer data, gint n);\";subroutine g_queue_push_nth(queue, data, n) bind(c)\r\ng;g_queue_push_nth_link;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"void g_queue_push_nth_link (GQueue *queue, gint n, GList *link_);\";subroutine g_queue_push_nth_link(queue, n, link_) bind(c)\r\ng;g_queue_push_tail;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"void g_queue_push_tail (GQueue *queue, gpointer data);\";subroutine g_queue_push_tail(queue, data) bind(c)\r\ng;g_queue_push_tail_link;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"void g_queue_push_tail_link (GQueue *queue, GList *link_);\";subroutine g_queue_push_tail_link(queue, link_) bind(c)\r\ng;g_queue_remove;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"gboolean g_queue_remove (GQueue *queue, gconstpointer data);\";function g_queue_remove(queue, data) bind(c)\r\ng;g_queue_remove_all;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"guint g_queue_remove_all (GQueue *queue, gconstpointer data);\";function g_queue_remove_all(queue, data) bind(c)\r\ng;g_queue_reverse;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"void g_queue_reverse (GQueue *queue);\";subroutine g_queue_reverse(queue) bind(c)\r\ng;g_queue_sort;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"void g_queue_sort (GQueue *queue, GCompareDataFunc compare_func, gpointer user_data);\";subroutine g_queue_sort(queue, compare_func, user_data) bind(c)\r\ng;g_queue_unlink;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gqueue.h;\"void g_queue_unlink (GQueue *queue, GList *link_);\";subroutine g_queue_unlink(queue, link_) bind(c)\r\ng;g_rand_copy;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/grand.h;\"GRand* g_rand_copy (GRand *rand_);\";function g_rand_copy(rand_) bind(c)\r\ng;g_rand_double;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/grand.h;\"gdouble g_rand_double (GRand *rand_);\";function g_rand_double(rand_) bind(c)\r\ng;g_rand_double_range;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/grand.h;\"gdouble g_rand_double_range (GRand *rand_, gdouble begin, gdouble end);\";function g_rand_double_range(rand_, begin, end) bind(c)\r\ng;g_rand_free;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/grand.h;\"void g_rand_free (GRand *rand_);\";subroutine g_rand_free(rand_) bind(c)\r\ng;g_rand_get_type;GOBJECT_AVAILABLE_IN_2_80;glib-auto.f90;/usr/include/glib-2.0/gobject/glib-types.h;\"GType g_rand_get_type (void) ;\";function g_rand_get_type() bind(c)\r\ng;g_rand_int;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/grand.h;\"guint32 g_rand_int (GRand *rand_);\";function g_rand_int(rand_) bind(c)\r\ng;g_rand_int_range;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/grand.h;\"gint32 g_rand_int_range (GRand *rand_, gint32 begin, gint32 end);\";function g_rand_int_range(rand_, begin, end) bind(c)\r\ng;g_rand_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/grand.h;\"GRand* g_rand_new (void);\";function g_rand_new() bind(c)\r\ng;g_rand_new_with_seed;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/grand.h;\"GRand* g_rand_new_with_seed (guint32 seed);\";function g_rand_new_with_seed(seed) bind(c)\r\ng;g_rand_new_with_seed_array;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/grand.h;\"GRand* g_rand_new_with_seed_array (const guint32 *seed, guint seed_length);\";function g_rand_new_with_seed_array(seed, seed_length) bind(c)\r\ng;g_rand_set_seed;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/grand.h;\"void g_rand_set_seed (GRand *rand_, guint32 seed);\";subroutine g_rand_set_seed(rand_, seed) bind(c)\r\ng;g_rand_set_seed_array;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/grand.h;\"void g_rand_set_seed_array (GRand *rand_, const guint32 *seed, guint seed_length);\";subroutine g_rand_set_seed_array(rand_, seed, seed_length) bind(c)\r\ng;g_random_double;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/grand.h;\"gdouble g_random_double (void);\";function g_random_double() bind(c)\r\ng;g_random_double_range;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/grand.h;\"gdouble g_random_double_range (gdouble begin, gdouble end);\";function g_random_double_range(begin, end) bind(c)\r\ng;g_random_int;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/grand.h;\"guint32 g_random_int (void);\";function g_random_int() bind(c)\r\ng;g_random_int_range;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/grand.h;\"gint32 g_random_int_range (gint32 begin, gint32 end);\";function g_random_int_range(begin, end) bind(c)\r\ng;g_random_set_seed;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/grand.h;\"void g_random_set_seed (guint32 seed);\";subroutine g_random_set_seed(seed) bind(c)\r\ng;g_rc_box_acquire;GLIB_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/glib/grcbox.h;\"gpointer g_rc_box_acquire (gpointer mem_block);\";function g_rc_box_acquire(mem_block) bind(c)\r\ng;g_rc_box_alloc;GLIB_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/glib/grcbox.h;\"gpointer g_rc_box_alloc (gsize block_size) ;\";function g_rc_box_alloc(block_size) bind(c)\r\ng;g_rc_box_alloc0;GLIB_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/glib/grcbox.h;\"gpointer g_rc_box_alloc0 (gsize block_size) ;\";function g_rc_box_alloc0(block_size) bind(c)\r\ng;g_rc_box_dup;GLIB_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/glib/grcbox.h;\"gpointer g_rc_box_dup (gsize block_size, gconstpointer mem_block) ;\";function g_rc_box_dup(block_size, mem_block) bind(c)\r\ng;g_rc_box_get_size;GLIB_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/glib/grcbox.h;\"gsize g_rc_box_get_size (gpointer mem_block);\";function g_rc_box_get_size(mem_block) bind(c)\r\ng;g_rc_box_release;GLIB_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/glib/grcbox.h;\"void g_rc_box_release (gpointer mem_block);\";subroutine g_rc_box_release(mem_block) bind(c)\r\ng;g_rc_box_release_full;GLIB_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/glib/grcbox.h;\"void g_rc_box_release_full (gpointer mem_block, GDestroyNotify clear_func);\";subroutine g_rc_box_release_full(mem_block, clear_func) bind(c)\r\ng;g_realloc;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmem.h;\"gpointer g_realloc (gpointer mem, gsize n_bytes) ;\";function g_realloc(mem, n_bytes) bind(c)\r\ng;g_realloc_n;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmem.h;\"gpointer g_realloc_n (gpointer mem, gsize n_blocks, gsize n_block_bytes) ;\";function g_realloc_n(mem, n_blocks, n_block_bytes) bind(c)\r\ng;g_rec_mutex_clear;GLIB_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"void g_rec_mutex_clear (GRecMutex *rec_mutex);\";subroutine g_rec_mutex_clear(rec_mutex) bind(c)\r\ng;g_rec_mutex_init;GLIB_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"void g_rec_mutex_init (GRecMutex *rec_mutex);\";subroutine g_rec_mutex_init(rec_mutex) bind(c)\r\ng;g_rec_mutex_lock;GLIB_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"void g_rec_mutex_lock (GRecMutex *rec_mutex);\";subroutine g_rec_mutex_lock(rec_mutex) bind(c)\r\ng;g_rec_mutex_trylock;GLIB_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"gboolean g_rec_mutex_trylock (GRecMutex *rec_mutex);\";function g_rec_mutex_trylock(rec_mutex) bind(c)\r\ng;g_rec_mutex_unlock;GLIB_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"void g_rec_mutex_unlock (GRecMutex *rec_mutex);\";subroutine g_rec_mutex_unlock(rec_mutex) bind(c)\r\ng;g_ref_count_compare;GLIB_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/glib/grefcount.h;\"gboolean g_ref_count_compare (grefcount *rc, gint val);\";function g_ref_count_compare(rc, val) bind(c)\r\ng;g_ref_count_dec;GLIB_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/glib/grefcount.h;\"gboolean g_ref_count_dec (grefcount *rc);\";function g_ref_count_dec(rc) bind(c)\r\ng;g_ref_count_inc;GLIB_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/glib/grefcount.h;\"void g_ref_count_inc (grefcount *rc);\";subroutine g_ref_count_inc(rc) bind(c)\r\ng;g_ref_count_init;GLIB_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/glib/grefcount.h;\"void g_ref_count_init (grefcount *rc);\";subroutine g_ref_count_init(rc) bind(c)\r\ng;g_ref_string_acquire;GLIB_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/glib/grefstring.h;\"char * g_ref_string_acquire (char *str);\";function g_ref_string_acquire(str) bind(c)\r\ng;g_ref_string_equal;GLIB_AVAILABLE_IN_2_84;glib-auto.f90;/usr/include/glib-2.0/glib/grefstring.h;\"gboolean g_ref_string_equal (const char *str1, const char *str2);\";function g_ref_string_equal(str1, str2) bind(c)\r\ng;g_ref_string_length;GLIB_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/glib/grefstring.h;\"gsize g_ref_string_length (char *str);\";function g_ref_string_length(str) bind(c)\r\ng;g_ref_string_new;GLIB_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/glib/grefstring.h;\"char * g_ref_string_new (const char *str);\";function g_ref_string_new(str) bind(c)\r\ng;g_ref_string_new_intern;GLIB_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/glib/grefstring.h;\"char * g_ref_string_new_intern (const char *str);\";function g_ref_string_new_intern(str) bind(c)\r\ng;g_ref_string_new_len;GLIB_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/glib/grefstring.h;\"char * g_ref_string_new_len (const char *str, gssize len);\";function g_ref_string_new_len(str, len) bind(c)\r\ng;g_ref_string_release;GLIB_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/glib/grefstring.h;\"void g_ref_string_release (char *str);\";subroutine g_ref_string_release(str) bind(c)\r\ng;g_regex_check_replacement;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"gboolean g_regex_check_replacement (const gchar *replacement, gboolean *has_references, GError **error);\";function g_regex_check_replacement(replacement, has_references, error) bind(c)\r\ng;g_regex_error_quark;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"GQuark g_regex_error_quark (void);\";function g_regex_error_quark() bind(c)\r\ng;g_regex_escape_nul;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"gchar *g_regex_escape_nul (const gchar *string, gint length);\";function g_regex_escape_nul(string, length) bind(c)\r\ng;g_regex_escape_string;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"gchar *g_regex_escape_string (const gchar *string, gint length);\";function g_regex_escape_string(string, length) bind(c)\r\ng;g_regex_get_capture_count;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"gint g_regex_get_capture_count (const GRegex *regex);\";function g_regex_get_capture_count(regex) bind(c)\r\ng;g_regex_get_compile_flags;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"GRegexCompileFlags g_regex_get_compile_flags (const GRegex *regex);\";function g_regex_get_compile_flags(regex) bind(c)\r\ng;g_regex_get_has_cr_or_lf;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"gboolean g_regex_get_has_cr_or_lf (const GRegex *regex);\";function g_regex_get_has_cr_or_lf(regex) bind(c)\r\ng;g_regex_get_match_flags;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"GRegexMatchFlags g_regex_get_match_flags (const GRegex *regex);\";function g_regex_get_match_flags(regex) bind(c)\r\ng;g_regex_get_max_backref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"gint g_regex_get_max_backref (const GRegex *regex);\";function g_regex_get_max_backref(regex) bind(c)\r\ng;g_regex_get_max_lookbehind;GLIB_AVAILABLE_IN_2_38;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"gint g_regex_get_max_lookbehind (const GRegex *regex);\";function g_regex_get_max_lookbehind(regex) bind(c)\r\ng;g_regex_get_pattern;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"const gchar *g_regex_get_pattern (const GRegex *regex);\";function g_regex_get_pattern(regex) bind(c)\r\ng;g_regex_get_string_number;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"gint g_regex_get_string_number (const GRegex *regex, const gchar *name);\";function g_regex_get_string_number(regex, name) bind(c)\r\ng;g_regex_get_type;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/glib-types.h;\"GType g_regex_get_type (void) ;\";function g_regex_get_type() bind(c)\r\ng;g_regex_match;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"gboolean g_regex_match (const GRegex *regex, const gchar *string, GRegexMatchFlags match_options, GMatchInfo **match_info);\";function g_regex_match(regex, string, match_options, match_info) bind(c)\r\ng;g_regex_match_all;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"gboolean g_regex_match_all (const GRegex *regex, const gchar *string, GRegexMatchFlags match_options, GMatchInfo **match_info);\";function g_regex_match_all(regex, string, match_options, match_info) bind(c)\r\ng;g_regex_match_all_full;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"gboolean g_regex_match_all_full (const GRegex *regex, const gchar *string, gssize string_len, gint start_position, GRegexMatchFlags match_options, GMatchInfo **match_info, GError **error);\";function g_regex_match_all_full(regex, string, string_len, start_position, match_options, match_info, error) bind(c)\r\ng;g_regex_match_full;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"gboolean g_regex_match_full (const GRegex *regex, const gchar *string, gssize string_len, gint start_position, GRegexMatchFlags match_options, GMatchInfo **match_info, GError **error);\";function g_regex_match_full(regex, string, string_len, start_position, match_options, match_info, error) bind(c)\r\ng;g_regex_match_simple;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"gboolean g_regex_match_simple (const gchar *pattern, const gchar *string, GRegexCompileFlags compile_options, GRegexMatchFlags match_options);\";function g_regex_match_simple(pattern, string, compile_options, match_options) bind(c)\r\ng;g_regex_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"GRegex *g_regex_new (const gchar *pattern, GRegexCompileFlags compile_options, GRegexMatchFlags match_options, GError **error);\";function g_regex_new(pattern, compile_options, match_options, error) bind(c)\r\ng;g_regex_ref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"GRegex *g_regex_ref (GRegex *regex);\";function g_regex_ref(regex) bind(c)\r\ng;g_regex_replace;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"gchar *g_regex_replace (const GRegex *regex, const gchar *string, gssize string_len, gint start_position, const gchar *replacement, GRegexMatchFlags match_options, GError **error);\";function g_regex_replace(regex, string, string_len, start_position, replacement, match_options, error) bind(c)\r\ng;g_regex_replace_eval;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"gchar *g_regex_replace_eval (const GRegex *regex, const gchar *string, gssize string_len, gint start_position, GRegexMatchFlags match_options, GRegexEvalCallback eval, gpointer user_data, GError **error);\";function g_regex_replace_eval(regex, string, string_len, start_position, match_options, eval, user_data, error) bind(c)\r\ng;g_regex_replace_literal;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"gchar *g_regex_replace_literal (const GRegex *regex, const gchar *string, gssize string_len, gint start_position, const gchar *replacement, GRegexMatchFlags match_options, GError **error);\";function g_regex_replace_literal(regex, string, string_len, start_position, replacement, match_options, error) bind(c)\r\ng;g_regex_split;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"gchar **g_regex_split (const GRegex *regex, const gchar *string, GRegexMatchFlags match_options);\";function g_regex_split(regex, string, match_options) bind(c)\r\ng;g_regex_split_full;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"gchar **g_regex_split_full (const GRegex *regex, const gchar *string, gssize string_len, gint start_position, GRegexMatchFlags match_options, gint max_tokens, GError **error);\";function g_regex_split_full(regex, string, string_len, start_position, match_options, max_tokens, error) bind(c)\r\ng;g_regex_split_simple;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"gchar **g_regex_split_simple (const gchar *pattern, const gchar *string, GRegexCompileFlags compile_options, GRegexMatchFlags match_options);\";function g_regex_split_simple(pattern, string, compile_options, match_options) bind(c)\r\ng;g_regex_unref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gregex.h;\"void g_regex_unref (GRegex *regex);\";subroutine g_regex_unref(regex) bind(c)\r\ng;g_relation_count;GLIB_DEPRECATED_IN_2_26;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/grel.h;\"gint g_relation_count (GRelation *relation, gconstpointer key, gint field);\";function g_relation_count(relation, key, field) bind(c)\r\ng;g_relation_delete;GLIB_DEPRECATED_IN_2_26;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/grel.h;\"gint g_relation_delete (GRelation *relation, gconstpointer key, gint field);\";function g_relation_delete(relation, key, field) bind(c)\r\ng;g_relation_destroy;GLIB_DEPRECATED_IN_2_26;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/grel.h;\"void g_relation_destroy (GRelation *relation);\";subroutine g_relation_destroy(relation) bind(c)\r\ng;g_relation_index;GLIB_DEPRECATED_IN_2_26;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/grel.h;\"void g_relation_index (GRelation *relation, gint field, GHashFunc hash_func, GEqualFunc key_equal_func);\";subroutine g_relation_index(relation, field, hash_func, key_equal_func) bind(c)\r\ng;g_relation_new;GLIB_DEPRECATED_IN_2_26;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/grel.h;\"GRelation* g_relation_new (gint fields);\";function g_relation_new(fields) bind(c)\r\ng;g_relation_print;GLIB_DEPRECATED_IN_2_26;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/grel.h;\"void g_relation_print (GRelation *relation);\";subroutine g_relation_print(relation) bind(c)\r\ng;g_relation_select;GLIB_DEPRECATED_IN_2_26;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/grel.h;\"GTuples* g_relation_select (GRelation *relation, gconstpointer key, gint field);\";function g_relation_select(relation, key, field) bind(c)\r\ng;g_reload_user_special_dirs_cache;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gutils.h;\"void g_reload_user_special_dirs_cache (void);\";subroutine g_reload_user_special_dirs_cache() bind(c)\r\ng;g_remote_action_group_activate_action_full;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gremoteactiongroup.h;\"void g_remote_action_group_activate_action_full (GRemoteActionGroup *remote, const gchar *action_name, GVariant *parameter, GVariant *platform_data);\";subroutine g_remote_action_group_activate_action_full(remote, action_name, parameter, platform_data) bind(c)\r\ng;g_remote_action_group_change_action_state_full;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gremoteactiongroup.h;\"void g_remote_action_group_change_action_state_full (GRemoteActionGroup *remote, const gchar *action_name, GVariant *value, GVariant *platform_data);\";subroutine g_remote_action_group_change_action_state_full(remote, action_name, value, platform_data) bind(c)\r\ng;g_remote_action_group_get_type;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gremoteactiongroup.h;\"GType g_remote_action_group_get_type (void) ;\";function g_remote_action_group_get_type() bind(c)\r\ng;g_remove;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstdio.h;\"int g_remove (const gchar *filename);\";function g_remove(filename) bind(c)\r\ng;g_rename;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstdio.h;\"int g_rename (const gchar *oldfilename, const gchar *newfilename);\";function g_rename(oldfilename, newfilename) bind(c)\r\ng;g_resolver_error_quark;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gresolver.h;\"GQuark g_resolver_error_quark (void);\";function g_resolver_error_quark() bind(c)\r\ng;g_resolver_free_addresses;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gresolver.h;\"void g_resolver_free_addresses (GList *addresses);\";subroutine g_resolver_free_addresses(addresses) bind(c)\r\ng;g_resolver_free_targets;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gresolver.h;\"void g_resolver_free_targets (GList *targets);\";subroutine g_resolver_free_targets(targets) bind(c)\r\ng;g_resolver_get_default;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gresolver.h;\"GResolver *g_resolver_get_default (void);\";function g_resolver_get_default() bind(c)\r\ng;g_resolver_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gresolver.h;\"GType g_resolver_get_type (void) ;\";function g_resolver_get_type() bind(c)\r\ng;g_resolver_lookup_by_address;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gresolver.h;\"gchar *g_resolver_lookup_by_address (GResolver *resolver, GInetAddress *address, GCancellable *cancellable, GError **error);\";function g_resolver_lookup_by_address(resolver, address, cancellable, error) bind(c)\r\ng;g_resolver_lookup_by_address_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gresolver.h;\"void g_resolver_lookup_by_address_async (GResolver *resolver, GInetAddress *address, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_resolver_lookup_by_address_async(resolver, address, cancellable, callback, user_data) bind(c)\r\ng;g_resolver_lookup_by_address_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gresolver.h;\"gchar *g_resolver_lookup_by_address_finish (GResolver *resolver, GAsyncResult *result, GError **error);\";function g_resolver_lookup_by_address_finish(resolver, result, error) bind(c)\r\ng;g_resolver_lookup_by_name;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gresolver.h;\"GList *g_resolver_lookup_by_name (GResolver *resolver, const gchar *hostname, GCancellable *cancellable, GError **error);\";function g_resolver_lookup_by_name(resolver, hostname, cancellable, error) bind(c)\r\ng;g_resolver_lookup_by_name_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gresolver.h;\"void g_resolver_lookup_by_name_async (GResolver *resolver, const gchar *hostname, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_resolver_lookup_by_name_async(resolver, hostname, cancellable, callback, user_data) bind(c)\r\ng;g_resolver_lookup_by_name_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gresolver.h;\"GList *g_resolver_lookup_by_name_finish (GResolver *resolver, GAsyncResult *result, GError **error);\";function g_resolver_lookup_by_name_finish(resolver, result, error) bind(c)\r\ng;g_resolver_lookup_by_name_with_flags;GIO_AVAILABLE_IN_2_60;glib-auto.f90;/usr/include/glib-2.0/gio/gresolver.h;\"GList *g_resolver_lookup_by_name_with_flags (GResolver *resolver, const gchar *hostname, GResolverNameLookupFlags flags, GCancellable *cancellable, GError **error);\";function g_resolver_lookup_by_name_with_flags(resolver, hostname, flags, cancellable, error) bind(c)\r\ng;g_resolver_lookup_by_name_with_flags_async;GIO_AVAILABLE_IN_2_60;glib-auto.f90;/usr/include/glib-2.0/gio/gresolver.h;\"void g_resolver_lookup_by_name_with_flags_async (GResolver *resolver, const gchar *hostname, GResolverNameLookupFlags flags, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_resolver_lookup_by_name_with_flags_async(resolver, hostname, flags, cancellable, callback, user_data) bind(c)\r\ng;g_resolver_lookup_by_name_with_flags_finish;GIO_AVAILABLE_IN_2_60;glib-auto.f90;/usr/include/glib-2.0/gio/gresolver.h;\"GList *g_resolver_lookup_by_name_with_flags_finish (GResolver *resolver, GAsyncResult *result, GError **error);\";function g_resolver_lookup_by_name_with_flags_finish(resolver, result, error) bind(c)\r\ng;g_resolver_lookup_records;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/gresolver.h;\"GList *g_resolver_lookup_records (GResolver *resolver, const gchar *rrname, GResolverRecordType record_type, GCancellable *cancellable, GError **error);\";function g_resolver_lookup_records(resolver, rrname, record_type, cancellable, error) bind(c)\r\ng;g_resolver_lookup_records_async;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/gresolver.h;\"void g_resolver_lookup_records_async (GResolver *resolver, const gchar *rrname, GResolverRecordType record_type, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_resolver_lookup_records_async(resolver, rrname, record_type, cancellable, callback, user_data) bind(c)\r\ng;g_resolver_lookup_records_finish;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/gresolver.h;\"GList *g_resolver_lookup_records_finish (GResolver *resolver, GAsyncResult *result, GError **error);\";function g_resolver_lookup_records_finish(resolver, result, error) bind(c)\r\ng;g_resolver_lookup_service;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gresolver.h;\"GList *g_resolver_lookup_service (GResolver *resolver, const gchar *service, const gchar *protocol, const gchar *domain, GCancellable *cancellable, GError **error);\";function g_resolver_lookup_service(resolver, service, protocol, domain, cancellable, error) bind(c)\r\ng;g_resolver_lookup_service_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gresolver.h;\"void g_resolver_lookup_service_async (GResolver *resolver, const gchar *service, const gchar *protocol, const gchar *domain, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_resolver_lookup_service_async(resolver, service, protocol, domain, cancellable, callback, user_data) bind(c)\r\ng;g_resolver_lookup_service_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gresolver.h;\"GList *g_resolver_lookup_service_finish (GResolver *resolver, GAsyncResult *result, GError **error);\";function g_resolver_lookup_service_finish(resolver, result, error) bind(c)\r\ng;g_resolver_set_default;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gresolver.h;\"void g_resolver_set_default (GResolver *resolver);\";subroutine g_resolver_set_default(resolver) bind(c)\r\ng;g_resource_enumerate_children;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gresource.h;\"char ** g_resource_enumerate_children (GResource *resource, const char *path, GResourceLookupFlags lookup_flags, GError **error);\";function g_resource_enumerate_children(resource, path, lookup_flags, error) bind(c)\r\ng;g_resource_error_quark;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gresource.h;\"GQuark g_resource_error_quark (void);\";function g_resource_error_quark() bind(c)\r\ng;g_resource_get_info;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gresource.h;\"gboolean g_resource_get_info (GResource *resource, const char *path, GResourceLookupFlags lookup_flags, gsize *size, guint32 *flags, GError **error);\";function g_resource_get_info(resource, path, lookup_flags, size, flags, error) bind(c)\r\ng;g_resource_get_type;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gresource.h;\"GType g_resource_get_type (void) ;\";function g_resource_get_type() bind(c)\r\ng;g_resource_has_children;GIO_AVAILABLE_IN_2_84;glib-auto.f90;/usr/include/glib-2.0/gio/gresource.h;\"gboolean g_resource_has_children (GResource *resource, const char *path);\";function g_resource_has_children(resource, path) bind(c)\r\ng;g_resource_load;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gresource.h;\"GResource * g_resource_load (const gchar *filename, GError **error);\";function g_resource_load(filename, error) bind(c)\r\ng;g_resource_lookup_data;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gresource.h;\"GBytes * g_resource_lookup_data (GResource *resource, const char *path, GResourceLookupFlags lookup_flags, GError **error);\";function g_resource_lookup_data(resource, path, lookup_flags, error) bind(c)\r\ng;g_resource_new_from_data;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gresource.h;\"GResource * g_resource_new_from_data (GBytes *data, GError **error);\";function g_resource_new_from_data(data, error) bind(c)\r\ng;g_resource_open_stream;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gresource.h;\"GInputStream *g_resource_open_stream (GResource *resource, const char *path, GResourceLookupFlags lookup_flags, GError **error);\";function g_resource_open_stream(resource, path, lookup_flags, error) bind(c)\r\ng;g_resource_ref;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gresource.h;\"GResource * g_resource_ref (GResource *resource);\";function g_resource_ref(resource) bind(c)\r\ng;g_resource_unref;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gresource.h;\"void g_resource_unref (GResource *resource);\";subroutine g_resource_unref(resource) bind(c)\r\ng;g_resources_enumerate_children;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gresource.h;\"char ** g_resources_enumerate_children (const char *path, GResourceLookupFlags lookup_flags, GError **error);\";function g_resources_enumerate_children(path, lookup_flags, error) bind(c)\r\ng;g_resources_get_info;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gresource.h;\"gboolean g_resources_get_info (const char *path, GResourceLookupFlags lookup_flags, gsize *size, guint32 *flags, GError **error);\";function g_resources_get_info(path, lookup_flags, size, flags, error) bind(c)\r\ng;g_resources_has_children;GIO_AVAILABLE_IN_2_84;glib-auto.f90;/usr/include/glib-2.0/gio/gresource.h;\"gboolean g_resources_has_children (const char *path);\";function g_resources_has_children(path) bind(c)\r\ng;g_resources_lookup_data;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gresource.h;\"GBytes * g_resources_lookup_data (const char *path, GResourceLookupFlags lookup_flags, GError **error);\";function g_resources_lookup_data(path, lookup_flags, error) bind(c)\r\ng;g_resources_open_stream;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gresource.h;\"GInputStream *g_resources_open_stream (const char *path, GResourceLookupFlags lookup_flags, GError **error);\";function g_resources_open_stream(path, lookup_flags, error) bind(c)\r\ng;g_resources_register;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gresource.h;\"void g_resources_register (GResource *resource);\";subroutine g_resources_register(resource) bind(c)\r\ng;g_resources_unregister;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gresource.h;\"void g_resources_unregister (GResource *resource);\";subroutine g_resources_unregister(resource) bind(c)\r\ng;g_return_if_fail_warning;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmessages.h;\"void g_return_if_fail_warning (const char *log_domain, const char *pretty_function, const char *expression) ;\";subroutine g_return_if_fail_warning(log_domain, pretty_function, expression) bind(c)\r\ng;g_rmdir;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstdio.h;\"int g_rmdir (const gchar *filename);\";function g_rmdir(filename) bind(c)\r\ng;g_rw_lock_clear;GLIB_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"void g_rw_lock_clear (GRWLock *rw_lock);\";subroutine g_rw_lock_clear(rw_lock) bind(c)\r\ng;g_rw_lock_init;GLIB_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"void g_rw_lock_init (GRWLock *rw_lock);\";subroutine g_rw_lock_init(rw_lock) bind(c)\r\ng;g_rw_lock_reader_lock;GLIB_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"void g_rw_lock_reader_lock (GRWLock *rw_lock);\";subroutine g_rw_lock_reader_lock(rw_lock) bind(c)\r\ng;g_rw_lock_reader_trylock;GLIB_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"gboolean g_rw_lock_reader_trylock (GRWLock *rw_lock);\";function g_rw_lock_reader_trylock(rw_lock) bind(c)\r\ng;g_rw_lock_reader_unlock;GLIB_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"void g_rw_lock_reader_unlock (GRWLock *rw_lock);\";subroutine g_rw_lock_reader_unlock(rw_lock) bind(c)\r\ng;g_rw_lock_writer_lock;GLIB_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"void g_rw_lock_writer_lock (GRWLock *rw_lock);\";subroutine g_rw_lock_writer_lock(rw_lock) bind(c)\r\ng;g_rw_lock_writer_trylock;GLIB_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"gboolean g_rw_lock_writer_trylock (GRWLock *rw_lock);\";function g_rw_lock_writer_trylock(rw_lock) bind(c)\r\ng;g_rw_lock_writer_unlock;GLIB_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"void g_rw_lock_writer_unlock (GRWLock *rw_lock);\";subroutine g_rw_lock_writer_unlock(rw_lock) bind(c)\r\ng;g_scanner_cur_line;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gscanner.h;\"guint g_scanner_cur_line (GScanner *scanner);\";function g_scanner_cur_line(scanner) bind(c)\r\ng;g_scanner_cur_position;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gscanner.h;\"guint g_scanner_cur_position (GScanner *scanner);\";function g_scanner_cur_position(scanner) bind(c)\r\ng;g_scanner_cur_token;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gscanner.h;\"GTokenType g_scanner_cur_token (GScanner *scanner);\";function g_scanner_cur_token(scanner) bind(c)\r\ng;g_scanner_destroy;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gscanner.h;\"void g_scanner_destroy (GScanner *scanner);\";subroutine g_scanner_destroy(scanner) bind(c)\r\ng;g_scanner_eof;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gscanner.h;\"gboolean g_scanner_eof (GScanner *scanner);\";function g_scanner_eof(scanner) bind(c)\r\ng;g_scanner_get_next_token;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gscanner.h;\"GTokenType g_scanner_get_next_token (GScanner *scanner);\";function g_scanner_get_next_token(scanner) bind(c)\r\ng;g_scanner_input_file;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gscanner.h;\"void g_scanner_input_file (GScanner *scanner, gint input_fd);\";subroutine g_scanner_input_file(scanner, input_fd) bind(c)\r\ng;g_scanner_input_text;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gscanner.h;\"void g_scanner_input_text (GScanner *scanner, const gchar *text, guint text_len);\";subroutine g_scanner_input_text(scanner, text, text_len) bind(c)\r\ng;g_scanner_lookup_symbol;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gscanner.h;\"gpointer g_scanner_lookup_symbol (GScanner *scanner, const gchar *symbol);\";function g_scanner_lookup_symbol(scanner, symbol) bind(c)\r\ng;g_scanner_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gscanner.h;\"GScanner* g_scanner_new (const GScannerConfig *config_templ);\";function g_scanner_new(config_templ) bind(c)\r\ng;g_scanner_peek_next_token;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gscanner.h;\"GTokenType g_scanner_peek_next_token (GScanner *scanner);\";function g_scanner_peek_next_token(scanner) bind(c)\r\ng;g_scanner_scope_add_symbol;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gscanner.h;\"void g_scanner_scope_add_symbol (GScanner *scanner, guint scope_id, const gchar *symbol, gpointer value);\";subroutine g_scanner_scope_add_symbol(scanner, scope_id, symbol, value) bind(c)\r\ng;g_scanner_scope_foreach_symbol;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gscanner.h;\"void g_scanner_scope_foreach_symbol (GScanner *scanner, guint scope_id, GHFunc func, gpointer user_data);\";subroutine g_scanner_scope_foreach_symbol(scanner, scope_id, func, user_data) bind(c)\r\ng;g_scanner_scope_lookup_symbol;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gscanner.h;\"gpointer g_scanner_scope_lookup_symbol (GScanner *scanner, guint scope_id, const gchar *symbol);\";function g_scanner_scope_lookup_symbol(scanner, scope_id, symbol) bind(c)\r\ng;g_scanner_scope_remove_symbol;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gscanner.h;\"void g_scanner_scope_remove_symbol (GScanner *scanner, guint scope_id, const gchar *symbol);\";subroutine g_scanner_scope_remove_symbol(scanner, scope_id, symbol) bind(c)\r\ng;g_scanner_set_scope;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gscanner.h;\"guint g_scanner_set_scope (GScanner *scanner, guint scope_id);\";function g_scanner_set_scope(scanner, scope_id) bind(c)\r\ng;g_scanner_sync_file_offset;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gscanner.h;\"void g_scanner_sync_file_offset (GScanner *scanner);\";subroutine g_scanner_sync_file_offset(scanner) bind(c)\r\ng;g_scanner_unexp_token;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gscanner.h;\"void g_scanner_unexp_token (GScanner *scanner, GTokenType expected_token, const gchar *identifier_spec, const gchar *symbol_spec, const gchar *symbol_name, const gchar *message, gint is_error);\";subroutine g_scanner_unexp_token(scanner, expected_token, identifier_spec, symbol_spec, symbol_name, message, is_error) bind(c)\r\ng;g_seekable_can_seek;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gseekable.h;\"gboolean g_seekable_can_seek (GSeekable *seekable);\";function g_seekable_can_seek(seekable) bind(c)\r\ng;g_seekable_can_truncate;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gseekable.h;\"gboolean g_seekable_can_truncate (GSeekable *seekable);\";function g_seekable_can_truncate(seekable) bind(c)\r\ng;g_seekable_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gseekable.h;\"GType g_seekable_get_type (void) ;\";function g_seekable_get_type() bind(c)\r\ng;g_seekable_seek;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gseekable.h;\"gboolean g_seekable_seek (GSeekable *seekable, goffset offset, GSeekType type, GCancellable *cancellable, GError **error);\";function g_seekable_seek(seekable, offset, type, cancellable, error) bind(c)\r\ng;g_seekable_tell;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gseekable.h;\"goffset g_seekable_tell (GSeekable *seekable);\";function g_seekable_tell(seekable) bind(c)\r\ng;g_seekable_truncate;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gseekable.h;\"gboolean g_seekable_truncate (GSeekable *seekable, goffset offset, GCancellable *cancellable, GError **error);\";function g_seekable_truncate(seekable, offset, cancellable, error) bind(c)\r\ng;g_sequence_append;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gsequence.h;\"GSequenceIter *g_sequence_append (GSequence *seq, gpointer data);\";function g_sequence_append(seq, data) bind(c)\r\ng;g_sequence_foreach;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gsequence.h;\"void g_sequence_foreach (GSequence *seq, GFunc func, gpointer user_data);\";subroutine g_sequence_foreach(seq, func, user_data) bind(c)\r\ng;g_sequence_foreach_range;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gsequence.h;\"void g_sequence_foreach_range (GSequenceIter *begin, GSequenceIter *end, GFunc func, gpointer user_data);\";subroutine g_sequence_foreach_range(begin, end, func, user_data) bind(c)\r\ng;g_sequence_free;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gsequence.h;\"void g_sequence_free (GSequence *seq);\";subroutine g_sequence_free(seq) bind(c)\r\ng;g_sequence_get;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gsequence.h;\"gpointer g_sequence_get (GSequenceIter *iter);\";function g_sequence_get(iter) bind(c)\r\ng;g_sequence_get_begin_iter;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gsequence.h;\"GSequenceIter *g_sequence_get_begin_iter (GSequence *seq);\";function g_sequence_get_begin_iter(seq) bind(c)\r\ng;g_sequence_get_end_iter;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gsequence.h;\"GSequenceIter *g_sequence_get_end_iter (GSequence *seq);\";function g_sequence_get_end_iter(seq) bind(c)\r\ng;g_sequence_get_iter_at_pos;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gsequence.h;\"GSequenceIter *g_sequence_get_iter_at_pos (GSequence *seq, gint pos);\";function g_sequence_get_iter_at_pos(seq, pos) bind(c)\r\ng;g_sequence_get_length;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gsequence.h;\"gint g_sequence_get_length (GSequence *seq);\";function g_sequence_get_length(seq) bind(c)\r\ng;g_sequence_insert_before;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gsequence.h;\"GSequenceIter *g_sequence_insert_before (GSequenceIter *iter, gpointer data);\";function g_sequence_insert_before(iter, data) bind(c)\r\ng;g_sequence_insert_sorted;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gsequence.h;\"GSequenceIter *g_sequence_insert_sorted (GSequence *seq, gpointer data, GCompareDataFunc cmp_func, gpointer cmp_data);\";function g_sequence_insert_sorted(seq, data, cmp_func, cmp_data) bind(c)\r\ng;g_sequence_insert_sorted_iter;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gsequence.h;\"GSequenceIter *g_sequence_insert_sorted_iter (GSequence *seq, gpointer data, GSequenceIterCompareFunc iter_cmp, gpointer cmp_data);\";function g_sequence_insert_sorted_iter(seq, data, iter_cmp, cmp_data) bind(c)\r\ng;g_sequence_is_empty;GLIB_AVAILABLE_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/glib/gsequence.h;\"gboolean g_sequence_is_empty (GSequence *seq);\";function g_sequence_is_empty(seq) bind(c)\r\ng;g_sequence_iter_compare;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gsequence.h;\"gint g_sequence_iter_compare (GSequenceIter *a, GSequenceIter *b);\";function g_sequence_iter_compare(a, b) bind(c)\r\ng;g_sequence_iter_get_position;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gsequence.h;\"gint g_sequence_iter_get_position (GSequenceIter *iter);\";function g_sequence_iter_get_position(iter) bind(c)\r\ng;g_sequence_iter_get_sequence;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gsequence.h;\"GSequence * g_sequence_iter_get_sequence (GSequenceIter *iter);\";function g_sequence_iter_get_sequence(iter) bind(c)\r\ng;g_sequence_iter_is_begin;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gsequence.h;\"gboolean g_sequence_iter_is_begin (GSequenceIter *iter);\";function g_sequence_iter_is_begin(iter) bind(c)\r\ng;g_sequence_iter_is_end;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gsequence.h;\"gboolean g_sequence_iter_is_end (GSequenceIter *iter);\";function g_sequence_iter_is_end(iter) bind(c)\r\ng;g_sequence_iter_move;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gsequence.h;\"GSequenceIter *g_sequence_iter_move (GSequenceIter *iter, gint delta);\";function g_sequence_iter_move(iter, delta) bind(c)\r\ng;g_sequence_iter_next;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gsequence.h;\"GSequenceIter *g_sequence_iter_next (GSequenceIter *iter);\";function g_sequence_iter_next(iter) bind(c)\r\ng;g_sequence_iter_prev;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gsequence.h;\"GSequenceIter *g_sequence_iter_prev (GSequenceIter *iter);\";function g_sequence_iter_prev(iter) bind(c)\r\ng;g_sequence_lookup;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gsequence.h;\"GSequenceIter *g_sequence_lookup (GSequence *seq, gpointer data, GCompareDataFunc cmp_func, gpointer cmp_data);\";function g_sequence_lookup(seq, data, cmp_func, cmp_data) bind(c)\r\ng;g_sequence_lookup_iter;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gsequence.h;\"GSequenceIter *g_sequence_lookup_iter (GSequence *seq, gpointer data, GSequenceIterCompareFunc iter_cmp, gpointer cmp_data);\";function g_sequence_lookup_iter(seq, data, iter_cmp, cmp_data) bind(c)\r\ng;g_sequence_move;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gsequence.h;\"void g_sequence_move (GSequenceIter *src, GSequenceIter *dest);\";subroutine g_sequence_move(src, dest) bind(c)\r\ng;g_sequence_move_range;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gsequence.h;\"void g_sequence_move_range (GSequenceIter *dest, GSequenceIter *begin, GSequenceIter *end);\";subroutine g_sequence_move_range(dest, begin, end) bind(c)\r\ng;g_sequence_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gsequence.h;\"GSequence * g_sequence_new (GDestroyNotify data_destroy);\";function g_sequence_new(data_destroy) bind(c)\r\ng;g_sequence_prepend;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gsequence.h;\"GSequenceIter *g_sequence_prepend (GSequence *seq, gpointer data);\";function g_sequence_prepend(seq, data) bind(c)\r\ng;g_sequence_range_get_midpoint;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gsequence.h;\"GSequenceIter *g_sequence_range_get_midpoint (GSequenceIter *begin, GSequenceIter *end);\";function g_sequence_range_get_midpoint(begin, end) bind(c)\r\ng;g_sequence_remove;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gsequence.h;\"void g_sequence_remove (GSequenceIter *iter);\";subroutine g_sequence_remove(iter) bind(c)\r\ng;g_sequence_remove_range;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gsequence.h;\"void g_sequence_remove_range (GSequenceIter *begin, GSequenceIter *end);\";subroutine g_sequence_remove_range(begin, end) bind(c)\r\ng;g_sequence_search;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gsequence.h;\"GSequenceIter *g_sequence_search (GSequence *seq, gpointer data, GCompareDataFunc cmp_func, gpointer cmp_data);\";function g_sequence_search(seq, data, cmp_func, cmp_data) bind(c)\r\ng;g_sequence_search_iter;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gsequence.h;\"GSequenceIter *g_sequence_search_iter (GSequence *seq, gpointer data, GSequenceIterCompareFunc iter_cmp, gpointer cmp_data);\";function g_sequence_search_iter(seq, data, iter_cmp, cmp_data) bind(c)\r\ng;g_sequence_set;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gsequence.h;\"void g_sequence_set (GSequenceIter *iter, gpointer data);\";subroutine g_sequence_set(iter, data) bind(c)\r\ng;g_sequence_sort;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gsequence.h;\"void g_sequence_sort (GSequence *seq, GCompareDataFunc cmp_func, gpointer cmp_data);\";subroutine g_sequence_sort(seq, cmp_func, cmp_data) bind(c)\r\ng;g_sequence_sort_changed;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gsequence.h;\"void g_sequence_sort_changed (GSequenceIter *iter, GCompareDataFunc cmp_func, gpointer cmp_data);\";subroutine g_sequence_sort_changed(iter, cmp_func, cmp_data) bind(c)\r\ng;g_sequence_sort_changed_iter;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gsequence.h;\"void g_sequence_sort_changed_iter (GSequenceIter *iter, GSequenceIterCompareFunc iter_cmp, gpointer cmp_data);\";subroutine g_sequence_sort_changed_iter(iter, iter_cmp, cmp_data) bind(c)\r\ng;g_sequence_sort_iter;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gsequence.h;\"void g_sequence_sort_iter (GSequence *seq, GSequenceIterCompareFunc cmp_func, gpointer cmp_data);\";subroutine g_sequence_sort_iter(seq, cmp_func, cmp_data) bind(c)\r\ng;g_sequence_swap;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gsequence.h;\"void g_sequence_swap (GSequenceIter *a, GSequenceIter *b);\";subroutine g_sequence_swap(a, b) bind(c)\r\ng;g_set_application_name;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gutils.h;\"void g_set_application_name (const gchar *application_name);\";subroutine g_set_application_name(application_name) bind(c)\r\ng;g_set_error_literal;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gerror.h;\"void g_set_error_literal (GError **err, GQuark domain, gint code, const gchar *message);\";subroutine g_set_error_literal(err, domain, code, message) bind(c)\r\ng;g_set_prgname;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gutils.h;\"void g_set_prgname (const gchar *prgname);\";subroutine g_set_prgname(prgname) bind(c)\r\ng;g_set_print_handler;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmessages.h;\"GPrintFunc g_set_print_handler (GPrintFunc func);\";function g_set_print_handler(func) bind(c)\r\ng;g_set_printerr_handler;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmessages.h;\"GPrintFunc g_set_printerr_handler (GPrintFunc func);\";function g_set_printerr_handler(func) bind(c)\r\ng;g_setenv;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/genviron.h;\"gboolean g_setenv (const gchar *variable, const gchar *value, gboolean overwrite);\";function g_setenv(variable, value, overwrite) bind(c)\r\ng;g_settings_apply;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"void g_settings_apply (GSettings *settings);\";subroutine g_settings_apply(settings) bind(c)\r\ng;g_settings_backend_changed;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettingsbackend.h;\"void g_settings_backend_changed (GSettingsBackend *backend, const gchar *key, gpointer origin_tag);\";subroutine g_settings_backend_changed(backend, key, origin_tag) bind(c)\r\ng;g_settings_backend_changed_tree;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettingsbackend.h;\"void g_settings_backend_changed_tree (GSettingsBackend *backend, GTree *tree, gpointer origin_tag);\";subroutine g_settings_backend_changed_tree(backend, tree, origin_tag) bind(c)\r\ng;g_settings_backend_flatten_tree;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettingsbackend.h;\"void g_settings_backend_flatten_tree (GTree *tree, gchar **path, const gchar ***keys, GVariant ***values);\";subroutine g_settings_backend_flatten_tree(tree, path, keys, values) bind(c)\r\ng;g_settings_backend_get_default;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettingsbackend.h;\"GSettingsBackend * g_settings_backend_get_default (void);\";function g_settings_backend_get_default() bind(c)\r\ng;g_settings_backend_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettingsbackend.h;\"GType g_settings_backend_get_type (void);\";function g_settings_backend_get_type() bind(c)\r\ng;g_settings_backend_keys_changed;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettingsbackend.h;\"void g_settings_backend_keys_changed (GSettingsBackend *backend, const gchar *path, gchar const * const *items, gpointer origin_tag);\";subroutine g_settings_backend_keys_changed(backend, path, items, origin_tag) bind(c)\r\ng;g_settings_backend_path_changed;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettingsbackend.h;\"void g_settings_backend_path_changed (GSettingsBackend *backend, const gchar *path, gpointer origin_tag);\";subroutine g_settings_backend_path_changed(backend, path, origin_tag) bind(c)\r\ng;g_settings_backend_path_writable_changed;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettingsbackend.h;\"void g_settings_backend_path_writable_changed (GSettingsBackend *backend, const gchar *path);\";subroutine g_settings_backend_path_writable_changed(backend, path) bind(c)\r\ng;g_settings_backend_writable_changed;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettingsbackend.h;\"void g_settings_backend_writable_changed (GSettingsBackend *backend, const gchar *key);\";subroutine g_settings_backend_writable_changed(backend, key) bind(c)\r\ng;g_settings_bind;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"void g_settings_bind (GSettings *settings, const gchar *key, gpointer object, const gchar *property, GSettingsBindFlags flags);\";subroutine g_settings_bind(settings, key, object, property, flags) bind(c)\r\ng;g_settings_bind_with_mapping;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"void g_settings_bind_with_mapping (GSettings *settings, const gchar *key, gpointer object, const gchar *property, GSettingsBindFlags flags, GSettingsBindGetMapping get_mapping, GSettingsBindSetMapping set_mapping, gpointer user_data, GDestroyNotify destroy);\";subroutine g_settings_bind_with_mapping(settings, key, object, property, flags, get_mapping, set_mapping, user_data, destroy) bind(c)\r\ng;g_settings_bind_with_mapping_closures;GIO_AVAILABLE_IN_2_82;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"void g_settings_bind_with_mapping_closures (GSettings *settings, const char *key, GObject *object, const char *property, GSettingsBindFlags flags, GClosure *get_mapping, GClosure *set_mapping);\";subroutine g_settings_bind_with_mapping_closures(settings, key, object, property, flags, get_mapping, set_mapping) bind(c)\r\ng;g_settings_bind_writable;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"void g_settings_bind_writable (GSettings *settings, const gchar *key, gpointer object, const gchar *property, gboolean inverted);\";subroutine g_settings_bind_writable(settings, key, object, property, inverted) bind(c)\r\ng;g_settings_create_action;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"GAction * g_settings_create_action (GSettings *settings, const gchar *key);\";function g_settings_create_action(settings, key) bind(c)\r\ng;g_settings_delay;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"void g_settings_delay (GSettings *settings);\";subroutine g_settings_delay(settings) bind(c)\r\ng;g_settings_get_boolean;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"gboolean g_settings_get_boolean (GSettings *settings, const gchar *key);\";function g_settings_get_boolean(settings, key) bind(c)\r\ng;g_settings_get_child;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"GSettings * g_settings_get_child (GSettings *settings, const gchar *name);\";function g_settings_get_child(settings, name) bind(c)\r\ng;g_settings_get_default_value;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"GVariant * g_settings_get_default_value (GSettings *settings, const gchar *key);\";function g_settings_get_default_value(settings, key) bind(c)\r\ng;g_settings_get_double;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"gdouble g_settings_get_double (GSettings *settings, const gchar *key);\";function g_settings_get_double(settings, key) bind(c)\r\ng;g_settings_get_enum;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"gint g_settings_get_enum (GSettings *settings, const gchar *key);\";function g_settings_get_enum(settings, key) bind(c)\r\ng;g_settings_get_flags;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"guint g_settings_get_flags (GSettings *settings, const gchar *key);\";function g_settings_get_flags(settings, key) bind(c)\r\ng;g_settings_get_has_unapplied;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"gboolean g_settings_get_has_unapplied (GSettings *settings);\";function g_settings_get_has_unapplied(settings) bind(c)\r\ng;g_settings_get_int;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"gint g_settings_get_int (GSettings *settings, const gchar *key);\";function g_settings_get_int(settings, key) bind(c)\r\ng;g_settings_get_int64;GIO_AVAILABLE_IN_2_50;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"gint64 g_settings_get_int64 (GSettings *settings, const gchar *key);\";function g_settings_get_int64(settings, key) bind(c)\r\ng;g_settings_get_mapped;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"gpointer g_settings_get_mapped (GSettings *settings, const gchar *key, GSettingsGetMapping mapping, gpointer user_data);\";function g_settings_get_mapped(settings, key, mapping, user_data) bind(c)\r\ng;g_settings_get_range;GIO_DEPRECATED_IN_2_40_FOR(g_settings_schema_key_get_range);glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"GVariant * g_settings_get_range (GSettings *settings, const gchar *key);\";function g_settings_get_range(settings, key) bind(c)\r\ng;g_settings_get_string;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"gchar * g_settings_get_string (GSettings *settings, const gchar *key);\";function g_settings_get_string(settings, key) bind(c)\r\ng;g_settings_get_strv;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"gchar ** g_settings_get_strv (GSettings *settings, const gchar *key);\";function g_settings_get_strv(settings, key) bind(c)\r\ng;g_settings_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"GType g_settings_get_type (void);\";function g_settings_get_type() bind(c)\r\ng;g_settings_get_uint;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"guint g_settings_get_uint (GSettings *settings, const gchar *key);\";function g_settings_get_uint(settings, key) bind(c)\r\ng;g_settings_get_uint64;GIO_AVAILABLE_IN_2_50;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"guint64 g_settings_get_uint64 (GSettings *settings, const gchar *key);\";function g_settings_get_uint64(settings, key) bind(c)\r\ng;g_settings_get_user_value;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"GVariant * g_settings_get_user_value (GSettings *settings, const gchar *key);\";function g_settings_get_user_value(settings, key) bind(c)\r\ng;g_settings_get_value;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"GVariant * g_settings_get_value (GSettings *settings, const gchar *key);\";function g_settings_get_value(settings, key) bind(c)\r\ng;g_settings_is_writable;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"gboolean g_settings_is_writable (GSettings *settings, const gchar *name);\";function g_settings_is_writable(settings, name) bind(c)\r\ng;g_settings_list_children;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"gchar ** g_settings_list_children (GSettings *settings);\";function g_settings_list_children(settings) bind(c)\r\ng;g_settings_list_keys;GIO_DEPRECATED_IN_2_46_FOR(g_settings_schema_list_keys);glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"gchar ** g_settings_list_keys (GSettings *settings);\";function g_settings_list_keys(settings) bind(c)\r\ng;g_settings_list_relocatable_schemas;GIO_DEPRECATED_IN_2_40_FOR(g_settings_schema_source_list_schemas);glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"const gchar * const * g_settings_list_relocatable_schemas (void);\";function g_settings_list_relocatable_schemas() bind(c)\r\ng;g_settings_list_schemas;GIO_DEPRECATED_IN_2_40_FOR(g_settings_schema_source_list_schemas);glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"const gchar * const * g_settings_list_schemas (void);\";function g_settings_list_schemas() bind(c)\r\ng;g_settings_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"GSettings * g_settings_new (const gchar *schema_id);\";function g_settings_new(schema_id) bind(c)\r\ng;g_settings_new_full;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"GSettings * g_settings_new_full (GSettingsSchema *schema, GSettingsBackend *backend, const gchar *path);\";function g_settings_new_full(schema, backend, path) bind(c)\r\ng;g_settings_new_with_backend;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"GSettings * g_settings_new_with_backend (const gchar *schema_id, GSettingsBackend *backend);\";function g_settings_new_with_backend(schema_id, backend) bind(c)\r\ng;g_settings_new_with_backend_and_path;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"GSettings * g_settings_new_with_backend_and_path (const gchar *schema_id, GSettingsBackend *backend, const gchar *path);\";function g_settings_new_with_backend_and_path(schema_id, backend, path) bind(c)\r\ng;g_settings_new_with_path;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"GSettings * g_settings_new_with_path (const gchar *schema_id, const gchar *path);\";function g_settings_new_with_path(schema_id, path) bind(c)\r\ng;g_settings_range_check;GIO_DEPRECATED_IN_2_40_FOR(g_settings_schema_key_range_check);glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"gboolean g_settings_range_check (GSettings *settings, const gchar *key, GVariant *value);\";function g_settings_range_check(settings, key, value) bind(c)\r\ng;g_settings_reset;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"void g_settings_reset (GSettings *settings, const gchar *key);\";subroutine g_settings_reset(settings, key) bind(c)\r\ng;g_settings_revert;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"void g_settings_revert (GSettings *settings);\";subroutine g_settings_revert(settings) bind(c)\r\ng;g_settings_schema_get_id;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gsettingsschema.h;\"const gchar * g_settings_schema_get_id (GSettingsSchema *schema);\";function g_settings_schema_get_id(schema) bind(c)\r\ng;g_settings_schema_get_key;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsettingsschema.h;\"GSettingsSchemaKey * g_settings_schema_get_key (GSettingsSchema *schema, const gchar *name);\";function g_settings_schema_get_key(schema, name) bind(c)\r\ng;g_settings_schema_get_path;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gsettingsschema.h;\"const gchar * g_settings_schema_get_path (GSettingsSchema *schema);\";function g_settings_schema_get_path(schema) bind(c)\r\ng;g_settings_schema_get_type;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gsettingsschema.h;\"GType g_settings_schema_get_type (void) ;\";function g_settings_schema_get_type() bind(c)\r\ng;g_settings_schema_has_key;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsettingsschema.h;\"gboolean g_settings_schema_has_key (GSettingsSchema *schema, const gchar *name);\";function g_settings_schema_has_key(schema, name) bind(c)\r\ng;g_settings_schema_key_get_default_value;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsettingsschema.h;\"GVariant * g_settings_schema_key_get_default_value (GSettingsSchemaKey *key);\";function g_settings_schema_key_get_default_value(key) bind(c)\r\ng;g_settings_schema_key_get_description;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsettingsschema.h;\"const gchar * g_settings_schema_key_get_description (GSettingsSchemaKey *key);\";function g_settings_schema_key_get_description(key) bind(c)\r\ng;g_settings_schema_key_get_name;GIO_AVAILABLE_IN_2_44;glib-auto.f90;/usr/include/glib-2.0/gio/gsettingsschema.h;\"const gchar * g_settings_schema_key_get_name (GSettingsSchemaKey *key);\";function g_settings_schema_key_get_name(key) bind(c)\r\ng;g_settings_schema_key_get_range;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsettingsschema.h;\"GVariant * g_settings_schema_key_get_range (GSettingsSchemaKey *key);\";function g_settings_schema_key_get_range(key) bind(c)\r\ng;g_settings_schema_key_get_summary;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsettingsschema.h;\"const gchar * g_settings_schema_key_get_summary (GSettingsSchemaKey *key);\";function g_settings_schema_key_get_summary(key) bind(c)\r\ng;g_settings_schema_key_get_type;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsettingsschema.h;\"GType g_settings_schema_key_get_type (void) ;\";function g_settings_schema_key_get_type() bind(c)\r\ng;g_settings_schema_key_get_value_type;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsettingsschema.h;\"const GVariantType * g_settings_schema_key_get_value_type (GSettingsSchemaKey *key);\";function g_settings_schema_key_get_value_type(key) bind(c)\r\ng;g_settings_schema_key_range_check;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsettingsschema.h;\"gboolean g_settings_schema_key_range_check (GSettingsSchemaKey *key, GVariant *value);\";function g_settings_schema_key_range_check(key, value) bind(c)\r\ng;g_settings_schema_key_ref;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsettingsschema.h;\"GSettingsSchemaKey * g_settings_schema_key_ref (GSettingsSchemaKey *key);\";function g_settings_schema_key_ref(key) bind(c)\r\ng;g_settings_schema_key_unref;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsettingsschema.h;\"void g_settings_schema_key_unref (GSettingsSchemaKey *key);\";subroutine g_settings_schema_key_unref(key) bind(c)\r\ng;g_settings_schema_list_children;GIO_AVAILABLE_IN_2_44;glib-auto.f90;/usr/include/glib-2.0/gio/gsettingsschema.h;\"gchar ** g_settings_schema_list_children (GSettingsSchema *schema);\";function g_settings_schema_list_children(schema) bind(c)\r\ng;g_settings_schema_list_keys;GIO_AVAILABLE_IN_2_46;glib-auto.f90;/usr/include/glib-2.0/gio/gsettingsschema.h;\"gchar** g_settings_schema_list_keys (GSettingsSchema *schema);\";function g_settings_schema_list_keys(schema) bind(c)\r\ng;g_settings_schema_ref;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gsettingsschema.h;\"GSettingsSchema * g_settings_schema_ref (GSettingsSchema *schema);\";function g_settings_schema_ref(schema) bind(c)\r\ng;g_settings_schema_source_get_default;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gsettingsschema.h;\"GSettingsSchemaSource * g_settings_schema_source_get_default (void);\";function g_settings_schema_source_get_default() bind(c)\r\ng;g_settings_schema_source_get_type;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gsettingsschema.h;\"GType g_settings_schema_source_get_type (void) ;\";function g_settings_schema_source_get_type() bind(c)\r\ng;g_settings_schema_source_list_schemas;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsettingsschema.h;\"void g_settings_schema_source_list_schemas (GSettingsSchemaSource *source, gboolean recursive, gchar ***non_relocatable, gchar ***relocatable);\";subroutine g_settings_schema_source_list_schemas(source, recursive, non_relocatable, relocatable) bind(c)\r\ng;g_settings_schema_source_lookup;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gsettingsschema.h;\"GSettingsSchema * g_settings_schema_source_lookup (GSettingsSchemaSource *source, const gchar *schema_id, gboolean recursive);\";function g_settings_schema_source_lookup(source, schema_id, recursive) bind(c)\r\ng;g_settings_schema_source_new_from_directory;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gsettingsschema.h;\"GSettingsSchemaSource * g_settings_schema_source_new_from_directory (const gchar *directory, GSettingsSchemaSource *parent, gboolean trusted, GError **error);\";function g_settings_schema_source_new_from_directory(directory, parent, trusted, error) bind(c)\r\ng;g_settings_schema_source_ref;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gsettingsschema.h;\"GSettingsSchemaSource * g_settings_schema_source_ref (GSettingsSchemaSource *source);\";function g_settings_schema_source_ref(source) bind(c)\r\ng;g_settings_schema_source_unref;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gsettingsschema.h;\"void g_settings_schema_source_unref (GSettingsSchemaSource *source);\";subroutine g_settings_schema_source_unref(source) bind(c)\r\ng;g_settings_schema_unref;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gsettingsschema.h;\"void g_settings_schema_unref (GSettingsSchema *schema);\";subroutine g_settings_schema_unref(schema) bind(c)\r\ng;g_settings_set_boolean;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"gboolean g_settings_set_boolean (GSettings *settings, const gchar *key, gboolean value);\";function g_settings_set_boolean(settings, key, value) bind(c)\r\ng;g_settings_set_double;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"gboolean g_settings_set_double (GSettings *settings, const gchar *key, gdouble value);\";function g_settings_set_double(settings, key, value) bind(c)\r\ng;g_settings_set_enum;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"gboolean g_settings_set_enum (GSettings *settings, const gchar *key, gint value);\";function g_settings_set_enum(settings, key, value) bind(c)\r\ng;g_settings_set_flags;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"gboolean g_settings_set_flags (GSettings *settings, const gchar *key, guint value);\";function g_settings_set_flags(settings, key, value) bind(c)\r\ng;g_settings_set_int;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"gboolean g_settings_set_int (GSettings *settings, const gchar *key, gint value);\";function g_settings_set_int(settings, key, value) bind(c)\r\ng;g_settings_set_int64;GIO_AVAILABLE_IN_2_50;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"gboolean g_settings_set_int64 (GSettings *settings, const gchar *key, gint64 value);\";function g_settings_set_int64(settings, key, value) bind(c)\r\ng;g_settings_set_string;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"gboolean g_settings_set_string (GSettings *settings, const gchar *key, const gchar *value);\";function g_settings_set_string(settings, key, value) bind(c)\r\ng;g_settings_set_strv;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"gboolean g_settings_set_strv (GSettings *settings, const gchar *key, const gchar *const *value);\";function g_settings_set_strv(settings, key, value) bind(c)\r\ng;g_settings_set_uint;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"gboolean g_settings_set_uint (GSettings *settings, const gchar *key, guint value);\";function g_settings_set_uint(settings, key, value) bind(c)\r\ng;g_settings_set_uint64;GIO_AVAILABLE_IN_2_50;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"gboolean g_settings_set_uint64 (GSettings *settings, const gchar *key, guint64 value);\";function g_settings_set_uint64(settings, key, value) bind(c)\r\ng;g_settings_set_value;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"gboolean g_settings_set_value (GSettings *settings, const gchar *key, GVariant *value);\";function g_settings_set_value(settings, key, value) bind(c)\r\ng;g_settings_sync;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"void g_settings_sync (void);\";subroutine g_settings_sync() bind(c)\r\ng;g_settings_unbind;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsettings.h;\"void g_settings_unbind (gpointer object, const gchar *property);\";subroutine g_settings_unbind(object, property) bind(c)\r\ng;g_shell_error_quark;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gshell.h;\"GQuark g_shell_error_quark (void);\";function g_shell_error_quark() bind(c)\r\ng;g_shell_parse_argv;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gshell.h;\"gboolean g_shell_parse_argv (const gchar *command_line, gint *argcp, gchar ***argvp, GError **error);\";function g_shell_parse_argv(command_line, argcp, argvp, error) bind(c)\r\ng;g_shell_quote;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gshell.h;\"gchar* g_shell_quote (const gchar *unquoted_string);\";function g_shell_quote(unquoted_string) bind(c)\r\ng;g_shell_unquote;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gshell.h;\"gchar* g_shell_unquote (const gchar *quoted_string, GError **error);\";function g_shell_unquote(quoted_string, error) bind(c)\r\ng;g_signal_accumulator_first_wins;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignal.h;\"gboolean g_signal_accumulator_first_wins (GSignalInvocationHint *ihint, GValue *return_accu, const GValue *handler_return, gpointer dummy);\";function g_signal_accumulator_first_wins(ihint, return_accu, handler_return, dummy) bind(c)\r\ng;g_signal_accumulator_true_handled;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignal.h;\"gboolean g_signal_accumulator_true_handled (GSignalInvocationHint *ihint, GValue *return_accu, const GValue *handler_return, gpointer dummy);\";function g_signal_accumulator_true_handled(ihint, return_accu, handler_return, dummy) bind(c)\r\ng;g_signal_add_emission_hook;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignal.h;\"gulong g_signal_add_emission_hook (guint signal_id, GQuark detail, GSignalEmissionHook hook_func, gpointer hook_data, GDestroyNotify data_destroy);\";function g_signal_add_emission_hook(signal_id, detail, hook_func, hook_data, data_destroy) bind(c)\r\ng;g_signal_chain_from_overridden;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignal.h;\"void g_signal_chain_from_overridden (const GValue *instance_and_params, GValue *return_value);\";subroutine g_signal_chain_from_overridden(instance_and_params, return_value) bind(c)\r\ng;g_signal_connect_closure;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignal.h;\"gulong g_signal_connect_closure (gpointer instance, const gchar *detailed_signal, GClosure *closure, gboolean after);\";function g_signal_connect_closure(instance, detailed_signal, closure, after) bind(c)\r\ng;g_signal_connect_closure_by_id;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignal.h;\"gulong g_signal_connect_closure_by_id (gpointer instance, guint signal_id, GQuark detail, GClosure *closure, gboolean after);\";function g_signal_connect_closure_by_id(instance, signal_id, detail, closure, after) bind(c)\r\ng;g_signal_connect_data;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignal.h;\"gulong g_signal_connect_data (gpointer instance, const gchar *detailed_signal, GCallback c_handler, gpointer data, GClosureNotify destroy_data, GConnectFlags connect_flags);\";function g_signal_connect_data(instance, detailed_signal, c_handler, data, destroy_data, connect_flags) bind(c)\r\ng;g_signal_connect_object;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"gulong g_signal_connect_object (gpointer instance, const gchar *detailed_signal, GCallback c_handler, gpointer gobject, GConnectFlags connect_flags);\";function g_signal_connect_object(instance, detailed_signal, c_handler, gobject, connect_flags) bind(c)\r\ng;g_signal_emit_valist;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignal.h;\"void g_signal_emit_valist (gpointer instance, guint signal_id, GQuark detail, va_list var_args);\";subroutine g_signal_emit_valist(instance, signal_id, detail, var_args) bind(c)\r\ng;g_signal_emitv;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignal.h;\"void g_signal_emitv (const GValue *instance_and_params, guint signal_id, GQuark detail, GValue *return_value);\";subroutine g_signal_emitv(instance_and_params, signal_id, detail, return_value) bind(c)\r\ng;g_signal_get_invocation_hint;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignal.h;\"GSignalInvocationHint* g_signal_get_invocation_hint (gpointer instance);\";function g_signal_get_invocation_hint(instance) bind(c)\r\ng;g_signal_group_block;GOBJECT_AVAILABLE_IN_2_72;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignalgroup.h;\"void g_signal_group_block (GSignalGroup *self);\";subroutine g_signal_group_block(self) bind(c)\r\ng;g_signal_group_connect;GOBJECT_AVAILABLE_IN_2_72;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignalgroup.h;\"void g_signal_group_connect (GSignalGroup *self, const gchar *detailed_signal, GCallback c_handler, gpointer data);\";subroutine g_signal_group_connect(self, detailed_signal, c_handler, data) bind(c)\r\ng;g_signal_group_connect_after;GOBJECT_AVAILABLE_IN_2_72;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignalgroup.h;\"void g_signal_group_connect_after (GSignalGroup *self, const gchar *detailed_signal, GCallback c_handler, gpointer data);\";subroutine g_signal_group_connect_after(self, detailed_signal, c_handler, data) bind(c)\r\ng;g_signal_group_connect_closure;GOBJECT_AVAILABLE_IN_2_74;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignalgroup.h;\"void g_signal_group_connect_closure (GSignalGroup *self, const gchar *detailed_signal, GClosure *closure, gboolean after);\";subroutine g_signal_group_connect_closure(self, detailed_signal, closure, after) bind(c)\r\ng;g_signal_group_connect_data;GOBJECT_AVAILABLE_IN_2_72;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignalgroup.h;\"void g_signal_group_connect_data (GSignalGroup *self, const gchar *detailed_signal, GCallback c_handler, gpointer data, GClosureNotify notify, GConnectFlags flags);\";subroutine g_signal_group_connect_data(self, detailed_signal, c_handler, data, notify, flags) bind(c)\r\ng;g_signal_group_connect_object;GOBJECT_AVAILABLE_IN_2_72;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignalgroup.h;\"void g_signal_group_connect_object (GSignalGroup *self, const gchar *detailed_signal, GCallback c_handler, gpointer object, GConnectFlags flags);\";subroutine g_signal_group_connect_object(self, detailed_signal, c_handler, object, flags) bind(c)\r\ng;g_signal_group_connect_swapped;GOBJECT_AVAILABLE_IN_2_72;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignalgroup.h;\"void g_signal_group_connect_swapped (GSignalGroup *self, const gchar *detailed_signal, GCallback c_handler, gpointer data);\";subroutine g_signal_group_connect_swapped(self, detailed_signal, c_handler, data) bind(c)\r\ng;g_signal_group_dup_target;GOBJECT_AVAILABLE_IN_2_72;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignalgroup.h;\"gpointer g_signal_group_dup_target (GSignalGroup *self);\";function g_signal_group_dup_target(self) bind(c)\r\ng;g_signal_group_get_type;GOBJECT_AVAILABLE_IN_2_72;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignalgroup.h;\"GType g_signal_group_get_type (void) ;\";function g_signal_group_get_type() bind(c)\r\ng;g_signal_group_new;GOBJECT_AVAILABLE_IN_2_72;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignalgroup.h;\"GSignalGroup *g_signal_group_new (GType target_type);\";function g_signal_group_new(target_type) bind(c)\r\ng;g_signal_group_set_target;GOBJECT_AVAILABLE_IN_2_72;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignalgroup.h;\"void g_signal_group_set_target (GSignalGroup *self, gpointer target);\";subroutine g_signal_group_set_target(self, target) bind(c)\r\ng;g_signal_group_unblock;GOBJECT_AVAILABLE_IN_2_72;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignalgroup.h;\"void g_signal_group_unblock (GSignalGroup *self);\";subroutine g_signal_group_unblock(self) bind(c)\r\ng;g_signal_handler_block;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignal.h;\"void g_signal_handler_block (gpointer instance, gulong handler_id);\";subroutine g_signal_handler_block(instance, handler_id) bind(c)\r\ng;g_signal_handler_disconnect;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignal.h;\"void g_signal_handler_disconnect (gpointer instance, gulong handler_id);\";subroutine g_signal_handler_disconnect(instance, handler_id) bind(c)\r\ng;g_signal_handler_find;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignal.h;\"gulong g_signal_handler_find (gpointer instance, GSignalMatchType mask, guint signal_id, GQuark detail, GClosure *closure, gpointer func, gpointer data);\";function g_signal_handler_find(instance, mask, signal_id, detail, closure, func, data) bind(c)\r\ng;g_signal_handler_is_connected;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignal.h;\"gboolean g_signal_handler_is_connected (gpointer instance, gulong handler_id);\";function g_signal_handler_is_connected(instance, handler_id) bind(c)\r\ng;g_signal_handler_unblock;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignal.h;\"void g_signal_handler_unblock (gpointer instance, gulong handler_id);\";subroutine g_signal_handler_unblock(instance, handler_id) bind(c)\r\ng;g_signal_handlers_block_matched;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignal.h;\"guint g_signal_handlers_block_matched (gpointer instance, GSignalMatchType mask, guint signal_id, GQuark detail, GClosure *closure, gpointer func, gpointer data);\";function g_signal_handlers_block_matched(instance, mask, signal_id, detail, closure, func, data) bind(c)\r\ng;g_signal_handlers_destroy;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignal.h;\"void g_signal_handlers_destroy (gpointer instance);\";subroutine g_signal_handlers_destroy(instance) bind(c)\r\ng;g_signal_handlers_disconnect_matched;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignal.h;\"guint g_signal_handlers_disconnect_matched (gpointer instance, GSignalMatchType mask, guint signal_id, GQuark detail, GClosure *closure, gpointer func, gpointer data);\";function g_signal_handlers_disconnect_matched(instance, mask, signal_id, detail, closure, func, data) bind(c)\r\ng;g_signal_handlers_unblock_matched;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignal.h;\"guint g_signal_handlers_unblock_matched (gpointer instance, GSignalMatchType mask, guint signal_id, GQuark detail, GClosure *closure, gpointer func, gpointer data);\";function g_signal_handlers_unblock_matched(instance, mask, signal_id, detail, closure, func, data) bind(c)\r\ng;g_signal_has_handler_pending;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignal.h;\"gboolean g_signal_has_handler_pending (gpointer instance, guint signal_id, GQuark detail, gboolean may_be_blocked);\";function g_signal_has_handler_pending(instance, signal_id, detail, may_be_blocked) bind(c)\r\ng;g_signal_is_valid_name;GOBJECT_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignal.h;\"gboolean g_signal_is_valid_name (const gchar *name);\";function g_signal_is_valid_name(name) bind(c)\r\ng;g_signal_list_ids;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignal.h;\"guint* g_signal_list_ids (GType itype, guint *n_ids);\";function g_signal_list_ids(itype, n_ids) bind(c)\r\ng;g_signal_lookup;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignal.h;\"guint g_signal_lookup (const gchar *name, GType itype);\";function g_signal_lookup(name, itype) bind(c)\r\ng;g_signal_name;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignal.h;\"const gchar * g_signal_name (guint signal_id);\";function g_signal_name(signal_id) bind(c)\r\ng;g_signal_new_valist;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignal.h;\"guint g_signal_new_valist (const gchar *signal_name, GType itype, GSignalFlags signal_flags, GClosure *class_closure, GSignalAccumulator accumulator, gpointer accu_data, GSignalCMarshaller c_marshaller, GType return_type, guint n_params, va_list args);\";function g_signal_new_valist(signal_name, itype, signal_flags, class_closure, accumulator, accu_data, c_marshaller, return_type, n_params, args) bind(c)\r\ng;g_signal_newv;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignal.h;\"guint g_signal_newv (const gchar *signal_name, GType itype, GSignalFlags signal_flags, GClosure *class_closure, GSignalAccumulator accumulator, gpointer accu_data, GSignalCMarshaller c_marshaller, GType return_type, guint n_params, GType *param_types);\";function g_signal_newv(signal_name, itype, signal_flags, class_closure, accumulator, accu_data, c_marshaller, return_type, n_params, param_types) bind(c)\r\ng;g_signal_override_class_closure;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignal.h;\"void g_signal_override_class_closure (guint signal_id, GType instance_type, GClosure *class_closure);\";subroutine g_signal_override_class_closure(signal_id, instance_type, class_closure) bind(c)\r\ng;g_signal_override_class_handler;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignal.h;\"void g_signal_override_class_handler (const gchar *signal_name, GType instance_type, GCallback class_handler);\";subroutine g_signal_override_class_handler(signal_name, instance_type, class_handler) bind(c)\r\ng;g_signal_parse_name;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignal.h;\"gboolean g_signal_parse_name (const gchar *detailed_signal, GType itype, guint *signal_id_p, GQuark *detail_p, gboolean force_detail_quark);\";function g_signal_parse_name(detailed_signal, itype, signal_id_p, detail_p, force_detail_quark) bind(c)\r\ng;g_signal_query;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignal.h;\"void g_signal_query (guint signal_id, GSignalQuery *query);\";subroutine g_signal_query(signal_id, query) bind(c)\r\ng;g_signal_remove_emission_hook;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignal.h;\"void g_signal_remove_emission_hook (guint signal_id, gulong hook_id);\";subroutine g_signal_remove_emission_hook(signal_id, hook_id) bind(c)\r\ng;g_signal_stop_emission;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignal.h;\"void g_signal_stop_emission (gpointer instance, guint signal_id, GQuark detail);\";subroutine g_signal_stop_emission(instance, signal_id, detail) bind(c)\r\ng;g_signal_stop_emission_by_name;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gsignal.h;\"void g_signal_stop_emission_by_name (gpointer instance, const gchar *detailed_signal);\";subroutine g_signal_stop_emission_by_name(instance, detailed_signal) bind(c)\r\ng;g_signal_type_cclosure_new;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gclosure.h;\"GClosure* g_signal_type_cclosure_new (GType itype, guint struct_offset);\";function g_signal_type_cclosure_new(itype, struct_offset) bind(c)\r\ng;g_simple_action_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleaction.h;\"GType g_simple_action_get_type (void) ;\";function g_simple_action_get_type() bind(c)\r\ng;g_simple_action_group_add_entries;GIO_DEPRECATED_IN_2_38_FOR (g_action_map_add_action_entries);glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleactiongroup.h;\"void g_simple_action_group_add_entries (GSimpleActionGroup *simple, const GActionEntry *entries, gint n_entries, gpointer user_data);\";subroutine g_simple_action_group_add_entries(simple, entries, n_entries, user_data) bind(c)\r\ng;g_simple_action_group_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleactiongroup.h;\"GType g_simple_action_group_get_type (void) ;\";function g_simple_action_group_get_type() bind(c)\r\ng;g_simple_action_group_insert;GIO_DEPRECATED_IN_2_38_FOR (g_action_map_add_action);glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleactiongroup.h;\"void g_simple_action_group_insert (GSimpleActionGroup *simple, GAction *action);\";subroutine g_simple_action_group_insert(simple, action) bind(c)\r\ng;g_simple_action_group_lookup;GIO_DEPRECATED_IN_2_38_FOR (g_action_map_lookup_action);glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleactiongroup.h;\"GAction * g_simple_action_group_lookup (GSimpleActionGroup *simple, const gchar *action_name);\";function g_simple_action_group_lookup(simple, action_name) bind(c)\r\ng;g_simple_action_group_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleactiongroup.h;\"GSimpleActionGroup * g_simple_action_group_new (void);\";function g_simple_action_group_new() bind(c)\r\ng;g_simple_action_group_remove;GIO_DEPRECATED_IN_2_38_FOR (g_action_map_remove_action);glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleactiongroup.h;\"void g_simple_action_group_remove (GSimpleActionGroup *simple, const gchar *action_name);\";subroutine g_simple_action_group_remove(simple, action_name) bind(c)\r\ng;g_simple_action_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleaction.h;\"GSimpleAction * g_simple_action_new (const gchar *name, const GVariantType *parameter_type);\";function g_simple_action_new(name, parameter_type) bind(c)\r\ng;g_simple_action_new_stateful;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleaction.h;\"GSimpleAction * g_simple_action_new_stateful (const gchar *name, const GVariantType *parameter_type, GVariant *state);\";function g_simple_action_new_stateful(name, parameter_type, state) bind(c)\r\ng;g_simple_action_set_enabled;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleaction.h;\"void g_simple_action_set_enabled (GSimpleAction *simple, gboolean enabled);\";subroutine g_simple_action_set_enabled(simple, enabled) bind(c)\r\ng;g_simple_action_set_state;GIO_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleaction.h;\"void g_simple_action_set_state (GSimpleAction *simple, GVariant *value);\";subroutine g_simple_action_set_state(simple, value) bind(c)\r\ng;g_simple_action_set_state_hint;GIO_AVAILABLE_IN_2_44;glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleaction.h;\"void g_simple_action_set_state_hint (GSimpleAction *simple, GVariant *state_hint);\";subroutine g_simple_action_set_state_hint(simple, state_hint) bind(c)\r\ng;g_simple_async_report_gerror_in_idle;GIO_DEPRECATED_IN_2_46_FOR(g_task_report_error);glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleasyncresult.h;\"void g_simple_async_report_gerror_in_idle (GObject *object, GAsyncReadyCallback callback, gpointer user_data, const GError *error);\";subroutine g_simple_async_report_gerror_in_idle(object, callback, user_data, error) bind(c)\r\ng;g_simple_async_report_take_gerror_in_idle;GIO_DEPRECATED_IN_2_46_FOR(g_task_report_error);glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleasyncresult.h;\"void g_simple_async_report_take_gerror_in_idle (GObject *object, GAsyncReadyCallback callback, gpointer user_data, GError *error);\";subroutine g_simple_async_report_take_gerror_in_idle(object, callback, user_data, error) bind(c)\r\ng;g_simple_async_result_complete;GIO_DEPRECATED_IN_2_46;glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleasyncresult.h;\"void g_simple_async_result_complete (GSimpleAsyncResult *simple);\";subroutine g_simple_async_result_complete(simple) bind(c)\r\ng;g_simple_async_result_complete_in_idle;GIO_DEPRECATED_IN_2_46;glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleasyncresult.h;\"void g_simple_async_result_complete_in_idle (GSimpleAsyncResult *simple);\";subroutine g_simple_async_result_complete_in_idle(simple) bind(c)\r\ng;g_simple_async_result_get_op_res_gboolean;GIO_DEPRECATED_IN_2_46;glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleasyncresult.h;\"gboolean g_simple_async_result_get_op_res_gboolean (GSimpleAsyncResult *simple);\";function g_simple_async_result_get_op_res_gboolean(simple) bind(c)\r\ng;g_simple_async_result_get_op_res_gpointer;GIO_DEPRECATED_IN_2_46;glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleasyncresult.h;\"gpointer g_simple_async_result_get_op_res_gpointer (GSimpleAsyncResult *simple);\";function g_simple_async_result_get_op_res_gpointer(simple) bind(c)\r\ng;g_simple_async_result_get_op_res_gssize;GIO_DEPRECATED_IN_2_46;glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleasyncresult.h;\"gssize g_simple_async_result_get_op_res_gssize (GSimpleAsyncResult *simple);\";function g_simple_async_result_get_op_res_gssize(simple) bind(c)\r\ng;g_simple_async_result_get_source_tag;GIO_DEPRECATED_IN_2_46;glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleasyncresult.h;\"gpointer g_simple_async_result_get_source_tag (GSimpleAsyncResult *simple);\";function g_simple_async_result_get_source_tag(simple) bind(c)\r\ng;g_simple_async_result_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleasyncresult.h;\"GType g_simple_async_result_get_type (void) ;\";function g_simple_async_result_get_type() bind(c)\r\ng;g_simple_async_result_is_valid;GIO_DEPRECATED_IN_2_46;glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleasyncresult.h;\"gboolean g_simple_async_result_is_valid (GAsyncResult *result, GObject *source, gpointer source_tag);\";function g_simple_async_result_is_valid(result, source, source_tag) bind(c)\r\ng;g_simple_async_result_new;GIO_DEPRECATED_IN_2_46_FOR(g_task_new);glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleasyncresult.h;\"GSimpleAsyncResult *g_simple_async_result_new (GObject *source_object, GAsyncReadyCallback callback, gpointer user_data, gpointer source_tag);\";function g_simple_async_result_new(source_object, callback, user_data, source_tag) bind(c)\r\ng;g_simple_async_result_new_from_error;GIO_DEPRECATED_IN_2_46_FOR(g_task_new);glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleasyncresult.h;\"GSimpleAsyncResult *g_simple_async_result_new_from_error (GObject *source_object, GAsyncReadyCallback callback, gpointer user_data, const GError *error);\";function g_simple_async_result_new_from_error(source_object, callback, user_data, error) bind(c)\r\ng;g_simple_async_result_new_take_error;GIO_DEPRECATED_IN_2_46_FOR(g_task_new);glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleasyncresult.h;\"GSimpleAsyncResult *g_simple_async_result_new_take_error (GObject *source_object, GAsyncReadyCallback callback, gpointer user_data, GError *error);\";function g_simple_async_result_new_take_error(source_object, callback, user_data, error) bind(c)\r\ng;g_simple_async_result_propagate_error;GIO_DEPRECATED_IN_2_46;glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleasyncresult.h;\"gboolean g_simple_async_result_propagate_error (GSimpleAsyncResult *simple, GError **dest);\";function g_simple_async_result_propagate_error(simple, dest) bind(c)\r\ng;g_simple_async_result_run_in_thread;GIO_DEPRECATED_IN_2_46;glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleasyncresult.h;\"void g_simple_async_result_run_in_thread (GSimpleAsyncResult *simple, GSimpleAsyncThreadFunc func, int io_priority, GCancellable *cancellable);\";subroutine g_simple_async_result_run_in_thread(simple, func, io_priority, cancellable) bind(c)\r\ng;g_simple_async_result_set_check_cancellable;GIO_AVAILABLE_IN_2_32 /* Also deprecated, but can't mark something both AVAILABLE and DEPRECATED */;glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleasyncresult.h;\"void g_simple_async_result_set_check_cancellable (GSimpleAsyncResult *simple, GCancellable *check_cancellable);\";subroutine g_simple_async_result_set_check_cancellable(simple, check_cancellable) bind(c)\r\ng;g_simple_async_result_set_error_va;GIO_DEPRECATED_IN_2_46;glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleasyncresult.h;\"void g_simple_async_result_set_error_va (GSimpleAsyncResult *simple, GQuark domain, gint code, const char *format, va_list args) ;\";subroutine g_simple_async_result_set_error_va(simple, domain, code, format, args) bind(c)\r\ng;g_simple_async_result_set_from_error;GIO_DEPRECATED_IN_2_46;glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleasyncresult.h;\"void g_simple_async_result_set_from_error (GSimpleAsyncResult *simple, const GError *error);\";subroutine g_simple_async_result_set_from_error(simple, error) bind(c)\r\ng;g_simple_async_result_set_handle_cancellation;GIO_DEPRECATED_IN_2_46;glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleasyncresult.h;\"void g_simple_async_result_set_handle_cancellation (GSimpleAsyncResult *simple, gboolean handle_cancellation);\";subroutine g_simple_async_result_set_handle_cancellation(simple, handle_cancellation) bind(c)\r\ng;g_simple_async_result_set_op_res_gboolean;GIO_DEPRECATED_IN_2_46;glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleasyncresult.h;\"void g_simple_async_result_set_op_res_gboolean (GSimpleAsyncResult *simple, gboolean op_res);\";subroutine g_simple_async_result_set_op_res_gboolean(simple, op_res) bind(c)\r\ng;g_simple_async_result_set_op_res_gpointer;GIO_DEPRECATED_IN_2_46;glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleasyncresult.h;\"void g_simple_async_result_set_op_res_gpointer (GSimpleAsyncResult *simple, gpointer op_res, GDestroyNotify destroy_op_res);\";subroutine g_simple_async_result_set_op_res_gpointer(simple, op_res, destroy_op_res) bind(c)\r\ng;g_simple_async_result_set_op_res_gssize;GIO_DEPRECATED_IN_2_46;glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleasyncresult.h;\"void g_simple_async_result_set_op_res_gssize (GSimpleAsyncResult *simple, gssize op_res);\";subroutine g_simple_async_result_set_op_res_gssize(simple, op_res) bind(c)\r\ng;g_simple_async_result_take_error;GIO_DEPRECATED_IN_2_46;glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleasyncresult.h;\"void g_simple_async_result_take_error (GSimpleAsyncResult *simple, GError *error);\";subroutine g_simple_async_result_take_error(simple, error) bind(c)\r\ng;g_simple_io_stream_get_type;GIO_AVAILABLE_IN_2_44;glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleiostream.h;\"GType g_simple_io_stream_get_type (void) ;\";function g_simple_io_stream_get_type() bind(c)\r\ng;g_simple_io_stream_new;GIO_AVAILABLE_IN_2_44;glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleiostream.h;\"GIOStream *g_simple_io_stream_new (GInputStream *input_stream, GOutputStream *output_stream);\";function g_simple_io_stream_new(input_stream, output_stream) bind(c)\r\ng;g_simple_permission_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsimplepermission.h;\"GType g_simple_permission_get_type (void);\";function g_simple_permission_get_type() bind(c)\r\ng;g_simple_permission_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsimplepermission.h;\"GPermission * g_simple_permission_new (gboolean allowed);\";function g_simple_permission_new(allowed) bind(c)\r\ng;g_simple_proxy_resolver_get_type;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleproxyresolver.h;\"GType g_simple_proxy_resolver_get_type (void) ;\";function g_simple_proxy_resolver_get_type() bind(c)\r\ng;g_simple_proxy_resolver_new;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleproxyresolver.h;\"GProxyResolver *g_simple_proxy_resolver_new (const gchar *default_proxy, gchar **ignore_hosts);\";function g_simple_proxy_resolver_new(default_proxy, ignore_hosts) bind(c)\r\ng;g_simple_proxy_resolver_set_default_proxy;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleproxyresolver.h;\"void g_simple_proxy_resolver_set_default_proxy (GSimpleProxyResolver *resolver, const gchar *default_proxy);\";subroutine g_simple_proxy_resolver_set_default_proxy(resolver, default_proxy) bind(c)\r\ng;g_simple_proxy_resolver_set_ignore_hosts;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleproxyresolver.h;\"void g_simple_proxy_resolver_set_ignore_hosts (GSimpleProxyResolver *resolver, gchar **ignore_hosts);\";subroutine g_simple_proxy_resolver_set_ignore_hosts(resolver, ignore_hosts) bind(c)\r\ng;g_simple_proxy_resolver_set_uri_proxy;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gsimpleproxyresolver.h;\"void g_simple_proxy_resolver_set_uri_proxy (GSimpleProxyResolver *resolver, const gchar *uri_scheme, const gchar *proxy);\";subroutine g_simple_proxy_resolver_set_uri_proxy(resolver, uri_scheme, proxy) bind(c)\r\ng;g_slice_alloc;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gslice.h;\"gpointer g_slice_alloc (gsize block_size) ;\";function g_slice_alloc(block_size) bind(c)\r\ng;g_slice_alloc0;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gslice.h;\"gpointer g_slice_alloc0 (gsize block_size) ;\";function g_slice_alloc0(block_size) bind(c)\r\ng;g_slice_copy;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gslice.h;\"gpointer g_slice_copy (gsize block_size, gconstpointer mem_block) ;\";function g_slice_copy(block_size, mem_block) bind(c)\r\ng;g_slice_debug_tree_statistics;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gslice.h;\"void g_slice_debug_tree_statistics (void);\";subroutine g_slice_debug_tree_statistics() bind(c)\r\ng;g_slice_free1;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gslice.h;\"void g_slice_free1 (gsize block_size, gpointer mem_block);\";subroutine g_slice_free1(block_size, mem_block) bind(c)\r\ng;g_slice_free_chain_with_offset;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gslice.h;\"void g_slice_free_chain_with_offset (gsize block_size, gpointer mem_chain, gsize next_offset);\";subroutine g_slice_free_chain_with_offset(block_size, mem_chain, next_offset) bind(c)\r\ng;g_slice_get_config;GLIB_DEPRECATED_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/glib/gslice.h;\"gint64 g_slice_get_config (GSliceConfig ckey);\";function g_slice_get_config(ckey) bind(c)\r\ng;g_slice_get_config_state;GLIB_DEPRECATED_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/glib/gslice.h;\"gint64* g_slice_get_config_state (GSliceConfig ckey, gint64 address, guint *n_values);\";function g_slice_get_config_state(ckey, address, n_values) bind(c)\r\ng;g_slice_set_config;GLIB_DEPRECATED_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/glib/gslice.h;\"void g_slice_set_config (GSliceConfig ckey, gint64 value);\";subroutine g_slice_set_config(ckey, value) bind(c)\r\ng;g_slist_alloc;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gslist.h;\"GSList* g_slist_alloc (void) ;\";function g_slist_alloc() bind(c)\r\ng;g_slist_append;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gslist.h;\"GSList* g_slist_append (GSList *list, gpointer data) ;\";function g_slist_append(list, data) bind(c)\r\ng;g_slist_concat;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gslist.h;\"GSList* g_slist_concat (GSList *list1, GSList *list2) ;\";function g_slist_concat(list1, list2) bind(c)\r\ng;g_slist_copy;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gslist.h;\"GSList* g_slist_copy (GSList *list) ;\";function g_slist_copy(list) bind(c)\r\ng;g_slist_copy_deep;GLIB_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/glib/gslist.h;\"GSList* g_slist_copy_deep (GSList *list, GCopyFunc func, gpointer user_data) ;\";function g_slist_copy_deep(list, func, user_data) bind(c)\r\ng;g_slist_delete_link;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gslist.h;\"GSList* g_slist_delete_link (GSList *list, GSList *link_) ;\";function g_slist_delete_link(list, link_) bind(c)\r\ng;g_slist_find;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gslist.h;\"GSList* g_slist_find (GSList *list, gconstpointer data);\";function g_slist_find(list, data) bind(c)\r\ng;g_slist_find_custom;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gslist.h;\"GSList* g_slist_find_custom (GSList *list, gconstpointer data, GCompareFunc func);\";function g_slist_find_custom(list, data, func) bind(c)\r\ng;g_slist_foreach;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gslist.h;\"void g_slist_foreach (GSList *list, GFunc func, gpointer user_data);\";subroutine g_slist_foreach(list, func, user_data) bind(c)\r\ng;g_slist_free;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gslist.h;\"void g_slist_free (GSList *list);\";subroutine g_slist_free(list) bind(c)\r\ng;g_slist_free_1;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gslist.h;\"void g_slist_free_1 (GSList *list);\";subroutine g_slist_free_1(list) bind(c)\r\ng;g_slist_free_full;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gslist.h;\"void g_slist_free_full (GSList *list, GDestroyNotify free_func);\";subroutine g_slist_free_full(list, free_func) bind(c)\r\ng;g_slist_index;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gslist.h;\"gint g_slist_index (GSList *list, gconstpointer data);\";function g_slist_index(list, data) bind(c)\r\ng;g_slist_insert;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gslist.h;\"GSList* g_slist_insert (GSList *list, gpointer data, gint position) ;\";function g_slist_insert(list, data, position) bind(c)\r\ng;g_slist_insert_before;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gslist.h;\"GSList* g_slist_insert_before (GSList *slist, GSList *sibling, gpointer data) ;\";function g_slist_insert_before(slist, sibling, data) bind(c)\r\ng;g_slist_insert_sorted;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gslist.h;\"GSList* g_slist_insert_sorted (GSList *list, gpointer data, GCompareFunc func) ;\";function g_slist_insert_sorted(list, data, func) bind(c)\r\ng;g_slist_insert_sorted_with_data;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gslist.h;\"GSList* g_slist_insert_sorted_with_data (GSList *list, gpointer data, GCompareDataFunc func, gpointer user_data) ;\";function g_slist_insert_sorted_with_data(list, data, func, user_data) bind(c)\r\ng;g_slist_last;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gslist.h;\"GSList* g_slist_last (GSList *list);\";function g_slist_last(list) bind(c)\r\ng;g_slist_length;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gslist.h;\"guint g_slist_length (GSList *list);\";function g_slist_length(list) bind(c)\r\ng;g_slist_nth;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gslist.h;\"GSList* g_slist_nth (GSList *list, guint n);\";function g_slist_nth(list, n) bind(c)\r\ng;g_slist_nth_data;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gslist.h;\"gpointer g_slist_nth_data (GSList *list, guint n);\";function g_slist_nth_data(list, n) bind(c)\r\ng;g_slist_pop_allocator;GLIB_DEPRECATED;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gallocator.h;\"void g_slist_pop_allocator (void);\";subroutine g_slist_pop_allocator() bind(c)\r\ng;g_slist_position;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gslist.h;\"gint g_slist_position (GSList *list, GSList *llink);\";function g_slist_position(list, llink) bind(c)\r\ng;g_slist_prepend;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gslist.h;\"GSList* g_slist_prepend (GSList *list, gpointer data) ;\";function g_slist_prepend(list, data) bind(c)\r\ng;g_slist_push_allocator;GLIB_DEPRECATED;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gallocator.h;\"void g_slist_push_allocator (GAllocator *allocator);\";subroutine g_slist_push_allocator(allocator) bind(c)\r\ng;g_slist_remove;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gslist.h;\"GSList* g_slist_remove (GSList *list, gconstpointer data) ;\";function g_slist_remove(list, data) bind(c)\r\ng;g_slist_remove_all;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gslist.h;\"GSList* g_slist_remove_all (GSList *list, gconstpointer data) ;\";function g_slist_remove_all(list, data) bind(c)\r\ng;g_slist_remove_link;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gslist.h;\"GSList* g_slist_remove_link (GSList *list, GSList *link_) ;\";function g_slist_remove_link(list, link_) bind(c)\r\ng;g_slist_reverse;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gslist.h;\"GSList* g_slist_reverse (GSList *list) ;\";function g_slist_reverse(list) bind(c)\r\ng;g_slist_sort;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gslist.h;\"GSList* g_slist_sort (GSList *list, GCompareFunc compare_func) ;\";function g_slist_sort(list, compare_func) bind(c)\r\ng;g_slist_sort_with_data;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gslist.h;\"GSList* g_slist_sort_with_data (GSList *list, GCompareDataFunc compare_func, gpointer user_data) ;\";function g_slist_sort_with_data(list, compare_func, user_data) bind(c)\r\ng;g_socket_accept;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"GSocket * g_socket_accept (GSocket *socket, GCancellable *cancellable, GError **error);\";function g_socket_accept(socket, cancellable, error) bind(c)\r\ng;g_socket_address_enumerator_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketaddressenumerator.h;\"GType g_socket_address_enumerator_get_type (void) ;\";function g_socket_address_enumerator_get_type() bind(c)\r\ng;g_socket_address_enumerator_next;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketaddressenumerator.h;\"GSocketAddress *g_socket_address_enumerator_next (GSocketAddressEnumerator *enumerator, GCancellable *cancellable, GError **error);\";function g_socket_address_enumerator_next(enumerator, cancellable, error) bind(c)\r\ng;g_socket_address_enumerator_next_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketaddressenumerator.h;\"void g_socket_address_enumerator_next_async (GSocketAddressEnumerator *enumerator, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_socket_address_enumerator_next_async(enumerator, cancellable, callback, user_data) bind(c)\r\ng;g_socket_address_enumerator_next_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketaddressenumerator.h;\"GSocketAddress *g_socket_address_enumerator_next_finish (GSocketAddressEnumerator *enumerator, GAsyncResult *result, GError **error);\";function g_socket_address_enumerator_next_finish(enumerator, result, error) bind(c)\r\ng;g_socket_address_get_family;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketaddress.h;\"GSocketFamily g_socket_address_get_family (GSocketAddress *address);\";function g_socket_address_get_family(address) bind(c)\r\ng;g_socket_address_get_native_size;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketaddress.h;\"gssize g_socket_address_get_native_size (GSocketAddress *address);\";function g_socket_address_get_native_size(address) bind(c)\r\ng;g_socket_address_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketaddress.h;\"GType g_socket_address_get_type (void) ;\";function g_socket_address_get_type() bind(c)\r\ng;g_socket_address_new_from_native;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketaddress.h;\"GSocketAddress * g_socket_address_new_from_native (gpointer native, gsize len);\";function g_socket_address_new_from_native(native, len) bind(c)\r\ng;g_socket_address_to_native;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketaddress.h;\"gboolean g_socket_address_to_native (GSocketAddress *address, gpointer dest, gsize destlen, GError **error);\";function g_socket_address_to_native(address, dest, destlen, error) bind(c)\r\ng;g_socket_bind;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"gboolean g_socket_bind (GSocket *socket, GSocketAddress *address, gboolean allow_reuse, GError **error);\";function g_socket_bind(socket, address, allow_reuse, error) bind(c)\r\ng;g_socket_check_connect_result;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"gboolean g_socket_check_connect_result (GSocket *socket, GError **error);\";function g_socket_check_connect_result(socket, error) bind(c)\r\ng;g_socket_client_add_application_proxy;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketclient.h;\"void g_socket_client_add_application_proxy (GSocketClient *client, const gchar *protocol);\";subroutine g_socket_client_add_application_proxy(client, protocol) bind(c)\r\ng;g_socket_client_connect;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketclient.h;\"GSocketConnection * g_socket_client_connect (GSocketClient *client, GSocketConnectable *connectable, GCancellable *cancellable, GError **error);\";function g_socket_client_connect(client, connectable, cancellable, error) bind(c)\r\ng;g_socket_client_connect_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketclient.h;\"void g_socket_client_connect_async (GSocketClient *client, GSocketConnectable *connectable, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_socket_client_connect_async(client, connectable, cancellable, callback, user_data) bind(c)\r\ng;g_socket_client_connect_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketclient.h;\"GSocketConnection * g_socket_client_connect_finish (GSocketClient *client, GAsyncResult *result, GError **error);\";function g_socket_client_connect_finish(client, result, error) bind(c)\r\ng;g_socket_client_connect_to_host;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketclient.h;\"GSocketConnection * g_socket_client_connect_to_host (GSocketClient *client, const gchar *host_and_port, guint16 default_port, GCancellable *cancellable, GError **error);\";function g_socket_client_connect_to_host(client, host_and_port, default_port, cancellable, error) bind(c)\r\ng;g_socket_client_connect_to_host_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketclient.h;\"void g_socket_client_connect_to_host_async (GSocketClient *client, const gchar *host_and_port, guint16 default_port, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_socket_client_connect_to_host_async(client, host_and_port, default_port, cancellable, callback, user_data) bind(c)\r\ng;g_socket_client_connect_to_host_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketclient.h;\"GSocketConnection * g_socket_client_connect_to_host_finish (GSocketClient *client, GAsyncResult *result, GError **error);\";function g_socket_client_connect_to_host_finish(client, result, error) bind(c)\r\ng;g_socket_client_connect_to_service;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketclient.h;\"GSocketConnection * g_socket_client_connect_to_service (GSocketClient *client, const gchar *domain, const gchar *service, GCancellable *cancellable, GError **error);\";function g_socket_client_connect_to_service(client, domain, service, cancellable, error) bind(c)\r\ng;g_socket_client_connect_to_service_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketclient.h;\"void g_socket_client_connect_to_service_async (GSocketClient *client, const gchar *domain, const gchar *service, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_socket_client_connect_to_service_async(client, domain, service, cancellable, callback, user_data) bind(c)\r\ng;g_socket_client_connect_to_service_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketclient.h;\"GSocketConnection * g_socket_client_connect_to_service_finish (GSocketClient *client, GAsyncResult *result, GError **error);\";function g_socket_client_connect_to_service_finish(client, result, error) bind(c)\r\ng;g_socket_client_connect_to_uri;GIO_AVAILABLE_IN_2_26;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketclient.h;\"GSocketConnection * g_socket_client_connect_to_uri (GSocketClient *client, const gchar *uri, guint16 default_port, GCancellable *cancellable, GError **error);\";function g_socket_client_connect_to_uri(client, uri, default_port, cancellable, error) bind(c)\r\ng;g_socket_client_connect_to_uri_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketclient.h;\"void g_socket_client_connect_to_uri_async (GSocketClient *client, const gchar *uri, guint16 default_port, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_socket_client_connect_to_uri_async(client, uri, default_port, cancellable, callback, user_data) bind(c)\r\ng;g_socket_client_connect_to_uri_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketclient.h;\"GSocketConnection * g_socket_client_connect_to_uri_finish (GSocketClient *client, GAsyncResult *result, GError **error);\";function g_socket_client_connect_to_uri_finish(client, result, error) bind(c)\r\ng;g_socket_client_get_enable_proxy;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketclient.h;\"gboolean g_socket_client_get_enable_proxy (GSocketClient *client);\";function g_socket_client_get_enable_proxy(client) bind(c)\r\ng;g_socket_client_get_family;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketclient.h;\"GSocketFamily g_socket_client_get_family (GSocketClient *client);\";function g_socket_client_get_family(client) bind(c)\r\ng;g_socket_client_get_local_address;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketclient.h;\"GSocketAddress *g_socket_client_get_local_address (GSocketClient *client);\";function g_socket_client_get_local_address(client) bind(c)\r\ng;g_socket_client_get_protocol;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketclient.h;\"GSocketProtocol g_socket_client_get_protocol (GSocketClient *client);\";function g_socket_client_get_protocol(client) bind(c)\r\ng;g_socket_client_get_proxy_resolver;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketclient.h;\"GProxyResolver *g_socket_client_get_proxy_resolver (GSocketClient *client);\";function g_socket_client_get_proxy_resolver(client) bind(c)\r\ng;g_socket_client_get_socket_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketclient.h;\"GSocketType g_socket_client_get_socket_type (GSocketClient *client);\";function g_socket_client_get_socket_type(client) bind(c)\r\ng;g_socket_client_get_timeout;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketclient.h;\"guint g_socket_client_get_timeout (GSocketClient *client);\";function g_socket_client_get_timeout(client) bind(c)\r\ng;g_socket_client_get_tls;GIO_AVAILABLE_IN_2_28;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketclient.h;\"gboolean g_socket_client_get_tls (GSocketClient *client);\";function g_socket_client_get_tls(client) bind(c)\r\ng;g_socket_client_get_tls_validation_flags;GIO_DEPRECATED_IN_2_72;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketclient.h;\"GTlsCertificateFlags g_socket_client_get_tls_validation_flags (GSocketClient *client);\";function g_socket_client_get_tls_validation_flags(client) bind(c)\r\ng;g_socket_client_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketclient.h;\"GType g_socket_client_get_type (void) ;\";function g_socket_client_get_type() bind(c)\r\ng;g_socket_client_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketclient.h;\"GSocketClient *g_socket_client_new (void);\";function g_socket_client_new() bind(c)\r\ng;g_socket_client_set_enable_proxy;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketclient.h;\"void g_socket_client_set_enable_proxy (GSocketClient *client, gboolean enable);\";subroutine g_socket_client_set_enable_proxy(client, enable) bind(c)\r\ng;g_socket_client_set_family;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketclient.h;\"void g_socket_client_set_family (GSocketClient *client, GSocketFamily family);\";subroutine g_socket_client_set_family(client, family) bind(c)\r\ng;g_socket_client_set_local_address;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketclient.h;\"void g_socket_client_set_local_address (GSocketClient *client, GSocketAddress *address);\";subroutine g_socket_client_set_local_address(client, address) bind(c)\r\ng;g_socket_client_set_protocol;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketclient.h;\"void g_socket_client_set_protocol (GSocketClient *client, GSocketProtocol protocol);\";subroutine g_socket_client_set_protocol(client, protocol) bind(c)\r\ng;g_socket_client_set_proxy_resolver;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketclient.h;\"void g_socket_client_set_proxy_resolver (GSocketClient *client, GProxyResolver *proxy_resolver);\";subroutine g_socket_client_set_proxy_resolver(client, proxy_resolver) bind(c)\r\ng;g_socket_client_set_socket_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketclient.h;\"void g_socket_client_set_socket_type (GSocketClient *client, GSocketType type);\";subroutine g_socket_client_set_socket_type(client, type) bind(c)\r\ng;g_socket_client_set_timeout;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketclient.h;\"void g_socket_client_set_timeout (GSocketClient *client, guint timeout);\";subroutine g_socket_client_set_timeout(client, timeout) bind(c)\r\ng;g_socket_client_set_tls;GIO_AVAILABLE_IN_2_28;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketclient.h;\"void g_socket_client_set_tls (GSocketClient *client, gboolean tls);\";subroutine g_socket_client_set_tls(client, tls) bind(c)\r\ng;g_socket_client_set_tls_validation_flags;GIO_DEPRECATED_IN_2_72;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketclient.h;\"void g_socket_client_set_tls_validation_flags (GSocketClient *client, GTlsCertificateFlags flags);\";subroutine g_socket_client_set_tls_validation_flags(client, flags) bind(c)\r\ng;g_socket_close;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"gboolean g_socket_close (GSocket *socket, GError **error);\";function g_socket_close(socket, error) bind(c)\r\ng;g_socket_condition_check;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"GIOCondition g_socket_condition_check (GSocket *socket, GIOCondition condition);\";function g_socket_condition_check(socket, condition) bind(c)\r\ng;g_socket_condition_timed_wait;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"gboolean g_socket_condition_timed_wait (GSocket *socket, GIOCondition condition, gint64 timeout_us, GCancellable *cancellable, GError **error);\";function g_socket_condition_timed_wait(socket, condition, timeout_us, cancellable, error) bind(c)\r\ng;g_socket_condition_wait;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"gboolean g_socket_condition_wait (GSocket *socket, GIOCondition condition, GCancellable *cancellable, GError **error);\";function g_socket_condition_wait(socket, condition, cancellable, error) bind(c)\r\ng;g_socket_connect;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"gboolean g_socket_connect (GSocket *socket, GSocketAddress *address, GCancellable *cancellable, GError **error);\";function g_socket_connect(socket, address, cancellable, error) bind(c)\r\ng;g_socket_connectable_enumerate;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketconnectable.h;\"GSocketAddressEnumerator *g_socket_connectable_enumerate (GSocketConnectable *connectable);\";function g_socket_connectable_enumerate(connectable) bind(c)\r\ng;g_socket_connectable_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketconnectable.h;\"GType g_socket_connectable_get_type (void) ;\";function g_socket_connectable_get_type() bind(c)\r\ng;g_socket_connectable_proxy_enumerate;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketconnectable.h;\"GSocketAddressEnumerator *g_socket_connectable_proxy_enumerate (GSocketConnectable *connectable);\";function g_socket_connectable_proxy_enumerate(connectable) bind(c)\r\ng;g_socket_connectable_to_string;GIO_AVAILABLE_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketconnectable.h;\"gchar *g_socket_connectable_to_string (GSocketConnectable *connectable);\";function g_socket_connectable_to_string(connectable) bind(c)\r\ng;g_socket_connection_connect;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketconnection.h;\"gboolean g_socket_connection_connect (GSocketConnection *connection, GSocketAddress *address, GCancellable *cancellable, GError **error);\";function g_socket_connection_connect(connection, address, cancellable, error) bind(c)\r\ng;g_socket_connection_connect_async;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketconnection.h;\"void g_socket_connection_connect_async (GSocketConnection *connection, GSocketAddress *address, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_socket_connection_connect_async(connection, address, cancellable, callback, user_data) bind(c)\r\ng;g_socket_connection_connect_finish;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketconnection.h;\"gboolean g_socket_connection_connect_finish (GSocketConnection *connection, GAsyncResult *result, GError **error);\";function g_socket_connection_connect_finish(connection, result, error) bind(c)\r\ng;g_socket_connection_factory_create_connection;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketconnection.h;\"GSocketConnection *g_socket_connection_factory_create_connection (GSocket *socket);\";function g_socket_connection_factory_create_connection(socket) bind(c)\r\ng;g_socket_connection_factory_lookup_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketconnection.h;\"GType g_socket_connection_factory_lookup_type (GSocketFamily family, GSocketType type, gint protocol_id);\";function g_socket_connection_factory_lookup_type(family, type, protocol_id) bind(c)\r\ng;g_socket_connection_factory_register_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketconnection.h;\"void g_socket_connection_factory_register_type (GType g_type, GSocketFamily family, GSocketType type, gint protocol);\";subroutine g_socket_connection_factory_register_type(g_type, family, type, protocol) bind(c)\r\ng;g_socket_connection_get_local_address;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketconnection.h;\"GSocketAddress *g_socket_connection_get_local_address (GSocketConnection *connection, GError **error);\";function g_socket_connection_get_local_address(connection, error) bind(c)\r\ng;g_socket_connection_get_remote_address;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketconnection.h;\"GSocketAddress *g_socket_connection_get_remote_address (GSocketConnection *connection, GError **error);\";function g_socket_connection_get_remote_address(connection, error) bind(c)\r\ng;g_socket_connection_get_socket;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketconnection.h;\"GSocket *g_socket_connection_get_socket (GSocketConnection *connection);\";function g_socket_connection_get_socket(connection) bind(c)\r\ng;g_socket_connection_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketconnection.h;\"GType g_socket_connection_get_type (void) ;\";function g_socket_connection_get_type() bind(c)\r\ng;g_socket_connection_is_connected;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketconnection.h;\"gboolean g_socket_connection_is_connected (GSocketConnection *connection);\";function g_socket_connection_is_connected(connection) bind(c)\r\ng;g_socket_control_message_deserialize;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketcontrolmessage.h;\"GSocketControlMessage *g_socket_control_message_deserialize (int level, int type, gsize size, gpointer data);\";function g_socket_control_message_deserialize(level, type, size, data) bind(c)\r\ng;g_socket_control_message_get_level;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketcontrolmessage.h;\"int g_socket_control_message_get_level (GSocketControlMessage *message);\";function g_socket_control_message_get_level(message) bind(c)\r\ng;g_socket_control_message_get_msg_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketcontrolmessage.h;\"int g_socket_control_message_get_msg_type (GSocketControlMessage *message);\";function g_socket_control_message_get_msg_type(message) bind(c)\r\ng;g_socket_control_message_get_size;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketcontrolmessage.h;\"gsize g_socket_control_message_get_size (GSocketControlMessage *message);\";function g_socket_control_message_get_size(message) bind(c)\r\ng;g_socket_control_message_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketcontrolmessage.h;\"GType g_socket_control_message_get_type (void) ;\";function g_socket_control_message_get_type() bind(c)\r\ng;g_socket_control_message_serialize;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketcontrolmessage.h;\"void g_socket_control_message_serialize (GSocketControlMessage *message, gpointer data);\";subroutine g_socket_control_message_serialize(message, data) bind(c)\r\ng;g_socket_create_source;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"GSource * g_socket_create_source (GSocket *socket, GIOCondition condition, GCancellable *cancellable);\";function g_socket_create_source(socket, condition, cancellable) bind(c)\r\ng;g_socket_get_available_bytes;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"gssize g_socket_get_available_bytes (GSocket *socket);\";function g_socket_get_available_bytes(socket) bind(c)\r\ng;g_socket_get_blocking;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"gboolean g_socket_get_blocking (GSocket *socket);\";function g_socket_get_blocking(socket) bind(c)\r\ng;g_socket_get_broadcast;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"gboolean g_socket_get_broadcast (GSocket *socket);\";function g_socket_get_broadcast(socket) bind(c)\r\ng;g_socket_get_credentials;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"GCredentials *g_socket_get_credentials (GSocket *socket, GError **error);\";function g_socket_get_credentials(socket, error) bind(c)\r\ng;g_socket_get_family;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"GSocketFamily g_socket_get_family (GSocket *socket);\";function g_socket_get_family(socket) bind(c)\r\ng;g_socket_get_fd;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"int g_socket_get_fd (GSocket *socket);\";function g_socket_get_fd(socket) bind(c)\r\ng;g_socket_get_keepalive;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"gboolean g_socket_get_keepalive (GSocket *socket);\";function g_socket_get_keepalive(socket) bind(c)\r\ng;g_socket_get_listen_backlog;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"gint g_socket_get_listen_backlog (GSocket *socket);\";function g_socket_get_listen_backlog(socket) bind(c)\r\ng;g_socket_get_local_address;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"GSocketAddress * g_socket_get_local_address (GSocket *socket, GError **error);\";function g_socket_get_local_address(socket, error) bind(c)\r\ng;g_socket_get_multicast_loopback;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"gboolean g_socket_get_multicast_loopback (GSocket *socket);\";function g_socket_get_multicast_loopback(socket) bind(c)\r\ng;g_socket_get_multicast_ttl;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"guint g_socket_get_multicast_ttl (GSocket *socket);\";function g_socket_get_multicast_ttl(socket) bind(c)\r\ng;g_socket_get_option;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"gboolean g_socket_get_option (GSocket *socket, gint level, gint optname, gint *value, GError **error);\";function g_socket_get_option(socket, level, optname, value, error) bind(c)\r\ng;g_socket_get_protocol;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"GSocketProtocol g_socket_get_protocol (GSocket *socket);\";function g_socket_get_protocol(socket) bind(c)\r\ng;g_socket_get_remote_address;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"GSocketAddress * g_socket_get_remote_address (GSocket *socket, GError **error);\";function g_socket_get_remote_address(socket, error) bind(c)\r\ng;g_socket_get_socket_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"GSocketType g_socket_get_socket_type (GSocket *socket);\";function g_socket_get_socket_type(socket) bind(c)\r\ng;g_socket_get_timeout;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"guint g_socket_get_timeout (GSocket *socket);\";function g_socket_get_timeout(socket) bind(c)\r\ng;g_socket_get_ttl;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"guint g_socket_get_ttl (GSocket *socket);\";function g_socket_get_ttl(socket) bind(c)\r\ng;g_socket_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"GType g_socket_get_type (void) ;\";function g_socket_get_type() bind(c)\r\ng;g_socket_is_closed;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"gboolean g_socket_is_closed (GSocket *socket);\";function g_socket_is_closed(socket) bind(c)\r\ng;g_socket_is_connected;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"gboolean g_socket_is_connected (GSocket *socket);\";function g_socket_is_connected(socket) bind(c)\r\ng;g_socket_join_multicast_group;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"gboolean g_socket_join_multicast_group (GSocket *socket, GInetAddress *group, gboolean source_specific, const gchar *iface, GError **error);\";function g_socket_join_multicast_group(socket, group, source_specific, iface, error) bind(c)\r\ng;g_socket_join_multicast_group_ssm;GIO_AVAILABLE_IN_2_56;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"gboolean g_socket_join_multicast_group_ssm (GSocket *socket, GInetAddress *group, GInetAddress *source_specific, const gchar *iface, GError **error);\";function g_socket_join_multicast_group_ssm(socket, group, source_specific, iface, error) bind(c)\r\ng;g_socket_leave_multicast_group;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"gboolean g_socket_leave_multicast_group (GSocket *socket, GInetAddress *group, gboolean source_specific, const gchar *iface, GError **error);\";function g_socket_leave_multicast_group(socket, group, source_specific, iface, error) bind(c)\r\ng;g_socket_leave_multicast_group_ssm;GIO_AVAILABLE_IN_2_56;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"gboolean g_socket_leave_multicast_group_ssm (GSocket *socket, GInetAddress *group, GInetAddress *source_specific, const gchar *iface, GError **error);\";function g_socket_leave_multicast_group_ssm(socket, group, source_specific, iface, error) bind(c)\r\ng;g_socket_listen;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"gboolean g_socket_listen (GSocket *socket, GError **error);\";function g_socket_listen(socket, error) bind(c)\r\ng;g_socket_listener_accept;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketlistener.h;\"GSocketConnection * g_socket_listener_accept (GSocketListener *listener, GObject **source_object, GCancellable *cancellable, GError **error);\";function g_socket_listener_accept(listener, source_object, cancellable, error) bind(c)\r\ng;g_socket_listener_accept_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketlistener.h;\"void g_socket_listener_accept_async (GSocketListener *listener, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_socket_listener_accept_async(listener, cancellable, callback, user_data) bind(c)\r\ng;g_socket_listener_accept_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketlistener.h;\"GSocketConnection * g_socket_listener_accept_finish (GSocketListener *listener, GAsyncResult *result, GObject **source_object, GError **error);\";function g_socket_listener_accept_finish(listener, result, source_object, error) bind(c)\r\ng;g_socket_listener_accept_socket;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketlistener.h;\"GSocket * g_socket_listener_accept_socket (GSocketListener *listener, GObject **source_object, GCancellable *cancellable, GError **error);\";function g_socket_listener_accept_socket(listener, source_object, cancellable, error) bind(c)\r\ng;g_socket_listener_accept_socket_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketlistener.h;\"void g_socket_listener_accept_socket_async (GSocketListener *listener, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_socket_listener_accept_socket_async(listener, cancellable, callback, user_data) bind(c)\r\ng;g_socket_listener_accept_socket_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketlistener.h;\"GSocket * g_socket_listener_accept_socket_finish (GSocketListener *listener, GAsyncResult *result, GObject **source_object, GError **error);\";function g_socket_listener_accept_socket_finish(listener, result, source_object, error) bind(c)\r\ng;g_socket_listener_add_address;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketlistener.h;\"gboolean g_socket_listener_add_address (GSocketListener *listener, GSocketAddress *address, GSocketType type, GSocketProtocol protocol, GObject *source_object, GSocketAddress **effective_address, GError **error);\";function g_socket_listener_add_address(listener, address, type, protocol, source_object, effective_address, error) bind(c)\r\ng;g_socket_listener_add_any_inet_port;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketlistener.h;\"guint16 g_socket_listener_add_any_inet_port (GSocketListener *listener, GObject *source_object, GError **error);\";function g_socket_listener_add_any_inet_port(listener, source_object, error) bind(c)\r\ng;g_socket_listener_add_inet_port;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketlistener.h;\"gboolean g_socket_listener_add_inet_port (GSocketListener *listener, guint16 port, GObject *source_object, GError **error);\";function g_socket_listener_add_inet_port(listener, port, source_object, error) bind(c)\r\ng;g_socket_listener_add_socket;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketlistener.h;\"gboolean g_socket_listener_add_socket (GSocketListener *listener, GSocket *socket, GObject *source_object, GError **error);\";function g_socket_listener_add_socket(listener, socket, source_object, error) bind(c)\r\ng;g_socket_listener_close;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketlistener.h;\"void g_socket_listener_close (GSocketListener *listener);\";subroutine g_socket_listener_close(listener) bind(c)\r\ng;g_socket_listener_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketlistener.h;\"GType g_socket_listener_get_type (void) ;\";function g_socket_listener_get_type() bind(c)\r\ng;g_socket_listener_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketlistener.h;\"GSocketListener * g_socket_listener_new (void);\";function g_socket_listener_new() bind(c)\r\ng;g_socket_listener_set_backlog;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketlistener.h;\"void g_socket_listener_set_backlog (GSocketListener *listener, int listen_backlog);\";subroutine g_socket_listener_set_backlog(listener, listen_backlog) bind(c)\r\ng;g_socket_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"GSocket * g_socket_new (GSocketFamily family, GSocketType type, GSocketProtocol protocol, GError **error);\";function g_socket_new(family, type, protocol, error) bind(c)\r\ng;g_socket_new_from_fd;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"GSocket * g_socket_new_from_fd (gint fd, GError **error);\";function g_socket_new_from_fd(fd, error) bind(c)\r\ng;g_socket_receive;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"gssize g_socket_receive (GSocket *socket, gchar *buffer, gsize size, GCancellable *cancellable, GError **error);\";function g_socket_receive(socket, buffer, size, cancellable, error) bind(c)\r\ng;g_socket_receive_bytes;GIO_AVAILABLE_IN_2_80;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"GBytes * g_socket_receive_bytes (GSocket *socket, gsize size, gint64 timeout_us, GCancellable *cancellable, GError **error);\";function g_socket_receive_bytes(socket, size, timeout_us, cancellable, error) bind(c)\r\ng;g_socket_receive_bytes_from;GIO_AVAILABLE_IN_2_80;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"GBytes * g_socket_receive_bytes_from (GSocket *socket, GSocketAddress **address, gsize size, gint64 timeout_us, GCancellable *cancellable, GError **error);\";function g_socket_receive_bytes_from(socket, address, size, timeout_us, cancellable, error) bind(c)\r\ng;g_socket_receive_from;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"gssize g_socket_receive_from (GSocket *socket, GSocketAddress **address, gchar *buffer, gsize size, GCancellable *cancellable, GError **error);\";function g_socket_receive_from(socket, address, buffer, size, cancellable, error) bind(c)\r\ng;g_socket_receive_message;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"gssize g_socket_receive_message (GSocket *socket, GSocketAddress **address, GInputVector *vectors, gint num_vectors, GSocketControlMessage ***messages, gint *num_messages, gint *flags, GCancellable *cancellable, GError **error);\";function g_socket_receive_message(socket, address, vectors, num_vectors, messages, num_messages, flags, cancellable, error) bind(c)\r\ng;g_socket_receive_messages;GIO_AVAILABLE_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"gint g_socket_receive_messages (GSocket *socket, GInputMessage *messages, guint num_messages, gint flags, GCancellable *cancellable, GError **error);\";function g_socket_receive_messages(socket, messages, num_messages, flags, cancellable, error) bind(c)\r\ng;g_socket_receive_with_blocking;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"gssize g_socket_receive_with_blocking (GSocket *socket, gchar *buffer, gsize size, gboolean blocking, GCancellable *cancellable, GError **error);\";function g_socket_receive_with_blocking(socket, buffer, size, blocking, cancellable, error) bind(c)\r\ng;g_socket_send;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"gssize g_socket_send (GSocket *socket, const gchar *buffer, gsize size, GCancellable *cancellable, GError **error);\";function g_socket_send(socket, buffer, size, cancellable, error) bind(c)\r\ng;g_socket_send_message;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"gssize g_socket_send_message (GSocket *socket, GSocketAddress *address, GOutputVector *vectors, gint num_vectors, GSocketControlMessage **messages, gint num_messages, gint flags, GCancellable *cancellable, GError **error);\";function g_socket_send_message(socket, address, vectors, num_vectors, messages, num_messages, flags, cancellable, error) bind(c)\r\ng;g_socket_send_message_with_timeout;GIO_AVAILABLE_IN_2_60;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"GPollableReturn g_socket_send_message_with_timeout (GSocket *socket, GSocketAddress *address, const GOutputVector *vectors, gint num_vectors, GSocketControlMessage **messages, gint num_messages, gint flags, gint64 timeout_us, gsize *bytes_written, GCancellable *cancellable, GError **error);\";function g_socket_send_message_with_timeout(socket, address, vectors, num_vectors, messages, num_messages, flags, timeout_us, bytes_written, cancellable, error) bind(c)\r\ng;g_socket_send_messages;GIO_AVAILABLE_IN_2_44;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"gint g_socket_send_messages (GSocket *socket, GOutputMessage *messages, guint num_messages, gint flags, GCancellable *cancellable, GError **error);\";function g_socket_send_messages(socket, messages, num_messages, flags, cancellable, error) bind(c)\r\ng;g_socket_send_to;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"gssize g_socket_send_to (GSocket *socket, GSocketAddress *address, const gchar *buffer, gsize size, GCancellable *cancellable, GError **error);\";function g_socket_send_to(socket, address, buffer, size, cancellable, error) bind(c)\r\ng;g_socket_send_with_blocking;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"gssize g_socket_send_with_blocking (GSocket *socket, const gchar *buffer, gsize size, gboolean blocking, GCancellable *cancellable, GError **error);\";function g_socket_send_with_blocking(socket, buffer, size, blocking, cancellable, error) bind(c)\r\ng;g_socket_service_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketservice.h;\"GType g_socket_service_get_type (void);\";function g_socket_service_get_type() bind(c)\r\ng;g_socket_service_is_active;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketservice.h;\"gboolean g_socket_service_is_active (GSocketService *service);\";function g_socket_service_is_active(service) bind(c)\r\ng;g_socket_service_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketservice.h;\"GSocketService *g_socket_service_new (void);\";function g_socket_service_new() bind(c)\r\ng;g_socket_service_start;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketservice.h;\"void g_socket_service_start (GSocketService *service);\";subroutine g_socket_service_start(service) bind(c)\r\ng;g_socket_service_stop;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocketservice.h;\"void g_socket_service_stop (GSocketService *service);\";subroutine g_socket_service_stop(service) bind(c)\r\ng;g_socket_set_blocking;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"void g_socket_set_blocking (GSocket *socket, gboolean blocking);\";subroutine g_socket_set_blocking(socket, blocking) bind(c)\r\ng;g_socket_set_broadcast;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"void g_socket_set_broadcast (GSocket *socket, gboolean broadcast);\";subroutine g_socket_set_broadcast(socket, broadcast) bind(c)\r\ng;g_socket_set_keepalive;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"void g_socket_set_keepalive (GSocket *socket, gboolean keepalive);\";subroutine g_socket_set_keepalive(socket, keepalive) bind(c)\r\ng;g_socket_set_listen_backlog;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"void g_socket_set_listen_backlog (GSocket *socket, gint backlog);\";subroutine g_socket_set_listen_backlog(socket, backlog) bind(c)\r\ng;g_socket_set_multicast_loopback;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"void g_socket_set_multicast_loopback (GSocket *socket, gboolean loopback);\";subroutine g_socket_set_multicast_loopback(socket, loopback) bind(c)\r\ng;g_socket_set_multicast_ttl;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"void g_socket_set_multicast_ttl (GSocket *socket, guint ttl);\";subroutine g_socket_set_multicast_ttl(socket, ttl) bind(c)\r\ng;g_socket_set_option;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"gboolean g_socket_set_option (GSocket *socket, gint level, gint optname, gint value, GError **error);\";function g_socket_set_option(socket, level, optname, value, error) bind(c)\r\ng;g_socket_set_timeout;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"void g_socket_set_timeout (GSocket *socket, guint timeout);\";subroutine g_socket_set_timeout(socket, timeout) bind(c)\r\ng;g_socket_set_ttl;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"void g_socket_set_ttl (GSocket *socket, guint ttl);\";subroutine g_socket_set_ttl(socket, ttl) bind(c)\r\ng;g_socket_shutdown;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"gboolean g_socket_shutdown (GSocket *socket, gboolean shutdown_read, gboolean shutdown_write, GError **error);\";function g_socket_shutdown(socket, shutdown_read, shutdown_write, error) bind(c)\r\ng;g_socket_speaks_ipv4;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsocket.h;\"gboolean g_socket_speaks_ipv4 (GSocket *socket);\";function g_socket_speaks_ipv4(socket) bind(c)\r\ng;g_sort_array;GLIB_AVAILABLE_IN_2_82;glib-auto.f90;/usr/include/glib-2.0/glib/gqsort.h;\"void g_sort_array (const void *array, size_t n_elements, size_t element_size, GCompareDataFunc compare_func, void *user_data);\";subroutine g_sort_array(array, n_elements, element_size, compare_func, user_data) bind(c)\r\ng;g_source_add_child_source;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"void g_source_add_child_source (GSource *source, GSource *child_source);\";subroutine g_source_add_child_source(source, child_source) bind(c)\r\ng;g_source_add_poll;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"void g_source_add_poll (GSource *source, GPollFD *fd);\";subroutine g_source_add_poll(source, fd) bind(c)\r\ng;g_source_add_unix_fd;GLIB_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"gpointer g_source_add_unix_fd (GSource *source, gint fd, GIOCondition events);\";function g_source_add_unix_fd(source, fd, events) bind(c)\r\ng;g_source_attach;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"guint g_source_attach (GSource *source, GMainContext *context);\";function g_source_attach(source, context) bind(c)\r\ng;g_source_destroy;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"void g_source_destroy (GSource *source);\";subroutine g_source_destroy(source) bind(c)\r\ng;g_source_dup_context;GLIB_AVAILABLE_IN_2_86;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"GMainContext *g_source_dup_context (GSource *source);\";function g_source_dup_context(source) bind(c)\r\ng;g_source_get_can_recurse;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"gboolean g_source_get_can_recurse (GSource *source);\";function g_source_get_can_recurse(source) bind(c)\r\ng;g_source_get_context;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"GMainContext *g_source_get_context (GSource *source);\";function g_source_get_context(source) bind(c)\r\ng;g_source_get_current_time;GLIB_DEPRECATED_IN_2_28_FOR(g_source_get_time);glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"void g_source_get_current_time (GSource *source, GTimeVal *timeval);\";subroutine g_source_get_current_time(source, timeval) bind(c)\r\ng;g_source_get_id;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"guint g_source_get_id (GSource *source);\";function g_source_get_id(source) bind(c)\r\ng;g_source_get_name;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"const char * g_source_get_name (GSource *source);\";function g_source_get_name(source) bind(c)\r\ng;g_source_get_priority;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"gint g_source_get_priority (GSource *source);\";function g_source_get_priority(source) bind(c)\r\ng;g_source_get_ready_time;GLIB_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"gint64 g_source_get_ready_time (GSource *source);\";function g_source_get_ready_time(source) bind(c)\r\ng;g_source_get_time;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"gint64 g_source_get_time (GSource *source);\";function g_source_get_time(source) bind(c)\r\ng;g_source_get_type;GOBJECT_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/gobject/glib-types.h;\"GType g_source_get_type (void) ;\";function g_source_get_type() bind(c)\r\ng;g_source_is_destroyed;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"gboolean g_source_is_destroyed (GSource *source);\";function g_source_is_destroyed(source) bind(c)\r\ng;g_source_modify_unix_fd;GLIB_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"void g_source_modify_unix_fd (GSource *source, gpointer tag, GIOCondition new_events);\";subroutine g_source_modify_unix_fd(source, tag, new_events) bind(c)\r\ng;g_source_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"GSource *g_source_new (GSourceFuncs *source_funcs, guint struct_size);\";function g_source_new(source_funcs, struct_size) bind(c)\r\ng;g_source_query_unix_fd;GLIB_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"GIOCondition g_source_query_unix_fd (GSource *source, gpointer tag);\";function g_source_query_unix_fd(source, tag) bind(c)\r\ng;g_source_ref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"GSource *g_source_ref (GSource *source);\";function g_source_ref(source) bind(c)\r\ng;g_source_remove;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"gboolean g_source_remove (guint tag);\";function g_source_remove(tag) bind(c)\r\ng;g_source_remove_by_funcs_user_data;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"gboolean g_source_remove_by_funcs_user_data (GSourceFuncs *funcs, gpointer user_data);\";function g_source_remove_by_funcs_user_data(funcs, user_data) bind(c)\r\ng;g_source_remove_by_user_data;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"gboolean g_source_remove_by_user_data (gpointer user_data);\";function g_source_remove_by_user_data(user_data) bind(c)\r\ng;g_source_remove_child_source;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"void g_source_remove_child_source (GSource *source, GSource *child_source);\";subroutine g_source_remove_child_source(source, child_source) bind(c)\r\ng;g_source_remove_poll;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"void g_source_remove_poll (GSource *source, GPollFD *fd);\";subroutine g_source_remove_poll(source, fd) bind(c)\r\ng;g_source_remove_unix_fd;GLIB_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"void g_source_remove_unix_fd (GSource *source, gpointer tag);\";subroutine g_source_remove_unix_fd(source, tag) bind(c)\r\ng;g_source_set_callback;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"void g_source_set_callback (GSource *source, GSourceFunc func, gpointer data, GDestroyNotify notify);\";subroutine g_source_set_callback(source, func, data, notify) bind(c)\r\ng;g_source_set_callback_indirect;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"void g_source_set_callback_indirect (GSource *source, gpointer callback_data, GSourceCallbackFuncs *callback_funcs);\";subroutine g_source_set_callback_indirect(source, callback_data, callback_funcs) bind(c)\r\ng;g_source_set_can_recurse;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"void g_source_set_can_recurse (GSource *source, gboolean can_recurse);\";subroutine g_source_set_can_recurse(source, can_recurse) bind(c)\r\ng;g_source_set_closure;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gsourceclosure.h;\"void g_source_set_closure (GSource *source, GClosure *closure);\";subroutine g_source_set_closure(source, closure) bind(c)\r\ng;g_source_set_dispose_function;GLIB_AVAILABLE_IN_2_64;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"void g_source_set_dispose_function (GSource *source, GSourceDisposeFunc dispose);\";subroutine g_source_set_dispose_function(source, dispose) bind(c)\r\ng;g_source_set_dummy_callback;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gsourceclosure.h;\"void g_source_set_dummy_callback (GSource *source);\";subroutine g_source_set_dummy_callback(source) bind(c)\r\ng;g_source_set_funcs;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"void g_source_set_funcs (GSource *source, GSourceFuncs *funcs);\";subroutine g_source_set_funcs(source, funcs) bind(c)\r\ng;g_source_set_name;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"void g_source_set_name (GSource *source, const char *name);\";subroutine g_source_set_name(source, name) bind(c)\r\ng;g_source_set_name_by_id;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"void g_source_set_name_by_id (guint tag, const char *name);\";subroutine g_source_set_name_by_id(tag, name) bind(c)\r\ng;g_source_set_priority;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"void g_source_set_priority (GSource *source, gint priority);\";subroutine g_source_set_priority(source, priority) bind(c)\r\ng;g_source_set_ready_time;GLIB_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"void g_source_set_ready_time (GSource *source, gint64 ready_time);\";subroutine g_source_set_ready_time(source, ready_time) bind(c)\r\ng;g_source_set_static_name;GLIB_AVAILABLE_IN_2_70;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"void g_source_set_static_name (GSource *source, const char *name);\";subroutine g_source_set_static_name(source, name) bind(c)\r\ng;g_source_unref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"void g_source_unref (GSource *source);\";subroutine g_source_unref(source) bind(c)\r\ng;g_spaced_primes_closest;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gprimes.h;\"guint g_spaced_primes_closest (guint num) ;\";function g_spaced_primes_closest(num) bind(c)\r\ng;g_spawn_async;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gspawn.h;\"gboolean g_spawn_async (const gchar *working_directory, gchar **argv, gchar **envp, GSpawnFlags flags, GSpawnChildSetupFunc child_setup, gpointer user_data, GPid *child_pid, GError **error);\";function g_spawn_async(working_directory, argv, envp, flags, child_setup, user_data, child_pid, error) bind(c)\r\ng;g_spawn_async_with_fds;GLIB_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/glib/gspawn.h;\"gboolean g_spawn_async_with_fds (const gchar *working_directory, gchar **argv, gchar **envp, GSpawnFlags flags, GSpawnChildSetupFunc child_setup, gpointer user_data, GPid *child_pid, gint stdin_fd, gint stdout_fd, gint stderr_fd, GError **error);\";function g_spawn_async_with_fds(working_directory, argv, envp, flags, child_setup, user_data, child_pid, stdin_fd, stdout_fd, stderr_fd, error) bind(c)\r\ng;g_spawn_async_with_pipes;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gspawn.h;\"gboolean g_spawn_async_with_pipes (const gchar *working_directory, gchar **argv, gchar **envp, GSpawnFlags flags, GSpawnChildSetupFunc child_setup, gpointer user_data, GPid *child_pid, gint *standard_input, gint *standard_output, gint *standard_error, GError **error);\";function g_spawn_async_with_pipes(working_directory, argv, envp, flags, child_setup, user_data, child_pid, standard_input, standard_output, standard_error, error) bind(c)\r\ng;g_spawn_async_with_pipes_and_fds;GLIB_AVAILABLE_IN_2_68;glib-auto.f90;/usr/include/glib-2.0/glib/gspawn.h;\"gboolean g_spawn_async_with_pipes_and_fds (const gchar *working_directory, const gchar * const *argv, const gchar * const *envp, GSpawnFlags flags, GSpawnChildSetupFunc child_setup, gpointer user_data, gint stdin_fd, gint stdout_fd, gint stderr_fd, const gint *source_fds, const gint *target_fds, gsize n_fds, GPid *child_pid_out, gint *stdin_pipe_out, gint *stdout_pipe_out, gint *stderr_pipe_out, GError **error);\";function g_spawn_async_with_pipes_and_fds(working_directory, argv, envp, flags, child_setup, user_data, stdin_fd, stdout_fd, stderr_fd, source_fds, target_fds, n_fds, child_pid_out, stdin_pipe_out, stdout_pipe_out, stderr_pipe_out, error) bind(c)\r\ng;g_spawn_check_exit_status;GLIB_DEPRECATED_IN_2_70_FOR(g_spawn_check_wait_status);glib-auto.f90;/usr/include/glib-2.0/glib/gspawn.h;\"gboolean g_spawn_check_exit_status (gint wait_status, GError **error);\";function g_spawn_check_exit_status(wait_status, error) bind(c)\r\ng;g_spawn_check_wait_status;GLIB_AVAILABLE_IN_2_70;glib-auto.f90;/usr/include/glib-2.0/glib/gspawn.h;\"gboolean g_spawn_check_wait_status (gint wait_status, GError **error);\";function g_spawn_check_wait_status(wait_status, error) bind(c)\r\ng;g_spawn_close_pid;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gspawn.h;\"void g_spawn_close_pid (GPid pid);\";subroutine g_spawn_close_pid(pid) bind(c)\r\ng;g_spawn_command_line_async;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gspawn.h;\"gboolean g_spawn_command_line_async (const gchar *command_line, GError **error);\";function g_spawn_command_line_async(command_line, error) bind(c)\r\ng;g_spawn_command_line_sync;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gspawn.h;\"gboolean g_spawn_command_line_sync (const gchar *command_line, gchar **standard_output, gchar **standard_error, gint *wait_status, GError **error);\";function g_spawn_command_line_sync(command_line, standard_output, standard_error, wait_status, error) bind(c)\r\ng;g_spawn_error_quark;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gspawn.h;\"GQuark g_spawn_error_quark (void);\";function g_spawn_error_quark() bind(c)\r\ng;g_spawn_exit_error_quark;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gspawn.h;\"GQuark g_spawn_exit_error_quark (void);\";function g_spawn_exit_error_quark() bind(c)\r\ng;g_spawn_sync;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gspawn.h;\"gboolean g_spawn_sync (const gchar *working_directory, gchar **argv, gchar **envp, GSpawnFlags flags, GSpawnChildSetupFunc child_setup, gpointer user_data, gchar **standard_output, gchar **standard_error, gint *wait_status, GError **error);\";function g_spawn_sync(working_directory, argv, envp, flags, child_setup, user_data, standard_output, standard_error, wait_status, error) bind(c)\r\ng;g_srv_target_copy;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsrvtarget.h;\"GSrvTarget *g_srv_target_copy (GSrvTarget *target);\";function g_srv_target_copy(target) bind(c)\r\ng;g_srv_target_free;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsrvtarget.h;\"void g_srv_target_free (GSrvTarget *target);\";subroutine g_srv_target_free(target) bind(c)\r\ng;g_srv_target_get_hostname;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsrvtarget.h;\"const gchar *g_srv_target_get_hostname (GSrvTarget *target);\";function g_srv_target_get_hostname(target) bind(c)\r\ng;g_srv_target_get_port;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsrvtarget.h;\"guint16 g_srv_target_get_port (GSrvTarget *target);\";function g_srv_target_get_port(target) bind(c)\r\ng;g_srv_target_get_priority;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsrvtarget.h;\"guint16 g_srv_target_get_priority (GSrvTarget *target);\";function g_srv_target_get_priority(target) bind(c)\r\ng;g_srv_target_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsrvtarget.h;\"GType g_srv_target_get_type (void) ;\";function g_srv_target_get_type() bind(c)\r\ng;g_srv_target_get_weight;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsrvtarget.h;\"guint16 g_srv_target_get_weight (GSrvTarget *target);\";function g_srv_target_get_weight(target) bind(c)\r\ng;g_srv_target_list_sort;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsrvtarget.h;\"GList *g_srv_target_list_sort (GList *targets);\";function g_srv_target_list_sort(targets) bind(c)\r\ng;g_srv_target_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gsrvtarget.h;\"GSrvTarget *g_srv_target_new (const gchar *hostname, guint16 port, guint16 priority, guint16 weight);\";function g_srv_target_new(hostname, port, priority, weight) bind(c)\r\ng;g_stat;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstdio.h;\"int g_stat (const gchar *filename, GStatBuf *buf);\";function g_stat(filename, buf) bind(c)\r\ng;g_static_mutex_free;GLIB_DEPRECATED_IN_2_32_FOR(g_mutex_clear);glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gthread.h;\"void g_static_mutex_free (GStaticMutex *mutex);\";subroutine g_static_mutex_free(mutex) bind(c)\r\ng;g_static_mutex_get_mutex_impl;GLIB_DEPRECATED_IN_2_32_FOR(GMutex);glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gthread.h;\"GMutex *g_static_mutex_get_mutex_impl (GStaticMutex *mutex);\";function g_static_mutex_get_mutex_impl(mutex) bind(c)\r\ng;g_static_mutex_init;GLIB_DEPRECATED_IN_2_32_FOR(g_mutex_init);glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gthread.h;\"void g_static_mutex_init (GStaticMutex *mutex);\";subroutine g_static_mutex_init(mutex) bind(c)\r\ng;g_static_private_free;GLIB_DEPRECATED_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gthread.h;\"void g_static_private_free (GStaticPrivate *private_key);\";subroutine g_static_private_free(private_key) bind(c)\r\ng;g_static_private_get;GLIB_DEPRECATED_IN_2_32_FOR(g_private_get);glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gthread.h;\"gpointer g_static_private_get (GStaticPrivate *private_key);\";function g_static_private_get(private_key) bind(c)\r\ng;g_static_private_init;GLIB_DEPRECATED_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gthread.h;\"void g_static_private_init (GStaticPrivate *private_key);\";subroutine g_static_private_init(private_key) bind(c)\r\ng;g_static_private_set;GLIB_DEPRECATED_IN_2_32_FOR(g_private_set);glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gthread.h;\"void g_static_private_set (GStaticPrivate *private_key, gpointer data, GDestroyNotify notify);\";subroutine g_static_private_set(private_key, data, notify) bind(c)\r\ng;g_static_rec_mutex_free;GLIB_DEPRECATED_IN_2_32_FOR(g_rec_mutex_free);glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gthread.h;\"void g_static_rec_mutex_free (GStaticRecMutex *mutex);\";subroutine g_static_rec_mutex_free(mutex) bind(c)\r\ng;g_static_rec_mutex_init;GLIB_DEPRECATED_IN_2_32_FOR(g_rec_mutex_init);glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gthread.h;\"void g_static_rec_mutex_init (GStaticRecMutex *mutex);\";subroutine g_static_rec_mutex_init(mutex) bind(c)\r\ng;g_static_rec_mutex_lock;GLIB_DEPRECATED_IN_2_32_FOR(g_rec_mutex_lock);glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gthread.h;\"void g_static_rec_mutex_lock (GStaticRecMutex *mutex);\";subroutine g_static_rec_mutex_lock(mutex) bind(c)\r\ng;g_static_rec_mutex_lock_full;GLIB_DEPRECATED_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gthread.h;\"void g_static_rec_mutex_lock_full (GStaticRecMutex *mutex, guint depth);\";subroutine g_static_rec_mutex_lock_full(mutex, depth) bind(c)\r\ng;g_static_rec_mutex_trylock;GLIB_DEPRECATED_IN_2_32_FOR(g_rec_mutex_try_lock);glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gthread.h;\"gboolean g_static_rec_mutex_trylock (GStaticRecMutex *mutex);\";function g_static_rec_mutex_trylock(mutex) bind(c)\r\ng;g_static_rec_mutex_unlock;GLIB_DEPRECATED_IN_2_32_FOR(g_rec_mutex_unlock);glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gthread.h;\"void g_static_rec_mutex_unlock (GStaticRecMutex *mutex);\";subroutine g_static_rec_mutex_unlock(mutex) bind(c)\r\ng;g_static_rec_mutex_unlock_full;GLIB_DEPRECATED_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gthread.h;\"guint g_static_rec_mutex_unlock_full (GStaticRecMutex *mutex);\";function g_static_rec_mutex_unlock_full(mutex) bind(c)\r\ng;g_static_resource_fini;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gresource.h;\"void g_static_resource_fini (GStaticResource *static_resource);\";subroutine g_static_resource_fini(static_resource) bind(c)\r\ng;g_static_resource_get_resource;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gresource.h;\"GResource *g_static_resource_get_resource (GStaticResource *static_resource);\";function g_static_resource_get_resource(static_resource) bind(c)\r\ng;g_static_resource_init;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gresource.h;\"void g_static_resource_init (GStaticResource *static_resource);\";subroutine g_static_resource_init(static_resource) bind(c)\r\ng;g_static_rw_lock_free;GLIB_DEPRECATED_IN_2_32_FOR(g_rw_lock_free);glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gthread.h;\"void g_static_rw_lock_free (GStaticRWLock *lock);\";subroutine g_static_rw_lock_free(lock) bind(c)\r\ng;g_static_rw_lock_init;GLIB_DEPRECATED_IN_2_32_FOR(g_rw_lock_init);glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gthread.h;\"void g_static_rw_lock_init (GStaticRWLock *lock);\";subroutine g_static_rw_lock_init(lock) bind(c)\r\ng;g_static_rw_lock_reader_lock;GLIB_DEPRECATED_IN_2_32_FOR(g_rw_lock_reader_lock);glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gthread.h;\"void g_static_rw_lock_reader_lock (GStaticRWLock *lock);\";subroutine g_static_rw_lock_reader_lock(lock) bind(c)\r\ng;g_static_rw_lock_reader_trylock;GLIB_DEPRECATED_IN_2_32_FOR(g_rw_lock_reader_trylock);glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gthread.h;\"gboolean g_static_rw_lock_reader_trylock (GStaticRWLock *lock);\";function g_static_rw_lock_reader_trylock(lock) bind(c)\r\ng;g_static_rw_lock_reader_unlock;GLIB_DEPRECATED_IN_2_32_FOR(g_rw_lock_reader_unlock);glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gthread.h;\"void g_static_rw_lock_reader_unlock (GStaticRWLock *lock);\";subroutine g_static_rw_lock_reader_unlock(lock) bind(c)\r\ng;g_static_rw_lock_writer_lock;GLIB_DEPRECATED_IN_2_32_FOR(g_rw_lock_writer_lock);glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gthread.h;\"void g_static_rw_lock_writer_lock (GStaticRWLock *lock);\";subroutine g_static_rw_lock_writer_lock(lock) bind(c)\r\ng;g_static_rw_lock_writer_trylock;GLIB_DEPRECATED_IN_2_32_FOR(g_rw_lock_writer_trylock);glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gthread.h;\"gboolean g_static_rw_lock_writer_trylock (GStaticRWLock *lock);\";function g_static_rw_lock_writer_trylock(lock) bind(c)\r\ng;g_static_rw_lock_writer_unlock;GLIB_DEPRECATED_IN_2_32_FOR(g_rw_lock_writer_unlock);glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gthread.h;\"void g_static_rw_lock_writer_unlock (GStaticRWLock *lock);\";subroutine g_static_rw_lock_writer_unlock(lock) bind(c)\r\ng;g_stpcpy;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gchar* g_stpcpy (gchar *dest, const char *src);\";function g_stpcpy(dest, src) bind(c)\r\ng;g_str_equal;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"gboolean g_str_equal (gconstpointer v1, gconstpointer v2);\";function g_str_equal(v1, v2) bind(c)\r\ng;g_str_has_prefix;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gboolean (g_str_has_prefix) (const gchar *str, const gchar *prefix);\";function g_str_has_prefix(str, prefix) bind(c)\r\ng;g_str_has_suffix;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gboolean (g_str_has_suffix) (const gchar *str, const gchar *suffix);\";function g_str_has_suffix(str, suffix) bind(c)\r\ng;g_str_hash;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ghash.h;\"guint g_str_hash (gconstpointer v);\";function g_str_hash(v) bind(c)\r\ng;g_str_is_ascii;GLIB_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gboolean g_str_is_ascii (const gchar *str);\";function g_str_is_ascii(str) bind(c)\r\ng;g_str_match_string;GLIB_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gboolean g_str_match_string (const gchar *search_term, const gchar *potential_hit, gboolean accept_alternates);\";function g_str_match_string(search_term, potential_hit, accept_alternates) bind(c)\r\ng;g_str_to_ascii;GLIB_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gchar * g_str_to_ascii (const gchar *str, const gchar *from_locale);\";function g_str_to_ascii(str, from_locale) bind(c)\r\ng;g_str_tokenize_and_fold;GLIB_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gchar ** g_str_tokenize_and_fold (const gchar *string, const gchar *translit_locale, gchar ***ascii_alternates);\";function g_str_tokenize_and_fold(string, translit_locale, ascii_alternates) bind(c)\r\ng;g_strcanon;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gchar* g_strcanon (gchar *string, const gchar *valid_chars, gchar substitutor);\";function g_strcanon(string, valid_chars, substitutor) bind(c)\r\ng;g_strcasecmp;GLIB_DEPRECATED;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gint g_strcasecmp (const gchar *s1, const gchar *s2);\";function g_strcasecmp(s1, s2) bind(c)\r\ng;g_strchomp;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gchar* g_strchomp (gchar *string);\";function g_strchomp(string) bind(c)\r\ng;g_strchug;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gchar* g_strchug (gchar *string);\";function g_strchug(string) bind(c)\r\ng;g_strcmp0;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"int g_strcmp0 (const char *str1, const char *str2);\";function g_strcmp0(str1, str2) bind(c)\r\ng;g_strcompress;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"G_ALWAYS_INLINE static inline char * g_strdup_inline (const char *str) gchar* g_strcompress (const gchar *source) ;\";function g_strcompress(source) bind(c)\r\ng;g_strdelimit;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gchar* g_strdelimit (gchar *string, const gchar *delimiters, gchar new_delimiter);\";function g_strdelimit(string, delimiters, new_delimiter) bind(c)\r\ng;g_strdown;GLIB_DEPRECATED;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gchar* g_strdown (gchar *string);\";function g_strdown(string) bind(c)\r\ng;g_strdup;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gchar* (g_strdup) (const gchar *str) ;\";function g_strdup(str) bind(c)\r\ng;g_strdup_value_contents;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"gchar* g_strdup_value_contents (const GValue *value);\";function g_strdup_value_contents(value) bind(c)\r\ng;g_strdup_vprintf;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gchar* g_strdup_vprintf (const gchar *format, va_list args) ;\";function g_strdup_vprintf(format, args) bind(c)\r\ng;g_strdupv;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gchar** g_strdupv (gchar **str_array);\";function g_strdupv(str_array) bind(c)\r\ng;g_strerror;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"const gchar * g_strerror (gint errnum) ;\";function g_strerror(errnum) bind(c)\r\ng;g_strescape;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gchar* g_strescape (const gchar *source, const gchar *exceptions) ;\";function g_strescape(source, exceptions) bind(c)\r\ng;g_strfreev;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"void g_strfreev (gchar **str_array);\";subroutine g_strfreev(str_array) bind(c)\r\ng;g_string_append;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstring.h;\"GString* g_string_append (GString *string, const gchar *val);\";function g_string_append(string, val) bind(c)\r\ng;g_string_append_c;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstring.h;\"GString* g_string_append_c (GString *string, gchar c);\";function g_string_append_c(string, c) bind(c)\r\ng;g_string_append_len;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstring.h;\"GString* g_string_append_len (GString *string, const gchar *val, gssize len);\";function g_string_append_len(string, val, len) bind(c)\r\ng;g_string_append_unichar;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstring.h;\"GString* g_string_append_unichar (GString *string, gunichar wc);\";function g_string_append_unichar(string, wc) bind(c)\r\ng;g_string_append_uri_escaped;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstring.h;\"GString* g_string_append_uri_escaped (GString *string, const gchar *unescaped, const gchar *reserved_chars_allowed, gboolean allow_utf8);\";function g_string_append_uri_escaped(string, unescaped, reserved_chars_allowed, allow_utf8) bind(c)\r\ng;g_string_append_vprintf;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstring.h;\"void g_string_append_vprintf (GString *string, const gchar *format, va_list args) ;\";subroutine g_string_append_vprintf(string, format, args) bind(c)\r\ng;g_string_ascii_down;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstring.h;\"GString* g_string_ascii_down (GString *string);\";function g_string_ascii_down(string) bind(c)\r\ng;g_string_ascii_up;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstring.h;\"GString* g_string_ascii_up (GString *string);\";function g_string_ascii_up(string) bind(c)\r\ng;g_string_assign;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstring.h;\"GString* g_string_assign (GString *string, const gchar *rval);\";function g_string_assign(string, rval) bind(c)\r\ng;g_string_chunk_clear;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstringchunk.h;\"void g_string_chunk_clear (GStringChunk *chunk);\";subroutine g_string_chunk_clear(chunk) bind(c)\r\ng;g_string_chunk_free;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstringchunk.h;\"void g_string_chunk_free (GStringChunk *chunk);\";subroutine g_string_chunk_free(chunk) bind(c)\r\ng;g_string_chunk_insert;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstringchunk.h;\"gchar* g_string_chunk_insert (GStringChunk *chunk, const gchar *string);\";function g_string_chunk_insert(chunk, string) bind(c)\r\ng;g_string_chunk_insert_const;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstringchunk.h;\"gchar* g_string_chunk_insert_const (GStringChunk *chunk, const gchar *string);\";function g_string_chunk_insert_const(chunk, string) bind(c)\r\ng;g_string_chunk_insert_len;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstringchunk.h;\"gchar* g_string_chunk_insert_len (GStringChunk *chunk, const gchar *string, gssize len);\";function g_string_chunk_insert_len(chunk, string, len) bind(c)\r\ng;g_string_chunk_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstringchunk.h;\"GStringChunk* g_string_chunk_new (gsize size);\";function g_string_chunk_new(size) bind(c)\r\ng;g_string_copy;GLIB_AVAILABLE_IN_2_86;glib-auto.f90;/usr/include/glib-2.0/glib/gstring.h;\"GString *g_string_copy (GString *string);\";function g_string_copy(string) bind(c)\r\ng;g_string_down;GLIB_DEPRECATED;glib-auto.f90;/usr/include/glib-2.0/glib/gstring.h;\"G_ALWAYS_INLINE G_ALWAYS_INLINE G_ALWAYS_INLINE GString *g_string_down (GString *string);\";function g_string_down(string) bind(c)\r\ng;g_string_equal;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstring.h;\"gboolean g_string_equal (const GString *v, const GString *v2);\";function g_string_equal(v, v2) bind(c)\r\ng;g_string_erase;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstring.h;\"GString* g_string_erase (GString *string, gssize pos, gssize len);\";function g_string_erase(string, pos, len) bind(c)\r\ng;g_string_free;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstring.h;\"gchar* (g_string_free) (GString *string, gboolean free_segment);\";function g_string_free(string, free_segment) bind(c)\r\ng;g_string_free_and_steal;GLIB_AVAILABLE_IN_2_76;glib-auto.f90;/usr/include/glib-2.0/glib/gstring.h;\"gchar* g_string_free_and_steal (GString *string) ;\";function g_string_free_and_steal(string) bind(c)\r\ng;g_string_free_to_bytes;GLIB_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/glib/gstring.h;\"GBytes* g_string_free_to_bytes (GString *string);\";function g_string_free_to_bytes(string) bind(c)\r\ng;g_string_hash;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstring.h;\"guint g_string_hash (const GString *str);\";function g_string_hash(str) bind(c)\r\ng;g_string_insert;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstring.h;\"GString* g_string_insert (GString *string, gssize pos, const gchar *val);\";function g_string_insert(string, pos, val) bind(c)\r\ng;g_string_insert_c;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstring.h;\"GString* g_string_insert_c (GString *string, gssize pos, gchar c);\";function g_string_insert_c(string, pos, c) bind(c)\r\ng;g_string_insert_len;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstring.h;\"GString* g_string_insert_len (GString *string, gssize pos, const gchar *val, gssize len);\";function g_string_insert_len(string, pos, val, len) bind(c)\r\ng;g_string_insert_unichar;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstring.h;\"GString* g_string_insert_unichar (GString *string, gssize pos, gunichar wc);\";function g_string_insert_unichar(string, pos, wc) bind(c)\r\ng;g_string_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstring.h;\"GString* g_string_new (const gchar *init);\";function g_string_new(init) bind(c)\r\ng;g_string_new_len;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstring.h;\"GString* g_string_new_len (const gchar *init, gssize len);\";function g_string_new_len(init, len) bind(c)\r\ng;g_string_new_take;GLIB_AVAILABLE_IN_2_78;glib-auto.f90;/usr/include/glib-2.0/glib/gstring.h;\"GString* g_string_new_take (gchar *init);\";function g_string_new_take(init) bind(c)\r\ng;g_string_overwrite;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstring.h;\"GString* g_string_overwrite (GString *string, gsize pos, const gchar *val);\";function g_string_overwrite(string, pos, val) bind(c)\r\ng;g_string_overwrite_len;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstring.h;\"GString* g_string_overwrite_len (GString *string, gsize pos, const gchar *val, gssize len);\";function g_string_overwrite_len(string, pos, val, len) bind(c)\r\ng;g_string_prepend;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstring.h;\"GString* g_string_prepend (GString *string, const gchar *val);\";function g_string_prepend(string, val) bind(c)\r\ng;g_string_prepend_c;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstring.h;\"GString* g_string_prepend_c (GString *string, gchar c);\";function g_string_prepend_c(string, c) bind(c)\r\ng;g_string_prepend_len;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstring.h;\"GString* g_string_prepend_len (GString *string, const gchar *val, gssize len);\";function g_string_prepend_len(string, val, len) bind(c)\r\ng;g_string_prepend_unichar;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstring.h;\"GString* g_string_prepend_unichar (GString *string, gunichar wc);\";function g_string_prepend_unichar(string, wc) bind(c)\r\ng;g_string_replace;GLIB_AVAILABLE_IN_2_68;glib-auto.f90;/usr/include/glib-2.0/glib/gstring.h;\"guint g_string_replace (GString *string, const gchar *find, const gchar *replace, guint limit);\";function g_string_replace(string, find, replace, limit) bind(c)\r\ng;g_string_set_size;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstring.h;\"GString* g_string_set_size (GString *string, gsize len);\";function g_string_set_size(string, len) bind(c)\r\ng;g_string_sized_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstring.h;\"GString* g_string_sized_new (gsize dfl_size);\";function g_string_sized_new(dfl_size) bind(c)\r\ng;g_string_truncate;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstring.h;\"GString* g_string_truncate (GString *string, gsize len);\";function g_string_truncate(string, len) bind(c)\r\ng;g_string_up;GLIB_DEPRECATED;glib-auto.f90;/usr/include/glib-2.0/glib/gstring.h;\"GString *g_string_up (GString *string);\";function g_string_up(string) bind(c)\r\ng;g_string_vprintf;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstring.h;\"void g_string_vprintf (GString *string, const gchar *format, va_list args) ;\";subroutine g_string_vprintf(string, format, args) bind(c)\r\ng;g_strip_context;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/ggettext.h;\"const gchar *g_strip_context (const gchar *msgid, const gchar *msgval) ;\";function g_strip_context(msgid, msgval) bind(c)\r\ng;g_strjoinv;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gchar* g_strjoinv (const gchar *separator, gchar **str_array) ;\";function g_strjoinv(separator, str_array) bind(c)\r\ng;g_strlcat;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gsize g_strlcat (gchar *dest, const gchar *src, gsize dest_size);\";function g_strlcat(dest, src, dest_size) bind(c)\r\ng;g_strlcpy;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gsize g_strlcpy (gchar *dest, const gchar *src, gsize dest_size);\";function g_strlcpy(dest, src, dest_size) bind(c)\r\ng;g_strncasecmp;GLIB_DEPRECATED;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gint g_strncasecmp (const gchar *s1, const gchar *s2, guint n);\";function g_strncasecmp(s1, s2, n) bind(c)\r\ng;g_strndup;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gchar* g_strndup (const gchar *str, gsize n) ;\";function g_strndup(str, n) bind(c)\r\ng;g_strnfill;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gchar* g_strnfill (gsize length, gchar fill_char) ;\";function g_strnfill(length, fill_char) bind(c)\r\ng;g_strreverse;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gchar * g_strreverse (gchar *string);\";function g_strreverse(string) bind(c)\r\ng;g_strrstr;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gchar * g_strrstr (const gchar *haystack, const gchar *needle);\";function g_strrstr(haystack, needle) bind(c)\r\ng;g_strrstr_len;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gchar * g_strrstr_len (const gchar *haystack, gssize haystack_len, const gchar *needle);\";function g_strrstr_len(haystack, haystack_len, needle) bind(c)\r\ng;g_strsignal;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"const gchar * g_strsignal (gint signum) ;\";function g_strsignal(signum) bind(c)\r\ng;g_strsplit;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gchar** g_strsplit (const gchar *string, const gchar *delimiter, gint max_tokens);\";function g_strsplit(string, delimiter, max_tokens) bind(c)\r\ng;g_strsplit_set;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gchar ** g_strsplit_set (const gchar *string, const gchar *delimiters, gint max_tokens);\";function g_strsplit_set(string, delimiters, max_tokens) bind(c)\r\ng;g_strstr_len;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gchar * g_strstr_len (const gchar *haystack, gssize haystack_len, const gchar *needle);\";function g_strstr_len(haystack, haystack_len, needle) bind(c)\r\ng;g_strtod;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gdouble g_strtod (const gchar *nptr, gchar **endptr);\";function g_strtod(nptr, endptr) bind(c)\r\ng;g_strup;GLIB_DEPRECATED;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gchar* g_strup (gchar *string);\";function g_strup(string) bind(c)\r\ng;g_strv_builder_add;GLIB_AVAILABLE_IN_2_68;glib-auto.f90;/usr/include/glib-2.0/glib/gstrvbuilder.h;\"void g_strv_builder_add (GStrvBuilder *builder, const char *value);\";subroutine g_strv_builder_add(builder, value) bind(c)\r\ng;g_strv_builder_addv;GLIB_AVAILABLE_IN_2_70;glib-auto.f90;/usr/include/glib-2.0/glib/gstrvbuilder.h;\"void g_strv_builder_addv (GStrvBuilder *builder, const char **value);\";subroutine g_strv_builder_addv(builder, value) bind(c)\r\ng;g_strv_builder_end;GLIB_AVAILABLE_IN_2_68;glib-auto.f90;/usr/include/glib-2.0/glib/gstrvbuilder.h;\"GStrv g_strv_builder_end (GStrvBuilder *builder);\";function g_strv_builder_end(builder) bind(c)\r\ng;g_strv_builder_get_type;GOBJECT_AVAILABLE_IN_2_80;glib-auto.f90;/usr/include/glib-2.0/gobject/glib-types.h;\"GType g_strv_builder_get_type (void) ;\";function g_strv_builder_get_type() bind(c)\r\ng;g_strv_builder_new;GLIB_AVAILABLE_IN_2_68;glib-auto.f90;/usr/include/glib-2.0/glib/gstrvbuilder.h;\"GStrvBuilder *g_strv_builder_new (void);\";function g_strv_builder_new() bind(c)\r\ng;g_strv_builder_ref;GLIB_AVAILABLE_IN_2_68;glib-auto.f90;/usr/include/glib-2.0/glib/gstrvbuilder.h;\"GStrvBuilder *g_strv_builder_ref (GStrvBuilder *builder);\";function g_strv_builder_ref(builder) bind(c)\r\ng;g_strv_builder_take;GLIB_AVAILABLE_IN_2_80;glib-auto.f90;/usr/include/glib-2.0/glib/gstrvbuilder.h;\"void g_strv_builder_take (GStrvBuilder *builder, char *value);\";subroutine g_strv_builder_take(builder, value) bind(c)\r\ng;g_strv_builder_unref;GLIB_AVAILABLE_IN_2_68;glib-auto.f90;/usr/include/glib-2.0/glib/gstrvbuilder.h;\"void g_strv_builder_unref (GStrvBuilder *builder);\";subroutine g_strv_builder_unref(builder) bind(c)\r\ng;g_strv_builder_unref_to_strv;GLIB_AVAILABLE_IN_2_82;glib-auto.f90;/usr/include/glib-2.0/glib/gstrvbuilder.h;\"GStrv g_strv_builder_unref_to_strv (GStrvBuilder *builder);\";function g_strv_builder_unref_to_strv(builder) bind(c)\r\ng;g_strv_contains;GLIB_AVAILABLE_IN_2_44;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gboolean g_strv_contains (const gchar * const *strv, const gchar *str);\";function g_strv_contains(strv, str) bind(c)\r\ng;g_strv_equal;GLIB_AVAILABLE_IN_2_60;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"gboolean g_strv_equal (const gchar * const *strv1, const gchar * const *strv2);\";function g_strv_equal(strv1, strv2) bind(c)\r\ng;g_strv_get_type;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/glib-types.h;\"GType g_strv_get_type (void) ;\";function g_strv_get_type() bind(c)\r\ng;g_strv_length;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstrfuncs.h;\"guint g_strv_length (gchar **str_array);\";function g_strv_length(str_array) bind(c)\r\ng;g_subprocess_communicate;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocess.h;\"gboolean g_subprocess_communicate (GSubprocess *subprocess, GBytes *stdin_buf, GCancellable *cancellable, GBytes **stdout_buf, GBytes **stderr_buf, GError **error);\";function g_subprocess_communicate(subprocess, stdin_buf, cancellable, stdout_buf, stderr_buf, error) bind(c)\r\ng;g_subprocess_communicate_async;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocess.h;\"void g_subprocess_communicate_async (GSubprocess *subprocess, GBytes *stdin_buf, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_subprocess_communicate_async(subprocess, stdin_buf, cancellable, callback, user_data) bind(c)\r\ng;g_subprocess_communicate_finish;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocess.h;\"gboolean g_subprocess_communicate_finish (GSubprocess *subprocess, GAsyncResult *result, GBytes **stdout_buf, GBytes **stderr_buf, GError **error);\";function g_subprocess_communicate_finish(subprocess, result, stdout_buf, stderr_buf, error) bind(c)\r\ng;g_subprocess_communicate_utf8;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocess.h;\"gboolean g_subprocess_communicate_utf8 (GSubprocess *subprocess, const char *stdin_buf, GCancellable *cancellable, char **stdout_buf, char **stderr_buf, GError **error);\";function g_subprocess_communicate_utf8(subprocess, stdin_buf, cancellable, stdout_buf, stderr_buf, error) bind(c)\r\ng;g_subprocess_communicate_utf8_async;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocess.h;\"void g_subprocess_communicate_utf8_async (GSubprocess *subprocess, const char *stdin_buf, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_subprocess_communicate_utf8_async(subprocess, stdin_buf, cancellable, callback, user_data) bind(c)\r\ng;g_subprocess_communicate_utf8_finish;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocess.h;\"gboolean g_subprocess_communicate_utf8_finish (GSubprocess *subprocess, GAsyncResult *result, char **stdout_buf, char **stderr_buf, GError **error);\";function g_subprocess_communicate_utf8_finish(subprocess, result, stdout_buf, stderr_buf, error) bind(c)\r\ng;g_subprocess_force_exit;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocess.h;\"void g_subprocess_force_exit (GSubprocess *subprocess);\";subroutine g_subprocess_force_exit(subprocess) bind(c)\r\ng;g_subprocess_get_exit_status;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocess.h;\"gint g_subprocess_get_exit_status (GSubprocess *subprocess);\";function g_subprocess_get_exit_status(subprocess) bind(c)\r\ng;g_subprocess_get_identifier;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocess.h;\"const gchar * g_subprocess_get_identifier (GSubprocess *subprocess);\";function g_subprocess_get_identifier(subprocess) bind(c)\r\ng;g_subprocess_get_if_exited;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocess.h;\"gboolean g_subprocess_get_if_exited (GSubprocess *subprocess);\";function g_subprocess_get_if_exited(subprocess) bind(c)\r\ng;g_subprocess_get_if_signaled;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocess.h;\"gboolean g_subprocess_get_if_signaled (GSubprocess *subprocess);\";function g_subprocess_get_if_signaled(subprocess) bind(c)\r\ng;g_subprocess_get_status;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocess.h;\"gint g_subprocess_get_status (GSubprocess *subprocess);\";function g_subprocess_get_status(subprocess) bind(c)\r\ng;g_subprocess_get_stderr_pipe;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocess.h;\"GInputStream * g_subprocess_get_stderr_pipe (GSubprocess *subprocess);\";function g_subprocess_get_stderr_pipe(subprocess) bind(c)\r\ng;g_subprocess_get_stdin_pipe;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocess.h;\"GOutputStream * g_subprocess_get_stdin_pipe (GSubprocess *subprocess);\";function g_subprocess_get_stdin_pipe(subprocess) bind(c)\r\ng;g_subprocess_get_stdout_pipe;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocess.h;\"GInputStream * g_subprocess_get_stdout_pipe (GSubprocess *subprocess);\";function g_subprocess_get_stdout_pipe(subprocess) bind(c)\r\ng;g_subprocess_get_successful;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocess.h;\"gboolean g_subprocess_get_successful (GSubprocess *subprocess);\";function g_subprocess_get_successful(subprocess) bind(c)\r\ng;g_subprocess_get_term_sig;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocess.h;\"gint g_subprocess_get_term_sig (GSubprocess *subprocess);\";function g_subprocess_get_term_sig(subprocess) bind(c)\r\ng;g_subprocess_get_type;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocess.h;\"GType g_subprocess_get_type (void) ;\";function g_subprocess_get_type() bind(c)\r\ng;g_subprocess_launcher_close;GIO_AVAILABLE_IN_2_68;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocesslauncher.h;\"void g_subprocess_launcher_close (GSubprocessLauncher *self);\";subroutine g_subprocess_launcher_close(self) bind(c)\r\ng;g_subprocess_launcher_get_type;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocesslauncher.h;\"GType g_subprocess_launcher_get_type (void) ;\";function g_subprocess_launcher_get_type() bind(c)\r\ng;g_subprocess_launcher_getenv;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocesslauncher.h;\"const gchar * g_subprocess_launcher_getenv (GSubprocessLauncher *self, const gchar *variable);\";function g_subprocess_launcher_getenv(self, variable) bind(c)\r\ng;g_subprocess_launcher_new;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocesslauncher.h;\"GSubprocessLauncher * g_subprocess_launcher_new (GSubprocessFlags flags);\";function g_subprocess_launcher_new(flags) bind(c)\r\ng;g_subprocess_launcher_set_child_setup;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocesslauncher.h;\"void g_subprocess_launcher_set_child_setup (GSubprocessLauncher *self, GSpawnChildSetupFunc child_setup, gpointer user_data, GDestroyNotify destroy_notify);\";subroutine g_subprocess_launcher_set_child_setup(self, child_setup, user_data, destroy_notify) bind(c)\r\ng;g_subprocess_launcher_set_cwd;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocesslauncher.h;\"void g_subprocess_launcher_set_cwd (GSubprocessLauncher *self, const gchar *cwd);\";subroutine g_subprocess_launcher_set_cwd(self, cwd) bind(c)\r\ng;g_subprocess_launcher_set_environ;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocesslauncher.h;\"void g_subprocess_launcher_set_environ (GSubprocessLauncher *self, gchar **env);\";subroutine g_subprocess_launcher_set_environ(self, env) bind(c)\r\ng;g_subprocess_launcher_set_flags;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocesslauncher.h;\"void g_subprocess_launcher_set_flags (GSubprocessLauncher *self, GSubprocessFlags flags);\";subroutine g_subprocess_launcher_set_flags(self, flags) bind(c)\r\ng;g_subprocess_launcher_set_stderr_file_path;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocesslauncher.h;\"void g_subprocess_launcher_set_stderr_file_path (GSubprocessLauncher *self, const gchar *path);\";subroutine g_subprocess_launcher_set_stderr_file_path(self, path) bind(c)\r\ng;g_subprocess_launcher_set_stdin_file_path;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocesslauncher.h;\"void g_subprocess_launcher_set_stdin_file_path (GSubprocessLauncher *self, const gchar *path);\";subroutine g_subprocess_launcher_set_stdin_file_path(self, path) bind(c)\r\ng;g_subprocess_launcher_set_stdout_file_path;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocesslauncher.h;\"void g_subprocess_launcher_set_stdout_file_path (GSubprocessLauncher *self, const gchar *path);\";subroutine g_subprocess_launcher_set_stdout_file_path(self, path) bind(c)\r\ng;g_subprocess_launcher_setenv;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocesslauncher.h;\"void g_subprocess_launcher_setenv (GSubprocessLauncher *self, const gchar *variable, const gchar *value, gboolean overwrite);\";subroutine g_subprocess_launcher_setenv(self, variable, value, overwrite) bind(c)\r\ng;g_subprocess_launcher_spawnv;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocesslauncher.h;\"GSubprocess * g_subprocess_launcher_spawnv (GSubprocessLauncher *self, const gchar * const *argv, GError **error);\";function g_subprocess_launcher_spawnv(self, argv, error) bind(c)\r\ng;g_subprocess_launcher_take_fd;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocesslauncher.h;\"void g_subprocess_launcher_take_fd (GSubprocessLauncher *self, gint source_fd, gint target_fd);\";subroutine g_subprocess_launcher_take_fd(self, source_fd, target_fd) bind(c)\r\ng;g_subprocess_launcher_take_stderr_fd;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocesslauncher.h;\"void g_subprocess_launcher_take_stderr_fd (GSubprocessLauncher *self, gint fd);\";subroutine g_subprocess_launcher_take_stderr_fd(self, fd) bind(c)\r\ng;g_subprocess_launcher_take_stdin_fd;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocesslauncher.h;\"void g_subprocess_launcher_take_stdin_fd (GSubprocessLauncher *self, gint fd);\";subroutine g_subprocess_launcher_take_stdin_fd(self, fd) bind(c)\r\ng;g_subprocess_launcher_take_stdout_fd;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocesslauncher.h;\"void g_subprocess_launcher_take_stdout_fd (GSubprocessLauncher *self, gint fd);\";subroutine g_subprocess_launcher_take_stdout_fd(self, fd) bind(c)\r\ng;g_subprocess_launcher_unsetenv;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocesslauncher.h;\"void g_subprocess_launcher_unsetenv (GSubprocessLauncher *self, const gchar *variable);\";subroutine g_subprocess_launcher_unsetenv(self, variable) bind(c)\r\ng;g_subprocess_newv;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocess.h;\"GSubprocess * g_subprocess_newv (const gchar * const *argv, GSubprocessFlags flags, GError **error);\";function g_subprocess_newv(argv, flags, error) bind(c)\r\ng;g_subprocess_send_signal;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocess.h;\"void g_subprocess_send_signal (GSubprocess *subprocess, gint signal_num);\";subroutine g_subprocess_send_signal(subprocess, signal_num) bind(c)\r\ng;g_subprocess_wait;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocess.h;\"gboolean g_subprocess_wait (GSubprocess *subprocess, GCancellable *cancellable, GError **error);\";function g_subprocess_wait(subprocess, cancellable, error) bind(c)\r\ng;g_subprocess_wait_async;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocess.h;\"void g_subprocess_wait_async (GSubprocess *subprocess, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_subprocess_wait_async(subprocess, cancellable, callback, user_data) bind(c)\r\ng;g_subprocess_wait_check;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocess.h;\"gboolean g_subprocess_wait_check (GSubprocess *subprocess, GCancellable *cancellable, GError **error);\";function g_subprocess_wait_check(subprocess, cancellable, error) bind(c)\r\ng;g_subprocess_wait_check_async;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocess.h;\"void g_subprocess_wait_check_async (GSubprocess *subprocess, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_subprocess_wait_check_async(subprocess, cancellable, callback, user_data) bind(c)\r\ng;g_subprocess_wait_check_finish;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocess.h;\"gboolean g_subprocess_wait_check_finish (GSubprocess *subprocess, GAsyncResult *result, GError **error);\";function g_subprocess_wait_check_finish(subprocess, result, error) bind(c)\r\ng;g_subprocess_wait_finish;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gsubprocess.h;\"gboolean g_subprocess_wait_finish (GSubprocess *subprocess, GAsyncResult *result, GError **error);\";function g_subprocess_wait_finish(subprocess, result, error) bind(c)\r\ng;g_task_attach_source;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gtask.h;\"void g_task_attach_source (GTask *task, GSource *source, GSourceFunc callback);\";subroutine g_task_attach_source(task, source, callback) bind(c)\r\ng;g_task_get_cancellable;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gtask.h;\"GCancellable *g_task_get_cancellable (GTask *task);\";function g_task_get_cancellable(task) bind(c)\r\ng;g_task_get_check_cancellable;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gtask.h;\"gboolean g_task_get_check_cancellable (GTask *task);\";function g_task_get_check_cancellable(task) bind(c)\r\ng;g_task_get_completed;GIO_AVAILABLE_IN_2_44;glib-auto.f90;/usr/include/glib-2.0/gio/gtask.h;\"gboolean g_task_get_completed (GTask *task);\";function g_task_get_completed(task) bind(c)\r\ng;g_task_get_context;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gtask.h;\"GMainContext *g_task_get_context (GTask *task);\";function g_task_get_context(task) bind(c)\r\ng;g_task_get_name;GIO_AVAILABLE_IN_2_60;glib-auto.f90;/usr/include/glib-2.0/gio/gtask.h;\"const gchar *g_task_get_name (GTask *task);\";function g_task_get_name(task) bind(c)\r\ng;g_task_get_priority;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gtask.h;\"gint g_task_get_priority (GTask *task);\";function g_task_get_priority(task) bind(c)\r\ng;g_task_get_return_on_cancel;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gtask.h;\"gboolean g_task_get_return_on_cancel (GTask *task);\";function g_task_get_return_on_cancel(task) bind(c)\r\ng;g_task_get_source_object;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gtask.h;\"gpointer g_task_get_source_object (GTask *task);\";function g_task_get_source_object(task) bind(c)\r\ng;g_task_get_source_tag;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gtask.h;\"gpointer g_task_get_source_tag (GTask *task);\";function g_task_get_source_tag(task) bind(c)\r\ng;g_task_get_task_data;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gtask.h;\"gpointer g_task_get_task_data (GTask *task);\";function g_task_get_task_data(task) bind(c)\r\ng;g_task_get_type;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gtask.h;\"GType g_task_get_type (void) ;\";function g_task_get_type() bind(c)\r\ng;g_task_had_error;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gtask.h;\"gboolean g_task_had_error (GTask *task);\";function g_task_had_error(task) bind(c)\r\ng;g_task_is_valid;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gtask.h;\"gboolean g_task_is_valid (gpointer result, gpointer source_object);\";function g_task_is_valid(result, source_object) bind(c)\r\ng;g_task_new;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gtask.h;\"GTask *g_task_new (gpointer source_object, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer callback_data);\";function g_task_new(source_object, cancellable, callback, callback_data) bind(c)\r\ng;g_task_print_alive_tasks;;glib-auto.f90;/usr/include/glib-2.0/gio/gtask.h;\"void g_task_print_alive_tasks (void);\";subroutine g_task_print_alive_tasks() bind(c)\r\ng;g_task_propagate_boolean;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gtask.h;\"gboolean g_task_propagate_boolean (GTask *task, GError **error);\";function g_task_propagate_boolean(task, error) bind(c)\r\ng;g_task_propagate_int;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gtask.h;\"gssize g_task_propagate_int (GTask *task, GError **error);\";function g_task_propagate_int(task, error) bind(c)\r\ng;g_task_propagate_pointer;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gtask.h;\"gpointer g_task_propagate_pointer (GTask *task, GError **error);\";function g_task_propagate_pointer(task, error) bind(c)\r\ng;g_task_propagate_value;GIO_AVAILABLE_IN_2_64;glib-auto.f90;/usr/include/glib-2.0/gio/gtask.h;\"gboolean g_task_propagate_value (GTask *task, GValue *value, GError **error);\";function g_task_propagate_value(task, value, error) bind(c)\r\ng;g_task_report_error;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gtask.h;\"void g_task_report_error (gpointer source_object, GAsyncReadyCallback callback, gpointer callback_data, gpointer source_tag, GError *error);\";subroutine g_task_report_error(source_object, callback, callback_data, source_tag, error) bind(c)\r\ng;g_task_return_boolean;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gtask.h;\"void g_task_return_boolean (GTask *task, gboolean result);\";subroutine g_task_return_boolean(task, result) bind(c)\r\ng;g_task_return_error;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gtask.h;\"void g_task_return_error (GTask *task, GError *error);\";subroutine g_task_return_error(task, error) bind(c)\r\ng;g_task_return_error_if_cancelled;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gtask.h;\"gboolean g_task_return_error_if_cancelled (GTask *task);\";function g_task_return_error_if_cancelled(task) bind(c)\r\ng;g_task_return_int;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gtask.h;\"void g_task_return_int (GTask *task, gssize result);\";subroutine g_task_return_int(task, result) bind(c)\r\ng;g_task_return_new_error_literal;GIO_AVAILABLE_IN_2_80;glib-auto.f90;/usr/include/glib-2.0/gio/gtask.h;\"void g_task_return_new_error_literal (GTask *task, GQuark domain, gint code, const char *message);\";subroutine g_task_return_new_error_literal(task, domain, code, message) bind(c)\r\ng;g_task_return_pointer;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gtask.h;\"void g_task_return_pointer (GTask *task, gpointer result, GDestroyNotify result_destroy);\";subroutine g_task_return_pointer(task, result, result_destroy) bind(c)\r\ng;g_task_return_value;GIO_AVAILABLE_IN_2_64;glib-auto.f90;/usr/include/glib-2.0/gio/gtask.h;\"void g_task_return_value (GTask *task, GValue *result);\";subroutine g_task_return_value(task, result) bind(c)\r\ng;g_task_run_in_thread;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gtask.h;\"void g_task_run_in_thread (GTask *task, GTaskThreadFunc task_func);\";subroutine g_task_run_in_thread(task, task_func) bind(c)\r\ng;g_task_run_in_thread_sync;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gtask.h;\"void g_task_run_in_thread_sync (GTask *task, GTaskThreadFunc task_func);\";subroutine g_task_run_in_thread_sync(task, task_func) bind(c)\r\ng;g_task_set_check_cancellable;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gtask.h;\"void g_task_set_check_cancellable (GTask *task, gboolean check_cancellable);\";subroutine g_task_set_check_cancellable(task, check_cancellable) bind(c)\r\ng;g_task_set_name;GIO_AVAILABLE_IN_2_60;glib-auto.f90;/usr/include/glib-2.0/gio/gtask.h;\"void g_task_set_name (GTask *task, const gchar *name);\";subroutine g_task_set_name(task, name) bind(c)\r\ng;g_task_set_priority;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gtask.h;\"void g_task_set_priority (GTask *task, gint priority);\";subroutine g_task_set_priority(task, priority) bind(c)\r\ng;g_task_set_return_on_cancel;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gtask.h;\"gboolean g_task_set_return_on_cancel (GTask *task, gboolean return_on_cancel);\";function g_task_set_return_on_cancel(task, return_on_cancel) bind(c)\r\ng;g_task_set_source_tag;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gtask.h;\"void g_task_set_source_tag (GTask *task, gpointer source_tag);\";subroutine g_task_set_source_tag(task, source_tag) bind(c)\r\ng;g_task_set_static_name;GIO_AVAILABLE_IN_2_76;glib-auto.f90;/usr/include/glib-2.0/gio/gtask.h;\"void g_task_set_static_name (GTask *task, const gchar *name);\";subroutine g_task_set_static_name(task, name) bind(c)\r\ng;g_task_set_task_data;GIO_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gio/gtask.h;\"void g_task_set_task_data (GTask *task, gpointer task_data, GDestroyNotify task_data_destroy);\";subroutine g_task_set_task_data(task, task_data, task_data_destroy) bind(c)\r\ng;g_tcp_connection_get_graceful_disconnect;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtcpconnection.h;\"gboolean g_tcp_connection_get_graceful_disconnect (GTcpConnection *connection);\";function g_tcp_connection_get_graceful_disconnect(connection) bind(c)\r\ng;g_tcp_connection_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtcpconnection.h;\"GType g_tcp_connection_get_type (void) ;\";function g_tcp_connection_get_type() bind(c)\r\ng;g_tcp_connection_set_graceful_disconnect;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtcpconnection.h;\"void g_tcp_connection_set_graceful_disconnect (GTcpConnection *connection, gboolean graceful_disconnect);\";subroutine g_tcp_connection_set_graceful_disconnect(connection, graceful_disconnect) bind(c)\r\ng;g_tcp_wrapper_connection_get_base_io_stream;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtcpwrapperconnection.h;\"GIOStream *g_tcp_wrapper_connection_get_base_io_stream (GTcpWrapperConnection *conn);\";function g_tcp_wrapper_connection_get_base_io_stream(conn) bind(c)\r\ng;g_tcp_wrapper_connection_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtcpwrapperconnection.h;\"GType g_tcp_wrapper_connection_get_type (void) ;\";function g_tcp_wrapper_connection_get_type() bind(c)\r\ng;g_tcp_wrapper_connection_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtcpwrapperconnection.h;\"GSocketConnection *g_tcp_wrapper_connection_new (GIOStream *base_io_stream, GSocket *socket);\";function g_tcp_wrapper_connection_new(base_io_stream, socket) bind(c)\r\ng;g_test_add_data_func;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"void g_test_add_data_func (const char *testpath, gconstpointer test_data, GTestDataFunc test_func);\";subroutine g_test_add_data_func(testpath, test_data, test_func) bind(c)\r\ng;g_test_add_data_func_full;GLIB_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"void g_test_add_data_func_full (const char *testpath, gpointer test_data, GTestDataFunc test_func, GDestroyNotify data_free_func);\";subroutine g_test_add_data_func_full(testpath, test_data, test_func, data_free_func) bind(c)\r\ng;g_test_add_func;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"void g_test_add_func (const char *testpath, GTestFunc test_func);\";subroutine g_test_add_func(testpath, test_func) bind(c)\r\ng;g_test_add_vtable;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"void g_test_add_vtable (const char *testpath, gsize data_size, gconstpointer test_data, GTestFixtureFunc data_setup, GTestFixtureFunc data_test, GTestFixtureFunc data_teardown);\";subroutine g_test_add_vtable(testpath, data_size, test_data, data_setup, data_test, data_teardown) bind(c)\r\ng;g_test_assert_expected_messages_internal;GLIB_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"void g_test_assert_expected_messages_internal (const char *domain, const char *file, int line, const char *func);\";subroutine g_test_assert_expected_messages_internal(domain, file, line, func) bind(c)\r\ng;g_test_bug;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"void g_test_bug (const char *bug_uri_snippet);\";subroutine g_test_bug(bug_uri_snippet) bind(c)\r\ng;g_test_bug_base;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"void g_test_bug_base (const char *uri_pattern);\";subroutine g_test_bug_base(uri_pattern) bind(c)\r\ng;g_test_case_free;GLIB_AVAILABLE_IN_2_70;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"void g_test_case_free (GTestCase *test_case);\";subroutine g_test_case_free(test_case) bind(c)\r\ng;g_test_create_case;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"GTestCase* g_test_create_case (const char *test_name, gsize data_size, gconstpointer test_data, GTestFixtureFunc data_setup, GTestFixtureFunc data_test, GTestFixtureFunc data_teardown);\";function g_test_create_case(test_name, data_size, test_data, data_setup, data_test, data_teardown) bind(c)\r\ng;g_test_create_suite;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"GTestSuite* g_test_create_suite (const char *suite_name);\";function g_test_create_suite(suite_name) bind(c)\r\ng;g_test_dbus_add_service_dir;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/gtestdbus.h;\"void g_test_dbus_add_service_dir (GTestDBus *self, const gchar *path);\";subroutine g_test_dbus_add_service_dir(self, path) bind(c)\r\ng;g_test_dbus_down;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/gtestdbus.h;\"void g_test_dbus_down (GTestDBus *self);\";subroutine g_test_dbus_down(self) bind(c)\r\ng;g_test_dbus_get_bus_address;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/gtestdbus.h;\"const gchar * g_test_dbus_get_bus_address (GTestDBus *self);\";function g_test_dbus_get_bus_address(self) bind(c)\r\ng;g_test_dbus_get_flags;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/gtestdbus.h;\"GTestDBusFlags g_test_dbus_get_flags (GTestDBus *self);\";function g_test_dbus_get_flags(self) bind(c)\r\ng;g_test_dbus_get_type;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/gtestdbus.h;\"GType g_test_dbus_get_type (void) ;\";function g_test_dbus_get_type() bind(c)\r\ng;g_test_dbus_new;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/gtestdbus.h;\"GTestDBus * g_test_dbus_new (GTestDBusFlags flags);\";function g_test_dbus_new(flags) bind(c)\r\ng;g_test_dbus_stop;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/gtestdbus.h;\"void g_test_dbus_stop (GTestDBus *self);\";subroutine g_test_dbus_stop(self) bind(c)\r\ng;g_test_dbus_unset;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/gtestdbus.h;\"void g_test_dbus_unset (void);\";subroutine g_test_dbus_unset() bind(c)\r\ng;g_test_dbus_up;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/gtestdbus.h;\"void g_test_dbus_up (GTestDBus *self);\";subroutine g_test_dbus_up(self) bind(c)\r\ng;g_test_disable_crash_reporting;GLIB_AVAILABLE_IN_2_78;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"void g_test_disable_crash_reporting (void);\";subroutine g_test_disable_crash_reporting() bind(c)\r\ng;g_test_expect_message;GLIB_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"void g_test_expect_message (const gchar *log_domain, GLogLevelFlags log_level, const gchar *pattern);\";subroutine g_test_expect_message(log_domain, log_level, pattern) bind(c)\r\ng;g_test_fail;GLIB_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"void g_test_fail (void);\";subroutine g_test_fail() bind(c)\r\ng;g_test_failed;GLIB_AVAILABLE_IN_2_38;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"gboolean g_test_failed (void);\";function g_test_failed() bind(c)\r\ng;g_test_get_dir;GLIB_AVAILABLE_IN_2_38;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"const gchar *g_test_get_dir (GTestFileType file_type);\";function g_test_get_dir(file_type) bind(c)\r\ng;g_test_get_path;GLIB_AVAILABLE_IN_2_68;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"const char * g_test_get_path (void);\";function g_test_get_path() bind(c)\r\ng;g_test_get_root;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"GTestSuite* g_test_get_root (void);\";function g_test_get_root() bind(c)\r\ng;g_test_incomplete;GLIB_AVAILABLE_IN_2_38;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"void g_test_incomplete (const gchar *msg);\";subroutine g_test_incomplete(msg) bind(c)\r\ng;g_test_log_buffer_free;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"void g_test_log_buffer_free (GTestLogBuffer *tbuffer);\";subroutine g_test_log_buffer_free(tbuffer) bind(c)\r\ng;g_test_log_buffer_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"GTestLogBuffer* g_test_log_buffer_new (void);\";function g_test_log_buffer_new() bind(c)\r\ng;g_test_log_buffer_pop;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"GTestLogMsg* g_test_log_buffer_pop (GTestLogBuffer *tbuffer);\";function g_test_log_buffer_pop(tbuffer) bind(c)\r\ng;g_test_log_buffer_push;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"void g_test_log_buffer_push (GTestLogBuffer *tbuffer, guint n_bytes, const guint8 *bytes);\";subroutine g_test_log_buffer_push(tbuffer, n_bytes, bytes) bind(c)\r\ng;g_test_log_msg_free;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"void g_test_log_msg_free (GTestLogMsg *tmsg);\";subroutine g_test_log_msg_free(tmsg) bind(c)\r\ng;g_test_log_set_fatal_handler;;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"void g_test_log_set_fatal_handler (GTestLogFatalFunc log_func, gpointer user_data);\";subroutine g_test_log_set_fatal_handler(log_func, user_data) bind(c)\r\ng;g_test_log_type_name;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"const char* g_test_log_type_name (GTestLogType log_type);\";function g_test_log_type_name(log_type) bind(c)\r\ng;g_test_queue_destroy;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"void g_test_queue_destroy (GDestroyNotify destroy_func, gpointer destroy_data);\";subroutine g_test_queue_destroy(destroy_func, destroy_data) bind(c)\r\ng;g_test_queue_free;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"void g_test_queue_free (gpointer gfree_pointer);\";subroutine g_test_queue_free(gfree_pointer) bind(c)\r\ng;g_test_rand_double;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"double g_test_rand_double (void);\";function g_test_rand_double() bind(c)\r\ng;g_test_rand_double_range;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"double g_test_rand_double_range (double range_start, double range_end);\";function g_test_rand_double_range(range_start, range_end) bind(c)\r\ng;g_test_rand_int;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"gint32 g_test_rand_int (void);\";function g_test_rand_int() bind(c)\r\ng;g_test_rand_int_range;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"gint32 g_test_rand_int_range (gint32 begin, gint32 end);\";function g_test_rand_int_range(begin, end) bind(c)\r\ng;g_test_run;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"int g_test_run (void);\";function g_test_run() bind(c)\r\ng;g_test_run_suite;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"int g_test_run_suite (GTestSuite *suite);\";function g_test_run_suite(suite) bind(c)\r\ng;g_test_set_nonfatal_assertions;GLIB_AVAILABLE_IN_2_38;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"void g_test_set_nonfatal_assertions (void);\";subroutine g_test_set_nonfatal_assertions() bind(c)\r\ng;g_test_skip;GLIB_AVAILABLE_IN_2_38;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"void g_test_skip (const gchar *msg);\";subroutine g_test_skip(msg) bind(c)\r\ng;g_test_subprocess;GLIB_AVAILABLE_IN_2_38;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"gboolean g_test_subprocess (void);\";function g_test_subprocess() bind(c)\r\ng;g_test_suite_add;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"void g_test_suite_add (GTestSuite *suite, GTestCase *test_case);\";subroutine g_test_suite_add(suite, test_case) bind(c)\r\ng;g_test_suite_add_suite;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"void g_test_suite_add_suite (GTestSuite *suite, GTestSuite *nestedsuite);\";subroutine g_test_suite_add_suite(suite, nestedsuite) bind(c)\r\ng;g_test_suite_free;GLIB_AVAILABLE_IN_2_70;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"void g_test_suite_free (GTestSuite *suite);\";subroutine g_test_suite_free(suite) bind(c)\r\ng;g_test_summary;GLIB_AVAILABLE_IN_2_62;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"void g_test_summary (const char *summary);\";subroutine g_test_summary(summary) bind(c)\r\ng;g_test_timer_elapsed;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"double g_test_timer_elapsed (void);\";function g_test_timer_elapsed() bind(c)\r\ng;g_test_timer_last;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"double g_test_timer_last (void);\";function g_test_timer_last() bind(c)\r\ng;g_test_timer_start;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"void g_test_timer_start (void);\";subroutine g_test_timer_start() bind(c)\r\ng;g_test_trap_assertions;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"void g_test_trap_assertions (const char *domain, const char *file, int line, const char *func, guint64 assertion_flags, const char *pattern);\";subroutine g_test_trap_assertions(domain, file, line, func, assertion_flags, pattern) bind(c)\r\ng;g_test_trap_has_passed;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"gboolean g_test_trap_has_passed (void);\";function g_test_trap_has_passed() bind(c)\r\ng;g_test_trap_reached_timeout;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"gboolean g_test_trap_reached_timeout (void);\";function g_test_trap_reached_timeout() bind(c)\r\ng;g_test_trap_subprocess;GLIB_AVAILABLE_IN_2_38;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"void g_test_trap_subprocess (const char *test_path, guint64 usec_timeout, GTestSubprocessFlags test_flags);\";subroutine g_test_trap_subprocess(test_path, usec_timeout, test_flags) bind(c)\r\ng;g_test_trap_subprocess_with_envp;GLIB_AVAILABLE_IN_2_80;glib-auto.f90;/usr/include/glib-2.0/glib/gtestutils.h;\"void g_test_trap_subprocess_with_envp (const char *test_path, const char * const *envp, guint64 usec_timeout, GTestSubprocessFlags test_flags);\";subroutine g_test_trap_subprocess_with_envp(test_path, envp, usec_timeout, test_flags) bind(c)\r\ng;g_themed_icon_append_name;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gthemedicon.h;\"void g_themed_icon_append_name (GThemedIcon *icon, const char *iconname);\";subroutine g_themed_icon_append_name(icon, iconname) bind(c)\r\ng;g_themed_icon_get_names;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gthemedicon.h;\"const gchar* const * g_themed_icon_get_names (GThemedIcon *icon);\";function g_themed_icon_get_names(icon) bind(c)\r\ng;g_themed_icon_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gthemedicon.h;\"GType g_themed_icon_get_type (void) ;\";function g_themed_icon_get_type() bind(c)\r\ng;g_themed_icon_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gthemedicon.h;\"GIcon *g_themed_icon_new (const char *iconname);\";function g_themed_icon_new(iconname) bind(c)\r\ng;g_themed_icon_new_from_names;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gthemedicon.h;\"GIcon *g_themed_icon_new_from_names (char **iconnames, int len);\";function g_themed_icon_new_from_names(iconnames, len) bind(c)\r\ng;g_themed_icon_new_with_default_fallbacks;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gthemedicon.h;\"GIcon *g_themed_icon_new_with_default_fallbacks (const char *iconname);\";function g_themed_icon_new_with_default_fallbacks(iconname) bind(c)\r\ng;g_themed_icon_prepend_name;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gthemedicon.h;\"void g_themed_icon_prepend_name (GThemedIcon *icon, const char *iconname);\";subroutine g_themed_icon_prepend_name(icon, iconname) bind(c)\r\ng;g_thread_create;GLIB_DEPRECATED_IN_2_32_FOR(g_thread_new);glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gthread.h;\"GThread *g_thread_create (GThreadFunc func, gpointer data, gboolean joinable, GError **error);\";function g_thread_create(func, data, joinable, error) bind(c)\r\ng;g_thread_error_quark;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"GQuark g_thread_error_quark (void);\";function g_thread_error_quark() bind(c)\r\ng;g_thread_exit;G_NORETURN GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"void g_thread_exit (gpointer retval);\";subroutine g_thread_exit(retval) bind(c)\r\ng;g_thread_foreach;GLIB_DEPRECATED_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gthread.h;\"void g_thread_foreach (GFunc thread_func, gpointer user_data);\";subroutine g_thread_foreach(thread_func, user_data) bind(c)\r\ng;g_thread_get_initialized;GLIB_DEPRECATED_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gthread.h;\"gboolean g_thread_get_initialized (void);\";function g_thread_get_initialized() bind(c)\r\ng;g_thread_get_name;GLIB_AVAILABLE_IN_2_84;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"const char * g_thread_get_name (GThread *thread);\";function g_thread_get_name(thread) bind(c)\r\ng;g_thread_get_type;GOBJECT_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gobject/glib-types.h;\"GType g_thread_get_type (void) ;\";function g_thread_get_type() bind(c)\r\ng;g_thread_gettime;;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gthread.h;\"guint64 (*g_thread_gettime) (void);\";function g_thread_gettime() bind(c)\r\ng;g_thread_init;GLIB_DEPRECATED_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gthread.h;\"void g_thread_init (gpointer vtable);\";subroutine g_thread_init(vtable) bind(c)\r\ng;g_thread_init_with_errorcheck_mutexes;GLIB_DEPRECATED_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/gthread.h;\"void g_thread_init_with_errorcheck_mutexes (gpointer vtable);\";subroutine g_thread_init_with_errorcheck_mutexes(vtable) bind(c)\r\ng;g_thread_join;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"gpointer g_thread_join (GThread *thread);\";function g_thread_join(thread) bind(c)\r\ng;g_thread_new;GLIB_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"GThread * g_thread_new (const gchar *name, GThreadFunc func, gpointer data);\";function g_thread_new(name, func, data) bind(c)\r\ng;g_thread_pool_free;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gthreadpool.h;\"void g_thread_pool_free (GThreadPool *pool, gboolean immediate, gboolean wait_);\";subroutine g_thread_pool_free(pool, immediate, wait_) bind(c)\r\ng;g_thread_pool_get_max_idle_time;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gthreadpool.h;\"guint g_thread_pool_get_max_idle_time (void);\";function g_thread_pool_get_max_idle_time() bind(c)\r\ng;g_thread_pool_get_max_threads;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gthreadpool.h;\"gint g_thread_pool_get_max_threads (GThreadPool *pool);\";function g_thread_pool_get_max_threads(pool) bind(c)\r\ng;g_thread_pool_get_max_unused_threads;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gthreadpool.h;\"gint g_thread_pool_get_max_unused_threads (void);\";function g_thread_pool_get_max_unused_threads() bind(c)\r\ng;g_thread_pool_get_num_threads;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gthreadpool.h;\"guint g_thread_pool_get_num_threads (GThreadPool *pool);\";function g_thread_pool_get_num_threads(pool) bind(c)\r\ng;g_thread_pool_get_num_unused_threads;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gthreadpool.h;\"guint g_thread_pool_get_num_unused_threads (void);\";function g_thread_pool_get_num_unused_threads() bind(c)\r\ng;g_thread_pool_move_to_front;GLIB_AVAILABLE_IN_2_46;glib-auto.f90;/usr/include/glib-2.0/glib/gthreadpool.h;\"gboolean g_thread_pool_move_to_front (GThreadPool *pool, gpointer data);\";function g_thread_pool_move_to_front(pool, data) bind(c)\r\ng;g_thread_pool_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gthreadpool.h;\"GThreadPool * g_thread_pool_new (GFunc func, gpointer user_data, gint max_threads, gboolean exclusive, GError **error);\";function g_thread_pool_new(func, user_data, max_threads, exclusive, error) bind(c)\r\ng;g_thread_pool_new_full;GLIB_AVAILABLE_IN_2_70;glib-auto.f90;/usr/include/glib-2.0/glib/gthreadpool.h;\"GThreadPool * g_thread_pool_new_full (GFunc func, gpointer user_data, GDestroyNotify item_free_func, gint max_threads, gboolean exclusive, GError **error);\";function g_thread_pool_new_full(func, user_data, item_free_func, max_threads, exclusive, error) bind(c)\r\ng;g_thread_pool_push;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gthreadpool.h;\"gboolean g_thread_pool_push (GThreadPool *pool, gpointer data, GError **error);\";function g_thread_pool_push(pool, data, error) bind(c)\r\ng;g_thread_pool_set_max_idle_time;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gthreadpool.h;\"void g_thread_pool_set_max_idle_time (guint interval);\";subroutine g_thread_pool_set_max_idle_time(interval) bind(c)\r\ng;g_thread_pool_set_max_threads;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gthreadpool.h;\"gboolean g_thread_pool_set_max_threads (GThreadPool *pool, gint max_threads, GError **error);\";function g_thread_pool_set_max_threads(pool, max_threads, error) bind(c)\r\ng;g_thread_pool_set_max_unused_threads;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gthreadpool.h;\"void g_thread_pool_set_max_unused_threads (gint max_threads);\";subroutine g_thread_pool_set_max_unused_threads(max_threads) bind(c)\r\ng;g_thread_pool_set_sort_function;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gthreadpool.h;\"void g_thread_pool_set_sort_function (GThreadPool *pool, GCompareDataFunc func, gpointer user_data);\";subroutine g_thread_pool_set_sort_function(pool, func, user_data) bind(c)\r\ng;g_thread_pool_stop_unused_threads;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gthreadpool.h;\"void g_thread_pool_stop_unused_threads (void);\";subroutine g_thread_pool_stop_unused_threads() bind(c)\r\ng;g_thread_pool_unprocessed;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gthreadpool.h;\"guint g_thread_pool_unprocessed (GThreadPool *pool);\";function g_thread_pool_unprocessed(pool) bind(c)\r\ng;g_thread_ref;GLIB_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"GThread * g_thread_ref (GThread *thread);\";function g_thread_ref(thread) bind(c)\r\ng;g_thread_self;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"GThread * g_thread_self (void);\";function g_thread_self() bind(c)\r\ng;g_thread_try_new;GLIB_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"GThread * g_thread_try_new (const gchar *name, GThreadFunc func, gpointer data, GError **error);\";function g_thread_try_new(name, func, data, error) bind(c)\r\ng;g_thread_unref;GLIB_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"void g_thread_unref (GThread *thread);\";subroutine g_thread_unref(thread) bind(c)\r\ng;g_thread_yield;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gthread.h;\"void g_thread_yield (void);\";subroutine g_thread_yield() bind(c)\r\ng;g_threaded_socket_service_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gthreadedsocketservice.h;\"GType g_threaded_socket_service_get_type (void);\";function g_threaded_socket_service_get_type() bind(c)\r\ng;g_threaded_socket_service_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gthreadedsocketservice.h;\"GSocketService * g_threaded_socket_service_new (int max_threads);\";function g_threaded_socket_service_new(max_threads) bind(c)\r\ng;g_time_val_add;GLIB_DEPRECATED_IN_2_62;glib-auto.f90;/usr/include/glib-2.0/glib/gtimer.h;\"void g_time_val_add (GTimeVal *time_, glong microseconds);\";subroutine g_time_val_add(time_, microseconds) bind(c)\r\ng;g_time_val_from_iso8601;GLIB_DEPRECATED_IN_2_62_FOR(g_date_time_new_from_iso8601);glib-auto.f90;/usr/include/glib-2.0/glib/gtimer.h;\"gboolean g_time_val_from_iso8601 (const gchar *iso_date, GTimeVal *time_);\";function g_time_val_from_iso8601(iso_date, time_) bind(c)\r\ng;g_time_val_to_iso8601;GLIB_DEPRECATED_IN_2_62_FOR(g_date_time_format);glib-auto.f90;/usr/include/glib-2.0/glib/gtimer.h;\"gchar* g_time_val_to_iso8601 (GTimeVal *time_) ;\";function g_time_val_to_iso8601(time_) bind(c)\r\ng;g_time_zone_adjust_time;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtimezone.h;\"gint g_time_zone_adjust_time (GTimeZone *tz, GTimeType type, gint64 *time_);\";function g_time_zone_adjust_time(tz, type, time_) bind(c)\r\ng;g_time_zone_find_interval;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtimezone.h;\"gint g_time_zone_find_interval (GTimeZone *tz, GTimeType type, gint64 time_);\";function g_time_zone_find_interval(tz, type, time_) bind(c)\r\ng;g_time_zone_get_abbreviation;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtimezone.h;\"const gchar * g_time_zone_get_abbreviation (GTimeZone *tz, gint interval);\";function g_time_zone_get_abbreviation(tz, interval) bind(c)\r\ng;g_time_zone_get_identifier;GLIB_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/glib/gtimezone.h;\"const gchar * g_time_zone_get_identifier (GTimeZone *tz);\";function g_time_zone_get_identifier(tz) bind(c)\r\ng;g_time_zone_get_offset;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtimezone.h;\"gint32 g_time_zone_get_offset (GTimeZone *tz, gint interval);\";function g_time_zone_get_offset(tz, interval) bind(c)\r\ng;g_time_zone_get_type;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/glib-types.h;\"GType g_time_zone_get_type (void) ;\";function g_time_zone_get_type() bind(c)\r\ng;g_time_zone_is_dst;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtimezone.h;\"gboolean g_time_zone_is_dst (GTimeZone *tz, gint interval);\";function g_time_zone_is_dst(tz, interval) bind(c)\r\ng;g_time_zone_new;GLIB_DEPRECATED_IN_2_68_FOR (g_time_zone_new_identifier);glib-auto.f90;/usr/include/glib-2.0/glib/gtimezone.h;\"GTimeZone * g_time_zone_new (const gchar *identifier);\";function g_time_zone_new(identifier) bind(c)\r\ng;g_time_zone_new_identifier;GLIB_AVAILABLE_IN_2_68;glib-auto.f90;/usr/include/glib-2.0/glib/gtimezone.h;\"GTimeZone * g_time_zone_new_identifier (const gchar *identifier);\";function g_time_zone_new_identifier(identifier) bind(c)\r\ng;g_time_zone_new_local;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtimezone.h;\"GTimeZone * g_time_zone_new_local (void);\";function g_time_zone_new_local() bind(c)\r\ng;g_time_zone_new_offset;GLIB_AVAILABLE_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/glib/gtimezone.h;\"GTimeZone * g_time_zone_new_offset (gint32 seconds);\";function g_time_zone_new_offset(seconds) bind(c)\r\ng;g_time_zone_new_utc;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtimezone.h;\"GTimeZone * g_time_zone_new_utc (void);\";function g_time_zone_new_utc() bind(c)\r\ng;g_time_zone_ref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtimezone.h;\"GTimeZone * g_time_zone_ref (GTimeZone *tz);\";function g_time_zone_ref(tz) bind(c)\r\ng;g_time_zone_unref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtimezone.h;\"void g_time_zone_unref (GTimeZone *tz);\";subroutine g_time_zone_unref(tz) bind(c)\r\ng;g_timeout_add;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"guint g_timeout_add (guint interval, GSourceFunc function, gpointer data);\";function g_timeout_add(interval, function, data) bind(c)\r\ng;g_timeout_add_once;GLIB_AVAILABLE_IN_2_74;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"guint g_timeout_add_once (guint interval, GSourceOnceFunc function, gpointer data);\";function g_timeout_add_once(interval, function, data) bind(c)\r\ng;g_timeout_add_seconds;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"guint g_timeout_add_seconds (guint interval, GSourceFunc function, gpointer data);\";function g_timeout_add_seconds(interval, function, data) bind(c)\r\ng;g_timeout_add_seconds_full;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"guint g_timeout_add_seconds_full (gint priority, guint interval, GSourceFunc function, gpointer data, GDestroyNotify notify);\";function g_timeout_add_seconds_full(priority, interval, function, data, notify) bind(c)\r\ng;g_timeout_add_seconds_once;GLIB_AVAILABLE_IN_2_78;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"guint g_timeout_add_seconds_once (guint interval, GSourceOnceFunc function, gpointer data);\";function g_timeout_add_seconds_once(interval, function, data) bind(c)\r\ng;g_timeout_source_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"GSource *g_timeout_source_new (guint interval);\";function g_timeout_source_new(interval) bind(c)\r\ng;g_timeout_source_new_seconds;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmain.h;\"GSource *g_timeout_source_new_seconds (guint interval);\";function g_timeout_source_new_seconds(interval) bind(c)\r\ng;g_timer_continue;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtimer.h;\"void g_timer_continue (GTimer *timer);\";subroutine g_timer_continue(timer) bind(c)\r\ng;g_timer_destroy;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtimer.h;\"void g_timer_destroy (GTimer *timer);\";subroutine g_timer_destroy(timer) bind(c)\r\ng;g_timer_elapsed;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtimer.h;\"gdouble g_timer_elapsed (GTimer *timer, gulong *microseconds);\";function g_timer_elapsed(timer, microseconds) bind(c)\r\ng;g_timer_is_active;GLIB_AVAILABLE_IN_2_62;glib-auto.f90;/usr/include/glib-2.0/glib/gtimer.h;\"gboolean g_timer_is_active (GTimer *timer);\";function g_timer_is_active(timer) bind(c)\r\ng;g_timer_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtimer.h;\"GTimer* g_timer_new (void);\";function g_timer_new() bind(c)\r\ng;g_timer_reset;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtimer.h;\"void g_timer_reset (GTimer *timer);\";subroutine g_timer_reset(timer) bind(c)\r\ng;g_timer_start;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtimer.h;\"void g_timer_start (GTimer *timer);\";subroutine g_timer_start(timer) bind(c)\r\ng;g_timer_stop;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtimer.h;\"void g_timer_stop (GTimer *timer);\";subroutine g_timer_stop(timer) bind(c)\r\ng;g_tls_backend_get_certificate_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsbackend.h;\"GType g_tls_backend_get_certificate_type (GTlsBackend *backend);\";function g_tls_backend_get_certificate_type(backend) bind(c)\r\ng;g_tls_backend_get_client_connection_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsbackend.h;\"GType g_tls_backend_get_client_connection_type (GTlsBackend *backend);\";function g_tls_backend_get_client_connection_type(backend) bind(c)\r\ng;g_tls_backend_get_default;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsbackend.h;\"GTlsBackend * g_tls_backend_get_default (void);\";function g_tls_backend_get_default() bind(c)\r\ng;g_tls_backend_get_default_database;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsbackend.h;\"GTlsDatabase * g_tls_backend_get_default_database (GTlsBackend *backend);\";function g_tls_backend_get_default_database(backend) bind(c)\r\ng;g_tls_backend_get_dtls_client_connection_type;GIO_AVAILABLE_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsbackend.h;\"GType g_tls_backend_get_dtls_client_connection_type (GTlsBackend *backend);\";function g_tls_backend_get_dtls_client_connection_type(backend) bind(c)\r\ng;g_tls_backend_get_dtls_server_connection_type;GIO_AVAILABLE_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsbackend.h;\"GType g_tls_backend_get_dtls_server_connection_type (GTlsBackend *backend);\";function g_tls_backend_get_dtls_server_connection_type(backend) bind(c)\r\ng;g_tls_backend_get_file_database_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsbackend.h;\"GType g_tls_backend_get_file_database_type (GTlsBackend *backend);\";function g_tls_backend_get_file_database_type(backend) bind(c)\r\ng;g_tls_backend_get_server_connection_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsbackend.h;\"GType g_tls_backend_get_server_connection_type (GTlsBackend *backend);\";function g_tls_backend_get_server_connection_type(backend) bind(c)\r\ng;g_tls_backend_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsbackend.h;\"GType g_tls_backend_get_type (void) ;\";function g_tls_backend_get_type() bind(c)\r\ng;g_tls_backend_set_default_database;GIO_AVAILABLE_IN_2_60;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsbackend.h;\"void g_tls_backend_set_default_database (GTlsBackend *backend, GTlsDatabase *database);\";subroutine g_tls_backend_set_default_database(backend, database) bind(c)\r\ng;g_tls_backend_supports_dtls;GIO_AVAILABLE_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsbackend.h;\"gboolean g_tls_backend_supports_dtls (GTlsBackend *backend);\";function g_tls_backend_supports_dtls(backend) bind(c)\r\ng;g_tls_backend_supports_tls;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsbackend.h;\"gboolean g_tls_backend_supports_tls (GTlsBackend *backend);\";function g_tls_backend_supports_tls(backend) bind(c)\r\ng;g_tls_certificate_get_dns_names;GIO_AVAILABLE_IN_2_70;glib-auto.f90;/usr/include/glib-2.0/gio/gtlscertificate.h;\"GPtrArray *g_tls_certificate_get_dns_names (GTlsCertificate *cert);\";function g_tls_certificate_get_dns_names(cert) bind(c)\r\ng;g_tls_certificate_get_ip_addresses;GIO_AVAILABLE_IN_2_70;glib-auto.f90;/usr/include/glib-2.0/gio/gtlscertificate.h;\"GPtrArray *g_tls_certificate_get_ip_addresses (GTlsCertificate *cert);\";function g_tls_certificate_get_ip_addresses(cert) bind(c)\r\ng;g_tls_certificate_get_issuer;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlscertificate.h;\"GTlsCertificate *g_tls_certificate_get_issuer (GTlsCertificate *cert);\";function g_tls_certificate_get_issuer(cert) bind(c)\r\ng;g_tls_certificate_get_issuer_name;GIO_AVAILABLE_IN_2_70;glib-auto.f90;/usr/include/glib-2.0/gio/gtlscertificate.h;\"gchar *g_tls_certificate_get_issuer_name (GTlsCertificate *cert);\";function g_tls_certificate_get_issuer_name(cert) bind(c)\r\ng;g_tls_certificate_get_not_valid_after;GIO_AVAILABLE_IN_2_70;glib-auto.f90;/usr/include/glib-2.0/gio/gtlscertificate.h;\"GDateTime *g_tls_certificate_get_not_valid_after (GTlsCertificate *cert);\";function g_tls_certificate_get_not_valid_after(cert) bind(c)\r\ng;g_tls_certificate_get_not_valid_before;GIO_AVAILABLE_IN_2_70;glib-auto.f90;/usr/include/glib-2.0/gio/gtlscertificate.h;\"GDateTime *g_tls_certificate_get_not_valid_before (GTlsCertificate *cert);\";function g_tls_certificate_get_not_valid_before(cert) bind(c)\r\ng;g_tls_certificate_get_subject_name;GIO_AVAILABLE_IN_2_70;glib-auto.f90;/usr/include/glib-2.0/gio/gtlscertificate.h;\"gchar *g_tls_certificate_get_subject_name (GTlsCertificate *cert);\";function g_tls_certificate_get_subject_name(cert) bind(c)\r\ng;g_tls_certificate_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlscertificate.h;\"GType g_tls_certificate_get_type (void) ;\";function g_tls_certificate_get_type() bind(c)\r\ng;g_tls_certificate_is_same;GIO_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gio/gtlscertificate.h;\"gboolean g_tls_certificate_is_same (GTlsCertificate *cert_one, GTlsCertificate *cert_two);\";function g_tls_certificate_is_same(cert_one, cert_two) bind(c)\r\ng;g_tls_certificate_list_new_from_file;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlscertificate.h;\"GList *g_tls_certificate_list_new_from_file (const gchar *file, GError **error);\";function g_tls_certificate_list_new_from_file(file, error) bind(c)\r\ng;g_tls_certificate_new_from_file;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlscertificate.h;\"GTlsCertificate *g_tls_certificate_new_from_file (const gchar *file, GError **error);\";function g_tls_certificate_new_from_file(file, error) bind(c)\r\ng;g_tls_certificate_new_from_file_with_password;GIO_AVAILABLE_IN_2_72;glib-auto.f90;/usr/include/glib-2.0/gio/gtlscertificate.h;\"GTlsCertificate *g_tls_certificate_new_from_file_with_password (const gchar *file, const gchar *password, GError **error);\";function g_tls_certificate_new_from_file_with_password(file, password, error) bind(c)\r\ng;g_tls_certificate_new_from_files;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlscertificate.h;\"GTlsCertificate *g_tls_certificate_new_from_files (const gchar *cert_file, const gchar *key_file, GError **error);\";function g_tls_certificate_new_from_files(cert_file, key_file, error) bind(c)\r\ng;g_tls_certificate_new_from_pem;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlscertificate.h;\"GTlsCertificate *g_tls_certificate_new_from_pem (const gchar *data, gssize length, GError **error);\";function g_tls_certificate_new_from_pem(data, length, error) bind(c)\r\ng;g_tls_certificate_new_from_pkcs11_uris;GIO_AVAILABLE_IN_2_68;glib-auto.f90;/usr/include/glib-2.0/gio/gtlscertificate.h;\"GTlsCertificate *g_tls_certificate_new_from_pkcs11_uris (const gchar *pkcs11_uri, const gchar *private_key_pkcs11_uri, GError **error);\";function g_tls_certificate_new_from_pkcs11_uris(pkcs11_uri, private_key_pkcs11_uri, error) bind(c)\r\ng;g_tls_certificate_new_from_pkcs12;GIO_AVAILABLE_IN_2_72;glib-auto.f90;/usr/include/glib-2.0/gio/gtlscertificate.h;\"GTlsCertificate *g_tls_certificate_new_from_pkcs12 (const guint8 *data, gsize length, const gchar *password, GError **error);\";function g_tls_certificate_new_from_pkcs12(data, length, password, error) bind(c)\r\ng;g_tls_certificate_verify;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlscertificate.h;\"GTlsCertificateFlags g_tls_certificate_verify (GTlsCertificate *cert, GSocketConnectable *identity, GTlsCertificate *trusted_ca);\";function g_tls_certificate_verify(cert, identity, trusted_ca) bind(c)\r\ng;g_tls_channel_binding_error_quark;GIO_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsconnection.h;\"GQuark g_tls_channel_binding_error_quark (void);\";function g_tls_channel_binding_error_quark() bind(c)\r\ng;g_tls_client_connection_copy_session_state;GIO_AVAILABLE_IN_2_46;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsclientconnection.h;\"void g_tls_client_connection_copy_session_state (GTlsClientConnection *conn, GTlsClientConnection *source);\";subroutine g_tls_client_connection_copy_session_state(conn, source) bind(c)\r\ng;g_tls_client_connection_get_accepted_cas;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsclientconnection.h;\"GList * g_tls_client_connection_get_accepted_cas (GTlsClientConnection *conn);\";function g_tls_client_connection_get_accepted_cas(conn) bind(c)\r\ng;g_tls_client_connection_get_server_identity;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsclientconnection.h;\"GSocketConnectable *g_tls_client_connection_get_server_identity (GTlsClientConnection *conn);\";function g_tls_client_connection_get_server_identity(conn) bind(c)\r\ng;g_tls_client_connection_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsclientconnection.h;\"GType g_tls_client_connection_get_type (void) ;\";function g_tls_client_connection_get_type() bind(c)\r\ng;g_tls_client_connection_get_use_ssl3;GIO_DEPRECATED_IN_2_56;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsclientconnection.h;\"gboolean g_tls_client_connection_get_use_ssl3 (GTlsClientConnection *conn);\";function g_tls_client_connection_get_use_ssl3(conn) bind(c)\r\ng;g_tls_client_connection_get_validation_flags;GIO_DEPRECATED_IN_2_72;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsclientconnection.h;\"GTlsCertificateFlags g_tls_client_connection_get_validation_flags (GTlsClientConnection *conn);\";function g_tls_client_connection_get_validation_flags(conn) bind(c)\r\ng;g_tls_client_connection_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsclientconnection.h;\"GIOStream * g_tls_client_connection_new (GIOStream *base_io_stream, GSocketConnectable *server_identity, GError **error);\";function g_tls_client_connection_new(base_io_stream, server_identity, error) bind(c)\r\ng;g_tls_client_connection_set_server_identity;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsclientconnection.h;\"void g_tls_client_connection_set_server_identity (GTlsClientConnection *conn, GSocketConnectable *identity);\";subroutine g_tls_client_connection_set_server_identity(conn, identity) bind(c)\r\ng;g_tls_client_connection_set_use_ssl3;GIO_DEPRECATED_IN_2_56;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsclientconnection.h;\"void g_tls_client_connection_set_use_ssl3 (GTlsClientConnection *conn, gboolean use_ssl3);\";subroutine g_tls_client_connection_set_use_ssl3(conn, use_ssl3) bind(c)\r\ng;g_tls_client_connection_set_validation_flags;GIO_DEPRECATED_IN_2_72;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsclientconnection.h;\"void g_tls_client_connection_set_validation_flags (GTlsClientConnection *conn, GTlsCertificateFlags flags);\";subroutine g_tls_client_connection_set_validation_flags(conn, flags) bind(c)\r\ng;g_tls_connection_emit_accept_certificate;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsconnection.h;\"gboolean g_tls_connection_emit_accept_certificate (GTlsConnection *conn, GTlsCertificate *peer_cert, GTlsCertificateFlags errors);\";function g_tls_connection_emit_accept_certificate(conn, peer_cert, errors) bind(c)\r\ng;g_tls_connection_get_certificate;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsconnection.h;\"GTlsCertificate *g_tls_connection_get_certificate (GTlsConnection *conn);\";function g_tls_connection_get_certificate(conn) bind(c)\r\ng;g_tls_connection_get_channel_binding_data;GIO_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsconnection.h;\"gboolean g_tls_connection_get_channel_binding_data (GTlsConnection *conn, GTlsChannelBindingType type, GByteArray *data, GError **error);\";function g_tls_connection_get_channel_binding_data(conn, type, data, error) bind(c)\r\ng;g_tls_connection_get_ciphersuite_name;GIO_AVAILABLE_IN_2_70;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsconnection.h;\"gchar * g_tls_connection_get_ciphersuite_name (GTlsConnection *conn);\";function g_tls_connection_get_ciphersuite_name(conn) bind(c)\r\ng;g_tls_connection_get_database;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsconnection.h;\"GTlsDatabase * g_tls_connection_get_database (GTlsConnection *conn);\";function g_tls_connection_get_database(conn) bind(c)\r\ng;g_tls_connection_get_interaction;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsconnection.h;\"GTlsInteraction * g_tls_connection_get_interaction (GTlsConnection *conn);\";function g_tls_connection_get_interaction(conn) bind(c)\r\ng;g_tls_connection_get_negotiated_protocol;GIO_AVAILABLE_IN_2_60;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsconnection.h;\"const gchar * g_tls_connection_get_negotiated_protocol (GTlsConnection *conn);\";function g_tls_connection_get_negotiated_protocol(conn) bind(c)\r\ng;g_tls_connection_get_peer_certificate;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsconnection.h;\"GTlsCertificate *g_tls_connection_get_peer_certificate (GTlsConnection *conn);\";function g_tls_connection_get_peer_certificate(conn) bind(c)\r\ng;g_tls_connection_get_peer_certificate_errors;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsconnection.h;\"GTlsCertificateFlags g_tls_connection_get_peer_certificate_errors (GTlsConnection *conn);\";function g_tls_connection_get_peer_certificate_errors(conn) bind(c)\r\ng;g_tls_connection_get_protocol_version;GIO_AVAILABLE_IN_2_70;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsconnection.h;\"GTlsProtocolVersion g_tls_connection_get_protocol_version (GTlsConnection *conn);\";function g_tls_connection_get_protocol_version(conn) bind(c)\r\ng;g_tls_connection_get_require_close_notify;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsconnection.h;\"gboolean g_tls_connection_get_require_close_notify (GTlsConnection *conn);\";function g_tls_connection_get_require_close_notify(conn) bind(c)\r\ng;g_tls_connection_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsconnection.h;\"GType g_tls_connection_get_type (void) ;\";function g_tls_connection_get_type() bind(c)\r\ng;g_tls_connection_get_use_system_certdb;GIO_DEPRECATED;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsconnection.h;\"gboolean g_tls_connection_get_use_system_certdb (GTlsConnection *conn);\";function g_tls_connection_get_use_system_certdb(conn) bind(c)\r\ng;g_tls_connection_handshake;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsconnection.h;\"gboolean g_tls_connection_handshake (GTlsConnection *conn, GCancellable *cancellable, GError **error);\";function g_tls_connection_handshake(conn, cancellable, error) bind(c)\r\ng;g_tls_connection_handshake_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsconnection.h;\"void g_tls_connection_handshake_async (GTlsConnection *conn, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_tls_connection_handshake_async(conn, io_priority, cancellable, callback, user_data) bind(c)\r\ng;g_tls_connection_handshake_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsconnection.h;\"gboolean g_tls_connection_handshake_finish (GTlsConnection *conn, GAsyncResult *result, GError **error);\";function g_tls_connection_handshake_finish(conn, result, error) bind(c)\r\ng;g_tls_connection_set_advertised_protocols;GIO_AVAILABLE_IN_2_60;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsconnection.h;\"void g_tls_connection_set_advertised_protocols (GTlsConnection *conn, const gchar * const *protocols);\";subroutine g_tls_connection_set_advertised_protocols(conn, protocols) bind(c)\r\ng;g_tls_connection_set_certificate;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsconnection.h;\"void g_tls_connection_set_certificate (GTlsConnection *conn, GTlsCertificate *certificate);\";subroutine g_tls_connection_set_certificate(conn, certificate) bind(c)\r\ng;g_tls_connection_set_database;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsconnection.h;\"void g_tls_connection_set_database (GTlsConnection *conn, GTlsDatabase *database);\";subroutine g_tls_connection_set_database(conn, database) bind(c)\r\ng;g_tls_connection_set_interaction;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsconnection.h;\"void g_tls_connection_set_interaction (GTlsConnection *conn, GTlsInteraction *interaction);\";subroutine g_tls_connection_set_interaction(conn, interaction) bind(c)\r\ng;g_tls_connection_set_require_close_notify;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsconnection.h;\"void g_tls_connection_set_require_close_notify (GTlsConnection *conn, gboolean require_close_notify);\";subroutine g_tls_connection_set_require_close_notify(conn, require_close_notify) bind(c)\r\ng;g_tls_connection_set_use_system_certdb;GIO_DEPRECATED;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsconnection.h;\"void g_tls_connection_set_use_system_certdb (GTlsConnection *conn, gboolean use_system_certdb);\";subroutine g_tls_connection_set_use_system_certdb(conn, use_system_certdb) bind(c)\r\ng;g_tls_database_create_certificate_handle;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsdatabase.h;\"gchar* g_tls_database_create_certificate_handle (GTlsDatabase *self, GTlsCertificate *certificate);\";function g_tls_database_create_certificate_handle(self, certificate) bind(c)\r\ng;g_tls_database_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsdatabase.h;\"GType g_tls_database_get_type (void) ;\";function g_tls_database_get_type() bind(c)\r\ng;g_tls_database_lookup_certificate_for_handle;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsdatabase.h;\"GTlsCertificate* g_tls_database_lookup_certificate_for_handle (GTlsDatabase *self, const gchar *handle, GTlsInteraction *interaction, GTlsDatabaseLookupFlags flags, GCancellable *cancellable, GError **error);\";function g_tls_database_lookup_certificate_for_handle(self, handle, interaction, flags, cancellable, error) bind(c)\r\ng;g_tls_database_lookup_certificate_for_handle_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsdatabase.h;\"void g_tls_database_lookup_certificate_for_handle_async (GTlsDatabase *self, const gchar *handle, GTlsInteraction *interaction, GTlsDatabaseLookupFlags flags, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_tls_database_lookup_certificate_for_handle_async(self, handle, interaction, flags, cancellable, callback, user_data) bind(c)\r\ng;g_tls_database_lookup_certificate_for_handle_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsdatabase.h;\"GTlsCertificate* g_tls_database_lookup_certificate_for_handle_finish (GTlsDatabase *self, GAsyncResult *result, GError **error);\";function g_tls_database_lookup_certificate_for_handle_finish(self, result, error) bind(c)\r\ng;g_tls_database_lookup_certificate_issuer;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsdatabase.h;\"GTlsCertificate* g_tls_database_lookup_certificate_issuer (GTlsDatabase *self, GTlsCertificate *certificate, GTlsInteraction *interaction, GTlsDatabaseLookupFlags flags, GCancellable *cancellable, GError **error);\";function g_tls_database_lookup_certificate_issuer(self, certificate, interaction, flags, cancellable, error) bind(c)\r\ng;g_tls_database_lookup_certificate_issuer_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsdatabase.h;\"void g_tls_database_lookup_certificate_issuer_async (GTlsDatabase *self, GTlsCertificate *certificate, GTlsInteraction *interaction, GTlsDatabaseLookupFlags flags, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_tls_database_lookup_certificate_issuer_async(self, certificate, interaction, flags, cancellable, callback, user_data) bind(c)\r\ng;g_tls_database_lookup_certificate_issuer_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsdatabase.h;\"GTlsCertificate* g_tls_database_lookup_certificate_issuer_finish (GTlsDatabase *self, GAsyncResult *result, GError **error);\";function g_tls_database_lookup_certificate_issuer_finish(self, result, error) bind(c)\r\ng;g_tls_database_lookup_certificates_issued_by;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsdatabase.h;\"GList* g_tls_database_lookup_certificates_issued_by (GTlsDatabase *self, GByteArray *issuer_raw_dn, GTlsInteraction *interaction, GTlsDatabaseLookupFlags flags, GCancellable *cancellable, GError **error);\";function g_tls_database_lookup_certificates_issued_by(self, issuer_raw_dn, interaction, flags, cancellable, error) bind(c)\r\ng;g_tls_database_lookup_certificates_issued_by_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsdatabase.h;\"void g_tls_database_lookup_certificates_issued_by_async (GTlsDatabase *self, GByteArray *issuer_raw_dn, GTlsInteraction *interaction, GTlsDatabaseLookupFlags flags, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_tls_database_lookup_certificates_issued_by_async(self, issuer_raw_dn, interaction, flags, cancellable, callback, user_data) bind(c)\r\ng;g_tls_database_lookup_certificates_issued_by_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsdatabase.h;\"GList* g_tls_database_lookup_certificates_issued_by_finish (GTlsDatabase *self, GAsyncResult *result, GError **error);\";function g_tls_database_lookup_certificates_issued_by_finish(self, result, error) bind(c)\r\ng;g_tls_database_verify_chain;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsdatabase.h;\"GTlsCertificateFlags g_tls_database_verify_chain (GTlsDatabase *self, GTlsCertificate *chain, const gchar *purpose, GSocketConnectable *identity, GTlsInteraction *interaction, GTlsDatabaseVerifyFlags flags, GCancellable *cancellable, GError **error);\";function g_tls_database_verify_chain(self, chain, purpose, identity, interaction, flags, cancellable, error) bind(c)\r\ng;g_tls_database_verify_chain_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsdatabase.h;\"void g_tls_database_verify_chain_async (GTlsDatabase *self, GTlsCertificate *chain, const gchar *purpose, GSocketConnectable *identity, GTlsInteraction *interaction, GTlsDatabaseVerifyFlags flags, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_tls_database_verify_chain_async(self, chain, purpose, identity, interaction, flags, cancellable, callback, user_data) bind(c)\r\ng;g_tls_database_verify_chain_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsdatabase.h;\"GTlsCertificateFlags g_tls_database_verify_chain_finish (GTlsDatabase *self, GAsyncResult *result, GError **error);\";function g_tls_database_verify_chain_finish(self, result, error) bind(c)\r\ng;g_tls_error_quark;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsconnection.h;\"GQuark g_tls_error_quark (void);\";function g_tls_error_quark() bind(c)\r\ng;g_tls_file_database_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsfiledatabase.h;\"GType g_tls_file_database_get_type (void) ;\";function g_tls_file_database_get_type() bind(c)\r\ng;g_tls_file_database_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsfiledatabase.h;\"GTlsDatabase* g_tls_file_database_new (const gchar *anchors, GError **error);\";function g_tls_file_database_new(anchors, error) bind(c)\r\ng;g_tls_interaction_ask_password;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsinteraction.h;\"GTlsInteractionResult g_tls_interaction_ask_password (GTlsInteraction *interaction, GTlsPassword *password, GCancellable *cancellable, GError **error);\";function g_tls_interaction_ask_password(interaction, password, cancellable, error) bind(c)\r\ng;g_tls_interaction_ask_password_async;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsinteraction.h;\"void g_tls_interaction_ask_password_async (GTlsInteraction *interaction, GTlsPassword *password, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_tls_interaction_ask_password_async(interaction, password, cancellable, callback, user_data) bind(c)\r\ng;g_tls_interaction_ask_password_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsinteraction.h;\"GTlsInteractionResult g_tls_interaction_ask_password_finish (GTlsInteraction *interaction, GAsyncResult *result, GError **error);\";function g_tls_interaction_ask_password_finish(interaction, result, error) bind(c)\r\ng;g_tls_interaction_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsinteraction.h;\"GType g_tls_interaction_get_type (void) ;\";function g_tls_interaction_get_type() bind(c)\r\ng;g_tls_interaction_invoke_ask_password;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsinteraction.h;\"GTlsInteractionResult g_tls_interaction_invoke_ask_password (GTlsInteraction *interaction, GTlsPassword *password, GCancellable *cancellable, GError **error);\";function g_tls_interaction_invoke_ask_password(interaction, password, cancellable, error) bind(c)\r\ng;g_tls_interaction_invoke_request_certificate;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsinteraction.h;\"GTlsInteractionResult g_tls_interaction_invoke_request_certificate (GTlsInteraction *interaction, GTlsConnection *connection, GTlsCertificateRequestFlags flags, GCancellable *cancellable, GError **error);\";function g_tls_interaction_invoke_request_certificate(interaction, connection, flags, cancellable, error) bind(c)\r\ng;g_tls_interaction_request_certificate;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsinteraction.h;\"GTlsInteractionResult g_tls_interaction_request_certificate (GTlsInteraction *interaction, GTlsConnection *connection, GTlsCertificateRequestFlags flags, GCancellable *cancellable, GError **error);\";function g_tls_interaction_request_certificate(interaction, connection, flags, cancellable, error) bind(c)\r\ng;g_tls_interaction_request_certificate_async;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsinteraction.h;\"void g_tls_interaction_request_certificate_async (GTlsInteraction *interaction, GTlsConnection *connection, GTlsCertificateRequestFlags flags, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_tls_interaction_request_certificate_async(interaction, connection, flags, cancellable, callback, user_data) bind(c)\r\ng;g_tls_interaction_request_certificate_finish;GIO_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsinteraction.h;\"GTlsInteractionResult g_tls_interaction_request_certificate_finish (GTlsInteraction *interaction, GAsyncResult *result, GError **error);\";function g_tls_interaction_request_certificate_finish(interaction, result, error) bind(c)\r\ng;g_tls_password_get_description;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlspassword.h;\"const gchar* g_tls_password_get_description (GTlsPassword *password);\";function g_tls_password_get_description(password) bind(c)\r\ng;g_tls_password_get_flags;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlspassword.h;\"GTlsPasswordFlags g_tls_password_get_flags (GTlsPassword *password);\";function g_tls_password_get_flags(password) bind(c)\r\ng;g_tls_password_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlspassword.h;\"GType g_tls_password_get_type (void) ;\";function g_tls_password_get_type() bind(c)\r\ng;g_tls_password_get_value;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlspassword.h;\"const guchar * g_tls_password_get_value (GTlsPassword *password, gsize *length);\";function g_tls_password_get_value(password, length) bind(c)\r\ng;g_tls_password_get_warning;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlspassword.h;\"const gchar * g_tls_password_get_warning (GTlsPassword *password);\";function g_tls_password_get_warning(password) bind(c)\r\ng;g_tls_password_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlspassword.h;\"GTlsPassword * g_tls_password_new (GTlsPasswordFlags flags, const gchar *description);\";function g_tls_password_new(flags, description) bind(c)\r\ng;g_tls_password_set_description;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlspassword.h;\"void g_tls_password_set_description (GTlsPassword *password, const gchar *description);\";subroutine g_tls_password_set_description(password, description) bind(c)\r\ng;g_tls_password_set_flags;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlspassword.h;\"void g_tls_password_set_flags (GTlsPassword *password, GTlsPasswordFlags flags);\";subroutine g_tls_password_set_flags(password, flags) bind(c)\r\ng;g_tls_password_set_value;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlspassword.h;\"void g_tls_password_set_value (GTlsPassword *password, const guchar *value, gssize length);\";subroutine g_tls_password_set_value(password, value, length) bind(c)\r\ng;g_tls_password_set_value_full;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlspassword.h;\"void g_tls_password_set_value_full (GTlsPassword *password, guchar *value, gssize length, GDestroyNotify destroy);\";subroutine g_tls_password_set_value_full(password, value, length, destroy) bind(c)\r\ng;g_tls_password_set_warning;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlspassword.h;\"void g_tls_password_set_warning (GTlsPassword *password, const gchar *warning);\";subroutine g_tls_password_set_warning(password, warning) bind(c)\r\ng;g_tls_server_connection_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsserverconnection.h;\"GType g_tls_server_connection_get_type (void) ;\";function g_tls_server_connection_get_type() bind(c)\r\ng;g_tls_server_connection_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gtlsserverconnection.h;\"GIOStream * g_tls_server_connection_new (GIOStream *base_io_stream, GTlsCertificate *certificate, GError **error);\";function g_tls_server_connection_new(base_io_stream, certificate, error) bind(c)\r\ng;g_trash_stack_height;GLIB_DEPRECATED_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/glib/gtrashstack.h;\"guint g_trash_stack_height (GTrashStack **stack_p);\";function g_trash_stack_height(stack_p) bind(c)\r\ng;g_trash_stack_peek;GLIB_DEPRECATED_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/glib/gtrashstack.h;\"gpointer g_trash_stack_peek (GTrashStack **stack_p);\";function g_trash_stack_peek(stack_p) bind(c)\r\ng;g_trash_stack_pop;GLIB_DEPRECATED_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/glib/gtrashstack.h;\"gpointer g_trash_stack_pop (GTrashStack **stack_p);\";function g_trash_stack_pop(stack_p) bind(c)\r\ng;g_trash_stack_push;GLIB_DEPRECATED_IN_2_48;glib-auto.f90;/usr/include/glib-2.0/glib/gtrashstack.h;\"void g_trash_stack_push (GTrashStack **stack_p, gpointer data_p);\";subroutine g_trash_stack_push(stack_p, data_p) bind(c)\r\ng;g_tree_destroy;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtree.h;\"void g_tree_destroy (GTree *tree);\";subroutine g_tree_destroy(tree) bind(c)\r\ng;g_tree_dump;;glib-auto.f90;/usr/include/glib-2.0/glib/gtree.h;\"void g_tree_dump (GTree *tree);\";subroutine g_tree_dump(tree) bind(c)\r\ng;g_tree_foreach;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtree.h;\"void g_tree_foreach (GTree *tree, GTraverseFunc func, gpointer user_data);\";subroutine g_tree_foreach(tree, func, user_data) bind(c)\r\ng;g_tree_foreach_node;GLIB_AVAILABLE_IN_2_68;glib-auto.f90;/usr/include/glib-2.0/glib/gtree.h;\"void g_tree_foreach_node (GTree *tree, GTraverseNodeFunc func, gpointer user_data);\";subroutine g_tree_foreach_node(tree, func, user_data) bind(c)\r\ng;g_tree_get_type;GOBJECT_AVAILABLE_IN_2_68;glib-auto.f90;/usr/include/glib-2.0/gobject/glib-types.h;\"GType g_tree_get_type (void) ;\";function g_tree_get_type() bind(c)\r\ng;g_tree_height;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtree.h;\"gint g_tree_height (GTree *tree);\";function g_tree_height(tree) bind(c)\r\ng;g_tree_insert;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtree.h;\"void g_tree_insert (GTree *tree, gpointer key, gpointer value);\";subroutine g_tree_insert(tree, key, value) bind(c)\r\ng;g_tree_insert_node;GLIB_AVAILABLE_IN_2_68;glib-auto.f90;/usr/include/glib-2.0/glib/gtree.h;\"GTreeNode *g_tree_insert_node (GTree *tree, gpointer key, gpointer value);\";function g_tree_insert_node(tree, key, value) bind(c)\r\ng;g_tree_lookup;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtree.h;\"gpointer g_tree_lookup (GTree *tree, gconstpointer key);\";function g_tree_lookup(tree, key) bind(c)\r\ng;g_tree_lookup_extended;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtree.h;\"gboolean g_tree_lookup_extended (GTree *tree, gconstpointer lookup_key, gpointer *orig_key, gpointer *value);\";function g_tree_lookup_extended(tree, lookup_key, orig_key, value) bind(c)\r\ng;g_tree_lookup_node;GLIB_AVAILABLE_IN_2_68;glib-auto.f90;/usr/include/glib-2.0/glib/gtree.h;\"GTreeNode *g_tree_lookup_node (GTree *tree, gconstpointer key);\";function g_tree_lookup_node(tree, key) bind(c)\r\ng;g_tree_lower_bound;GLIB_AVAILABLE_IN_2_68;glib-auto.f90;/usr/include/glib-2.0/glib/gtree.h;\"GTreeNode *g_tree_lower_bound (GTree *tree, gconstpointer key);\";function g_tree_lower_bound(tree, key) bind(c)\r\ng;g_tree_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtree.h;\"GTree* g_tree_new (GCompareFunc key_compare_func);\";function g_tree_new(key_compare_func) bind(c)\r\ng;g_tree_new_full;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtree.h;\"GTree* g_tree_new_full (GCompareDataFunc key_compare_func, gpointer key_compare_data, GDestroyNotify key_destroy_func, GDestroyNotify value_destroy_func);\";function g_tree_new_full(key_compare_func, key_compare_data, key_destroy_func, value_destroy_func) bind(c)\r\ng;g_tree_new_with_data;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtree.h;\"GTree* g_tree_new_with_data (GCompareDataFunc key_compare_func, gpointer key_compare_data);\";function g_tree_new_with_data(key_compare_func, key_compare_data) bind(c)\r\ng;g_tree_nnodes;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtree.h;\"gint g_tree_nnodes (GTree *tree);\";function g_tree_nnodes(tree) bind(c)\r\ng;g_tree_node_first;GLIB_AVAILABLE_IN_2_68;glib-auto.f90;/usr/include/glib-2.0/glib/gtree.h;\"GTreeNode *g_tree_node_first (GTree *tree);\";function g_tree_node_first(tree) bind(c)\r\ng;g_tree_node_key;GLIB_AVAILABLE_IN_2_68;glib-auto.f90;/usr/include/glib-2.0/glib/gtree.h;\"gpointer g_tree_node_key (GTreeNode *node);\";function g_tree_node_key(node) bind(c)\r\ng;g_tree_node_last;GLIB_AVAILABLE_IN_2_68;glib-auto.f90;/usr/include/glib-2.0/glib/gtree.h;\"GTreeNode *g_tree_node_last (GTree *tree);\";function g_tree_node_last(tree) bind(c)\r\ng;g_tree_node_next;GLIB_AVAILABLE_IN_2_68;glib-auto.f90;/usr/include/glib-2.0/glib/gtree.h;\"GTreeNode *g_tree_node_next (GTreeNode *node);\";function g_tree_node_next(node) bind(c)\r\ng;g_tree_node_previous;GLIB_AVAILABLE_IN_2_68;glib-auto.f90;/usr/include/glib-2.0/glib/gtree.h;\"GTreeNode *g_tree_node_previous (GTreeNode *node);\";function g_tree_node_previous(node) bind(c)\r\ng;g_tree_node_value;GLIB_AVAILABLE_IN_2_68;glib-auto.f90;/usr/include/glib-2.0/glib/gtree.h;\"gpointer g_tree_node_value (GTreeNode *node);\";function g_tree_node_value(node) bind(c)\r\ng;g_tree_ref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtree.h;\"GTree* g_tree_ref (GTree *tree);\";function g_tree_ref(tree) bind(c)\r\ng;g_tree_remove;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtree.h;\"gboolean g_tree_remove (GTree *tree, gconstpointer key);\";function g_tree_remove(tree, key) bind(c)\r\ng;g_tree_remove_all;GLIB_AVAILABLE_IN_2_70;glib-auto.f90;/usr/include/glib-2.0/glib/gtree.h;\"void g_tree_remove_all (GTree *tree);\";subroutine g_tree_remove_all(tree) bind(c)\r\ng;g_tree_replace;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtree.h;\"void g_tree_replace (GTree *tree, gpointer key, gpointer value);\";subroutine g_tree_replace(tree, key, value) bind(c)\r\ng;g_tree_replace_node;GLIB_AVAILABLE_IN_2_68;glib-auto.f90;/usr/include/glib-2.0/glib/gtree.h;\"GTreeNode *g_tree_replace_node (GTree *tree, gpointer key, gpointer value);\";function g_tree_replace_node(tree, key, value) bind(c)\r\ng;g_tree_search;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtree.h;\"gpointer g_tree_search (GTree *tree, GCompareFunc search_func, gconstpointer user_data);\";function g_tree_search(tree, search_func, user_data) bind(c)\r\ng;g_tree_search_node;GLIB_AVAILABLE_IN_2_68;glib-auto.f90;/usr/include/glib-2.0/glib/gtree.h;\"GTreeNode *g_tree_search_node (GTree *tree, GCompareFunc search_func, gconstpointer user_data);\";function g_tree_search_node(tree, search_func, user_data) bind(c)\r\ng;g_tree_steal;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtree.h;\"gboolean g_tree_steal (GTree *tree, gconstpointer key);\";function g_tree_steal(tree, key) bind(c)\r\ng;g_tree_traverse;GLIB_DEPRECATED;glib-auto.f90;/usr/include/glib-2.0/glib/gtree.h;\"void g_tree_traverse (GTree *tree, GTraverseFunc traverse_func, GTraverseType traverse_type, gpointer user_data);\";subroutine g_tree_traverse(tree, traverse_func, traverse_type, user_data) bind(c)\r\ng;g_tree_unref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtree.h;\"void g_tree_unref (GTree *tree);\";subroutine g_tree_unref(tree) bind(c)\r\ng;g_tree_upper_bound;GLIB_AVAILABLE_IN_2_68;glib-auto.f90;/usr/include/glib-2.0/glib/gtree.h;\"GTreeNode *g_tree_upper_bound (GTree *tree, gconstpointer key);\";function g_tree_upper_bound(tree, key) bind(c)\r\ng;g_try_malloc;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmem.h;\"gpointer g_try_malloc (gsize n_bytes) ;\";function g_try_malloc(n_bytes) bind(c)\r\ng;g_try_malloc0;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmem.h;\"gpointer g_try_malloc0 (gsize n_bytes) ;\";function g_try_malloc0(n_bytes) bind(c)\r\ng;g_try_malloc0_n;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmem.h;\"gpointer g_try_malloc0_n (gsize n_blocks, gsize n_block_bytes) ;\";function g_try_malloc0_n(n_blocks, n_block_bytes) bind(c)\r\ng;g_try_malloc_n;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmem.h;\"gpointer g_try_malloc_n (gsize n_blocks, gsize n_block_bytes) ;\";function g_try_malloc_n(n_blocks, n_block_bytes) bind(c)\r\ng;g_try_realloc;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmem.h;\"gpointer g_try_realloc (gpointer mem, gsize n_bytes) ;\";function g_try_realloc(mem, n_bytes) bind(c)\r\ng;g_try_realloc_n;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmem.h;\"gpointer g_try_realloc_n (gpointer mem, gsize n_blocks, gsize n_block_bytes) ;\";function g_try_realloc_n(mem, n_blocks, n_block_bytes) bind(c)\r\ng;g_tuples_destroy;GLIB_DEPRECATED_IN_2_26;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/grel.h;\"void g_tuples_destroy (GTuples *tuples);\";subroutine g_tuples_destroy(tuples) bind(c)\r\ng;g_tuples_index;GLIB_DEPRECATED_IN_2_26;glib-auto.f90;/usr/include/glib-2.0/glib/deprecated/grel.h;\"gpointer g_tuples_index (GTuples *tuples, gint index_, gint field);\";function g_tuples_index(tuples, index_, field) bind(c)\r\ng;g_type_add_class_cache_func;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"void g_type_add_class_cache_func (gpointer cache_data, GTypeClassCacheFunc cache_func);\";subroutine g_type_add_class_cache_func(cache_data, cache_func) bind(c)\r\ng;g_type_add_class_private;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"void g_type_add_class_private (GType class_type, gsize private_size);\";subroutine g_type_add_class_private(class_type, private_size) bind(c)\r\ng;g_type_add_instance_private;GOBJECT_AVAILABLE_IN_2_38;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"gint g_type_add_instance_private (GType class_type, gsize private_size);\";function g_type_add_instance_private(class_type, private_size) bind(c)\r\ng;g_type_add_interface_check;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"void g_type_add_interface_check (gpointer check_data, GTypeInterfaceCheckFunc check_func);\";subroutine g_type_add_interface_check(check_data, check_func) bind(c)\r\ng;g_type_add_interface_dynamic;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"void g_type_add_interface_dynamic (GType instance_type, GType interface_type, GTypePlugin *plugin);\";subroutine g_type_add_interface_dynamic(instance_type, interface_type, plugin) bind(c)\r\ng;g_type_add_interface_static;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"void g_type_add_interface_static (GType instance_type, GType interface_type, const GInterfaceInfo *info);\";subroutine g_type_add_interface_static(instance_type, interface_type, info) bind(c)\r\ng;g_type_check_class_cast;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"GTypeClass* g_type_check_class_cast (GTypeClass *g_class, GType is_a_type);\";function g_type_check_class_cast(g_class, is_a_type) bind(c)\r\ng;g_type_check_class_is_a;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"gboolean g_type_check_class_is_a (GTypeClass *g_class, GType is_a_type) ;\";function g_type_check_class_is_a(g_class, is_a_type) bind(c)\r\ng;g_type_check_instance;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"gboolean g_type_check_instance (GTypeInstance *instance) ;\";function g_type_check_instance(instance) bind(c)\r\ng;g_type_check_instance_cast;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"GTypeInstance* g_type_check_instance_cast (GTypeInstance *instance, GType iface_type);\";function g_type_check_instance_cast(instance, iface_type) bind(c)\r\ng;g_type_check_instance_is_a;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"gboolean g_type_check_instance_is_a (GTypeInstance *instance, GType iface_type) ;\";function g_type_check_instance_is_a(instance, iface_type) bind(c)\r\ng;g_type_check_instance_is_fundamentally_a;GOBJECT_AVAILABLE_IN_2_42;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"gboolean g_type_check_instance_is_fundamentally_a (GTypeInstance *instance, GType fundamental_type) ;\";function g_type_check_instance_is_fundamentally_a(instance, fundamental_type) bind(c)\r\ng;g_type_check_is_value_type;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"gboolean g_type_check_is_value_type (GType type) ;\";function g_type_check_is_value_type(type) bind(c)\r\ng;g_type_check_value;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"gboolean g_type_check_value (const GValue *value) ;\";function g_type_check_value(value) bind(c)\r\ng;g_type_check_value_holds;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"gboolean g_type_check_value_holds (const GValue *value, GType type) ;\";function g_type_check_value_holds(value, type) bind(c)\r\ng;g_type_children;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"GType* g_type_children (GType type, guint *n_children);\";function g_type_children(type, n_children) bind(c)\r\ng;g_type_class_add_private;GOBJECT_DEPRECATED_IN_2_58;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"void g_type_class_add_private (gpointer g_class, gsize private_size);\";subroutine g_type_class_add_private(g_class, private_size) bind(c)\r\ng;g_type_class_adjust_private_offset;GOBJECT_AVAILABLE_IN_2_38;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"void g_type_class_adjust_private_offset (gpointer g_class, gint *private_size_or_offset);\";subroutine g_type_class_adjust_private_offset(g_class, private_size_or_offset) bind(c)\r\ng;g_type_class_get;GOBJECT_AVAILABLE_IN_2_84;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"gpointer g_type_class_get (GType type);\";function g_type_class_get(type) bind(c)\r\ng;g_type_class_get_instance_private_offset;GOBJECT_AVAILABLE_IN_2_38;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"gint g_type_class_get_instance_private_offset (gpointer g_class);\";function g_type_class_get_instance_private_offset(g_class) bind(c)\r\ng;g_type_class_get_private;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"gpointer g_type_class_get_private (GTypeClass *klass, GType private_type);\";function g_type_class_get_private(klass, private_type) bind(c)\r\ng;g_type_class_peek;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"gpointer g_type_class_peek (GType type);\";function g_type_class_peek(type) bind(c)\r\ng;g_type_class_peek_parent;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"gpointer g_type_class_peek_parent (gpointer g_class);\";function g_type_class_peek_parent(g_class) bind(c)\r\ng;g_type_class_peek_static;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"gpointer g_type_class_peek_static (GType type);\";function g_type_class_peek_static(type) bind(c)\r\ng;g_type_class_ref;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"gpointer g_type_class_ref (GType type);\";function g_type_class_ref(type) bind(c)\r\ng;g_type_class_unref;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"void g_type_class_unref (gpointer g_class);\";subroutine g_type_class_unref(g_class) bind(c)\r\ng;g_type_class_unref_uncached;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"void g_type_class_unref_uncached (gpointer g_class);\";subroutine g_type_class_unref_uncached(g_class) bind(c)\r\ng;g_type_create_instance;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"GTypeInstance* g_type_create_instance (GType type);\";function g_type_create_instance(type) bind(c)\r\ng;g_type_default_interface_get;GOBJECT_AVAILABLE_IN_2_84;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"gpointer g_type_default_interface_get (GType g_type);\";function g_type_default_interface_get(g_type) bind(c)\r\ng;g_type_default_interface_peek;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"gpointer g_type_default_interface_peek (GType g_type);\";function g_type_default_interface_peek(g_type) bind(c)\r\ng;g_type_default_interface_ref;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"gpointer g_type_default_interface_ref (GType g_type);\";function g_type_default_interface_ref(g_type) bind(c)\r\ng;g_type_default_interface_unref;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"void g_type_default_interface_unref (gpointer g_iface);\";subroutine g_type_default_interface_unref(g_iface) bind(c)\r\ng;g_type_depth;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"guint g_type_depth (GType type);\";function g_type_depth(type) bind(c)\r\ng;g_type_ensure;GOBJECT_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"void g_type_ensure (GType type);\";subroutine g_type_ensure(type) bind(c)\r\ng;g_type_free_instance;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"void g_type_free_instance (GTypeInstance *instance);\";subroutine g_type_free_instance(instance) bind(c)\r\ng;g_type_from_name;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"GType g_type_from_name (const gchar *name);\";function g_type_from_name(name) bind(c)\r\ng;g_type_fundamental;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"GType g_type_fundamental (GType type_id);\";function g_type_fundamental(type_id) bind(c)\r\ng;g_type_fundamental_next;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"GType g_type_fundamental_next (void);\";function g_type_fundamental_next() bind(c)\r\ng;g_type_get_instance_count;GOBJECT_AVAILABLE_IN_2_44;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"int g_type_get_instance_count (GType type);\";function g_type_get_instance_count(type) bind(c)\r\ng;g_type_get_plugin;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"GTypePlugin* g_type_get_plugin (GType type);\";function g_type_get_plugin(type) bind(c)\r\ng;g_type_get_qdata;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"gpointer g_type_get_qdata (GType type, GQuark quark);\";function g_type_get_qdata(type, quark) bind(c)\r\ng;g_type_get_type_registration_serial;GOBJECT_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"guint g_type_get_type_registration_serial (void);\";function g_type_get_type_registration_serial() bind(c)\r\ng;g_type_init;GOBJECT_DEPRECATED_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"void g_type_init (void);\";subroutine g_type_init() bind(c)\r\ng;g_type_instance_get_private;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"gpointer g_type_instance_get_private (GTypeInstance *instance, GType private_type);\";function g_type_instance_get_private(instance, private_type) bind(c)\r\ng;g_type_interface_add_prerequisite;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"void g_type_interface_add_prerequisite (GType interface_type, GType prerequisite_type);\";subroutine g_type_interface_add_prerequisite(interface_type, prerequisite_type) bind(c)\r\ng;g_type_interface_get_plugin;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"GTypePlugin* g_type_interface_get_plugin (GType instance_type, GType interface_type);\";function g_type_interface_get_plugin(instance_type, interface_type) bind(c)\r\ng;g_type_interface_instantiatable_prerequisite;GOBJECT_AVAILABLE_IN_2_68;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"GType g_type_interface_instantiatable_prerequisite (GType interface_type);\";function g_type_interface_instantiatable_prerequisite(interface_type) bind(c)\r\ng;g_type_interface_peek;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"gpointer g_type_interface_peek (gpointer instance_class, GType iface_type);\";function g_type_interface_peek(instance_class, iface_type) bind(c)\r\ng;g_type_interface_peek_parent;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"gpointer g_type_interface_peek_parent (gpointer g_iface);\";function g_type_interface_peek_parent(g_iface) bind(c)\r\ng;g_type_interface_prerequisites;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"GType*g_type_interface_prerequisites (GType interface_type, guint *n_prerequisites);\";function g_type_interface_prerequisites(interface_type, n_prerequisites) bind(c)\r\ng;g_type_interfaces;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"GType* g_type_interfaces (GType type, guint *n_interfaces);\";function g_type_interfaces(type, n_interfaces) bind(c)\r\ng;g_type_is_a;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"gboolean g_type_is_a (GType type, GType is_a_type);\";function g_type_is_a(type, is_a_type) bind(c)\r\ng;g_type_module_add_interface;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtypemodule.h;\"void g_type_module_add_interface (GTypeModule *module, GType instance_type, GType interface_type, const GInterfaceInfo *interface_info);\";subroutine g_type_module_add_interface(module, instance_type, interface_type, interface_info) bind(c)\r\ng;g_type_module_get_type;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtypemodule.h;\"GType g_type_module_get_type (void) ;\";function g_type_module_get_type() bind(c)\r\ng;g_type_module_register_enum;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtypemodule.h;\"GType g_type_module_register_enum (GTypeModule *module, const gchar *name, const GEnumValue *const_static_values);\";function g_type_module_register_enum(module, name, const_static_values) bind(c)\r\ng;g_type_module_register_flags;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtypemodule.h;\"GType g_type_module_register_flags (GTypeModule *module, const gchar *name, const GFlagsValue *const_static_values);\";function g_type_module_register_flags(module, name, const_static_values) bind(c)\r\ng;g_type_module_register_type;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtypemodule.h;\"GType g_type_module_register_type (GTypeModule *module, GType parent_type, const gchar *type_name, const GTypeInfo *type_info, GTypeFlags flags);\";function g_type_module_register_type(module, parent_type, type_name, type_info, flags) bind(c)\r\ng;g_type_module_set_name;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtypemodule.h;\"void g_type_module_set_name (GTypeModule *module, const gchar *name);\";subroutine g_type_module_set_name(module, name) bind(c)\r\ng;g_type_module_unuse;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtypemodule.h;\"void g_type_module_unuse (GTypeModule *module);\";subroutine g_type_module_unuse(module) bind(c)\r\ng;g_type_module_use;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtypemodule.h;\"gboolean g_type_module_use (GTypeModule *module);\";function g_type_module_use(module) bind(c)\r\ng;g_type_name;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"const gchar * g_type_name (GType type);\";function g_type_name(type) bind(c)\r\ng;g_type_name_from_class;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"const gchar * g_type_name_from_class (GTypeClass *g_class);\";function g_type_name_from_class(g_class) bind(c)\r\ng;g_type_name_from_instance;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"const gchar * g_type_name_from_instance (GTypeInstance *instance);\";function g_type_name_from_instance(instance) bind(c)\r\ng;g_type_next_base;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"GType g_type_next_base (GType leaf_type, GType root_type);\";function g_type_next_base(leaf_type, root_type) bind(c)\r\ng;g_type_parent;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"GType g_type_parent (GType type);\";function g_type_parent(type) bind(c)\r\ng;g_type_plugin_complete_interface_info;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtypeplugin.h;\"void g_type_plugin_complete_interface_info (GTypePlugin *plugin, GType instance_type, GType interface_type, GInterfaceInfo *info);\";subroutine g_type_plugin_complete_interface_info(plugin, instance_type, interface_type, info) bind(c)\r\ng;g_type_plugin_complete_type_info;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtypeplugin.h;\"void g_type_plugin_complete_type_info (GTypePlugin *plugin, GType g_type, GTypeInfo *info, GTypeValueTable *value_table);\";subroutine g_type_plugin_complete_type_info(plugin, g_type, info, value_table) bind(c)\r\ng;g_type_plugin_get_type;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtypeplugin.h;\"GType g_type_plugin_get_type (void) ;\";function g_type_plugin_get_type() bind(c)\r\ng;g_type_plugin_unuse;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtypeplugin.h;\"void g_type_plugin_unuse (GTypePlugin *plugin);\";subroutine g_type_plugin_unuse(plugin) bind(c)\r\ng;g_type_plugin_use;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtypeplugin.h;\"void g_type_plugin_use (GTypePlugin *plugin);\";subroutine g_type_plugin_use(plugin) bind(c)\r\ng;g_type_qname;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"GQuark g_type_qname (GType type);\";function g_type_qname(type) bind(c)\r\ng;g_type_query;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"void g_type_query (GType type, GTypeQuery *query);\";subroutine g_type_query(type, query) bind(c)\r\ng;g_type_register_dynamic;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"GType g_type_register_dynamic (GType parent_type, const gchar *type_name, GTypePlugin *plugin, GTypeFlags flags);\";function g_type_register_dynamic(parent_type, type_name, plugin, flags) bind(c)\r\ng;g_type_register_fundamental;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"GType g_type_register_fundamental (GType type_id, const gchar *type_name, const GTypeInfo *info, const GTypeFundamentalInfo *finfo, GTypeFlags flags);\";function g_type_register_fundamental(type_id, type_name, info, finfo, flags) bind(c)\r\ng;g_type_register_static_simple;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"GType g_type_register_static_simple (GType parent_type, const gchar *type_name, guint class_size, GClassInitFunc class_init, guint instance_size, GInstanceInitFunc instance_init, GTypeFlags flags);\";function g_type_register_static_simple(parent_type, type_name, class_size, class_init, instance_size, instance_init, flags) bind(c)\r\ng;g_type_remove_class_cache_func;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"void g_type_remove_class_cache_func (gpointer cache_data, GTypeClassCacheFunc cache_func);\";subroutine g_type_remove_class_cache_func(cache_data, cache_func) bind(c)\r\ng;g_type_remove_interface_check;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"void g_type_remove_interface_check (gpointer check_data, GTypeInterfaceCheckFunc check_func);\";subroutine g_type_remove_interface_check(check_data, check_func) bind(c)\r\ng;g_type_set_qdata;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"void g_type_set_qdata (GType type, GQuark quark, gpointer data);\";subroutine g_type_set_qdata(type, quark, data) bind(c)\r\ng;g_type_test_flags;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"gboolean g_type_test_flags (GType type, guint flags) ;\";function g_type_test_flags(type, flags) bind(c)\r\ng;g_type_value_table_peek;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gtype.h;\"GTypeValueTable* g_type_value_table_peek (GType type);\";function g_type_value_table_peek(type) bind(c)\r\ng;g_ucs4_to_utf16;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gunichar2 *g_ucs4_to_utf16 (const gunichar *str, glong len, glong *items_read, glong *items_written, GError **error) ;\";function g_ucs4_to_utf16(str, len, items_read, items_written, error) bind(c)\r\ng;g_ucs4_to_utf8;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gchar* g_ucs4_to_utf8 (const gunichar *str, glong len, glong *items_read, glong *items_written, GError **error) ;\";function g_ucs4_to_utf8(str, len, items_read, items_written, error) bind(c)\r\ng;g_unichar_break_type;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"GUnicodeBreakType g_unichar_break_type (gunichar c) ;\";function g_unichar_break_type(c) bind(c)\r\ng;g_unichar_combining_class;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gint g_unichar_combining_class (gunichar uc) ;\";function g_unichar_combining_class(uc) bind(c)\r\ng;g_unichar_compose;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gboolean g_unichar_compose (gunichar a, gunichar b, gunichar *ch);\";function g_unichar_compose(a, b, ch) bind(c)\r\ng;g_unichar_decompose;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gboolean g_unichar_decompose (gunichar ch, gunichar *a, gunichar *b);\";function g_unichar_decompose(ch, a, b) bind(c)\r\ng;g_unichar_digit_value;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gint g_unichar_digit_value (gunichar c) ;\";function g_unichar_digit_value(c) bind(c)\r\ng;g_unichar_fully_decompose;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gsize g_unichar_fully_decompose (gunichar ch, gboolean compat, gunichar *result, gsize result_len);\";function g_unichar_fully_decompose(ch, compat, result, result_len) bind(c)\r\ng;g_unichar_get_mirror_char;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gboolean g_unichar_get_mirror_char (gunichar ch, gunichar *mirrored_ch);\";function g_unichar_get_mirror_char(ch, mirrored_ch) bind(c)\r\ng;g_unichar_get_script;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"GUnicodeScript g_unichar_get_script (gunichar ch) ;\";function g_unichar_get_script(ch) bind(c)\r\ng;g_unichar_isalnum;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gboolean g_unichar_isalnum (gunichar c) ;\";function g_unichar_isalnum(c) bind(c)\r\ng;g_unichar_isalpha;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gboolean g_unichar_isalpha (gunichar c) ;\";function g_unichar_isalpha(c) bind(c)\r\ng;g_unichar_iscntrl;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gboolean g_unichar_iscntrl (gunichar c) ;\";function g_unichar_iscntrl(c) bind(c)\r\ng;g_unichar_isdefined;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gboolean g_unichar_isdefined (gunichar c) ;\";function g_unichar_isdefined(c) bind(c)\r\ng;g_unichar_isdigit;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gboolean g_unichar_isdigit (gunichar c) ;\";function g_unichar_isdigit(c) bind(c)\r\ng;g_unichar_isgraph;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gboolean g_unichar_isgraph (gunichar c) ;\";function g_unichar_isgraph(c) bind(c)\r\ng;g_unichar_islower;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gboolean g_unichar_islower (gunichar c) ;\";function g_unichar_islower(c) bind(c)\r\ng;g_unichar_ismark;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gboolean g_unichar_ismark (gunichar c) ;\";function g_unichar_ismark(c) bind(c)\r\ng;g_unichar_isprint;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gboolean g_unichar_isprint (gunichar c) ;\";function g_unichar_isprint(c) bind(c)\r\ng;g_unichar_ispunct;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gboolean g_unichar_ispunct (gunichar c) ;\";function g_unichar_ispunct(c) bind(c)\r\ng;g_unichar_isspace;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gboolean g_unichar_isspace (gunichar c) ;\";function g_unichar_isspace(c) bind(c)\r\ng;g_unichar_istitle;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gboolean g_unichar_istitle (gunichar c) ;\";function g_unichar_istitle(c) bind(c)\r\ng;g_unichar_isupper;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gboolean g_unichar_isupper (gunichar c) ;\";function g_unichar_isupper(c) bind(c)\r\ng;g_unichar_iswide;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gboolean g_unichar_iswide (gunichar c) ;\";function g_unichar_iswide(c) bind(c)\r\ng;g_unichar_iswide_cjk;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gboolean g_unichar_iswide_cjk(gunichar c) ;\";function g_unichar_iswide_cjk(c) bind(c)\r\ng;g_unichar_isxdigit;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gboolean g_unichar_isxdigit (gunichar c) ;\";function g_unichar_isxdigit(c) bind(c)\r\ng;g_unichar_iszerowidth;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gboolean g_unichar_iszerowidth(gunichar c) ;\";function g_unichar_iszerowidth(c) bind(c)\r\ng;g_unichar_to_utf8;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gint g_unichar_to_utf8 (gunichar c, gchar *outbuf);\";function g_unichar_to_utf8(c, outbuf) bind(c)\r\ng;g_unichar_tolower;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gunichar g_unichar_tolower (gunichar c) ;\";function g_unichar_tolower(c) bind(c)\r\ng;g_unichar_totitle;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gunichar g_unichar_totitle (gunichar c) ;\";function g_unichar_totitle(c) bind(c)\r\ng;g_unichar_toupper;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gunichar g_unichar_toupper (gunichar c) ;\";function g_unichar_toupper(c) bind(c)\r\ng;g_unichar_type;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"GUnicodeType g_unichar_type (gunichar c) ;\";function g_unichar_type(c) bind(c)\r\ng;g_unichar_validate;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gboolean g_unichar_validate (gunichar ch) ;\";function g_unichar_validate(ch) bind(c)\r\ng;g_unichar_xdigit_value;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gint g_unichar_xdigit_value (gunichar c) ;\";function g_unichar_xdigit_value(c) bind(c)\r\ng;g_unicode_canonical_decomposition;GLIB_DEPRECATED_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gunichar *g_unicode_canonical_decomposition (gunichar ch, gsize *result_len) ;\";function g_unicode_canonical_decomposition(ch, result_len) bind(c)\r\ng;g_unicode_canonical_ordering;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"void g_unicode_canonical_ordering (gunichar *string, gsize len);\";subroutine g_unicode_canonical_ordering(string, len) bind(c)\r\ng;g_unicode_script_from_iso15924;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"GUnicodeScript g_unicode_script_from_iso15924 (guint32 iso15924);\";function g_unicode_script_from_iso15924(iso15924) bind(c)\r\ng;g_unicode_script_to_iso15924;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"guint32 g_unicode_script_to_iso15924 (GUnicodeScript script);\";function g_unicode_script_to_iso15924(script) bind(c)\r\ng;g_unix_connection_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gunixconnection.h;\"GType g_unix_connection_get_type (void);\";function g_unix_connection_get_type() bind(c)\r\ng;g_unix_connection_receive_credentials;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gunixconnection.h;\"GCredentials *g_unix_connection_receive_credentials (GUnixConnection *connection, GCancellable *cancellable, GError **error);\";function g_unix_connection_receive_credentials(connection, cancellable, error) bind(c)\r\ng;g_unix_connection_receive_credentials_async;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gunixconnection.h;\"void g_unix_connection_receive_credentials_async (GUnixConnection *connection, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_unix_connection_receive_credentials_async(connection, cancellable, callback, user_data) bind(c)\r\ng;g_unix_connection_receive_credentials_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gunixconnection.h;\"GCredentials *g_unix_connection_receive_credentials_finish (GUnixConnection *connection, GAsyncResult *result, GError **error);\";function g_unix_connection_receive_credentials_finish(connection, result, error) bind(c)\r\ng;g_unix_connection_receive_fd;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gunixconnection.h;\"gint g_unix_connection_receive_fd (GUnixConnection *connection, GCancellable *cancellable, GError **error);\";function g_unix_connection_receive_fd(connection, cancellable, error) bind(c)\r\ng;g_unix_connection_send_credentials;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gunixconnection.h;\"gboolean g_unix_connection_send_credentials (GUnixConnection *connection, GCancellable *cancellable, GError **error);\";function g_unix_connection_send_credentials(connection, cancellable, error) bind(c)\r\ng;g_unix_connection_send_credentials_async;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gunixconnection.h;\"void g_unix_connection_send_credentials_async (GUnixConnection *connection, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_unix_connection_send_credentials_async(connection, cancellable, callback, user_data) bind(c)\r\ng;g_unix_connection_send_credentials_finish;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gunixconnection.h;\"gboolean g_unix_connection_send_credentials_finish (GUnixConnection *connection, GAsyncResult *result, GError **error);\";function g_unix_connection_send_credentials_finish(connection, result, error) bind(c)\r\ng;g_unix_connection_send_fd;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gunixconnection.h;\"gboolean g_unix_connection_send_fd (GUnixConnection *connection, gint fd, GCancellable *cancellable, GError **error);\";function g_unix_connection_send_fd(connection, fd, cancellable, error) bind(c)\r\ng;g_unix_credentials_message_get_credentials;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gunixcredentialsmessage.h;\"GCredentials *g_unix_credentials_message_get_credentials (GUnixCredentialsMessage *message);\";function g_unix_credentials_message_get_credentials(message) bind(c)\r\ng;g_unix_credentials_message_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gunixcredentialsmessage.h;\"GType g_unix_credentials_message_get_type (void) ;\";function g_unix_credentials_message_get_type() bind(c)\r\ng;g_unix_credentials_message_is_supported;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gunixcredentialsmessage.h;\"gboolean g_unix_credentials_message_is_supported (void);\";function g_unix_credentials_message_is_supported() bind(c)\r\ng;g_unix_credentials_message_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gunixcredentialsmessage.h;\"GSocketControlMessage *g_unix_credentials_message_new (void);\";function g_unix_credentials_message_new() bind(c)\r\ng;g_unix_credentials_message_new_with_credentials;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gunixcredentialsmessage.h;\"GSocketControlMessage *g_unix_credentials_message_new_with_credentials (GCredentials *credentials);\";function g_unix_credentials_message_new_with_credentials(credentials) bind(c)\r\ng;g_unix_error_quark;GLIB_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/glib-unix.h;\"GQuark g_unix_error_quark (void);\";function g_unix_error_quark() bind(c)\r\ng;g_unix_fd_add;GLIB_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/glib-unix.h;\"guint g_unix_fd_add (gint fd, GIOCondition condition, GUnixFDSourceFunc function, gpointer user_data);\";function g_unix_fd_add(fd, condition, function, user_data) bind(c)\r\ng;g_unix_fd_add_full;GLIB_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/glib-unix.h;\"guint g_unix_fd_add_full (gint priority, gint fd, GIOCondition condition, GUnixFDSourceFunc function, gpointer user_data, GDestroyNotify notify);\";function g_unix_fd_add_full(priority, fd, condition, function, user_data, notify) bind(c)\r\ng;g_unix_fd_list_append;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gunixfdlist.h;\"gint g_unix_fd_list_append (GUnixFDList *list, gint fd, GError **error);\";function g_unix_fd_list_append(list, fd, error) bind(c)\r\ng;g_unix_fd_list_get;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gunixfdlist.h;\"gint g_unix_fd_list_get (GUnixFDList *list, gint index_, GError **error);\";function g_unix_fd_list_get(list, index_, error) bind(c)\r\ng;g_unix_fd_list_get_length;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gunixfdlist.h;\"gint g_unix_fd_list_get_length (GUnixFDList *list);\";function g_unix_fd_list_get_length(list) bind(c)\r\ng;g_unix_fd_list_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gunixfdlist.h;\"GType g_unix_fd_list_get_type (void) ;\";function g_unix_fd_list_get_type() bind(c)\r\ng;g_unix_fd_list_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gunixfdlist.h;\"GUnixFDList * g_unix_fd_list_new (void);\";function g_unix_fd_list_new() bind(c)\r\ng;g_unix_fd_list_new_from_array;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gunixfdlist.h;\"GUnixFDList * g_unix_fd_list_new_from_array (const gint *fds, gint n_fds);\";function g_unix_fd_list_new_from_array(fds, n_fds) bind(c)\r\ng;g_unix_fd_list_peek_fds;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gunixfdlist.h;\"const gint * g_unix_fd_list_peek_fds (GUnixFDList *list, gint *length);\";function g_unix_fd_list_peek_fds(list, length) bind(c)\r\ng;g_unix_fd_list_steal_fds;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gunixfdlist.h;\"gint * g_unix_fd_list_steal_fds (GUnixFDList *list, gint *length);\";function g_unix_fd_list_steal_fds(list, length) bind(c)\r\ng;g_unix_fd_source_new;GLIB_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/glib-unix.h;\"GSource *g_unix_fd_source_new (gint fd, GIOCondition condition);\";function g_unix_fd_source_new(fd, condition) bind(c)\r\ng;g_unix_open_pipe;GLIB_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/glib-unix.h;\"gboolean g_unix_open_pipe (gint *fds, gint flags, GError **error);\";function g_unix_open_pipe(fds, flags, error) bind(c)\r\ng;g_unix_set_fd_nonblocking;GLIB_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/glib-unix.h;\"gboolean g_unix_set_fd_nonblocking (gint fd, gboolean nonblock, GError **error);\";function g_unix_set_fd_nonblocking(fd, nonblock, error) bind(c)\r\ng;g_unix_signal_add;GLIB_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/glib-unix.h;\"guint g_unix_signal_add (gint signum, GSourceFunc handler, gpointer user_data);\";function g_unix_signal_add(signum, handler, user_data) bind(c)\r\ng;g_unix_signal_add_full;GLIB_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/glib-unix.h;\"guint g_unix_signal_add_full (gint priority, gint signum, GSourceFunc handler, gpointer user_data, GDestroyNotify notify);\";function g_unix_signal_add_full(priority, signum, handler, user_data, notify) bind(c)\r\ng;g_unix_signal_source_new;GLIB_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/glib-unix.h;\"GSource *g_unix_signal_source_new (gint signum);\";function g_unix_signal_source_new(signum) bind(c)\r\ng;g_unix_socket_address_abstract_names_supported;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gunixsocketaddress.h;\"gboolean g_unix_socket_address_abstract_names_supported (void);\";function g_unix_socket_address_abstract_names_supported() bind(c)\r\ng;g_unix_socket_address_get_address_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gunixsocketaddress.h;\"GUnixSocketAddressType g_unix_socket_address_get_address_type (GUnixSocketAddress *address);\";function g_unix_socket_address_get_address_type(address) bind(c)\r\ng;g_unix_socket_address_get_is_abstract;GIO_DEPRECATED;glib-auto.f90;/usr/include/glib-2.0/gio/gunixsocketaddress.h;\"gboolean g_unix_socket_address_get_is_abstract (GUnixSocketAddress *address);\";function g_unix_socket_address_get_is_abstract(address) bind(c)\r\ng;g_unix_socket_address_get_path;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gunixsocketaddress.h;\"const char * g_unix_socket_address_get_path (GUnixSocketAddress *address);\";function g_unix_socket_address_get_path(address) bind(c)\r\ng;g_unix_socket_address_get_path_len;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gunixsocketaddress.h;\"gsize g_unix_socket_address_get_path_len (GUnixSocketAddress *address);\";function g_unix_socket_address_get_path_len(address) bind(c)\r\ng;g_unix_socket_address_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gunixsocketaddress.h;\"GType g_unix_socket_address_get_type (void) ;\";function g_unix_socket_address_get_type() bind(c)\r\ng;g_unix_socket_address_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gunixsocketaddress.h;\"GSocketAddress *g_unix_socket_address_new (const gchar *path);\";function g_unix_socket_address_new(path) bind(c)\r\ng;g_unix_socket_address_new_abstract;GIO_DEPRECATED_FOR(g_unix_socket_address_new_with_type);glib-auto.f90;/usr/include/glib-2.0/gio/gunixsocketaddress.h;\"GSocketAddress *g_unix_socket_address_new_abstract (const gchar *path, gint path_len);\";function g_unix_socket_address_new_abstract(path, path_len) bind(c)\r\ng;g_unix_socket_address_new_with_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gunixsocketaddress.h;\"GSocketAddress *g_unix_socket_address_new_with_type (const gchar *path, gint path_len, GUnixSocketAddressType type);\";function g_unix_socket_address_new_with_type(path, path_len, type) bind(c)\r\ng;g_unlink;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstdio.h;\"int g_unlink (const gchar *filename);\";function g_unlink(filename) bind(c)\r\ng;g_unsetenv;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/genviron.h;\"void g_unsetenv (const gchar *variable);\";subroutine g_unsetenv(variable) bind(c)\r\ng;g_uri_build;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/guri.h;\"GUri * g_uri_build (GUriFlags flags, const gchar *scheme, const gchar *userinfo, const gchar *host, gint port, const gchar *path, const gchar *query, const gchar *fragment);\";function g_uri_build(flags, scheme, userinfo, host, port, path, query, fragment) bind(c)\r\ng;g_uri_build_with_user;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/guri.h;\"GUri * g_uri_build_with_user (GUriFlags flags, const gchar *scheme, const gchar *user, const gchar *password, const gchar *auth_params, const gchar *host, gint port, const gchar *path, const gchar *query, const gchar *fragment);\";function g_uri_build_with_user(flags, scheme, user, password, auth_params, host, port, path, query, fragment) bind(c)\r\ng;g_uri_error_quark;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/guri.h;\"GQuark g_uri_error_quark (void);\";function g_uri_error_quark() bind(c)\r\ng;g_uri_escape_bytes;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/guri.h;\"char * g_uri_escape_bytes (const guint8 *unescaped, gsize length, const char *reserved_chars_allowed);\";function g_uri_escape_bytes(unescaped, length, reserved_chars_allowed) bind(c)\r\ng;g_uri_escape_string;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/guri.h;\"char * g_uri_escape_string (const char *unescaped, const char *reserved_chars_allowed, gboolean allow_utf8);\";function g_uri_escape_string(unescaped, reserved_chars_allowed, allow_utf8) bind(c)\r\ng;g_uri_get_auth_params;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/guri.h;\"const gchar *g_uri_get_auth_params (GUri *uri);\";function g_uri_get_auth_params(uri) bind(c)\r\ng;g_uri_get_flags;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/guri.h;\"GUriFlags g_uri_get_flags (GUri *uri);\";function g_uri_get_flags(uri) bind(c)\r\ng;g_uri_get_fragment;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/guri.h;\"const gchar *g_uri_get_fragment (GUri *uri);\";function g_uri_get_fragment(uri) bind(c)\r\ng;g_uri_get_host;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/guri.h;\"const gchar *g_uri_get_host (GUri *uri);\";function g_uri_get_host(uri) bind(c)\r\ng;g_uri_get_password;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/guri.h;\"const gchar *g_uri_get_password (GUri *uri);\";function g_uri_get_password(uri) bind(c)\r\ng;g_uri_get_path;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/guri.h;\"const gchar *g_uri_get_path (GUri *uri);\";function g_uri_get_path(uri) bind(c)\r\ng;g_uri_get_port;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/guri.h;\"gint g_uri_get_port (GUri *uri);\";function g_uri_get_port(uri) bind(c)\r\ng;g_uri_get_query;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/guri.h;\"const gchar *g_uri_get_query (GUri *uri);\";function g_uri_get_query(uri) bind(c)\r\ng;g_uri_get_scheme;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/guri.h;\"const gchar *g_uri_get_scheme (GUri *uri);\";function g_uri_get_scheme(uri) bind(c)\r\ng;g_uri_get_type;GOBJECT_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/gobject/glib-types.h;\"GType g_uri_get_type (void) ;\";function g_uri_get_type() bind(c)\r\ng;g_uri_get_user;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/guri.h;\"const gchar *g_uri_get_user (GUri *uri);\";function g_uri_get_user(uri) bind(c)\r\ng;g_uri_get_userinfo;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/guri.h;\"const gchar *g_uri_get_userinfo (GUri *uri);\";function g_uri_get_userinfo(uri) bind(c)\r\ng;g_uri_is_valid;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/guri.h;\"gboolean g_uri_is_valid (const gchar *uri_string, GUriFlags flags, GError **error);\";function g_uri_is_valid(uri_string, flags, error) bind(c)\r\ng;g_uri_join;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/guri.h;\"gchar * g_uri_join (GUriFlags flags, const gchar *scheme, const gchar *userinfo, const gchar *host, gint port, const gchar *path, const gchar *query, const gchar *fragment);\";function g_uri_join(flags, scheme, userinfo, host, port, path, query, fragment) bind(c)\r\ng;g_uri_join_with_user;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/guri.h;\"gchar * g_uri_join_with_user (GUriFlags flags, const gchar *scheme, const gchar *user, const gchar *password, const gchar *auth_params, const gchar *host, gint port, const gchar *path, const gchar *query, const gchar *fragment);\";function g_uri_join_with_user(flags, scheme, user, password, auth_params, host, port, path, query, fragment) bind(c)\r\ng;g_uri_list_extract_uris;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gconvert.h;\"gchar **g_uri_list_extract_uris (const gchar *uri_list);\";function g_uri_list_extract_uris(uri_list) bind(c)\r\ng;g_uri_params_iter_init;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/guri.h;\"void g_uri_params_iter_init (GUriParamsIter *iter, const gchar *params, gssize length, const gchar *separators, GUriParamsFlags flags);\";subroutine g_uri_params_iter_init(iter, params, length, separators, flags) bind(c)\r\ng;g_uri_params_iter_next;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/guri.h;\"gboolean g_uri_params_iter_next (GUriParamsIter *iter, gchar **attribute, gchar **value, GError **error);\";function g_uri_params_iter_next(iter, attribute, value, error) bind(c)\r\ng;g_uri_parse;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/guri.h;\"GUri * g_uri_parse (const gchar *uri_string, GUriFlags flags, GError **error);\";function g_uri_parse(uri_string, flags, error) bind(c)\r\ng;g_uri_parse_params;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/guri.h;\"GLIB_AVAILABLE_TYPE_IN_2_66 GHashTable *g_uri_parse_params (const gchar *params, gssize length, const gchar *separators, GUriParamsFlags flags, GError **error);\";function g_uri_parse_params(params, length, separators, flags, error) bind(c)\r\ng;g_uri_parse_relative;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/guri.h;\"GUri * g_uri_parse_relative (GUri *base_uri, const gchar *uri_ref, GUriFlags flags, GError **error);\";function g_uri_parse_relative(base_uri, uri_ref, flags, error) bind(c)\r\ng;g_uri_parse_scheme;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/guri.h;\"char * g_uri_parse_scheme (const char *uri);\";function g_uri_parse_scheme(uri) bind(c)\r\ng;g_uri_peek_scheme;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/guri.h;\"const char *g_uri_peek_scheme (const char *uri);\";function g_uri_peek_scheme(uri) bind(c)\r\ng;g_uri_ref;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/guri.h;\"GUri * g_uri_ref (GUri *uri);\";function g_uri_ref(uri) bind(c)\r\ng;g_uri_resolve_relative;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/guri.h;\"gchar * g_uri_resolve_relative (const gchar *base_uri_string, const gchar *uri_ref, GUriFlags flags, GError **error);\";function g_uri_resolve_relative(base_uri_string, uri_ref, flags, error) bind(c)\r\ng;g_uri_split_network;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/guri.h;\"gboolean g_uri_split_network (const gchar *uri_string, GUriFlags flags, gchar **scheme, gchar **host, gint *port, GError **error);\";function g_uri_split_network(uri_string, flags, scheme, host, port, error) bind(c)\r\ng;g_uri_split_with_user;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/guri.h;\"gboolean g_uri_split_with_user (const gchar *uri_ref, GUriFlags flags, gchar **scheme, gchar **user, gchar **password, gchar **auth_params, gchar **host, gint *port, gchar **path, gchar **query, gchar **fragment, GError **error);\";function g_uri_split_with_user(uri_ref, flags, scheme, user, password, auth_params, host, port, path, query, fragment, error) bind(c)\r\ng;g_uri_to_string;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/guri.h;\"GLIB_AVAILABLE_TYPE_IN_2_66 char * g_uri_to_string (GUri *uri);\";function g_uri_to_string(uri) bind(c)\r\ng;g_uri_to_string_partial;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/guri.h;\"char * g_uri_to_string_partial (GUri *uri, GUriHideFlags flags);\";function g_uri_to_string_partial(uri, flags) bind(c)\r\ng;g_uri_unescape_bytes;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/guri.h;\"GBytes * g_uri_unescape_bytes (const char *escaped_string, gssize length, const char *illegal_characters, GError **error);\";function g_uri_unescape_bytes(escaped_string, length, illegal_characters, error) bind(c)\r\ng;g_uri_unescape_segment;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/guri.h;\"char * g_uri_unescape_segment (const char *escaped_string, const char *escaped_string_end, const char *illegal_characters);\";function g_uri_unescape_segment(escaped_string, escaped_string_end, illegal_characters) bind(c)\r\ng;g_uri_unescape_string;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/guri.h;\"char * g_uri_unescape_string (const char *escaped_string, const char *illegal_characters);\";function g_uri_unescape_string(escaped_string, illegal_characters) bind(c)\r\ng;g_uri_unref;GLIB_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/glib/guri.h;\"void g_uri_unref (GUri *uri);\";subroutine g_uri_unref(uri) bind(c)\r\ng;g_usleep;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gtimer.h;\"void g_usleep (gulong microseconds);\";subroutine g_usleep(microseconds) bind(c)\r\ng;g_utf16_to_ucs4;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gunichar * g_utf16_to_ucs4 (const gunichar2 *str, glong len, glong *items_read, glong *items_written, GError **error) ;\";function g_utf16_to_ucs4(str, len, items_read, items_written, error) bind(c)\r\ng;g_utf16_to_utf8;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gchar* g_utf16_to_utf8 (const gunichar2 *str, glong len, glong *items_read, glong *items_written, GError **error) ;\";function g_utf16_to_utf8(str, len, items_read, items_written, error) bind(c)\r\ng;g_utf8_casefold;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gchar *g_utf8_casefold (const gchar *str, gssize len) ;\";function g_utf8_casefold(str, len) bind(c)\r\ng;g_utf8_collate;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gint g_utf8_collate (const gchar *str1, const gchar *str2) ;\";function g_utf8_collate(str1, str2) bind(c)\r\ng;g_utf8_collate_key;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gchar *g_utf8_collate_key (const gchar *str, gssize len) ;\";function g_utf8_collate_key(str, len) bind(c)\r\ng;g_utf8_collate_key_for_filename;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gchar *g_utf8_collate_key_for_filename (const gchar *str, gssize len) ;\";function g_utf8_collate_key_for_filename(str, len) bind(c)\r\ng;g_utf8_find_next_char;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gchar* g_utf8_find_next_char (const gchar *p, const gchar *end) ;\";function g_utf8_find_next_char(p, end) bind(c)\r\ng;g_utf8_find_prev_char;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gchar* g_utf8_find_prev_char (const gchar *str, const gchar *p) ;\";function g_utf8_find_prev_char(str, p) bind(c)\r\ng;g_utf8_get_char;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gunichar g_utf8_get_char (const gchar *p) ;\";function g_utf8_get_char(p) bind(c)\r\ng;g_utf8_get_char_validated;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gunichar g_utf8_get_char_validated (const gchar *p, gssize max_len) ;\";function g_utf8_get_char_validated(p, max_len) bind(c)\r\ng;g_utf8_make_valid;GLIB_AVAILABLE_IN_2_52;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gchar *g_utf8_make_valid (const gchar *str, gssize len) ;\";function g_utf8_make_valid(str, len) bind(c)\r\ng;g_utf8_normalize;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gchar *g_utf8_normalize (const gchar *str, gssize len, GNormalizeMode mode) ;\";function g_utf8_normalize(str, len, mode) bind(c)\r\ng;g_utf8_offset_to_pointer;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gchar* g_utf8_offset_to_pointer (const gchar *str, glong offset) ;\";function g_utf8_offset_to_pointer(str, offset) bind(c)\r\ng;g_utf8_pointer_to_offset;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"glong g_utf8_pointer_to_offset (const gchar *str, const gchar *pos) ;\";function g_utf8_pointer_to_offset(str, pos) bind(c)\r\ng;g_utf8_prev_char;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gchar* g_utf8_prev_char (const gchar *p) ;\";function g_utf8_prev_char(p) bind(c)\r\ng;g_utf8_strchr;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gchar* g_utf8_strchr (const gchar *p, gssize len, gunichar c);\";function g_utf8_strchr(p, len, c) bind(c)\r\ng;g_utf8_strdown;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gchar *g_utf8_strdown (const gchar *str, gssize len) ;\";function g_utf8_strdown(str, len) bind(c)\r\ng;g_utf8_strlen;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"glong g_utf8_strlen (const gchar *p, gssize max) ;\";function g_utf8_strlen(p, max) bind(c)\r\ng;g_utf8_strncpy;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gchar *g_utf8_strncpy (gchar *dest, const gchar *src, gsize n);\";function g_utf8_strncpy(dest, src, n) bind(c)\r\ng;g_utf8_strrchr;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gchar* g_utf8_strrchr (const gchar *p, gssize len, gunichar c);\";function g_utf8_strrchr(p, len, c) bind(c)\r\ng;g_utf8_strreverse;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gchar* g_utf8_strreverse (const gchar *str, gssize len);\";function g_utf8_strreverse(str, len) bind(c)\r\ng;g_utf8_strup;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gchar *g_utf8_strup (const gchar *str, gssize len) ;\";function g_utf8_strup(str, len) bind(c)\r\ng;g_utf8_substring;GLIB_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gchar *g_utf8_substring (const gchar *str, glong start_pos, glong end_pos) ;\";function g_utf8_substring(str, start_pos, end_pos) bind(c)\r\ng;g_utf8_to_ucs4;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gunichar * g_utf8_to_ucs4 (const gchar *str, glong len, glong *items_read, glong *items_written, GError **error) ;\";function g_utf8_to_ucs4(str, len, items_read, items_written, error) bind(c)\r\ng;g_utf8_to_ucs4_fast;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gunichar * g_utf8_to_ucs4_fast (const gchar *str, glong len, glong *items_written) ;\";function g_utf8_to_ucs4_fast(str, len, items_written) bind(c)\r\ng;g_utf8_to_utf16;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gunichar2 *g_utf8_to_utf16 (const gchar *str, glong len, glong *items_read, glong *items_written, GError **error) ;\";function g_utf8_to_utf16(str, len, items_read, items_written, error) bind(c)\r\ng;g_utf8_truncate_middle;GLIB_AVAILABLE_IN_2_78;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gchar *g_utf8_truncate_middle (const gchar *string, gsize truncate_length);\";function g_utf8_truncate_middle(string, truncate_length) bind(c)\r\ng;g_utf8_validate;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gboolean g_utf8_validate (const gchar *str, gssize max_len, const gchar **end);\";function g_utf8_validate(str, max_len, end) bind(c)\r\ng;g_utf8_validate_len;GLIB_AVAILABLE_IN_2_60;glib-auto.f90;/usr/include/glib-2.0/glib/gunicode.h;\"gboolean g_utf8_validate_len (const gchar *str, gsize max_len, const gchar **end);\";function g_utf8_validate_len(str, max_len, end) bind(c)\r\ng;g_utime;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gstdio.h;\"int g_utime (const gchar *filename, struct utimbuf *utb);\";function g_utime(filename, utb) bind(c)\r\ng;g_uuid_string_is_valid;GLIB_AVAILABLE_IN_2_52;glib-auto.f90;/usr/include/glib-2.0/glib/guuid.h;\"gboolean g_uuid_string_is_valid (const gchar *str);\";function g_uuid_string_is_valid(str) bind(c)\r\ng;g_uuid_string_random;GLIB_AVAILABLE_IN_2_52;glib-auto.f90;/usr/include/glib-2.0/glib/guuid.h;\"gchar * g_uuid_string_random (void);\";function g_uuid_string_random() bind(c)\r\ng;g_value_array_append;GOBJECT_DEPRECATED_IN_2_32_FOR(GArray);glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluearray.h;\"GValueArray* g_value_array_append (GValueArray *value_array, const GValue *value);\";function g_value_array_append(value_array, value) bind(c)\r\ng;g_value_array_copy;GOBJECT_DEPRECATED_IN_2_32_FOR(GArray);glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluearray.h;\"GValueArray* g_value_array_copy (const GValueArray *value_array);\";function g_value_array_copy(value_array) bind(c)\r\ng;g_value_array_free;GOBJECT_DEPRECATED_IN_2_32_FOR(GArray);glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluearray.h;\"void g_value_array_free (GValueArray *value_array);\";subroutine g_value_array_free(value_array) bind(c)\r\ng;g_value_array_get_nth;GOBJECT_DEPRECATED_IN_2_32_FOR(GArray);glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluearray.h;\"GValue* g_value_array_get_nth (GValueArray *value_array, guint index_);\";function g_value_array_get_nth(value_array, index_) bind(c)\r\ng;g_value_array_get_type;GOBJECT_DEPRECATED_IN_2_32_FOR(GArray);glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluearray.h;\"GType g_value_array_get_type (void) ;\";function g_value_array_get_type() bind(c)\r\ng;g_value_array_insert;GOBJECT_DEPRECATED_IN_2_32_FOR(GArray);glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluearray.h;\"GValueArray* g_value_array_insert (GValueArray *value_array, guint index_, const GValue *value);\";function g_value_array_insert(value_array, index_, value) bind(c)\r\ng;g_value_array_new;GOBJECT_DEPRECATED_IN_2_32_FOR(GArray);glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluearray.h;\"GValueArray* g_value_array_new (guint n_prealloced);\";function g_value_array_new(n_prealloced) bind(c)\r\ng;g_value_array_prepend;GOBJECT_DEPRECATED_IN_2_32_FOR(GArray);glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluearray.h;\"GValueArray* g_value_array_prepend (GValueArray *value_array, const GValue *value);\";function g_value_array_prepend(value_array, value) bind(c)\r\ng;g_value_array_remove;GOBJECT_DEPRECATED_IN_2_32_FOR(GArray);glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluearray.h;\"GValueArray* g_value_array_remove (GValueArray *value_array, guint index_);\";function g_value_array_remove(value_array, index_) bind(c)\r\ng;g_value_array_sort;GOBJECT_DEPRECATED_IN_2_32_FOR(GArray);glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluearray.h;\"GValueArray* g_value_array_sort (GValueArray *value_array, GCompareFunc compare_func);\";function g_value_array_sort(value_array, compare_func) bind(c)\r\ng;g_value_array_sort_with_data;GOBJECT_DEPRECATED_IN_2_32_FOR(GArray);glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluearray.h;\"GValueArray* g_value_array_sort_with_data (GValueArray *value_array, GCompareDataFunc compare_func, gpointer user_data);\";function g_value_array_sort_with_data(value_array, compare_func, user_data) bind(c)\r\ng;g_value_copy;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvalue.h;\"void g_value_copy (const GValue *src_value, GValue *dest_value);\";subroutine g_value_copy(src_value, dest_value) bind(c)\r\ng;g_value_dup_boxed;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gboxed.h;\"gpointer g_value_dup_boxed (const GValue *value);\";function g_value_dup_boxed(value) bind(c)\r\ng;g_value_dup_object;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"gpointer g_value_dup_object (const GValue *value);\";function g_value_dup_object(value) bind(c)\r\ng;g_value_dup_param;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparam.h;\"GParamSpec* g_value_dup_param (const GValue *value);\";function g_value_dup_param(value) bind(c)\r\ng;g_value_dup_string;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"gchar* g_value_dup_string (const GValue *value);\";function g_value_dup_string(value) bind(c)\r\ng;g_value_dup_variant;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"GVariant* g_value_dup_variant (const GValue *value);\";function g_value_dup_variant(value) bind(c)\r\ng;g_value_fits_pointer;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvalue.h;\"gboolean g_value_fits_pointer (const GValue *value);\";function g_value_fits_pointer(value) bind(c)\r\ng;g_value_get_boolean;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"gboolean g_value_get_boolean (const GValue *value);\";function g_value_get_boolean(value) bind(c)\r\ng;g_value_get_boxed;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gboxed.h;\"gpointer g_value_get_boxed (const GValue *value);\";function g_value_get_boxed(value) bind(c)\r\ng;g_value_get_char;GOBJECT_DEPRECATED_IN_2_32_FOR(g_value_get_schar);glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"gchar g_value_get_char (const GValue *value);\";function g_value_get_char(value) bind(c)\r\ng;g_value_get_double;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"gdouble g_value_get_double (const GValue *value);\";function g_value_get_double(value) bind(c)\r\ng;g_value_get_enum;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/genums.h;\"gint g_value_get_enum (const GValue *value);\";function g_value_get_enum(value) bind(c)\r\ng;g_value_get_flags;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/genums.h;\"guint g_value_get_flags (const GValue *value);\";function g_value_get_flags(value) bind(c)\r\ng;g_value_get_float;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"gfloat g_value_get_float (const GValue *value);\";function g_value_get_float(value) bind(c)\r\ng;g_value_get_gtype;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"GType g_value_get_gtype (const GValue *value);\";function g_value_get_gtype(value) bind(c)\r\ng;g_value_get_int;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"gint g_value_get_int (const GValue *value);\";function g_value_get_int(value) bind(c)\r\ng;g_value_get_int64;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"gint64 g_value_get_int64 (const GValue *value);\";function g_value_get_int64(value) bind(c)\r\ng;g_value_get_long;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"glong g_value_get_long (const GValue *value);\";function g_value_get_long(value) bind(c)\r\ng;g_value_get_object;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"gpointer g_value_get_object (const GValue *value);\";function g_value_get_object(value) bind(c)\r\ng;g_value_get_param;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparam.h;\"GParamSpec* g_value_get_param (const GValue *value);\";function g_value_get_param(value) bind(c)\r\ng;g_value_get_pointer;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"gpointer g_value_get_pointer (const GValue *value);\";function g_value_get_pointer(value) bind(c)\r\ng;g_value_get_schar;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"gint8 g_value_get_schar (const GValue *value);\";function g_value_get_schar(value) bind(c)\r\ng;g_value_get_string;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"const gchar * g_value_get_string (const GValue *value);\";function g_value_get_string(value) bind(c)\r\ng;g_value_get_type;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gboxed.h;\"GType g_value_get_type (void) ;\";function g_value_get_type() bind(c)\r\ng;g_value_get_uchar;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"guchar g_value_get_uchar (const GValue *value);\";function g_value_get_uchar(value) bind(c)\r\ng;g_value_get_uint;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"guint g_value_get_uint (const GValue *value);\";function g_value_get_uint(value) bind(c)\r\ng;g_value_get_uint64;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"guint64 g_value_get_uint64 (const GValue *value);\";function g_value_get_uint64(value) bind(c)\r\ng;g_value_get_ulong;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"gulong g_value_get_ulong (const GValue *value);\";function g_value_get_ulong(value) bind(c)\r\ng;g_value_get_variant;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"GVariant* g_value_get_variant (const GValue *value);\";function g_value_get_variant(value) bind(c)\r\ng;g_value_init;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvalue.h;\"union GValue* g_value_init (GValue *value, GType g_type);\";function g_value_init(value, g_type) bind(c)\r\ng;g_value_init_from_instance;GOBJECT_AVAILABLE_IN_2_42;glib-auto.f90;/usr/include/glib-2.0/gobject/gvalue.h;\"void g_value_init_from_instance (GValue *value, gpointer instance);\";subroutine g_value_init_from_instance(value, instance) bind(c)\r\ng;g_value_peek_pointer;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvalue.h;\"gpointer g_value_peek_pointer (const GValue *value);\";function g_value_peek_pointer(value) bind(c)\r\ng;g_value_register_transform_func;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvalue.h;\"void g_value_register_transform_func (GType src_type, GType dest_type, GValueTransform transform_func);\";subroutine g_value_register_transform_func(src_type, dest_type, transform_func) bind(c)\r\ng;g_value_reset;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvalue.h;\"GValue* g_value_reset (GValue *value);\";function g_value_reset(value) bind(c)\r\ng;g_value_set_boolean;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"void g_value_set_boolean (GValue *value, gboolean v_boolean);\";subroutine g_value_set_boolean(value, v_boolean) bind(c)\r\ng;g_value_set_boxed;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gboxed.h;\"void g_value_set_boxed (GValue *value, gconstpointer v_boxed);\";subroutine g_value_set_boxed(value, v_boxed) bind(c)\r\ng;g_value_set_boxed_take_ownership;GOBJECT_DEPRECATED_FOR(g_value_take_boxed);glib-auto.f90;/usr/include/glib-2.0/gobject/gboxed.h;\"void g_value_set_boxed_take_ownership (GValue *value, gconstpointer v_boxed);\";subroutine g_value_set_boxed_take_ownership(value, v_boxed) bind(c)\r\ng;g_value_set_char;GOBJECT_DEPRECATED_IN_2_32_FOR(g_value_set_schar);glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"void g_value_set_char (GValue *value, gchar v_char);\";subroutine g_value_set_char(value, v_char) bind(c)\r\ng;g_value_set_double;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"void g_value_set_double (GValue *value, gdouble v_double);\";subroutine g_value_set_double(value, v_double) bind(c)\r\ng;g_value_set_enum;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/genums.h;\"void g_value_set_enum (GValue *value, gint v_enum);\";subroutine g_value_set_enum(value, v_enum) bind(c)\r\ng;g_value_set_flags;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/genums.h;\"void g_value_set_flags (GValue *value, guint v_flags);\";subroutine g_value_set_flags(value, v_flags) bind(c)\r\ng;g_value_set_float;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"void g_value_set_float (GValue *value, gfloat v_float);\";subroutine g_value_set_float(value, v_float) bind(c)\r\ng;g_value_set_gtype;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"void g_value_set_gtype (GValue *value, GType v_gtype);\";subroutine g_value_set_gtype(value, v_gtype) bind(c)\r\ng;g_value_set_instance;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvalue.h;\"void g_value_set_instance (GValue *value, gpointer instance);\";subroutine g_value_set_instance(value, instance) bind(c)\r\ng;g_value_set_int;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"void g_value_set_int (GValue *value, gint v_int);\";subroutine g_value_set_int(value, v_int) bind(c)\r\ng;g_value_set_int64;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"void g_value_set_int64 (GValue *value, gint64 v_int64);\";subroutine g_value_set_int64(value, v_int64) bind(c)\r\ng;g_value_set_interned_string;GOBJECT_AVAILABLE_IN_2_66;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"void g_value_set_interned_string (GValue *value, const gchar *v_string);\";subroutine g_value_set_interned_string(value, v_string) bind(c)\r\ng;g_value_set_long;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"void g_value_set_long (GValue *value, glong v_long);\";subroutine g_value_set_long(value, v_long) bind(c)\r\ng;g_value_set_object;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"void g_value_set_object (GValue *value, gpointer v_object);\";subroutine g_value_set_object(value, v_object) bind(c)\r\ng;g_value_set_object_take_ownership;GOBJECT_DEPRECATED_FOR(g_value_take_object);glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"void g_value_set_object_take_ownership (GValue *value, gpointer v_object);\";subroutine g_value_set_object_take_ownership(value, v_object) bind(c)\r\ng;g_value_set_param;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparam.h;\"void g_value_set_param (GValue *value, GParamSpec *param);\";subroutine g_value_set_param(value, param) bind(c)\r\ng;g_value_set_param_take_ownership;GOBJECT_DEPRECATED_FOR(g_value_take_param);glib-auto.f90;/usr/include/glib-2.0/gobject/gparam.h;\"void g_value_set_param_take_ownership (GValue *value, GParamSpec *param);\";subroutine g_value_set_param_take_ownership(value, param) bind(c)\r\ng;g_value_set_pointer;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"void g_value_set_pointer (GValue *value, gpointer v_pointer);\";subroutine g_value_set_pointer(value, v_pointer) bind(c)\r\ng;g_value_set_schar;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"void g_value_set_schar (GValue *value, gint8 v_char);\";subroutine g_value_set_schar(value, v_char) bind(c)\r\ng;g_value_set_static_boxed;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gboxed.h;\"void g_value_set_static_boxed (GValue *value, gconstpointer v_boxed);\";subroutine g_value_set_static_boxed(value, v_boxed) bind(c)\r\ng;g_value_set_static_string;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"void g_value_set_static_string (GValue *value, const gchar *v_string);\";subroutine g_value_set_static_string(value, v_string) bind(c)\r\ng;g_value_set_string;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"void g_value_set_string (GValue *value, const gchar *v_string);\";subroutine g_value_set_string(value, v_string) bind(c)\r\ng;g_value_set_string_take_ownership;GOBJECT_DEPRECATED_FOR(g_value_take_string);glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"void g_value_set_string_take_ownership (GValue *value, gchar *v_string);\";subroutine g_value_set_string_take_ownership(value, v_string) bind(c)\r\ng;g_value_set_uchar;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"void g_value_set_uchar (GValue *value, guchar v_uchar);\";subroutine g_value_set_uchar(value, v_uchar) bind(c)\r\ng;g_value_set_uint;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"void g_value_set_uint (GValue *value, guint v_uint);\";subroutine g_value_set_uint(value, v_uint) bind(c)\r\ng;g_value_set_uint64;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"void g_value_set_uint64 (GValue *value, guint64 v_uint64);\";subroutine g_value_set_uint64(value, v_uint64) bind(c)\r\ng;g_value_set_ulong;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"void g_value_set_ulong (GValue *value, gulong v_ulong);\";subroutine g_value_set_ulong(value, v_ulong) bind(c)\r\ng;g_value_set_variant;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"void g_value_set_variant (GValue *value, GVariant *variant);\";subroutine g_value_set_variant(value, variant) bind(c)\r\ng;g_value_steal_string;GOBJECT_AVAILABLE_IN_2_80;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"gchar* g_value_steal_string (GValue *value);\";function g_value_steal_string(value) bind(c)\r\ng;g_value_take_boxed;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gboxed.h;\"void g_value_take_boxed (GValue *value, gconstpointer v_boxed);\";subroutine g_value_take_boxed(value, v_boxed) bind(c)\r\ng;g_value_take_object;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"void g_value_take_object (GValue *value, gpointer v_object);\";subroutine g_value_take_object(value, v_object) bind(c)\r\ng;g_value_take_param;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gparam.h;\"void g_value_take_param (GValue *value, GParamSpec *param);\";subroutine g_value_take_param(value, param) bind(c)\r\ng;g_value_take_string;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"void g_value_take_string (GValue *value, gchar *v_string);\";subroutine g_value_take_string(value, v_string) bind(c)\r\ng;g_value_take_variant;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvaluetypes.h;\"void g_value_take_variant (GValue *value, GVariant *variant);\";subroutine g_value_take_variant(value, variant) bind(c)\r\ng;g_value_transform;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvalue.h;\"gboolean g_value_transform (const GValue *src_value, GValue *dest_value);\";function g_value_transform(src_value, dest_value) bind(c)\r\ng;g_value_type_compatible;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvalue.h;\"gboolean g_value_type_compatible (GType src_type, GType dest_type);\";function g_value_type_compatible(src_type, dest_type) bind(c)\r\ng;g_value_type_transformable;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvalue.h;\"gboolean g_value_type_transformable (GType src_type, GType dest_type);\";function g_value_type_transformable(src_type, dest_type) bind(c)\r\ng;g_value_unset;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gvalue.h;\"void g_value_unset (GValue *value);\";subroutine g_value_unset(value) bind(c)\r\ng;g_variant_builder_add_value;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"void g_variant_builder_add_value (GVariantBuilder *builder, GVariant *value);\";subroutine g_variant_builder_add_value(builder, value) bind(c)\r\ng;g_variant_builder_clear;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"void g_variant_builder_clear (GVariantBuilder *builder);\";subroutine g_variant_builder_clear(builder) bind(c)\r\ng;g_variant_builder_close;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"void g_variant_builder_close (GVariantBuilder *builder);\";subroutine g_variant_builder_close(builder) bind(c)\r\ng;g_variant_builder_end;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_builder_end (GVariantBuilder *builder);\";function g_variant_builder_end(builder) bind(c)\r\ng;g_variant_builder_get_type;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/glib-types.h;\"GType g_variant_builder_get_type (void) ;\";function g_variant_builder_get_type() bind(c)\r\ng;g_variant_builder_init;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"void g_variant_builder_init (GVariantBuilder *builder, const GVariantType *type);\";subroutine g_variant_builder_init(builder, type) bind(c)\r\ng;g_variant_builder_init_static;GLIB_AVAILABLE_IN_2_84;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"void g_variant_builder_init_static (GVariantBuilder *builder, const GVariantType *type);\";subroutine g_variant_builder_init_static(builder, type) bind(c)\r\ng;g_variant_builder_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariantBuilder * g_variant_builder_new (const GVariantType *type);\";function g_variant_builder_new(type) bind(c)\r\ng;g_variant_builder_open;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"void g_variant_builder_open (GVariantBuilder *builder, const GVariantType *type);\";subroutine g_variant_builder_open(builder, type) bind(c)\r\ng;g_variant_builder_ref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariantBuilder * g_variant_builder_ref (GVariantBuilder *builder);\";function g_variant_builder_ref(builder) bind(c)\r\ng;g_variant_builder_unref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"void g_variant_builder_unref (GVariantBuilder *builder);\";subroutine g_variant_builder_unref(builder) bind(c)\r\ng;g_variant_byteswap;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_byteswap (GVariant *value);\";function g_variant_byteswap(value) bind(c)\r\ng;g_variant_check_format_string;GLIB_AVAILABLE_IN_2_34;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"gboolean g_variant_check_format_string (GVariant *value, const gchar *format_string, gboolean copy_only);\";function g_variant_check_format_string(value, format_string, copy_only) bind(c)\r\ng;g_variant_classify;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariantClass g_variant_classify (GVariant *value);\";function g_variant_classify(value) bind(c)\r\ng;g_variant_compare;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"gint g_variant_compare (gconstpointer one, gconstpointer two);\";function g_variant_compare(one, two) bind(c)\r\ng;g_variant_dict_clear;GLIB_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"void g_variant_dict_clear (GVariantDict *dict);\";subroutine g_variant_dict_clear(dict) bind(c)\r\ng;g_variant_dict_contains;GLIB_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"gboolean g_variant_dict_contains (GVariantDict *dict, const gchar *key);\";function g_variant_dict_contains(dict, key) bind(c)\r\ng;g_variant_dict_end;GLIB_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_dict_end (GVariantDict *dict);\";function g_variant_dict_end(dict) bind(c)\r\ng;g_variant_dict_get_type;GOBJECT_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/gobject/glib-types.h;\"GType g_variant_dict_get_type (void) ;\";function g_variant_dict_get_type() bind(c)\r\ng;g_variant_dict_init;GLIB_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"void g_variant_dict_init (GVariantDict *dict, GVariant *from_asv);\";subroutine g_variant_dict_init(dict, from_asv) bind(c)\r\ng;g_variant_dict_insert_value;GLIB_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"void g_variant_dict_insert_value (GVariantDict *dict, const gchar *key, GVariant *value);\";subroutine g_variant_dict_insert_value(dict, key, value) bind(c)\r\ng;g_variant_dict_lookup_value;GLIB_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_dict_lookup_value (GVariantDict *dict, const gchar *key, const GVariantType *expected_type);\";function g_variant_dict_lookup_value(dict, key, expected_type) bind(c)\r\ng;g_variant_dict_new;GLIB_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariantDict * g_variant_dict_new (GVariant *from_asv);\";function g_variant_dict_new(from_asv) bind(c)\r\ng;g_variant_dict_ref;GLIB_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariantDict * g_variant_dict_ref (GVariantDict *dict);\";function g_variant_dict_ref(dict) bind(c)\r\ng;g_variant_dict_remove;GLIB_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"gboolean g_variant_dict_remove (GVariantDict *dict, const gchar *key);\";function g_variant_dict_remove(dict, key) bind(c)\r\ng;g_variant_dict_unref;GLIB_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"void g_variant_dict_unref (GVariantDict *dict);\";subroutine g_variant_dict_unref(dict) bind(c)\r\ng;g_variant_dup_bytestring;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"gchar * g_variant_dup_bytestring (GVariant *value, gsize *length);\";function g_variant_dup_bytestring(value, length) bind(c)\r\ng;g_variant_dup_bytestring_array;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"gchar ** g_variant_dup_bytestring_array (GVariant *value, gsize *length);\";function g_variant_dup_bytestring_array(value, length) bind(c)\r\ng;g_variant_dup_objv;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"gchar ** g_variant_dup_objv (GVariant *value, gsize *length);\";function g_variant_dup_objv(value, length) bind(c)\r\ng;g_variant_dup_string;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"gchar * g_variant_dup_string (GVariant *value, gsize *length);\";function g_variant_dup_string(value, length) bind(c)\r\ng;g_variant_dup_strv;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"gchar ** g_variant_dup_strv (GVariant *value, gsize *length);\";function g_variant_dup_strv(value, length) bind(c)\r\ng;g_variant_equal;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"gboolean g_variant_equal (gconstpointer one, gconstpointer two);\";function g_variant_equal(one, two) bind(c)\r\ng;g_variant_get_boolean;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"gboolean g_variant_get_boolean (GVariant *value);\";function g_variant_get_boolean(value) bind(c)\r\ng;g_variant_get_byte;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"guint8 g_variant_get_byte (GVariant *value);\";function g_variant_get_byte(value) bind(c)\r\ng;g_variant_get_bytestring;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"const gchar * g_variant_get_bytestring (GVariant *value);\";function g_variant_get_bytestring(value) bind(c)\r\ng;g_variant_get_bytestring_array;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"const gchar ** g_variant_get_bytestring_array (GVariant *value, gsize *length);\";function g_variant_get_bytestring_array(value, length) bind(c)\r\ng;g_variant_get_child_value;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_get_child_value (GVariant *value, gsize index_);\";function g_variant_get_child_value(value, index_) bind(c)\r\ng;g_variant_get_data;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"gconstpointer g_variant_get_data (GVariant *value);\";function g_variant_get_data(value) bind(c)\r\ng;g_variant_get_data_as_bytes;GLIB_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GBytes * g_variant_get_data_as_bytes (GVariant *value);\";function g_variant_get_data_as_bytes(value) bind(c)\r\ng;g_variant_get_double;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"gdouble g_variant_get_double (GVariant *value);\";function g_variant_get_double(value) bind(c)\r\ng;g_variant_get_fixed_array;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"gconstpointer g_variant_get_fixed_array (GVariant *value, gsize *n_elements, gsize element_size);\";function g_variant_get_fixed_array(value, n_elements, element_size) bind(c)\r\ng;g_variant_get_gtype;GOBJECT_DEPRECATED_FOR('G_TYPE_VARIANT');glib-auto.f90;/usr/include/glib-2.0/gobject/glib-types.h;\"GType g_variant_get_gtype (void) ;\";function g_variant_get_gtype() bind(c)\r\ng;g_variant_get_handle;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"gint32 g_variant_get_handle (GVariant *value);\";function g_variant_get_handle(value) bind(c)\r\ng;g_variant_get_int16;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"gint16 g_variant_get_int16 (GVariant *value);\";function g_variant_get_int16(value) bind(c)\r\ng;g_variant_get_int32;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"gint32 g_variant_get_int32 (GVariant *value);\";function g_variant_get_int32(value) bind(c)\r\ng;g_variant_get_int64;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"gint64 g_variant_get_int64 (GVariant *value);\";function g_variant_get_int64(value) bind(c)\r\ng;g_variant_get_maybe;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_get_maybe (GVariant *value);\";function g_variant_get_maybe(value) bind(c)\r\ng;g_variant_get_normal_form;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_get_normal_form (GVariant *value);\";function g_variant_get_normal_form(value) bind(c)\r\ng;g_variant_get_objv;GLIB_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"const gchar ** g_variant_get_objv (GVariant *value, gsize *length);\";function g_variant_get_objv(value, length) bind(c)\r\ng;g_variant_get_size;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"gsize g_variant_get_size (GVariant *value);\";function g_variant_get_size(value) bind(c)\r\ng;g_variant_get_string;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"const gchar * g_variant_get_string (GVariant *value, gsize *length);\";function g_variant_get_string(value, length) bind(c)\r\ng;g_variant_get_strv;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"const gchar ** g_variant_get_strv (GVariant *value, gsize *length);\";function g_variant_get_strv(value, length) bind(c)\r\ng;g_variant_get_type;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"const GVariantType * g_variant_get_type (GVariant *value);\";function g_variant_get_type(value) bind(c)\r\ng;g_variant_get_type_string;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"const gchar * g_variant_get_type_string (GVariant *value);\";function g_variant_get_type_string(value) bind(c)\r\ng;g_variant_get_uint16;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"guint16 g_variant_get_uint16 (GVariant *value);\";function g_variant_get_uint16(value) bind(c)\r\ng;g_variant_get_uint32;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"guint32 g_variant_get_uint32 (GVariant *value);\";function g_variant_get_uint32(value) bind(c)\r\ng;g_variant_get_uint64;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"guint64 g_variant_get_uint64 (GVariant *value);\";function g_variant_get_uint64(value) bind(c)\r\ng;g_variant_get_va;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"void g_variant_get_va (GVariant *value, const gchar *format_string, const gchar **endptr, va_list *app);\";subroutine g_variant_get_va(value, format_string, endptr, app) bind(c)\r\ng;g_variant_get_variant;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_get_variant (GVariant *value);\";function g_variant_get_variant(value) bind(c)\r\ng;g_variant_hash;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"guint g_variant_hash (gconstpointer value);\";function g_variant_hash(value) bind(c)\r\ng;g_variant_is_container;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"gboolean g_variant_is_container (GVariant *value);\";function g_variant_is_container(value) bind(c)\r\ng;g_variant_is_floating;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"gboolean g_variant_is_floating (GVariant *value);\";function g_variant_is_floating(value) bind(c)\r\ng;g_variant_is_normal_form;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"gboolean g_variant_is_normal_form (GVariant *value);\";function g_variant_is_normal_form(value) bind(c)\r\ng;g_variant_is_object_path;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"gboolean g_variant_is_object_path (const gchar *string);\";function g_variant_is_object_path(string) bind(c)\r\ng;g_variant_is_of_type;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"gboolean g_variant_is_of_type (GVariant *value, const GVariantType *type);\";function g_variant_is_of_type(value, type) bind(c)\r\ng;g_variant_is_signature;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"gboolean g_variant_is_signature (const gchar *string);\";function g_variant_is_signature(string) bind(c)\r\ng;g_variant_iter_copy;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariantIter * g_variant_iter_copy (GVariantIter *iter);\";function g_variant_iter_copy(iter) bind(c)\r\ng;g_variant_iter_free;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"void g_variant_iter_free (GVariantIter *iter);\";subroutine g_variant_iter_free(iter) bind(c)\r\ng;g_variant_iter_init;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"gsize g_variant_iter_init (GVariantIter *iter, GVariant *value);\";function g_variant_iter_init(iter, value) bind(c)\r\ng;g_variant_iter_n_children;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"gsize g_variant_iter_n_children (GVariantIter *iter);\";function g_variant_iter_n_children(iter) bind(c)\r\ng;g_variant_iter_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariantIter * g_variant_iter_new (GVariant *value);\";function g_variant_iter_new(value) bind(c)\r\ng;g_variant_iter_next_value;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_iter_next_value (GVariantIter *iter);\";function g_variant_iter_next_value(iter) bind(c)\r\ng;g_variant_lookup_value;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_lookup_value (GVariant *dictionary, const gchar *key, const GVariantType *expected_type);\";function g_variant_lookup_value(dictionary, key, expected_type) bind(c)\r\ng;g_variant_n_children;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"gsize g_variant_n_children (GVariant *value);\";function g_variant_n_children(value) bind(c)\r\ng;g_variant_new_array;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_new_array (const GVariantType *child_type, GVariant * const *children, gsize n_children);\";function g_variant_new_array(child_type, children, n_children) bind(c)\r\ng;g_variant_new_boolean;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_new_boolean (gboolean value);\";function g_variant_new_boolean(value) bind(c)\r\ng;g_variant_new_byte;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_new_byte (guint8 value);\";function g_variant_new_byte(value) bind(c)\r\ng;g_variant_new_bytestring;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_new_bytestring (const gchar *string);\";function g_variant_new_bytestring(string) bind(c)\r\ng;g_variant_new_bytestring_array;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_new_bytestring_array (const gchar * const *strv, gssize length);\";function g_variant_new_bytestring_array(strv, length) bind(c)\r\ng;g_variant_new_dict_entry;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_new_dict_entry (GVariant *key, GVariant *value);\";function g_variant_new_dict_entry(key, value) bind(c)\r\ng;g_variant_new_double;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_new_double (gdouble value);\";function g_variant_new_double(value) bind(c)\r\ng;g_variant_new_fixed_array;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_new_fixed_array (const GVariantType *element_type, gconstpointer elements, gsize n_elements, gsize element_size);\";function g_variant_new_fixed_array(element_type, elements, n_elements, element_size) bind(c)\r\ng;g_variant_new_from_bytes;GLIB_AVAILABLE_IN_2_36;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_new_from_bytes (const GVariantType *type, GBytes *bytes, gboolean trusted);\";function g_variant_new_from_bytes(type, bytes, trusted) bind(c)\r\ng;g_variant_new_from_data;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_new_from_data (const GVariantType *type, gconstpointer data, gsize size, gboolean trusted, GDestroyNotify notify, gpointer user_data);\";function g_variant_new_from_data(type, data, size, trusted, notify, user_data) bind(c)\r\ng;g_variant_new_handle;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_new_handle (gint32 value);\";function g_variant_new_handle(value) bind(c)\r\ng;g_variant_new_int16;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_new_int16 (gint16 value);\";function g_variant_new_int16(value) bind(c)\r\ng;g_variant_new_int32;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_new_int32 (gint32 value);\";function g_variant_new_int32(value) bind(c)\r\ng;g_variant_new_int64;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_new_int64 (gint64 value);\";function g_variant_new_int64(value) bind(c)\r\ng;g_variant_new_maybe;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_new_maybe (const GVariantType *child_type, GVariant *child);\";function g_variant_new_maybe(child_type, child) bind(c)\r\ng;g_variant_new_object_path;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_new_object_path (const gchar *object_path);\";function g_variant_new_object_path(object_path) bind(c)\r\ng;g_variant_new_objv;GLIB_AVAILABLE_IN_2_30;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_new_objv (const gchar * const *strv, gssize length);\";function g_variant_new_objv(strv, length) bind(c)\r\ng;g_variant_new_parsed_va;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_new_parsed_va (const gchar *format, va_list *app);\";function g_variant_new_parsed_va(format, app) bind(c)\r\ng;g_variant_new_signature;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_new_signature (const gchar *signature);\";function g_variant_new_signature(signature) bind(c)\r\ng;g_variant_new_string;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_new_string (const gchar *string);\";function g_variant_new_string(string) bind(c)\r\ng;g_variant_new_strv;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_new_strv (const gchar * const *strv, gssize length);\";function g_variant_new_strv(strv, length) bind(c)\r\ng;g_variant_new_take_string;GLIB_AVAILABLE_IN_2_38;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_new_take_string (gchar *string);\";function g_variant_new_take_string(string) bind(c)\r\ng;g_variant_new_tuple;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_new_tuple (GVariant * const *children, gsize n_children);\";function g_variant_new_tuple(children, n_children) bind(c)\r\ng;g_variant_new_uint16;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_new_uint16 (guint16 value);\";function g_variant_new_uint16(value) bind(c)\r\ng;g_variant_new_uint32;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_new_uint32 (guint32 value);\";function g_variant_new_uint32(value) bind(c)\r\ng;g_variant_new_uint64;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_new_uint64 (guint64 value);\";function g_variant_new_uint64(value) bind(c)\r\ng;g_variant_new_va;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_new_va (const gchar *format_string, const gchar **endptr, va_list *app);\";function g_variant_new_va(format_string, endptr, app) bind(c)\r\ng;g_variant_new_variant;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_new_variant (GVariant *value);\";function g_variant_new_variant(value) bind(c)\r\ng;g_variant_parse;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_parse (const GVariantType *type, const gchar *text, const gchar *limit, const gchar **endptr, GError **error);\";function g_variant_parse(type, text, limit, endptr, error) bind(c)\r\ng;g_variant_parse_error_print_context;GLIB_AVAILABLE_IN_2_40;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"gchar * g_variant_parse_error_print_context (GError *error, const gchar *source_str);\";function g_variant_parse_error_print_context(error, source_str) bind(c)\r\ng;g_variant_parse_error_quark;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GQuark g_variant_parse_error_quark (void);\";function g_variant_parse_error_quark() bind(c)\r\ng;g_variant_parser_get_error_quark;GLIB_DEPRECATED_IN_2_38_FOR(g_variant_parse_error_quark);glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GQuark g_variant_parser_get_error_quark (void);\";function g_variant_parser_get_error_quark() bind(c)\r\ng;g_variant_print;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"gchar * g_variant_print (GVariant *value, gboolean type_annotate);\";function g_variant_print(value, type_annotate) bind(c)\r\ng;g_variant_print_string;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GString * g_variant_print_string (GVariant *value, GString *string, gboolean type_annotate);\";function g_variant_print_string(value, string, type_annotate) bind(c)\r\ng;g_variant_ref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_ref (GVariant *value);\";function g_variant_ref(value) bind(c)\r\ng;g_variant_ref_sink;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_ref_sink (GVariant *value);\";function g_variant_ref_sink(value) bind(c)\r\ng;g_variant_store;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"void g_variant_store (GVariant *value, gpointer data);\";subroutine g_variant_store(value, data) bind(c)\r\ng;g_variant_take_ref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"GVariant * g_variant_take_ref (GVariant *value);\";function g_variant_take_ref(value) bind(c)\r\ng;g_variant_type_checked_;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvarianttype.h;\"const GVariantType * g_variant_type_checked_ (const gchar *type_string);\";function g_variant_type_checked_(type_string) bind(c)\r\ng;g_variant_type_copy;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvarianttype.h;\"GVariantType * g_variant_type_copy (const GVariantType *type);\";function g_variant_type_copy(type) bind(c)\r\ng;g_variant_type_dup_string;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvarianttype.h;\"gchar * g_variant_type_dup_string (const GVariantType *type);\";function g_variant_type_dup_string(type) bind(c)\r\ng;g_variant_type_element;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvarianttype.h;\"const GVariantType * g_variant_type_element (const GVariantType *type) ;\";function g_variant_type_element(type) bind(c)\r\ng;g_variant_type_equal;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvarianttype.h;\"gboolean g_variant_type_equal (gconstpointer type1, gconstpointer type2);\";function g_variant_type_equal(type1, type2) bind(c)\r\ng;g_variant_type_first;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvarianttype.h;\"const GVariantType * g_variant_type_first (const GVariantType *type) ;\";function g_variant_type_first(type) bind(c)\r\ng;g_variant_type_free;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvarianttype.h;\"void g_variant_type_free (GVariantType *type);\";subroutine g_variant_type_free(type) bind(c)\r\ng;g_variant_type_get_gtype;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/glib-types.h;\"GType g_variant_type_get_gtype (void) ;\";function g_variant_type_get_gtype() bind(c)\r\ng;g_variant_type_get_string_length;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvarianttype.h;\"gsize g_variant_type_get_string_length (const GVariantType *type);\";function g_variant_type_get_string_length(type) bind(c)\r\ng;g_variant_type_hash;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvarianttype.h;\"guint g_variant_type_hash (gconstpointer type);\";function g_variant_type_hash(type) bind(c)\r\ng;g_variant_type_is_array;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvarianttype.h;\"gboolean g_variant_type_is_array (const GVariantType *type) ;\";function g_variant_type_is_array(type) bind(c)\r\ng;g_variant_type_is_basic;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvarianttype.h;\"gboolean g_variant_type_is_basic (const GVariantType *type) ;\";function g_variant_type_is_basic(type) bind(c)\r\ng;g_variant_type_is_container;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvarianttype.h;\"gboolean g_variant_type_is_container (const GVariantType *type) ;\";function g_variant_type_is_container(type) bind(c)\r\ng;g_variant_type_is_definite;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvarianttype.h;\"gboolean g_variant_type_is_definite (const GVariantType *type) ;\";function g_variant_type_is_definite(type) bind(c)\r\ng;g_variant_type_is_dict_entry;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvarianttype.h;\"gboolean g_variant_type_is_dict_entry (const GVariantType *type) ;\";function g_variant_type_is_dict_entry(type) bind(c)\r\ng;g_variant_type_is_maybe;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvarianttype.h;\"gboolean g_variant_type_is_maybe (const GVariantType *type) ;\";function g_variant_type_is_maybe(type) bind(c)\r\ng;g_variant_type_is_subtype_of;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvarianttype.h;\"gboolean g_variant_type_is_subtype_of (const GVariantType *type, const GVariantType *supertype) ;\";function g_variant_type_is_subtype_of(type, supertype) bind(c)\r\ng;g_variant_type_is_tuple;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvarianttype.h;\"gboolean g_variant_type_is_tuple (const GVariantType *type) ;\";function g_variant_type_is_tuple(type) bind(c)\r\ng;g_variant_type_is_variant;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvarianttype.h;\"gboolean g_variant_type_is_variant (const GVariantType *type) ;\";function g_variant_type_is_variant(type) bind(c)\r\ng;g_variant_type_key;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvarianttype.h;\"const GVariantType * g_variant_type_key (const GVariantType *type) ;\";function g_variant_type_key(type) bind(c)\r\ng;g_variant_type_n_items;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvarianttype.h;\"gsize g_variant_type_n_items (const GVariantType *type) ;\";function g_variant_type_n_items(type) bind(c)\r\ng;g_variant_type_new;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvarianttype.h;\"GVariantType * g_variant_type_new (const gchar *type_string);\";function g_variant_type_new(type_string) bind(c)\r\ng;g_variant_type_new_array;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvarianttype.h;\"GVariantType * g_variant_type_new_array (const GVariantType *element);\";function g_variant_type_new_array(element) bind(c)\r\ng;g_variant_type_new_dict_entry;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvarianttype.h;\"GVariantType * g_variant_type_new_dict_entry (const GVariantType *key, const GVariantType *value);\";function g_variant_type_new_dict_entry(key, value) bind(c)\r\ng;g_variant_type_new_maybe;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvarianttype.h;\"GVariantType * g_variant_type_new_maybe (const GVariantType *element);\";function g_variant_type_new_maybe(element) bind(c)\r\ng;g_variant_type_new_tuple;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvarianttype.h;\"GVariantType * g_variant_type_new_tuple (const GVariantType * const *items, gint length);\";function g_variant_type_new_tuple(items, length) bind(c)\r\ng;g_variant_type_next;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvarianttype.h;\"const GVariantType * g_variant_type_next (const GVariantType *type) ;\";function g_variant_type_next(type) bind(c)\r\ng;g_variant_type_peek_string;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvarianttype.h;\"const gchar * g_variant_type_peek_string (const GVariantType *type);\";function g_variant_type_peek_string(type) bind(c)\r\ng;g_variant_type_string_get_depth_;GLIB_AVAILABLE_IN_2_60;glib-auto.f90;/usr/include/glib-2.0/glib/gvarianttype.h;\"gsize g_variant_type_string_get_depth_ (const gchar *type_string);\";function g_variant_type_string_get_depth_(type_string) bind(c)\r\ng;g_variant_type_string_is_valid;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvarianttype.h;\"gboolean g_variant_type_string_is_valid (const gchar *type_string) ;\";function g_variant_type_string_is_valid(type_string) bind(c)\r\ng;g_variant_type_string_scan;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvarianttype.h;\"gboolean g_variant_type_string_scan (const gchar *string, const gchar *limit, const gchar **endptr);\";function g_variant_type_string_scan(string, limit, endptr) bind(c)\r\ng;g_variant_type_value;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvarianttype.h;\"const GVariantType * g_variant_type_value (const GVariantType *type) ;\";function g_variant_type_value(type) bind(c)\r\ng;g_variant_unref;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gvariant.h;\"void g_variant_unref (GVariant *value);\";subroutine g_variant_unref(value) bind(c)\r\ng;g_vasprintf;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gprintf.h;\"gint g_vasprintf (gchar **string, gchar const *format, va_list args) ;\";function g_vasprintf(string, format, args) bind(c)\r\ng;g_vfprintf;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gprintf.h;\"gint g_vfprintf (FILE *file, gchar const *format, va_list args) ;\";function g_vfprintf(file, format, args) bind(c)\r\ng;g_vfs_get_default;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gvfs.h;\"GVfs * g_vfs_get_default (void);\";function g_vfs_get_default() bind(c)\r\ng;g_vfs_get_file_for_path;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gvfs.h;\"GFile * g_vfs_get_file_for_path (GVfs *vfs, const char *path);\";function g_vfs_get_file_for_path(vfs, path) bind(c)\r\ng;g_vfs_get_file_for_uri;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gvfs.h;\"GFile * g_vfs_get_file_for_uri (GVfs *vfs, const char *uri);\";function g_vfs_get_file_for_uri(vfs, uri) bind(c)\r\ng;g_vfs_get_local;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gvfs.h;\"GVfs * g_vfs_get_local (void);\";function g_vfs_get_local() bind(c)\r\ng;g_vfs_get_supported_uri_schemes;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gvfs.h;\"const gchar* const * g_vfs_get_supported_uri_schemes (GVfs *vfs);\";function g_vfs_get_supported_uri_schemes(vfs) bind(c)\r\ng;g_vfs_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gvfs.h;\"GType g_vfs_get_type (void) ;\";function g_vfs_get_type() bind(c)\r\ng;g_vfs_is_active;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gvfs.h;\"gboolean g_vfs_is_active (GVfs *vfs);\";function g_vfs_is_active(vfs) bind(c)\r\ng;g_vfs_parse_name;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gvfs.h;\"GFile * g_vfs_parse_name (GVfs *vfs, const char *parse_name);\";function g_vfs_parse_name(vfs, parse_name) bind(c)\r\ng;g_vfs_register_uri_scheme;GIO_AVAILABLE_IN_2_50;glib-auto.f90;/usr/include/glib-2.0/gio/gvfs.h;\"gboolean g_vfs_register_uri_scheme (GVfs *vfs, const char *scheme, GVfsFileLookupFunc uri_func, gpointer uri_data, GDestroyNotify uri_destroy, GVfsFileLookupFunc parse_name_func, gpointer parse_name_data, GDestroyNotify parse_name_destroy);\";function g_vfs_register_uri_scheme(vfs, scheme, uri_func, uri_data, uri_destroy, parse_name_func, parse_name_data, parse_name_destroy) bind(c)\r\ng;g_vfs_unregister_uri_scheme;GIO_AVAILABLE_IN_2_50;glib-auto.f90;/usr/include/glib-2.0/gio/gvfs.h;\"gboolean g_vfs_unregister_uri_scheme (GVfs *vfs, const char *scheme);\";function g_vfs_unregister_uri_scheme(vfs, scheme) bind(c)\r\ng;g_volume_can_eject;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gvolume.h;\"gboolean g_volume_can_eject (GVolume *volume);\";function g_volume_can_eject(volume) bind(c)\r\ng;g_volume_can_mount;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gvolume.h;\"gboolean g_volume_can_mount (GVolume *volume);\";function g_volume_can_mount(volume) bind(c)\r\ng;g_volume_eject;GIO_DEPRECATED_FOR(g_volume_eject_with_operation);glib-auto.f90;/usr/include/glib-2.0/gio/gvolume.h;\"void g_volume_eject (GVolume *volume, GMountUnmountFlags flags, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_volume_eject(volume, flags, cancellable, callback, user_data) bind(c)\r\ng;g_volume_eject_finish;GIO_DEPRECATED_FOR(g_volume_eject_with_operation_finish);glib-auto.f90;/usr/include/glib-2.0/gio/gvolume.h;\"gboolean g_volume_eject_finish (GVolume *volume, GAsyncResult *result, GError **error);\";function g_volume_eject_finish(volume, result, error) bind(c)\r\ng;g_volume_eject_with_operation;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gvolume.h;\"void g_volume_eject_with_operation (GVolume *volume, GMountUnmountFlags flags, GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_volume_eject_with_operation(volume, flags, mount_operation, cancellable, callback, user_data) bind(c)\r\ng;g_volume_eject_with_operation_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gvolume.h;\"gboolean g_volume_eject_with_operation_finish (GVolume *volume, GAsyncResult *result, GError **error);\";function g_volume_eject_with_operation_finish(volume, result, error) bind(c)\r\ng;g_volume_enumerate_identifiers;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gvolume.h;\"char ** g_volume_enumerate_identifiers (GVolume *volume);\";function g_volume_enumerate_identifiers(volume) bind(c)\r\ng;g_volume_get_activation_root;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gvolume.h;\"GFile * g_volume_get_activation_root (GVolume *volume);\";function g_volume_get_activation_root(volume) bind(c)\r\ng;g_volume_get_drive;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gvolume.h;\"GDrive * g_volume_get_drive (GVolume *volume);\";function g_volume_get_drive(volume) bind(c)\r\ng;g_volume_get_icon;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gvolume.h;\"GIcon * g_volume_get_icon (GVolume *volume);\";function g_volume_get_icon(volume) bind(c)\r\ng;g_volume_get_identifier;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gvolume.h;\"char * g_volume_get_identifier (GVolume *volume, const char *kind);\";function g_volume_get_identifier(volume, kind) bind(c)\r\ng;g_volume_get_mount;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gvolume.h;\"GMount * g_volume_get_mount (GVolume *volume);\";function g_volume_get_mount(volume) bind(c)\r\ng;g_volume_get_name;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gvolume.h;\"char * g_volume_get_name (GVolume *volume);\";function g_volume_get_name(volume) bind(c)\r\ng;g_volume_get_sort_key;GIO_AVAILABLE_IN_2_32;glib-auto.f90;/usr/include/glib-2.0/gio/gvolume.h;\"const gchar *g_volume_get_sort_key (GVolume *volume);\";function g_volume_get_sort_key(volume) bind(c)\r\ng;g_volume_get_symbolic_icon;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gvolume.h;\"GIcon * g_volume_get_symbolic_icon (GVolume *volume);\";function g_volume_get_symbolic_icon(volume) bind(c)\r\ng;g_volume_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gvolume.h;\"GType g_volume_get_type (void) ;\";function g_volume_get_type() bind(c)\r\ng;g_volume_get_uuid;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gvolume.h;\"char * g_volume_get_uuid (GVolume *volume);\";function g_volume_get_uuid(volume) bind(c)\r\ng;g_volume_monitor_adopt_orphan_mount;GIO_DEPRECATED;glib-auto.f90;/usr/include/glib-2.0/gio/gvolumemonitor.h;\"GVolume * g_volume_monitor_adopt_orphan_mount (GMount *mount);\";function g_volume_monitor_adopt_orphan_mount(mount) bind(c)\r\ng;g_volume_monitor_get;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gvolumemonitor.h;\"GVolumeMonitor *g_volume_monitor_get (void);\";function g_volume_monitor_get() bind(c)\r\ng;g_volume_monitor_get_connected_drives;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gvolumemonitor.h;\"GList * g_volume_monitor_get_connected_drives (GVolumeMonitor *volume_monitor);\";function g_volume_monitor_get_connected_drives(volume_monitor) bind(c)\r\ng;g_volume_monitor_get_mount_for_uuid;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gvolumemonitor.h;\"GMount * g_volume_monitor_get_mount_for_uuid (GVolumeMonitor *volume_monitor, const char *uuid);\";function g_volume_monitor_get_mount_for_uuid(volume_monitor, uuid) bind(c)\r\ng;g_volume_monitor_get_mounts;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gvolumemonitor.h;\"GList * g_volume_monitor_get_mounts (GVolumeMonitor *volume_monitor);\";function g_volume_monitor_get_mounts(volume_monitor) bind(c)\r\ng;g_volume_monitor_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gvolumemonitor.h;\"GType g_volume_monitor_get_type (void) ;\";function g_volume_monitor_get_type() bind(c)\r\ng;g_volume_monitor_get_volume_for_uuid;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gvolumemonitor.h;\"GVolume * g_volume_monitor_get_volume_for_uuid (GVolumeMonitor *volume_monitor, const char *uuid);\";function g_volume_monitor_get_volume_for_uuid(volume_monitor, uuid) bind(c)\r\ng;g_volume_monitor_get_volumes;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gvolumemonitor.h;\"GList * g_volume_monitor_get_volumes (GVolumeMonitor *volume_monitor);\";function g_volume_monitor_get_volumes(volume_monitor) bind(c)\r\ng;g_volume_mount;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gvolume.h;\"void g_volume_mount (GVolume *volume, GMountMountFlags flags, GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine g_volume_mount(volume, flags, mount_operation, cancellable, callback, user_data) bind(c)\r\ng;g_volume_mount_finish;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gvolume.h;\"gboolean g_volume_mount_finish (GVolume *volume, GAsyncResult *result, GError **error);\";function g_volume_mount_finish(volume, result, error) bind(c)\r\ng;g_volume_should_automount;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gvolume.h;\"gboolean g_volume_should_automount (GVolume *volume);\";function g_volume_should_automount(volume) bind(c)\r\ng;g_vprintf;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gprintf.h;\"gint g_vprintf (gchar const *format, va_list args) ;\";function g_vprintf(format, args) bind(c)\r\ng;g_vsnprintf;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gutils.h;\"gint g_vsnprintf (gchar *string, gulong n, gchar const *format, va_list args) ;\";function g_vsnprintf(string, n, format, args) bind(c)\r\ng;g_vsprintf;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gprintf.h;\"gint g_vsprintf (gchar *string, gchar const *format, va_list args) ;\";function g_vsprintf(string, format, args) bind(c)\r\ng;g_warn_message;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gmessages.h;\"void g_warn_message (const char *domain, const char *file, int line, const char *func, const char *warnexpr) ;\";subroutine g_warn_message(domain, file, line, func, warnexpr) bind(c)\r\ng;g_weak_ref_clear;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"void g_weak_ref_clear (GWeakRef *weak_ref);\";subroutine g_weak_ref_clear(weak_ref) bind(c)\r\ng;g_weak_ref_get;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"gpointer g_weak_ref_get (GWeakRef *weak_ref);\";function g_weak_ref_get(weak_ref) bind(c)\r\ng;g_weak_ref_init;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"void g_weak_ref_init (GWeakRef *weak_ref, gpointer object);\";subroutine g_weak_ref_init(weak_ref, object) bind(c)\r\ng;g_weak_ref_set;GOBJECT_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gobject/gobject.h;\"void g_weak_ref_set (GWeakRef *weak_ref, gpointer object);\";subroutine g_weak_ref_set(weak_ref, object) bind(c)\r\ng;g_zlib_compressor_get_file_info;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gzlibcompressor.h;\"GFileInfo *g_zlib_compressor_get_file_info (GZlibCompressor *compressor);\";function g_zlib_compressor_get_file_info(compressor) bind(c)\r\ng;g_zlib_compressor_get_os;GIO_AVAILABLE_IN_2_86;glib-auto.f90;/usr/include/glib-2.0/gio/gzlibcompressor.h;\"int g_zlib_compressor_get_os (GZlibCompressor *compressor);\";function g_zlib_compressor_get_os(compressor) bind(c)\r\ng;g_zlib_compressor_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gzlibcompressor.h;\"GType g_zlib_compressor_get_type (void) ;\";function g_zlib_compressor_get_type() bind(c)\r\ng;g_zlib_compressor_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gzlibcompressor.h;\"GZlibCompressor *g_zlib_compressor_new (GZlibCompressorFormat format, int level);\";function g_zlib_compressor_new(format, level) bind(c)\r\ng;g_zlib_compressor_set_file_info;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gzlibcompressor.h;\"void g_zlib_compressor_set_file_info (GZlibCompressor *compressor, GFileInfo *file_info);\";subroutine g_zlib_compressor_set_file_info(compressor, file_info) bind(c)\r\ng;g_zlib_compressor_set_os;GIO_AVAILABLE_IN_2_86;glib-auto.f90;/usr/include/glib-2.0/gio/gzlibcompressor.h;\"void g_zlib_compressor_set_os (GZlibCompressor *compressor, int os);\";subroutine g_zlib_compressor_set_os(compressor, os) bind(c)\r\ng;g_zlib_decompressor_get_file_info;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gzlibdecompressor.h;\"GFileInfo *g_zlib_decompressor_get_file_info (GZlibDecompressor *decompressor);\";function g_zlib_decompressor_get_file_info(decompressor) bind(c)\r\ng;g_zlib_decompressor_get_type;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gzlibdecompressor.h;\"GType g_zlib_decompressor_get_type (void) ;\";function g_zlib_decompressor_get_type() bind(c)\r\ng;g_zlib_decompressor_new;GIO_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/gio/gzlibdecompressor.h;\"GZlibDecompressor *g_zlib_decompressor_new (GZlibCompressorFormat format);\";function g_zlib_decompressor_new(format) bind(c)\r\ng;gi_arg_info_get_closure_index;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giarginfo.h;\"gboolean gi_arg_info_get_closure_index (GIArgInfo *info, unsigned int *out_closure_index);\";function gi_arg_info_get_closure_index(info, out_closure_index) bind(c)\r\ng;gi_arg_info_get_destroy_index;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giarginfo.h;\"gboolean gi_arg_info_get_destroy_index (GIArgInfo *info, unsigned int *out_destroy_index);\";function gi_arg_info_get_destroy_index(info, out_destroy_index) bind(c)\r\ng;gi_arg_info_get_direction;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giarginfo.h;\"GIDirection gi_arg_info_get_direction (GIArgInfo *info);\";function gi_arg_info_get_direction(info) bind(c)\r\ng;gi_arg_info_get_ownership_transfer;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giarginfo.h;\"GITransfer gi_arg_info_get_ownership_transfer (GIArgInfo *info);\";function gi_arg_info_get_ownership_transfer(info) bind(c)\r\ng;gi_arg_info_get_scope;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giarginfo.h;\"GIScopeType gi_arg_info_get_scope (GIArgInfo *info);\";function gi_arg_info_get_scope(info) bind(c)\r\ng;gi_arg_info_get_type_info;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giarginfo.h;\"GITypeInfo * gi_arg_info_get_type_info (GIArgInfo *info);\";function gi_arg_info_get_type_info(info) bind(c)\r\ng;gi_arg_info_is_caller_allocates;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giarginfo.h;\"gboolean gi_arg_info_is_caller_allocates (GIArgInfo *info);\";function gi_arg_info_is_caller_allocates(info) bind(c)\r\ng;gi_arg_info_is_optional;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giarginfo.h;\"gboolean gi_arg_info_is_optional (GIArgInfo *info);\";function gi_arg_info_is_optional(info) bind(c)\r\ng;gi_arg_info_is_return_value;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giarginfo.h;\"gboolean gi_arg_info_is_return_value (GIArgInfo *info);\";function gi_arg_info_is_return_value(info) bind(c)\r\ng;gi_arg_info_is_skip;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giarginfo.h;\"gboolean gi_arg_info_is_skip (GIArgInfo *info);\";function gi_arg_info_is_skip(info) bind(c)\r\ng;gi_arg_info_load_type_info;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giarginfo.h;\"void gi_arg_info_load_type_info (GIArgInfo *info, GITypeInfo *type);\";subroutine gi_arg_info_load_type_info(info, type) bind(c)\r\ng;gi_arg_info_may_be_null;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giarginfo.h;\"gboolean gi_arg_info_may_be_null (GIArgInfo *info);\";function gi_arg_info_may_be_null(info) bind(c)\r\ng;gi_base_info_clear;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gibaseinfo.h;\"void gi_base_info_clear (void *info);\";subroutine gi_base_info_clear(info) bind(c)\r\ng;gi_base_info_equal;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gibaseinfo.h;\"gboolean gi_base_info_equal (GIBaseInfo *info1, GIBaseInfo *info2);\";function gi_base_info_equal(info1, info2) bind(c)\r\ng;gi_base_info_get_attribute;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gibaseinfo.h;\"const char * gi_base_info_get_attribute (GIBaseInfo *info, const char *name);\";function gi_base_info_get_attribute(info, name) bind(c)\r\ng;gi_base_info_get_container;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gibaseinfo.h;\"GIBaseInfo * gi_base_info_get_container (GIBaseInfo *info);\";function gi_base_info_get_container(info) bind(c)\r\ng;gi_base_info_get_name;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gibaseinfo.h;\"const char * gi_base_info_get_name (GIBaseInfo *info);\";function gi_base_info_get_name(info) bind(c)\r\ng;gi_base_info_get_namespace;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gibaseinfo.h;\"const char * gi_base_info_get_namespace (GIBaseInfo *info);\";function gi_base_info_get_namespace(info) bind(c)\r\ng;gi_base_info_get_type;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gibaseinfo.h;\"GType gi_base_info_get_type (void) ;\";function gi_base_info_get_type() bind(c)\r\ng;gi_base_info_get_typelib;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gibaseinfo.h;\"GITypelib * gi_base_info_get_typelib (GIBaseInfo *info);\";function gi_base_info_get_typelib(info) bind(c)\r\ng;gi_base_info_is_deprecated;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gibaseinfo.h;\"gboolean gi_base_info_is_deprecated (GIBaseInfo *info);\";function gi_base_info_is_deprecated(info) bind(c)\r\ng;gi_base_info_iterate_attributes;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gibaseinfo.h;\"gboolean gi_base_info_iterate_attributes (GIBaseInfo *info, GIAttributeIter *iterator, const char **name, const char **value);\";function gi_base_info_iterate_attributes(info, iterator, name, value) bind(c)\r\ng;gi_base_info_ref;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gibaseinfo.h;\"GIBaseInfo * gi_base_info_ref (void *info);\";function gi_base_info_ref(info) bind(c)\r\ng;gi_base_info_unref;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gibaseinfo.h;\"void gi_base_info_unref (void *info);\";subroutine gi_base_info_unref(info) bind(c)\r\ng;gi_callable_info_can_throw_gerror;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gicallableinfo.h;\"gboolean gi_callable_info_can_throw_gerror (GICallableInfo *info);\";function gi_callable_info_can_throw_gerror(info) bind(c)\r\ng;gi_callable_info_destroy_closure;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/girffi.h;\"void gi_callable_info_destroy_closure (GICallableInfo *callable_info, ffi_closure *closure);\";subroutine gi_callable_info_destroy_closure(callable_info, closure) bind(c)\r\ng;gi_callable_info_get_arg;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gicallableinfo.h;\"GIArgInfo * gi_callable_info_get_arg (GICallableInfo *info, unsigned int n);\";function gi_callable_info_get_arg(info, n) bind(c)\r\ng;gi_callable_info_get_async_function;GI_AVAILABLE_IN_2_84;glib-auto.f90;/usr/include/glib-2.0/girepository/gicallableinfo.h;\"GICallableInfo *gi_callable_info_get_async_function (GICallableInfo *info);\";function gi_callable_info_get_async_function(info) bind(c)\r\ng;gi_callable_info_get_caller_owns;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gicallableinfo.h;\"GITransfer gi_callable_info_get_caller_owns (GICallableInfo *info);\";function gi_callable_info_get_caller_owns(info) bind(c)\r\ng;gi_callable_info_get_closure_native_address;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/girffi.h;\"void ** gi_callable_info_get_closure_native_address (GICallableInfo *callable_info, ffi_closure *closure);\";function gi_callable_info_get_closure_native_address(callable_info, closure) bind(c)\r\ng;gi_callable_info_get_finish_function;GI_AVAILABLE_IN_2_84;glib-auto.f90;/usr/include/glib-2.0/girepository/gicallableinfo.h;\"GICallableInfo *gi_callable_info_get_finish_function (GICallableInfo *info);\";function gi_callable_info_get_finish_function(info) bind(c)\r\ng;gi_callable_info_get_instance_ownership_transfer;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gicallableinfo.h;\"GITransfer gi_callable_info_get_instance_ownership_transfer (GICallableInfo *info);\";function gi_callable_info_get_instance_ownership_transfer(info) bind(c)\r\ng;gi_callable_info_get_n_args;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gicallableinfo.h;\"unsigned int gi_callable_info_get_n_args (GICallableInfo *info);\";function gi_callable_info_get_n_args(info) bind(c)\r\ng;gi_callable_info_get_return_attribute;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gicallableinfo.h;\"const char * gi_callable_info_get_return_attribute (GICallableInfo *info, const char *name);\";function gi_callable_info_get_return_attribute(info, name) bind(c)\r\ng;gi_callable_info_get_return_type;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gicallableinfo.h;\"GITypeInfo * gi_callable_info_get_return_type (GICallableInfo *info);\";function gi_callable_info_get_return_type(info) bind(c)\r\ng;gi_callable_info_get_sync_function;GI_AVAILABLE_IN_2_84;glib-auto.f90;/usr/include/glib-2.0/girepository/gicallableinfo.h;\"GICallableInfo *gi_callable_info_get_sync_function (GICallableInfo *info);\";function gi_callable_info_get_sync_function(info) bind(c)\r\ng;gi_callable_info_invoke;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gicallableinfo.h;\"gboolean gi_callable_info_invoke (GICallableInfo *info, void *function, const GIArgument *in_args, size_t n_in_args, GIArgument *out_args, size_t n_out_args, GIArgument *return_value, GError **error);\";function gi_callable_info_invoke(info, function, in_args, n_in_args, out_args, n_out_args, return_value, error) bind(c)\r\ng;gi_callable_info_is_async;GI_AVAILABLE_IN_2_84;glib-auto.f90;/usr/include/glib-2.0/girepository/gicallableinfo.h;\"gboolean gi_callable_info_is_async (GICallableInfo *info);\";function gi_callable_info_is_async(info) bind(c)\r\ng;gi_callable_info_is_method;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gicallableinfo.h;\"gboolean gi_callable_info_is_method (GICallableInfo *info);\";function gi_callable_info_is_method(info) bind(c)\r\ng;gi_callable_info_iterate_return_attributes;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gicallableinfo.h;\"gboolean gi_callable_info_iterate_return_attributes (GICallableInfo *info, GIAttributeIter *iterator, const char **name, const char **value);\";function gi_callable_info_iterate_return_attributes(info, iterator, name, value) bind(c)\r\ng;gi_callable_info_load_arg;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gicallableinfo.h;\"void gi_callable_info_load_arg (GICallableInfo *info, unsigned int n, GIArgInfo *arg);\";subroutine gi_callable_info_load_arg(info, n, arg) bind(c)\r\ng;gi_callable_info_load_return_type;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gicallableinfo.h;\"void gi_callable_info_load_return_type (GICallableInfo *info, GITypeInfo *type);\";subroutine gi_callable_info_load_return_type(info, type) bind(c)\r\ng;gi_callable_info_may_return_null;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gicallableinfo.h;\"gboolean gi_callable_info_may_return_null (GICallableInfo *info);\";function gi_callable_info_may_return_null(info) bind(c)\r\ng;gi_callable_info_skip_return;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gicallableinfo.h;\"gboolean gi_callable_info_skip_return (GICallableInfo *info);\";function gi_callable_info_skip_return(info) bind(c)\r\ng;gi_cclosure_marshal_generic;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/girepository.h;\"void gi_cclosure_marshal_generic (GClosure *closure, GValue *return_gvalue, unsigned int n_param_values, const GValue *param_values, void *invocation_hint, void *marshal_data);\";subroutine gi_cclosure_marshal_generic(closure, return_gvalue, n_param_values, param_values, invocation_hint, marshal_data) bind(c)\r\ng;gi_constant_info_free_value;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giconstantinfo.h;\"void gi_constant_info_free_value (GIConstantInfo *info, GIArgument *value);\";subroutine gi_constant_info_free_value(info, value) bind(c)\r\ng;gi_constant_info_get_type_info;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giconstantinfo.h;\"GITypeInfo * gi_constant_info_get_type_info (GIConstantInfo *info);\";function gi_constant_info_get_type_info(info) bind(c)\r\ng;gi_constant_info_get_value;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giconstantinfo.h;\"size_t gi_constant_info_get_value (GIConstantInfo *info, GIArgument *value);\";function gi_constant_info_get_value(info, value) bind(c)\r\ng;gi_enum_info_get_error_domain;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gienuminfo.h;\"const char * gi_enum_info_get_error_domain (GIEnumInfo *info);\";function gi_enum_info_get_error_domain(info) bind(c)\r\ng;gi_enum_info_get_method;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gienuminfo.h;\"GIFunctionInfo * gi_enum_info_get_method (GIEnumInfo *info, unsigned int n);\";function gi_enum_info_get_method(info, n) bind(c)\r\ng;gi_enum_info_get_n_methods;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gienuminfo.h;\"unsigned int gi_enum_info_get_n_methods (GIEnumInfo *info);\";function gi_enum_info_get_n_methods(info) bind(c)\r\ng;gi_enum_info_get_n_values;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gienuminfo.h;\"unsigned int gi_enum_info_get_n_values (GIEnumInfo *info);\";function gi_enum_info_get_n_values(info) bind(c)\r\ng;gi_enum_info_get_storage_type;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gienuminfo.h;\"GITypeTag gi_enum_info_get_storage_type (GIEnumInfo *info);\";function gi_enum_info_get_storage_type(info) bind(c)\r\ng;gi_enum_info_get_value;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gienuminfo.h;\"GIValueInfo * gi_enum_info_get_value (GIEnumInfo *info, unsigned int n);\";function gi_enum_info_get_value(info, n) bind(c)\r\ng;gi_field_info_get_field;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gifieldinfo.h;\"gboolean gi_field_info_get_field (GIFieldInfo *field_info, void *mem, GIArgument *value);\";function gi_field_info_get_field(field_info, mem, value) bind(c)\r\ng;gi_field_info_get_flags;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gifieldinfo.h;\"GIFieldInfoFlags gi_field_info_get_flags (GIFieldInfo *info);\";function gi_field_info_get_flags(info) bind(c)\r\ng;gi_field_info_get_offset;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gifieldinfo.h;\"size_t gi_field_info_get_offset (GIFieldInfo *info);\";function gi_field_info_get_offset(info) bind(c)\r\ng;gi_field_info_get_size;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gifieldinfo.h;\"size_t gi_field_info_get_size (GIFieldInfo *info);\";function gi_field_info_get_size(info) bind(c)\r\ng;gi_field_info_get_type_info;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gifieldinfo.h;\"GITypeInfo * gi_field_info_get_type_info (GIFieldInfo *info);\";function gi_field_info_get_type_info(info) bind(c)\r\ng;gi_field_info_set_field;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gifieldinfo.h;\"gboolean gi_field_info_set_field (GIFieldInfo *field_info, void *mem, const GIArgument *value);\";function gi_field_info_set_field(field_info, mem, value) bind(c)\r\ng;gi_function_info_get_flags;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gifunctioninfo.h;\"GIFunctionInfoFlags gi_function_info_get_flags (GIFunctionInfo *info);\";function gi_function_info_get_flags(info) bind(c)\r\ng;gi_function_info_get_property;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gifunctioninfo.h;\"GIPropertyInfo * gi_function_info_get_property (GIFunctionInfo *info);\";function gi_function_info_get_property(info) bind(c)\r\ng;gi_function_info_get_symbol;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gifunctioninfo.h;\"const char * gi_function_info_get_symbol (GIFunctionInfo *info);\";function gi_function_info_get_symbol(info) bind(c)\r\ng;gi_function_info_get_vfunc;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gifunctioninfo.h;\"GIVFuncInfo * gi_function_info_get_vfunc (GIFunctionInfo *info);\";function gi_function_info_get_vfunc(info) bind(c)\r\ng;gi_function_info_invoke;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gifunctioninfo.h;\"gboolean gi_function_info_invoke (GIFunctionInfo *info, const GIArgument *in_args, size_t n_in_args, GIArgument *out_args, size_t n_out_args, GIArgument *return_value, GError **error);\";function gi_function_info_invoke(info, in_args, n_in_args, out_args, n_out_args, return_value, error) bind(c)\r\ng;gi_function_info_prep_invoker;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/girffi.h;\"gboolean gi_function_info_prep_invoker (GIFunctionInfo *info, GIFunctionInvoker *invoker, GError **error);\";function gi_function_info_prep_invoker(info, invoker, error) bind(c)\r\ng;gi_function_invoker_clear;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/girffi.h;\"void gi_function_invoker_clear (GIFunctionInvoker *invoker);\";subroutine gi_function_invoker_clear(invoker) bind(c)\r\ng;gi_function_invoker_new_for_address;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/girffi.h;\"gboolean gi_function_invoker_new_for_address (void *addr, GICallableInfo *info, GIFunctionInvoker *invoker, GError **error);\";function gi_function_invoker_new_for_address(addr, info, invoker, error) bind(c)\r\ng;gi_interface_info_find_method;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giinterfaceinfo.h;\"GIFunctionInfo * gi_interface_info_find_method (GIInterfaceInfo *info, const char *name);\";function gi_interface_info_find_method(info, name) bind(c)\r\ng;gi_interface_info_find_signal;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giinterfaceinfo.h;\"GISignalInfo * gi_interface_info_find_signal (GIInterfaceInfo *info, const char *name);\";function gi_interface_info_find_signal(info, name) bind(c)\r\ng;gi_interface_info_find_vfunc;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giinterfaceinfo.h;\"GIVFuncInfo * gi_interface_info_find_vfunc (GIInterfaceInfo *info, const char *name);\";function gi_interface_info_find_vfunc(info, name) bind(c)\r\ng;gi_interface_info_get_constant;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giinterfaceinfo.h;\"GIConstantInfo * gi_interface_info_get_constant (GIInterfaceInfo *info, unsigned int n);\";function gi_interface_info_get_constant(info, n) bind(c)\r\ng;gi_interface_info_get_iface_struct;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giinterfaceinfo.h;\"GIStructInfo * gi_interface_info_get_iface_struct (GIInterfaceInfo *info);\";function gi_interface_info_get_iface_struct(info) bind(c)\r\ng;gi_interface_info_get_method;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giinterfaceinfo.h;\"GIFunctionInfo * gi_interface_info_get_method (GIInterfaceInfo *info, unsigned int n);\";function gi_interface_info_get_method(info, n) bind(c)\r\ng;gi_interface_info_get_n_constants;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giinterfaceinfo.h;\"unsigned int gi_interface_info_get_n_constants (GIInterfaceInfo *info);\";function gi_interface_info_get_n_constants(info) bind(c)\r\ng;gi_interface_info_get_n_methods;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giinterfaceinfo.h;\"unsigned int gi_interface_info_get_n_methods (GIInterfaceInfo *info);\";function gi_interface_info_get_n_methods(info) bind(c)\r\ng;gi_interface_info_get_n_prerequisites;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giinterfaceinfo.h;\"unsigned int gi_interface_info_get_n_prerequisites (GIInterfaceInfo *info);\";function gi_interface_info_get_n_prerequisites(info) bind(c)\r\ng;gi_interface_info_get_n_properties;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giinterfaceinfo.h;\"unsigned int gi_interface_info_get_n_properties (GIInterfaceInfo *info);\";function gi_interface_info_get_n_properties(info) bind(c)\r\ng;gi_interface_info_get_n_signals;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giinterfaceinfo.h;\"unsigned int gi_interface_info_get_n_signals (GIInterfaceInfo *info);\";function gi_interface_info_get_n_signals(info) bind(c)\r\ng;gi_interface_info_get_n_vfuncs;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giinterfaceinfo.h;\"unsigned int gi_interface_info_get_n_vfuncs (GIInterfaceInfo *info);\";function gi_interface_info_get_n_vfuncs(info) bind(c)\r\ng;gi_interface_info_get_prerequisite;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giinterfaceinfo.h;\"GIBaseInfo * gi_interface_info_get_prerequisite (GIInterfaceInfo *info, unsigned int n);\";function gi_interface_info_get_prerequisite(info, n) bind(c)\r\ng;gi_interface_info_get_property;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giinterfaceinfo.h;\"GIPropertyInfo * gi_interface_info_get_property (GIInterfaceInfo *info, unsigned int n);\";function gi_interface_info_get_property(info, n) bind(c)\r\ng;gi_interface_info_get_signal;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giinterfaceinfo.h;\"GISignalInfo * gi_interface_info_get_signal (GIInterfaceInfo *info, unsigned int n);\";function gi_interface_info_get_signal(info, n) bind(c)\r\ng;gi_interface_info_get_vfunc;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giinterfaceinfo.h;\"GIVFuncInfo * gi_interface_info_get_vfunc (GIInterfaceInfo *info, unsigned int n);\";function gi_interface_info_get_vfunc(info, n) bind(c)\r\ng;gi_invoke_error_quark;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gifunctioninfo.h;\"GQuark gi_invoke_error_quark (void);\";function gi_invoke_error_quark() bind(c)\r\ng;gi_object_info_find_method;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giobjectinfo.h;\"GIFunctionInfo * gi_object_info_find_method (GIObjectInfo *info, const char *name);\";function gi_object_info_find_method(info, name) bind(c)\r\ng;gi_object_info_find_method_using_interfaces;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giobjectinfo.h;\"GIFunctionInfo * gi_object_info_find_method_using_interfaces (GIObjectInfo *info, const char *name, GIBaseInfo **declarer);\";function gi_object_info_find_method_using_interfaces(info, name, declarer) bind(c)\r\ng;gi_object_info_find_signal;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giobjectinfo.h;\"GISignalInfo * gi_object_info_find_signal (GIObjectInfo *info, const char *name);\";function gi_object_info_find_signal(info, name) bind(c)\r\ng;gi_object_info_find_vfunc;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giobjectinfo.h;\"GIVFuncInfo * gi_object_info_find_vfunc (GIObjectInfo *info, const char *name);\";function gi_object_info_find_vfunc(info, name) bind(c)\r\ng;gi_object_info_find_vfunc_using_interfaces;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giobjectinfo.h;\"GIVFuncInfo * gi_object_info_find_vfunc_using_interfaces (GIObjectInfo *info, const char *name, GIBaseInfo **declarer);\";function gi_object_info_find_vfunc_using_interfaces(info, name, declarer) bind(c)\r\ng;gi_object_info_get_abstract;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giobjectinfo.h;\"gboolean gi_object_info_get_abstract (GIObjectInfo *info);\";function gi_object_info_get_abstract(info) bind(c)\r\ng;gi_object_info_get_class_struct;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giobjectinfo.h;\"GIStructInfo * gi_object_info_get_class_struct (GIObjectInfo *info);\";function gi_object_info_get_class_struct(info) bind(c)\r\ng;gi_object_info_get_constant;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giobjectinfo.h;\"GIConstantInfo * gi_object_info_get_constant (GIObjectInfo *info, unsigned int n);\";function gi_object_info_get_constant(info, n) bind(c)\r\ng;gi_object_info_get_field;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giobjectinfo.h;\"GIFieldInfo * gi_object_info_get_field (GIObjectInfo *info, unsigned int n);\";function gi_object_info_get_field(info, n) bind(c)\r\ng;gi_object_info_get_final;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giobjectinfo.h;\"gboolean gi_object_info_get_final (GIObjectInfo *info);\";function gi_object_info_get_final(info) bind(c)\r\ng;gi_object_info_get_fundamental;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giobjectinfo.h;\"gboolean gi_object_info_get_fundamental (GIObjectInfo *info);\";function gi_object_info_get_fundamental(info) bind(c)\r\ng;gi_object_info_get_get_value_function_name;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giobjectinfo.h;\"const char * gi_object_info_get_get_value_function_name (GIObjectInfo *info);\";function gi_object_info_get_get_value_function_name(info) bind(c)\r\ng;gi_object_info_get_get_value_function_pointer;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giobjectinfo.h;\"GIObjectInfoGetValueFunction gi_object_info_get_get_value_function_pointer (GIObjectInfo *info);\";function gi_object_info_get_get_value_function_pointer(info) bind(c)\r\ng;gi_object_info_get_interface;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giobjectinfo.h;\"GIInterfaceInfo * gi_object_info_get_interface (GIObjectInfo *info, unsigned int n);\";function gi_object_info_get_interface(info, n) bind(c)\r\ng;gi_object_info_get_method;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giobjectinfo.h;\"GIFunctionInfo * gi_object_info_get_method (GIObjectInfo *info, unsigned int n);\";function gi_object_info_get_method(info, n) bind(c)\r\ng;gi_object_info_get_n_constants;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giobjectinfo.h;\"unsigned int gi_object_info_get_n_constants (GIObjectInfo *info);\";function gi_object_info_get_n_constants(info) bind(c)\r\ng;gi_object_info_get_n_fields;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giobjectinfo.h;\"unsigned int gi_object_info_get_n_fields (GIObjectInfo *info);\";function gi_object_info_get_n_fields(info) bind(c)\r\ng;gi_object_info_get_n_interfaces;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giobjectinfo.h;\"unsigned int gi_object_info_get_n_interfaces (GIObjectInfo *info);\";function gi_object_info_get_n_interfaces(info) bind(c)\r\ng;gi_object_info_get_n_methods;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giobjectinfo.h;\"unsigned int gi_object_info_get_n_methods (GIObjectInfo *info);\";function gi_object_info_get_n_methods(info) bind(c)\r\ng;gi_object_info_get_n_properties;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giobjectinfo.h;\"unsigned int gi_object_info_get_n_properties (GIObjectInfo *info);\";function gi_object_info_get_n_properties(info) bind(c)\r\ng;gi_object_info_get_n_signals;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giobjectinfo.h;\"unsigned int gi_object_info_get_n_signals (GIObjectInfo *info);\";function gi_object_info_get_n_signals(info) bind(c)\r\ng;gi_object_info_get_n_vfuncs;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giobjectinfo.h;\"unsigned int gi_object_info_get_n_vfuncs (GIObjectInfo *info);\";function gi_object_info_get_n_vfuncs(info) bind(c)\r\ng;gi_object_info_get_parent;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giobjectinfo.h;\"GIObjectInfo * gi_object_info_get_parent (GIObjectInfo *info);\";function gi_object_info_get_parent(info) bind(c)\r\ng;gi_object_info_get_property;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giobjectinfo.h;\"GIPropertyInfo * gi_object_info_get_property (GIObjectInfo *info, unsigned int n);\";function gi_object_info_get_property(info, n) bind(c)\r\ng;gi_object_info_get_ref_function_name;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giobjectinfo.h;\"const char * gi_object_info_get_ref_function_name (GIObjectInfo *info);\";function gi_object_info_get_ref_function_name(info) bind(c)\r\ng;gi_object_info_get_ref_function_pointer;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giobjectinfo.h;\"GIObjectInfoRefFunction gi_object_info_get_ref_function_pointer (GIObjectInfo *info);\";function gi_object_info_get_ref_function_pointer(info) bind(c)\r\ng;gi_object_info_get_set_value_function_name;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giobjectinfo.h;\"const char * gi_object_info_get_set_value_function_name (GIObjectInfo *info);\";function gi_object_info_get_set_value_function_name(info) bind(c)\r\ng;gi_object_info_get_set_value_function_pointer;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giobjectinfo.h;\"GIObjectInfoSetValueFunction gi_object_info_get_set_value_function_pointer (GIObjectInfo *info);\";function gi_object_info_get_set_value_function_pointer(info) bind(c)\r\ng;gi_object_info_get_signal;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giobjectinfo.h;\"GISignalInfo * gi_object_info_get_signal (GIObjectInfo *info, unsigned int n);\";function gi_object_info_get_signal(info, n) bind(c)\r\ng;gi_object_info_get_type_init_function_name;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giobjectinfo.h;\"const char * gi_object_info_get_type_init_function_name (GIObjectInfo *info);\";function gi_object_info_get_type_init_function_name(info) bind(c)\r\ng;gi_object_info_get_type_name;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giobjectinfo.h;\"const char * gi_object_info_get_type_name (GIObjectInfo *info);\";function gi_object_info_get_type_name(info) bind(c)\r\ng;gi_object_info_get_unref_function_name;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giobjectinfo.h;\"const char * gi_object_info_get_unref_function_name (GIObjectInfo *info);\";function gi_object_info_get_unref_function_name(info) bind(c)\r\ng;gi_object_info_get_unref_function_pointer;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giobjectinfo.h;\"GIObjectInfoUnrefFunction gi_object_info_get_unref_function_pointer (GIObjectInfo *info);\";function gi_object_info_get_unref_function_pointer(info) bind(c)\r\ng;gi_object_info_get_vfunc;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giobjectinfo.h;\"GIVFuncInfo * gi_object_info_get_vfunc (GIObjectInfo *info, unsigned int n);\";function gi_object_info_get_vfunc(info, n) bind(c)\r\ng;gi_property_info_get_flags;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gipropertyinfo.h;\"GParamFlags gi_property_info_get_flags (GIPropertyInfo *info);\";function gi_property_info_get_flags(info) bind(c)\r\ng;gi_property_info_get_getter;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gipropertyinfo.h;\"GIFunctionInfo *gi_property_info_get_getter (GIPropertyInfo *info);\";function gi_property_info_get_getter(info) bind(c)\r\ng;gi_property_info_get_ownership_transfer;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gipropertyinfo.h;\"GITransfer gi_property_info_get_ownership_transfer (GIPropertyInfo *info);\";function gi_property_info_get_ownership_transfer(info) bind(c)\r\ng;gi_property_info_get_setter;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gipropertyinfo.h;\"GIFunctionInfo *gi_property_info_get_setter (GIPropertyInfo *info);\";function gi_property_info_get_setter(info) bind(c)\r\ng;gi_property_info_get_type_info;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gipropertyinfo.h;\"GITypeInfo *gi_property_info_get_type_info (GIPropertyInfo *info);\";function gi_property_info_get_type_info(info) bind(c)\r\ng;gi_registered_type_info_get_g_type;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giregisteredtypeinfo.h;\"GType gi_registered_type_info_get_g_type (GIRegisteredTypeInfo *info);\";function gi_registered_type_info_get_g_type(info) bind(c)\r\ng;gi_registered_type_info_get_type_init_function_name;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giregisteredtypeinfo.h;\"const char * gi_registered_type_info_get_type_init_function_name (GIRegisteredTypeInfo *info);\";function gi_registered_type_info_get_type_init_function_name(info) bind(c)\r\ng;gi_registered_type_info_get_type_name;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giregisteredtypeinfo.h;\"const char * gi_registered_type_info_get_type_name (GIRegisteredTypeInfo *info);\";function gi_registered_type_info_get_type_name(info) bind(c)\r\ng;gi_registered_type_info_is_boxed;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giregisteredtypeinfo.h;\"gboolean gi_registered_type_info_is_boxed (GIRegisteredTypeInfo *info);\";function gi_registered_type_info_is_boxed(info) bind(c)\r\ng;gi_repository_dump;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/girepository.h;\"gboolean gi_repository_dump (const char *input_filename, const char *output_filename, GError **error);\";function gi_repository_dump(input_filename, output_filename, error) bind(c)\r\ng;gi_repository_dup_default;GI_AVAILABLE_IN_2_86;glib-auto.f90;/usr/include/glib-2.0/girepository/girepository.h;\"GIRepository *gi_repository_dup_default (void);\";function gi_repository_dup_default() bind(c)\r\ng;gi_repository_enumerate_versions;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/girepository.h;\"char ** gi_repository_enumerate_versions (GIRepository *repository, const char *namespace_, size_t *n_versions_out);\";function gi_repository_enumerate_versions(repository, namespace_, n_versions_out) bind(c)\r\ng;gi_repository_error_quark;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/girepository.h;\"GQuark gi_repository_error_quark (void);\";function gi_repository_error_quark() bind(c)\r\ng;gi_repository_find_by_error_domain;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/girepository.h;\"GIEnumInfo * gi_repository_find_by_error_domain (GIRepository *repository, GQuark domain);\";function gi_repository_find_by_error_domain(repository, domain) bind(c)\r\ng;gi_repository_find_by_gtype;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/girepository.h;\"GIBaseInfo * gi_repository_find_by_gtype (GIRepository *repository, GType gtype);\";function gi_repository_find_by_gtype(repository, gtype) bind(c)\r\ng;gi_repository_find_by_name;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/girepository.h;\"GIBaseInfo * gi_repository_find_by_name (GIRepository *repository, const char *namespace_, const char *name);\";function gi_repository_find_by_name(repository, namespace_, name) bind(c)\r\ng;gi_repository_get_c_prefix;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/girepository.h;\"const char * gi_repository_get_c_prefix (GIRepository *repository, const char *namespace_);\";function gi_repository_get_c_prefix(repository, namespace_) bind(c)\r\ng;gi_repository_get_dependencies;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/girepository.h;\"char ** gi_repository_get_dependencies (GIRepository *repository, const char *namespace_, size_t *n_dependencies_out);\";function gi_repository_get_dependencies(repository, namespace_, n_dependencies_out) bind(c)\r\ng;gi_repository_get_immediate_dependencies;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/girepository.h;\"char ** gi_repository_get_immediate_dependencies (GIRepository *repository, const char *namespace_, size_t *n_dependencies_out);\";function gi_repository_get_immediate_dependencies(repository, namespace_, n_dependencies_out) bind(c)\r\ng;gi_repository_get_info;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/girepository.h;\"GIBaseInfo * gi_repository_get_info (GIRepository *repository, const char *namespace_, unsigned int idx);\";function gi_repository_get_info(repository, namespace_, idx) bind(c)\r\ng;gi_repository_get_library_path;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/girepository.h;\"const char * const *gi_repository_get_library_path (GIRepository *repository, size_t *n_paths_out);\";function gi_repository_get_library_path(repository, n_paths_out) bind(c)\r\ng;gi_repository_get_loaded_namespaces;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/girepository.h;\"char ** gi_repository_get_loaded_namespaces (GIRepository *repository, size_t *n_namespaces_out);\";function gi_repository_get_loaded_namespaces(repository, n_namespaces_out) bind(c)\r\ng;gi_repository_get_n_infos;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/girepository.h;\"unsigned int gi_repository_get_n_infos (GIRepository *repository, const char *namespace_);\";function gi_repository_get_n_infos(repository, namespace_) bind(c)\r\ng;gi_repository_get_object_gtype_interfaces;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/girepository.h;\"void gi_repository_get_object_gtype_interfaces (GIRepository *repository, GType gtype, size_t *n_interfaces_out, GIInterfaceInfo ***interfaces_out);\";subroutine gi_repository_get_object_gtype_interfaces(repository, gtype, n_interfaces_out, interfaces_out) bind(c)\r\ng;gi_repository_get_option_group;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/girepository.h;\"GOptionGroup * gi_repository_get_option_group (void);\";function gi_repository_get_option_group() bind(c)\r\ng;gi_repository_get_search_path;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/girepository.h;\"const char * const * gi_repository_get_search_path (GIRepository *repository, size_t *n_paths_out);\";function gi_repository_get_search_path(repository, n_paths_out) bind(c)\r\ng;gi_repository_get_shared_libraries;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/girepository.h;\"const char * const *gi_repository_get_shared_libraries (GIRepository *repository, const char *namespace_, size_t *out_n_elements);\";function gi_repository_get_shared_libraries(repository, namespace_, out_n_elements) bind(c)\r\ng;gi_repository_get_typelib_path;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/girepository.h;\"const char * gi_repository_get_typelib_path (GIRepository *repository, const char *namespace_);\";function gi_repository_get_typelib_path(repository, namespace_) bind(c)\r\ng;gi_repository_get_version;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/girepository.h;\"const char * gi_repository_get_version (GIRepository *repository, const char *namespace_);\";function gi_repository_get_version(repository, namespace_) bind(c)\r\ng;gi_repository_is_registered;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/girepository.h;\"gboolean gi_repository_is_registered (GIRepository *repository, const char *namespace_, const char *version);\";function gi_repository_is_registered(repository, namespace_, version) bind(c)\r\ng;gi_repository_load_typelib;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/girepository.h;\"const char * gi_repository_load_typelib (GIRepository *repository, GITypelib *typelib, GIRepositoryLoadFlags flags, GError **error);\";function gi_repository_load_typelib(repository, typelib, flags, error) bind(c)\r\ng;gi_repository_new;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/girepository.h;\"GIRepository *gi_repository_new (void);\";function gi_repository_new() bind(c)\r\ng;gi_repository_prepend_library_path;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/girepository.h;\"void gi_repository_prepend_library_path (GIRepository *repository, const char *directory);\";subroutine gi_repository_prepend_library_path(repository, directory) bind(c)\r\ng;gi_repository_prepend_search_path;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/girepository.h;\"void gi_repository_prepend_search_path (GIRepository *repository, const char *directory);\";subroutine gi_repository_prepend_search_path(repository, directory) bind(c)\r\ng;gi_repository_require;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/girepository.h;\"GITypelib * gi_repository_require (GIRepository *repository, const char *namespace_, const char *version, GIRepositoryLoadFlags flags, GError **error);\";function gi_repository_require(repository, namespace_, version, flags, error) bind(c)\r\ng;gi_repository_require_private;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/girepository.h;\"GITypelib * gi_repository_require_private (GIRepository *repository, const char *typelib_dir, const char *namespace_, const char *version, GIRepositoryLoadFlags flags, GError **error);\";function gi_repository_require_private(repository, typelib_dir, namespace_, version, flags, error) bind(c)\r\ng;gi_signal_info_get_class_closure;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gisignalinfo.h;\"GIVFuncInfo * gi_signal_info_get_class_closure (GISignalInfo *info);\";function gi_signal_info_get_class_closure(info) bind(c)\r\ng;gi_signal_info_get_flags;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gisignalinfo.h;\"GSignalFlags gi_signal_info_get_flags (GISignalInfo *info);\";function gi_signal_info_get_flags(info) bind(c)\r\ng;gi_signal_info_true_stops_emit;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gisignalinfo.h;\"gboolean gi_signal_info_true_stops_emit (GISignalInfo *info);\";function gi_signal_info_true_stops_emit(info) bind(c)\r\ng;gi_struct_info_find_field;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gistructinfo.h;\"GIFieldInfo * gi_struct_info_find_field (GIStructInfo *info, const char *name);\";function gi_struct_info_find_field(info, name) bind(c)\r\ng;gi_struct_info_find_method;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gistructinfo.h;\"GIFunctionInfo * gi_struct_info_find_method (GIStructInfo *info, const char *name);\";function gi_struct_info_find_method(info, name) bind(c)\r\ng;gi_struct_info_get_alignment;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gistructinfo.h;\"size_t gi_struct_info_get_alignment (GIStructInfo *info);\";function gi_struct_info_get_alignment(info) bind(c)\r\ng;gi_struct_info_get_copy_function_name;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gistructinfo.h;\"const char * gi_struct_info_get_copy_function_name (GIStructInfo *info);\";function gi_struct_info_get_copy_function_name(info) bind(c)\r\ng;gi_struct_info_get_field;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gistructinfo.h;\"GIFieldInfo * gi_struct_info_get_field (GIStructInfo *info, unsigned int n);\";function gi_struct_info_get_field(info, n) bind(c)\r\ng;gi_struct_info_get_free_function_name;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gistructinfo.h;\"const char * gi_struct_info_get_free_function_name (GIStructInfo *info);\";function gi_struct_info_get_free_function_name(info) bind(c)\r\ng;gi_struct_info_get_method;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gistructinfo.h;\"GIFunctionInfo * gi_struct_info_get_method (GIStructInfo *info, unsigned int n);\";function gi_struct_info_get_method(info, n) bind(c)\r\ng;gi_struct_info_get_n_fields;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gistructinfo.h;\"unsigned int gi_struct_info_get_n_fields (GIStructInfo *info);\";function gi_struct_info_get_n_fields(info) bind(c)\r\ng;gi_struct_info_get_n_methods;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gistructinfo.h;\"unsigned int gi_struct_info_get_n_methods (GIStructInfo *info);\";function gi_struct_info_get_n_methods(info) bind(c)\r\ng;gi_struct_info_get_size;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gistructinfo.h;\"size_t gi_struct_info_get_size (GIStructInfo *info);\";function gi_struct_info_get_size(info) bind(c)\r\ng;gi_struct_info_is_foreign;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gistructinfo.h;\"gboolean gi_struct_info_is_foreign (GIStructInfo *info);\";function gi_struct_info_is_foreign(info) bind(c)\r\ng;gi_struct_info_is_gtype_struct;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gistructinfo.h;\"gboolean gi_struct_info_is_gtype_struct (GIStructInfo *info);\";function gi_struct_info_is_gtype_struct(info) bind(c)\r\ng;gi_type_info_argument_from_hash_pointer;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gitypeinfo.h;\"void gi_type_info_argument_from_hash_pointer (GITypeInfo *info, void *hash_pointer, GIArgument *arg);\";subroutine gi_type_info_argument_from_hash_pointer(info, hash_pointer, arg) bind(c)\r\ng;gi_type_info_extract_ffi_return_value;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/girffi.h;\"void gi_type_info_extract_ffi_return_value (GITypeInfo *return_info, GIFFIReturnValue *ffi_value, GIArgument *arg);\";subroutine gi_type_info_extract_ffi_return_value(return_info, ffi_value, arg) bind(c)\r\ng;gi_type_info_get_array_fixed_size;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gitypeinfo.h;\"gboolean gi_type_info_get_array_fixed_size (GITypeInfo *info, size_t *out_size);\";function gi_type_info_get_array_fixed_size(info, out_size) bind(c)\r\ng;gi_type_info_get_array_length_index;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gitypeinfo.h;\"gboolean gi_type_info_get_array_length_index (GITypeInfo *info, unsigned int *out_length_index);\";function gi_type_info_get_array_length_index(info, out_length_index) bind(c)\r\ng;gi_type_info_get_array_type;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gitypeinfo.h;\"GIArrayType gi_type_info_get_array_type (GITypeInfo *info);\";function gi_type_info_get_array_type(info) bind(c)\r\ng;gi_type_info_get_ffi_type;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/girffi.h;\"ffi_type * gi_type_info_get_ffi_type (GITypeInfo *info);\";function gi_type_info_get_ffi_type(info) bind(c)\r\ng;gi_type_info_get_interface;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gitypeinfo.h;\"GIBaseInfo * gi_type_info_get_interface (GITypeInfo *info);\";function gi_type_info_get_interface(info) bind(c)\r\ng;gi_type_info_get_param_type;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gitypeinfo.h;\"GITypeInfo * gi_type_info_get_param_type (GITypeInfo *info, unsigned int n);\";function gi_type_info_get_param_type(info, n) bind(c)\r\ng;gi_type_info_get_storage_type;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gitypeinfo.h;\"GITypeTag gi_type_info_get_storage_type (GITypeInfo *info);\";function gi_type_info_get_storage_type(info) bind(c)\r\ng;gi_type_info_get_tag;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gitypeinfo.h;\"GITypeTag gi_type_info_get_tag (GITypeInfo *info);\";function gi_type_info_get_tag(info) bind(c)\r\ng;gi_type_info_hash_pointer_from_argument;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gitypeinfo.h;\"void * gi_type_info_hash_pointer_from_argument (GITypeInfo *info, GIArgument *arg);\";function gi_type_info_hash_pointer_from_argument(info, arg) bind(c)\r\ng;gi_type_info_is_pointer;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gitypeinfo.h;\"gboolean gi_type_info_is_pointer (GITypeInfo *info);\";function gi_type_info_is_pointer(info) bind(c)\r\ng;gi_type_info_is_zero_terminated;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gitypeinfo.h;\"gboolean gi_type_info_is_zero_terminated (GITypeInfo *info);\";function gi_type_info_is_zero_terminated(info) bind(c)\r\ng;gi_type_tag_argument_from_hash_pointer;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gitypeinfo.h;\"void gi_type_tag_argument_from_hash_pointer (GITypeTag storage_type, void *hash_pointer, GIArgument *arg);\";subroutine gi_type_tag_argument_from_hash_pointer(storage_type, hash_pointer, arg) bind(c)\r\ng;gi_type_tag_extract_ffi_return_value;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/girffi.h;\"void gi_type_tag_extract_ffi_return_value (GITypeTag return_tag, GType interface_type, GIFFIReturnValue *ffi_value, GIArgument *arg);\";subroutine gi_type_tag_extract_ffi_return_value(return_tag, interface_type, ffi_value, arg) bind(c)\r\ng;gi_type_tag_get_ffi_type;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/girffi.h;\"ffi_type * gi_type_tag_get_ffi_type (GITypeTag type_tag, gboolean is_pointer);\";function gi_type_tag_get_ffi_type(type_tag, is_pointer) bind(c)\r\ng;gi_type_tag_hash_pointer_from_argument;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gitypeinfo.h;\"void * gi_type_tag_hash_pointer_from_argument (GITypeTag storage_type, GIArgument *arg);\";function gi_type_tag_hash_pointer_from_argument(storage_type, arg) bind(c)\r\ng;gi_typelib_get_namespace;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gitypelib.h;\"const char * gi_typelib_get_namespace (GITypelib *typelib);\";function gi_typelib_get_namespace(typelib) bind(c)\r\ng;gi_typelib_get_type;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gitypelib.h;\"GType gi_typelib_get_type (void) ;\";function gi_typelib_get_type() bind(c)\r\ng;gi_typelib_new_from_bytes;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gitypelib.h;\"GITypelib * gi_typelib_new_from_bytes (GBytes *bytes, GError **error);\";function gi_typelib_new_from_bytes(bytes, error) bind(c)\r\ng;gi_typelib_ref;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gitypelib.h;\"GITypelib * gi_typelib_ref (GITypelib *typelib);\";function gi_typelib_ref(typelib) bind(c)\r\ng;gi_typelib_symbol;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gitypelib.h;\"gboolean gi_typelib_symbol (GITypelib *typelib, const char *symbol_name, void **symbol);\";function gi_typelib_symbol(typelib, symbol_name, symbol) bind(c)\r\ng;gi_typelib_unref;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/gitypelib.h;\"void gi_typelib_unref (GITypelib *typelib);\";subroutine gi_typelib_unref(typelib) bind(c)\r\ng;gi_union_info_find_method;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giunioninfo.h;\"GIFunctionInfo * gi_union_info_find_method (GIUnionInfo *info, const char *name);\";function gi_union_info_find_method(info, name) bind(c)\r\ng;gi_union_info_get_alignment;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giunioninfo.h;\"size_t gi_union_info_get_alignment (GIUnionInfo *info);\";function gi_union_info_get_alignment(info) bind(c)\r\ng;gi_union_info_get_copy_function_name;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giunioninfo.h;\"const char * gi_union_info_get_copy_function_name (GIUnionInfo *info);\";function gi_union_info_get_copy_function_name(info) bind(c)\r\ng;gi_union_info_get_discriminator;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giunioninfo.h;\"GIConstantInfo * gi_union_info_get_discriminator (GIUnionInfo *info, size_t n);\";function gi_union_info_get_discriminator(info, n) bind(c)\r\ng;gi_union_info_get_discriminator_offset;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giunioninfo.h;\"gboolean gi_union_info_get_discriminator_offset (GIUnionInfo *info, size_t *out_offset);\";function gi_union_info_get_discriminator_offset(info, out_offset) bind(c)\r\ng;gi_union_info_get_discriminator_type;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giunioninfo.h;\"GITypeInfo * gi_union_info_get_discriminator_type (GIUnionInfo *info);\";function gi_union_info_get_discriminator_type(info) bind(c)\r\ng;gi_union_info_get_field;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giunioninfo.h;\"GIFieldInfo * gi_union_info_get_field (GIUnionInfo *info, unsigned int n);\";function gi_union_info_get_field(info, n) bind(c)\r\ng;gi_union_info_get_free_function_name;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giunioninfo.h;\"const char * gi_union_info_get_free_function_name (GIUnionInfo *info);\";function gi_union_info_get_free_function_name(info) bind(c)\r\ng;gi_union_info_get_method;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giunioninfo.h;\"GIFunctionInfo * gi_union_info_get_method (GIUnionInfo *info, unsigned int n);\";function gi_union_info_get_method(info, n) bind(c)\r\ng;gi_union_info_get_n_fields;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giunioninfo.h;\"unsigned int gi_union_info_get_n_fields (GIUnionInfo *info);\";function gi_union_info_get_n_fields(info) bind(c)\r\ng;gi_union_info_get_n_methods;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giunioninfo.h;\"unsigned int gi_union_info_get_n_methods (GIUnionInfo *info);\";function gi_union_info_get_n_methods(info) bind(c)\r\ng;gi_union_info_get_size;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giunioninfo.h;\"size_t gi_union_info_get_size (GIUnionInfo *info);\";function gi_union_info_get_size(info) bind(c)\r\ng;gi_union_info_is_discriminated;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/giunioninfo.h;\"gboolean gi_union_info_is_discriminated (GIUnionInfo *info);\";function gi_union_info_is_discriminated(info) bind(c)\r\ng;gi_vfunc_info_get_address;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/givfuncinfo.h;\"void * gi_vfunc_info_get_address (GIVFuncInfo *info, GType implementor_gtype, GError **error);\";function gi_vfunc_info_get_address(info, implementor_gtype, error) bind(c)\r\ng;gi_vfunc_info_get_flags;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/givfuncinfo.h;\"GIVFuncInfoFlags gi_vfunc_info_get_flags (GIVFuncInfo *info);\";function gi_vfunc_info_get_flags(info) bind(c)\r\ng;gi_vfunc_info_get_invoker;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/givfuncinfo.h;\"GIFunctionInfo * gi_vfunc_info_get_invoker (GIVFuncInfo *info);\";function gi_vfunc_info_get_invoker(info) bind(c)\r\ng;gi_vfunc_info_get_offset;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/givfuncinfo.h;\"size_t gi_vfunc_info_get_offset (GIVFuncInfo *info);\";function gi_vfunc_info_get_offset(info) bind(c)\r\ng;gi_vfunc_info_get_signal;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/givfuncinfo.h;\"GISignalInfo * gi_vfunc_info_get_signal (GIVFuncInfo *info);\";function gi_vfunc_info_get_signal(info) bind(c)\r\ng;gi_vfunc_info_invoke;GI_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/girepository/givfuncinfo.h;\"gboolean gi_vfunc_info_invoke (GIVFuncInfo *info, GType implementor, const GIArgument *in_args, size_t n_in_args, GIArgument *out_args, size_t n_out_args, GIArgument *return_value, GError **error);\";function gi_vfunc_info_invoke(info, implementor, in_args, n_in_args, out_args, n_out_args, return_value, error) bind(c)\r\ng;glib_check_version;GLIB_AVAILABLE_IN_ALL;glib-auto.f90;/usr/include/glib-2.0/glib/gversion.h;\"const gchar * glib_check_version (guint required_major, guint required_minor, guint required_micro);\";function glib_check_version(required_major, required_minor, required_micro) bind(c)\r\ngdk;gdk_anchor_hints_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkenumtypes.h;\"GType gdk_anchor_hints_get_type (void);\";function gdk_anchor_hints_get_type() bind(c)\r\ngdk;gdk_app_launch_context_get_display;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkapplaunchcontext.h;\"GdkDisplay * gdk_app_launch_context_get_display (GdkAppLaunchContext *context);\";function gdk_app_launch_context_get_display(context) bind(c)\r\ngdk;gdk_app_launch_context_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkapplaunchcontext.h;\"GType gdk_app_launch_context_get_type (void);\";function gdk_app_launch_context_get_type() bind(c)\r\ngdk;gdk_app_launch_context_set_desktop;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkapplaunchcontext.h;\"void gdk_app_launch_context_set_desktop (GdkAppLaunchContext *context, int desktop);\";subroutine gdk_app_launch_context_set_desktop(context, desktop) bind(c)\r\ngdk;gdk_app_launch_context_set_icon;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkapplaunchcontext.h;\"void gdk_app_launch_context_set_icon (GdkAppLaunchContext *context, GIcon *icon);\";subroutine gdk_app_launch_context_set_icon(context, icon) bind(c)\r\ngdk;gdk_app_launch_context_set_icon_name;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkapplaunchcontext.h;\"void gdk_app_launch_context_set_icon_name (GdkAppLaunchContext *context, const char *icon_name);\";subroutine gdk_app_launch_context_set_icon_name(context, icon_name) bind(c)\r\ngdk;gdk_app_launch_context_set_timestamp;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkapplaunchcontext.h;\"void gdk_app_launch_context_set_timestamp (GdkAppLaunchContext *context, guint32 timestamp);\";subroutine gdk_app_launch_context_set_timestamp(context, timestamp) bind(c)\r\ngdk;gdk_axis_flags_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkenumtypes.h;\"GType gdk_axis_flags_get_type (void);\";function gdk_axis_flags_get_type() bind(c)\r\ngdk;gdk_axis_use_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkenumtypes.h;\"GType gdk_axis_use_get_type (void);\";function gdk_axis_use_get_type() bind(c)\r\ngdk;gdk_broadway_cursor_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/broadway/gdkbroadwaycursor.h;\"GType gdk_broadway_cursor_get_type (void);\";function gdk_broadway_cursor_get_type() bind(c)\r\ngdk;gdk_broadway_display_get_surface_scale;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/broadway/gdkbroadwaydisplay.h;\"int gdk_broadway_display_get_surface_scale (GdkDisplay *display);\";function gdk_broadway_display_get_surface_scale(display) bind(c)\r\ngdk;gdk_broadway_display_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/broadway/gdkbroadwaydisplay.h;\"GType gdk_broadway_display_get_type (void);\";function gdk_broadway_display_get_type() bind(c)\r\ngdk;gdk_broadway_display_hide_keyboard;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/broadway/gdkbroadwaydisplay.h;\"void gdk_broadway_display_hide_keyboard (GdkBroadwayDisplay *display);\";subroutine gdk_broadway_display_hide_keyboard(display) bind(c)\r\ngdk;gdk_broadway_display_set_surface_scale;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/broadway/gdkbroadwaydisplay.h;\"void gdk_broadway_display_set_surface_scale (GdkDisplay *display, int scale);\";subroutine gdk_broadway_display_set_surface_scale(display, scale) bind(c)\r\ngdk;gdk_broadway_display_show_keyboard;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/broadway/gdkbroadwaydisplay.h;\"void gdk_broadway_display_show_keyboard (GdkBroadwayDisplay *display);\";subroutine gdk_broadway_display_show_keyboard(display) bind(c)\r\ngdk;gdk_broadway_monitor_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/broadway/gdkbroadwaymonitor.h;\"GType gdk_broadway_monitor_get_type (void) ;\";function gdk_broadway_monitor_get_type() bind(c)\r\ngdk;gdk_broadway_surface_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/broadway/gdkbroadwaysurface.h;\"GType gdk_broadway_surface_get_type (void);\";function gdk_broadway_surface_get_type() bind(c)\r\ngdk;gdk_button_event_get_button;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"guint gdk_button_event_get_button (GdkEvent *event);\";function gdk_button_event_get_button(event) bind(c)\r\ngdk;gdk_button_event_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"GType gdk_button_event_get_type (void) ;\";function gdk_button_event_get_type() bind(c)\r\ngdk;gdk_cairo_context_cairo_create;GDK_DEPRECATED_IN_4_18_FOR(gsk_cairo_node_get_draw_context);gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcairocontext.h;\"cairo_t * gdk_cairo_context_cairo_create (GdkCairoContext *self);\";function gdk_cairo_context_cairo_create(self) bind(c)\r\ngdk;gdk_cairo_context_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcairocontext.h;\"GType gdk_cairo_context_get_type (void) ;\";function gdk_cairo_context_get_type() bind(c)\r\ngdk;gdk_cairo_draw_from_gl;GDK_DEPRECATED_IN_4_6_FOR(gdk_gl_texture_new);gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcairo.h;\"void gdk_cairo_draw_from_gl (cairo_t *cr, GdkSurface *surface, int source, int source_type, int buffer_scale, int x, int y, int width, int height);\";subroutine gdk_cairo_draw_from_gl(cr, surface, source, source_type, buffer_scale, x, y, width, height) bind(c)\r\ngdk;gdk_cairo_rectangle;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcairo.h;\"void gdk_cairo_rectangle (cairo_t *cr, const GdkRectangle *rectangle);\";subroutine gdk_cairo_rectangle(cr, rectangle) bind(c)\r\ngdk;gdk_cairo_region;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcairo.h;\"void gdk_cairo_region (cairo_t *cr, const cairo_region_t *region);\";subroutine gdk_cairo_region(cr, region) bind(c)\r\ngdk;gdk_cairo_region_create_from_surface;;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcairo.h;\"cairo_region_t * gdk_cairo_region_create_from_surface (cairo_surface_t *surface);\";function gdk_cairo_region_create_from_surface(surface) bind(c)\r\ngdk;gdk_cairo_set_source_pixbuf;GDK_DEPRECATED_IN_4_20;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcairo.h;\"void gdk_cairo_set_source_pixbuf (cairo_t *cr, const GdkPixbuf *pixbuf, double pixbuf_x, double pixbuf_y);\";subroutine gdk_cairo_set_source_pixbuf(cr, pixbuf, pixbuf_x, pixbuf_y) bind(c)\r\ngdk;gdk_cairo_set_source_rgba;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcairo.h;\"void gdk_cairo_set_source_rgba (cairo_t *cr, const GdkRGBA *rgba);\";subroutine gdk_cairo_set_source_rgba(cr, rgba) bind(c)\r\ngdk;gdk_cicp_params_build_color_state;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcicpparams.h;\"GdkColorState * gdk_cicp_params_build_color_state (GdkCicpParams *self, GError **error);\";function gdk_cicp_params_build_color_state(self, error) bind(c)\r\ngdk;gdk_cicp_params_get_color_primaries;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcicpparams.h;\"guint gdk_cicp_params_get_color_primaries (GdkCicpParams *self);\";function gdk_cicp_params_get_color_primaries(self) bind(c)\r\ngdk;gdk_cicp_params_get_matrix_coefficients;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcicpparams.h;\"guint gdk_cicp_params_get_matrix_coefficients (GdkCicpParams *self);\";function gdk_cicp_params_get_matrix_coefficients(self) bind(c)\r\ngdk;gdk_cicp_params_get_range;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcicpparams.h;\"GdkCicpRange gdk_cicp_params_get_range (GdkCicpParams *self);\";function gdk_cicp_params_get_range(self) bind(c)\r\ngdk;gdk_cicp_params_get_transfer_function;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcicpparams.h;\"guint gdk_cicp_params_get_transfer_function (GdkCicpParams *self);\";function gdk_cicp_params_get_transfer_function(self) bind(c)\r\ngdk;gdk_cicp_params_new;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcicpparams.h;\"GdkCicpParams *gdk_cicp_params_new (void);\";function gdk_cicp_params_new() bind(c)\r\ngdk;gdk_cicp_params_set_color_primaries;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcicpparams.h;\"void gdk_cicp_params_set_color_primaries (GdkCicpParams *self, guint color_primaries);\";subroutine gdk_cicp_params_set_color_primaries(self, color_primaries) bind(c)\r\ngdk;gdk_cicp_params_set_matrix_coefficients;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcicpparams.h;\"void gdk_cicp_params_set_matrix_coefficients (GdkCicpParams *self, guint matrix_coefficients);\";subroutine gdk_cicp_params_set_matrix_coefficients(self, matrix_coefficients) bind(c)\r\ngdk;gdk_cicp_params_set_range;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcicpparams.h;\"void gdk_cicp_params_set_range (GdkCicpParams *self, GdkCicpRange range);\";subroutine gdk_cicp_params_set_range(self, range) bind(c)\r\ngdk;gdk_cicp_params_set_transfer_function;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcicpparams.h;\"void gdk_cicp_params_set_transfer_function (GdkCicpParams *self, guint transfer_function);\";subroutine gdk_cicp_params_set_transfer_function(self, transfer_function) bind(c)\r\ngdk;gdk_cicp_range_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkenumtypes.h;\"GType gdk_cicp_range_get_type (void);\";function gdk_cicp_range_get_type() bind(c)\r\ngdk;gdk_clipboard_get_content;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkclipboard.h;\"GdkContentProvider * gdk_clipboard_get_content (GdkClipboard *clipboard);\";function gdk_clipboard_get_content(clipboard) bind(c)\r\ngdk;gdk_clipboard_get_display;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkclipboard.h;\"GdkDisplay * gdk_clipboard_get_display (GdkClipboard *clipboard);\";function gdk_clipboard_get_display(clipboard) bind(c)\r\ngdk;gdk_clipboard_get_formats;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkclipboard.h;\"GdkContentFormats * gdk_clipboard_get_formats (GdkClipboard *clipboard);\";function gdk_clipboard_get_formats(clipboard) bind(c)\r\ngdk;gdk_clipboard_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkclipboard.h;\"GType gdk_clipboard_get_type (void) ;\";function gdk_clipboard_get_type() bind(c)\r\ngdk;gdk_clipboard_is_local;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkclipboard.h;\"gboolean gdk_clipboard_is_local (GdkClipboard *clipboard);\";function gdk_clipboard_is_local(clipboard) bind(c)\r\ngdk;gdk_clipboard_read_async;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkclipboard.h;\"void gdk_clipboard_read_async (GdkClipboard *clipboard, const char **mime_types, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine gdk_clipboard_read_async(clipboard, mime_types, io_priority, cancellable, callback, user_data) bind(c)\r\ngdk;gdk_clipboard_read_finish;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkclipboard.h;\"GInputStream * gdk_clipboard_read_finish (GdkClipboard *clipboard, GAsyncResult *result, const char **out_mime_type, GError **error);\";function gdk_clipboard_read_finish(clipboard, result, out_mime_type, error) bind(c)\r\ngdk;gdk_clipboard_read_text_async;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkclipboard.h;\"void gdk_clipboard_read_text_async (GdkClipboard *clipboard, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine gdk_clipboard_read_text_async(clipboard, cancellable, callback, user_data) bind(c)\r\ngdk;gdk_clipboard_read_text_finish;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkclipboard.h;\"char * gdk_clipboard_read_text_finish (GdkClipboard *clipboard, GAsyncResult *result, GError **error);\";function gdk_clipboard_read_text_finish(clipboard, result, error) bind(c)\r\ngdk;gdk_clipboard_read_texture_async;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkclipboard.h;\"void gdk_clipboard_read_texture_async (GdkClipboard *clipboard, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine gdk_clipboard_read_texture_async(clipboard, cancellable, callback, user_data) bind(c)\r\ngdk;gdk_clipboard_read_texture_finish;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkclipboard.h;\"GdkTexture * gdk_clipboard_read_texture_finish (GdkClipboard *clipboard, GAsyncResult *result, GError **error);\";function gdk_clipboard_read_texture_finish(clipboard, result, error) bind(c)\r\ngdk;gdk_clipboard_read_value_async;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkclipboard.h;\"void gdk_clipboard_read_value_async (GdkClipboard *clipboard, GType type, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine gdk_clipboard_read_value_async(clipboard, type, io_priority, cancellable, callback, user_data) bind(c)\r\ngdk;gdk_clipboard_read_value_finish;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkclipboard.h;\"const GValue * gdk_clipboard_read_value_finish (GdkClipboard *clipboard, GAsyncResult *result, GError **error);\";function gdk_clipboard_read_value_finish(clipboard, result, error) bind(c)\r\ngdk;gdk_clipboard_set_content;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkclipboard.h;\"gboolean gdk_clipboard_set_content (GdkClipboard *clipboard, GdkContentProvider *provider);\";function gdk_clipboard_set_content(clipboard, provider) bind(c)\r\ngdk;gdk_clipboard_set_text;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkclipboard.h;\"void gdk_clipboard_set_text (GdkClipboard *clipboard, const char *text);\";subroutine gdk_clipboard_set_text(clipboard, text) bind(c)\r\ngdk;gdk_clipboard_set_texture;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkclipboard.h;\"void gdk_clipboard_set_texture (GdkClipboard *clipboard, GdkTexture *texture);\";subroutine gdk_clipboard_set_texture(clipboard, texture) bind(c)\r\ngdk;gdk_clipboard_set_valist;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkclipboard.h;\"void gdk_clipboard_set_valist (GdkClipboard *clipboard, GType type, va_list args);\";subroutine gdk_clipboard_set_valist(clipboard, type, args) bind(c)\r\ngdk;gdk_clipboard_set_value;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkclipboard.h;\"void gdk_clipboard_set_value (GdkClipboard *clipboard, const GValue *value);\";subroutine gdk_clipboard_set_value(clipboard, value) bind(c)\r\ngdk;gdk_clipboard_store_async;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkclipboard.h;\"void gdk_clipboard_store_async (GdkClipboard *clipboard, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine gdk_clipboard_store_async(clipboard, io_priority, cancellable, callback, user_data) bind(c)\r\ngdk;gdk_clipboard_store_finish;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkclipboard.h;\"gboolean gdk_clipboard_store_finish (GdkClipboard *clipboard, GAsyncResult *result, GError **error);\";function gdk_clipboard_store_finish(clipboard, result, error) bind(c)\r\ngdk;gdk_color_state_create_cicp_params;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcolorstate.h;\"GdkCicpParams *gdk_color_state_create_cicp_params (GdkColorState *self);\";function gdk_color_state_create_cicp_params(self) bind(c)\r\ngdk;gdk_color_state_equal;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcolorstate.h;\"gboolean gdk_color_state_equal (GdkColorState *self, GdkColorState *other);\";function gdk_color_state_equal(self, other) bind(c)\r\ngdk;gdk_color_state_equivalent;GDK_AVAILABLE_IN_4_20;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcolorstate.h;\"gboolean gdk_color_state_equivalent (GdkColorState *self, GdkColorState *other);\";function gdk_color_state_equivalent(self, other) bind(c)\r\ngdk;gdk_color_state_get_oklab;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcolorstate.h;\"GdkColorState * gdk_color_state_get_oklab (void);\";function gdk_color_state_get_oklab() bind(c)\r\ngdk;gdk_color_state_get_oklch;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcolorstate.h;\"GdkColorState * gdk_color_state_get_oklch (void);\";function gdk_color_state_get_oklch() bind(c)\r\ngdk;gdk_color_state_get_rec2100_linear;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcolorstate.h;\"GdkColorState * gdk_color_state_get_rec2100_linear (void);\";function gdk_color_state_get_rec2100_linear() bind(c)\r\ngdk;gdk_color_state_get_rec2100_pq;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcolorstate.h;\"GdkColorState * gdk_color_state_get_rec2100_pq (void);\";function gdk_color_state_get_rec2100_pq() bind(c)\r\ngdk;gdk_color_state_get_srgb;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcolorstate.h;\"GdkColorState * gdk_color_state_get_srgb (void);\";function gdk_color_state_get_srgb() bind(c)\r\ngdk;gdk_color_state_get_srgb_linear;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcolorstate.h;\"GdkColorState * gdk_color_state_get_srgb_linear (void);\";function gdk_color_state_get_srgb_linear() bind(c)\r\ngdk;gdk_color_state_get_type;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcolorstate.h;\"GType gdk_color_state_get_type (void) ;\";function gdk_color_state_get_type() bind(c)\r\ngdk;gdk_color_state_ref;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcolorstate.h;\"GdkColorState * gdk_color_state_ref (GdkColorState *self);\";function gdk_color_state_ref(self) bind(c)\r\ngdk;gdk_color_state_unref;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcolorstate.h;\"void gdk_color_state_unref (GdkColorState *self);\";subroutine gdk_color_state_unref(self) bind(c)\r\ngdk;gdk_content_deserialize_async;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentdeserializer.h;\"void gdk_content_deserialize_async (GInputStream *stream, const char *mime_type, GType type, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine gdk_content_deserialize_async(stream, mime_type, type, io_priority, cancellable, callback, user_data) bind(c)\r\ngdk;gdk_content_deserialize_finish;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentdeserializer.h;\"gboolean gdk_content_deserialize_finish (GAsyncResult *result, GValue *value, GError **error);\";function gdk_content_deserialize_finish(result, value, error) bind(c)\r\ngdk;gdk_content_deserializer_get_cancellable;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentdeserializer.h;\"GCancellable * gdk_content_deserializer_get_cancellable (GdkContentDeserializer *deserializer);\";function gdk_content_deserializer_get_cancellable(deserializer) bind(c)\r\ngdk;gdk_content_deserializer_get_gtype;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentdeserializer.h;\"GType gdk_content_deserializer_get_gtype (GdkContentDeserializer *deserializer);\";function gdk_content_deserializer_get_gtype(deserializer) bind(c)\r\ngdk;gdk_content_deserializer_get_input_stream;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentdeserializer.h;\"GInputStream * gdk_content_deserializer_get_input_stream (GdkContentDeserializer *deserializer);\";function gdk_content_deserializer_get_input_stream(deserializer) bind(c)\r\ngdk;gdk_content_deserializer_get_mime_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentdeserializer.h;\"const char * gdk_content_deserializer_get_mime_type (GdkContentDeserializer *deserializer);\";function gdk_content_deserializer_get_mime_type(deserializer) bind(c)\r\ngdk;gdk_content_deserializer_get_priority;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentdeserializer.h;\"int gdk_content_deserializer_get_priority (GdkContentDeserializer *deserializer);\";function gdk_content_deserializer_get_priority(deserializer) bind(c)\r\ngdk;gdk_content_deserializer_get_task_data;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentdeserializer.h;\"gpointer gdk_content_deserializer_get_task_data (GdkContentDeserializer *deserializer);\";function gdk_content_deserializer_get_task_data(deserializer) bind(c)\r\ngdk;gdk_content_deserializer_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentdeserializer.h;\"GType gdk_content_deserializer_get_type (void) ;\";function gdk_content_deserializer_get_type() bind(c)\r\ngdk;gdk_content_deserializer_get_user_data;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentdeserializer.h;\"gpointer gdk_content_deserializer_get_user_data (GdkContentDeserializer *deserializer);\";function gdk_content_deserializer_get_user_data(deserializer) bind(c)\r\ngdk;gdk_content_deserializer_get_value;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentdeserializer.h;\"GValue * gdk_content_deserializer_get_value (GdkContentDeserializer *deserializer);\";function gdk_content_deserializer_get_value(deserializer) bind(c)\r\ngdk;gdk_content_deserializer_return_error;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentdeserializer.h;\"void gdk_content_deserializer_return_error (GdkContentDeserializer *deserializer, GError *error);\";subroutine gdk_content_deserializer_return_error(deserializer, error) bind(c)\r\ngdk;gdk_content_deserializer_return_success;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentdeserializer.h;\"void gdk_content_deserializer_return_success (GdkContentDeserializer *deserializer);\";subroutine gdk_content_deserializer_return_success(deserializer) bind(c)\r\ngdk;gdk_content_deserializer_set_task_data;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentdeserializer.h;\"void gdk_content_deserializer_set_task_data (GdkContentDeserializer *deserializer, gpointer data, GDestroyNotify notify);\";subroutine gdk_content_deserializer_set_task_data(deserializer, data, notify) bind(c)\r\ngdk;gdk_content_formats_builder_add_formats;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentformats.h;\"void gdk_content_formats_builder_add_formats (GdkContentFormatsBuilder *builder, const GdkContentFormats *formats);\";subroutine gdk_content_formats_builder_add_formats(builder, formats) bind(c)\r\ngdk;gdk_content_formats_builder_add_gtype;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentformats.h;\"void gdk_content_formats_builder_add_gtype (GdkContentFormatsBuilder *builder, GType type);\";subroutine gdk_content_formats_builder_add_gtype(builder, type) bind(c)\r\ngdk;gdk_content_formats_builder_add_mime_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentformats.h;\"void gdk_content_formats_builder_add_mime_type(GdkContentFormatsBuilder *builder, const char *mime_type);\";subroutine gdk_content_formats_builder_add_mime_type(builder, mime_type) bind(c)\r\ngdk;gdk_content_formats_builder_free_to_formats;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentformats.h;\"GdkContentFormats * gdk_content_formats_builder_free_to_formats (GdkContentFormatsBuilder *builder) ;\";function gdk_content_formats_builder_free_to_formats(builder) bind(c)\r\ngdk;gdk_content_formats_builder_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentformats.h;\"GType gdk_content_formats_builder_get_type (void) ;\";function gdk_content_formats_builder_get_type() bind(c)\r\ngdk;gdk_content_formats_builder_new;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentformats.h;\"GdkContentFormatsBuilder *gdk_content_formats_builder_new (void);\";function gdk_content_formats_builder_new() bind(c)\r\ngdk;gdk_content_formats_builder_ref;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentformats.h;\"GdkContentFormatsBuilder *gdk_content_formats_builder_ref (GdkContentFormatsBuilder *builder);\";function gdk_content_formats_builder_ref(builder) bind(c)\r\ngdk;gdk_content_formats_builder_to_formats;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentformats.h;\"GdkContentFormats * gdk_content_formats_builder_to_formats (GdkContentFormatsBuilder *builder) ;\";function gdk_content_formats_builder_to_formats(builder) bind(c)\r\ngdk;gdk_content_formats_builder_unref;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentformats.h;\"void gdk_content_formats_builder_unref (GdkContentFormatsBuilder *builder);\";subroutine gdk_content_formats_builder_unref(builder) bind(c)\r\ngdk;gdk_content_formats_contain_gtype;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentformats.h;\"gboolean gdk_content_formats_contain_gtype (const GdkContentFormats *formats, GType type);\";function gdk_content_formats_contain_gtype(formats, type) bind(c)\r\ngdk;gdk_content_formats_contain_mime_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentformats.h;\"gboolean gdk_content_formats_contain_mime_type (const GdkContentFormats *formats, const char *mime_type);\";function gdk_content_formats_contain_mime_type(formats, mime_type) bind(c)\r\ngdk;gdk_content_formats_get_gtypes;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentformats.h;\"const GType * gdk_content_formats_get_gtypes (const GdkContentFormats *formats, gsize *n_gtypes);\";function gdk_content_formats_get_gtypes(formats, n_gtypes) bind(c)\r\ngdk;gdk_content_formats_get_mime_types;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentformats.h;\"const char * const * gdk_content_formats_get_mime_types (const GdkContentFormats *formats, gsize *n_mime_types);\";function gdk_content_formats_get_mime_types(formats, n_mime_types) bind(c)\r\ngdk;gdk_content_formats_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentformats.h;\"GType gdk_content_formats_get_type (void) ;\";function gdk_content_formats_get_type() bind(c)\r\ngdk;gdk_content_formats_is_empty;GDK_AVAILABLE_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentformats.h;\"gboolean gdk_content_formats_is_empty (GdkContentFormats *formats);\";function gdk_content_formats_is_empty(formats) bind(c)\r\ngdk;gdk_content_formats_match;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentformats.h;\"gboolean gdk_content_formats_match (const GdkContentFormats *first, const GdkContentFormats *second);\";function gdk_content_formats_match(first, second) bind(c)\r\ngdk;gdk_content_formats_match_gtype;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentformats.h;\"GType gdk_content_formats_match_gtype (const GdkContentFormats *first, const GdkContentFormats *second);\";function gdk_content_formats_match_gtype(first, second) bind(c)\r\ngdk;gdk_content_formats_match_mime_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentformats.h;\"const char * gdk_content_formats_match_mime_type (const GdkContentFormats *first, const GdkContentFormats *second);\";function gdk_content_formats_match_mime_type(first, second) bind(c)\r\ngdk;gdk_content_formats_new;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentformats.h;\"GdkContentFormats * gdk_content_formats_new (const char **mime_types, guint n_mime_types);\";function gdk_content_formats_new(mime_types, n_mime_types) bind(c)\r\ngdk;gdk_content_formats_new_for_gtype;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentformats.h;\"GdkContentFormats * gdk_content_formats_new_for_gtype (GType type);\";function gdk_content_formats_new_for_gtype(type) bind(c)\r\ngdk;gdk_content_formats_parse;GDK_AVAILABLE_IN_4_4;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentformats.h;\"GdkContentFormats * gdk_content_formats_parse (const char *string);\";function gdk_content_formats_parse(string) bind(c)\r\ngdk;gdk_content_formats_print;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentformats.h;\"void gdk_content_formats_print (GdkContentFormats *formats, GString *string);\";subroutine gdk_content_formats_print(formats, string) bind(c)\r\ngdk;gdk_content_formats_ref;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentformats.h;\"GdkContentFormats * gdk_content_formats_ref (GdkContentFormats *formats);\";function gdk_content_formats_ref(formats) bind(c)\r\ngdk;gdk_content_formats_to_string;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentformats.h;\"char * gdk_content_formats_to_string (GdkContentFormats *formats);\";function gdk_content_formats_to_string(formats) bind(c)\r\ngdk;gdk_content_formats_union;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentformats.h;\"GdkContentFormats * gdk_content_formats_union (GdkContentFormats *first, const GdkContentFormats *second) ;\";function gdk_content_formats_union(first, second) bind(c)\r\ngdk;gdk_content_formats_union_deserialize_gtypes;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentdeserializer.h;\"GdkContentFormats * gdk_content_formats_union_deserialize_gtypes (GdkContentFormats *formats);\";function gdk_content_formats_union_deserialize_gtypes(formats) bind(c)\r\ngdk;gdk_content_formats_union_deserialize_mime_types;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentdeserializer.h;\"GdkContentFormats * gdk_content_formats_union_deserialize_mime_types(GdkContentFormats *formats);\";function gdk_content_formats_union_deserialize_mime_types(formats) bind(c)\r\ngdk;gdk_content_formats_union_serialize_gtypes;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentserializer.h;\"GdkContentFormats * gdk_content_formats_union_serialize_gtypes (GdkContentFormats *formats);\";function gdk_content_formats_union_serialize_gtypes(formats) bind(c)\r\ngdk;gdk_content_formats_union_serialize_mime_types;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentserializer.h;\"GdkContentFormats * gdk_content_formats_union_serialize_mime_types (GdkContentFormats *formats);\";function gdk_content_formats_union_serialize_mime_types(formats) bind(c)\r\ngdk;gdk_content_formats_unref;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentformats.h;\"void gdk_content_formats_unref (GdkContentFormats *formats);\";subroutine gdk_content_formats_unref(formats) bind(c)\r\ngdk;gdk_content_provider_content_changed;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentprovider.h;\"void gdk_content_provider_content_changed (GdkContentProvider *provider);\";subroutine gdk_content_provider_content_changed(provider) bind(c)\r\ngdk;gdk_content_provider_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentprovider.h;\"GType gdk_content_provider_get_type (void) ;\";function gdk_content_provider_get_type() bind(c)\r\ngdk;gdk_content_provider_get_value;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentprovider.h;\"gboolean gdk_content_provider_get_value (GdkContentProvider *provider, GValue *value, GError **error);\";function gdk_content_provider_get_value(provider, value, error) bind(c)\r\ngdk;gdk_content_provider_new_for_bytes;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentproviderimpl.h;\"GdkContentProvider * gdk_content_provider_new_for_bytes (const char *mime_type, GBytes *bytes);\";function gdk_content_provider_new_for_bytes(mime_type, bytes) bind(c)\r\ngdk;gdk_content_provider_new_for_value;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentproviderimpl.h;\"GdkContentProvider * gdk_content_provider_new_for_value (const GValue *value);\";function gdk_content_provider_new_for_value(value) bind(c)\r\ngdk;gdk_content_provider_new_union;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentproviderimpl.h;\"GdkContentProvider * gdk_content_provider_new_union (GdkContentProvider **providers, gsize n_providers);\";function gdk_content_provider_new_union(providers, n_providers) bind(c)\r\ngdk;gdk_content_provider_ref_formats;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentprovider.h;\"GdkContentFormats * gdk_content_provider_ref_formats (GdkContentProvider *provider);\";function gdk_content_provider_ref_formats(provider) bind(c)\r\ngdk;gdk_content_provider_ref_storable_formats;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentprovider.h;\"GdkContentFormats * gdk_content_provider_ref_storable_formats (GdkContentProvider *provider);\";function gdk_content_provider_ref_storable_formats(provider) bind(c)\r\ngdk;gdk_content_provider_write_mime_type_async;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentprovider.h;\"void gdk_content_provider_write_mime_type_async (GdkContentProvider *provider, const char *mime_type, GOutputStream *stream, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine gdk_content_provider_write_mime_type_async(provider, mime_type, stream, io_priority, cancellable, callback, user_data) bind(c)\r\ngdk;gdk_content_provider_write_mime_type_finish;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentprovider.h;\"gboolean gdk_content_provider_write_mime_type_finish (GdkContentProvider *provider, GAsyncResult *result, GError **error);\";function gdk_content_provider_write_mime_type_finish(provider, result, error) bind(c)\r\ngdk;gdk_content_register_deserializer;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentdeserializer.h;\"void gdk_content_register_deserializer (const char *mime_type, GType type, GdkContentDeserializeFunc deserialize, gpointer data, GDestroyNotify notify);\";subroutine gdk_content_register_deserializer(mime_type, type, deserialize, data, notify) bind(c)\r\ngdk;gdk_content_register_serializer;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentserializer.h;\"void gdk_content_register_serializer (GType type, const char *mime_type, GdkContentSerializeFunc serialize, gpointer data, GDestroyNotify notify);\";subroutine gdk_content_register_serializer(type, mime_type, serialize, data, notify) bind(c)\r\ngdk;gdk_content_serialize_async;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentserializer.h;\"void gdk_content_serialize_async (GOutputStream *stream, const char *mime_type, const GValue *value, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine gdk_content_serialize_async(stream, mime_type, value, io_priority, cancellable, callback, user_data) bind(c)\r\ngdk;gdk_content_serialize_finish;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentserializer.h;\"gboolean gdk_content_serialize_finish (GAsyncResult *result, GError **error);\";function gdk_content_serialize_finish(result, error) bind(c)\r\ngdk;gdk_content_serializer_get_cancellable;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentserializer.h;\"GCancellable * gdk_content_serializer_get_cancellable (GdkContentSerializer *serializer);\";function gdk_content_serializer_get_cancellable(serializer) bind(c)\r\ngdk;gdk_content_serializer_get_gtype;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentserializer.h;\"GType gdk_content_serializer_get_gtype (GdkContentSerializer *serializer);\";function gdk_content_serializer_get_gtype(serializer) bind(c)\r\ngdk;gdk_content_serializer_get_mime_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentserializer.h;\"const char * gdk_content_serializer_get_mime_type (GdkContentSerializer *serializer);\";function gdk_content_serializer_get_mime_type(serializer) bind(c)\r\ngdk;gdk_content_serializer_get_output_stream;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentserializer.h;\"GOutputStream * gdk_content_serializer_get_output_stream (GdkContentSerializer *serializer);\";function gdk_content_serializer_get_output_stream(serializer) bind(c)\r\ngdk;gdk_content_serializer_get_priority;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentserializer.h;\"int gdk_content_serializer_get_priority (GdkContentSerializer *serializer);\";function gdk_content_serializer_get_priority(serializer) bind(c)\r\ngdk;gdk_content_serializer_get_task_data;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentserializer.h;\"gpointer gdk_content_serializer_get_task_data (GdkContentSerializer *serializer);\";function gdk_content_serializer_get_task_data(serializer) bind(c)\r\ngdk;gdk_content_serializer_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentserializer.h;\"GType gdk_content_serializer_get_type (void) ;\";function gdk_content_serializer_get_type() bind(c)\r\ngdk;gdk_content_serializer_get_user_data;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentserializer.h;\"gpointer gdk_content_serializer_get_user_data (GdkContentSerializer *serializer);\";function gdk_content_serializer_get_user_data(serializer) bind(c)\r\ngdk;gdk_content_serializer_get_value;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentserializer.h;\"const GValue * gdk_content_serializer_get_value (GdkContentSerializer *serializer);\";function gdk_content_serializer_get_value(serializer) bind(c)\r\ngdk;gdk_content_serializer_return_error;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentserializer.h;\"void gdk_content_serializer_return_error (GdkContentSerializer *serializer, GError *error);\";subroutine gdk_content_serializer_return_error(serializer, error) bind(c)\r\ngdk;gdk_content_serializer_return_success;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentserializer.h;\"void gdk_content_serializer_return_success (GdkContentSerializer *serializer);\";subroutine gdk_content_serializer_return_success(serializer) bind(c)\r\ngdk;gdk_content_serializer_set_task_data;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentserializer.h;\"void gdk_content_serializer_set_task_data (GdkContentSerializer *serializer, gpointer data, GDestroyNotify notify);\";subroutine gdk_content_serializer_set_task_data(serializer, data, notify) bind(c)\r\ngdk;gdk_crossing_event_get_detail;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"GdkNotifyType gdk_crossing_event_get_detail (GdkEvent *event);\";function gdk_crossing_event_get_detail(event) bind(c)\r\ngdk;gdk_crossing_event_get_focus;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"gboolean gdk_crossing_event_get_focus (GdkEvent *event);\";function gdk_crossing_event_get_focus(event) bind(c)\r\ngdk;gdk_crossing_event_get_mode;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"GdkCrossingMode gdk_crossing_event_get_mode (GdkEvent *event);\";function gdk_crossing_event_get_mode(event) bind(c)\r\ngdk;gdk_crossing_event_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"GType gdk_crossing_event_get_type (void) ;\";function gdk_crossing_event_get_type() bind(c)\r\ngdk;gdk_crossing_mode_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkenumtypes.h;\"GType gdk_crossing_mode_get_type (void);\";function gdk_crossing_mode_get_type() bind(c)\r\ngdk;gdk_cursor_get_fallback;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcursor.h;\"GdkCursor * gdk_cursor_get_fallback (GdkCursor *cursor);\";function gdk_cursor_get_fallback(cursor) bind(c)\r\ngdk;gdk_cursor_get_hotspot_x;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcursor.h;\"int gdk_cursor_get_hotspot_x (GdkCursor *cursor);\";function gdk_cursor_get_hotspot_x(cursor) bind(c)\r\ngdk;gdk_cursor_get_hotspot_y;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcursor.h;\"int gdk_cursor_get_hotspot_y (GdkCursor *cursor);\";function gdk_cursor_get_hotspot_y(cursor) bind(c)\r\ngdk;gdk_cursor_get_name;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcursor.h;\"const char *gdk_cursor_get_name (GdkCursor *cursor);\";function gdk_cursor_get_name(cursor) bind(c)\r\ngdk;gdk_cursor_get_texture;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcursor.h;\"GdkTexture *gdk_cursor_get_texture (GdkCursor *cursor);\";function gdk_cursor_get_texture(cursor) bind(c)\r\ngdk;gdk_cursor_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcursor.h;\"GType gdk_cursor_get_type (void) ;\";function gdk_cursor_get_type() bind(c)\r\ngdk;gdk_cursor_new_from_callback;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcursor.h;\"GdkCursor * gdk_cursor_new_from_callback (GdkCursorGetTextureCallback callback, gpointer data, GDestroyNotify destroy, GdkCursor *fallback);\";function gdk_cursor_new_from_callback(callback, data, destroy, fallback) bind(c)\r\ngdk;gdk_cursor_new_from_name;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcursor.h;\"GdkCursor* gdk_cursor_new_from_name (const char *name, GdkCursor *fallback);\";function gdk_cursor_new_from_name(name, fallback) bind(c)\r\ngdk;gdk_cursor_new_from_texture;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcursor.h;\"GdkCursor* gdk_cursor_new_from_texture (GdkTexture *texture, int hotspot_x, int hotspot_y, GdkCursor *fallback);\";function gdk_cursor_new_from_texture(texture, hotspot_x, hotspot_y, fallback) bind(c)\r\ngdk;gdk_delete_event_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"GType gdk_delete_event_get_type (void) ;\";function gdk_delete_event_get_type() bind(c)\r\ngdk;gdk_device_get_active_layout_index;GDK_AVAILABLE_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdevice.h;\"gint gdk_device_get_active_layout_index (GdkDevice *device);\";function gdk_device_get_active_layout_index(device) bind(c)\r\ngdk;gdk_device_get_caps_lock_state;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdevice.h;\"gboolean gdk_device_get_caps_lock_state (GdkDevice *device);\";function gdk_device_get_caps_lock_state(device) bind(c)\r\ngdk;gdk_device_get_device_tool;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdevice.h;\"GdkDeviceTool * gdk_device_get_device_tool (GdkDevice *device);\";function gdk_device_get_device_tool(device) bind(c)\r\ngdk;gdk_device_get_direction;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdevice.h;\"PangoDirection gdk_device_get_direction (GdkDevice *device);\";function gdk_device_get_direction(device) bind(c)\r\ngdk;gdk_device_get_display;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdevice.h;\"GdkDisplay * gdk_device_get_display (GdkDevice *device);\";function gdk_device_get_display(device) bind(c)\r\ngdk;gdk_device_get_has_cursor;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdevice.h;\"gboolean gdk_device_get_has_cursor (GdkDevice *device);\";function gdk_device_get_has_cursor(device) bind(c)\r\ngdk;gdk_device_get_layout_names;GDK_AVAILABLE_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdevice.h;\"gchar ** gdk_device_get_layout_names (GdkDevice *device);\";function gdk_device_get_layout_names(device) bind(c)\r\ngdk;gdk_device_get_modifier_state;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdevice.h;\"GdkModifierType gdk_device_get_modifier_state (GdkDevice *device);\";function gdk_device_get_modifier_state(device) bind(c)\r\ngdk;gdk_device_get_name;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdevice.h;\"const char * gdk_device_get_name (GdkDevice *device);\";function gdk_device_get_name(device) bind(c)\r\ngdk;gdk_device_get_num_lock_state;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdevice.h;\"gboolean gdk_device_get_num_lock_state (GdkDevice *device);\";function gdk_device_get_num_lock_state(device) bind(c)\r\ngdk;gdk_device_get_num_touches;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdevice.h;\"guint gdk_device_get_num_touches (GdkDevice *device);\";function gdk_device_get_num_touches(device) bind(c)\r\ngdk;gdk_device_get_product_id;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdevice.h;\"const char * gdk_device_get_product_id (GdkDevice *device);\";function gdk_device_get_product_id(device) bind(c)\r\ngdk;gdk_device_get_scroll_lock_state;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdevice.h;\"gboolean gdk_device_get_scroll_lock_state (GdkDevice *device);\";function gdk_device_get_scroll_lock_state(device) bind(c)\r\ngdk;gdk_device_get_seat;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdevice.h;\"GdkSeat * gdk_device_get_seat (GdkDevice *device);\";function gdk_device_get_seat(device) bind(c)\r\ngdk;gdk_device_get_source;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdevice.h;\"GdkInputSource gdk_device_get_source (GdkDevice *device);\";function gdk_device_get_source(device) bind(c)\r\ngdk;gdk_device_get_surface_at_position;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdevice.h;\"GdkSurface * gdk_device_get_surface_at_position (GdkDevice *device, double *win_x, double *win_y);\";function gdk_device_get_surface_at_position(device, win_x, win_y) bind(c)\r\ngdk;gdk_device_get_timestamp;GDK_AVAILABLE_IN_4_2;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdevice.h;\"guint32 gdk_device_get_timestamp (GdkDevice *device);\";function gdk_device_get_timestamp(device) bind(c)\r\ngdk;gdk_device_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdevice.h;\"GType gdk_device_get_type (void) ;\";function gdk_device_get_type() bind(c)\r\ngdk;gdk_device_get_vendor_id;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdevice.h;\"const char * gdk_device_get_vendor_id (GdkDevice *device);\";function gdk_device_get_vendor_id(device) bind(c)\r\ngdk;gdk_device_has_bidi_layouts;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdevice.h;\"gboolean gdk_device_has_bidi_layouts (GdkDevice *device);\";function gdk_device_has_bidi_layouts(device) bind(c)\r\ngdk;gdk_device_pad_feature_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkenumtypes.h;\"GType gdk_device_pad_feature_get_type (void);\";function gdk_device_pad_feature_get_type() bind(c)\r\ngdk;gdk_device_pad_get_feature_group;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdevicepad.h;\"int gdk_device_pad_get_feature_group (GdkDevicePad *pad, GdkDevicePadFeature feature, int feature_idx);\";function gdk_device_pad_get_feature_group(pad, feature, feature_idx) bind(c)\r\ngdk;gdk_device_pad_get_group_n_modes;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdevicepad.h;\"int gdk_device_pad_get_group_n_modes (GdkDevicePad *pad, int group_idx);\";function gdk_device_pad_get_group_n_modes(pad, group_idx) bind(c)\r\ngdk;gdk_device_pad_get_n_features;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdevicepad.h;\"int gdk_device_pad_get_n_features (GdkDevicePad *pad, GdkDevicePadFeature feature);\";function gdk_device_pad_get_n_features(pad, feature) bind(c)\r\ngdk;gdk_device_pad_get_n_groups;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdevicepad.h;\"int gdk_device_pad_get_n_groups (GdkDevicePad *pad);\";function gdk_device_pad_get_n_groups(pad) bind(c)\r\ngdk;gdk_device_pad_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdevicepad.h;\"GType gdk_device_pad_get_type (void) ;\";function gdk_device_pad_get_type() bind(c)\r\ngdk;gdk_device_tool_get_axes;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdevicetool.h;\"GdkAxisFlags gdk_device_tool_get_axes (GdkDeviceTool *tool);\";function gdk_device_tool_get_axes(tool) bind(c)\r\ngdk;gdk_device_tool_get_hardware_id;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdevicetool.h;\"guint64 gdk_device_tool_get_hardware_id (GdkDeviceTool *tool);\";function gdk_device_tool_get_hardware_id(tool) bind(c)\r\ngdk;gdk_device_tool_get_serial;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdevicetool.h;\"guint64 gdk_device_tool_get_serial (GdkDeviceTool *tool);\";function gdk_device_tool_get_serial(tool) bind(c)\r\ngdk;gdk_device_tool_get_tool_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdevicetool.h;\"GdkDeviceToolType gdk_device_tool_get_tool_type (GdkDeviceTool *tool);\";function gdk_device_tool_get_tool_type(tool) bind(c)\r\ngdk;gdk_device_tool_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdevicetool.h;\"GType gdk_device_tool_get_type (void) ;\";function gdk_device_tool_get_type() bind(c)\r\ngdk;gdk_device_tool_type_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkenumtypes.h;\"GType gdk_device_tool_type_get_type (void);\";function gdk_device_tool_type_get_type() bind(c)\r\ngdk;gdk_display_beep;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdisplay.h;\"void gdk_display_beep (GdkDisplay *display);\";subroutine gdk_display_beep(display) bind(c)\r\ngdk;gdk_display_close;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdisplay.h;\"void gdk_display_close (GdkDisplay *display);\";subroutine gdk_display_close(display) bind(c)\r\ngdk;gdk_display_create_gl_context;GDK_AVAILABLE_IN_4_6;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdisplay.h;\"GdkGLContext *gdk_display_create_gl_context(GdkDisplay *self, GError **error);\";function gdk_display_create_gl_context(self, error) bind(c)\r\ngdk;gdk_display_device_is_grabbed;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdisplay.h;\"gboolean gdk_display_device_is_grabbed (GdkDisplay *display, GdkDevice *device);\";function gdk_display_device_is_grabbed(display, device) bind(c)\r\ngdk;gdk_display_flush;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdisplay.h;\"void gdk_display_flush (GdkDisplay *display);\";subroutine gdk_display_flush(display) bind(c)\r\ngdk;gdk_display_get_app_launch_context;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdisplay.h;\"GdkAppLaunchContext *gdk_display_get_app_launch_context (GdkDisplay *display);\";function gdk_display_get_app_launch_context(display) bind(c)\r\ngdk;gdk_display_get_clipboard;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdisplay.h;\"GdkClipboard * gdk_display_get_clipboard (GdkDisplay *display);\";function gdk_display_get_clipboard(display) bind(c)\r\ngdk;gdk_display_get_default;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdisplay.h;\"GdkDisplay *gdk_display_get_default (void);\";function gdk_display_get_default() bind(c)\r\ngdk;gdk_display_get_default_seat;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdisplay.h;\"GdkSeat * gdk_display_get_default_seat (GdkDisplay *display);\";function gdk_display_get_default_seat(display) bind(c)\r\ngdk;gdk_display_get_dmabuf_formats;;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdisplay.h;\"GdkDmabufFormats * gdk_display_get_dmabuf_formats (GdkDisplay *display);\";function gdk_display_get_dmabuf_formats(display) bind(c)\r\ngdk;gdk_display_get_monitor_at_surface;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdisplay.h;\"GdkMonitor * gdk_display_get_monitor_at_surface (GdkDisplay *display, GdkSurface *surface);\";function gdk_display_get_monitor_at_surface(display, surface) bind(c)\r\ngdk;gdk_display_get_monitors;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdisplay.h;\"GListModel * gdk_display_get_monitors (GdkDisplay *self) ;\";function gdk_display_get_monitors(self) bind(c)\r\ngdk;gdk_display_get_name;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdisplay.h;\"const char * gdk_display_get_name (GdkDisplay *display);\";function gdk_display_get_name(display) bind(c)\r\ngdk;gdk_display_get_primary_clipboard;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdisplay.h;\"GdkClipboard * gdk_display_get_primary_clipboard (GdkDisplay *display);\";function gdk_display_get_primary_clipboard(display) bind(c)\r\ngdk;gdk_display_get_setting;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdisplay.h;\"gboolean gdk_display_get_setting (GdkDisplay *display, const char *name, GValue *value);\";function gdk_display_get_setting(display, name, value) bind(c)\r\ngdk;gdk_display_get_startup_notification_id;GDK_DEPRECATED_IN_4_10;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdisplay.h;\"const char * gdk_display_get_startup_notification_id (GdkDisplay *display);\";function gdk_display_get_startup_notification_id(display) bind(c)\r\ngdk;gdk_display_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdisplay.h;\"GType gdk_display_get_type (void) ;\";function gdk_display_get_type() bind(c)\r\ngdk;gdk_display_is_closed;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdisplay.h;\"gboolean gdk_display_is_closed (GdkDisplay *display);\";function gdk_display_is_closed(display) bind(c)\r\ngdk;gdk_display_is_composited;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdisplay.h;\"gboolean gdk_display_is_composited (GdkDisplay *display);\";function gdk_display_is_composited(display) bind(c)\r\ngdk;gdk_display_is_rgba;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdisplay.h;\"gboolean gdk_display_is_rgba (GdkDisplay *display);\";function gdk_display_is_rgba(display) bind(c)\r\ngdk;gdk_display_list_seats;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdisplay.h;\"GList * gdk_display_list_seats (GdkDisplay *display);\";function gdk_display_list_seats(display) bind(c)\r\ngdk;gdk_display_manager_get;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdisplaymanager.h;\"GdkDisplayManager *gdk_display_manager_get (void);\";function gdk_display_manager_get() bind(c)\r\ngdk;gdk_display_manager_get_default_display;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdisplaymanager.h;\"GdkDisplay * gdk_display_manager_get_default_display (GdkDisplayManager *manager);\";function gdk_display_manager_get_default_display(manager) bind(c)\r\ngdk;gdk_display_manager_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdisplaymanager.h;\"GType gdk_display_manager_get_type (void) ;\";function gdk_display_manager_get_type() bind(c)\r\ngdk;gdk_display_manager_list_displays;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdisplaymanager.h;\"GSList * gdk_display_manager_list_displays (GdkDisplayManager *manager);\";function gdk_display_manager_list_displays(manager) bind(c)\r\ngdk;gdk_display_manager_open_display;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdisplaymanager.h;\"GdkDisplay * gdk_display_manager_open_display (GdkDisplayManager *manager, const char *name);\";function gdk_display_manager_open_display(manager, name) bind(c)\r\ngdk;gdk_display_manager_set_default_display;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdisplaymanager.h;\"void gdk_display_manager_set_default_display (GdkDisplayManager *manager, GdkDisplay *display);\";subroutine gdk_display_manager_set_default_display(manager, display) bind(c)\r\ngdk;gdk_display_map_keycode;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdisplay.h;\"gboolean gdk_display_map_keycode (GdkDisplay *display, guint keycode, GdkKeymapKey **keys, guint **keyvals, int *n_entries);\";function gdk_display_map_keycode(display, keycode, keys, keyvals, n_entries) bind(c)\r\ngdk;gdk_display_map_keyval;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdisplay.h;\"gboolean gdk_display_map_keyval (GdkDisplay *display, guint keyval, GdkKeymapKey **keys, int *n_keys);\";function gdk_display_map_keyval(display, keyval, keys, n_keys) bind(c)\r\ngdk;gdk_display_notify_startup_complete;GDK_DEPRECATED_IN_4_10_FOR(gdk_toplevel_set_startup_id);gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdisplay.h;\"void gdk_display_notify_startup_complete (GdkDisplay *display, const char *startup_id);\";subroutine gdk_display_notify_startup_complete(display, startup_id) bind(c)\r\ngdk;gdk_display_open;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdisplay.h;\"GdkDisplay *gdk_display_open (const char *display_name);\";function gdk_display_open(display_name) bind(c)\r\ngdk;gdk_display_prepare_gl;GDK_AVAILABLE_IN_4_4;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdisplay.h;\"gboolean gdk_display_prepare_gl (GdkDisplay *self, GError **error);\";function gdk_display_prepare_gl(self, error) bind(c)\r\ngdk;gdk_display_put_event;GDK_DEPRECATED_IN_4_10;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdisplay.h;\"void gdk_display_put_event (GdkDisplay *display, GdkEvent *event);\";subroutine gdk_display_put_event(display, event) bind(c)\r\ngdk;gdk_display_supports_input_shapes;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdisplay.h;\"gboolean gdk_display_supports_input_shapes (GdkDisplay *display);\";function gdk_display_supports_input_shapes(display) bind(c)\r\ngdk;gdk_display_supports_shadow_width;GDK_AVAILABLE_IN_4_14;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdisplay.h;\"gboolean gdk_display_supports_shadow_width (GdkDisplay *display);\";function gdk_display_supports_shadow_width(display) bind(c)\r\ngdk;gdk_display_sync;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdisplay.h;\"void gdk_display_sync (GdkDisplay *display);\";subroutine gdk_display_sync(display) bind(c)\r\ngdk;gdk_display_translate_key;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdisplay.h;\"gboolean gdk_display_translate_key (GdkDisplay *display, guint keycode, GdkModifierType state, int group, guint *keyval, int *effective_group, int *level, GdkModifierType *consumed);\";function gdk_display_translate_key(display, keycode, state, group, keyval, effective_group, level, consumed) bind(c)\r\ngdk;gdk_dmabuf_error_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkenumtypes.h;\"GType gdk_dmabuf_error_get_type (void);\";function gdk_dmabuf_error_get_type() bind(c)\r\ngdk;gdk_dmabuf_error_quark;GDK_AVAILABLE_IN_4_14;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdmabuftexture.h;\"GQuark gdk_dmabuf_error_quark (void) ;\";function gdk_dmabuf_error_quark() bind(c)\r\ngdk;gdk_dmabuf_formats_contains;GDK_AVAILABLE_IN_4_14;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdmabufformats.h;\"gboolean gdk_dmabuf_formats_contains (GdkDmabufFormats *formats, guint32 fourcc, guint64 modifier) ;\";function gdk_dmabuf_formats_contains(formats, fourcc, modifier) bind(c)\r\ngdk;gdk_dmabuf_formats_equal;GDK_AVAILABLE_IN_4_14;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdmabufformats.h;\"gboolean gdk_dmabuf_formats_equal (const GdkDmabufFormats *formats1, const GdkDmabufFormats *formats2);\";function gdk_dmabuf_formats_equal(formats1, formats2) bind(c)\r\ngdk;gdk_dmabuf_formats_get_format;GDK_AVAILABLE_IN_4_14;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdmabufformats.h;\"void gdk_dmabuf_formats_get_format (GdkDmabufFormats *formats, gsize idx, guint32 *fourcc, guint64 *modifier);\";subroutine gdk_dmabuf_formats_get_format(formats, idx, fourcc, modifier) bind(c)\r\ngdk;gdk_dmabuf_formats_get_n_formats;GDK_AVAILABLE_IN_4_14;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdmabufformats.h;\"gsize gdk_dmabuf_formats_get_n_formats (GdkDmabufFormats *formats) ;\";function gdk_dmabuf_formats_get_n_formats(formats) bind(c)\r\ngdk;gdk_dmabuf_formats_get_type;GDK_AVAILABLE_IN_4_14;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdmabufformats.h;\"GType gdk_dmabuf_formats_get_type (void) ;\";function gdk_dmabuf_formats_get_type() bind(c)\r\ngdk;gdk_dmabuf_formats_ref;GDK_AVAILABLE_IN_4_14;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdmabufformats.h;\"GdkDmabufFormats * gdk_dmabuf_formats_ref (GdkDmabufFormats *formats);\";function gdk_dmabuf_formats_ref(formats) bind(c)\r\ngdk;gdk_dmabuf_formats_unref;GDK_AVAILABLE_IN_4_14;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdmabufformats.h;\"void gdk_dmabuf_formats_unref (GdkDmabufFormats *formats);\";subroutine gdk_dmabuf_formats_unref(formats) bind(c)\r\ngdk;gdk_dmabuf_texture_builder_build;GDK_AVAILABLE_IN_4_14;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdmabuftexturebuilder.h;\"GdkTexture * gdk_dmabuf_texture_builder_build (GdkDmabufTextureBuilder *self, GDestroyNotify destroy, gpointer data, GError **error);\";function gdk_dmabuf_texture_builder_build(self, destroy, data, error) bind(c)\r\ngdk;gdk_dmabuf_texture_builder_get_color_state;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdmabuftexturebuilder.h;\"GdkColorState * gdk_dmabuf_texture_builder_get_color_state (GdkDmabufTextureBuilder *self);\";function gdk_dmabuf_texture_builder_get_color_state(self) bind(c)\r\ngdk;gdk_dmabuf_texture_builder_get_display;GDK_AVAILABLE_IN_4_14;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdmabuftexturebuilder.h;\"GdkDisplay * gdk_dmabuf_texture_builder_get_display (GdkDmabufTextureBuilder *self) ;\";function gdk_dmabuf_texture_builder_get_display(self) bind(c)\r\ngdk;gdk_dmabuf_texture_builder_get_fd;GDK_AVAILABLE_IN_4_14;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdmabuftexturebuilder.h;\"int gdk_dmabuf_texture_builder_get_fd (GdkDmabufTextureBuilder *self, unsigned int plane) ;\";function gdk_dmabuf_texture_builder_get_fd(self, plane) bind(c)\r\ngdk;gdk_dmabuf_texture_builder_get_fourcc;GDK_AVAILABLE_IN_4_14;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdmabuftexturebuilder.h;\"guint32 gdk_dmabuf_texture_builder_get_fourcc (GdkDmabufTextureBuilder *self) ;\";function gdk_dmabuf_texture_builder_get_fourcc(self) bind(c)\r\ngdk;gdk_dmabuf_texture_builder_get_height;GDK_AVAILABLE_IN_4_14;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdmabuftexturebuilder.h;\"unsigned int gdk_dmabuf_texture_builder_get_height (GdkDmabufTextureBuilder *self) ;\";function gdk_dmabuf_texture_builder_get_height(self) bind(c)\r\ngdk;gdk_dmabuf_texture_builder_get_modifier;GDK_AVAILABLE_IN_4_14;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdmabuftexturebuilder.h;\"guint64 gdk_dmabuf_texture_builder_get_modifier (GdkDmabufTextureBuilder *self) ;\";function gdk_dmabuf_texture_builder_get_modifier(self) bind(c)\r\ngdk;gdk_dmabuf_texture_builder_get_n_planes;GDK_AVAILABLE_IN_4_14;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdmabuftexturebuilder.h;\"unsigned int gdk_dmabuf_texture_builder_get_n_planes (GdkDmabufTextureBuilder *self) ;\";function gdk_dmabuf_texture_builder_get_n_planes(self) bind(c)\r\ngdk;gdk_dmabuf_texture_builder_get_offset;GDK_AVAILABLE_IN_4_14;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdmabuftexturebuilder.h;\"unsigned int gdk_dmabuf_texture_builder_get_offset (GdkDmabufTextureBuilder *self, unsigned int plane) ;\";function gdk_dmabuf_texture_builder_get_offset(self, plane) bind(c)\r\ngdk;gdk_dmabuf_texture_builder_get_premultiplied;GDK_AVAILABLE_IN_4_14;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdmabuftexturebuilder.h;\"gboolean gdk_dmabuf_texture_builder_get_premultiplied (GdkDmabufTextureBuilder *self) ;\";function gdk_dmabuf_texture_builder_get_premultiplied(self) bind(c)\r\ngdk;gdk_dmabuf_texture_builder_get_stride;GDK_AVAILABLE_IN_4_14;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdmabuftexturebuilder.h;\"unsigned int gdk_dmabuf_texture_builder_get_stride (GdkDmabufTextureBuilder *self, unsigned int plane) ;\";function gdk_dmabuf_texture_builder_get_stride(self, plane) bind(c)\r\ngdk;gdk_dmabuf_texture_builder_get_update_region;GDK_AVAILABLE_IN_4_14;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdmabuftexturebuilder.h;\"cairo_region_t * gdk_dmabuf_texture_builder_get_update_region (GdkDmabufTextureBuilder *self) ;\";function gdk_dmabuf_texture_builder_get_update_region(self) bind(c)\r\ngdk;gdk_dmabuf_texture_builder_get_update_texture;GDK_AVAILABLE_IN_4_14;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdmabuftexturebuilder.h;\"GdkTexture * gdk_dmabuf_texture_builder_get_update_texture (GdkDmabufTextureBuilder *self) ;\";function gdk_dmabuf_texture_builder_get_update_texture(self) bind(c)\r\ngdk;gdk_dmabuf_texture_builder_get_width;GDK_AVAILABLE_IN_4_14;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdmabuftexturebuilder.h;\"unsigned int gdk_dmabuf_texture_builder_get_width (GdkDmabufTextureBuilder *self) ;\";function gdk_dmabuf_texture_builder_get_width(self) bind(c)\r\ngdk;gdk_dmabuf_texture_builder_new;GDK_AVAILABLE_IN_4_14;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdmabuftexturebuilder.h;\"GdkDmabufTextureBuilder *gdk_dmabuf_texture_builder_new (void);\";function gdk_dmabuf_texture_builder_new() bind(c)\r\ngdk;gdk_dmabuf_texture_builder_set_color_state;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdmabuftexturebuilder.h;\"void gdk_dmabuf_texture_builder_set_color_state (GdkDmabufTextureBuilder *self, GdkColorState *color_state);\";subroutine gdk_dmabuf_texture_builder_set_color_state(self, color_state) bind(c)\r\ngdk;gdk_dmabuf_texture_builder_set_display;GDK_AVAILABLE_IN_4_14;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdmabuftexturebuilder.h;\"void gdk_dmabuf_texture_builder_set_display (GdkDmabufTextureBuilder *self, GdkDisplay *display);\";subroutine gdk_dmabuf_texture_builder_set_display(self, display) bind(c)\r\ngdk;gdk_dmabuf_texture_builder_set_fd;GDK_AVAILABLE_IN_4_14;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdmabuftexturebuilder.h;\"void gdk_dmabuf_texture_builder_set_fd (GdkDmabufTextureBuilder *self, unsigned int plane, int fd);\";subroutine gdk_dmabuf_texture_builder_set_fd(self, plane, fd) bind(c)\r\ngdk;gdk_dmabuf_texture_builder_set_fourcc;GDK_AVAILABLE_IN_4_14;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdmabuftexturebuilder.h;\"void gdk_dmabuf_texture_builder_set_fourcc (GdkDmabufTextureBuilder *self, guint32 fourcc);\";subroutine gdk_dmabuf_texture_builder_set_fourcc(self, fourcc) bind(c)\r\ngdk;gdk_dmabuf_texture_builder_set_height;GDK_AVAILABLE_IN_4_14;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdmabuftexturebuilder.h;\"void gdk_dmabuf_texture_builder_set_height (GdkDmabufTextureBuilder *self, unsigned int height);\";subroutine gdk_dmabuf_texture_builder_set_height(self, height) bind(c)\r\ngdk;gdk_dmabuf_texture_builder_set_modifier;GDK_AVAILABLE_IN_4_14;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdmabuftexturebuilder.h;\"void gdk_dmabuf_texture_builder_set_modifier (GdkDmabufTextureBuilder *self, guint64 modifier);\";subroutine gdk_dmabuf_texture_builder_set_modifier(self, modifier) bind(c)\r\ngdk;gdk_dmabuf_texture_builder_set_n_planes;GDK_AVAILABLE_IN_4_14;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdmabuftexturebuilder.h;\"void gdk_dmabuf_texture_builder_set_n_planes (GdkDmabufTextureBuilder *self, unsigned int n_planes);\";subroutine gdk_dmabuf_texture_builder_set_n_planes(self, n_planes) bind(c)\r\ngdk;gdk_dmabuf_texture_builder_set_offset;GDK_AVAILABLE_IN_4_14;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdmabuftexturebuilder.h;\"void gdk_dmabuf_texture_builder_set_offset (GdkDmabufTextureBuilder *self, unsigned int plane, unsigned int offset);\";subroutine gdk_dmabuf_texture_builder_set_offset(self, plane, offset) bind(c)\r\ngdk;gdk_dmabuf_texture_builder_set_premultiplied;GDK_AVAILABLE_IN_4_14;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdmabuftexturebuilder.h;\"void gdk_dmabuf_texture_builder_set_premultiplied (GdkDmabufTextureBuilder *self, gboolean premultiplied);\";subroutine gdk_dmabuf_texture_builder_set_premultiplied(self, premultiplied) bind(c)\r\ngdk;gdk_dmabuf_texture_builder_set_stride;GDK_AVAILABLE_IN_4_14;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdmabuftexturebuilder.h;\"void gdk_dmabuf_texture_builder_set_stride (GdkDmabufTextureBuilder *self, unsigned int plane, unsigned int stride);\";subroutine gdk_dmabuf_texture_builder_set_stride(self, plane, stride) bind(c)\r\ngdk;gdk_dmabuf_texture_builder_set_update_region;GDK_AVAILABLE_IN_4_14;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdmabuftexturebuilder.h;\"void gdk_dmabuf_texture_builder_set_update_region (GdkDmabufTextureBuilder *self, cairo_region_t *region);\";subroutine gdk_dmabuf_texture_builder_set_update_region(self, region) bind(c)\r\ngdk;gdk_dmabuf_texture_builder_set_update_texture;GDK_AVAILABLE_IN_4_14;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdmabuftexturebuilder.h;\"void gdk_dmabuf_texture_builder_set_update_texture (GdkDmabufTextureBuilder *self, GdkTexture *texture);\";subroutine gdk_dmabuf_texture_builder_set_update_texture(self, texture) bind(c)\r\ngdk;gdk_dmabuf_texture_builder_set_width;GDK_AVAILABLE_IN_4_14;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdmabuftexturebuilder.h;\"void gdk_dmabuf_texture_builder_set_width (GdkDmabufTextureBuilder *self, unsigned int width);\";subroutine gdk_dmabuf_texture_builder_set_width(self, width) bind(c)\r\ngdk;gdk_dmabuf_texture_get_type;GDK_AVAILABLE_IN_4_14;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdmabuftexture.h;\"GType gdk_dmabuf_texture_get_type (void) ;\";function gdk_dmabuf_texture_get_type() bind(c)\r\ngdk;gdk_dnd_event_get_drop;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"GdkDrop * gdk_dnd_event_get_drop (GdkEvent *event);\";function gdk_dnd_event_get_drop(event) bind(c)\r\ngdk;gdk_dnd_event_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"GType gdk_dnd_event_get_type (void) ;\";function gdk_dnd_event_get_type() bind(c)\r\ngdk;gdk_drag_action_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkenumtypes.h;\"GType gdk_drag_action_get_type (void);\";function gdk_drag_action_get_type() bind(c)\r\ngdk;gdk_drag_action_is_unique;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdrag.h;\"gboolean gdk_drag_action_is_unique (GdkDragAction action) ;\";function gdk_drag_action_is_unique(action) bind(c)\r\ngdk;gdk_drag_begin;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdrag.h;\"GdkDrag * gdk_drag_begin (GdkSurface *surface, GdkDevice *device, GdkContentProvider *content, GdkDragAction actions, double dx, double dy);\";function gdk_drag_begin(surface, device, content, actions, dx, dy) bind(c)\r\ngdk;gdk_drag_cancel_reason_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkenumtypes.h;\"GType gdk_drag_cancel_reason_get_type (void);\";function gdk_drag_cancel_reason_get_type() bind(c)\r\ngdk;gdk_drag_drop_done;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdrag.h;\"void gdk_drag_drop_done (GdkDrag *drag, gboolean success);\";subroutine gdk_drag_drop_done(drag, success) bind(c)\r\ngdk;gdk_drag_get_actions;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdrag.h;\"GdkDragAction gdk_drag_get_actions (GdkDrag *drag);\";function gdk_drag_get_actions(drag) bind(c)\r\ngdk;gdk_drag_get_content;;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdrag.h;\"GdkContentProvider * gdk_drag_get_content (GdkDrag *drag);\";function gdk_drag_get_content(drag) bind(c)\r\ngdk;gdk_drag_get_device;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdrag.h;\"GdkDevice * gdk_drag_get_device (GdkDrag *drag);\";function gdk_drag_get_device(drag) bind(c)\r\ngdk;gdk_drag_get_display;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdrag.h;\"GdkDisplay * gdk_drag_get_display (GdkDrag *drag);\";function gdk_drag_get_display(drag) bind(c)\r\ngdk;gdk_drag_get_drag_surface;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdrag.h;\"GdkSurface *gdk_drag_get_drag_surface (GdkDrag *drag);\";function gdk_drag_get_drag_surface(drag) bind(c)\r\ngdk;gdk_drag_get_formats;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdrag.h;\"GdkContentFormats *gdk_drag_get_formats (GdkDrag *drag);\";function gdk_drag_get_formats(drag) bind(c)\r\ngdk;gdk_drag_get_selected_action;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdrag.h;\"GdkDragAction gdk_drag_get_selected_action (GdkDrag *drag);\";function gdk_drag_get_selected_action(drag) bind(c)\r\ngdk;gdk_drag_get_surface;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdrag.h;\"GdkSurface * gdk_drag_get_surface (GdkDrag *drag);\";function gdk_drag_get_surface(drag) bind(c)\r\ngdk;gdk_drag_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdrag.h;\"GType gdk_drag_get_type (void) ;\";function gdk_drag_get_type() bind(c)\r\ngdk;gdk_drag_set_hotspot;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdrag.h;\"void gdk_drag_set_hotspot (GdkDrag *drag, int hot_x, int hot_y);\";subroutine gdk_drag_set_hotspot(drag, hot_x, hot_y) bind(c)\r\ngdk;gdk_drag_surface_present;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdragsurface.h;\"gboolean gdk_drag_surface_present (GdkDragSurface *drag_surface, int width, int height);\";function gdk_drag_surface_present(drag_surface, width, height) bind(c)\r\ngdk;gdk_drag_surface_size_get_type;GDK_AVAILABLE_IN_4_12;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdragsurfacesize.h;\"GType gdk_drag_surface_size_get_type (void);\";function gdk_drag_surface_size_get_type() bind(c)\r\ngdk;gdk_drag_surface_size_set_size;GDK_AVAILABLE_IN_4_12;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdragsurfacesize.h;\"void gdk_drag_surface_size_set_size (GdkDragSurfaceSize *size, int width, int height);\";subroutine gdk_drag_surface_size_set_size(size, width, height) bind(c)\r\ngdk;gdk_draw_context_begin_frame;GDK_DEPRECATED_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdrawcontext.h;\"void gdk_draw_context_begin_frame (GdkDrawContext *context, const cairo_region_t *region);\";subroutine gdk_draw_context_begin_frame(context, region) bind(c)\r\ngdk;gdk_draw_context_end_frame;GDK_DEPRECATED_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdrawcontext.h;\"void gdk_draw_context_end_frame (GdkDrawContext *context);\";subroutine gdk_draw_context_end_frame(context) bind(c)\r\ngdk;gdk_draw_context_get_display;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdrawcontext.h;\"GdkDisplay * gdk_draw_context_get_display (GdkDrawContext *context);\";function gdk_draw_context_get_display(context) bind(c)\r\ngdk;gdk_draw_context_get_frame_region;GDK_DEPRECATED_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdrawcontext.h;\"const cairo_region_t * gdk_draw_context_get_frame_region (GdkDrawContext *context);\";function gdk_draw_context_get_frame_region(context) bind(c)\r\ngdk;gdk_draw_context_get_surface;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdrawcontext.h;\"GdkSurface * gdk_draw_context_get_surface (GdkDrawContext *context);\";function gdk_draw_context_get_surface(context) bind(c)\r\ngdk;gdk_draw_context_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdrawcontext.h;\"GType gdk_draw_context_get_type (void) ;\";function gdk_draw_context_get_type() bind(c)\r\ngdk;gdk_draw_context_is_in_frame;GDK_DEPRECATED_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdrawcontext.h;\"gboolean gdk_draw_context_is_in_frame (GdkDrawContext *context);\";function gdk_draw_context_is_in_frame(context) bind(c)\r\ngdk;gdk_drop_finish;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdrop.h;\"void gdk_drop_finish (GdkDrop *self, GdkDragAction action);\";subroutine gdk_drop_finish(self, action) bind(c)\r\ngdk;gdk_drop_get_actions;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdrop.h;\"GdkDragAction gdk_drop_get_actions (GdkDrop *self);\";function gdk_drop_get_actions(self) bind(c)\r\ngdk;gdk_drop_get_device;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdrop.h;\"GdkDevice * gdk_drop_get_device (GdkDrop *self);\";function gdk_drop_get_device(self) bind(c)\r\ngdk;gdk_drop_get_display;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdrop.h;\"GdkDisplay * gdk_drop_get_display (GdkDrop *self);\";function gdk_drop_get_display(self) bind(c)\r\ngdk;gdk_drop_get_drag;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdrop.h;\"GdkDrag * gdk_drop_get_drag (GdkDrop *self);\";function gdk_drop_get_drag(self) bind(c)\r\ngdk;gdk_drop_get_formats;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdrop.h;\"GdkContentFormats * gdk_drop_get_formats (GdkDrop *self);\";function gdk_drop_get_formats(self) bind(c)\r\ngdk;gdk_drop_get_surface;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdrop.h;\"GdkSurface * gdk_drop_get_surface (GdkDrop *self);\";function gdk_drop_get_surface(self) bind(c)\r\ngdk;gdk_drop_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdrop.h;\"GType gdk_drop_get_type (void) ;\";function gdk_drop_get_type() bind(c)\r\ngdk;gdk_drop_read_async;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdrop.h;\"void gdk_drop_read_async (GdkDrop *self, const char **mime_types, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine gdk_drop_read_async(self, mime_types, io_priority, cancellable, callback, user_data) bind(c)\r\ngdk;gdk_drop_read_finish;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdrop.h;\"GInputStream * gdk_drop_read_finish (GdkDrop *self, GAsyncResult *result, const char **out_mime_type, GError **error);\";function gdk_drop_read_finish(self, result, out_mime_type, error) bind(c)\r\ngdk;gdk_drop_read_value_async;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdrop.h;\"void gdk_drop_read_value_async (GdkDrop *self, GType type, int io_priority, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine gdk_drop_read_value_async(self, type, io_priority, cancellable, callback, user_data) bind(c)\r\ngdk;gdk_drop_read_value_finish;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdrop.h;\"const GValue * gdk_drop_read_value_finish (GdkDrop *self, GAsyncResult *result, GError **error);\";function gdk_drop_read_value_finish(self, result, error) bind(c)\r\ngdk;gdk_drop_status;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdrop.h;\"void gdk_drop_status (GdkDrop *self, GdkDragAction actions, GdkDragAction preferred);\";subroutine gdk_drop_status(self, actions, preferred) bind(c)\r\ngdk;gdk_event_get_axes;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"gboolean gdk_event_get_axes (GdkEvent *event, double **axes, guint *n_axes);\";function gdk_event_get_axes(event, axes, n_axes) bind(c)\r\ngdk;gdk_event_get_axis;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"gboolean gdk_event_get_axis (GdkEvent *event, GdkAxisUse axis_use, double *value);\";function gdk_event_get_axis(event, axis_use, value) bind(c)\r\ngdk;gdk_event_get_device;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"GdkDevice * gdk_event_get_device (GdkEvent *event);\";function gdk_event_get_device(event) bind(c)\r\ngdk;gdk_event_get_device_tool;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"GdkDeviceTool * gdk_event_get_device_tool (GdkEvent *event);\";function gdk_event_get_device_tool(event) bind(c)\r\ngdk;gdk_event_get_display;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"GdkDisplay * gdk_event_get_display (GdkEvent *event);\";function gdk_event_get_display(event) bind(c)\r\ngdk;gdk_event_get_event_sequence;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"GdkEventSequence * gdk_event_get_event_sequence (GdkEvent *event);\";function gdk_event_get_event_sequence(event) bind(c)\r\ngdk;gdk_event_get_event_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"GdkEventType gdk_event_get_event_type (GdkEvent *event);\";function gdk_event_get_event_type(event) bind(c)\r\ngdk;gdk_event_get_history;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"GdkTimeCoord * gdk_event_get_history (GdkEvent *event, guint *out_n_coords);\";function gdk_event_get_history(event, out_n_coords) bind(c)\r\ngdk;gdk_event_get_modifier_state;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"GdkModifierType gdk_event_get_modifier_state (GdkEvent *event);\";function gdk_event_get_modifier_state(event) bind(c)\r\ngdk;gdk_event_get_pointer_emulated;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"gboolean gdk_event_get_pointer_emulated (GdkEvent *event);\";function gdk_event_get_pointer_emulated(event) bind(c)\r\ngdk;gdk_event_get_position;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"gboolean gdk_event_get_position (GdkEvent *event, double *x, double *y);\";function gdk_event_get_position(event, x, y) bind(c)\r\ngdk;gdk_event_get_seat;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"GdkSeat * gdk_event_get_seat (GdkEvent *event);\";function gdk_event_get_seat(event) bind(c)\r\ngdk;gdk_event_get_surface;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"GdkSurface * gdk_event_get_surface (GdkEvent *event);\";function gdk_event_get_surface(event) bind(c)\r\ngdk;gdk_event_get_time;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"guint32 gdk_event_get_time (GdkEvent *event);\";function gdk_event_get_time(event) bind(c)\r\ngdk;gdk_event_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"GType gdk_event_get_type (void) ;\";function gdk_event_get_type() bind(c)\r\ngdk;gdk_event_ref;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"GdkEvent * gdk_event_ref (GdkEvent *event);\";function gdk_event_ref(event) bind(c)\r\ngdk;gdk_event_sequence_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"GType gdk_event_sequence_get_type (void) ;\";function gdk_event_sequence_get_type() bind(c)\r\ngdk;gdk_event_triggers_context_menu;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"gboolean gdk_event_triggers_context_menu (GdkEvent *event);\";function gdk_event_triggers_context_menu(event) bind(c)\r\ngdk;gdk_event_type_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkenumtypes.h;\"GType gdk_event_type_get_type (void);\";function gdk_event_type_get_type() bind(c)\r\ngdk;gdk_event_unref;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"void gdk_event_unref (GdkEvent *event);\";subroutine gdk_event_unref(event) bind(c)\r\ngdk;gdk_events_get_angle;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"gboolean gdk_events_get_angle (GdkEvent *event1, GdkEvent *event2, double *angle);\";function gdk_events_get_angle(event1, event2, angle) bind(c)\r\ngdk;gdk_events_get_center;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"gboolean gdk_events_get_center (GdkEvent *event1, GdkEvent *event2, double *x, double *y);\";function gdk_events_get_center(event1, event2, x, y) bind(c)\r\ngdk;gdk_events_get_distance;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"gboolean gdk_events_get_distance (GdkEvent *event1, GdkEvent *event2, double *distance);\";function gdk_events_get_distance(event1, event2, distance) bind(c)\r\ngdk;gdk_file_list_get_files;GDK_AVAILABLE_IN_4_6;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentformats.h;\"GSList * gdk_file_list_get_files (GdkFileList *file_list);\";function gdk_file_list_get_files(file_list) bind(c)\r\ngdk;gdk_file_list_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentformats.h;\"GType gdk_file_list_get_type (void) ;\";function gdk_file_list_get_type() bind(c)\r\ngdk;gdk_file_list_new_from_array;GDK_AVAILABLE_IN_4_8;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentformats.h;\"GdkFileList * gdk_file_list_new_from_array (GFile **files, gsize n_files);\";function gdk_file_list_new_from_array(files, n_files) bind(c)\r\ngdk;gdk_file_list_new_from_list;GDK_AVAILABLE_IN_4_8;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentformats.h;\"GdkFileList * gdk_file_list_new_from_list (GSList *files);\";function gdk_file_list_new_from_list(files) bind(c)\r\ngdk;gdk_focus_event_get_in;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"gboolean gdk_focus_event_get_in (GdkEvent *event);\";function gdk_focus_event_get_in(event) bind(c)\r\ngdk;gdk_focus_event_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"GType gdk_focus_event_get_type (void) ;\";function gdk_focus_event_get_type() bind(c)\r\ngdk;gdk_frame_clock_begin_updating;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkframeclock.h;\"void gdk_frame_clock_begin_updating (GdkFrameClock *frame_clock);\";subroutine gdk_frame_clock_begin_updating(frame_clock) bind(c)\r\ngdk;gdk_frame_clock_end_updating;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkframeclock.h;\"void gdk_frame_clock_end_updating (GdkFrameClock *frame_clock);\";subroutine gdk_frame_clock_end_updating(frame_clock) bind(c)\r\ngdk;gdk_frame_clock_get_current_timings;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkframeclock.h;\"GdkFrameTimings *gdk_frame_clock_get_current_timings (GdkFrameClock *frame_clock);\";function gdk_frame_clock_get_current_timings(frame_clock) bind(c)\r\ngdk;gdk_frame_clock_get_fps;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkframeclock.h;\"double gdk_frame_clock_get_fps (GdkFrameClock *frame_clock);\";function gdk_frame_clock_get_fps(frame_clock) bind(c)\r\ngdk;gdk_frame_clock_get_frame_counter;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkframeclock.h;\"gint64 gdk_frame_clock_get_frame_counter (GdkFrameClock *frame_clock);\";function gdk_frame_clock_get_frame_counter(frame_clock) bind(c)\r\ngdk;gdk_frame_clock_get_frame_time;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkframeclock.h;\"gint64 gdk_frame_clock_get_frame_time (GdkFrameClock *frame_clock);\";function gdk_frame_clock_get_frame_time(frame_clock) bind(c)\r\ngdk;gdk_frame_clock_get_history_start;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkframeclock.h;\"gint64 gdk_frame_clock_get_history_start (GdkFrameClock *frame_clock);\";function gdk_frame_clock_get_history_start(frame_clock) bind(c)\r\ngdk;gdk_frame_clock_get_refresh_info;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkframeclock.h;\"void gdk_frame_clock_get_refresh_info (GdkFrameClock *frame_clock, gint64 base_time, gint64 *refresh_interval_return, gint64 *presentation_time_return);\";subroutine gdk_frame_clock_get_refresh_info(frame_clock, base_time, refresh_interval_return, presentation_time_return) bind(c)\r\ngdk;gdk_frame_clock_get_timings;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkframeclock.h;\"GdkFrameTimings *gdk_frame_clock_get_timings (GdkFrameClock *frame_clock, gint64 frame_counter);\";function gdk_frame_clock_get_timings(frame_clock, frame_counter) bind(c)\r\ngdk;gdk_frame_clock_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkframeclock.h;\"GType gdk_frame_clock_get_type (void) ;\";function gdk_frame_clock_get_type() bind(c)\r\ngdk;gdk_frame_clock_phase_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkenumtypes.h;\"GType gdk_frame_clock_phase_get_type (void);\";function gdk_frame_clock_phase_get_type() bind(c)\r\ngdk;gdk_frame_clock_request_phase;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkframeclock.h;\"void gdk_frame_clock_request_phase (GdkFrameClock *frame_clock, GdkFrameClockPhase phase);\";subroutine gdk_frame_clock_request_phase(frame_clock, phase) bind(c)\r\ngdk;gdk_frame_timings_get_complete;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkframetimings.h;\"gboolean gdk_frame_timings_get_complete (GdkFrameTimings *timings);\";function gdk_frame_timings_get_complete(timings) bind(c)\r\ngdk;gdk_frame_timings_get_frame_counter;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkframetimings.h;\"gint64 gdk_frame_timings_get_frame_counter (GdkFrameTimings *timings);\";function gdk_frame_timings_get_frame_counter(timings) bind(c)\r\ngdk;gdk_frame_timings_get_frame_time;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkframetimings.h;\"gint64 gdk_frame_timings_get_frame_time (GdkFrameTimings *timings);\";function gdk_frame_timings_get_frame_time(timings) bind(c)\r\ngdk;gdk_frame_timings_get_predicted_presentation_time;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkframetimings.h;\"gint64 gdk_frame_timings_get_predicted_presentation_time (GdkFrameTimings *timings);\";function gdk_frame_timings_get_predicted_presentation_time(timings) bind(c)\r\ngdk;gdk_frame_timings_get_presentation_time;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkframetimings.h;\"gint64 gdk_frame_timings_get_presentation_time (GdkFrameTimings *timings);\";function gdk_frame_timings_get_presentation_time(timings) bind(c)\r\ngdk;gdk_frame_timings_get_refresh_interval;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkframetimings.h;\"gint64 gdk_frame_timings_get_refresh_interval (GdkFrameTimings *timings);\";function gdk_frame_timings_get_refresh_interval(timings) bind(c)\r\ngdk;gdk_frame_timings_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkframetimings.h;\"GType gdk_frame_timings_get_type (void) ;\";function gdk_frame_timings_get_type() bind(c)\r\ngdk;gdk_frame_timings_ref;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkframetimings.h;\"GdkFrameTimings *gdk_frame_timings_ref (GdkFrameTimings *timings);\";function gdk_frame_timings_ref(timings) bind(c)\r\ngdk;gdk_frame_timings_unref;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkframetimings.h;\"void gdk_frame_timings_unref (GdkFrameTimings *timings);\";subroutine gdk_frame_timings_unref(timings) bind(c)\r\ngdk;gdk_fullscreen_mode_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkenumtypes.h;\"GType gdk_fullscreen_mode_get_type (void);\";function gdk_fullscreen_mode_get_type() bind(c)\r\ngdk;gdk_gl_api_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkenumtypes.h;\"GType gdk_gl_api_get_type (void);\";function gdk_gl_api_get_type() bind(c)\r\ngdk;gdk_gl_context_clear_current;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkglcontext.h;\"void gdk_gl_context_clear_current (void);\";subroutine gdk_gl_context_clear_current() bind(c)\r\ngdk;gdk_gl_context_get_allowed_apis;GDK_AVAILABLE_IN_4_6;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkglcontext.h;\"GdkGLAPI gdk_gl_context_get_allowed_apis (GdkGLContext *self);\";function gdk_gl_context_get_allowed_apis(self) bind(c)\r\ngdk;gdk_gl_context_get_api;GDK_AVAILABLE_IN_4_6;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkglcontext.h;\"GdkGLAPI gdk_gl_context_get_api (GdkGLContext *self);\";function gdk_gl_context_get_api(self) bind(c)\r\ngdk;gdk_gl_context_get_current;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkglcontext.h;\"GdkGLContext * gdk_gl_context_get_current (void);\";function gdk_gl_context_get_current() bind(c)\r\ngdk;gdk_gl_context_get_debug_enabled;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkglcontext.h;\"gboolean gdk_gl_context_get_debug_enabled (GdkGLContext *context);\";function gdk_gl_context_get_debug_enabled(context) bind(c)\r\ngdk;gdk_gl_context_get_display;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkglcontext.h;\"GdkDisplay * gdk_gl_context_get_display (GdkGLContext *context);\";function gdk_gl_context_get_display(context) bind(c)\r\ngdk;gdk_gl_context_get_forward_compatible;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkglcontext.h;\"gboolean gdk_gl_context_get_forward_compatible (GdkGLContext *context);\";function gdk_gl_context_get_forward_compatible(context) bind(c)\r\ngdk;gdk_gl_context_get_required_version;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkglcontext.h;\"void gdk_gl_context_get_required_version (GdkGLContext *context, int *major, int *minor);\";subroutine gdk_gl_context_get_required_version(context, major, minor) bind(c)\r\ngdk;gdk_gl_context_get_shared_context;GDK_DEPRECATED_IN_4_4_FOR(gdk_gl_context_is_shared);gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkglcontext.h;\"GdkGLContext * gdk_gl_context_get_shared_context (GdkGLContext *context);\";function gdk_gl_context_get_shared_context(context) bind(c)\r\ngdk;gdk_gl_context_get_surface;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkglcontext.h;\"GdkSurface * gdk_gl_context_get_surface (GdkGLContext *context);\";function gdk_gl_context_get_surface(context) bind(c)\r\ngdk;gdk_gl_context_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkglcontext.h;\"GType gdk_gl_context_get_type (void) ;\";function gdk_gl_context_get_type() bind(c)\r\ngdk;gdk_gl_context_get_use_es;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkglcontext.h;\"gboolean gdk_gl_context_get_use_es (GdkGLContext *context);\";function gdk_gl_context_get_use_es(context) bind(c)\r\ngdk;gdk_gl_context_get_version;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkglcontext.h;\"void gdk_gl_context_get_version (GdkGLContext *context, int *major, int *minor);\";subroutine gdk_gl_context_get_version(context, major, minor) bind(c)\r\ngdk;gdk_gl_context_is_legacy;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkglcontext.h;\"gboolean gdk_gl_context_is_legacy (GdkGLContext *context);\";function gdk_gl_context_is_legacy(context) bind(c)\r\ngdk;gdk_gl_context_is_shared;GDK_AVAILABLE_IN_4_4;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkglcontext.h;\"gboolean gdk_gl_context_is_shared (GdkGLContext *self, GdkGLContext *other);\";function gdk_gl_context_is_shared(self, other) bind(c)\r\ngdk;gdk_gl_context_make_current;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkglcontext.h;\"void gdk_gl_context_make_current (GdkGLContext *context);\";subroutine gdk_gl_context_make_current(context) bind(c)\r\ngdk;gdk_gl_context_realize;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkglcontext.h;\"gboolean gdk_gl_context_realize (GdkGLContext *context, GError **error);\";function gdk_gl_context_realize(context, error) bind(c)\r\ngdk;gdk_gl_context_set_allowed_apis;GDK_AVAILABLE_IN_4_6;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkglcontext.h;\"void gdk_gl_context_set_allowed_apis (GdkGLContext *self, GdkGLAPI apis);\";subroutine gdk_gl_context_set_allowed_apis(self, apis) bind(c)\r\ngdk;gdk_gl_context_set_debug_enabled;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkglcontext.h;\"void gdk_gl_context_set_debug_enabled (GdkGLContext *context, gboolean enabled);\";subroutine gdk_gl_context_set_debug_enabled(context, enabled) bind(c)\r\ngdk;gdk_gl_context_set_forward_compatible;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkglcontext.h;\"void gdk_gl_context_set_forward_compatible (GdkGLContext *context, gboolean compatible);\";subroutine gdk_gl_context_set_forward_compatible(context, compatible) bind(c)\r\ngdk;gdk_gl_context_set_required_version;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkglcontext.h;\"void gdk_gl_context_set_required_version (GdkGLContext *context, int major, int minor);\";subroutine gdk_gl_context_set_required_version(context, major, minor) bind(c)\r\ngdk;gdk_gl_context_set_use_es;GDK_DEPRECATED_IN_4_6_FOR(gdk_gl_context_set_allowed_apis);gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkglcontext.h;\"void gdk_gl_context_set_use_es (GdkGLContext *context, int use_es);\";subroutine gdk_gl_context_set_use_es(context, use_es) bind(c)\r\ngdk;gdk_gl_error_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkenumtypes.h;\"GType gdk_gl_error_get_type (void);\";function gdk_gl_error_get_type() bind(c)\r\ngdk;gdk_gl_error_quark;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkglcontext.h;\"GQuark gdk_gl_error_quark (void);\";function gdk_gl_error_quark() bind(c)\r\ngdk;gdk_gl_texture_builder_build;GDK_AVAILABLE_IN_4_12;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkgltexturebuilder.h;\"GdkTexture * gdk_gl_texture_builder_build (GdkGLTextureBuilder *self, GDestroyNotify destroy, gpointer data);\";function gdk_gl_texture_builder_build(self, destroy, data) bind(c)\r\ngdk;gdk_gl_texture_builder_get_color_state;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkgltexturebuilder.h;\"GdkColorState * gdk_gl_texture_builder_get_color_state (GdkGLTextureBuilder *self);\";function gdk_gl_texture_builder_get_color_state(self) bind(c)\r\ngdk;gdk_gl_texture_builder_get_context;GDK_AVAILABLE_IN_4_12;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkgltexturebuilder.h;\"GdkGLContext * gdk_gl_texture_builder_get_context (GdkGLTextureBuilder *self) ;\";function gdk_gl_texture_builder_get_context(self) bind(c)\r\ngdk;gdk_gl_texture_builder_get_format;GDK_AVAILABLE_IN_4_12;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkgltexturebuilder.h;\"GdkMemoryFormat gdk_gl_texture_builder_get_format (GdkGLTextureBuilder *self) ;\";function gdk_gl_texture_builder_get_format(self) bind(c)\r\ngdk;gdk_gl_texture_builder_get_has_mipmap;GDK_AVAILABLE_IN_4_12;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkgltexturebuilder.h;\"gboolean gdk_gl_texture_builder_get_has_mipmap (GdkGLTextureBuilder *self) ;\";function gdk_gl_texture_builder_get_has_mipmap(self) bind(c)\r\ngdk;gdk_gl_texture_builder_get_height;GDK_AVAILABLE_IN_4_12;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkgltexturebuilder.h;\"int gdk_gl_texture_builder_get_height (GdkGLTextureBuilder *self) ;\";function gdk_gl_texture_builder_get_height(self) bind(c)\r\ngdk;gdk_gl_texture_builder_get_id;GDK_AVAILABLE_IN_4_12;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkgltexturebuilder.h;\"guint gdk_gl_texture_builder_get_id (GdkGLTextureBuilder *self) ;\";function gdk_gl_texture_builder_get_id(self) bind(c)\r\ngdk;gdk_gl_texture_builder_get_sync;GDK_AVAILABLE_IN_4_12;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkgltexturebuilder.h;\"gpointer gdk_gl_texture_builder_get_sync (GdkGLTextureBuilder *self) ;\";function gdk_gl_texture_builder_get_sync(self) bind(c)\r\ngdk;gdk_gl_texture_builder_get_update_region;GDK_AVAILABLE_IN_4_12;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkgltexturebuilder.h;\"cairo_region_t * gdk_gl_texture_builder_get_update_region (GdkGLTextureBuilder *self) ;\";function gdk_gl_texture_builder_get_update_region(self) bind(c)\r\ngdk;gdk_gl_texture_builder_get_update_texture;GDK_AVAILABLE_IN_4_12;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkgltexturebuilder.h;\"GdkTexture * gdk_gl_texture_builder_get_update_texture (GdkGLTextureBuilder *self) ;\";function gdk_gl_texture_builder_get_update_texture(self) bind(c)\r\ngdk;gdk_gl_texture_builder_get_width;GDK_AVAILABLE_IN_4_12;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkgltexturebuilder.h;\"int gdk_gl_texture_builder_get_width (GdkGLTextureBuilder *self) ;\";function gdk_gl_texture_builder_get_width(self) bind(c)\r\ngdk;gdk_gl_texture_builder_new;GDK_AVAILABLE_IN_4_12;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkgltexturebuilder.h;\"GdkGLTextureBuilder * gdk_gl_texture_builder_new (void);\";function gdk_gl_texture_builder_new() bind(c)\r\ngdk;gdk_gl_texture_builder_set_color_state;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkgltexturebuilder.h;\"void gdk_gl_texture_builder_set_color_state (GdkGLTextureBuilder *self, GdkColorState *color_state);\";subroutine gdk_gl_texture_builder_set_color_state(self, color_state) bind(c)\r\ngdk;gdk_gl_texture_builder_set_context;GDK_AVAILABLE_IN_4_12;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkgltexturebuilder.h;\"void gdk_gl_texture_builder_set_context (GdkGLTextureBuilder *self, GdkGLContext *context);\";subroutine gdk_gl_texture_builder_set_context(self, context) bind(c)\r\ngdk;gdk_gl_texture_builder_set_format;GDK_AVAILABLE_IN_4_12;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkgltexturebuilder.h;\"void gdk_gl_texture_builder_set_format (GdkGLTextureBuilder *self, GdkMemoryFormat format);\";subroutine gdk_gl_texture_builder_set_format(self, format) bind(c)\r\ngdk;gdk_gl_texture_builder_set_has_mipmap;GDK_AVAILABLE_IN_4_12;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkgltexturebuilder.h;\"void gdk_gl_texture_builder_set_has_mipmap (GdkGLTextureBuilder *self, gboolean has_mipmap);\";subroutine gdk_gl_texture_builder_set_has_mipmap(self, has_mipmap) bind(c)\r\ngdk;gdk_gl_texture_builder_set_height;GDK_AVAILABLE_IN_4_12;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkgltexturebuilder.h;\"void gdk_gl_texture_builder_set_height (GdkGLTextureBuilder *self, int height);\";subroutine gdk_gl_texture_builder_set_height(self, height) bind(c)\r\ngdk;gdk_gl_texture_builder_set_id;GDK_AVAILABLE_IN_4_12;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkgltexturebuilder.h;\"void gdk_gl_texture_builder_set_id (GdkGLTextureBuilder *self, guint id);\";subroutine gdk_gl_texture_builder_set_id(self, id) bind(c)\r\ngdk;gdk_gl_texture_builder_set_sync;GDK_AVAILABLE_IN_4_12;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkgltexturebuilder.h;\"void gdk_gl_texture_builder_set_sync (GdkGLTextureBuilder *self, gpointer sync);\";subroutine gdk_gl_texture_builder_set_sync(self, sync) bind(c)\r\ngdk;gdk_gl_texture_builder_set_update_region;GDK_AVAILABLE_IN_4_12;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkgltexturebuilder.h;\"void gdk_gl_texture_builder_set_update_region (GdkGLTextureBuilder *self, cairo_region_t *region);\";subroutine gdk_gl_texture_builder_set_update_region(self, region) bind(c)\r\ngdk;gdk_gl_texture_builder_set_update_texture;GDK_AVAILABLE_IN_4_12;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkgltexturebuilder.h;\"void gdk_gl_texture_builder_set_update_texture (GdkGLTextureBuilder *self, GdkTexture *texture);\";subroutine gdk_gl_texture_builder_set_update_texture(self, texture) bind(c)\r\ngdk;gdk_gl_texture_builder_set_width;GDK_AVAILABLE_IN_4_12;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkgltexturebuilder.h;\"void gdk_gl_texture_builder_set_width (GdkGLTextureBuilder *self, int width);\";subroutine gdk_gl_texture_builder_set_width(self, width) bind(c)\r\ngdk;gdk_gl_texture_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkgltexture.h;\"GType gdk_gl_texture_get_type (void) ;\";function gdk_gl_texture_get_type() bind(c)\r\ngdk;gdk_gl_texture_new;GDK_DEPRECATED_IN_4_12_FOR(GdkGLTextureBuilder);gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkgltexture.h;\"GdkTexture * gdk_gl_texture_new (GdkGLContext *context, guint id, int width, int height, GDestroyNotify destroy, gpointer data);\";function gdk_gl_texture_new(context, id, width, height, destroy, data) bind(c)\r\ngdk;gdk_gl_texture_release;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkgltexture.h;\"void gdk_gl_texture_release (GdkGLTexture *self);\";subroutine gdk_gl_texture_release(self) bind(c)\r\ngdk;gdk_grab_broken_event_get_grab_surface;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"GdkSurface * gdk_grab_broken_event_get_grab_surface (GdkEvent *event);\";function gdk_grab_broken_event_get_grab_surface(event) bind(c)\r\ngdk;gdk_grab_broken_event_get_implicit;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"gboolean gdk_grab_broken_event_get_implicit (GdkEvent *event);\";function gdk_grab_broken_event_get_implicit(event) bind(c)\r\ngdk;gdk_grab_broken_event_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"GType gdk_grab_broken_event_get_type (void) ;\";function gdk_grab_broken_event_get_type() bind(c)\r\ngdk;gdk_gravity_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkenumtypes.h;\"GType gdk_gravity_get_type (void);\";function gdk_gravity_get_type() bind(c)\r\ngdk;gdk_input_source_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkenumtypes.h;\"GType gdk_input_source_get_type (void);\";function gdk_input_source_get_type() bind(c)\r\ngdk;gdk_intern_mime_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkcontentformats.h;\"const char * gdk_intern_mime_type (const char *string);\";function gdk_intern_mime_type(string) bind(c)\r\ngdk;gdk_key_event_get_consumed_modifiers;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"GdkModifierType gdk_key_event_get_consumed_modifiers (GdkEvent *event);\";function gdk_key_event_get_consumed_modifiers(event) bind(c)\r\ngdk;gdk_key_event_get_keycode;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"guint gdk_key_event_get_keycode (GdkEvent *event);\";function gdk_key_event_get_keycode(event) bind(c)\r\ngdk;gdk_key_event_get_keyval;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"guint gdk_key_event_get_keyval (GdkEvent *event);\";function gdk_key_event_get_keyval(event) bind(c)\r\ngdk;gdk_key_event_get_layout;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"guint gdk_key_event_get_layout (GdkEvent *event);\";function gdk_key_event_get_layout(event) bind(c)\r\ngdk;gdk_key_event_get_level;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"guint gdk_key_event_get_level (GdkEvent *event);\";function gdk_key_event_get_level(event) bind(c)\r\ngdk;gdk_key_event_get_match;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"gboolean gdk_key_event_get_match (GdkEvent *event, guint *keyval, GdkModifierType *modifiers);\";function gdk_key_event_get_match(event, keyval, modifiers) bind(c)\r\ngdk;gdk_key_event_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"GType gdk_key_event_get_type (void) ;\";function gdk_key_event_get_type() bind(c)\r\ngdk;gdk_key_event_is_modifier;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"gboolean gdk_key_event_is_modifier (GdkEvent *event);\";function gdk_key_event_is_modifier(event) bind(c)\r\ngdk;gdk_key_event_matches;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"GdkKeyMatch gdk_key_event_matches (GdkEvent *event, guint keyval, GdkModifierType modifiers);\";function gdk_key_event_matches(event, keyval, modifiers) bind(c)\r\ngdk;gdk_key_match_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkenumtypes.h;\"GType gdk_key_match_get_type (void);\";function gdk_key_match_get_type() bind(c)\r\ngdk;gdk_keyval_convert_case;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkkeys.h;\"void gdk_keyval_convert_case (guint symbol, guint *lower, guint *upper);\";subroutine gdk_keyval_convert_case(symbol, lower, upper) bind(c)\r\ngdk;gdk_keyval_from_name;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkkeys.h;\"guint gdk_keyval_from_name (const char *keyval_name);\";function gdk_keyval_from_name(keyval_name) bind(c)\r\ngdk;gdk_keyval_is_lower;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkkeys.h;\"gboolean gdk_keyval_is_lower (guint keyval) ;\";function gdk_keyval_is_lower(keyval) bind(c)\r\ngdk;gdk_keyval_is_upper;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkkeys.h;\"gboolean gdk_keyval_is_upper (guint keyval) ;\";function gdk_keyval_is_upper(keyval) bind(c)\r\ngdk;gdk_keyval_name;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkkeys.h;\"const char *gdk_keyval_name (guint keyval) ;\";function gdk_keyval_name(keyval) bind(c)\r\ngdk;gdk_keyval_to_lower;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkkeys.h;\"guint gdk_keyval_to_lower (guint keyval) ;\";function gdk_keyval_to_lower(keyval) bind(c)\r\ngdk;gdk_keyval_to_unicode;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkkeys.h;\"guint32 gdk_keyval_to_unicode (guint keyval) ;\";function gdk_keyval_to_unicode(keyval) bind(c)\r\ngdk;gdk_keyval_to_upper;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkkeys.h;\"guint gdk_keyval_to_upper (guint keyval) ;\";function gdk_keyval_to_upper(keyval) bind(c)\r\ngdk;gdk_memory_format_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkenumtypes.h;\"GType gdk_memory_format_get_type (void);\";function gdk_memory_format_get_type() bind(c)\r\ngdk;gdk_memory_texture_builder_build;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkmemorytexturebuilder.h;\"GdkTexture * gdk_memory_texture_builder_build (GdkMemoryTextureBuilder *self);\";function gdk_memory_texture_builder_build(self) bind(c)\r\ngdk;gdk_memory_texture_builder_get_bytes;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkmemorytexturebuilder.h;\"GBytes * gdk_memory_texture_builder_get_bytes (GdkMemoryTextureBuilder *self) ;\";function gdk_memory_texture_builder_get_bytes(self) bind(c)\r\ngdk;gdk_memory_texture_builder_get_color_state;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkmemorytexturebuilder.h;\"GdkColorState * gdk_memory_texture_builder_get_color_state (GdkMemoryTextureBuilder *self) ;\";function gdk_memory_texture_builder_get_color_state(self) bind(c)\r\ngdk;gdk_memory_texture_builder_get_format;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkmemorytexturebuilder.h;\"GdkMemoryFormat gdk_memory_texture_builder_get_format (GdkMemoryTextureBuilder *self) ;\";function gdk_memory_texture_builder_get_format(self) bind(c)\r\ngdk;gdk_memory_texture_builder_get_height;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkmemorytexturebuilder.h;\"int gdk_memory_texture_builder_get_height (GdkMemoryTextureBuilder *self) ;\";function gdk_memory_texture_builder_get_height(self) bind(c)\r\ngdk;gdk_memory_texture_builder_get_offset;GDK_AVAILABLE_IN_4_20;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkmemorytexturebuilder.h;\"gsize gdk_memory_texture_builder_get_offset (GdkMemoryTextureBuilder *self, unsigned int plane) ;\";function gdk_memory_texture_builder_get_offset(self, plane) bind(c)\r\ngdk;gdk_memory_texture_builder_get_stride;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkmemorytexturebuilder.h;\"gsize gdk_memory_texture_builder_get_stride (GdkMemoryTextureBuilder *self) ;\";function gdk_memory_texture_builder_get_stride(self) bind(c)\r\ngdk;gdk_memory_texture_builder_get_stride_for_plane;GDK_AVAILABLE_IN_4_20;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkmemorytexturebuilder.h;\"gsize gdk_memory_texture_builder_get_stride_for_plane (GdkMemoryTextureBuilder *self, unsigned int plane) ;\";function gdk_memory_texture_builder_get_stride_for_plane(self, plane) bind(c)\r\ngdk;gdk_memory_texture_builder_get_update_region;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkmemorytexturebuilder.h;\"cairo_region_t * gdk_memory_texture_builder_get_update_region (GdkMemoryTextureBuilder *self) ;\";function gdk_memory_texture_builder_get_update_region(self) bind(c)\r\ngdk;gdk_memory_texture_builder_get_update_texture;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkmemorytexturebuilder.h;\"GdkTexture * gdk_memory_texture_builder_get_update_texture (GdkMemoryTextureBuilder *self) ;\";function gdk_memory_texture_builder_get_update_texture(self) bind(c)\r\ngdk;gdk_memory_texture_builder_get_width;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkmemorytexturebuilder.h;\"int gdk_memory_texture_builder_get_width (GdkMemoryTextureBuilder *self) ;\";function gdk_memory_texture_builder_get_width(self) bind(c)\r\ngdk;gdk_memory_texture_builder_new;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkmemorytexturebuilder.h;\"GdkMemoryTextureBuilder * gdk_memory_texture_builder_new (void);\";function gdk_memory_texture_builder_new() bind(c)\r\ngdk;gdk_memory_texture_builder_set_bytes;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkmemorytexturebuilder.h;\"void gdk_memory_texture_builder_set_bytes (GdkMemoryTextureBuilder *self, GBytes *bytes);\";subroutine gdk_memory_texture_builder_set_bytes(self, bytes) bind(c)\r\ngdk;gdk_memory_texture_builder_set_color_state;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkmemorytexturebuilder.h;\"void gdk_memory_texture_builder_set_color_state (GdkMemoryTextureBuilder *self, GdkColorState *color_state);\";subroutine gdk_memory_texture_builder_set_color_state(self, color_state) bind(c)\r\ngdk;gdk_memory_texture_builder_set_format;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkmemorytexturebuilder.h;\"void gdk_memory_texture_builder_set_format (GdkMemoryTextureBuilder *self, GdkMemoryFormat format);\";subroutine gdk_memory_texture_builder_set_format(self, format) bind(c)\r\ngdk;gdk_memory_texture_builder_set_height;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkmemorytexturebuilder.h;\"void gdk_memory_texture_builder_set_height (GdkMemoryTextureBuilder *self, int height);\";subroutine gdk_memory_texture_builder_set_height(self, height) bind(c)\r\ngdk;gdk_memory_texture_builder_set_offset;GDK_AVAILABLE_IN_4_20;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkmemorytexturebuilder.h;\"void gdk_memory_texture_builder_set_offset (GdkMemoryTextureBuilder *self, unsigned int plane, gsize offset);\";subroutine gdk_memory_texture_builder_set_offset(self, plane, offset) bind(c)\r\ngdk;gdk_memory_texture_builder_set_stride;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkmemorytexturebuilder.h;\"void gdk_memory_texture_builder_set_stride (GdkMemoryTextureBuilder *self, gsize stride);\";subroutine gdk_memory_texture_builder_set_stride(self, stride) bind(c)\r\ngdk;gdk_memory_texture_builder_set_stride_for_plane;GDK_AVAILABLE_IN_4_20;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkmemorytexturebuilder.h;\"void gdk_memory_texture_builder_set_stride_for_plane (GdkMemoryTextureBuilder *self, unsigned int plane, gsize stride);\";subroutine gdk_memory_texture_builder_set_stride_for_plane(self, plane, stride) bind(c)\r\ngdk;gdk_memory_texture_builder_set_update_region;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkmemorytexturebuilder.h;\"void gdk_memory_texture_builder_set_update_region (GdkMemoryTextureBuilder *self, cairo_region_t *region);\";subroutine gdk_memory_texture_builder_set_update_region(self, region) bind(c)\r\ngdk;gdk_memory_texture_builder_set_update_texture;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkmemorytexturebuilder.h;\"void gdk_memory_texture_builder_set_update_texture (GdkMemoryTextureBuilder *self, GdkTexture *texture);\";subroutine gdk_memory_texture_builder_set_update_texture(self, texture) bind(c)\r\ngdk;gdk_memory_texture_builder_set_width;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkmemorytexturebuilder.h;\"void gdk_memory_texture_builder_set_width (GdkMemoryTextureBuilder *self, int width);\";subroutine gdk_memory_texture_builder_set_width(self, width) bind(c)\r\ngdk;gdk_memory_texture_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkmemorytexture.h;\"GType gdk_memory_texture_get_type (void) ;\";function gdk_memory_texture_get_type() bind(c)\r\ngdk;gdk_memory_texture_new;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkmemorytexture.h;\"GdkTexture * gdk_memory_texture_new (int width, int height, GdkMemoryFormat format, GBytes *bytes, gsize stride);\";function gdk_memory_texture_new(width, height, format, bytes, stride) bind(c)\r\ngdk;gdk_modifier_type_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkenumtypes.h;\"GType gdk_modifier_type_get_type (void);\";function gdk_modifier_type_get_type() bind(c)\r\ngdk;gdk_monitor_get_connector;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkmonitor.h;\"const char * gdk_monitor_get_connector (GdkMonitor *monitor);\";function gdk_monitor_get_connector(monitor) bind(c)\r\ngdk;gdk_monitor_get_description;GDK_AVAILABLE_IN_4_10;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkmonitor.h;\"const char * gdk_monitor_get_description (GdkMonitor *monitor);\";function gdk_monitor_get_description(monitor) bind(c)\r\ngdk;gdk_monitor_get_display;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkmonitor.h;\"GdkDisplay * gdk_monitor_get_display (GdkMonitor *monitor);\";function gdk_monitor_get_display(monitor) bind(c)\r\ngdk;gdk_monitor_get_geometry;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkmonitor.h;\"void gdk_monitor_get_geometry (GdkMonitor *monitor, GdkRectangle *geometry);\";subroutine gdk_monitor_get_geometry(monitor, geometry) bind(c)\r\ngdk;gdk_monitor_get_height_mm;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkmonitor.h;\"int gdk_monitor_get_height_mm (GdkMonitor *monitor);\";function gdk_monitor_get_height_mm(monitor) bind(c)\r\ngdk;gdk_monitor_get_manufacturer;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkmonitor.h;\"const char * gdk_monitor_get_manufacturer (GdkMonitor *monitor);\";function gdk_monitor_get_manufacturer(monitor) bind(c)\r\ngdk;gdk_monitor_get_model;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkmonitor.h;\"const char * gdk_monitor_get_model (GdkMonitor *monitor);\";function gdk_monitor_get_model(monitor) bind(c)\r\ngdk;gdk_monitor_get_refresh_rate;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkmonitor.h;\"int gdk_monitor_get_refresh_rate (GdkMonitor *monitor);\";function gdk_monitor_get_refresh_rate(monitor) bind(c)\r\ngdk;gdk_monitor_get_scale;GDK_AVAILABLE_IN_4_14;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkmonitor.h;\"double gdk_monitor_get_scale (GdkMonitor *monitor);\";function gdk_monitor_get_scale(monitor) bind(c)\r\ngdk;gdk_monitor_get_scale_factor;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkmonitor.h;\"int gdk_monitor_get_scale_factor (GdkMonitor *monitor);\";function gdk_monitor_get_scale_factor(monitor) bind(c)\r\ngdk;gdk_monitor_get_subpixel_layout;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkmonitor.h;\"GdkSubpixelLayout gdk_monitor_get_subpixel_layout (GdkMonitor *monitor);\";function gdk_monitor_get_subpixel_layout(monitor) bind(c)\r\ngdk;gdk_monitor_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkmonitor.h;\"GType gdk_monitor_get_type (void) ;\";function gdk_monitor_get_type() bind(c)\r\ngdk;gdk_monitor_get_width_mm;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkmonitor.h;\"int gdk_monitor_get_width_mm (GdkMonitor *monitor);\";function gdk_monitor_get_width_mm(monitor) bind(c)\r\ngdk;gdk_monitor_is_valid;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkmonitor.h;\"gboolean gdk_monitor_is_valid (GdkMonitor *monitor);\";function gdk_monitor_is_valid(monitor) bind(c)\r\ngdk;gdk_motion_event_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"GType gdk_motion_event_get_type (void) ;\";function gdk_motion_event_get_type() bind(c)\r\ngdk;gdk_notify_type_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkenumtypes.h;\"GType gdk_notify_type_get_type (void);\";function gdk_notify_type_get_type() bind(c)\r\ngdk;gdk_pad_event_get_axis_value;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"void gdk_pad_event_get_axis_value (GdkEvent *event, guint *index, double *value);\";subroutine gdk_pad_event_get_axis_value(event, index, value) bind(c)\r\ngdk;gdk_pad_event_get_button;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"guint gdk_pad_event_get_button (GdkEvent *event);\";function gdk_pad_event_get_button(event) bind(c)\r\ngdk;gdk_pad_event_get_group_mode;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"void gdk_pad_event_get_group_mode (GdkEvent *event, guint *group, guint *mode);\";subroutine gdk_pad_event_get_group_mode(event, group, mode) bind(c)\r\ngdk;gdk_pad_event_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"GType gdk_pad_event_get_type (void) ;\";function gdk_pad_event_get_type() bind(c)\r\ngdk;gdk_paintable_compute_concrete_size;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkpaintable.h;\"void gdk_paintable_compute_concrete_size (GdkPaintable *paintable, double specified_width, double specified_height, double default_width, double default_height, double *concrete_width, double *concrete_height);\";subroutine gdk_paintable_compute_concrete_size(paintable, specified_width, specified_height, default_width, default_height, concrete_width, concrete_height) bind(c)\r\ngdk;gdk_paintable_flags_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkenumtypes.h;\"GType gdk_paintable_flags_get_type (void);\";function gdk_paintable_flags_get_type() bind(c)\r\ngdk;gdk_paintable_get_current_image;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkpaintable.h;\"GdkPaintable * gdk_paintable_get_current_image (GdkPaintable *paintable);\";function gdk_paintable_get_current_image(paintable) bind(c)\r\ngdk;gdk_paintable_get_flags;;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkpaintable.h;\"GdkPaintableFlags gdk_paintable_get_flags (GdkPaintable *paintable);\";function gdk_paintable_get_flags(paintable) bind(c)\r\ngdk;gdk_paintable_get_intrinsic_aspect_ratio;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkpaintable.h;\"double gdk_paintable_get_intrinsic_aspect_ratio(GdkPaintable *paintable);\";function gdk_paintable_get_intrinsic_aspect_ratio(paintable) bind(c)\r\ngdk;gdk_paintable_get_intrinsic_height;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkpaintable.h;\"int gdk_paintable_get_intrinsic_height (GdkPaintable *paintable);\";function gdk_paintable_get_intrinsic_height(paintable) bind(c)\r\ngdk;gdk_paintable_get_intrinsic_width;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkpaintable.h;\"int gdk_paintable_get_intrinsic_width (GdkPaintable *paintable);\";function gdk_paintable_get_intrinsic_width(paintable) bind(c)\r\ngdk;gdk_paintable_invalidate_contents;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkpaintable.h;\"void gdk_paintable_invalidate_contents (GdkPaintable *paintable);\";subroutine gdk_paintable_invalidate_contents(paintable) bind(c)\r\ngdk;gdk_paintable_invalidate_size;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkpaintable.h;\"void gdk_paintable_invalidate_size (GdkPaintable *paintable);\";subroutine gdk_paintable_invalidate_size(paintable) bind(c)\r\ngdk;gdk_paintable_new_empty;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkpaintable.h;\"GdkPaintable * gdk_paintable_new_empty (int intrinsic_width, int intrinsic_height);\";function gdk_paintable_new_empty(intrinsic_width, intrinsic_height) bind(c)\r\ngdk;gdk_paintable_snapshot;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkpaintable.h;\"void gdk_paintable_snapshot (GdkPaintable *paintable, GdkSnapshot *snapshot, double width, double height);\";subroutine gdk_paintable_snapshot(paintable, snapshot, width, height) bind(c)\r\ngdk;gdk_pango_layout_get_clip_region;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkpango.h;\"cairo_region_t *gdk_pango_layout_get_clip_region (PangoLayout *layout, int x_origin, int y_origin, const int *index_ranges, int n_ranges);\";function gdk_pango_layout_get_clip_region(layout, x_origin, y_origin, index_ranges, n_ranges) bind(c)\r\ngdk;gdk_pango_layout_line_get_clip_region;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkpango.h;\"cairo_region_t *gdk_pango_layout_line_get_clip_region (PangoLayoutLine *line, int x_origin, int y_origin, const int *index_ranges, int n_ranges);\";function gdk_pango_layout_line_get_clip_region(line, x_origin, y_origin, index_ranges, n_ranges) bind(c)\r\ngdk;gdk_pixbuf_get_from_surface;GDK_DEPRECATED_IN_4_12;gdk-auto.f90;/usr/include/gtk-4.0/gdk/deprecated/gdkpixbuf.h;\"GdkPixbuf *gdk_pixbuf_get_from_surface (cairo_surface_t *surface, int src_x, int src_y, int width, int height);\";function gdk_pixbuf_get_from_surface(surface, src_x, src_y, width, height) bind(c)\r\ngdk;gdk_pixbuf_get_from_texture;GDK_DEPRECATED_IN_4_12;gdk-auto.f90;/usr/include/gtk-4.0/gdk/deprecated/gdkpixbuf.h;\"GdkPixbuf *gdk_pixbuf_get_from_texture (GdkTexture *texture);\";function gdk_pixbuf_get_from_texture(texture) bind(c)\r\ngdk;gdk_popup_get_autohide;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkpopup.h;\"gboolean gdk_popup_get_autohide (GdkPopup *popup);\";function gdk_popup_get_autohide(popup) bind(c)\r\ngdk;gdk_popup_get_parent;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkpopup.h;\"GdkSurface * gdk_popup_get_parent (GdkPopup *popup);\";function gdk_popup_get_parent(popup) bind(c)\r\ngdk;gdk_popup_get_position_x;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkpopup.h;\"int gdk_popup_get_position_x (GdkPopup *popup);\";function gdk_popup_get_position_x(popup) bind(c)\r\ngdk;gdk_popup_get_position_y;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkpopup.h;\"int gdk_popup_get_position_y (GdkPopup *popup);\";function gdk_popup_get_position_y(popup) bind(c)\r\ngdk;gdk_popup_get_rect_anchor;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkpopup.h;\"GdkGravity gdk_popup_get_rect_anchor (GdkPopup *popup);\";function gdk_popup_get_rect_anchor(popup) bind(c)\r\ngdk;gdk_popup_get_surface_anchor;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkpopup.h;\"GdkGravity gdk_popup_get_surface_anchor (GdkPopup *popup);\";function gdk_popup_get_surface_anchor(popup) bind(c)\r\ngdk;gdk_popup_layout_copy;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkpopuplayout.h;\"GdkPopupLayout * gdk_popup_layout_copy (GdkPopupLayout *layout);\";function gdk_popup_layout_copy(layout) bind(c)\r\ngdk;gdk_popup_layout_equal;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkpopuplayout.h;\"gboolean gdk_popup_layout_equal (GdkPopupLayout *layout, GdkPopupLayout *other);\";function gdk_popup_layout_equal(layout, other) bind(c)\r\ngdk;gdk_popup_layout_get_anchor_hints;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkpopuplayout.h;\"GdkAnchorHints gdk_popup_layout_get_anchor_hints (GdkPopupLayout *layout);\";function gdk_popup_layout_get_anchor_hints(layout) bind(c)\r\ngdk;gdk_popup_layout_get_anchor_rect;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkpopuplayout.h;\"const GdkRectangle * gdk_popup_layout_get_anchor_rect (GdkPopupLayout *layout);\";function gdk_popup_layout_get_anchor_rect(layout) bind(c)\r\ngdk;gdk_popup_layout_get_offset;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkpopuplayout.h;\"void gdk_popup_layout_get_offset (GdkPopupLayout *layout, int *dx, int *dy);\";subroutine gdk_popup_layout_get_offset(layout, dx, dy) bind(c)\r\ngdk;gdk_popup_layout_get_rect_anchor;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkpopuplayout.h;\"GdkGravity gdk_popup_layout_get_rect_anchor (GdkPopupLayout *layout);\";function gdk_popup_layout_get_rect_anchor(layout) bind(c)\r\ngdk;gdk_popup_layout_get_shadow_width;GDK_AVAILABLE_IN_4_2;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkpopuplayout.h;\"void gdk_popup_layout_get_shadow_width (GdkPopupLayout *layout, int *left, int *right, int *top, int *bottom);\";subroutine gdk_popup_layout_get_shadow_width(layout, left, right, top, bottom) bind(c)\r\ngdk;gdk_popup_layout_get_surface_anchor;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkpopuplayout.h;\"GdkGravity gdk_popup_layout_get_surface_anchor (GdkPopupLayout *layout);\";function gdk_popup_layout_get_surface_anchor(layout) bind(c)\r\ngdk;gdk_popup_layout_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkpopuplayout.h;\"GType gdk_popup_layout_get_type (void);\";function gdk_popup_layout_get_type() bind(c)\r\ngdk;gdk_popup_layout_new;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkpopuplayout.h;\"GdkPopupLayout * gdk_popup_layout_new (const GdkRectangle *anchor_rect, GdkGravity rect_anchor, GdkGravity surface_anchor);\";function gdk_popup_layout_new(anchor_rect, rect_anchor, surface_anchor) bind(c)\r\ngdk;gdk_popup_layout_ref;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkpopuplayout.h;\"GdkPopupLayout * gdk_popup_layout_ref (GdkPopupLayout *layout);\";function gdk_popup_layout_ref(layout) bind(c)\r\ngdk;gdk_popup_layout_set_anchor_hints;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkpopuplayout.h;\"void gdk_popup_layout_set_anchor_hints (GdkPopupLayout *layout, GdkAnchorHints anchor_hints);\";subroutine gdk_popup_layout_set_anchor_hints(layout, anchor_hints) bind(c)\r\ngdk;gdk_popup_layout_set_anchor_rect;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkpopuplayout.h;\"void gdk_popup_layout_set_anchor_rect (GdkPopupLayout *layout, const GdkRectangle *anchor_rect);\";subroutine gdk_popup_layout_set_anchor_rect(layout, anchor_rect) bind(c)\r\ngdk;gdk_popup_layout_set_offset;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkpopuplayout.h;\"void gdk_popup_layout_set_offset (GdkPopupLayout *layout, int dx, int dy);\";subroutine gdk_popup_layout_set_offset(layout, dx, dy) bind(c)\r\ngdk;gdk_popup_layout_set_rect_anchor;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkpopuplayout.h;\"void gdk_popup_layout_set_rect_anchor (GdkPopupLayout *layout, GdkGravity anchor);\";subroutine gdk_popup_layout_set_rect_anchor(layout, anchor) bind(c)\r\ngdk;gdk_popup_layout_set_shadow_width;GDK_AVAILABLE_IN_4_2;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkpopuplayout.h;\"void gdk_popup_layout_set_shadow_width (GdkPopupLayout *layout, int left, int right, int top, int bottom);\";subroutine gdk_popup_layout_set_shadow_width(layout, left, right, top, bottom) bind(c)\r\ngdk;gdk_popup_layout_set_surface_anchor;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkpopuplayout.h;\"void gdk_popup_layout_set_surface_anchor (GdkPopupLayout *layout, GdkGravity anchor);\";subroutine gdk_popup_layout_set_surface_anchor(layout, anchor) bind(c)\r\ngdk;gdk_popup_layout_unref;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkpopuplayout.h;\"void gdk_popup_layout_unref (GdkPopupLayout *layout);\";subroutine gdk_popup_layout_unref(layout) bind(c)\r\ngdk;gdk_popup_present;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkpopup.h;\"gboolean gdk_popup_present (GdkPopup *popup, int width, int height, GdkPopupLayout *layout);\";function gdk_popup_present(popup, width, height, layout) bind(c)\r\ngdk;gdk_proximity_event_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"GType gdk_proximity_event_get_type (void) ;\";function gdk_proximity_event_get_type() bind(c)\r\ngdk;gdk_rectangle_contains_point;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkrectangle.h;\"gboolean gdk_rectangle_contains_point (const GdkRectangle *rect, int x, int y) ;\";function gdk_rectangle_contains_point(rect, x, y) bind(c)\r\ngdk;gdk_rectangle_equal;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkrectangle.h;\"gboolean gdk_rectangle_equal (const GdkRectangle *rect1, const GdkRectangle *rect2) ;\";function gdk_rectangle_equal(rect1, rect2) bind(c)\r\ngdk;gdk_rectangle_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkrectangle.h;\"GType gdk_rectangle_get_type (void) ;\";function gdk_rectangle_get_type() bind(c)\r\ngdk;gdk_rectangle_intersect;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkrectangle.h;\"gboolean gdk_rectangle_intersect (const GdkRectangle *src1, const GdkRectangle *src2, GdkRectangle *dest);\";function gdk_rectangle_intersect(src1, src2, dest) bind(c)\r\ngdk;gdk_rectangle_union;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkrectangle.h;\"void gdk_rectangle_union (const GdkRectangle *src1, const GdkRectangle *src2, GdkRectangle *dest);\";subroutine gdk_rectangle_union(src1, src2, dest) bind(c)\r\ngdk;gdk_rgba_copy;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkrgba.h;\"GdkRGBA * gdk_rgba_copy (const GdkRGBA *rgba);\";function gdk_rgba_copy(rgba) bind(c)\r\ngdk;gdk_rgba_equal;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkrgba.h;\"gboolean gdk_rgba_equal (gconstpointer p1, gconstpointer p2) ;\";function gdk_rgba_equal(p1, p2) bind(c)\r\ngdk;gdk_rgba_free;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkrgba.h;\"void gdk_rgba_free (GdkRGBA *rgba);\";subroutine gdk_rgba_free(rgba) bind(c)\r\ngdk;gdk_rgba_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkrgba.h;\"GType gdk_rgba_get_type (void) ;\";function gdk_rgba_get_type() bind(c)\r\ngdk;gdk_rgba_hash;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkrgba.h;\"guint gdk_rgba_hash (gconstpointer p) ;\";function gdk_rgba_hash(p) bind(c)\r\ngdk;gdk_rgba_is_clear;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkrgba.h;\"gboolean gdk_rgba_is_clear (const GdkRGBA *rgba) ;\";function gdk_rgba_is_clear(rgba) bind(c)\r\ngdk;gdk_rgba_is_opaque;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkrgba.h;\"gboolean gdk_rgba_is_opaque (const GdkRGBA *rgba) ;\";function gdk_rgba_is_opaque(rgba) bind(c)\r\ngdk;gdk_rgba_parse;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkrgba.h;\"gboolean gdk_rgba_parse (GdkRGBA *rgba, const char *spec);\";function gdk_rgba_parse(rgba, spec) bind(c)\r\ngdk;gdk_rgba_to_string;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkrgba.h;\"char * gdk_rgba_to_string (const GdkRGBA *rgba) ;\";function gdk_rgba_to_string(rgba) bind(c)\r\ngdk;gdk_scroll_direction_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkenumtypes.h;\"GType gdk_scroll_direction_get_type (void);\";function gdk_scroll_direction_get_type() bind(c)\r\ngdk;gdk_scroll_event_get_deltas;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"void gdk_scroll_event_get_deltas (GdkEvent *event, double *delta_x, double *delta_y);\";subroutine gdk_scroll_event_get_deltas(event, delta_x, delta_y) bind(c)\r\ngdk;gdk_scroll_event_get_direction;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"GdkScrollDirection gdk_scroll_event_get_direction (GdkEvent *event);\";function gdk_scroll_event_get_direction(event) bind(c)\r\ngdk;gdk_scroll_event_get_relative_direction;;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"GdkScrollRelativeDirection gdk_scroll_event_get_relative_direction (GdkEvent *event);\";function gdk_scroll_event_get_relative_direction(event) bind(c)\r\ngdk;gdk_scroll_event_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"GType gdk_scroll_event_get_type (void) ;\";function gdk_scroll_event_get_type() bind(c)\r\ngdk;gdk_scroll_event_get_unit;GDK_AVAILABLE_IN_4_8;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"GdkScrollUnit gdk_scroll_event_get_unit (GdkEvent *event);\";function gdk_scroll_event_get_unit(event) bind(c)\r\ngdk;gdk_scroll_event_is_stop;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"gboolean gdk_scroll_event_is_stop (GdkEvent *event);\";function gdk_scroll_event_is_stop(event) bind(c)\r\ngdk;gdk_scroll_relative_direction_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkenumtypes.h;\"GType gdk_scroll_relative_direction_get_type (void);\";function gdk_scroll_relative_direction_get_type() bind(c)\r\ngdk;gdk_scroll_unit_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkenumtypes.h;\"GType gdk_scroll_unit_get_type (void);\";function gdk_scroll_unit_get_type() bind(c)\r\ngdk;gdk_seat_capabilities_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkenumtypes.h;\"GType gdk_seat_capabilities_get_type (void);\";function gdk_seat_capabilities_get_type() bind(c)\r\ngdk;gdk_seat_get_capabilities;;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkseat.h;\"GdkSeatCapabilities gdk_seat_get_capabilities (GdkSeat *seat);\";function gdk_seat_get_capabilities(seat) bind(c)\r\ngdk;gdk_seat_get_devices;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkseat.h;\"GList * gdk_seat_get_devices (GdkSeat *seat, GdkSeatCapabilities capabilities);\";function gdk_seat_get_devices(seat, capabilities) bind(c)\r\ngdk;gdk_seat_get_display;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkseat.h;\"GdkDisplay * gdk_seat_get_display (GdkSeat *seat);\";function gdk_seat_get_display(seat) bind(c)\r\ngdk;gdk_seat_get_keyboard;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkseat.h;\"GdkDevice * gdk_seat_get_keyboard (GdkSeat *seat);\";function gdk_seat_get_keyboard(seat) bind(c)\r\ngdk;gdk_seat_get_pointer;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkseat.h;\"GdkDevice * gdk_seat_get_pointer (GdkSeat *seat);\";function gdk_seat_get_pointer(seat) bind(c)\r\ngdk;gdk_seat_get_tools;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkseat.h;\"GList * gdk_seat_get_tools (GdkSeat *seat);\";function gdk_seat_get_tools(seat) bind(c)\r\ngdk;gdk_seat_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkseat.h;\"GType gdk_seat_get_type (void) ;\";function gdk_seat_get_type() bind(c)\r\ngdk;gdk_set_allowed_backends;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkdisplaymanager.h;\"void gdk_set_allowed_backends (const char *backends);\";subroutine gdk_set_allowed_backends(backends) bind(c)\r\ngdk;gdk_snapshot_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdksnapshot.h;\"GType gdk_snapshot_get_type (void) ;\";function gdk_snapshot_get_type() bind(c)\r\ngdk;gdk_subpixel_layout_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkenumtypes.h;\"GType gdk_subpixel_layout_get_type (void);\";function gdk_subpixel_layout_get_type() bind(c)\r\ngdk;gdk_surface_beep;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdksurface.h;\"void gdk_surface_beep (GdkSurface *surface);\";subroutine gdk_surface_beep(surface) bind(c)\r\ngdk;gdk_surface_create_cairo_context;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdksurface.h;\"GdkCairoContext *gdk_surface_create_cairo_context(GdkSurface *surface);\";function gdk_surface_create_cairo_context(surface) bind(c)\r\ngdk;gdk_surface_create_gl_context;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdksurface.h;\"GdkGLContext * gdk_surface_create_gl_context (GdkSurface *surface, GError **error);\";function gdk_surface_create_gl_context(surface, error) bind(c)\r\ngdk;gdk_surface_create_similar_surface;;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdksurface.h;\"cairo_surface_t * gdk_surface_create_similar_surface (GdkSurface *surface, cairo_content_t content, int width, int height);\";function gdk_surface_create_similar_surface(surface, content, width, height) bind(c)\r\ngdk;gdk_surface_create_vulkan_context;;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdksurface.h;\"GdkVulkanContext * gdk_surface_create_vulkan_context(GdkSurface *surface, GError **error);\";function gdk_surface_create_vulkan_context(surface, error) bind(c)\r\ngdk;gdk_surface_destroy;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdksurface.h;\"void gdk_surface_destroy (GdkSurface *surface);\";subroutine gdk_surface_destroy(surface) bind(c)\r\ngdk;gdk_surface_edge_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkenumtypes.h;\"GType gdk_surface_edge_get_type (void);\";function gdk_surface_edge_get_type() bind(c)\r\ngdk;gdk_surface_get_cursor;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdksurface.h;\"GdkCursor *gdk_surface_get_cursor (GdkSurface *surface);\";function gdk_surface_get_cursor(surface) bind(c)\r\ngdk;gdk_surface_get_device_cursor;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdksurface.h;\"GdkCursor *gdk_surface_get_device_cursor (GdkSurface *surface, GdkDevice *device);\";function gdk_surface_get_device_cursor(surface, device) bind(c)\r\ngdk;gdk_surface_get_device_position;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdksurface.h;\"gboolean gdk_surface_get_device_position (GdkSurface *surface, GdkDevice *device, double *x, double *y, GdkModifierType *mask);\";function gdk_surface_get_device_position(surface, device, x, y, mask) bind(c)\r\ngdk;gdk_surface_get_display;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdksurface.h;\"GdkDisplay * gdk_surface_get_display (GdkSurface *surface);\";function gdk_surface_get_display(surface) bind(c)\r\ngdk;gdk_surface_get_frame_clock;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdksurface.h;\"GdkFrameClock* gdk_surface_get_frame_clock (GdkSurface *surface);\";function gdk_surface_get_frame_clock(surface) bind(c)\r\ngdk;gdk_surface_get_height;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdksurface.h;\"int gdk_surface_get_height (GdkSurface *surface);\";function gdk_surface_get_height(surface) bind(c)\r\ngdk;gdk_surface_get_mapped;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdksurface.h;\"gboolean gdk_surface_get_mapped (GdkSurface *surface);\";function gdk_surface_get_mapped(surface) bind(c)\r\ngdk;gdk_surface_get_scale;GDK_AVAILABLE_IN_4_12;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdksurface.h;\"double gdk_surface_get_scale (GdkSurface *surface);\";function gdk_surface_get_scale(surface) bind(c)\r\ngdk;gdk_surface_get_scale_factor;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdksurface.h;\"int gdk_surface_get_scale_factor (GdkSurface *surface);\";function gdk_surface_get_scale_factor(surface) bind(c)\r\ngdk;gdk_surface_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdksurface.h;\"GType gdk_surface_get_type (void) ;\";function gdk_surface_get_type() bind(c)\r\ngdk;gdk_surface_get_width;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdksurface.h;\"int gdk_surface_get_width (GdkSurface *surface);\";function gdk_surface_get_width(surface) bind(c)\r\ngdk;gdk_surface_hide;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdksurface.h;\"void gdk_surface_hide (GdkSurface *surface);\";subroutine gdk_surface_hide(surface) bind(c)\r\ngdk;gdk_surface_is_destroyed;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdksurface.h;\"gboolean gdk_surface_is_destroyed (GdkSurface *surface);\";function gdk_surface_is_destroyed(surface) bind(c)\r\ngdk;gdk_surface_new_popup;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdksurface.h;\"GdkSurface * gdk_surface_new_popup (GdkSurface *parent, gboolean autohide);\";function gdk_surface_new_popup(parent, autohide) bind(c)\r\ngdk;gdk_surface_new_toplevel;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdksurface.h;\"GdkSurface * gdk_surface_new_toplevel (GdkDisplay *display);\";function gdk_surface_new_toplevel(display) bind(c)\r\ngdk;gdk_surface_queue_render;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdksurface.h;\"void gdk_surface_queue_render (GdkSurface *surface);\";subroutine gdk_surface_queue_render(surface) bind(c)\r\ngdk;gdk_surface_request_layout;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdksurface.h;\"void gdk_surface_request_layout (GdkSurface *surface);\";subroutine gdk_surface_request_layout(surface) bind(c)\r\ngdk;gdk_surface_set_cursor;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdksurface.h;\"void gdk_surface_set_cursor (GdkSurface *surface, GdkCursor *cursor);\";subroutine gdk_surface_set_cursor(surface, cursor) bind(c)\r\ngdk;gdk_surface_set_device_cursor;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdksurface.h;\"void gdk_surface_set_device_cursor (GdkSurface *surface, GdkDevice *device, GdkCursor *cursor);\";subroutine gdk_surface_set_device_cursor(surface, device, cursor) bind(c)\r\ngdk;gdk_surface_set_input_region;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdksurface.h;\"void gdk_surface_set_input_region (GdkSurface *surface, cairo_region_t *region);\";subroutine gdk_surface_set_input_region(surface, region) bind(c)\r\ngdk;gdk_surface_set_opaque_region;GDK_DEPRECATED_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdksurface.h;\"void gdk_surface_set_opaque_region (GdkSurface *surface, cairo_region_t *region);\";subroutine gdk_surface_set_opaque_region(surface, region) bind(c)\r\ngdk;gdk_surface_translate_coordinates;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdksurface.h;\"gboolean gdk_surface_translate_coordinates (GdkSurface *from, GdkSurface *to, double *x, double *y);\";function gdk_surface_translate_coordinates(from, to, x, y) bind(c)\r\ngdk;gdk_texture_download;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktexture.h;\"void gdk_texture_download (GdkTexture *texture, guchar *data, gsize stride);\";subroutine gdk_texture_download(texture, data, stride) bind(c)\r\ngdk;gdk_texture_downloader_copy;GDK_AVAILABLE_IN_4_10;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktexturedownloader.h;\"GdkTextureDownloader * gdk_texture_downloader_copy (const GdkTextureDownloader *self);\";function gdk_texture_downloader_copy(self) bind(c)\r\ngdk;gdk_texture_downloader_download_bytes;GDK_AVAILABLE_IN_4_10;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktexturedownloader.h;\"GBytes * gdk_texture_downloader_download_bytes (const GdkTextureDownloader *self, gsize *out_stride);\";function gdk_texture_downloader_download_bytes(self, out_stride) bind(c)\r\ngdk;gdk_texture_downloader_download_into;GDK_AVAILABLE_IN_4_10;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktexturedownloader.h;\"void gdk_texture_downloader_download_into (const GdkTextureDownloader *self, guchar *data, gsize stride);\";subroutine gdk_texture_downloader_download_into(self, data, stride) bind(c)\r\ngdk;gdk_texture_downloader_free;GDK_AVAILABLE_IN_4_10;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktexturedownloader.h;\"void gdk_texture_downloader_free (GdkTextureDownloader *self);\";subroutine gdk_texture_downloader_free(self) bind(c)\r\ngdk;gdk_texture_downloader_get_color_state;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktexturedownloader.h;\"GdkColorState * gdk_texture_downloader_get_color_state (const GdkTextureDownloader *self);\";function gdk_texture_downloader_get_color_state(self) bind(c)\r\ngdk;gdk_texture_downloader_get_format;GDK_AVAILABLE_IN_4_10;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktexturedownloader.h;\"GdkMemoryFormat gdk_texture_downloader_get_format (const GdkTextureDownloader *self);\";function gdk_texture_downloader_get_format(self) bind(c)\r\ngdk;gdk_texture_downloader_get_texture;GDK_AVAILABLE_IN_4_10;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktexturedownloader.h;\"GdkTexture * gdk_texture_downloader_get_texture (const GdkTextureDownloader *self);\";function gdk_texture_downloader_get_texture(self) bind(c)\r\ngdk;gdk_texture_downloader_get_type;GDK_AVAILABLE_IN_4_10;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktexturedownloader.h;\"GType gdk_texture_downloader_get_type (void) ;\";function gdk_texture_downloader_get_type() bind(c)\r\ngdk;gdk_texture_downloader_new;GDK_AVAILABLE_IN_4_10;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktexturedownloader.h;\"GdkTextureDownloader * gdk_texture_downloader_new (GdkTexture *texture);\";function gdk_texture_downloader_new(texture) bind(c)\r\ngdk;gdk_texture_downloader_set_color_state;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktexturedownloader.h;\"void gdk_texture_downloader_set_color_state (GdkTextureDownloader *self, GdkColorState *color_state);\";subroutine gdk_texture_downloader_set_color_state(self, color_state) bind(c)\r\ngdk;gdk_texture_downloader_set_format;GDK_AVAILABLE_IN_4_10;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktexturedownloader.h;\"void gdk_texture_downloader_set_format (GdkTextureDownloader *self, GdkMemoryFormat format);\";subroutine gdk_texture_downloader_set_format(self, format) bind(c)\r\ngdk;gdk_texture_downloader_set_texture;GDK_AVAILABLE_IN_4_10;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktexturedownloader.h;\"void gdk_texture_downloader_set_texture (GdkTextureDownloader *self, GdkTexture *texture);\";subroutine gdk_texture_downloader_set_texture(self, texture) bind(c)\r\ngdk;gdk_texture_error_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkenumtypes.h;\"GType gdk_texture_error_get_type (void);\";function gdk_texture_error_get_type() bind(c)\r\ngdk;gdk_texture_error_quark;GDK_AVAILABLE_IN_4_6;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktexture.h;\"GQuark gdk_texture_error_quark (void);\";function gdk_texture_error_quark() bind(c)\r\ngdk;gdk_texture_get_color_state;GDK_AVAILABLE_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktexture.h;\"GdkColorState * gdk_texture_get_color_state (GdkTexture *self);\";function gdk_texture_get_color_state(self) bind(c)\r\ngdk;gdk_texture_get_format;GDK_AVAILABLE_IN_4_10;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktexture.h;\"GdkMemoryFormat gdk_texture_get_format (GdkTexture *self) ;\";function gdk_texture_get_format(self) bind(c)\r\ngdk;gdk_texture_get_height;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktexture.h;\"int gdk_texture_get_height (GdkTexture *texture) ;\";function gdk_texture_get_height(texture) bind(c)\r\ngdk;gdk_texture_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktexture.h;\"GType gdk_texture_get_type (void) ;\";function gdk_texture_get_type() bind(c)\r\ngdk;gdk_texture_get_width;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktexture.h;\"int gdk_texture_get_width (GdkTexture *texture) ;\";function gdk_texture_get_width(texture) bind(c)\r\ngdk;gdk_texture_new_for_pixbuf;GDK_DEPRECATED_IN_4_20;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktexture.h;\"GdkTexture * gdk_texture_new_for_pixbuf (GdkPixbuf *pixbuf);\";function gdk_texture_new_for_pixbuf(pixbuf) bind(c)\r\ngdk;gdk_texture_new_from_bytes;GDK_AVAILABLE_IN_4_6;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktexture.h;\"GdkTexture * gdk_texture_new_from_bytes (GBytes *bytes, GError **error);\";function gdk_texture_new_from_bytes(bytes, error) bind(c)\r\ngdk;gdk_texture_new_from_file;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktexture.h;\"GdkTexture * gdk_texture_new_from_file (GFile *file, GError **error);\";function gdk_texture_new_from_file(file, error) bind(c)\r\ngdk;gdk_texture_new_from_filename;GDK_AVAILABLE_IN_4_6;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktexture.h;\"GdkTexture * gdk_texture_new_from_filename (const char *path, GError **error);\";function gdk_texture_new_from_filename(path, error) bind(c)\r\ngdk;gdk_texture_new_from_resource;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktexture.h;\"GdkTexture * gdk_texture_new_from_resource (const char *resource_path);\";function gdk_texture_new_from_resource(resource_path) bind(c)\r\ngdk;gdk_texture_save_to_png;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktexture.h;\"gboolean gdk_texture_save_to_png (GdkTexture *texture, const char *filename);\";function gdk_texture_save_to_png(texture, filename) bind(c)\r\ngdk;gdk_texture_save_to_png_bytes;GDK_AVAILABLE_IN_4_6;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktexture.h;\"GBytes * gdk_texture_save_to_png_bytes (GdkTexture *texture);\";function gdk_texture_save_to_png_bytes(texture) bind(c)\r\ngdk;gdk_texture_save_to_tiff;GDK_AVAILABLE_IN_4_6;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktexture.h;\"gboolean gdk_texture_save_to_tiff (GdkTexture *texture, const char *filename);\";function gdk_texture_save_to_tiff(texture, filename) bind(c)\r\ngdk;gdk_texture_save_to_tiff_bytes;GDK_AVAILABLE_IN_4_6;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktexture.h;\"GBytes * gdk_texture_save_to_tiff_bytes (GdkTexture *texture);\";function gdk_texture_save_to_tiff_bytes(texture) bind(c)\r\ngdk;gdk_titlebar_gesture_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkenumtypes.h;\"GType gdk_titlebar_gesture_get_type (void);\";function gdk_titlebar_gesture_get_type() bind(c)\r\ngdk;gdk_toplevel_begin_move;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevel.h;\"void gdk_toplevel_begin_move (GdkToplevel *toplevel, GdkDevice *device, int button, double x, double y, guint32 timestamp);\";subroutine gdk_toplevel_begin_move(toplevel, device, button, x, y, timestamp) bind(c)\r\ngdk;gdk_toplevel_begin_resize;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevel.h;\"void gdk_toplevel_begin_resize (GdkToplevel *toplevel, GdkSurfaceEdge edge, GdkDevice *device, int button, double x, double y, guint32 timestamp);\";subroutine gdk_toplevel_begin_resize(toplevel, edge, device, button, x, y, timestamp) bind(c)\r\ngdk;gdk_toplevel_capabilities_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkenumtypes.h;\"GType gdk_toplevel_capabilities_get_type (void);\";function gdk_toplevel_capabilities_get_type() bind(c)\r\ngdk;gdk_toplevel_focus;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevel.h;\"void gdk_toplevel_focus (GdkToplevel *toplevel, guint32 timestamp);\";subroutine gdk_toplevel_focus(toplevel, timestamp) bind(c)\r\ngdk;gdk_toplevel_get_capabilities;GDK_AVAILABLE_IN_4_20;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevel.h;\"GdkToplevelCapabilities gdk_toplevel_get_capabilities (GdkToplevel *toplevel);\";function gdk_toplevel_get_capabilities(toplevel) bind(c)\r\ngdk;gdk_toplevel_get_gravity;GDK_AVAILABLE_IN_4_20;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevel.h;\"GdkGravity gdk_toplevel_get_gravity (GdkToplevel *toplevel);\";function gdk_toplevel_get_gravity(toplevel) bind(c)\r\ngdk;gdk_toplevel_get_state;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevel.h;\"GdkToplevelState gdk_toplevel_get_state (GdkToplevel *toplevel);\";function gdk_toplevel_get_state(toplevel) bind(c)\r\ngdk;gdk_toplevel_inhibit_system_shortcuts;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevel.h;\"void gdk_toplevel_inhibit_system_shortcuts (GdkToplevel *toplevel, GdkEvent *event);\";subroutine gdk_toplevel_inhibit_system_shortcuts(toplevel, event) bind(c)\r\ngdk;gdk_toplevel_layout_copy;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevellayout.h;\"GdkToplevelLayout * gdk_toplevel_layout_copy (GdkToplevelLayout *layout);\";function gdk_toplevel_layout_copy(layout) bind(c)\r\ngdk;gdk_toplevel_layout_equal;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevellayout.h;\"gboolean gdk_toplevel_layout_equal (GdkToplevelLayout *layout, GdkToplevelLayout *other);\";function gdk_toplevel_layout_equal(layout, other) bind(c)\r\ngdk;gdk_toplevel_layout_get_fullscreen;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevellayout.h;\"gboolean gdk_toplevel_layout_get_fullscreen (GdkToplevelLayout *layout, gboolean *fullscreen);\";function gdk_toplevel_layout_get_fullscreen(layout, fullscreen) bind(c)\r\ngdk;gdk_toplevel_layout_get_fullscreen_monitor;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevellayout.h;\"GdkMonitor * gdk_toplevel_layout_get_fullscreen_monitor (GdkToplevelLayout *layout);\";function gdk_toplevel_layout_get_fullscreen_monitor(layout) bind(c)\r\ngdk;gdk_toplevel_layout_get_maximized;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevellayout.h;\"gboolean gdk_toplevel_layout_get_maximized (GdkToplevelLayout *layout, gboolean *maximized);\";function gdk_toplevel_layout_get_maximized(layout, maximized) bind(c)\r\ngdk;gdk_toplevel_layout_get_resizable;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevellayout.h;\"gboolean gdk_toplevel_layout_get_resizable (GdkToplevelLayout *layout);\";function gdk_toplevel_layout_get_resizable(layout) bind(c)\r\ngdk;gdk_toplevel_layout_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevellayout.h;\"GType gdk_toplevel_layout_get_type (void);\";function gdk_toplevel_layout_get_type() bind(c)\r\ngdk;gdk_toplevel_layout_new;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevellayout.h;\"GdkToplevelLayout * gdk_toplevel_layout_new (void);\";function gdk_toplevel_layout_new() bind(c)\r\ngdk;gdk_toplevel_layout_ref;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevellayout.h;\"GdkToplevelLayout * gdk_toplevel_layout_ref (GdkToplevelLayout *layout);\";function gdk_toplevel_layout_ref(layout) bind(c)\r\ngdk;gdk_toplevel_layout_set_fullscreen;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevellayout.h;\"void gdk_toplevel_layout_set_fullscreen (GdkToplevelLayout *layout, gboolean fullscreen, GdkMonitor *monitor);\";subroutine gdk_toplevel_layout_set_fullscreen(layout, fullscreen, monitor) bind(c)\r\ngdk;gdk_toplevel_layout_set_maximized;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevellayout.h;\"void gdk_toplevel_layout_set_maximized (GdkToplevelLayout *layout, gboolean maximized);\";subroutine gdk_toplevel_layout_set_maximized(layout, maximized) bind(c)\r\ngdk;gdk_toplevel_layout_set_resizable;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevellayout.h;\"void gdk_toplevel_layout_set_resizable (GdkToplevelLayout *layout, gboolean resizable);\";subroutine gdk_toplevel_layout_set_resizable(layout, resizable) bind(c)\r\ngdk;gdk_toplevel_layout_unref;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevellayout.h;\"void gdk_toplevel_layout_unref (GdkToplevelLayout *layout);\";subroutine gdk_toplevel_layout_unref(layout) bind(c)\r\ngdk;gdk_toplevel_lower;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevel.h;\"gboolean gdk_toplevel_lower (GdkToplevel *toplevel);\";function gdk_toplevel_lower(toplevel) bind(c)\r\ngdk;gdk_toplevel_minimize;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevel.h;\"gboolean gdk_toplevel_minimize (GdkToplevel *toplevel);\";function gdk_toplevel_minimize(toplevel) bind(c)\r\ngdk;gdk_toplevel_present;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevel.h;\"void gdk_toplevel_present (GdkToplevel *toplevel, GdkToplevelLayout *layout);\";subroutine gdk_toplevel_present(toplevel, layout) bind(c)\r\ngdk;gdk_toplevel_restore_system_shortcuts;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevel.h;\"void gdk_toplevel_restore_system_shortcuts (GdkToplevel *toplevel);\";subroutine gdk_toplevel_restore_system_shortcuts(toplevel) bind(c)\r\ngdk;gdk_toplevel_set_decorated;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevel.h;\"void gdk_toplevel_set_decorated (GdkToplevel *toplevel, gboolean decorated);\";subroutine gdk_toplevel_set_decorated(toplevel, decorated) bind(c)\r\ngdk;gdk_toplevel_set_deletable;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevel.h;\"void gdk_toplevel_set_deletable (GdkToplevel *toplevel, gboolean deletable);\";subroutine gdk_toplevel_set_deletable(toplevel, deletable) bind(c)\r\ngdk;gdk_toplevel_set_gravity;GDK_AVAILABLE_IN_4_20;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevel.h;\"void gdk_toplevel_set_gravity (GdkToplevel *toplevel, GdkGravity gravity);\";subroutine gdk_toplevel_set_gravity(toplevel, gravity) bind(c)\r\ngdk;gdk_toplevel_set_icon_list;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevel.h;\"void gdk_toplevel_set_icon_list (GdkToplevel *toplevel, GList *surfaces);\";subroutine gdk_toplevel_set_icon_list(toplevel, surfaces) bind(c)\r\ngdk;gdk_toplevel_set_modal;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevel.h;\"void gdk_toplevel_set_modal (GdkToplevel *toplevel, gboolean modal);\";subroutine gdk_toplevel_set_modal(toplevel, modal) bind(c)\r\ngdk;gdk_toplevel_set_startup_id;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevel.h;\"void gdk_toplevel_set_startup_id (GdkToplevel *toplevel, const char *startup_id);\";subroutine gdk_toplevel_set_startup_id(toplevel, startup_id) bind(c)\r\ngdk;gdk_toplevel_set_title;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevel.h;\"void gdk_toplevel_set_title (GdkToplevel *toplevel, const char *title);\";subroutine gdk_toplevel_set_title(toplevel, title) bind(c)\r\ngdk;gdk_toplevel_set_transient_for;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevel.h;\"void gdk_toplevel_set_transient_for (GdkToplevel *toplevel, GdkSurface *parent);\";subroutine gdk_toplevel_set_transient_for(toplevel, parent) bind(c)\r\ngdk;gdk_toplevel_show_window_menu;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevel.h;\"gboolean gdk_toplevel_show_window_menu (GdkToplevel *toplevel, GdkEvent *event);\";function gdk_toplevel_show_window_menu(toplevel, event) bind(c)\r\ngdk;gdk_toplevel_size_get_bounds;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevelsize.h;\"void gdk_toplevel_size_get_bounds (GdkToplevelSize *size, int *bounds_width, int *bounds_height);\";subroutine gdk_toplevel_size_get_bounds(size, bounds_width, bounds_height) bind(c)\r\ngdk;gdk_toplevel_size_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevelsize.h;\"GType gdk_toplevel_size_get_type (void);\";function gdk_toplevel_size_get_type() bind(c)\r\ngdk;gdk_toplevel_size_set_min_size;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevelsize.h;\"void gdk_toplevel_size_set_min_size (GdkToplevelSize *size, int min_width, int min_height);\";subroutine gdk_toplevel_size_set_min_size(size, min_width, min_height) bind(c)\r\ngdk;gdk_toplevel_size_set_shadow_width;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevelsize.h;\"void gdk_toplevel_size_set_shadow_width (GdkToplevelSize *size, int left, int right, int top, int bottom);\";subroutine gdk_toplevel_size_set_shadow_width(size, left, right, top, bottom) bind(c)\r\ngdk;gdk_toplevel_size_set_size;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevelsize.h;\"void gdk_toplevel_size_set_size (GdkToplevelSize *size, int width, int height);\";subroutine gdk_toplevel_size_set_size(size, width, height) bind(c)\r\ngdk;gdk_toplevel_state_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkenumtypes.h;\"GType gdk_toplevel_state_get_type (void);\";function gdk_toplevel_state_get_type() bind(c)\r\ngdk;gdk_toplevel_supports_edge_constraints;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevel.h;\"gboolean gdk_toplevel_supports_edge_constraints (GdkToplevel *toplevel);\";function gdk_toplevel_supports_edge_constraints(toplevel) bind(c)\r\ngdk;gdk_toplevel_titlebar_gesture;GDK_AVAILABLE_IN_4_4;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdktoplevel.h;\"gboolean gdk_toplevel_titlebar_gesture (GdkToplevel *toplevel, GdkTitlebarGesture gesture);\";function gdk_toplevel_titlebar_gesture(toplevel, gesture) bind(c)\r\ngdk;gdk_touch_event_get_emulating_pointer;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"gboolean gdk_touch_event_get_emulating_pointer (GdkEvent *event);\";function gdk_touch_event_get_emulating_pointer(event) bind(c)\r\ngdk;gdk_touch_event_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"GType gdk_touch_event_get_type (void) ;\";function gdk_touch_event_get_type() bind(c)\r\ngdk;gdk_touchpad_event_get_deltas;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"void gdk_touchpad_event_get_deltas (GdkEvent *event, double *dx, double *dy);\";subroutine gdk_touchpad_event_get_deltas(event, dx, dy) bind(c)\r\ngdk;gdk_touchpad_event_get_gesture_phase;;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"GdkTouchpadGesturePhase gdk_touchpad_event_get_gesture_phase (GdkEvent *event);\";function gdk_touchpad_event_get_gesture_phase(event) bind(c)\r\ngdk;gdk_touchpad_event_get_n_fingers;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"guint gdk_touchpad_event_get_n_fingers (GdkEvent *event);\";function gdk_touchpad_event_get_n_fingers(event) bind(c)\r\ngdk;gdk_touchpad_event_get_pinch_angle_delta;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"double gdk_touchpad_event_get_pinch_angle_delta (GdkEvent *event);\";function gdk_touchpad_event_get_pinch_angle_delta(event) bind(c)\r\ngdk;gdk_touchpad_event_get_pinch_scale;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"double gdk_touchpad_event_get_pinch_scale (GdkEvent *event);\";function gdk_touchpad_event_get_pinch_scale(event) bind(c)\r\ngdk;gdk_touchpad_event_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkevents.h;\"GType gdk_touchpad_event_get_type (void) ;\";function gdk_touchpad_event_get_type() bind(c)\r\ngdk;gdk_touchpad_gesture_phase_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkenumtypes.h;\"GType gdk_touchpad_gesture_phase_get_type (void);\";function gdk_touchpad_gesture_phase_get_type() bind(c)\r\ngdk;gdk_unicode_to_keyval;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkkeys.h;\"guint gdk_unicode_to_keyval (guint32 wc) ;\";function gdk_unicode_to_keyval(wc) bind(c)\r\ngdk;gdk_vulkan_context_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkvulkancontext.h;\"GType gdk_vulkan_context_get_type (void) ;\";function gdk_vulkan_context_get_type() bind(c)\r\ngdk;gdk_vulkan_error_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkenumtypes.h;\"GType gdk_vulkan_error_get_type (void);\";function gdk_vulkan_error_get_type() bind(c)\r\ngdk;gdk_vulkan_error_quark;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/gdkvulkancontext.h;\"GQuark gdk_vulkan_error_quark (void);\";function gdk_vulkan_error_quark() bind(c)\r\ngdk;gdk_wayland_device_get_node_path;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/wayland/gdkwaylanddevice.h;\"const char *gdk_wayland_device_get_node_path (GdkDevice *device);\";function gdk_wayland_device_get_node_path(device) bind(c)\r\ngdk;gdk_wayland_device_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/wayland/gdkwaylanddevice.h;\"GType gdk_wayland_device_get_type (void);\";function gdk_wayland_device_get_type() bind(c)\r\ngdk;gdk_wayland_display_get_egl_display;GDK_AVAILABLE_IN_4_4;gdk-auto.f90;/usr/include/gtk-4.0/gdk/wayland/gdkwaylanddisplay.h;\"gpointer gdk_wayland_display_get_egl_display (GdkDisplay *display);\";function gdk_wayland_display_get_egl_display(display) bind(c)\r\ngdk;gdk_wayland_display_get_startup_notification_id;GDK_DEPRECATED_IN_4_10;gdk-auto.f90;/usr/include/gtk-4.0/gdk/wayland/gdkwaylanddisplay.h;\"const char * gdk_wayland_display_get_startup_notification_id (GdkDisplay *display);\";function gdk_wayland_display_get_startup_notification_id(display) bind(c)\r\ngdk;gdk_wayland_display_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/wayland/gdkwaylanddisplay.h;\"GType gdk_wayland_display_get_type (void);\";function gdk_wayland_display_get_type() bind(c)\r\ngdk;gdk_wayland_display_query_registry;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/wayland/gdkwaylanddisplay.h;\"gboolean gdk_wayland_display_query_registry (GdkDisplay *display, const char *global);\";function gdk_wayland_display_query_registry(display, global) bind(c)\r\ngdk;gdk_wayland_display_set_cursor_theme;GDK_DEPRECATED_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/wayland/gdkwaylanddisplay.h;\"void gdk_wayland_display_set_cursor_theme (GdkDisplay *display, const char *name, int size);\";subroutine gdk_wayland_display_set_cursor_theme(display, name, size) bind(c)\r\ngdk;gdk_wayland_display_set_startup_notification_id;GDK_DEPRECATED_IN_4_10_FOR(gdk_toplevel_set_startup_id);gdk-auto.f90;/usr/include/gtk-4.0/gdk/wayland/gdkwaylanddisplay.h;\"void gdk_wayland_display_set_startup_notification_id (GdkDisplay *display, const char *startup_id);\";subroutine gdk_wayland_display_set_startup_notification_id(display, startup_id) bind(c)\r\ngdk;gdk_wayland_gl_context_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/wayland/gdkwaylandglcontext.h;\"GType gdk_wayland_gl_context_get_type (void) ;\";function gdk_wayland_gl_context_get_type() bind(c)\r\ngdk;gdk_wayland_monitor_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/wayland/gdkwaylandmonitor.h;\"GType gdk_wayland_monitor_get_type (void) ;\";function gdk_wayland_monitor_get_type() bind(c)\r\ngdk;gdk_wayland_popup_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/wayland/gdkwaylandpopup.h;\"GType gdk_wayland_popup_get_type (void);\";function gdk_wayland_popup_get_type() bind(c)\r\ngdk;gdk_wayland_seat_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/wayland/gdkwaylandseat.h;\"GType gdk_wayland_seat_get_type (void) ;\";function gdk_wayland_seat_get_type() bind(c)\r\ngdk;gdk_wayland_surface_force_next_commit;GDK_AVAILABLE_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/wayland/gdkwaylandsurface.h;\"void gdk_wayland_surface_force_next_commit (GdkSurface *surface);\";subroutine gdk_wayland_surface_force_next_commit(surface) bind(c)\r\ngdk;gdk_wayland_surface_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/wayland/gdkwaylandsurface.h;\"GType gdk_wayland_surface_get_type (void);\";function gdk_wayland_surface_get_type() bind(c)\r\ngdk;gdk_wayland_toplevel_drop_exported_handle;GDK_AVAILABLE_IN_4_12;gdk-auto.f90;/usr/include/gtk-4.0/gdk/wayland/gdkwaylandtoplevel.h;\"void gdk_wayland_toplevel_drop_exported_handle (GdkToplevel *toplevel, const char *handle);\";subroutine gdk_wayland_toplevel_drop_exported_handle(toplevel, handle) bind(c)\r\ngdk;gdk_wayland_toplevel_export_handle;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/wayland/gdkwaylandtoplevel.h;\"gboolean gdk_wayland_toplevel_export_handle (GdkToplevel *toplevel, GdkWaylandToplevelExported callback, gpointer user_data, GDestroyNotify destroy_func);\";function gdk_wayland_toplevel_export_handle(toplevel, callback, user_data, destroy_func) bind(c)\r\ngdk;gdk_wayland_toplevel_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/wayland/gdkwaylandtoplevel.h;\"GType gdk_wayland_toplevel_get_type (void);\";function gdk_wayland_toplevel_get_type() bind(c)\r\ngdk;gdk_wayland_toplevel_set_application_id;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/wayland/gdkwaylandtoplevel.h;\"void gdk_wayland_toplevel_set_application_id (GdkToplevel *toplevel, const char *application_id);\";subroutine gdk_wayland_toplevel_set_application_id(toplevel, application_id) bind(c)\r\ngdk;gdk_wayland_toplevel_set_transient_for_exported;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/wayland/gdkwaylandtoplevel.h;\"gboolean gdk_wayland_toplevel_set_transient_for_exported (GdkToplevel *toplevel, const char *parent_handle_str);\";function gdk_wayland_toplevel_set_transient_for_exported(toplevel, parent_handle_str) bind(c)\r\ngdk;gdk_wayland_toplevel_unexport_handle;GDK_DEPRECATED_IN_4_12_FOR(gdk_wayland_toplevel_drop_exported_handle);gdk-auto.f90;/usr/include/gtk-4.0/gdk/wayland/gdkwaylandtoplevel.h;\"void gdk_wayland_toplevel_unexport_handle (GdkToplevel *toplevel);\";subroutine gdk_wayland_toplevel_unexport_handle(toplevel) bind(c)\r\ngdk;gdk_x11_app_launch_context_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11applaunchcontext.h;\"GType gdk_x11_app_launch_context_get_type (void);\";function gdk_x11_app_launch_context_get_type() bind(c)\r\ngdk;gdk_x11_device_get_id;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11device.h;\"int gdk_x11_device_get_id (GdkDevice *device);\";function gdk_x11_device_get_id(device) bind(c)\r\ngdk;gdk_x11_device_manager_lookup;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11devicemanager.h;\"GdkDevice * gdk_x11_device_manager_lookup (GdkX11DeviceManagerXI2 *device_manager, int device_id);\";function gdk_x11_device_manager_lookup(device_manager, device_id) bind(c)\r\ngdk;gdk_x11_device_manager_xi2_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11devicemanager-xi2.h;\"GType gdk_x11_device_manager_xi2_get_type (void) ;\";function gdk_x11_device_manager_xi2_get_type() bind(c)\r\ngdk;gdk_x11_device_xi2_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11device-xi2.h;\"GType gdk_x11_device_xi2_get_type (void) ;\";function gdk_x11_device_xi2_get_type() bind(c)\r\ngdk;gdk_x11_display_error_trap_pop;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11display.h;\"int gdk_x11_display_error_trap_pop (GdkDisplay *display);\";function gdk_x11_display_error_trap_pop(display) bind(c)\r\ngdk;gdk_x11_display_error_trap_pop_ignored;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11display.h;\"void gdk_x11_display_error_trap_pop_ignored (GdkDisplay *display);\";subroutine gdk_x11_display_error_trap_pop_ignored(display) bind(c)\r\ngdk;gdk_x11_display_error_trap_push;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11display.h;\"void gdk_x11_display_error_trap_push (GdkDisplay *display);\";subroutine gdk_x11_display_error_trap_push(display) bind(c)\r\ngdk;gdk_x11_display_get_default_group;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11display.h;\"GdkSurface * gdk_x11_display_get_default_group (GdkDisplay *display);\";function gdk_x11_display_get_default_group(display) bind(c)\r\ngdk;gdk_x11_display_get_egl_display;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11glcontext.h;\"gpointer gdk_x11_display_get_egl_display (GdkDisplay *display);\";function gdk_x11_display_get_egl_display(display) bind(c)\r\ngdk;gdk_x11_display_get_egl_version;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11glcontext.h;\"gboolean gdk_x11_display_get_egl_version (GdkDisplay *display, int *major, int *minor);\";function gdk_x11_display_get_egl_version(display, major, minor) bind(c)\r\ngdk;gdk_x11_display_get_glx_version;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11glcontext.h;\"gboolean gdk_x11_display_get_glx_version (GdkDisplay *display, int *major, int *minor);\";function gdk_x11_display_get_glx_version(display, major, minor) bind(c)\r\ngdk;gdk_x11_display_get_primary_monitor;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11display.h;\"GdkMonitor * gdk_x11_display_get_primary_monitor (GdkDisplay *display);\";function gdk_x11_display_get_primary_monitor(display) bind(c)\r\ngdk;gdk_x11_display_get_screen;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11display.h;\"GdkX11Screen *gdk_x11_display_get_screen (GdkDisplay *display);\";function gdk_x11_display_get_screen(display) bind(c)\r\ngdk;gdk_x11_display_get_startup_notification_id;GDK_DEPRECATED_IN_4_10;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11display.h;\"const char * gdk_x11_display_get_startup_notification_id (GdkDisplay *display);\";function gdk_x11_display_get_startup_notification_id(display) bind(c)\r\ngdk;gdk_x11_display_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11display.h;\"GType gdk_x11_display_get_type (void);\";function gdk_x11_display_get_type() bind(c)\r\ngdk;gdk_x11_display_get_user_time;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11display.h;\"guint32 gdk_x11_display_get_user_time (GdkDisplay *display);\";function gdk_x11_display_get_user_time(display) bind(c)\r\ngdk;gdk_x11_display_get_xcursor;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11display.h;\"Cursor gdk_x11_display_get_xcursor (GdkDisplay *display, GdkCursor *cursor);\";function gdk_x11_display_get_xcursor(display, cursor) bind(c)\r\ngdk;gdk_x11_display_get_xdisplay;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11display.h;\"Display * gdk_x11_display_get_xdisplay (GdkDisplay *display);\";function gdk_x11_display_get_xdisplay(display) bind(c)\r\ngdk;gdk_x11_display_get_xrootwindow;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11display.h;\"Window gdk_x11_display_get_xrootwindow (GdkDisplay *display);\";function gdk_x11_display_get_xrootwindow(display) bind(c)\r\ngdk;gdk_x11_display_get_xscreen;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11display.h;\"Screen * gdk_x11_display_get_xscreen (GdkDisplay *display);\";function gdk_x11_display_get_xscreen(display) bind(c)\r\ngdk;gdk_x11_display_grab;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11display.h;\"void gdk_x11_display_grab (GdkDisplay *display);\";subroutine gdk_x11_display_grab(display) bind(c)\r\ngdk;gdk_x11_display_open;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11display.h;\"GdkDisplay * gdk_x11_display_open (const char *display_name);\";function gdk_x11_display_open(display_name) bind(c)\r\ngdk;gdk_x11_display_set_cursor_theme;GDK_DEPRECATED_IN_4_16;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11display.h;\"void gdk_x11_display_set_cursor_theme (GdkDisplay *display, const char *theme, const int size);\";subroutine gdk_x11_display_set_cursor_theme(display, theme, size) bind(c)\r\ngdk;gdk_x11_display_set_program_class;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11display.h;\"void gdk_x11_display_set_program_class (GdkDisplay *display, const char *program_class);\";subroutine gdk_x11_display_set_program_class(display, program_class) bind(c)\r\ngdk;gdk_x11_display_set_startup_notification_id;GDK_DEPRECATED_IN_4_10;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11display.h;\"void gdk_x11_display_set_startup_notification_id (GdkDisplay *display, const char *startup_id);\";subroutine gdk_x11_display_set_startup_notification_id(display, startup_id) bind(c)\r\ngdk;gdk_x11_display_set_surface_scale;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11display.h;\"void gdk_x11_display_set_surface_scale (GdkDisplay *display, int scale);\";subroutine gdk_x11_display_set_surface_scale(display, scale) bind(c)\r\ngdk;gdk_x11_display_string_to_compound_text;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11selection.h;\"int gdk_x11_display_string_to_compound_text (GdkDisplay *display, const char *str, const char **encoding, int *format, guchar **ctext, int *length);\";function gdk_x11_display_string_to_compound_text(display, str, encoding, format, ctext, length) bind(c)\r\ngdk;gdk_x11_display_text_property_to_text_list;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11selection.h;\"int gdk_x11_display_text_property_to_text_list (GdkDisplay *display, const char *encoding, int format, const guchar *text, int length, char ***list);\";function gdk_x11_display_text_property_to_text_list(display, encoding, format, text, length, list) bind(c)\r\ngdk;gdk_x11_display_ungrab;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11display.h;\"void gdk_x11_display_ungrab (GdkDisplay *display);\";subroutine gdk_x11_display_ungrab(display) bind(c)\r\ngdk;gdk_x11_display_utf8_to_compound_text;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11selection.h;\"gboolean gdk_x11_display_utf8_to_compound_text (GdkDisplay *display, const char *str, const char **encoding, int *format, guchar **ctext, int *length);\";function gdk_x11_display_utf8_to_compound_text(display, str, encoding, format, ctext, length) bind(c)\r\ngdk;gdk_x11_drag_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11dnd.h;\"GType gdk_x11_drag_get_type (void);\";function gdk_x11_drag_get_type() bind(c)\r\ngdk;gdk_x11_free_compound_text;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11selection.h;\"void gdk_x11_free_compound_text (guchar *ctext);\";subroutine gdk_x11_free_compound_text(ctext) bind(c)\r\ngdk;gdk_x11_free_text_list;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11selection.h;\"void gdk_x11_free_text_list (char **list);\";subroutine gdk_x11_free_text_list(list) bind(c)\r\ngdk;gdk_x11_get_server_time;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11surface.h;\"guint32 gdk_x11_get_server_time (GdkSurface *surface);\";function gdk_x11_get_server_time(surface) bind(c)\r\ngdk;gdk_x11_get_xatom_by_name_for_display;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11property.h;\"Atom gdk_x11_get_xatom_by_name_for_display (GdkDisplay *display, const char *atom_name);\";function gdk_x11_get_xatom_by_name_for_display(display, atom_name) bind(c)\r\ngdk;gdk_x11_get_xatom_name_for_display;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11property.h;\"const char * gdk_x11_get_xatom_name_for_display (GdkDisplay *display, Atom xatom);\";function gdk_x11_get_xatom_name_for_display(display, xatom) bind(c)\r\ngdk;gdk_x11_gl_context_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11glcontext.h;\"GType gdk_x11_gl_context_get_type (void) ;\";function gdk_x11_gl_context_get_type() bind(c)\r\ngdk;gdk_x11_lookup_xdisplay;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11display.h;\"GdkDisplay *gdk_x11_lookup_xdisplay (Display *xdisplay);\";function gdk_x11_lookup_xdisplay(xdisplay) bind(c)\r\ngdk;gdk_x11_monitor_get_output;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11monitor.h;\"XID gdk_x11_monitor_get_output (GdkMonitor *monitor);\";function gdk_x11_monitor_get_output(monitor) bind(c)\r\ngdk;gdk_x11_monitor_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11monitor.h;\"GType gdk_x11_monitor_get_type (void) ;\";function gdk_x11_monitor_get_type() bind(c)\r\ngdk;gdk_x11_monitor_get_workarea;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11monitor.h;\"void gdk_x11_monitor_get_workarea (GdkMonitor *monitor, GdkRectangle *workarea);\";subroutine gdk_x11_monitor_get_workarea(monitor, workarea) bind(c)\r\ngdk;gdk_x11_screen_get_current_desktop;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11screen.h;\"guint32 gdk_x11_screen_get_current_desktop (GdkX11Screen *screen);\";function gdk_x11_screen_get_current_desktop(screen) bind(c)\r\ngdk;gdk_x11_screen_get_monitor_output;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11screen.h;\"XID gdk_x11_screen_get_monitor_output (GdkX11Screen *screen, int monitor_num);\";function gdk_x11_screen_get_monitor_output(screen, monitor_num) bind(c)\r\ngdk;gdk_x11_screen_get_number_of_desktops;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11screen.h;\"guint32 gdk_x11_screen_get_number_of_desktops (GdkX11Screen *screen);\";function gdk_x11_screen_get_number_of_desktops(screen) bind(c)\r\ngdk;gdk_x11_screen_get_screen_number;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11screen.h;\"int gdk_x11_screen_get_screen_number (GdkX11Screen *screen);\";function gdk_x11_screen_get_screen_number(screen) bind(c)\r\ngdk;gdk_x11_screen_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11screen.h;\"GType gdk_x11_screen_get_type (void);\";function gdk_x11_screen_get_type() bind(c)\r\ngdk;gdk_x11_screen_get_window_manager_name;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11screen.h;\"const char* gdk_x11_screen_get_window_manager_name (GdkX11Screen *screen);\";function gdk_x11_screen_get_window_manager_name(screen) bind(c)\r\ngdk;gdk_x11_screen_get_xscreen;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11screen.h;\"Screen * gdk_x11_screen_get_xscreen (GdkX11Screen *screen);\";function gdk_x11_screen_get_xscreen(screen) bind(c)\r\ngdk;gdk_x11_screen_supports_net_wm_hint;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11screen.h;\"gboolean gdk_x11_screen_supports_net_wm_hint (GdkX11Screen *screen, const char *property_name);\";function gdk_x11_screen_supports_net_wm_hint(screen, property_name) bind(c)\r\ngdk;gdk_x11_set_sm_client_id;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11display.h;\"void gdk_x11_set_sm_client_id (const char *sm_client_id);\";subroutine gdk_x11_set_sm_client_id(sm_client_id) bind(c)\r\ngdk;gdk_x11_surface_get_desktop;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11surface.h;\"guint32 gdk_x11_surface_get_desktop (GdkSurface *surface);\";function gdk_x11_surface_get_desktop(surface) bind(c)\r\ngdk;gdk_x11_surface_get_group;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11surface.h;\"GdkSurface * gdk_x11_surface_get_group (GdkSurface *surface);\";function gdk_x11_surface_get_group(surface) bind(c)\r\ngdk;gdk_x11_surface_get_type;GDK_AVAILABLE_IN_ALL;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11surface.h;\"GType gdk_x11_surface_get_type (void);\";function gdk_x11_surface_get_type() bind(c)\r\ngdk;gdk_x11_surface_get_xid;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11surface.h;\"Window gdk_x11_surface_get_xid (GdkSurface *surface);\";function gdk_x11_surface_get_xid(surface) bind(c)\r\ngdk;gdk_x11_surface_lookup_for_display;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11surface.h;\"GdkSurface *gdk_x11_surface_lookup_for_display (GdkDisplay *display, Window window);\";function gdk_x11_surface_lookup_for_display(display, window) bind(c)\r\ngdk;gdk_x11_surface_move_to_current_desktop;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11surface.h;\"void gdk_x11_surface_move_to_current_desktop (GdkSurface *surface);\";subroutine gdk_x11_surface_move_to_current_desktop(surface) bind(c)\r\ngdk;gdk_x11_surface_move_to_desktop;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11surface.h;\"void gdk_x11_surface_move_to_desktop (GdkSurface *surface, guint32 desktop);\";subroutine gdk_x11_surface_move_to_desktop(surface, desktop) bind(c)\r\ngdk;gdk_x11_surface_set_frame_sync_enabled;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11surface.h;\"void gdk_x11_surface_set_frame_sync_enabled (GdkSurface *surface, gboolean frame_sync_enabled);\";subroutine gdk_x11_surface_set_frame_sync_enabled(surface, frame_sync_enabled) bind(c)\r\ngdk;gdk_x11_surface_set_group;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11surface.h;\"void gdk_x11_surface_set_group (GdkSurface *surface, GdkSurface *leader);\";subroutine gdk_x11_surface_set_group(surface, leader) bind(c)\r\ngdk;gdk_x11_surface_set_skip_pager_hint;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11surface.h;\"void gdk_x11_surface_set_skip_pager_hint (GdkSurface *surface, gboolean skips_pager);\";subroutine gdk_x11_surface_set_skip_pager_hint(surface, skips_pager) bind(c)\r\ngdk;gdk_x11_surface_set_skip_taskbar_hint;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11surface.h;\"void gdk_x11_surface_set_skip_taskbar_hint (GdkSurface *surface, gboolean skips_taskbar);\";subroutine gdk_x11_surface_set_skip_taskbar_hint(surface, skips_taskbar) bind(c)\r\ngdk;gdk_x11_surface_set_theme_variant;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11surface.h;\"void gdk_x11_surface_set_theme_variant (GdkSurface *surface, const char *variant);\";subroutine gdk_x11_surface_set_theme_variant(surface, variant) bind(c)\r\ngdk;gdk_x11_surface_set_urgency_hint;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11surface.h;\"void gdk_x11_surface_set_urgency_hint (GdkSurface *surface, gboolean urgent);\";subroutine gdk_x11_surface_set_urgency_hint(surface, urgent) bind(c)\r\ngdk;gdk_x11_surface_set_user_time;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11surface.h;\"void gdk_x11_surface_set_user_time (GdkSurface *surface, guint32 timestamp);\";subroutine gdk_x11_surface_set_user_time(surface, timestamp) bind(c)\r\ngdk;gdk_x11_surface_set_utf8_property;GDK_DEPRECATED_IN_4_18;gdk-auto.f90;/usr/include/gtk-4.0/gdk/x11/gdkx11surface.h;\"void gdk_x11_surface_set_utf8_property (GdkSurface *surface, const char *name, const char *value);\";subroutine gdk_x11_surface_set_utf8_property(surface, name, value) bind(c)\r\ngdk_pixbuf;gdk_colorspace_get_type;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h;\"GType gdk_colorspace_get_type (void) ;\";function gdk_colorspace_get_type() bind(c)\r\ngdk_pixbuf;gdk_interp_type_get_type;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h;\"GType gdk_interp_type_get_type (void) ;\";function gdk_interp_type_get_type() bind(c)\r\ngdk_pixbuf;gdk_pixbuf_add_alpha;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"GdkPixbuf *gdk_pixbuf_add_alpha (const GdkPixbuf *pixbuf, gboolean substitute_color, guchar r, guchar g, guchar b);\";function gdk_pixbuf_add_alpha(pixbuf, substitute_color, r, g, b) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_alpha_mode_get_type;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h;\"GType gdk_pixbuf_alpha_mode_get_type (void) ;\";function gdk_pixbuf_alpha_mode_get_type() bind(c)\r\ngdk_pixbuf;gdk_pixbuf_animation_get_height;GDK_PIXBUF_DEPRECATED_IN_2_44;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h;\"int gdk_pixbuf_animation_get_height (GdkPixbufAnimation *animation);\";function gdk_pixbuf_animation_get_height(animation) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_animation_get_iter;GDK_PIXBUF_DEPRECATED_IN_2_44;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h;\"GdkPixbufAnimationIter *gdk_pixbuf_animation_get_iter (GdkPixbufAnimation *animation, const GTimeVal *start_time);\";function gdk_pixbuf_animation_get_iter(animation, start_time) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_animation_get_static_image;GDK_PIXBUF_DEPRECATED_IN_2_44;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h;\"GdkPixbuf *gdk_pixbuf_animation_get_static_image (GdkPixbufAnimation *animation);\";function gdk_pixbuf_animation_get_static_image(animation) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_animation_get_type;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h;\"GType gdk_pixbuf_animation_get_type (void) ;\";function gdk_pixbuf_animation_get_type() bind(c)\r\ngdk_pixbuf;gdk_pixbuf_animation_get_width;GDK_PIXBUF_DEPRECATED_IN_2_44;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h;\"int gdk_pixbuf_animation_get_width (GdkPixbufAnimation *animation);\";function gdk_pixbuf_animation_get_width(animation) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_animation_is_static_image;GDK_PIXBUF_DEPRECATED_IN_2_44;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h;\"gboolean gdk_pixbuf_animation_is_static_image (GdkPixbufAnimation *animation);\";function gdk_pixbuf_animation_is_static_image(animation) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_animation_iter_advance;GDK_PIXBUF_DEPRECATED_IN_2_44;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h;\"gboolean gdk_pixbuf_animation_iter_advance (GdkPixbufAnimationIter *iter, const GTimeVal *current_time);\";function gdk_pixbuf_animation_iter_advance(iter, current_time) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_animation_iter_get_delay_time;GDK_PIXBUF_DEPRECATED_IN_2_44;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h;\"int gdk_pixbuf_animation_iter_get_delay_time (GdkPixbufAnimationIter *iter);\";function gdk_pixbuf_animation_iter_get_delay_time(iter) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_animation_iter_get_pixbuf;GDK_PIXBUF_DEPRECATED_IN_2_44;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h;\"GdkPixbuf *gdk_pixbuf_animation_iter_get_pixbuf (GdkPixbufAnimationIter *iter);\";function gdk_pixbuf_animation_iter_get_pixbuf(iter) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_animation_iter_get_type;GDK_PIXBUF_DEPRECATED_IN_2_44;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h;\"GType gdk_pixbuf_animation_iter_get_type (void) ;\";function gdk_pixbuf_animation_iter_get_type() bind(c)\r\ngdk_pixbuf;gdk_pixbuf_animation_iter_on_currently_loading_frame;GDK_PIXBUF_DEPRECATED_IN_2_44;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h;\"gboolean gdk_pixbuf_animation_iter_on_currently_loading_frame (GdkPixbufAnimationIter *iter);\";function gdk_pixbuf_animation_iter_on_currently_loading_frame(iter) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_animation_new_from_file;GDK_PIXBUF_DEPRECATED_IN_2_44;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h;\"GdkPixbufAnimation *gdk_pixbuf_animation_new_from_file (const char *filename, GError **error);\";function gdk_pixbuf_animation_new_from_file(filename, error) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_animation_new_from_file_utf8;GDK_PIXBUF_DEPRECATED_IN_2_44;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h;\"GdkPixbufAnimation *gdk_pixbuf_animation_new_from_file_utf8 (const char *filename, GError **error);\";function gdk_pixbuf_animation_new_from_file_utf8(filename, error) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_animation_new_from_resource;GDK_PIXBUF_DEPRECATED_IN_2_44;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h;\"GdkPixbufAnimation *gdk_pixbuf_animation_new_from_resource(const char *resource_path, GError **error);\";function gdk_pixbuf_animation_new_from_resource(resource_path, error) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_animation_new_from_stream;GDK_PIXBUF_DEPRECATED_IN_2_44;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h;\"GdkPixbufAnimation *gdk_pixbuf_animation_new_from_stream (GInputStream *stream, GCancellable *cancellable, GError **error);\";function gdk_pixbuf_animation_new_from_stream(stream, cancellable, error) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_animation_new_from_stream_async;GDK_PIXBUF_DEPRECATED_IN_2_44;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h;\"void gdk_pixbuf_animation_new_from_stream_async (GInputStream *stream, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine gdk_pixbuf_animation_new_from_stream_async(stream, cancellable, callback, user_data) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_animation_new_from_stream_finish;GDK_PIXBUF_DEPRECATED_IN_2_44;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h;\"GdkPixbufAnimation *gdk_pixbuf_animation_new_from_stream_finish (GAsyncResult*async_result, GError **error);\";function gdk_pixbuf_animation_new_from_stream_finish(async_result, error) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_animation_ref;GDK_PIXBUF_DEPRECATED_IN_2_0_FOR(g_object_ref);gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h;\"GdkPixbufAnimation *gdk_pixbuf_animation_ref (GdkPixbufAnimation *animation);\";function gdk_pixbuf_animation_ref(animation) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_animation_unref;GDK_PIXBUF_DEPRECATED_IN_2_0_FOR(g_object_unref);gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h;\"void gdk_pixbuf_animation_unref (GdkPixbufAnimation *animation);\";subroutine gdk_pixbuf_animation_unref(animation) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_apply_embedded_orientation;GDK_PIXBUF_AVAILABLE_IN_2_12;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"GdkPixbuf *gdk_pixbuf_apply_embedded_orientation (GdkPixbuf *src);\";function gdk_pixbuf_apply_embedded_orientation(src) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_calculate_rowstride;GDK_PIXBUF_AVAILABLE_IN_2_36;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"gint gdk_pixbuf_calculate_rowstride (GdkColorspace colorspace, gboolean has_alpha, int bits_per_sample, int width, int height);\";function gdk_pixbuf_calculate_rowstride(colorspace, has_alpha, bits_per_sample, width, height) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_composite;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-transform.h;\"void gdk_pixbuf_composite (const GdkPixbuf *src, GdkPixbuf *dest, int dest_x, int dest_y, int dest_width, int dest_height, double offset_x, double offset_y, double scale_x, double scale_y, GdkInterpType interp_type, int overall_alpha);\";subroutine gdk_pixbuf_composite(src, dest, dest_x, dest_y, dest_width, dest_height, offset_x, offset_y, scale_x, scale_y, interp_type, overall_alpha) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_composite_color;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-transform.h;\"void gdk_pixbuf_composite_color (const GdkPixbuf *src, GdkPixbuf *dest, int dest_x, int dest_y, int dest_width, int dest_height, double offset_x, double offset_y, double scale_x, double scale_y, GdkInterpType interp_type, int overall_alpha, int check_x, int check_y, int check_size, guint32 color1, guint32 color2);\";subroutine gdk_pixbuf_composite_color(src, dest, dest_x, dest_y, dest_width, dest_height, offset_x, offset_y, scale_x, scale_y, interp_type, overall_alpha, check_x, check_y, check_size, color1, color2) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_composite_color_simple;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-transform.h;\"GdkPixbuf *gdk_pixbuf_composite_color_simple (const GdkPixbuf *src, int dest_width, int dest_height, GdkInterpType interp_type, int overall_alpha, int check_size, guint32 color1, guint32 color2);\";function gdk_pixbuf_composite_color_simple(src, dest_width, dest_height, interp_type, overall_alpha, check_size, color1, color2) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_copy;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"GdkPixbuf *gdk_pixbuf_copy (const GdkPixbuf *pixbuf);\";function gdk_pixbuf_copy(pixbuf) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_copy_area;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"void gdk_pixbuf_copy_area (const GdkPixbuf *src_pixbuf, int src_x, int src_y, int width, int height, GdkPixbuf *dest_pixbuf, int dest_x, int dest_y);\";subroutine gdk_pixbuf_copy_area(src_pixbuf, src_x, src_y, width, height, dest_pixbuf, dest_x, dest_y) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_copy_options;GDK_PIXBUF_AVAILABLE_IN_2_36;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"gboolean gdk_pixbuf_copy_options (GdkPixbuf *src_pixbuf, GdkPixbuf *dest_pixbuf);\";function gdk_pixbuf_copy_options(src_pixbuf, dest_pixbuf) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_error_get_type;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h;\"GType gdk_pixbuf_error_get_type (void) ;\";function gdk_pixbuf_error_get_type() bind(c)\r\ngdk_pixbuf;gdk_pixbuf_error_quark;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"GQuark gdk_pixbuf_error_quark (void);\";function gdk_pixbuf_error_quark() bind(c)\r\ngdk_pixbuf;gdk_pixbuf_fill;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"void gdk_pixbuf_fill (GdkPixbuf *pixbuf, guint32 pixel);\";subroutine gdk_pixbuf_fill(pixbuf, pixel) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_flip;GDK_PIXBUF_AVAILABLE_IN_2_6;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-transform.h;\"GdkPixbuf *gdk_pixbuf_flip (const GdkPixbuf *src, gboolean horizontal);\";function gdk_pixbuf_flip(src, horizontal) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_format_copy;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h;\"GdkPixbufFormat *gdk_pixbuf_format_copy (const GdkPixbufFormat *format);\";function gdk_pixbuf_format_copy(format) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_format_free;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h;\"void gdk_pixbuf_format_free (GdkPixbufFormat *format);\";subroutine gdk_pixbuf_format_free(format) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_format_get_description;GDK_PIXBUF_AVAILABLE_IN_2_2;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h;\"gchar *gdk_pixbuf_format_get_description (GdkPixbufFormat *format);\";function gdk_pixbuf_format_get_description(format) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_format_get_extensions;GDK_PIXBUF_AVAILABLE_IN_2_2;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h;\"gchar **gdk_pixbuf_format_get_extensions (GdkPixbufFormat *format);\";function gdk_pixbuf_format_get_extensions(format) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_format_get_license;GDK_PIXBUF_AVAILABLE_IN_2_6;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h;\"gchar *gdk_pixbuf_format_get_license (GdkPixbufFormat *format);\";function gdk_pixbuf_format_get_license(format) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_format_get_mime_types;GDK_PIXBUF_AVAILABLE_IN_2_2;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h;\"gchar **gdk_pixbuf_format_get_mime_types (GdkPixbufFormat *format);\";function gdk_pixbuf_format_get_mime_types(format) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_format_get_name;GDK_PIXBUF_AVAILABLE_IN_2_2;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h;\"gchar *gdk_pixbuf_format_get_name (GdkPixbufFormat *format);\";function gdk_pixbuf_format_get_name(format) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_format_get_type;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h;\"GType gdk_pixbuf_format_get_type (void) ;\";function gdk_pixbuf_format_get_type() bind(c)\r\ngdk_pixbuf;gdk_pixbuf_format_is_disabled;GDK_PIXBUF_AVAILABLE_IN_2_6;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h;\"gboolean gdk_pixbuf_format_is_disabled (GdkPixbufFormat *format);\";function gdk_pixbuf_format_is_disabled(format) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_format_is_save_option_supported;GDK_PIXBUF_AVAILABLE_IN_2_36;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h;\"gboolean gdk_pixbuf_format_is_save_option_supported (GdkPixbufFormat *format, const gchar *option_key);\";function gdk_pixbuf_format_is_save_option_supported(format, option_key) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_format_is_scalable;GDK_PIXBUF_AVAILABLE_IN_2_6;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h;\"gboolean gdk_pixbuf_format_is_scalable (GdkPixbufFormat *format);\";function gdk_pixbuf_format_is_scalable(format) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_format_is_writable;GDK_PIXBUF_AVAILABLE_IN_2_2;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h;\"gboolean gdk_pixbuf_format_is_writable (GdkPixbufFormat *format);\";function gdk_pixbuf_format_is_writable(format) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_format_set_disabled;GDK_PIXBUF_AVAILABLE_IN_2_6;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h;\"void gdk_pixbuf_format_set_disabled (GdkPixbufFormat *format, gboolean disabled);\";subroutine gdk_pixbuf_format_set_disabled(format, disabled) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_from_pixdata;GDK_PIXBUF_DEPRECATED_IN_2_32;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixdata.h;\"GdkPixbuf* gdk_pixbuf_from_pixdata (const GdkPixdata *pixdata, gboolean copy_pixels, GError **error);\";function gdk_pixbuf_from_pixdata(pixdata, copy_pixels, error) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_get_bits_per_sample;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"int gdk_pixbuf_get_bits_per_sample (const GdkPixbuf *pixbuf);\";function gdk_pixbuf_get_bits_per_sample(pixbuf) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_get_byte_length;GDK_PIXBUF_AVAILABLE_IN_2_26;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"gsize gdk_pixbuf_get_byte_length (const GdkPixbuf *pixbuf);\";function gdk_pixbuf_get_byte_length(pixbuf) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_get_colorspace;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"GdkColorspace gdk_pixbuf_get_colorspace (const GdkPixbuf *pixbuf);\";function gdk_pixbuf_get_colorspace(pixbuf) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_get_file_info;GDK_PIXBUF_AVAILABLE_IN_2_4;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h;\"GdkPixbufFormat *gdk_pixbuf_get_file_info (const gchar *filename, gint *width, gint *height);\";function gdk_pixbuf_get_file_info(filename, width, height) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_get_file_info_async;GDK_PIXBUF_AVAILABLE_IN_2_32;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h;\"void gdk_pixbuf_get_file_info_async (const gchar *filename, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine gdk_pixbuf_get_file_info_async(filename, cancellable, callback, user_data) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_get_file_info_finish;GDK_PIXBUF_AVAILABLE_IN_2_32;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h;\"GdkPixbufFormat *gdk_pixbuf_get_file_info_finish (GAsyncResult *async_result, gint *width, gint *height, GError **error);\";function gdk_pixbuf_get_file_info_finish(async_result, width, height, error) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_get_formats;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h;\"GSList *gdk_pixbuf_get_formats (void);\";function gdk_pixbuf_get_formats() bind(c)\r\ngdk_pixbuf;gdk_pixbuf_get_has_alpha;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"gboolean gdk_pixbuf_get_has_alpha (const GdkPixbuf *pixbuf);\";function gdk_pixbuf_get_has_alpha(pixbuf) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_get_height;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"int gdk_pixbuf_get_height (const GdkPixbuf *pixbuf);\";function gdk_pixbuf_get_height(pixbuf) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_get_n_channels;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"int gdk_pixbuf_get_n_channels (const GdkPixbuf *pixbuf);\";function gdk_pixbuf_get_n_channels(pixbuf) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_get_option;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"const gchar * gdk_pixbuf_get_option (GdkPixbuf *pixbuf, const gchar *key);\";function gdk_pixbuf_get_option(pixbuf, key) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_get_options;GDK_PIXBUF_AVAILABLE_IN_2_32;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"GHashTable * gdk_pixbuf_get_options (GdkPixbuf *pixbuf);\";function gdk_pixbuf_get_options(pixbuf) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_get_pixels;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"guchar *gdk_pixbuf_get_pixels (const GdkPixbuf *pixbuf);\";function gdk_pixbuf_get_pixels(pixbuf) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_get_pixels_with_length;GDK_PIXBUF_AVAILABLE_IN_2_26;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"guchar *gdk_pixbuf_get_pixels_with_length (const GdkPixbuf *pixbuf, guint *length);\";function gdk_pixbuf_get_pixels_with_length(pixbuf, length) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_get_rowstride;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"int gdk_pixbuf_get_rowstride (const GdkPixbuf *pixbuf);\";function gdk_pixbuf_get_rowstride(pixbuf) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_get_type;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"GType gdk_pixbuf_get_type (void) ;\";function gdk_pixbuf_get_type() bind(c)\r\ngdk_pixbuf;gdk_pixbuf_get_width;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"int gdk_pixbuf_get_width (const GdkPixbuf *pixbuf);\";function gdk_pixbuf_get_width(pixbuf) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_init_modules;GDK_PIXBUF_AVAILABLE_IN_2_40;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h;\"gboolean gdk_pixbuf_init_modules (const char *path, GError **error);\";function gdk_pixbuf_init_modules(path, error) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_loader_close;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-loader.h;\"gboolean gdk_pixbuf_loader_close (GdkPixbufLoader *loader, GError **error);\";function gdk_pixbuf_loader_close(loader, error) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_loader_get_animation;GDK_PIXBUF_DEPRECATED_IN_2_44;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-loader.h;\"GdkPixbufAnimation * gdk_pixbuf_loader_get_animation (GdkPixbufLoader *loader);\";function gdk_pixbuf_loader_get_animation(loader) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_loader_get_format;GDK_PIXBUF_AVAILABLE_IN_2_2;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-loader.h;\"GdkPixbufFormat *gdk_pixbuf_loader_get_format (GdkPixbufLoader *loader);\";function gdk_pixbuf_loader_get_format(loader) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_loader_get_pixbuf;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-loader.h;\"GdkPixbuf * gdk_pixbuf_loader_get_pixbuf (GdkPixbufLoader *loader);\";function gdk_pixbuf_loader_get_pixbuf(loader) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_loader_get_type;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-loader.h;\"GType gdk_pixbuf_loader_get_type (void) ;\";function gdk_pixbuf_loader_get_type() bind(c)\r\ngdk_pixbuf;gdk_pixbuf_loader_new;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-loader.h;\"GdkPixbufLoader * gdk_pixbuf_loader_new (void);\";function gdk_pixbuf_loader_new() bind(c)\r\ngdk_pixbuf;gdk_pixbuf_loader_new_with_mime_type;GDK_PIXBUF_AVAILABLE_IN_2_4;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-loader.h;\"GdkPixbufLoader * gdk_pixbuf_loader_new_with_mime_type (const char *mime_type, GError **error);\";function gdk_pixbuf_loader_new_with_mime_type(mime_type, error) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_loader_new_with_type;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-loader.h;\"GdkPixbufLoader * gdk_pixbuf_loader_new_with_type (const char *image_type, GError **error);\";function gdk_pixbuf_loader_new_with_type(image_type, error) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_loader_set_size;GDK_PIXBUF_AVAILABLE_IN_2_2;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-loader.h;\"void gdk_pixbuf_loader_set_size (GdkPixbufLoader *loader, int width, int height);\";subroutine gdk_pixbuf_loader_set_size(loader, width, height) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_loader_write;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-loader.h;\"gboolean gdk_pixbuf_loader_write (GdkPixbufLoader *loader, const guchar *buf, gsize count, GError **error);\";function gdk_pixbuf_loader_write(loader, buf, count, error) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_loader_write_bytes;GDK_PIXBUF_AVAILABLE_IN_2_30;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-loader.h;\"gboolean gdk_pixbuf_loader_write_bytes (GdkPixbufLoader *loader, GBytes *buffer, GError **error);\";function gdk_pixbuf_loader_write_bytes(loader, buffer, error) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_new;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"GdkPixbuf *gdk_pixbuf_new (GdkColorspace colorspace, gboolean has_alpha, int bits_per_sample, int width, int height);\";function gdk_pixbuf_new(colorspace, has_alpha, bits_per_sample, width, height) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_new_from_bytes;GDK_PIXBUF_AVAILABLE_IN_2_32;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"GdkPixbuf *gdk_pixbuf_new_from_bytes (GBytes *data, GdkColorspace colorspace, gboolean has_alpha, int bits_per_sample, int width, int height, int rowstride);\";function gdk_pixbuf_new_from_bytes(data, colorspace, has_alpha, bits_per_sample, width, height, rowstride) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_new_from_data;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"GdkPixbuf *gdk_pixbuf_new_from_data (const guchar *data, GdkColorspace colorspace, gboolean has_alpha, int bits_per_sample, int width, int height, int rowstride, GdkPixbufDestroyNotify destroy_fn, gpointer destroy_fn_data);\";function gdk_pixbuf_new_from_data(data, colorspace, has_alpha, bits_per_sample, width, height, rowstride, destroy_fn, destroy_fn_data) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_new_from_file;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"GdkPixbuf *gdk_pixbuf_new_from_file (const char *filename, GError **error);\";function gdk_pixbuf_new_from_file(filename, error) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_new_from_file_at_scale;GDK_PIXBUF_AVAILABLE_IN_2_6;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"GdkPixbuf *gdk_pixbuf_new_from_file_at_scale (const char *filename, int width, int height, gboolean preserve_aspect_ratio, GError **error);\";function gdk_pixbuf_new_from_file_at_scale(filename, width, height, preserve_aspect_ratio, error) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_new_from_file_at_scale_utf8;GDK_PIXBUF_AVAILABLE_IN_2_6;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"GdkPixbuf *gdk_pixbuf_new_from_file_at_scale_utf8 (const char *filename, int width, int height, gboolean preserve_aspect_ratio, GError **error);\";function gdk_pixbuf_new_from_file_at_scale_utf8(filename, width, height, preserve_aspect_ratio, error) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_new_from_file_at_size;GDK_PIXBUF_AVAILABLE_IN_2_4;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"GdkPixbuf *gdk_pixbuf_new_from_file_at_size (const char *filename, int width, int height, GError **error);\";function gdk_pixbuf_new_from_file_at_size(filename, width, height, error) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_new_from_file_at_size_utf8;GDK_PIXBUF_AVAILABLE_IN_2_4;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"GdkPixbuf *gdk_pixbuf_new_from_file_at_size_utf8 (const char *filename, int width, int height, GError **error);\";function gdk_pixbuf_new_from_file_at_size_utf8(filename, width, height, error) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_new_from_file_utf8;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"GdkPixbuf *gdk_pixbuf_new_from_file_utf8 (const char *filename, GError **error);\";function gdk_pixbuf_new_from_file_utf8(filename, error) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_new_from_inline;GDK_PIXBUF_DEPRECATED_IN_2_32;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"GdkPixbuf* gdk_pixbuf_new_from_inline (gint data_length, const guint8 *data, gboolean copy_pixels, GError **error);\";function gdk_pixbuf_new_from_inline(data_length, data, copy_pixels, error) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_new_from_resource;GDK_PIXBUF_AVAILABLE_IN_2_26;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"GdkPixbuf *gdk_pixbuf_new_from_resource (const char *resource_path, GError **error);\";function gdk_pixbuf_new_from_resource(resource_path, error) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_new_from_resource_at_scale;GDK_PIXBUF_AVAILABLE_IN_2_26;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"GdkPixbuf *gdk_pixbuf_new_from_resource_at_scale (const char *resource_path, int width, int height, gboolean preserve_aspect_ratio, GError **error);\";function gdk_pixbuf_new_from_resource_at_scale(resource_path, width, height, preserve_aspect_ratio, error) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_new_from_stream;GDK_PIXBUF_AVAILABLE_IN_2_14;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"GdkPixbuf *gdk_pixbuf_new_from_stream (GInputStream *stream, GCancellable *cancellable, GError **error);\";function gdk_pixbuf_new_from_stream(stream, cancellable, error) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_new_from_stream_async;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"void gdk_pixbuf_new_from_stream_async (GInputStream *stream, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine gdk_pixbuf_new_from_stream_async(stream, cancellable, callback, user_data) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_new_from_stream_at_scale;GDK_PIXBUF_AVAILABLE_IN_2_14;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"GdkPixbuf *gdk_pixbuf_new_from_stream_at_scale (GInputStream *stream, gint width, gint height, gboolean preserve_aspect_ratio, GCancellable *cancellable, GError **error);\";function gdk_pixbuf_new_from_stream_at_scale(stream, width, height, preserve_aspect_ratio, cancellable, error) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_new_from_stream_at_scale_async;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"void gdk_pixbuf_new_from_stream_at_scale_async (GInputStream *stream, gint width, gint height, gboolean preserve_aspect_ratio, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine gdk_pixbuf_new_from_stream_at_scale_async(stream, width, height, preserve_aspect_ratio, cancellable, callback, user_data) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_new_from_stream_finish;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"GdkPixbuf *gdk_pixbuf_new_from_stream_finish (GAsyncResult *async_result, GError **error);\";function gdk_pixbuf_new_from_stream_finish(async_result, error) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_new_from_xpm_data;GDK_PIXBUF_DEPRECATED_IN_2_44;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"GdkPixbuf *gdk_pixbuf_new_from_xpm_data (const char **data);\";function gdk_pixbuf_new_from_xpm_data(data) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_new_subpixbuf;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"GdkPixbuf *gdk_pixbuf_new_subpixbuf (GdkPixbuf *src_pixbuf, int src_x, int src_y, int width, int height);\";function gdk_pixbuf_new_subpixbuf(src_pixbuf, src_x, src_y, width, height) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_non_anim_get_type;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h;\"GType gdk_pixbuf_non_anim_get_type (void) ;\";function gdk_pixbuf_non_anim_get_type() bind(c)\r\ngdk_pixbuf;gdk_pixbuf_non_anim_new;GDK_PIXBUF_DEPRECATED_IN_2_44;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h;\"GdkPixbufAnimation* gdk_pixbuf_non_anim_new (GdkPixbuf *pixbuf);\";function gdk_pixbuf_non_anim_new(pixbuf) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_read_pixel_bytes;GDK_PIXBUF_AVAILABLE_IN_2_32;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"GBytes * gdk_pixbuf_read_pixel_bytes (const GdkPixbuf *pixbuf);\";function gdk_pixbuf_read_pixel_bytes(pixbuf) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_read_pixels;GDK_PIXBUF_AVAILABLE_IN_2_32;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"const guint8* gdk_pixbuf_read_pixels (const GdkPixbuf *pixbuf);\";function gdk_pixbuf_read_pixels(pixbuf) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_ref;GDK_PIXBUF_DEPRECATED_IN_2_0_FOR(g_object_ref);gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"GdkPixbuf *gdk_pixbuf_ref (GdkPixbuf *pixbuf);\";function gdk_pixbuf_ref(pixbuf) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_remove_option;GDK_PIXBUF_AVAILABLE_IN_2_36;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"gboolean gdk_pixbuf_remove_option (GdkPixbuf *pixbuf, const gchar *key);\";function gdk_pixbuf_remove_option(pixbuf, key) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_rotate_simple;GDK_PIXBUF_AVAILABLE_IN_2_6;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-transform.h;\"GdkPixbuf *gdk_pixbuf_rotate_simple (const GdkPixbuf *src, GdkPixbufRotation angle);\";function gdk_pixbuf_rotate_simple(src, angle) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_rotation_get_type;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h;\"GType gdk_pixbuf_rotation_get_type (void) ;\";function gdk_pixbuf_rotation_get_type() bind(c)\r\ngdk_pixbuf;gdk_pixbuf_saturate_and_pixelate;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"void gdk_pixbuf_saturate_and_pixelate (const GdkPixbuf *src, GdkPixbuf *dest, gfloat saturation, gboolean pixelate);\";subroutine gdk_pixbuf_saturate_and_pixelate(src, dest, saturation, pixelate) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_save_to_bufferv;GDK_PIXBUF_AVAILABLE_IN_2_4;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"gboolean gdk_pixbuf_save_to_bufferv (GdkPixbuf *pixbuf, gchar **buffer, gsize *buffer_size, const char *type, char **option_keys, char **option_values, GError **error);\";function gdk_pixbuf_save_to_bufferv(pixbuf, buffer, buffer_size, type, option_keys, option_values, error) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_save_to_callbackv;GDK_PIXBUF_AVAILABLE_IN_2_4;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"gboolean gdk_pixbuf_save_to_callbackv (GdkPixbuf *pixbuf, GdkPixbufSaveFunc save_func, gpointer user_data, const char *type, char **option_keys, char **option_values, GError **error);\";function gdk_pixbuf_save_to_callbackv(pixbuf, save_func, user_data, type, option_keys, option_values, error) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_save_to_stream_finish;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"gboolean gdk_pixbuf_save_to_stream_finish (GAsyncResult *async_result, GError **error);\";function gdk_pixbuf_save_to_stream_finish(async_result, error) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_save_to_streamv;GDK_PIXBUF_AVAILABLE_IN_2_36;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"gboolean gdk_pixbuf_save_to_streamv (GdkPixbuf *pixbuf, GOutputStream *stream, const char *type, char **option_keys, char **option_values, GCancellable *cancellable, GError **error);\";function gdk_pixbuf_save_to_streamv(pixbuf, stream, type, option_keys, option_values, cancellable, error) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_save_to_streamv_async;GDK_PIXBUF_AVAILABLE_IN_2_36;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"void gdk_pixbuf_save_to_streamv_async (GdkPixbuf *pixbuf, GOutputStream *stream, const gchar *type, gchar **option_keys, gchar **option_values, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine gdk_pixbuf_save_to_streamv_async(pixbuf, stream, type, option_keys, option_values, cancellable, callback, user_data) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_savev;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"gboolean gdk_pixbuf_savev (GdkPixbuf *pixbuf, const char *filename, const char *type, char **option_keys, char **option_values, GError **error);\";function gdk_pixbuf_savev(pixbuf, filename, type, option_keys, option_values, error) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_savev_utf8;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"gboolean gdk_pixbuf_savev_utf8 (GdkPixbuf *pixbuf, const char *filename, const char *type, char **option_keys, char **option_values, GError **error);\";function gdk_pixbuf_savev_utf8(pixbuf, filename, type, option_keys, option_values, error) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_scale;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-transform.h;\"void gdk_pixbuf_scale (const GdkPixbuf *src, GdkPixbuf *dest, int dest_x, int dest_y, int dest_width, int dest_height, double offset_x, double offset_y, double scale_x, double scale_y, GdkInterpType interp_type);\";subroutine gdk_pixbuf_scale(src, dest, dest_x, dest_y, dest_width, dest_height, offset_x, offset_y, scale_x, scale_y, interp_type) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_scale_simple;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-transform.h;\"GdkPixbuf *gdk_pixbuf_scale_simple (const GdkPixbuf *src, int dest_width, int dest_height, GdkInterpType interp_type);\";function gdk_pixbuf_scale_simple(src, dest_width, dest_height, interp_type) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_set_option;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"gboolean gdk_pixbuf_set_option (GdkPixbuf *pixbuf, const gchar *key, const gchar *value);\";function gdk_pixbuf_set_option(pixbuf, key, value) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_simple_anim_add_frame;GDK_PIXBUF_DEPRECATED_IN_2_44;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h;\"void gdk_pixbuf_simple_anim_add_frame (GdkPixbufSimpleAnim *animation, GdkPixbuf *pixbuf);\";subroutine gdk_pixbuf_simple_anim_add_frame(animation, pixbuf) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_simple_anim_get_loop;GDK_PIXBUF_DEPRECATED_IN_2_44;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h;\"gboolean gdk_pixbuf_simple_anim_get_loop (GdkPixbufSimpleAnim *animation);\";function gdk_pixbuf_simple_anim_get_loop(animation) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_simple_anim_get_type;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h;\"GType gdk_pixbuf_simple_anim_get_type (void) ;\";function gdk_pixbuf_simple_anim_get_type() bind(c)\r\ngdk_pixbuf;gdk_pixbuf_simple_anim_iter_get_type;GDK_PIXBUF_AVAILABLE_IN_ALL;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h;\"GType gdk_pixbuf_simple_anim_iter_get_type (void) ;\";function gdk_pixbuf_simple_anim_iter_get_type() bind(c)\r\ngdk_pixbuf;gdk_pixbuf_simple_anim_new;GDK_PIXBUF_DEPRECATED_IN_2_44;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h;\"GdkPixbufSimpleAnim *gdk_pixbuf_simple_anim_new (gint width, gint height, gfloat rate);\";function gdk_pixbuf_simple_anim_new(width, height, rate) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_simple_anim_set_loop;GDK_PIXBUF_DEPRECATED_IN_2_44;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h;\"void gdk_pixbuf_simple_anim_set_loop (GdkPixbufSimpleAnim *animation, gboolean loop);\";subroutine gdk_pixbuf_simple_anim_set_loop(animation, loop) bind(c)\r\ngdk_pixbuf;gdk_pixbuf_unref;GDK_PIXBUF_DEPRECATED_IN_2_0_FOR(g_object_unref);gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h;\"void gdk_pixbuf_unref (GdkPixbuf *pixbuf);\";subroutine gdk_pixbuf_unref(pixbuf) bind(c)\r\ngdk_pixbuf;gdk_pixdata_deserialize;GDK_PIXBUF_DEPRECATED_IN_2_32;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixdata.h;\"gboolean gdk_pixdata_deserialize (GdkPixdata *pixdata, guint stream_length, const guint8 *stream, GError **error);\";function gdk_pixdata_deserialize(pixdata, stream_length, stream, error) bind(c)\r\ngdk_pixbuf;gdk_pixdata_from_pixbuf;GDK_PIXBUF_DEPRECATED_IN_2_32;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixdata.h;\"gpointer gdk_pixdata_from_pixbuf (GdkPixdata *pixdata, const GdkPixbuf *pixbuf, gboolean use_rle);\";function gdk_pixdata_from_pixbuf(pixdata, pixbuf, use_rle) bind(c)\r\ngdk_pixbuf;gdk_pixdata_serialize;GDK_PIXBUF_DEPRECATED_IN_2_32;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixdata.h;\"guint8* gdk_pixdata_serialize (const GdkPixdata *pixdata, guint *stream_length_p);\";function gdk_pixdata_serialize(pixdata, stream_length_p) bind(c)\r\ngdk_pixbuf;gdk_pixdata_to_csource;GDK_PIXBUF_DEPRECATED_IN_2_32;gdk-pixbuf-auto.f90;/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixdata.h;\"GString* gdk_pixdata_to_csource (GdkPixdata *pixdata, const gchar *name, GdkPixdataDumpType dump_type);\";function gdk_pixdata_to_csource(pixdata, name, dump_type) bind(c)\r\ngraphene;graphene_box_alloc;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-box.h;\"graphene_box_t * graphene_box_alloc (void);\";function graphene_box_alloc() bind(c)\r\ngraphene;graphene_box_contains_box;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-box.h;\"bool graphene_box_contains_box (const graphene_box_t *a, const graphene_box_t *b);\";function graphene_box_contains_box(a, b) bind(c)\r\ngraphene;graphene_box_contains_point;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-box.h;\"bool graphene_box_contains_point (const graphene_box_t *box, const graphene_point3d_t *point);\";function graphene_box_contains_point(box, point) bind(c)\r\ngraphene;graphene_box_empty;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-box.h;\"const graphene_box_t * graphene_box_empty (void);\";function graphene_box_empty() bind(c)\r\ngraphene;graphene_box_equal;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-box.h;\"bool graphene_box_equal (const graphene_box_t *a, const graphene_box_t *b);\";function graphene_box_equal(a, b) bind(c)\r\ngraphene;graphene_box_expand;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-box.h;\"void graphene_box_expand (const graphene_box_t *box, const graphene_point3d_t *point, graphene_box_t *res);\";subroutine graphene_box_expand(box, point, res) bind(c)\r\ngraphene;graphene_box_expand_scalar;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-box.h;\"void graphene_box_expand_scalar (const graphene_box_t *box, float scalar, graphene_box_t *res);\";subroutine graphene_box_expand_scalar(box, scalar, res) bind(c)\r\ngraphene;graphene_box_expand_vec3;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-box.h;\"void graphene_box_expand_vec3 (const graphene_box_t *box, const graphene_vec3_t *vec, graphene_box_t *res);\";subroutine graphene_box_expand_vec3(box, vec, res) bind(c)\r\ngraphene;graphene_box_free;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-box.h;\"void graphene_box_free (graphene_box_t *box);\";subroutine graphene_box_free(box) bind(c)\r\ngraphene;graphene_box_get_bounding_sphere;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-box.h;\"void graphene_box_get_bounding_sphere (const graphene_box_t *box, graphene_sphere_t *sphere);\";subroutine graphene_box_get_bounding_sphere(box, sphere) bind(c)\r\ngraphene;graphene_box_get_center;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-box.h;\"void graphene_box_get_center (const graphene_box_t *box, graphene_point3d_t *center);\";subroutine graphene_box_get_center(box, center) bind(c)\r\ngraphene;graphene_box_get_depth;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-box.h;\"float graphene_box_get_depth (const graphene_box_t *box);\";function graphene_box_get_depth(box) bind(c)\r\ngraphene;graphene_box_get_height;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-box.h;\"float graphene_box_get_height (const graphene_box_t *box);\";function graphene_box_get_height(box) bind(c)\r\ngraphene;graphene_box_get_max;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-box.h;\"void graphene_box_get_max (const graphene_box_t *box, graphene_point3d_t *max);\";subroutine graphene_box_get_max(box, max) bind(c)\r\ngraphene;graphene_box_get_min;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-box.h;\"void graphene_box_get_min (const graphene_box_t *box, graphene_point3d_t *min);\";subroutine graphene_box_get_min(box, min) bind(c)\r\ngraphene;graphene_box_get_size;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-box.h;\"void graphene_box_get_size (const graphene_box_t *box, graphene_vec3_t *size);\";subroutine graphene_box_get_size(box, size) bind(c)\r\ngraphene;graphene_box_get_type;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-gobject.h;\"GType graphene_box_get_type (void);\";function graphene_box_get_type() bind(c)\r\ngraphene;graphene_box_get_width;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-box.h;\"float graphene_box_get_width (const graphene_box_t *box);\";function graphene_box_get_width(box) bind(c)\r\ngraphene;graphene_box_infinite;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-box.h;\"const graphene_box_t * graphene_box_infinite (void);\";function graphene_box_infinite() bind(c)\r\ngraphene;graphene_box_init;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-box.h;\"graphene_box_t * graphene_box_init (graphene_box_t *box, const graphene_point3d_t *min, const graphene_point3d_t *max);\";function graphene_box_init(box, min, max) bind(c)\r\ngraphene;graphene_box_init_from_box;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-box.h;\"graphene_box_t * graphene_box_init_from_box (graphene_box_t *box, const graphene_box_t *src);\";function graphene_box_init_from_box(box, src) bind(c)\r\ngraphene;graphene_box_init_from_points;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-box.h;\"graphene_box_t * graphene_box_init_from_points (graphene_box_t *box, unsigned int n_points, const graphene_point3d_t *points);\";function graphene_box_init_from_points(box, n_points, points) bind(c)\r\ngraphene;graphene_box_init_from_vec3;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-box.h;\"graphene_box_t * graphene_box_init_from_vec3 (graphene_box_t *box, const graphene_vec3_t *min, const graphene_vec3_t *max);\";function graphene_box_init_from_vec3(box, min, max) bind(c)\r\ngraphene;graphene_box_init_from_vectors;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-box.h;\"graphene_box_t * graphene_box_init_from_vectors (graphene_box_t *box, unsigned int n_vectors, const graphene_vec3_t *vectors);\";function graphene_box_init_from_vectors(box, n_vectors, vectors) bind(c)\r\ngraphene;graphene_box_intersection;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-box.h;\"bool graphene_box_intersection (const graphene_box_t *a, const graphene_box_t *b, graphene_box_t *res);\";function graphene_box_intersection(a, b, res) bind(c)\r\ngraphene;graphene_box_minus_one;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-box.h;\"const graphene_box_t * graphene_box_minus_one (void);\";function graphene_box_minus_one() bind(c)\r\ngraphene;graphene_box_one;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-box.h;\"const graphene_box_t * graphene_box_one (void);\";function graphene_box_one() bind(c)\r\ngraphene;graphene_box_one_minus_one;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-box.h;\"const graphene_box_t * graphene_box_one_minus_one (void);\";function graphene_box_one_minus_one() bind(c)\r\ngraphene;graphene_box_union;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-box.h;\"void graphene_box_union (const graphene_box_t *a, const graphene_box_t *b, graphene_box_t *res);\";subroutine graphene_box_union(a, b, res) bind(c)\r\ngraphene;graphene_box_zero;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-box.h;\"const graphene_box_t * graphene_box_zero (void);\";function graphene_box_zero() bind(c)\r\ngraphene;graphene_euler_alloc;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-euler.h;\"graphene_euler_t * graphene_euler_alloc (void);\";function graphene_euler_alloc() bind(c)\r\ngraphene;graphene_euler_equal;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-euler.h;\"bool graphene_euler_equal (const graphene_euler_t *a, const graphene_euler_t *b);\";function graphene_euler_equal(a, b) bind(c)\r\ngraphene;graphene_euler_free;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-euler.h;\"void graphene_euler_free (graphene_euler_t *e);\";subroutine graphene_euler_free(e) bind(c)\r\ngraphene;graphene_euler_get_alpha;GRAPHENE_AVAILABLE_IN_1_10;graphene-auto.f90;/usr/include/graphene-1.0/graphene-euler.h;\"float graphene_euler_get_alpha (const graphene_euler_t *e);\";function graphene_euler_get_alpha(e) bind(c)\r\ngraphene;graphene_euler_get_beta;GRAPHENE_AVAILABLE_IN_1_10;graphene-auto.f90;/usr/include/graphene-1.0/graphene-euler.h;\"float graphene_euler_get_beta (const graphene_euler_t *e);\";function graphene_euler_get_beta(e) bind(c)\r\ngraphene;graphene_euler_get_gamma;GRAPHENE_AVAILABLE_IN_1_10;graphene-auto.f90;/usr/include/graphene-1.0/graphene-euler.h;\"float graphene_euler_get_gamma (const graphene_euler_t *e);\";function graphene_euler_get_gamma(e) bind(c)\r\ngraphene;graphene_euler_get_order;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-euler.h;\"graphene_euler_order_t graphene_euler_get_order (const graphene_euler_t *e);\";function graphene_euler_get_order(e) bind(c)\r\ngraphene;graphene_euler_get_type;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-gobject.h;\"GType graphene_euler_get_type (void);\";function graphene_euler_get_type() bind(c)\r\ngraphene;graphene_euler_get_x;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-euler.h;\"float graphene_euler_get_x (const graphene_euler_t *e);\";function graphene_euler_get_x(e) bind(c)\r\ngraphene;graphene_euler_get_y;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-euler.h;\"float graphene_euler_get_y (const graphene_euler_t *e);\";function graphene_euler_get_y(e) bind(c)\r\ngraphene;graphene_euler_get_z;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-euler.h;\"float graphene_euler_get_z (const graphene_euler_t *e);\";function graphene_euler_get_z(e) bind(c)\r\ngraphene;graphene_euler_init;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-euler.h;\"graphene_euler_t * graphene_euler_init (graphene_euler_t *e, float x, float y, float z);\";function graphene_euler_init(e, x, y, z) bind(c)\r\ngraphene;graphene_euler_init_from_euler;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-euler.h;\"graphene_euler_t * graphene_euler_init_from_euler (graphene_euler_t *e, const graphene_euler_t *src);\";function graphene_euler_init_from_euler(e, src) bind(c)\r\ngraphene;graphene_euler_init_from_matrix;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-euler.h;\"graphene_euler_t * graphene_euler_init_from_matrix (graphene_euler_t *e, const graphene_matrix_t *m, graphene_euler_order_t order);\";function graphene_euler_init_from_matrix(e, m, order) bind(c)\r\ngraphene;graphene_euler_init_from_quaternion;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-euler.h;\"graphene_euler_t * graphene_euler_init_from_quaternion (graphene_euler_t *e, const graphene_quaternion_t *q, graphene_euler_order_t order);\";function graphene_euler_init_from_quaternion(e, q, order) bind(c)\r\ngraphene;graphene_euler_init_from_radians;GRAPHENE_AVAILABLE_IN_1_10;graphene-auto.f90;/usr/include/graphene-1.0/graphene-euler.h;\"graphene_euler_t * graphene_euler_init_from_radians (graphene_euler_t *e, float x, float y, float z, graphene_euler_order_t order);\";function graphene_euler_init_from_radians(e, x, y, z, order) bind(c)\r\ngraphene;graphene_euler_init_from_vec3;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-euler.h;\"graphene_euler_t * graphene_euler_init_from_vec3 (graphene_euler_t *e, const graphene_vec3_t *v, graphene_euler_order_t order);\";function graphene_euler_init_from_vec3(e, v, order) bind(c)\r\ngraphene;graphene_euler_init_with_order;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-euler.h;\"graphene_euler_t * graphene_euler_init_with_order (graphene_euler_t *e, float x, float y, float z, graphene_euler_order_t order);\";function graphene_euler_init_with_order(e, x, y, z, order) bind(c)\r\ngraphene;graphene_euler_reorder;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-euler.h;\"void graphene_euler_reorder (const graphene_euler_t *e, graphene_euler_order_t order, graphene_euler_t *res);\";subroutine graphene_euler_reorder(e, order, res) bind(c)\r\ngraphene;graphene_euler_to_matrix;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-euler.h;\"void graphene_euler_to_matrix (const graphene_euler_t *e, graphene_matrix_t *res);\";subroutine graphene_euler_to_matrix(e, res) bind(c)\r\ngraphene;graphene_euler_to_quaternion;GRAPHENE_AVAILABLE_IN_1_10;graphene-auto.f90;/usr/include/graphene-1.0/graphene-euler.h;\"void graphene_euler_to_quaternion (const graphene_euler_t *e, graphene_quaternion_t *res);\";subroutine graphene_euler_to_quaternion(e, res) bind(c)\r\ngraphene;graphene_euler_to_vec3;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-euler.h;\"void graphene_euler_to_vec3 (const graphene_euler_t *e, graphene_vec3_t *res);\";subroutine graphene_euler_to_vec3(e, res) bind(c)\r\ngraphene;graphene_frustum_alloc;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-frustum.h;\"graphene_frustum_t * graphene_frustum_alloc (void);\";function graphene_frustum_alloc() bind(c)\r\ngraphene;graphene_frustum_contains_point;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-frustum.h;\"bool graphene_frustum_contains_point (const graphene_frustum_t *f, const graphene_point3d_t *point);\";function graphene_frustum_contains_point(f, point) bind(c)\r\ngraphene;graphene_frustum_equal;GRAPHENE_AVAILABLE_IN_1_6;graphene-auto.f90;/usr/include/graphene-1.0/graphene-frustum.h;\"bool graphene_frustum_equal (const graphene_frustum_t *a, const graphene_frustum_t *b);\";function graphene_frustum_equal(a, b) bind(c)\r\ngraphene;graphene_frustum_free;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-frustum.h;\"void graphene_frustum_free (graphene_frustum_t *f);\";subroutine graphene_frustum_free(f) bind(c)\r\ngraphene;graphene_frustum_get_type;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-gobject.h;\"GType graphene_frustum_get_type (void);\";function graphene_frustum_get_type() bind(c)\r\ngraphene;graphene_frustum_init;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-frustum.h;\"graphene_frustum_t * graphene_frustum_init (graphene_frustum_t *f, const graphene_plane_t *p0, const graphene_plane_t *p1, const graphene_plane_t *p2, const graphene_plane_t *p3, const graphene_plane_t *p4, const graphene_plane_t *p5);\";function graphene_frustum_init(f, p0, p1, p2, p3, p4, p5) bind(c)\r\ngraphene;graphene_frustum_init_from_frustum;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-frustum.h;\"graphene_frustum_t * graphene_frustum_init_from_frustum (graphene_frustum_t *f, const graphene_frustum_t *src);\";function graphene_frustum_init_from_frustum(f, src) bind(c)\r\ngraphene;graphene_frustum_init_from_matrix;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-frustum.h;\"graphene_frustum_t * graphene_frustum_init_from_matrix (graphene_frustum_t *f, const graphene_matrix_t *matrix);\";function graphene_frustum_init_from_matrix(f, matrix) bind(c)\r\ngraphene;graphene_frustum_intersects_box;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-frustum.h;\"bool graphene_frustum_intersects_box (const graphene_frustum_t *f, const graphene_box_t *box);\";function graphene_frustum_intersects_box(f, box) bind(c)\r\ngraphene;graphene_frustum_intersects_sphere;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-frustum.h;\"bool graphene_frustum_intersects_sphere (const graphene_frustum_t *f, const graphene_sphere_t *sphere);\";function graphene_frustum_intersects_sphere(f, sphere) bind(c)\r\ngraphene;graphene_matrix_alloc;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"graphene_matrix_t * graphene_matrix_alloc (void);\";function graphene_matrix_alloc() bind(c)\r\ngraphene;graphene_matrix_decompose;GRAPHENE_AVAILABLE_IN_1_10;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"bool graphene_matrix_decompose (const graphene_matrix_t *m, graphene_vec3_t *translate, graphene_vec3_t *scale, graphene_quaternion_t *rotate, graphene_vec3_t *shear, graphene_vec4_t *perspective);\";function graphene_matrix_decompose(m, translate, scale, rotate, shear, perspective) bind(c)\r\ngraphene;graphene_matrix_determinant;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"float graphene_matrix_determinant (const graphene_matrix_t *m);\";function graphene_matrix_determinant(m) bind(c)\r\ngraphene;graphene_matrix_equal;GRAPHENE_AVAILABLE_IN_1_10;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"bool graphene_matrix_equal (const graphene_matrix_t *a, const graphene_matrix_t *b);\";function graphene_matrix_equal(a, b) bind(c)\r\ngraphene;graphene_matrix_equal_fast;GRAPHENE_AVAILABLE_IN_1_10;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"bool graphene_matrix_equal_fast (const graphene_matrix_t *a, const graphene_matrix_t *b);\";function graphene_matrix_equal_fast(a, b) bind(c)\r\ngraphene;graphene_matrix_free;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"void graphene_matrix_free (graphene_matrix_t *m);\";subroutine graphene_matrix_free(m) bind(c)\r\ngraphene;graphene_matrix_get_row;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"void graphene_matrix_get_row (const graphene_matrix_t *m, unsigned int index_, graphene_vec4_t *res);\";subroutine graphene_matrix_get_row(m, index_, res) bind(c)\r\ngraphene;graphene_matrix_get_type;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-gobject.h;\"GType graphene_matrix_get_type (void);\";function graphene_matrix_get_type() bind(c)\r\ngraphene;graphene_matrix_get_value;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"float graphene_matrix_get_value (const graphene_matrix_t *m, unsigned int row, unsigned int col);\";function graphene_matrix_get_value(m, row, col) bind(c)\r\ngraphene;graphene_matrix_get_x_scale;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"float graphene_matrix_get_x_scale (const graphene_matrix_t *m);\";function graphene_matrix_get_x_scale(m) bind(c)\r\ngraphene;graphene_matrix_get_x_translation;GRAPHENE_AVAILABLE_IN_1_10;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"float graphene_matrix_get_x_translation (const graphene_matrix_t *m);\";function graphene_matrix_get_x_translation(m) bind(c)\r\ngraphene;graphene_matrix_get_y_scale;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"float graphene_matrix_get_y_scale (const graphene_matrix_t *m);\";function graphene_matrix_get_y_scale(m) bind(c)\r\ngraphene;graphene_matrix_get_y_translation;GRAPHENE_AVAILABLE_IN_1_10;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"float graphene_matrix_get_y_translation (const graphene_matrix_t *m);\";function graphene_matrix_get_y_translation(m) bind(c)\r\ngraphene;graphene_matrix_get_z_scale;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"float graphene_matrix_get_z_scale (const graphene_matrix_t *m);\";function graphene_matrix_get_z_scale(m) bind(c)\r\ngraphene;graphene_matrix_get_z_translation;GRAPHENE_AVAILABLE_IN_1_10;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"float graphene_matrix_get_z_translation (const graphene_matrix_t *m);\";function graphene_matrix_get_z_translation(m) bind(c)\r\ngraphene;graphene_matrix_init_from_2d;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"graphene_matrix_t * graphene_matrix_init_from_2d (graphene_matrix_t *m, double xx, double yx, double xy, double yy, double x_0, double y_0);\";function graphene_matrix_init_from_2d(m, xx, yx, xy, yy, x_0, y_0) bind(c)\r\ngraphene;graphene_matrix_init_from_float;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"graphene_matrix_t * graphene_matrix_init_from_float (graphene_matrix_t *m, const float *v);\";function graphene_matrix_init_from_float(m, v) bind(c)\r\ngraphene;graphene_matrix_init_from_matrix;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"graphene_matrix_t * graphene_matrix_init_from_matrix (graphene_matrix_t *m, const graphene_matrix_t *src);\";function graphene_matrix_init_from_matrix(m, src) bind(c)\r\ngraphene;graphene_matrix_init_from_vec4;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"graphene_matrix_t * graphene_matrix_init_from_vec4 (graphene_matrix_t *m, const graphene_vec4_t *v0, const graphene_vec4_t *v1, const graphene_vec4_t *v2, const graphene_vec4_t *v3);\";function graphene_matrix_init_from_vec4(m, v0, v1, v2, v3) bind(c)\r\ngraphene;graphene_matrix_init_frustum;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"graphene_matrix_t * graphene_matrix_init_frustum (graphene_matrix_t *m, float left, float right, float bottom, float top, float z_near, float z_far);\";function graphene_matrix_init_frustum(m, left, right, bottom, top, z_near, z_far) bind(c)\r\ngraphene;graphene_matrix_init_identity;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"graphene_matrix_t * graphene_matrix_init_identity (graphene_matrix_t *m);\";function graphene_matrix_init_identity(m) bind(c)\r\ngraphene;graphene_matrix_init_look_at;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"graphene_matrix_t * graphene_matrix_init_look_at (graphene_matrix_t *m, const graphene_vec3_t *eye, const graphene_vec3_t *center, const graphene_vec3_t *up);\";function graphene_matrix_init_look_at(m, eye, center, up) bind(c)\r\ngraphene;graphene_matrix_init_ortho;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"graphene_matrix_t * graphene_matrix_init_ortho (graphene_matrix_t *m, float left, float right, float top, float bottom, float z_near, float z_far);\";function graphene_matrix_init_ortho(m, left, right, top, bottom, z_near, z_far) bind(c)\r\ngraphene;graphene_matrix_init_perspective;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"graphene_matrix_t * graphene_matrix_init_perspective (graphene_matrix_t *m, float fovy, float aspect, float z_near, float z_far);\";function graphene_matrix_init_perspective(m, fovy, aspect, z_near, z_far) bind(c)\r\ngraphene;graphene_matrix_init_rotate;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"graphene_matrix_t * graphene_matrix_init_rotate (graphene_matrix_t *m, float angle, const graphene_vec3_t *axis);\";function graphene_matrix_init_rotate(m, angle, axis) bind(c)\r\ngraphene;graphene_matrix_init_scale;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"graphene_matrix_t * graphene_matrix_init_scale (graphene_matrix_t *m, float x, float y, float z);\";function graphene_matrix_init_scale(m, x, y, z) bind(c)\r\ngraphene;graphene_matrix_init_skew;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"graphene_matrix_t * graphene_matrix_init_skew (graphene_matrix_t *m, float x_skew, float y_skew);\";function graphene_matrix_init_skew(m, x_skew, y_skew) bind(c)\r\ngraphene;graphene_matrix_init_translate;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"graphene_matrix_t * graphene_matrix_init_translate (graphene_matrix_t *m, const graphene_point3d_t *p);\";function graphene_matrix_init_translate(m, p) bind(c)\r\ngraphene;graphene_matrix_interpolate;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"void graphene_matrix_interpolate (const graphene_matrix_t *a, const graphene_matrix_t *b, double factor, graphene_matrix_t *res);\";subroutine graphene_matrix_interpolate(a, b, factor, res) bind(c)\r\ngraphene;graphene_matrix_inverse;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"bool graphene_matrix_inverse (const graphene_matrix_t *m, graphene_matrix_t *res);\";function graphene_matrix_inverse(m, res) bind(c)\r\ngraphene;graphene_matrix_is_2d;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"bool graphene_matrix_is_2d (const graphene_matrix_t *m);\";function graphene_matrix_is_2d(m) bind(c)\r\ngraphene;graphene_matrix_is_backface_visible;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"bool graphene_matrix_is_backface_visible (const graphene_matrix_t *m);\";function graphene_matrix_is_backface_visible(m) bind(c)\r\ngraphene;graphene_matrix_is_identity;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"bool graphene_matrix_is_identity (const graphene_matrix_t *m);\";function graphene_matrix_is_identity(m) bind(c)\r\ngraphene;graphene_matrix_is_singular;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"bool graphene_matrix_is_singular (const graphene_matrix_t *m);\";function graphene_matrix_is_singular(m) bind(c)\r\ngraphene;graphene_matrix_multiply;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"void graphene_matrix_multiply (const graphene_matrix_t *a, const graphene_matrix_t *b, graphene_matrix_t *res);\";subroutine graphene_matrix_multiply(a, b, res) bind(c)\r\ngraphene;graphene_matrix_near;GRAPHENE_AVAILABLE_IN_1_10;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"bool graphene_matrix_near (const graphene_matrix_t *a, const graphene_matrix_t *b, float epsilon);\";function graphene_matrix_near(a, b, epsilon) bind(c)\r\ngraphene;graphene_matrix_normalize;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"void graphene_matrix_normalize (const graphene_matrix_t *m, graphene_matrix_t *res);\";subroutine graphene_matrix_normalize(m, res) bind(c)\r\ngraphene;graphene_matrix_perspective;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"void graphene_matrix_perspective (const graphene_matrix_t *m, float depth, graphene_matrix_t *res);\";subroutine graphene_matrix_perspective(m, depth, res) bind(c)\r\ngraphene;graphene_matrix_print;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"void graphene_matrix_print (const graphene_matrix_t *m);\";subroutine graphene_matrix_print(m) bind(c)\r\ngraphene;graphene_matrix_project_point;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"void graphene_matrix_project_point (const graphene_matrix_t *m, const graphene_point_t *p, graphene_point_t *res);\";subroutine graphene_matrix_project_point(m, p, res) bind(c)\r\ngraphene;graphene_matrix_project_rect;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"void graphene_matrix_project_rect (const graphene_matrix_t *m, const graphene_rect_t *r, graphene_quad_t *res);\";subroutine graphene_matrix_project_rect(m, r, res) bind(c)\r\ngraphene;graphene_matrix_project_rect_bounds;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"void graphene_matrix_project_rect_bounds (const graphene_matrix_t *m, const graphene_rect_t *r, graphene_rect_t *res);\";subroutine graphene_matrix_project_rect_bounds(m, r, res) bind(c)\r\ngraphene;graphene_matrix_rotate;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"void graphene_matrix_rotate (graphene_matrix_t *m, float angle, const graphene_vec3_t *axis);\";subroutine graphene_matrix_rotate(m, angle, axis) bind(c)\r\ngraphene;graphene_matrix_rotate_euler;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"void graphene_matrix_rotate_euler (graphene_matrix_t *m, const graphene_euler_t *e);\";subroutine graphene_matrix_rotate_euler(m, e) bind(c)\r\ngraphene;graphene_matrix_rotate_quaternion;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"void graphene_matrix_rotate_quaternion (graphene_matrix_t *m, const graphene_quaternion_t *q);\";subroutine graphene_matrix_rotate_quaternion(m, q) bind(c)\r\ngraphene;graphene_matrix_rotate_x;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"void graphene_matrix_rotate_x (graphene_matrix_t *m, float angle);\";subroutine graphene_matrix_rotate_x(m, angle) bind(c)\r\ngraphene;graphene_matrix_rotate_y;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"void graphene_matrix_rotate_y (graphene_matrix_t *m, float angle);\";subroutine graphene_matrix_rotate_y(m, angle) bind(c)\r\ngraphene;graphene_matrix_rotate_z;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"void graphene_matrix_rotate_z (graphene_matrix_t *m, float angle);\";subroutine graphene_matrix_rotate_z(m, angle) bind(c)\r\ngraphene;graphene_matrix_scale;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"void graphene_matrix_scale (graphene_matrix_t *m, float factor_x, float factor_y, float factor_z);\";subroutine graphene_matrix_scale(m, factor_x, factor_y, factor_z) bind(c)\r\ngraphene;graphene_matrix_skew_xy;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"void graphene_matrix_skew_xy (graphene_matrix_t *m, float factor);\";subroutine graphene_matrix_skew_xy(m, factor) bind(c)\r\ngraphene;graphene_matrix_skew_xz;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"void graphene_matrix_skew_xz (graphene_matrix_t *m, float factor);\";subroutine graphene_matrix_skew_xz(m, factor) bind(c)\r\ngraphene;graphene_matrix_skew_yz;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"void graphene_matrix_skew_yz (graphene_matrix_t *m, float factor);\";subroutine graphene_matrix_skew_yz(m, factor) bind(c)\r\ngraphene;graphene_matrix_to_2d;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"bool graphene_matrix_to_2d (const graphene_matrix_t *m, double *xx, double *yx, double *xy, double *yy, double *x_0, double *y_0);\";function graphene_matrix_to_2d(m, xx, yx, xy, yy, x_0, y_0) bind(c)\r\ngraphene;graphene_matrix_to_float;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"void graphene_matrix_to_float (const graphene_matrix_t *m, float *v);\";subroutine graphene_matrix_to_float(m, v) bind(c)\r\ngraphene;graphene_matrix_transform_bounds;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"void graphene_matrix_transform_bounds (const graphene_matrix_t *m, const graphene_rect_t *r, graphene_rect_t *res);\";subroutine graphene_matrix_transform_bounds(m, r, res) bind(c)\r\ngraphene;graphene_matrix_transform_box;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"void graphene_matrix_transform_box (const graphene_matrix_t *m, const graphene_box_t *b, graphene_box_t *res);\";subroutine graphene_matrix_transform_box(m, b, res) bind(c)\r\ngraphene;graphene_matrix_transform_point;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"void graphene_matrix_transform_point (const graphene_matrix_t *m, const graphene_point_t *p, graphene_point_t *res);\";subroutine graphene_matrix_transform_point(m, p, res) bind(c)\r\ngraphene;graphene_matrix_transform_point3d;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"void graphene_matrix_transform_point3d (const graphene_matrix_t *m, const graphene_point3d_t *p, graphene_point3d_t *res);\";subroutine graphene_matrix_transform_point3d(m, p, res) bind(c)\r\ngraphene;graphene_matrix_transform_ray;GRAPHENE_AVAILABLE_IN_1_4;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"void graphene_matrix_transform_ray (const graphene_matrix_t *m, const graphene_ray_t *r, graphene_ray_t *res);\";subroutine graphene_matrix_transform_ray(m, r, res) bind(c)\r\ngraphene;graphene_matrix_transform_rect;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"void graphene_matrix_transform_rect (const graphene_matrix_t *m, const graphene_rect_t *r, graphene_quad_t *res);\";subroutine graphene_matrix_transform_rect(m, r, res) bind(c)\r\ngraphene;graphene_matrix_transform_sphere;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"void graphene_matrix_transform_sphere (const graphene_matrix_t *m, const graphene_sphere_t *s, graphene_sphere_t *res);\";subroutine graphene_matrix_transform_sphere(m, s, res) bind(c)\r\ngraphene;graphene_matrix_transform_vec3;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"void graphene_matrix_transform_vec3 (const graphene_matrix_t *m, const graphene_vec3_t *v, graphene_vec3_t *res);\";subroutine graphene_matrix_transform_vec3(m, v, res) bind(c)\r\ngraphene;graphene_matrix_transform_vec4;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"void graphene_matrix_transform_vec4 (const graphene_matrix_t *m, const graphene_vec4_t *v, graphene_vec4_t *res);\";subroutine graphene_matrix_transform_vec4(m, v, res) bind(c)\r\ngraphene;graphene_matrix_translate;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"void graphene_matrix_translate (graphene_matrix_t *m, const graphene_point3d_t *pos);\";subroutine graphene_matrix_translate(m, pos) bind(c)\r\ngraphene;graphene_matrix_transpose;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"void graphene_matrix_transpose (const graphene_matrix_t *m, graphene_matrix_t *res);\";subroutine graphene_matrix_transpose(m, res) bind(c)\r\ngraphene;graphene_matrix_unproject_point3d;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"void graphene_matrix_unproject_point3d (const graphene_matrix_t *projection, const graphene_matrix_t *modelview, const graphene_point3d_t *point, graphene_point3d_t *res);\";subroutine graphene_matrix_unproject_point3d(projection, modelview, point, res) bind(c)\r\ngraphene;graphene_matrix_untransform_bounds;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"void graphene_matrix_untransform_bounds (const graphene_matrix_t *m, const graphene_rect_t *r, const graphene_rect_t *bounds, graphene_rect_t *res);\";subroutine graphene_matrix_untransform_bounds(m, r, bounds, res) bind(c)\r\ngraphene;graphene_matrix_untransform_point;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-matrix.h;\"bool graphene_matrix_untransform_point (const graphene_matrix_t *m, const graphene_point_t *p, const graphene_rect_t *bounds, graphene_point_t *res);\";function graphene_matrix_untransform_point(m, p, bounds, res) bind(c)\r\ngraphene;graphene_plane_alloc;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-plane.h;\"graphene_plane_t * graphene_plane_alloc (void);\";function graphene_plane_alloc() bind(c)\r\ngraphene;graphene_plane_distance;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-plane.h;\"float graphene_plane_distance (const graphene_plane_t *p, const graphene_point3d_t *point);\";function graphene_plane_distance(p, point) bind(c)\r\ngraphene;graphene_plane_equal;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-plane.h;\"bool graphene_plane_equal (const graphene_plane_t *a, const graphene_plane_t *b);\";function graphene_plane_equal(a, b) bind(c)\r\ngraphene;graphene_plane_free;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-plane.h;\"void graphene_plane_free (graphene_plane_t *p);\";subroutine graphene_plane_free(p) bind(c)\r\ngraphene;graphene_plane_get_constant;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-plane.h;\"float graphene_plane_get_constant (const graphene_plane_t *p);\";function graphene_plane_get_constant(p) bind(c)\r\ngraphene;graphene_plane_get_normal;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-plane.h;\"void graphene_plane_get_normal (const graphene_plane_t *p, graphene_vec3_t *normal);\";subroutine graphene_plane_get_normal(p, normal) bind(c)\r\ngraphene;graphene_plane_get_type;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-gobject.h;\"GType graphene_plane_get_type (void);\";function graphene_plane_get_type() bind(c)\r\ngraphene;graphene_plane_init;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-plane.h;\"graphene_plane_t * graphene_plane_init (graphene_plane_t *p, const graphene_vec3_t *normal, float constant);\";function graphene_plane_init(p, normal, constant) bind(c)\r\ngraphene;graphene_plane_init_from_plane;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-plane.h;\"graphene_plane_t * graphene_plane_init_from_plane (graphene_plane_t *p, const graphene_plane_t *src);\";function graphene_plane_init_from_plane(p, src) bind(c)\r\ngraphene;graphene_plane_init_from_point;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-plane.h;\"graphene_plane_t * graphene_plane_init_from_point (graphene_plane_t *p, const graphene_vec3_t *normal, const graphene_point3d_t *point);\";function graphene_plane_init_from_point(p, normal, point) bind(c)\r\ngraphene;graphene_plane_init_from_points;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-plane.h;\"graphene_plane_t * graphene_plane_init_from_points (graphene_plane_t *p, const graphene_point3d_t *a, const graphene_point3d_t *b, const graphene_point3d_t *c);\";function graphene_plane_init_from_points(p, a, b, c) bind(c)\r\ngraphene;graphene_plane_init_from_vec4;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-plane.h;\"graphene_plane_t * graphene_plane_init_from_vec4 (graphene_plane_t *p, const graphene_vec4_t *src);\";function graphene_plane_init_from_vec4(p, src) bind(c)\r\ngraphene;graphene_plane_negate;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-plane.h;\"void graphene_plane_negate (const graphene_plane_t *p, graphene_plane_t *res);\";subroutine graphene_plane_negate(p, res) bind(c)\r\ngraphene;graphene_plane_normalize;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-plane.h;\"void graphene_plane_normalize (const graphene_plane_t *p, graphene_plane_t *res);\";subroutine graphene_plane_normalize(p, res) bind(c)\r\ngraphene;graphene_plane_transform;GRAPHENE_AVAILABLE_IN_1_10;graphene-auto.f90;/usr/include/graphene-1.0/graphene-plane.h;\"void graphene_plane_transform (const graphene_plane_t *p, const graphene_matrix_t *matrix, const graphene_matrix_t *normal_matrix, graphene_plane_t *res);\";subroutine graphene_plane_transform(p, matrix, normal_matrix, res) bind(c)\r\ngraphene;graphene_point3d_alloc;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-point3d.h;\"graphene_point3d_t * graphene_point3d_alloc (void);\";function graphene_point3d_alloc() bind(c)\r\ngraphene;graphene_point3d_cross;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-point3d.h;\"void graphene_point3d_cross (const graphene_point3d_t *a, const graphene_point3d_t *b, graphene_point3d_t *res);\";subroutine graphene_point3d_cross(a, b, res) bind(c)\r\ngraphene;graphene_point3d_distance;GRAPHENE_AVAILABLE_IN_1_4;graphene-auto.f90;/usr/include/graphene-1.0/graphene-point3d.h;\"float graphene_point3d_distance (const graphene_point3d_t *a, const graphene_point3d_t *b, graphene_vec3_t *delta);\";function graphene_point3d_distance(a, b, delta) bind(c)\r\ngraphene;graphene_point3d_dot;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-point3d.h;\"float graphene_point3d_dot (const graphene_point3d_t *a, const graphene_point3d_t *b);\";function graphene_point3d_dot(a, b) bind(c)\r\ngraphene;graphene_point3d_equal;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-point3d.h;\"bool graphene_point3d_equal (const graphene_point3d_t *a, const graphene_point3d_t *b);\";function graphene_point3d_equal(a, b) bind(c)\r\ngraphene;graphene_point3d_free;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-point3d.h;\"void graphene_point3d_free (graphene_point3d_t *p);\";subroutine graphene_point3d_free(p) bind(c)\r\ngraphene;graphene_point3d_get_type;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-gobject.h;\"GType graphene_point3d_get_type (void);\";function graphene_point3d_get_type() bind(c)\r\ngraphene;graphene_point3d_init;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-point3d.h;\"graphene_point3d_t * graphene_point3d_init (graphene_point3d_t *p, float x, float y, float z);\";function graphene_point3d_init(p, x, y, z) bind(c)\r\ngraphene;graphene_point3d_init_from_point;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-point3d.h;\"graphene_point3d_t * graphene_point3d_init_from_point (graphene_point3d_t *p, const graphene_point3d_t *src);\";function graphene_point3d_init_from_point(p, src) bind(c)\r\ngraphene;graphene_point3d_init_from_vec3;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-point3d.h;\"graphene_point3d_t * graphene_point3d_init_from_vec3 (graphene_point3d_t *p, const graphene_vec3_t *v);\";function graphene_point3d_init_from_vec3(p, v) bind(c)\r\ngraphene;graphene_point3d_interpolate;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-point3d.h;\"void graphene_point3d_interpolate (const graphene_point3d_t *a, const graphene_point3d_t *b, double factor, graphene_point3d_t *res);\";subroutine graphene_point3d_interpolate(a, b, factor, res) bind(c)\r\ngraphene;graphene_point3d_length;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-point3d.h;\"float graphene_point3d_length (const graphene_point3d_t *p);\";function graphene_point3d_length(p) bind(c)\r\ngraphene;graphene_point3d_near;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-point3d.h;\"bool graphene_point3d_near (const graphene_point3d_t *a, const graphene_point3d_t *b, float epsilon);\";function graphene_point3d_near(a, b, epsilon) bind(c)\r\ngraphene;graphene_point3d_normalize;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-point3d.h;\"void graphene_point3d_normalize (const graphene_point3d_t *p, graphene_point3d_t *res);\";subroutine graphene_point3d_normalize(p, res) bind(c)\r\ngraphene;graphene_point3d_normalize_viewport;GRAPHENE_AVAILABLE_IN_1_4;graphene-auto.f90;/usr/include/graphene-1.0/graphene-point3d.h;\"void graphene_point3d_normalize_viewport (const graphene_point3d_t *p, const graphene_rect_t *viewport, float z_near, float z_far, graphene_point3d_t *res);\";subroutine graphene_point3d_normalize_viewport(p, viewport, z_near, z_far, res) bind(c)\r\ngraphene;graphene_point3d_scale;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-point3d.h;\"void graphene_point3d_scale (const graphene_point3d_t *p, float factor, graphene_point3d_t *res);\";subroutine graphene_point3d_scale(p, factor, res) bind(c)\r\ngraphene;graphene_point3d_to_vec3;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-point3d.h;\"void graphene_point3d_to_vec3 (const graphene_point3d_t *p, graphene_vec3_t *v);\";subroutine graphene_point3d_to_vec3(p, v) bind(c)\r\ngraphene;graphene_point3d_zero;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-point3d.h;\"const graphene_point3d_t * graphene_point3d_zero (void);\";function graphene_point3d_zero() bind(c)\r\ngraphene;graphene_point_alloc;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-point.h;\"graphene_point_t * graphene_point_alloc (void);\";function graphene_point_alloc() bind(c)\r\ngraphene;graphene_point_distance;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-point.h;\"float graphene_point_distance (const graphene_point_t *a, const graphene_point_t *b, float *d_x, float *d_y);\";function graphene_point_distance(a, b, d_x, d_y) bind(c)\r\ngraphene;graphene_point_equal;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-point.h;\"bool graphene_point_equal (const graphene_point_t *a, const graphene_point_t *b);\";function graphene_point_equal(a, b) bind(c)\r\ngraphene;graphene_point_free;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-point.h;\"void graphene_point_free (graphene_point_t *p);\";subroutine graphene_point_free(p) bind(c)\r\ngraphene;graphene_point_get_type;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-gobject.h;\"GType graphene_point_get_type (void);\";function graphene_point_get_type() bind(c)\r\ngraphene;graphene_point_init;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-point.h;\"graphene_point_t * graphene_point_init (graphene_point_t *p, float x, float y);\";function graphene_point_init(p, x, y) bind(c)\r\ngraphene;graphene_point_init_from_point;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-point.h;\"graphene_point_t * graphene_point_init_from_point (graphene_point_t *p, const graphene_point_t *src);\";function graphene_point_init_from_point(p, src) bind(c)\r\ngraphene;graphene_point_init_from_vec2;GRAPHENE_AVAILABLE_IN_1_4;graphene-auto.f90;/usr/include/graphene-1.0/graphene-point.h;\"graphene_point_t * graphene_point_init_from_vec2 (graphene_point_t *p, const graphene_vec2_t *src);\";function graphene_point_init_from_vec2(p, src) bind(c)\r\ngraphene;graphene_point_interpolate;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-point.h;\"void graphene_point_interpolate (const graphene_point_t *a, const graphene_point_t *b, double factor, graphene_point_t *res);\";subroutine graphene_point_interpolate(a, b, factor, res) bind(c)\r\ngraphene;graphene_point_near;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-point.h;\"bool graphene_point_near (const graphene_point_t *a, const graphene_point_t *b, float epsilon);\";function graphene_point_near(a, b, epsilon) bind(c)\r\ngraphene;graphene_point_to_vec2;GRAPHENE_AVAILABLE_IN_1_4;graphene-auto.f90;/usr/include/graphene-1.0/graphene-point.h;\"void graphene_point_to_vec2 (const graphene_point_t *p, graphene_vec2_t *v);\";subroutine graphene_point_to_vec2(p, v) bind(c)\r\ngraphene;graphene_point_zero;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-point.h;\"const graphene_point_t * graphene_point_zero (void);\";function graphene_point_zero() bind(c)\r\ngraphene;graphene_quad_alloc;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-quad.h;\"graphene_quad_t * graphene_quad_alloc (void);\";function graphene_quad_alloc() bind(c)\r\ngraphene;graphene_quad_bounds;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-quad.h;\"void graphene_quad_bounds (const graphene_quad_t *q, graphene_rect_t *r);\";subroutine graphene_quad_bounds(q, r) bind(c)\r\ngraphene;graphene_quad_contains;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-quad.h;\"bool graphene_quad_contains (const graphene_quad_t *q, const graphene_point_t *p);\";function graphene_quad_contains(q, p) bind(c)\r\ngraphene;graphene_quad_free;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-quad.h;\"void graphene_quad_free (graphene_quad_t *q);\";subroutine graphene_quad_free(q) bind(c)\r\ngraphene;graphene_quad_get_point;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-quad.h;\"const graphene_point_t *graphene_quad_get_point (const graphene_quad_t *q, unsigned int index_);\";function graphene_quad_get_point(q, index_) bind(c)\r\ngraphene;graphene_quad_get_type;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-gobject.h;\"GType graphene_quad_get_type (void);\";function graphene_quad_get_type() bind(c)\r\ngraphene;graphene_quad_init;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-quad.h;\"graphene_quad_t * graphene_quad_init (graphene_quad_t *q, const graphene_point_t *p1, const graphene_point_t *p2, const graphene_point_t *p3, const graphene_point_t *p4);\";function graphene_quad_init(q, p1, p2, p3, p4) bind(c)\r\ngraphene;graphene_quad_init_from_rect;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-quad.h;\"graphene_quad_t * graphene_quad_init_from_rect (graphene_quad_t *q, const graphene_rect_t *r);\";function graphene_quad_init_from_rect(q, r) bind(c)\r\ngraphene;graphene_quaternion_add;GRAPHENE_AVAILABLE_IN_1_10;graphene-auto.f90;/usr/include/graphene-1.0/graphene-quaternion.h;\"void graphene_quaternion_add (const graphene_quaternion_t *a, const graphene_quaternion_t *b, graphene_quaternion_t *res);\";subroutine graphene_quaternion_add(a, b, res) bind(c)\r\ngraphene;graphene_quaternion_alloc;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-quaternion.h;\"graphene_quaternion_t * graphene_quaternion_alloc (void);\";function graphene_quaternion_alloc() bind(c)\r\ngraphene;graphene_quaternion_dot;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-quaternion.h;\"float graphene_quaternion_dot (const graphene_quaternion_t *a, const graphene_quaternion_t *b);\";function graphene_quaternion_dot(a, b) bind(c)\r\ngraphene;graphene_quaternion_equal;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-quaternion.h;\"bool graphene_quaternion_equal (const graphene_quaternion_t *a, const graphene_quaternion_t *b);\";function graphene_quaternion_equal(a, b) bind(c)\r\ngraphene;graphene_quaternion_free;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-quaternion.h;\"void graphene_quaternion_free (graphene_quaternion_t *q);\";subroutine graphene_quaternion_free(q) bind(c)\r\ngraphene;graphene_quaternion_get_type;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-gobject.h;\"GType graphene_quaternion_get_type (void);\";function graphene_quaternion_get_type() bind(c)\r\ngraphene;graphene_quaternion_init;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-quaternion.h;\"graphene_quaternion_t * graphene_quaternion_init (graphene_quaternion_t *q, float x, float y, float z, float w);\";function graphene_quaternion_init(q, x, y, z, w) bind(c)\r\ngraphene;graphene_quaternion_init_from_angle_vec3;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-quaternion.h;\"graphene_quaternion_t * graphene_quaternion_init_from_angle_vec3 (graphene_quaternion_t *q, float angle, const graphene_vec3_t *axis);\";function graphene_quaternion_init_from_angle_vec3(q, angle, axis) bind(c)\r\ngraphene;graphene_quaternion_init_from_angles;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-quaternion.h;\"graphene_quaternion_t * graphene_quaternion_init_from_angles (graphene_quaternion_t *q, float deg_x, float deg_y, float deg_z);\";function graphene_quaternion_init_from_angles(q, deg_x, deg_y, deg_z) bind(c)\r\ngraphene;graphene_quaternion_init_from_euler;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-quaternion.h;\"graphene_quaternion_t * graphene_quaternion_init_from_euler (graphene_quaternion_t *q, const graphene_euler_t *e);\";function graphene_quaternion_init_from_euler(q, e) bind(c)\r\ngraphene;graphene_quaternion_init_from_matrix;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-quaternion.h;\"graphene_quaternion_t * graphene_quaternion_init_from_matrix (graphene_quaternion_t *q, const graphene_matrix_t *m);\";function graphene_quaternion_init_from_matrix(q, m) bind(c)\r\ngraphene;graphene_quaternion_init_from_quaternion;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-quaternion.h;\"graphene_quaternion_t * graphene_quaternion_init_from_quaternion (graphene_quaternion_t *q, const graphene_quaternion_t *src);\";function graphene_quaternion_init_from_quaternion(q, src) bind(c)\r\ngraphene;graphene_quaternion_init_from_radians;GRAPHENE_AVAILABLE_IN_1_4;graphene-auto.f90;/usr/include/graphene-1.0/graphene-quaternion.h;\"graphene_quaternion_t * graphene_quaternion_init_from_radians (graphene_quaternion_t *q, float rad_x, float rad_y, float rad_z);\";function graphene_quaternion_init_from_radians(q, rad_x, rad_y, rad_z) bind(c)\r\ngraphene;graphene_quaternion_init_from_vec4;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-quaternion.h;\"graphene_quaternion_t * graphene_quaternion_init_from_vec4 (graphene_quaternion_t *q, const graphene_vec4_t *src);\";function graphene_quaternion_init_from_vec4(q, src) bind(c)\r\ngraphene;graphene_quaternion_init_identity;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-quaternion.h;\"graphene_quaternion_t * graphene_quaternion_init_identity (graphene_quaternion_t *q);\";function graphene_quaternion_init_identity(q) bind(c)\r\ngraphene;graphene_quaternion_invert;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-quaternion.h;\"void graphene_quaternion_invert (const graphene_quaternion_t *q, graphene_quaternion_t *res);\";subroutine graphene_quaternion_invert(q, res) bind(c)\r\ngraphene;graphene_quaternion_multiply;GRAPHENE_AVAILABLE_IN_1_10;graphene-auto.f90;/usr/include/graphene-1.0/graphene-quaternion.h;\"void graphene_quaternion_multiply (const graphene_quaternion_t *a, const graphene_quaternion_t *b, graphene_quaternion_t *res);\";subroutine graphene_quaternion_multiply(a, b, res) bind(c)\r\ngraphene;graphene_quaternion_normalize;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-quaternion.h;\"void graphene_quaternion_normalize (const graphene_quaternion_t *q, graphene_quaternion_t *res);\";subroutine graphene_quaternion_normalize(q, res) bind(c)\r\ngraphene;graphene_quaternion_scale;GRAPHENE_AVAILABLE_IN_1_10;graphene-auto.f90;/usr/include/graphene-1.0/graphene-quaternion.h;\"void graphene_quaternion_scale (const graphene_quaternion_t *q, float factor, graphene_quaternion_t *res);\";subroutine graphene_quaternion_scale(q, factor, res) bind(c)\r\ngraphene;graphene_quaternion_slerp;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-quaternion.h;\"void graphene_quaternion_slerp (const graphene_quaternion_t *a, const graphene_quaternion_t *b, float factor, graphene_quaternion_t *res);\";subroutine graphene_quaternion_slerp(a, b, factor, res) bind(c)\r\ngraphene;graphene_quaternion_to_angle_vec3;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-quaternion.h;\"void graphene_quaternion_to_angle_vec3 (const graphene_quaternion_t *q, float *angle, graphene_vec3_t *axis);\";subroutine graphene_quaternion_to_angle_vec3(q, angle, axis) bind(c)\r\ngraphene;graphene_quaternion_to_angles;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-quaternion.h;\"void graphene_quaternion_to_angles (const graphene_quaternion_t *q, float *deg_x, float *deg_y, float *deg_z);\";subroutine graphene_quaternion_to_angles(q, deg_x, deg_y, deg_z) bind(c)\r\ngraphene;graphene_quaternion_to_matrix;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-quaternion.h;\"void graphene_quaternion_to_matrix (const graphene_quaternion_t *q, graphene_matrix_t *m);\";subroutine graphene_quaternion_to_matrix(q, m) bind(c)\r\ngraphene;graphene_quaternion_to_radians;GRAPHENE_AVAILABLE_IN_1_4;graphene-auto.f90;/usr/include/graphene-1.0/graphene-quaternion.h;\"void graphene_quaternion_to_radians (const graphene_quaternion_t *q, float *rad_x, float *rad_y, float *rad_z);\";subroutine graphene_quaternion_to_radians(q, rad_x, rad_y, rad_z) bind(c)\r\ngraphene;graphene_quaternion_to_vec4;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-quaternion.h;\"void graphene_quaternion_to_vec4 (const graphene_quaternion_t *q, graphene_vec4_t *res);\";subroutine graphene_quaternion_to_vec4(q, res) bind(c)\r\ngraphene;graphene_ray_alloc;GRAPHENE_AVAILABLE_IN_1_4;graphene-auto.f90;/usr/include/graphene-1.0/graphene-ray.h;\"graphene_ray_t * graphene_ray_alloc (void);\";function graphene_ray_alloc() bind(c)\r\ngraphene;graphene_ray_equal;GRAPHENE_AVAILABLE_IN_1_4;graphene-auto.f90;/usr/include/graphene-1.0/graphene-ray.h;\"bool graphene_ray_equal (const graphene_ray_t *a, const graphene_ray_t *b);\";function graphene_ray_equal(a, b) bind(c)\r\ngraphene;graphene_ray_free;GRAPHENE_AVAILABLE_IN_1_4;graphene-auto.f90;/usr/include/graphene-1.0/graphene-ray.h;\"void graphene_ray_free (graphene_ray_t *r);\";subroutine graphene_ray_free(r) bind(c)\r\ngraphene;graphene_ray_get_closest_point_to_point;GRAPHENE_AVAILABLE_IN_1_4;graphene-auto.f90;/usr/include/graphene-1.0/graphene-ray.h;\"void graphene_ray_get_closest_point_to_point (const graphene_ray_t *r, const graphene_point3d_t *p, graphene_point3d_t *res);\";subroutine graphene_ray_get_closest_point_to_point(r, p, res) bind(c)\r\ngraphene;graphene_ray_get_direction;GRAPHENE_AVAILABLE_IN_1_4;graphene-auto.f90;/usr/include/graphene-1.0/graphene-ray.h;\"void graphene_ray_get_direction (const graphene_ray_t *r, graphene_vec3_t *direction);\";subroutine graphene_ray_get_direction(r, direction) bind(c)\r\ngraphene;graphene_ray_get_distance_to_plane;GRAPHENE_AVAILABLE_IN_1_4;graphene-auto.f90;/usr/include/graphene-1.0/graphene-ray.h;\"float graphene_ray_get_distance_to_plane (const graphene_ray_t *r, const graphene_plane_t *p);\";function graphene_ray_get_distance_to_plane(r, p) bind(c)\r\ngraphene;graphene_ray_get_distance_to_point;GRAPHENE_AVAILABLE_IN_1_4;graphene-auto.f90;/usr/include/graphene-1.0/graphene-ray.h;\"float graphene_ray_get_distance_to_point (const graphene_ray_t *r, const graphene_point3d_t *p);\";function graphene_ray_get_distance_to_point(r, p) bind(c)\r\ngraphene;graphene_ray_get_origin;GRAPHENE_AVAILABLE_IN_1_4;graphene-auto.f90;/usr/include/graphene-1.0/graphene-ray.h;\"void graphene_ray_get_origin (const graphene_ray_t *r, graphene_point3d_t *origin);\";subroutine graphene_ray_get_origin(r, origin) bind(c)\r\ngraphene;graphene_ray_get_position_at;GRAPHENE_AVAILABLE_IN_1_4;graphene-auto.f90;/usr/include/graphene-1.0/graphene-ray.h;\"void graphene_ray_get_position_at (const graphene_ray_t *r, float t, graphene_point3d_t *position);\";subroutine graphene_ray_get_position_at(r, t, position) bind(c)\r\ngraphene;graphene_ray_get_type;GRAPHENE_AVAILABLE_IN_1_4;graphene-auto.f90;/usr/include/graphene-1.0/graphene-gobject.h;\"GType graphene_ray_get_type (void);\";function graphene_ray_get_type() bind(c)\r\ngraphene;graphene_ray_init;GRAPHENE_AVAILABLE_IN_1_4;graphene-auto.f90;/usr/include/graphene-1.0/graphene-ray.h;\"graphene_ray_t * graphene_ray_init (graphene_ray_t *r, const graphene_point3d_t *origin, const graphene_vec3_t *direction);\";function graphene_ray_init(r, origin, direction) bind(c)\r\ngraphene;graphene_ray_init_from_ray;GRAPHENE_AVAILABLE_IN_1_4;graphene-auto.f90;/usr/include/graphene-1.0/graphene-ray.h;\"graphene_ray_t * graphene_ray_init_from_ray (graphene_ray_t *r, const graphene_ray_t *src);\";function graphene_ray_init_from_ray(r, src) bind(c)\r\ngraphene;graphene_ray_init_from_vec3;GRAPHENE_AVAILABLE_IN_1_4;graphene-auto.f90;/usr/include/graphene-1.0/graphene-ray.h;\"graphene_ray_t * graphene_ray_init_from_vec3 (graphene_ray_t *r, const graphene_vec3_t *origin, const graphene_vec3_t *direction);\";function graphene_ray_init_from_vec3(r, origin, direction) bind(c)\r\ngraphene;graphene_ray_intersect_box;GRAPHENE_AVAILABLE_IN_1_10;graphene-auto.f90;/usr/include/graphene-1.0/graphene-ray.h;\"graphene_ray_intersection_kind_t graphene_ray_intersect_box (const graphene_ray_t *r, const graphene_box_t *b, float *t_out);\";function graphene_ray_intersect_box(r, b, t_out) bind(c)\r\ngraphene;graphene_ray_intersect_sphere;GRAPHENE_AVAILABLE_IN_1_10;graphene-auto.f90;/usr/include/graphene-1.0/graphene-ray.h;\"graphene_ray_intersection_kind_t graphene_ray_intersect_sphere (const graphene_ray_t *r, const graphene_sphere_t *s, float *t_out);\";function graphene_ray_intersect_sphere(r, s, t_out) bind(c)\r\ngraphene;graphene_ray_intersect_triangle;GRAPHENE_AVAILABLE_IN_1_10;graphene-auto.f90;/usr/include/graphene-1.0/graphene-ray.h;\"graphene_ray_intersection_kind_t graphene_ray_intersect_triangle (const graphene_ray_t *r, const graphene_triangle_t *t, float *t_out);\";function graphene_ray_intersect_triangle(r, t, t_out) bind(c)\r\ngraphene;graphene_ray_intersects_box;GRAPHENE_AVAILABLE_IN_1_10;graphene-auto.f90;/usr/include/graphene-1.0/graphene-ray.h;\"bool graphene_ray_intersects_box (const graphene_ray_t *r, const graphene_box_t *b);\";function graphene_ray_intersects_box(r, b) bind(c)\r\ngraphene;graphene_ray_intersects_sphere;GRAPHENE_AVAILABLE_IN_1_10;graphene-auto.f90;/usr/include/graphene-1.0/graphene-ray.h;\"bool graphene_ray_intersects_sphere (const graphene_ray_t *r, const graphene_sphere_t *s);\";function graphene_ray_intersects_sphere(r, s) bind(c)\r\ngraphene;graphene_ray_intersects_triangle;GRAPHENE_AVAILABLE_IN_1_10;graphene-auto.f90;/usr/include/graphene-1.0/graphene-ray.h;\"bool graphene_ray_intersects_triangle (const graphene_ray_t *r, const graphene_triangle_t *t);\";function graphene_ray_intersects_triangle(r, t) bind(c)\r\ngraphene;graphene_rect_alloc;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-rect.h;\"graphene_rect_t * graphene_rect_alloc (void);\";function graphene_rect_alloc() bind(c)\r\ngraphene;graphene_rect_contains_point;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-rect.h;\"bool graphene_rect_contains_point (const graphene_rect_t *r, const graphene_point_t *p);\";function graphene_rect_contains_point(r, p) bind(c)\r\ngraphene;graphene_rect_contains_rect;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-rect.h;\"bool graphene_rect_contains_rect (const graphene_rect_t *a, const graphene_rect_t *b);\";function graphene_rect_contains_rect(a, b) bind(c)\r\ngraphene;graphene_rect_equal;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-rect.h;\"bool graphene_rect_equal (const graphene_rect_t *a, const graphene_rect_t *b);\";function graphene_rect_equal(a, b) bind(c)\r\ngraphene;graphene_rect_expand;GRAPHENE_AVAILABLE_IN_1_4;graphene-auto.f90;/usr/include/graphene-1.0/graphene-rect.h;\"void graphene_rect_expand (const graphene_rect_t *r, const graphene_point_t *p, graphene_rect_t *res);\";subroutine graphene_rect_expand(r, p, res) bind(c)\r\ngraphene;graphene_rect_free;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-rect.h;\"void graphene_rect_free (graphene_rect_t *r);\";subroutine graphene_rect_free(r) bind(c)\r\ngraphene;graphene_rect_get_area;GRAPHENE_AVAILABLE_IN_1_10;graphene-auto.f90;/usr/include/graphene-1.0/graphene-rect.h;\"float graphene_rect_get_area (const graphene_rect_t *r);\";function graphene_rect_get_area(r) bind(c)\r\ngraphene;graphene_rect_get_bottom_left;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-rect.h;\"void graphene_rect_get_bottom_left (const graphene_rect_t *r, graphene_point_t *p);\";subroutine graphene_rect_get_bottom_left(r, p) bind(c)\r\ngraphene;graphene_rect_get_bottom_right;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-rect.h;\"void graphene_rect_get_bottom_right (const graphene_rect_t *r, graphene_point_t *p);\";subroutine graphene_rect_get_bottom_right(r, p) bind(c)\r\ngraphene;graphene_rect_get_center;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-rect.h;\"void graphene_rect_get_center (const graphene_rect_t *r, graphene_point_t *p);\";subroutine graphene_rect_get_center(r, p) bind(c)\r\ngraphene;graphene_rect_get_height;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-rect.h;\"float graphene_rect_get_height (const graphene_rect_t *r);\";function graphene_rect_get_height(r) bind(c)\r\ngraphene;graphene_rect_get_top_left;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-rect.h;\"void graphene_rect_get_top_left (const graphene_rect_t *r, graphene_point_t *p);\";subroutine graphene_rect_get_top_left(r, p) bind(c)\r\ngraphene;graphene_rect_get_top_right;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-rect.h;\"void graphene_rect_get_top_right (const graphene_rect_t *r, graphene_point_t *p);\";subroutine graphene_rect_get_top_right(r, p) bind(c)\r\ngraphene;graphene_rect_get_type;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-gobject.h;\"GType graphene_rect_get_type (void);\";function graphene_rect_get_type() bind(c)\r\ngraphene;graphene_rect_get_width;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-rect.h;\"float graphene_rect_get_width (const graphene_rect_t *r);\";function graphene_rect_get_width(r) bind(c)\r\ngraphene;graphene_rect_get_x;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-rect.h;\"float graphene_rect_get_x (const graphene_rect_t *r);\";function graphene_rect_get_x(r) bind(c)\r\ngraphene;graphene_rect_get_y;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-rect.h;\"float graphene_rect_get_y (const graphene_rect_t *r);\";function graphene_rect_get_y(r) bind(c)\r\ngraphene;graphene_rect_init;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-rect.h;\"graphene_rect_t * graphene_rect_init (graphene_rect_t *r, float x, float y, float width, float height);\";function graphene_rect_init(r, x, y, width, height) bind(c)\r\ngraphene;graphene_rect_init_from_rect;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-rect.h;\"graphene_rect_t * graphene_rect_init_from_rect (graphene_rect_t *r, const graphene_rect_t *src);\";function graphene_rect_init_from_rect(r, src) bind(c)\r\ngraphene;graphene_rect_inset;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-rect.h;\"graphene_rect_t * graphene_rect_inset (graphene_rect_t *r, float d_x, float d_y);\";function graphene_rect_inset(r, d_x, d_y) bind(c)\r\ngraphene;graphene_rect_inset_r;GRAPHENE_AVAILABLE_IN_1_4;graphene-auto.f90;/usr/include/graphene-1.0/graphene-rect.h;\"void graphene_rect_inset_r (const graphene_rect_t *r, float d_x, float d_y, graphene_rect_t *res);\";subroutine graphene_rect_inset_r(r, d_x, d_y, res) bind(c)\r\ngraphene;graphene_rect_interpolate;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-rect.h;\"void graphene_rect_interpolate (const graphene_rect_t *a, const graphene_rect_t *b, double factor, graphene_rect_t *res);\";subroutine graphene_rect_interpolate(a, b, factor, res) bind(c)\r\ngraphene;graphene_rect_intersection;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-rect.h;\"bool graphene_rect_intersection (const graphene_rect_t *a, const graphene_rect_t *b, graphene_rect_t *res);\";function graphene_rect_intersection(a, b, res) bind(c)\r\ngraphene;graphene_rect_normalize;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-rect.h;\"graphene_rect_t * graphene_rect_normalize (graphene_rect_t *r);\";function graphene_rect_normalize(r) bind(c)\r\ngraphene;graphene_rect_normalize_r;GRAPHENE_AVAILABLE_IN_1_4;graphene-auto.f90;/usr/include/graphene-1.0/graphene-rect.h;\"void graphene_rect_normalize_r (const graphene_rect_t *r, graphene_rect_t *res);\";subroutine graphene_rect_normalize_r(r, res) bind(c)\r\ngraphene;graphene_rect_offset;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-rect.h;\"graphene_rect_t * graphene_rect_offset (graphene_rect_t *r, float d_x, float d_y);\";function graphene_rect_offset(r, d_x, d_y) bind(c)\r\ngraphene;graphene_rect_offset_r;GRAPHENE_AVAILABLE_IN_1_4;graphene-auto.f90;/usr/include/graphene-1.0/graphene-rect.h;\"void graphene_rect_offset_r (const graphene_rect_t *r, float d_x, float d_y, graphene_rect_t *res);\";subroutine graphene_rect_offset_r(r, d_x, d_y, res) bind(c)\r\ngraphene;graphene_rect_round;GRAPHENE_DEPRECATED_IN_1_10_FOR (graphene_rect_round_extents);graphene-auto.f90;/usr/include/graphene-1.0/graphene-rect.h;\"void graphene_rect_round (const graphene_rect_t *r, graphene_rect_t *res);\";subroutine graphene_rect_round(r, res) bind(c)\r\ngraphene;graphene_rect_round_extents;GRAPHENE_AVAILABLE_IN_1_10;graphene-auto.f90;/usr/include/graphene-1.0/graphene-rect.h;\"void graphene_rect_round_extents (const graphene_rect_t *r, graphene_rect_t *res);\";subroutine graphene_rect_round_extents(r, res) bind(c)\r\ngraphene;graphene_rect_round_to_pixel;GRAPHENE_DEPRECATED_IN_1_4_FOR (graphene_rect_round);graphene-auto.f90;/usr/include/graphene-1.0/graphene-rect.h;\"graphene_rect_t * graphene_rect_round_to_pixel (graphene_rect_t *r);\";function graphene_rect_round_to_pixel(r) bind(c)\r\ngraphene;graphene_rect_scale;GRAPHENE_AVAILABLE_IN_1_10;graphene-auto.f90;/usr/include/graphene-1.0/graphene-rect.h;\"void graphene_rect_scale (const graphene_rect_t *r, float s_h, float s_v, graphene_rect_t *res);\";subroutine graphene_rect_scale(r, s_h, s_v, res) bind(c)\r\ngraphene;graphene_rect_union;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-rect.h;\"void graphene_rect_union (const graphene_rect_t *a, const graphene_rect_t *b, graphene_rect_t *res);\";subroutine graphene_rect_union(a, b, res) bind(c)\r\ngraphene;graphene_rect_zero;GRAPHENE_AVAILABLE_IN_1_4;graphene-auto.f90;/usr/include/graphene-1.0/graphene-rect.h;\"const graphene_rect_t * graphene_rect_zero (void);\";function graphene_rect_zero() bind(c)\r\ngraphene;graphene_simd4x4f_transpose_in_place;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-simd4x4f.h;\"void graphene_simd4x4f_transpose_in_place (graphene_simd4x4f_t *s);\";subroutine graphene_simd4x4f_transpose_in_place(s) bind(c)\r\ngraphene;graphene_size_alloc;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-size.h;\"graphene_size_t * graphene_size_alloc (void);\";function graphene_size_alloc() bind(c)\r\ngraphene;graphene_size_equal;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-size.h;\"bool graphene_size_equal (const graphene_size_t *a, const graphene_size_t *b);\";function graphene_size_equal(a, b) bind(c)\r\ngraphene;graphene_size_free;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-size.h;\"void graphene_size_free (graphene_size_t *s);\";subroutine graphene_size_free(s) bind(c)\r\ngraphene;graphene_size_get_type;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-gobject.h;\"GType graphene_size_get_type (void);\";function graphene_size_get_type() bind(c)\r\ngraphene;graphene_size_init;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-size.h;\"graphene_size_t * graphene_size_init (graphene_size_t *s, float width, float height);\";function graphene_size_init(s, width, height) bind(c)\r\ngraphene;graphene_size_init_from_size;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-size.h;\"graphene_size_t * graphene_size_init_from_size (graphene_size_t *s, const graphene_size_t *src);\";function graphene_size_init_from_size(s, src) bind(c)\r\ngraphene;graphene_size_interpolate;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-size.h;\"void graphene_size_interpolate (const graphene_size_t *a, const graphene_size_t *b, double factor, graphene_size_t *res);\";subroutine graphene_size_interpolate(a, b, factor, res) bind(c)\r\ngraphene;graphene_size_scale;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-size.h;\"void graphene_size_scale (const graphene_size_t *s, float factor, graphene_size_t *res);\";subroutine graphene_size_scale(s, factor, res) bind(c)\r\ngraphene;graphene_size_zero;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-size.h;\"const graphene_size_t * graphene_size_zero (void);\";function graphene_size_zero() bind(c)\r\ngraphene;graphene_sphere_alloc;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-sphere.h;\"graphene_sphere_t * graphene_sphere_alloc (void);\";function graphene_sphere_alloc() bind(c)\r\ngraphene;graphene_sphere_contains_point;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-sphere.h;\"bool graphene_sphere_contains_point (const graphene_sphere_t *s, const graphene_point3d_t *point);\";function graphene_sphere_contains_point(s, point) bind(c)\r\ngraphene;graphene_sphere_distance;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-sphere.h;\"float graphene_sphere_distance (const graphene_sphere_t *s, const graphene_point3d_t *point);\";function graphene_sphere_distance(s, point) bind(c)\r\ngraphene;graphene_sphere_equal;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-sphere.h;\"bool graphene_sphere_equal (const graphene_sphere_t *a, const graphene_sphere_t *b);\";function graphene_sphere_equal(a, b) bind(c)\r\ngraphene;graphene_sphere_free;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-sphere.h;\"void graphene_sphere_free (graphene_sphere_t *s);\";subroutine graphene_sphere_free(s) bind(c)\r\ngraphene;graphene_sphere_get_bounding_box;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-sphere.h;\"void graphene_sphere_get_bounding_box (const graphene_sphere_t *s, graphene_box_t *box);\";subroutine graphene_sphere_get_bounding_box(s, box) bind(c)\r\ngraphene;graphene_sphere_get_center;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-sphere.h;\"void graphene_sphere_get_center (const graphene_sphere_t *s, graphene_point3d_t *center);\";subroutine graphene_sphere_get_center(s, center) bind(c)\r\ngraphene;graphene_sphere_get_radius;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-sphere.h;\"float graphene_sphere_get_radius (const graphene_sphere_t *s);\";function graphene_sphere_get_radius(s) bind(c)\r\ngraphene;graphene_sphere_get_type;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-gobject.h;\"GType graphene_sphere_get_type (void);\";function graphene_sphere_get_type() bind(c)\r\ngraphene;graphene_sphere_init;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-sphere.h;\"graphene_sphere_t * graphene_sphere_init (graphene_sphere_t *s, const graphene_point3d_t *center, float radius);\";function graphene_sphere_init(s, center, radius) bind(c)\r\ngraphene;graphene_sphere_init_from_points;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-sphere.h;\"graphene_sphere_t * graphene_sphere_init_from_points (graphene_sphere_t *s, unsigned int n_points, const graphene_point3d_t *points, const graphene_point3d_t *center);\";function graphene_sphere_init_from_points(s, n_points, points, center) bind(c)\r\ngraphene;graphene_sphere_init_from_vectors;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-sphere.h;\"graphene_sphere_t * graphene_sphere_init_from_vectors (graphene_sphere_t *s, unsigned int n_vectors, const graphene_vec3_t *vectors, const graphene_point3d_t *center);\";function graphene_sphere_init_from_vectors(s, n_vectors, vectors, center) bind(c)\r\ngraphene;graphene_sphere_is_empty;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-sphere.h;\"bool graphene_sphere_is_empty (const graphene_sphere_t *s);\";function graphene_sphere_is_empty(s) bind(c)\r\ngraphene;graphene_sphere_translate;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-sphere.h;\"void graphene_sphere_translate (const graphene_sphere_t *s, const graphene_point3d_t *point, graphene_sphere_t *res);\";subroutine graphene_sphere_translate(s, point, res) bind(c)\r\ngraphene;graphene_triangle_alloc;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-triangle.h;\"graphene_triangle_t * graphene_triangle_alloc (void);\";function graphene_triangle_alloc() bind(c)\r\ngraphene;graphene_triangle_contains_point;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-triangle.h;\"bool graphene_triangle_contains_point (const graphene_triangle_t *t, const graphene_point3d_t *p);\";function graphene_triangle_contains_point(t, p) bind(c)\r\ngraphene;graphene_triangle_equal;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-triangle.h;\"bool graphene_triangle_equal (const graphene_triangle_t *a, const graphene_triangle_t *b);\";function graphene_triangle_equal(a, b) bind(c)\r\ngraphene;graphene_triangle_free;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-triangle.h;\"void graphene_triangle_free (graphene_triangle_t *t);\";subroutine graphene_triangle_free(t) bind(c)\r\ngraphene;graphene_triangle_get_area;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-triangle.h;\"float graphene_triangle_get_area (const graphene_triangle_t *t);\";function graphene_triangle_get_area(t) bind(c)\r\ngraphene;graphene_triangle_get_barycoords;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-triangle.h;\"bool graphene_triangle_get_barycoords (const graphene_triangle_t *t, const graphene_point3d_t *p, graphene_vec2_t *res);\";function graphene_triangle_get_barycoords(t, p, res) bind(c)\r\ngraphene;graphene_triangle_get_bounding_box;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-triangle.h;\"void graphene_triangle_get_bounding_box (const graphene_triangle_t *t, graphene_box_t *res);\";subroutine graphene_triangle_get_bounding_box(t, res) bind(c)\r\ngraphene;graphene_triangle_get_midpoint;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-triangle.h;\"void graphene_triangle_get_midpoint (const graphene_triangle_t *t, graphene_point3d_t *res);\";subroutine graphene_triangle_get_midpoint(t, res) bind(c)\r\ngraphene;graphene_triangle_get_normal;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-triangle.h;\"void graphene_triangle_get_normal (const graphene_triangle_t *t, graphene_vec3_t *res);\";subroutine graphene_triangle_get_normal(t, res) bind(c)\r\ngraphene;graphene_triangle_get_plane;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-triangle.h;\"void graphene_triangle_get_plane (const graphene_triangle_t *t, graphene_plane_t *res);\";subroutine graphene_triangle_get_plane(t, res) bind(c)\r\ngraphene;graphene_triangle_get_points;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-triangle.h;\"void graphene_triangle_get_points (const graphene_triangle_t *t, graphene_point3d_t *a, graphene_point3d_t *b, graphene_point3d_t *c);\";subroutine graphene_triangle_get_points(t, a, b, c) bind(c)\r\ngraphene;graphene_triangle_get_type;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-gobject.h;\"GType graphene_triangle_get_type (void);\";function graphene_triangle_get_type() bind(c)\r\ngraphene;graphene_triangle_get_uv;GRAPHENE_AVAILABLE_IN_1_10;graphene-auto.f90;/usr/include/graphene-1.0/graphene-triangle.h;\"bool graphene_triangle_get_uv (const graphene_triangle_t *t, const graphene_point3d_t *p, const graphene_vec2_t *uv_a, const graphene_vec2_t *uv_b, const graphene_vec2_t *uv_c, graphene_vec2_t *res);\";function graphene_triangle_get_uv(t, p, uv_a, uv_b, uv_c, res) bind(c)\r\ngraphene;graphene_triangle_get_vertices;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-triangle.h;\"void graphene_triangle_get_vertices (const graphene_triangle_t *t, graphene_vec3_t *a, graphene_vec3_t *b, graphene_vec3_t *c);\";subroutine graphene_triangle_get_vertices(t, a, b, c) bind(c)\r\ngraphene;graphene_triangle_init_from_float;GRAPHENE_AVAILABLE_IN_1_10;graphene-auto.f90;/usr/include/graphene-1.0/graphene-triangle.h;\"graphene_triangle_t * graphene_triangle_init_from_float (graphene_triangle_t *t, const float *a, const float *b, const float *c);\";function graphene_triangle_init_from_float(t, a, b, c) bind(c)\r\ngraphene;graphene_triangle_init_from_point3d;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-triangle.h;\"graphene_triangle_t * graphene_triangle_init_from_point3d (graphene_triangle_t *t, const graphene_point3d_t *a, const graphene_point3d_t *b, const graphene_point3d_t *c);\";function graphene_triangle_init_from_point3d(t, a, b, c) bind(c)\r\ngraphene;graphene_triangle_init_from_vec3;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-triangle.h;\"graphene_triangle_t * graphene_triangle_init_from_vec3 (graphene_triangle_t *t, const graphene_vec3_t *a, const graphene_vec3_t *b, const graphene_vec3_t *c);\";function graphene_triangle_init_from_vec3(t, a, b, c) bind(c)\r\ngraphene;graphene_vec2_add;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec2.h;\"void graphene_vec2_add (const graphene_vec2_t *a, const graphene_vec2_t *b, graphene_vec2_t *res);\";subroutine graphene_vec2_add(a, b, res) bind(c)\r\ngraphene;graphene_vec2_alloc;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec2.h;\"graphene_vec2_t * graphene_vec2_alloc (void);\";function graphene_vec2_alloc() bind(c)\r\ngraphene;graphene_vec2_divide;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec2.h;\"void graphene_vec2_divide (const graphene_vec2_t *a, const graphene_vec2_t *b, graphene_vec2_t *res);\";subroutine graphene_vec2_divide(a, b, res) bind(c)\r\ngraphene;graphene_vec2_dot;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec2.h;\"float graphene_vec2_dot (const graphene_vec2_t *a, const graphene_vec2_t *b);\";function graphene_vec2_dot(a, b) bind(c)\r\ngraphene;graphene_vec2_equal;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec2.h;\"bool graphene_vec2_equal (const graphene_vec2_t *v1, const graphene_vec2_t *v2);\";function graphene_vec2_equal(v1, v2) bind(c)\r\ngraphene;graphene_vec2_free;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec2.h;\"void graphene_vec2_free (graphene_vec2_t *v);\";subroutine graphene_vec2_free(v) bind(c)\r\ngraphene;graphene_vec2_get_type;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-gobject.h;\"GType graphene_vec2_get_type (void);\";function graphene_vec2_get_type() bind(c)\r\ngraphene;graphene_vec2_get_x;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec2.h;\"float graphene_vec2_get_x (const graphene_vec2_t *v);\";function graphene_vec2_get_x(v) bind(c)\r\ngraphene;graphene_vec2_get_y;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec2.h;\"float graphene_vec2_get_y (const graphene_vec2_t *v);\";function graphene_vec2_get_y(v) bind(c)\r\ngraphene;graphene_vec2_init;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec2.h;\"graphene_vec2_t * graphene_vec2_init (graphene_vec2_t *v, float x, float y);\";function graphene_vec2_init(v, x, y) bind(c)\r\ngraphene;graphene_vec2_init_from_float;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec2.h;\"graphene_vec2_t * graphene_vec2_init_from_float (graphene_vec2_t *v, const float *src);\";function graphene_vec2_init_from_float(v, src) bind(c)\r\ngraphene;graphene_vec2_init_from_vec2;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec2.h;\"graphene_vec2_t * graphene_vec2_init_from_vec2 (graphene_vec2_t *v, const graphene_vec2_t *src);\";function graphene_vec2_init_from_vec2(v, src) bind(c)\r\ngraphene;graphene_vec2_interpolate;GRAPHENE_AVAILABLE_IN_1_10;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec2.h;\"void graphene_vec2_interpolate (const graphene_vec2_t *v1, const graphene_vec2_t *v2, double factor, graphene_vec2_t *res);\";subroutine graphene_vec2_interpolate(v1, v2, factor, res) bind(c)\r\ngraphene;graphene_vec2_length;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec2.h;\"float graphene_vec2_length (const graphene_vec2_t *v);\";function graphene_vec2_length(v) bind(c)\r\ngraphene;graphene_vec2_max;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec2.h;\"void graphene_vec2_max (const graphene_vec2_t *a, const graphene_vec2_t *b, graphene_vec2_t *res);\";subroutine graphene_vec2_max(a, b, res) bind(c)\r\ngraphene;graphene_vec2_min;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec2.h;\"void graphene_vec2_min (const graphene_vec2_t *a, const graphene_vec2_t *b, graphene_vec2_t *res);\";subroutine graphene_vec2_min(a, b, res) bind(c)\r\ngraphene;graphene_vec2_multiply;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec2.h;\"void graphene_vec2_multiply (const graphene_vec2_t *a, const graphene_vec2_t *b, graphene_vec2_t *res);\";subroutine graphene_vec2_multiply(a, b, res) bind(c)\r\ngraphene;graphene_vec2_near;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec2.h;\"bool graphene_vec2_near (const graphene_vec2_t *v1, const graphene_vec2_t *v2, float epsilon);\";function graphene_vec2_near(v1, v2, epsilon) bind(c)\r\ngraphene;graphene_vec2_negate;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec2.h;\"void graphene_vec2_negate (const graphene_vec2_t *v, graphene_vec2_t *res);\";subroutine graphene_vec2_negate(v, res) bind(c)\r\ngraphene;graphene_vec2_normalize;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec2.h;\"void graphene_vec2_normalize (const graphene_vec2_t *v, graphene_vec2_t *res);\";subroutine graphene_vec2_normalize(v, res) bind(c)\r\ngraphene;graphene_vec2_one;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec2.h;\"const graphene_vec2_t * graphene_vec2_one (void);\";function graphene_vec2_one() bind(c)\r\ngraphene;graphene_vec2_scale;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec2.h;\"void graphene_vec2_scale (const graphene_vec2_t *v, float factor, graphene_vec2_t *res);\";subroutine graphene_vec2_scale(v, factor, res) bind(c)\r\ngraphene;graphene_vec2_subtract;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec2.h;\"void graphene_vec2_subtract (const graphene_vec2_t *a, const graphene_vec2_t *b, graphene_vec2_t *res);\";subroutine graphene_vec2_subtract(a, b, res) bind(c)\r\ngraphene;graphene_vec2_to_float;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec2.h;\"void graphene_vec2_to_float (const graphene_vec2_t *v, float *dest);\";subroutine graphene_vec2_to_float(v, dest) bind(c)\r\ngraphene;graphene_vec2_x_axis;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec2.h;\"const graphene_vec2_t * graphene_vec2_x_axis (void);\";function graphene_vec2_x_axis() bind(c)\r\ngraphene;graphene_vec2_y_axis;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec2.h;\"const graphene_vec2_t * graphene_vec2_y_axis (void);\";function graphene_vec2_y_axis() bind(c)\r\ngraphene;graphene_vec2_zero;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec2.h;\"const graphene_vec2_t * graphene_vec2_zero (void);\";function graphene_vec2_zero() bind(c)\r\ngraphene;graphene_vec3_add;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec3.h;\"void graphene_vec3_add (const graphene_vec3_t *a, const graphene_vec3_t *b, graphene_vec3_t *res);\";subroutine graphene_vec3_add(a, b, res) bind(c)\r\ngraphene;graphene_vec3_alloc;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec3.h;\"graphene_vec3_t * graphene_vec3_alloc (void);\";function graphene_vec3_alloc() bind(c)\r\ngraphene;graphene_vec3_cross;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec3.h;\"void graphene_vec3_cross (const graphene_vec3_t *a, const graphene_vec3_t *b, graphene_vec3_t *res);\";subroutine graphene_vec3_cross(a, b, res) bind(c)\r\ngraphene;graphene_vec3_divide;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec3.h;\"void graphene_vec3_divide (const graphene_vec3_t *a, const graphene_vec3_t *b, graphene_vec3_t *res);\";subroutine graphene_vec3_divide(a, b, res) bind(c)\r\ngraphene;graphene_vec3_dot;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec3.h;\"float graphene_vec3_dot (const graphene_vec3_t *a, const graphene_vec3_t *b);\";function graphene_vec3_dot(a, b) bind(c)\r\ngraphene;graphene_vec3_equal;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec3.h;\"bool graphene_vec3_equal (const graphene_vec3_t *v1, const graphene_vec3_t *v2);\";function graphene_vec3_equal(v1, v2) bind(c)\r\ngraphene;graphene_vec3_free;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec3.h;\"void graphene_vec3_free (graphene_vec3_t *v);\";subroutine graphene_vec3_free(v) bind(c)\r\ngraphene;graphene_vec3_get_type;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-gobject.h;\"GType graphene_vec3_get_type (void);\";function graphene_vec3_get_type() bind(c)\r\ngraphene;graphene_vec3_get_x;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec3.h;\"float graphene_vec3_get_x (const graphene_vec3_t *v);\";function graphene_vec3_get_x(v) bind(c)\r\ngraphene;graphene_vec3_get_xy;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec3.h;\"void graphene_vec3_get_xy (const graphene_vec3_t *v, graphene_vec2_t *res);\";subroutine graphene_vec3_get_xy(v, res) bind(c)\r\ngraphene;graphene_vec3_get_xy0;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec3.h;\"void graphene_vec3_get_xy0 (const graphene_vec3_t *v, graphene_vec3_t *res);\";subroutine graphene_vec3_get_xy0(v, res) bind(c)\r\ngraphene;graphene_vec3_get_xyz0;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec3.h;\"void graphene_vec3_get_xyz0 (const graphene_vec3_t *v, graphene_vec4_t *res);\";subroutine graphene_vec3_get_xyz0(v, res) bind(c)\r\ngraphene;graphene_vec3_get_xyz1;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec3.h;\"void graphene_vec3_get_xyz1 (const graphene_vec3_t *v, graphene_vec4_t *res);\";subroutine graphene_vec3_get_xyz1(v, res) bind(c)\r\ngraphene;graphene_vec3_get_xyzw;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec3.h;\"void graphene_vec3_get_xyzw (const graphene_vec3_t *v, float w, graphene_vec4_t *res);\";subroutine graphene_vec3_get_xyzw(v, w, res) bind(c)\r\ngraphene;graphene_vec3_get_y;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec3.h;\"float graphene_vec3_get_y (const graphene_vec3_t *v);\";function graphene_vec3_get_y(v) bind(c)\r\ngraphene;graphene_vec3_get_z;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec3.h;\"float graphene_vec3_get_z (const graphene_vec3_t *v);\";function graphene_vec3_get_z(v) bind(c)\r\ngraphene;graphene_vec3_init;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec3.h;\"graphene_vec3_t * graphene_vec3_init (graphene_vec3_t *v, float x, float y, float z);\";function graphene_vec3_init(v, x, y, z) bind(c)\r\ngraphene;graphene_vec3_init_from_float;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec3.h;\"graphene_vec3_t * graphene_vec3_init_from_float (graphene_vec3_t *v, const float *src);\";function graphene_vec3_init_from_float(v, src) bind(c)\r\ngraphene;graphene_vec3_init_from_vec3;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec3.h;\"graphene_vec3_t * graphene_vec3_init_from_vec3 (graphene_vec3_t *v, const graphene_vec3_t *src);\";function graphene_vec3_init_from_vec3(v, src) bind(c)\r\ngraphene;graphene_vec3_interpolate;GRAPHENE_AVAILABLE_IN_1_10;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec3.h;\"void graphene_vec3_interpolate (const graphene_vec3_t *v1, const graphene_vec3_t *v2, double factor, graphene_vec3_t *res);\";subroutine graphene_vec3_interpolate(v1, v2, factor, res) bind(c)\r\ngraphene;graphene_vec3_length;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec3.h;\"float graphene_vec3_length (const graphene_vec3_t *v);\";function graphene_vec3_length(v) bind(c)\r\ngraphene;graphene_vec3_max;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec3.h;\"void graphene_vec3_max (const graphene_vec3_t *a, const graphene_vec3_t *b, graphene_vec3_t *res);\";subroutine graphene_vec3_max(a, b, res) bind(c)\r\ngraphene;graphene_vec3_min;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec3.h;\"void graphene_vec3_min (const graphene_vec3_t *a, const graphene_vec3_t *b, graphene_vec3_t *res);\";subroutine graphene_vec3_min(a, b, res) bind(c)\r\ngraphene;graphene_vec3_multiply;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec3.h;\"void graphene_vec3_multiply (const graphene_vec3_t *a, const graphene_vec3_t *b, graphene_vec3_t *res);\";subroutine graphene_vec3_multiply(a, b, res) bind(c)\r\ngraphene;graphene_vec3_near;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec3.h;\"bool graphene_vec3_near (const graphene_vec3_t *v1, const graphene_vec3_t *v2, float epsilon);\";function graphene_vec3_near(v1, v2, epsilon) bind(c)\r\ngraphene;graphene_vec3_negate;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec3.h;\"void graphene_vec3_negate (const graphene_vec3_t *v, graphene_vec3_t *res);\";subroutine graphene_vec3_negate(v, res) bind(c)\r\ngraphene;graphene_vec3_normalize;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec3.h;\"void graphene_vec3_normalize (const graphene_vec3_t *v, graphene_vec3_t *res);\";subroutine graphene_vec3_normalize(v, res) bind(c)\r\ngraphene;graphene_vec3_one;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec3.h;\"const graphene_vec3_t * graphene_vec3_one (void);\";function graphene_vec3_one() bind(c)\r\ngraphene;graphene_vec3_scale;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec3.h;\"void graphene_vec3_scale (const graphene_vec3_t *v, float factor, graphene_vec3_t *res);\";subroutine graphene_vec3_scale(v, factor, res) bind(c)\r\ngraphene;graphene_vec3_subtract;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec3.h;\"void graphene_vec3_subtract (const graphene_vec3_t *a, const graphene_vec3_t *b, graphene_vec3_t *res);\";subroutine graphene_vec3_subtract(a, b, res) bind(c)\r\ngraphene;graphene_vec3_to_float;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec3.h;\"void graphene_vec3_to_float (const graphene_vec3_t *v, float *dest);\";subroutine graphene_vec3_to_float(v, dest) bind(c)\r\ngraphene;graphene_vec3_x_axis;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec3.h;\"const graphene_vec3_t * graphene_vec3_x_axis (void);\";function graphene_vec3_x_axis() bind(c)\r\ngraphene;graphene_vec3_y_axis;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec3.h;\"const graphene_vec3_t * graphene_vec3_y_axis (void);\";function graphene_vec3_y_axis() bind(c)\r\ngraphene;graphene_vec3_z_axis;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec3.h;\"const graphene_vec3_t * graphene_vec3_z_axis (void);\";function graphene_vec3_z_axis() bind(c)\r\ngraphene;graphene_vec3_zero;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec3.h;\"const graphene_vec3_t * graphene_vec3_zero (void);\";function graphene_vec3_zero() bind(c)\r\ngraphene;graphene_vec4_add;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec4.h;\"void graphene_vec4_add (const graphene_vec4_t *a, const graphene_vec4_t *b, graphene_vec4_t *res);\";subroutine graphene_vec4_add(a, b, res) bind(c)\r\ngraphene;graphene_vec4_alloc;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec4.h;\"graphene_vec4_t * graphene_vec4_alloc (void);\";function graphene_vec4_alloc() bind(c)\r\ngraphene;graphene_vec4_divide;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec4.h;\"void graphene_vec4_divide (const graphene_vec4_t *a, const graphene_vec4_t *b, graphene_vec4_t *res);\";subroutine graphene_vec4_divide(a, b, res) bind(c)\r\ngraphene;graphene_vec4_dot;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec4.h;\"float graphene_vec4_dot (const graphene_vec4_t *a, const graphene_vec4_t *b);\";function graphene_vec4_dot(a, b) bind(c)\r\ngraphene;graphene_vec4_equal;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec4.h;\"bool graphene_vec4_equal (const graphene_vec4_t *v1, const graphene_vec4_t *v2);\";function graphene_vec4_equal(v1, v2) bind(c)\r\ngraphene;graphene_vec4_free;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec4.h;\"void graphene_vec4_free (graphene_vec4_t *v);\";subroutine graphene_vec4_free(v) bind(c)\r\ngraphene;graphene_vec4_get_type;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-gobject.h;\"GType graphene_vec4_get_type (void);\";function graphene_vec4_get_type() bind(c)\r\ngraphene;graphene_vec4_get_w;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec4.h;\"float graphene_vec4_get_w (const graphene_vec4_t *v);\";function graphene_vec4_get_w(v) bind(c)\r\ngraphene;graphene_vec4_get_x;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec4.h;\"float graphene_vec4_get_x (const graphene_vec4_t *v);\";function graphene_vec4_get_x(v) bind(c)\r\ngraphene;graphene_vec4_get_xy;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec4.h;\"void graphene_vec4_get_xy (const graphene_vec4_t *v, graphene_vec2_t *res);\";subroutine graphene_vec4_get_xy(v, res) bind(c)\r\ngraphene;graphene_vec4_get_xyz;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec4.h;\"void graphene_vec4_get_xyz (const graphene_vec4_t *v, graphene_vec3_t *res);\";subroutine graphene_vec4_get_xyz(v, res) bind(c)\r\ngraphene;graphene_vec4_get_y;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec4.h;\"float graphene_vec4_get_y (const graphene_vec4_t *v);\";function graphene_vec4_get_y(v) bind(c)\r\ngraphene;graphene_vec4_get_z;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec4.h;\"float graphene_vec4_get_z (const graphene_vec4_t *v);\";function graphene_vec4_get_z(v) bind(c)\r\ngraphene;graphene_vec4_init;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec4.h;\"graphene_vec4_t * graphene_vec4_init (graphene_vec4_t *v, float x, float y, float z, float w);\";function graphene_vec4_init(v, x, y, z, w) bind(c)\r\ngraphene;graphene_vec4_init_from_float;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec4.h;\"graphene_vec4_t * graphene_vec4_init_from_float (graphene_vec4_t *v, const float *src);\";function graphene_vec4_init_from_float(v, src) bind(c)\r\ngraphene;graphene_vec4_init_from_vec2;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec4.h;\"graphene_vec4_t * graphene_vec4_init_from_vec2 (graphene_vec4_t *v, const graphene_vec2_t *src, float z, float w);\";function graphene_vec4_init_from_vec2(v, src, z, w) bind(c)\r\ngraphene;graphene_vec4_init_from_vec3;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec4.h;\"graphene_vec4_t * graphene_vec4_init_from_vec3 (graphene_vec4_t *v, const graphene_vec3_t *src, float w);\";function graphene_vec4_init_from_vec3(v, src, w) bind(c)\r\ngraphene;graphene_vec4_init_from_vec4;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec4.h;\"graphene_vec4_t * graphene_vec4_init_from_vec4 (graphene_vec4_t *v, const graphene_vec4_t *src);\";function graphene_vec4_init_from_vec4(v, src) bind(c)\r\ngraphene;graphene_vec4_interpolate;GRAPHENE_AVAILABLE_IN_1_10;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec4.h;\"void graphene_vec4_interpolate (const graphene_vec4_t *v1, const graphene_vec4_t *v2, double factor, graphene_vec4_t *res);\";subroutine graphene_vec4_interpolate(v1, v2, factor, res) bind(c)\r\ngraphene;graphene_vec4_length;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec4.h;\"float graphene_vec4_length (const graphene_vec4_t *v);\";function graphene_vec4_length(v) bind(c)\r\ngraphene;graphene_vec4_max;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec4.h;\"void graphene_vec4_max (const graphene_vec4_t *a, const graphene_vec4_t *b, graphene_vec4_t *res);\";subroutine graphene_vec4_max(a, b, res) bind(c)\r\ngraphene;graphene_vec4_min;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec4.h;\"void graphene_vec4_min (const graphene_vec4_t *a, const graphene_vec4_t *b, graphene_vec4_t *res);\";subroutine graphene_vec4_min(a, b, res) bind(c)\r\ngraphene;graphene_vec4_multiply;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec4.h;\"void graphene_vec4_multiply (const graphene_vec4_t *a, const graphene_vec4_t *b, graphene_vec4_t *res);\";subroutine graphene_vec4_multiply(a, b, res) bind(c)\r\ngraphene;graphene_vec4_near;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec4.h;\"bool graphene_vec4_near (const graphene_vec4_t *v1, const graphene_vec4_t *v2, float epsilon);\";function graphene_vec4_near(v1, v2, epsilon) bind(c)\r\ngraphene;graphene_vec4_negate;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec4.h;\"void graphene_vec4_negate (const graphene_vec4_t *v, graphene_vec4_t *res);\";subroutine graphene_vec4_negate(v, res) bind(c)\r\ngraphene;graphene_vec4_normalize;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec4.h;\"void graphene_vec4_normalize (const graphene_vec4_t *v, graphene_vec4_t *res);\";subroutine graphene_vec4_normalize(v, res) bind(c)\r\ngraphene;graphene_vec4_one;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec4.h;\"const graphene_vec4_t * graphene_vec4_one (void);\";function graphene_vec4_one() bind(c)\r\ngraphene;graphene_vec4_scale;GRAPHENE_AVAILABLE_IN_1_2;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec4.h;\"void graphene_vec4_scale (const graphene_vec4_t *v, float factor, graphene_vec4_t *res);\";subroutine graphene_vec4_scale(v, factor, res) bind(c)\r\ngraphene;graphene_vec4_subtract;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec4.h;\"void graphene_vec4_subtract (const graphene_vec4_t *a, const graphene_vec4_t *b, graphene_vec4_t *res);\";subroutine graphene_vec4_subtract(a, b, res) bind(c)\r\ngraphene;graphene_vec4_to_float;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec4.h;\"void graphene_vec4_to_float (const graphene_vec4_t *v, float *dest);\";subroutine graphene_vec4_to_float(v, dest) bind(c)\r\ngraphene;graphene_vec4_w_axis;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec4.h;\"const graphene_vec4_t * graphene_vec4_w_axis (void);\";function graphene_vec4_w_axis() bind(c)\r\ngraphene;graphene_vec4_x_axis;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec4.h;\"const graphene_vec4_t * graphene_vec4_x_axis (void);\";function graphene_vec4_x_axis() bind(c)\r\ngraphene;graphene_vec4_y_axis;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec4.h;\"const graphene_vec4_t * graphene_vec4_y_axis (void);\";function graphene_vec4_y_axis() bind(c)\r\ngraphene;graphene_vec4_z_axis;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec4.h;\"const graphene_vec4_t * graphene_vec4_z_axis (void);\";function graphene_vec4_z_axis() bind(c)\r\ngraphene;graphene_vec4_zero;GRAPHENE_AVAILABLE_IN_1_0;graphene-auto.f90;/usr/include/graphene-1.0/graphene-vec4.h;\"const graphene_vec4_t * graphene_vec4_zero (void);\";function graphene_vec4_zero() bind(c)\r\ngsk;gsk_blend_node_get_blend_mode;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskBlendMode gsk_blend_node_get_blend_mode (const GskRenderNode *node) ;\";function gsk_blend_node_get_blend_mode(node) bind(c)\r\ngsk;gsk_blend_node_get_bottom_child;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_blend_node_get_bottom_child (const GskRenderNode *node) ;\";function gsk_blend_node_get_bottom_child(node) bind(c)\r\ngsk;gsk_blend_node_get_top_child;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_blend_node_get_top_child (const GskRenderNode *node) ;\";function gsk_blend_node_get_top_child(node) bind(c)\r\ngsk;gsk_blend_node_get_type;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GType gsk_blend_node_get_type (void) ;\";function gsk_blend_node_get_type() bind(c)\r\ngsk;gsk_blend_node_new;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_blend_node_new (GskRenderNode *bottom, GskRenderNode *top, GskBlendMode blend_mode);\";function gsk_blend_node_new(bottom, top, blend_mode) bind(c)\r\ngsk;gsk_blur_node_get_child;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_blur_node_get_child (const GskRenderNode *node) ;\";function gsk_blur_node_get_child(node) bind(c)\r\ngsk;gsk_blur_node_get_radius;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"float gsk_blur_node_get_radius (const GskRenderNode *node) ;\";function gsk_blur_node_get_radius(node) bind(c)\r\ngsk;gsk_blur_node_get_type;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GType gsk_blur_node_get_type (void) ;\";function gsk_blur_node_get_type() bind(c)\r\ngsk;gsk_blur_node_new;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_blur_node_new (GskRenderNode *child, float radius);\";function gsk_blur_node_new(child, radius) bind(c)\r\ngsk;gsk_border_node_get_colors;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"const GdkRGBA * gsk_border_node_get_colors (const GskRenderNode *node) ;\";function gsk_border_node_get_colors(node) bind(c)\r\ngsk;gsk_border_node_get_outline;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"const GskRoundedRect * gsk_border_node_get_outline (const GskRenderNode *node) ;\";function gsk_border_node_get_outline(node) bind(c)\r\ngsk;gsk_border_node_get_type;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GType gsk_border_node_get_type (void) ;\";function gsk_border_node_get_type() bind(c)\r\ngsk;gsk_border_node_get_widths;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"const float * gsk_border_node_get_widths (const GskRenderNode *node) ;\";function gsk_border_node_get_widths(node) bind(c)\r\ngsk;gsk_broadway_renderer_get_type;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/broadway/gskbroadwayrenderer.h;\"GType gsk_broadway_renderer_get_type (void) ;\";function gsk_broadway_renderer_get_type() bind(c)\r\ngsk;gsk_broadway_renderer_new;GDK_DEPRECATED_IN_4_20;gsk-auto.f90;/usr/include/gtk-4.0/gsk/broadway/gskbroadwayrenderer.h;\"GskRenderer * gsk_broadway_renderer_new (void);\";function gsk_broadway_renderer_new() bind(c)\r\ngsk;gsk_cairo_node_get_draw_context;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"cairo_t * gsk_cairo_node_get_draw_context (GskRenderNode *node);\";function gsk_cairo_node_get_draw_context(node) bind(c)\r\ngsk;gsk_cairo_node_get_surface;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"cairo_surface_t * gsk_cairo_node_get_surface (GskRenderNode *node);\";function gsk_cairo_node_get_surface(node) bind(c)\r\ngsk;gsk_cairo_node_get_type;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GType gsk_cairo_node_get_type (void) ;\";function gsk_cairo_node_get_type() bind(c)\r\ngsk;gsk_cairo_node_new;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_cairo_node_new (const graphene_rect_t *bounds);\";function gsk_cairo_node_new(bounds) bind(c)\r\ngsk;gsk_cairo_renderer_get_type;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskcairorenderer.h;\"GType gsk_cairo_renderer_get_type (void) ;\";function gsk_cairo_renderer_get_type() bind(c)\r\ngsk;gsk_cairo_renderer_new;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskcairorenderer.h;\"GskRenderer * gsk_cairo_renderer_new (void);\";function gsk_cairo_renderer_new() bind(c)\r\ngsk;gsk_clip_node_get_child;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_clip_node_get_child (const GskRenderNode *node) ;\";function gsk_clip_node_get_child(node) bind(c)\r\ngsk;gsk_clip_node_get_clip;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"const graphene_rect_t * gsk_clip_node_get_clip (const GskRenderNode *node) ;\";function gsk_clip_node_get_clip(node) bind(c)\r\ngsk;gsk_clip_node_get_type;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GType gsk_clip_node_get_type (void) ;\";function gsk_clip_node_get_type() bind(c)\r\ngsk;gsk_clip_node_new;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_clip_node_new (GskRenderNode *child, const graphene_rect_t *clip);\";function gsk_clip_node_new(child, clip) bind(c)\r\ngsk;gsk_color_matrix_node_get_child;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_color_matrix_node_get_child (const GskRenderNode *node) ;\";function gsk_color_matrix_node_get_child(node) bind(c)\r\ngsk;gsk_color_matrix_node_get_color_matrix;;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"const graphene_matrix_t * gsk_color_matrix_node_get_color_matrix (const GskRenderNode *node) ;\";function gsk_color_matrix_node_get_color_matrix(node) bind(c)\r\ngsk;gsk_color_matrix_node_get_color_offset;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"const graphene_vec4_t * gsk_color_matrix_node_get_color_offset (const GskRenderNode *node) ;\";function gsk_color_matrix_node_get_color_offset(node) bind(c)\r\ngsk;gsk_color_matrix_node_get_type;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GType gsk_color_matrix_node_get_type (void) ;\";function gsk_color_matrix_node_get_type() bind(c)\r\ngsk;gsk_color_matrix_node_new;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_color_matrix_node_new (GskRenderNode *child, const graphene_matrix_t *color_matrix, const graphene_vec4_t *color_offset);\";function gsk_color_matrix_node_new(child, color_matrix, color_offset) bind(c)\r\ngsk;gsk_color_node_get_color;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"const GdkRGBA * gsk_color_node_get_color (const GskRenderNode *node) ;\";function gsk_color_node_get_color(node) bind(c)\r\ngsk;gsk_color_node_get_type;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GType gsk_color_node_get_type (void) ;\";function gsk_color_node_get_type() bind(c)\r\ngsk;gsk_color_node_new;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_color_node_new (const GdkRGBA *rgba, const graphene_rect_t *bounds);\";function gsk_color_node_new(rgba, bounds) bind(c)\r\ngsk;gsk_component_transfer_copy;GDK_AVAILABLE_IN_4_20;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskcomponenttransfer.h;\"GskComponentTransfer * gsk_component_transfer_copy (const GskComponentTransfer *other);\";function gsk_component_transfer_copy(other) bind(c)\r\ngsk;gsk_component_transfer_equal;GDK_AVAILABLE_IN_4_20;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskcomponenttransfer.h;\"gboolean gsk_component_transfer_equal (gconstpointer self, gconstpointer other);\";function gsk_component_transfer_equal(self, other) bind(c)\r\ngsk;gsk_component_transfer_free;GDK_AVAILABLE_IN_4_20;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskcomponenttransfer.h;\"void gsk_component_transfer_free (GskComponentTransfer *self);\";subroutine gsk_component_transfer_free(self) bind(c)\r\ngsk;gsk_component_transfer_get_type;GDK_AVAILABLE_IN_4_20;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskcomponenttransfer.h;\"GType gsk_component_transfer_get_type (void) ;\";function gsk_component_transfer_get_type() bind(c)\r\ngsk;gsk_component_transfer_new_discrete;GDK_AVAILABLE_IN_4_20;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskcomponenttransfer.h;\"GskComponentTransfer * gsk_component_transfer_new_discrete (guint n, float *values);\";function gsk_component_transfer_new_discrete(n, values) bind(c)\r\ngsk;gsk_component_transfer_new_gamma;GDK_AVAILABLE_IN_4_20;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskcomponenttransfer.h;\"GskComponentTransfer * gsk_component_transfer_new_gamma (float amp, float exp, float ofs);\";function gsk_component_transfer_new_gamma(amp, exp, ofs) bind(c)\r\ngsk;gsk_component_transfer_new_identity;GDK_AVAILABLE_IN_4_20;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskcomponenttransfer.h;\"GskComponentTransfer * gsk_component_transfer_new_identity (void);\";function gsk_component_transfer_new_identity() bind(c)\r\ngsk;gsk_component_transfer_new_levels;GDK_AVAILABLE_IN_4_20;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskcomponenttransfer.h;\"GskComponentTransfer * gsk_component_transfer_new_levels (float n);\";function gsk_component_transfer_new_levels(n) bind(c)\r\ngsk;gsk_component_transfer_new_linear;GDK_AVAILABLE_IN_4_20;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskcomponenttransfer.h;\"GskComponentTransfer * gsk_component_transfer_new_linear (float m, float b);\";function gsk_component_transfer_new_linear(m, b) bind(c)\r\ngsk;gsk_component_transfer_new_table;GDK_AVAILABLE_IN_4_20;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskcomponenttransfer.h;\"GskComponentTransfer * gsk_component_transfer_new_table (guint n, float *values);\";function gsk_component_transfer_new_table(n, values) bind(c)\r\ngsk;gsk_component_transfer_node_get_child;GDK_AVAILABLE_IN_4_20;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_component_transfer_node_get_child (const GskRenderNode *node) ;\";function gsk_component_transfer_node_get_child(node) bind(c)\r\ngsk;gsk_component_transfer_node_get_transfer;;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"const GskComponentTransfer * gsk_component_transfer_node_get_transfer (const GskRenderNode *node, guint component) ;\";function gsk_component_transfer_node_get_transfer(node, component) bind(c)\r\ngsk;gsk_component_transfer_node_get_type;GDK_AVAILABLE_IN_4_20;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GType gsk_component_transfer_node_get_type (void) ;\";function gsk_component_transfer_node_get_type() bind(c)\r\ngsk;gsk_component_transfer_node_new;GDK_AVAILABLE_IN_4_20;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_component_transfer_node_new (GskRenderNode *child, const GskComponentTransfer *r, const GskComponentTransfer *g, const GskComponentTransfer *b, const GskComponentTransfer *a);\";function gsk_component_transfer_node_new(child, r, g, b, a) bind(c)\r\ngsk;gsk_conic_gradient_node_get_angle;GDK_AVAILABLE_IN_4_2;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"float gsk_conic_gradient_node_get_angle (const GskRenderNode *node) ;\";function gsk_conic_gradient_node_get_angle(node) bind(c)\r\ngsk;gsk_conic_gradient_node_get_center;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"const graphene_point_t * gsk_conic_gradient_node_get_center (const GskRenderNode *node) ;\";function gsk_conic_gradient_node_get_center(node) bind(c)\r\ngsk;gsk_conic_gradient_node_get_color_stops;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"const GskColorStop * gsk_conic_gradient_node_get_color_stops (const GskRenderNode *node, gsize *n_stops);\";function gsk_conic_gradient_node_get_color_stops(node, n_stops) bind(c)\r\ngsk;gsk_conic_gradient_node_get_n_color_stops;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"gsize gsk_conic_gradient_node_get_n_color_stops (const GskRenderNode *node) ;\";function gsk_conic_gradient_node_get_n_color_stops(node) bind(c)\r\ngsk;gsk_conic_gradient_node_get_rotation;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"float gsk_conic_gradient_node_get_rotation (const GskRenderNode *node) ;\";function gsk_conic_gradient_node_get_rotation(node) bind(c)\r\ngsk;gsk_conic_gradient_node_get_type;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GType gsk_conic_gradient_node_get_type (void) ;\";function gsk_conic_gradient_node_get_type() bind(c)\r\ngsk;gsk_conic_gradient_node_new;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_conic_gradient_node_new (const graphene_rect_t *bounds, const graphene_point_t *center, float rotation, const GskColorStop *color_stops, gsize n_color_stops);\";function gsk_conic_gradient_node_new(bounds, center, rotation, color_stops, n_color_stops) bind(c)\r\ngsk;gsk_container_node_get_child;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_container_node_get_child (const GskRenderNode *node, guint idx) ;\";function gsk_container_node_get_child(node, idx) bind(c)\r\ngsk;gsk_container_node_get_n_children;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"guint gsk_container_node_get_n_children (const GskRenderNode *node) ;\";function gsk_container_node_get_n_children(node) bind(c)\r\ngsk;gsk_container_node_get_type;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GType gsk_container_node_get_type (void) ;\";function gsk_container_node_get_type() bind(c)\r\ngsk;gsk_container_node_new;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_container_node_new (GskRenderNode **children, guint n_children);\";function gsk_container_node_new(children, n_children) bind(c)\r\ngsk;gsk_cross_fade_node_get_end_child;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_cross_fade_node_get_end_child (const GskRenderNode *node) ;\";function gsk_cross_fade_node_get_end_child(node) bind(c)\r\ngsk;gsk_cross_fade_node_get_progress;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"float gsk_cross_fade_node_get_progress (const GskRenderNode *node) ;\";function gsk_cross_fade_node_get_progress(node) bind(c)\r\ngsk;gsk_cross_fade_node_get_start_child;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_cross_fade_node_get_start_child (const GskRenderNode *node) ;\";function gsk_cross_fade_node_get_start_child(node) bind(c)\r\ngsk;gsk_cross_fade_node_get_type;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GType gsk_cross_fade_node_get_type (void) ;\";function gsk_cross_fade_node_get_type() bind(c)\r\ngsk;gsk_cross_fade_node_new;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_cross_fade_node_new (GskRenderNode *start, GskRenderNode *end, float progress);\";function gsk_cross_fade_node_new(start, end, progress) bind(c)\r\ngsk;gsk_debug_node_get_child;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_debug_node_get_child (const GskRenderNode *node) ;\";function gsk_debug_node_get_child(node) bind(c)\r\ngsk;gsk_debug_node_get_message;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"const char * gsk_debug_node_get_message (const GskRenderNode *node) ;\";function gsk_debug_node_get_message(node) bind(c)\r\ngsk;gsk_debug_node_get_type;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GType gsk_debug_node_get_type (void) ;\";function gsk_debug_node_get_type() bind(c)\r\ngsk;gsk_debug_node_new;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_debug_node_new (GskRenderNode *child, char *message);\";function gsk_debug_node_new(child, message) bind(c)\r\ngsk;gsk_fill_node_get_child;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_fill_node_get_child (const GskRenderNode *node);\";function gsk_fill_node_get_child(node) bind(c)\r\ngsk;gsk_fill_node_get_fill_rule;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskFillRule gsk_fill_node_get_fill_rule (const GskRenderNode *node);\";function gsk_fill_node_get_fill_rule(node) bind(c)\r\ngsk;gsk_fill_node_get_path;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskPath * gsk_fill_node_get_path (const GskRenderNode *node);\";function gsk_fill_node_get_path(node) bind(c)\r\ngsk;gsk_fill_node_get_type;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GType gsk_fill_node_get_type (void) ;\";function gsk_fill_node_get_type() bind(c)\r\ngsk;gsk_fill_node_new;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_fill_node_new (GskRenderNode *child, GskPath *path, GskFillRule fill_rule);\";function gsk_fill_node_new(child, path, fill_rule) bind(c)\r\ngsk;gsk_gl_renderer_get_type;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gpu/gskglrenderer.h;\"GType gsk_gl_renderer_get_type (void) ;\";function gsk_gl_renderer_get_type() bind(c)\r\ngsk;gsk_gl_renderer_new;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gpu/gskglrenderer.h;\"GskRenderer *gsk_gl_renderer_new (void);\";function gsk_gl_renderer_new() bind(c)\r\ngsk;gsk_gl_shader_compile;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskglshader.h;\"gboolean gsk_gl_shader_compile (GskGLShader *shader, GskRenderer *renderer, GError **error);\";function gsk_gl_shader_compile(shader, renderer, error) bind(c)\r\ngsk;gsk_gl_shader_find_uniform_by_name;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskglshader.h;\"int gsk_gl_shader_find_uniform_by_name (GskGLShader *shader, const char *name);\";function gsk_gl_shader_find_uniform_by_name(shader, name) bind(c)\r\ngsk;gsk_gl_shader_format_args_va;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskglshader.h;\"GBytes * gsk_gl_shader_format_args_va (GskGLShader *shader, va_list uniforms);\";function gsk_gl_shader_format_args_va(shader, uniforms) bind(c)\r\ngsk;gsk_gl_shader_get_arg_bool;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskglshader.h;\"gboolean gsk_gl_shader_get_arg_bool (GskGLShader *shader, GBytes *args, int idx);\";function gsk_gl_shader_get_arg_bool(shader, args, idx) bind(c)\r\ngsk;gsk_gl_shader_get_arg_float;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskglshader.h;\"float gsk_gl_shader_get_arg_float (GskGLShader *shader, GBytes *args, int idx);\";function gsk_gl_shader_get_arg_float(shader, args, idx) bind(c)\r\ngsk;gsk_gl_shader_get_arg_int;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskglshader.h;\"gint32 gsk_gl_shader_get_arg_int (GskGLShader *shader, GBytes *args, int idx);\";function gsk_gl_shader_get_arg_int(shader, args, idx) bind(c)\r\ngsk;gsk_gl_shader_get_arg_uint;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskglshader.h;\"guint32 gsk_gl_shader_get_arg_uint (GskGLShader *shader, GBytes *args, int idx);\";function gsk_gl_shader_get_arg_uint(shader, args, idx) bind(c)\r\ngsk;gsk_gl_shader_get_arg_vec2;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskglshader.h;\"void gsk_gl_shader_get_arg_vec2 (GskGLShader *shader, GBytes *args, int idx, graphene_vec2_t *out_value);\";subroutine gsk_gl_shader_get_arg_vec2(shader, args, idx, out_value) bind(c)\r\ngsk;gsk_gl_shader_get_arg_vec3;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskglshader.h;\"void gsk_gl_shader_get_arg_vec3 (GskGLShader *shader, GBytes *args, int idx, graphene_vec3_t *out_value);\";subroutine gsk_gl_shader_get_arg_vec3(shader, args, idx, out_value) bind(c)\r\ngsk;gsk_gl_shader_get_arg_vec4;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskglshader.h;\"void gsk_gl_shader_get_arg_vec4 (GskGLShader *shader, GBytes *args, int idx, graphene_vec4_t *out_value);\";subroutine gsk_gl_shader_get_arg_vec4(shader, args, idx, out_value) bind(c)\r\ngsk;gsk_gl_shader_get_args_size;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskglshader.h;\"gsize gsk_gl_shader_get_args_size (GskGLShader *shader);\";function gsk_gl_shader_get_args_size(shader) bind(c)\r\ngsk;gsk_gl_shader_get_n_textures;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskglshader.h;\"int gsk_gl_shader_get_n_textures (GskGLShader *shader);\";function gsk_gl_shader_get_n_textures(shader) bind(c)\r\ngsk;gsk_gl_shader_get_n_uniforms;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskglshader.h;\"int gsk_gl_shader_get_n_uniforms (GskGLShader *shader);\";function gsk_gl_shader_get_n_uniforms(shader) bind(c)\r\ngsk;gsk_gl_shader_get_resource;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskglshader.h;\"const char * gsk_gl_shader_get_resource (GskGLShader *shader);\";function gsk_gl_shader_get_resource(shader) bind(c)\r\ngsk;gsk_gl_shader_get_source;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskglshader.h;\"GBytes * gsk_gl_shader_get_source (GskGLShader *shader);\";function gsk_gl_shader_get_source(shader) bind(c)\r\ngsk;gsk_gl_shader_get_uniform_name;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskglshader.h;\"const char * gsk_gl_shader_get_uniform_name (GskGLShader *shader, int idx);\";function gsk_gl_shader_get_uniform_name(shader, idx) bind(c)\r\ngsk;gsk_gl_shader_get_uniform_offset;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskglshader.h;\"int gsk_gl_shader_get_uniform_offset (GskGLShader *shader, int idx);\";function gsk_gl_shader_get_uniform_offset(shader, idx) bind(c)\r\ngsk;gsk_gl_shader_get_uniform_type;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskglshader.h;\"GskGLUniformType gsk_gl_shader_get_uniform_type (GskGLShader *shader, int idx);\";function gsk_gl_shader_get_uniform_type(shader, idx) bind(c)\r\ngsk;gsk_gl_shader_new_from_bytes;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskglshader.h;\"GskGLShader * gsk_gl_shader_new_from_bytes (GBytes *sourcecode);\";function gsk_gl_shader_new_from_bytes(sourcecode) bind(c)\r\ngsk;gsk_gl_shader_new_from_resource;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskglshader.h;\"GskGLShader * gsk_gl_shader_new_from_resource (const char *resource_path);\";function gsk_gl_shader_new_from_resource(resource_path) bind(c)\r\ngsk;gsk_gl_shader_node_get_args;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GBytes * gsk_gl_shader_node_get_args (const GskRenderNode *node) ;\";function gsk_gl_shader_node_get_args(node) bind(c)\r\ngsk;gsk_gl_shader_node_get_child;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_gl_shader_node_get_child (const GskRenderNode *node, guint idx) ;\";function gsk_gl_shader_node_get_child(node, idx) bind(c)\r\ngsk;gsk_gl_shader_node_get_n_children;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"guint gsk_gl_shader_node_get_n_children (const GskRenderNode *node) ;\";function gsk_gl_shader_node_get_n_children(node) bind(c)\r\ngsk;gsk_gl_shader_node_get_shader;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskGLShader * gsk_gl_shader_node_get_shader (const GskRenderNode *node) ;\";function gsk_gl_shader_node_get_shader(node) bind(c)\r\ngsk;gsk_gl_shader_node_get_type;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GType gsk_gl_shader_node_get_type (void) ;\";function gsk_gl_shader_node_get_type() bind(c)\r\ngsk;gsk_gl_shader_node_new;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_gl_shader_node_new (GskGLShader *shader, const graphene_rect_t *bounds, GBytes *args, GskRenderNode **children, guint n_children);\";function gsk_gl_shader_node_new(shader, bounds, args, children, n_children) bind(c)\r\ngsk;gsk_inset_shadow_node_get_blur_radius;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"float gsk_inset_shadow_node_get_blur_radius (const GskRenderNode *node) ;\";function gsk_inset_shadow_node_get_blur_radius(node) bind(c)\r\ngsk;gsk_inset_shadow_node_get_color;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"const GdkRGBA * gsk_inset_shadow_node_get_color (const GskRenderNode *node) ;\";function gsk_inset_shadow_node_get_color(node) bind(c)\r\ngsk;gsk_inset_shadow_node_get_dx;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"float gsk_inset_shadow_node_get_dx (const GskRenderNode *node) ;\";function gsk_inset_shadow_node_get_dx(node) bind(c)\r\ngsk;gsk_inset_shadow_node_get_dy;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"float gsk_inset_shadow_node_get_dy (const GskRenderNode *node) ;\";function gsk_inset_shadow_node_get_dy(node) bind(c)\r\ngsk;gsk_inset_shadow_node_get_outline;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"const GskRoundedRect * gsk_inset_shadow_node_get_outline (const GskRenderNode *node) ;\";function gsk_inset_shadow_node_get_outline(node) bind(c)\r\ngsk;gsk_inset_shadow_node_get_spread;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"float gsk_inset_shadow_node_get_spread (const GskRenderNode *node) ;\";function gsk_inset_shadow_node_get_spread(node) bind(c)\r\ngsk;gsk_inset_shadow_node_get_type;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GType gsk_inset_shadow_node_get_type (void) ;\";function gsk_inset_shadow_node_get_type() bind(c)\r\ngsk;gsk_inset_shadow_node_new;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_inset_shadow_node_new (const GskRoundedRect *outline, const GdkRGBA *color, float dx, float dy, float spread, float blur_radius);\";function gsk_inset_shadow_node_new(outline, color, dx, dy, spread, blur_radius) bind(c)\r\ngsk;gsk_linear_gradient_node_get_color_stops;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"const GskColorStop * gsk_linear_gradient_node_get_color_stops (const GskRenderNode *node, gsize *n_stops);\";function gsk_linear_gradient_node_get_color_stops(node, n_stops) bind(c)\r\ngsk;gsk_linear_gradient_node_get_end;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"const graphene_point_t * gsk_linear_gradient_node_get_end (const GskRenderNode *node) ;\";function gsk_linear_gradient_node_get_end(node) bind(c)\r\ngsk;gsk_linear_gradient_node_get_n_color_stops;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"gsize gsk_linear_gradient_node_get_n_color_stops (const GskRenderNode *node) ;\";function gsk_linear_gradient_node_get_n_color_stops(node) bind(c)\r\ngsk;gsk_linear_gradient_node_get_start;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"const graphene_point_t * gsk_linear_gradient_node_get_start (const GskRenderNode *node) ;\";function gsk_linear_gradient_node_get_start(node) bind(c)\r\ngsk;gsk_linear_gradient_node_get_type;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GType gsk_linear_gradient_node_get_type (void) ;\";function gsk_linear_gradient_node_get_type() bind(c)\r\ngsk;gsk_linear_gradient_node_new;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_linear_gradient_node_new (const graphene_rect_t *bounds, const graphene_point_t *start, const graphene_point_t *end, const GskColorStop *color_stops, gsize n_color_stops);\";function gsk_linear_gradient_node_new(bounds, start, end, color_stops, n_color_stops) bind(c)\r\ngsk;gsk_mask_node_get_mask;GDK_AVAILABLE_IN_4_10;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_mask_node_get_mask (const GskRenderNode *node);\";function gsk_mask_node_get_mask(node) bind(c)\r\ngsk;gsk_mask_node_get_mask_mode;GDK_AVAILABLE_IN_4_10;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskMaskMode gsk_mask_node_get_mask_mode (const GskRenderNode *node);\";function gsk_mask_node_get_mask_mode(node) bind(c)\r\ngsk;gsk_mask_node_get_source;GDK_AVAILABLE_IN_4_10;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_mask_node_get_source (const GskRenderNode *node);\";function gsk_mask_node_get_source(node) bind(c)\r\ngsk;gsk_mask_node_get_type;GDK_AVAILABLE_IN_4_10;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GType gsk_mask_node_get_type (void) ;\";function gsk_mask_node_get_type() bind(c)\r\ngsk;gsk_mask_node_new;GDK_AVAILABLE_IN_4_10;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_mask_node_new (GskRenderNode *source, GskRenderNode *mask, GskMaskMode mask_mode);\";function gsk_mask_node_new(source, mask, mask_mode) bind(c)\r\ngsk;gsk_ngl_renderer_get_type;GDK_DEPRECATED_IN_4_18_FOR (gsk_gl_renderer_get_type);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gpu/gskglrenderer.h;\"GType gsk_ngl_renderer_get_type (void) ;\";function gsk_ngl_renderer_get_type() bind(c)\r\ngsk;gsk_ngl_renderer_new;GDK_DEPRECATED_IN_4_18_FOR (gsk_gl_renderer_new);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gpu/gskglrenderer.h;\"GskRenderer *gsk_ngl_renderer_new (void);\";function gsk_ngl_renderer_new() bind(c)\r\ngsk;gsk_opacity_node_get_child;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_opacity_node_get_child (const GskRenderNode *node) ;\";function gsk_opacity_node_get_child(node) bind(c)\r\ngsk;gsk_opacity_node_get_opacity;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"float gsk_opacity_node_get_opacity (const GskRenderNode *node) ;\";function gsk_opacity_node_get_opacity(node) bind(c)\r\ngsk;gsk_opacity_node_get_type;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GType gsk_opacity_node_get_type (void) ;\";function gsk_opacity_node_get_type() bind(c)\r\ngsk;gsk_opacity_node_new;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_opacity_node_new (GskRenderNode *child, float opacity);\";function gsk_opacity_node_new(child, opacity) bind(c)\r\ngsk;gsk_outset_shadow_node_get_blur_radius;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"float gsk_outset_shadow_node_get_blur_radius (const GskRenderNode *node) ;\";function gsk_outset_shadow_node_get_blur_radius(node) bind(c)\r\ngsk;gsk_outset_shadow_node_get_color;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"const GdkRGBA * gsk_outset_shadow_node_get_color (const GskRenderNode *node) ;\";function gsk_outset_shadow_node_get_color(node) bind(c)\r\ngsk;gsk_outset_shadow_node_get_dx;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"float gsk_outset_shadow_node_get_dx (const GskRenderNode *node) ;\";function gsk_outset_shadow_node_get_dx(node) bind(c)\r\ngsk;gsk_outset_shadow_node_get_dy;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"float gsk_outset_shadow_node_get_dy (const GskRenderNode *node) ;\";function gsk_outset_shadow_node_get_dy(node) bind(c)\r\ngsk;gsk_outset_shadow_node_get_outline;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"const GskRoundedRect * gsk_outset_shadow_node_get_outline (const GskRenderNode *node) ;\";function gsk_outset_shadow_node_get_outline(node) bind(c)\r\ngsk;gsk_outset_shadow_node_get_spread;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"float gsk_outset_shadow_node_get_spread (const GskRenderNode *node) ;\";function gsk_outset_shadow_node_get_spread(node) bind(c)\r\ngsk;gsk_outset_shadow_node_get_type;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GType gsk_outset_shadow_node_get_type (void) ;\";function gsk_outset_shadow_node_get_type() bind(c)\r\ngsk;gsk_outset_shadow_node_new;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_outset_shadow_node_new (const GskRoundedRect *outline, const GdkRGBA *color, float dx, float dy, float spread, float blur_radius);\";function gsk_outset_shadow_node_new(outline, color, dx, dy, spread, blur_radius) bind(c)\r\ngsk;gsk_path_builder_add_cairo_path;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathbuilder.h;\"void gsk_path_builder_add_cairo_path (GskPathBuilder *self, const cairo_path_t *path);\";subroutine gsk_path_builder_add_cairo_path(self, path) bind(c)\r\ngsk;gsk_path_builder_add_circle;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathbuilder.h;\"void gsk_path_builder_add_circle (GskPathBuilder *self, const graphene_point_t *center, float radius);\";subroutine gsk_path_builder_add_circle(self, center, radius) bind(c)\r\ngsk;gsk_path_builder_add_layout;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathbuilder.h;\"void gsk_path_builder_add_layout (GskPathBuilder *self, PangoLayout *layout);\";subroutine gsk_path_builder_add_layout(self, layout) bind(c)\r\ngsk;gsk_path_builder_add_path;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathbuilder.h;\"void gsk_path_builder_add_path (GskPathBuilder *self, GskPath *path);\";subroutine gsk_path_builder_add_path(self, path) bind(c)\r\ngsk;gsk_path_builder_add_rect;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathbuilder.h;\"void gsk_path_builder_add_rect (GskPathBuilder *self, const graphene_rect_t *rect);\";subroutine gsk_path_builder_add_rect(self, rect) bind(c)\r\ngsk;gsk_path_builder_add_reverse_path;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathbuilder.h;\"void gsk_path_builder_add_reverse_path (GskPathBuilder *self, GskPath *path);\";subroutine gsk_path_builder_add_reverse_path(self, path) bind(c)\r\ngsk;gsk_path_builder_add_rounded_rect;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathbuilder.h;\"void gsk_path_builder_add_rounded_rect (GskPathBuilder *self, const GskRoundedRect *rect);\";subroutine gsk_path_builder_add_rounded_rect(self, rect) bind(c)\r\ngsk;gsk_path_builder_add_segment;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathbuilder.h;\"void gsk_path_builder_add_segment (GskPathBuilder *self, GskPath *path, const GskPathPoint *start, const GskPathPoint *end);\";subroutine gsk_path_builder_add_segment(self, path, start, end) bind(c)\r\ngsk;gsk_path_builder_arc_to;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathbuilder.h;\"void gsk_path_builder_arc_to (GskPathBuilder *self, float x1, float y1, float x2, float y2);\";subroutine gsk_path_builder_arc_to(self, x1, y1, x2, y2) bind(c)\r\ngsk;gsk_path_builder_close;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathbuilder.h;\"void gsk_path_builder_close (GskPathBuilder *self);\";subroutine gsk_path_builder_close(self) bind(c)\r\ngsk;gsk_path_builder_conic_to;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathbuilder.h;\"void gsk_path_builder_conic_to (GskPathBuilder *self, float x1, float y1, float x2, float y2, float weight);\";subroutine gsk_path_builder_conic_to(self, x1, y1, x2, y2, weight) bind(c)\r\ngsk;gsk_path_builder_cubic_to;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathbuilder.h;\"void gsk_path_builder_cubic_to (GskPathBuilder *self, float x1, float y1, float x2, float y2, float x3, float y3);\";subroutine gsk_path_builder_cubic_to(self, x1, y1, x2, y2, x3, y3) bind(c)\r\ngsk;gsk_path_builder_free_to_path;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathbuilder.h;\"GskPath * gsk_path_builder_free_to_path (GskPathBuilder *self) ;\";function gsk_path_builder_free_to_path(self) bind(c)\r\ngsk;gsk_path_builder_get_current_point;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathbuilder.h;\"const graphene_point_t *gsk_path_builder_get_current_point (GskPathBuilder *self);\";function gsk_path_builder_get_current_point(self) bind(c)\r\ngsk;gsk_path_builder_get_type;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathbuilder.h;\"GType gsk_path_builder_get_type (void) ;\";function gsk_path_builder_get_type() bind(c)\r\ngsk;gsk_path_builder_html_arc_to;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathbuilder.h;\"void gsk_path_builder_html_arc_to (GskPathBuilder *self, float x1, float y1, float x2, float y2, float radius);\";subroutine gsk_path_builder_html_arc_to(self, x1, y1, x2, y2, radius) bind(c)\r\ngsk;gsk_path_builder_line_to;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathbuilder.h;\"void gsk_path_builder_line_to (GskPathBuilder *self, float x, float y);\";subroutine gsk_path_builder_line_to(self, x, y) bind(c)\r\ngsk;gsk_path_builder_move_to;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathbuilder.h;\"void gsk_path_builder_move_to (GskPathBuilder *self, float x, float y);\";subroutine gsk_path_builder_move_to(self, x, y) bind(c)\r\ngsk;gsk_path_builder_new;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathbuilder.h;\"GskPathBuilder * gsk_path_builder_new (void);\";function gsk_path_builder_new() bind(c)\r\ngsk;gsk_path_builder_quad_to;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathbuilder.h;\"void gsk_path_builder_quad_to (GskPathBuilder *self, float x1, float y1, float x2, float y2);\";subroutine gsk_path_builder_quad_to(self, x1, y1, x2, y2) bind(c)\r\ngsk;gsk_path_builder_ref;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathbuilder.h;\"GskPathBuilder * gsk_path_builder_ref (GskPathBuilder *self);\";function gsk_path_builder_ref(self) bind(c)\r\ngsk;gsk_path_builder_rel_arc_to;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathbuilder.h;\"void gsk_path_builder_rel_arc_to (GskPathBuilder *self, float x1, float y1, float x2, float y2);\";subroutine gsk_path_builder_rel_arc_to(self, x1, y1, x2, y2) bind(c)\r\ngsk;gsk_path_builder_rel_conic_to;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathbuilder.h;\"void gsk_path_builder_rel_conic_to (GskPathBuilder *self, float x1, float y1, float x2, float y2, float weight);\";subroutine gsk_path_builder_rel_conic_to(self, x1, y1, x2, y2, weight) bind(c)\r\ngsk;gsk_path_builder_rel_cubic_to;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathbuilder.h;\"void gsk_path_builder_rel_cubic_to (GskPathBuilder *self, float x1, float y1, float x2, float y2, float x3, float y3);\";subroutine gsk_path_builder_rel_cubic_to(self, x1, y1, x2, y2, x3, y3) bind(c)\r\ngsk;gsk_path_builder_rel_html_arc_to;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathbuilder.h;\"void gsk_path_builder_rel_html_arc_to (GskPathBuilder *self, float x1, float y1, float x2, float y2, float radius);\";subroutine gsk_path_builder_rel_html_arc_to(self, x1, y1, x2, y2, radius) bind(c)\r\ngsk;gsk_path_builder_rel_line_to;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathbuilder.h;\"void gsk_path_builder_rel_line_to (GskPathBuilder *self, float x, float y);\";subroutine gsk_path_builder_rel_line_to(self, x, y) bind(c)\r\ngsk;gsk_path_builder_rel_move_to;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathbuilder.h;\"void gsk_path_builder_rel_move_to (GskPathBuilder *self, float x, float y);\";subroutine gsk_path_builder_rel_move_to(self, x, y) bind(c)\r\ngsk;gsk_path_builder_rel_quad_to;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathbuilder.h;\"void gsk_path_builder_rel_quad_to (GskPathBuilder *self, float x1, float y1, float x2, float y2);\";subroutine gsk_path_builder_rel_quad_to(self, x1, y1, x2, y2) bind(c)\r\ngsk;gsk_path_builder_rel_svg_arc_to;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathbuilder.h;\"void gsk_path_builder_rel_svg_arc_to (GskPathBuilder *self, float rx, float ry, float x_axis_rotation, gboolean large_arc, gboolean positive_sweep, float x, float y);\";subroutine gsk_path_builder_rel_svg_arc_to(self, rx, ry, x_axis_rotation, large_arc, positive_sweep, x, y) bind(c)\r\ngsk;gsk_path_builder_svg_arc_to;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathbuilder.h;\"void gsk_path_builder_svg_arc_to (GskPathBuilder *self, float rx, float ry, float x_axis_rotation, gboolean large_arc, gboolean positive_sweep, float x, float y);\";subroutine gsk_path_builder_svg_arc_to(self, rx, ry, x_axis_rotation, large_arc, positive_sweep, x, y) bind(c)\r\ngsk;gsk_path_builder_to_path;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathbuilder.h;\"GskPath * gsk_path_builder_to_path (GskPathBuilder *self) ;\";function gsk_path_builder_to_path(self) bind(c)\r\ngsk;gsk_path_builder_unref;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathbuilder.h;\"void gsk_path_builder_unref (GskPathBuilder *self);\";subroutine gsk_path_builder_unref(self) bind(c)\r\ngsk;gsk_path_foreach;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpath.h;\"gboolean gsk_path_foreach (GskPath *self, GskPathForeachFlags flags, GskPathForeachFunc func, gpointer user_data);\";function gsk_path_foreach(self, flags, func, user_data) bind(c)\r\ngsk;gsk_path_foreach_intersection;GDK_AVAILABLE_IN_4_20;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpath.h;\"gboolean gsk_path_foreach_intersection (GskPath *path1, GskPath *path2, GskPathIntersectionFunc func, gpointer user_data);\";function gsk_path_foreach_intersection(path1, path2, func, user_data) bind(c)\r\ngsk;gsk_path_get_bounds;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpath.h;\"gboolean gsk_path_get_bounds (GskPath *self, graphene_rect_t *bounds) ;\";function gsk_path_get_bounds(self, bounds) bind(c)\r\ngsk;gsk_path_get_closest_point;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpath.h;\"gboolean gsk_path_get_closest_point (GskPath *self, const graphene_point_t *point, float threshold, GskPathPoint *result, float *distance);\";function gsk_path_get_closest_point(self, point, threshold, result, distance) bind(c)\r\ngsk;gsk_path_get_end_point;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpath.h;\"gboolean gsk_path_get_end_point (GskPath *self, GskPathPoint *result);\";function gsk_path_get_end_point(self, result) bind(c)\r\ngsk;gsk_path_get_start_point;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpath.h;\"gboolean gsk_path_get_start_point (GskPath *self, GskPathPoint *result);\";function gsk_path_get_start_point(self, result) bind(c)\r\ngsk;gsk_path_get_stroke_bounds;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpath.h;\"gboolean gsk_path_get_stroke_bounds (GskPath *self, const GskStroke *stroke, graphene_rect_t *bounds);\";function gsk_path_get_stroke_bounds(self, stroke, bounds) bind(c)\r\ngsk;gsk_path_get_type;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpath.h;\"GType gsk_path_get_type (void) ;\";function gsk_path_get_type() bind(c)\r\ngsk;gsk_path_in_fill;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpath.h;\"gboolean gsk_path_in_fill (GskPath *self, const graphene_point_t *point, GskFillRule fill_rule);\";function gsk_path_in_fill(self, point, fill_rule) bind(c)\r\ngsk;gsk_path_is_closed;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpath.h;\"gboolean gsk_path_is_closed (GskPath *self);\";function gsk_path_is_closed(self) bind(c)\r\ngsk;gsk_path_is_empty;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpath.h;\"gboolean gsk_path_is_empty (GskPath *self);\";function gsk_path_is_empty(self) bind(c)\r\ngsk;gsk_path_measure_get_length;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathmeasure.h;\"float gsk_path_measure_get_length (GskPathMeasure *self);\";function gsk_path_measure_get_length(self) bind(c)\r\ngsk;gsk_path_measure_get_path;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathmeasure.h;\"GskPath * gsk_path_measure_get_path (GskPathMeasure *self) ;\";function gsk_path_measure_get_path(self) bind(c)\r\ngsk;gsk_path_measure_get_point;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathmeasure.h;\"gboolean gsk_path_measure_get_point (GskPathMeasure *self, float distance, GskPathPoint *result);\";function gsk_path_measure_get_point(self, distance, result) bind(c)\r\ngsk;gsk_path_measure_get_tolerance;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathmeasure.h;\"float gsk_path_measure_get_tolerance (GskPathMeasure *self) ;\";function gsk_path_measure_get_tolerance(self) bind(c)\r\ngsk;gsk_path_measure_get_type;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathmeasure.h;\"GType gsk_path_measure_get_type (void) ;\";function gsk_path_measure_get_type() bind(c)\r\ngsk;gsk_path_measure_new;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathmeasure.h;\"GskPathMeasure * gsk_path_measure_new (GskPath *path);\";function gsk_path_measure_new(path) bind(c)\r\ngsk;gsk_path_measure_new_with_tolerance;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathmeasure.h;\"GskPathMeasure * gsk_path_measure_new_with_tolerance (GskPath *path, float tolerance);\";function gsk_path_measure_new_with_tolerance(path, tolerance) bind(c)\r\ngsk;gsk_path_measure_ref;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathmeasure.h;\"GskPathMeasure * gsk_path_measure_ref (GskPathMeasure *self);\";function gsk_path_measure_ref(self) bind(c)\r\ngsk;gsk_path_measure_unref;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathmeasure.h;\"void gsk_path_measure_unref (GskPathMeasure *self);\";subroutine gsk_path_measure_unref(self) bind(c)\r\ngsk;gsk_path_parse;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpath.h;\"GskPath * gsk_path_parse (const char *string);\";function gsk_path_parse(string) bind(c)\r\ngsk;gsk_path_point_compare;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathpoint.h;\"int gsk_path_point_compare (const GskPathPoint *point1, const GskPathPoint *point2) ;\";function gsk_path_point_compare(point1, point2) bind(c)\r\ngsk;gsk_path_point_copy;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathpoint.h;\"GskPathPoint * gsk_path_point_copy (GskPathPoint *point);\";function gsk_path_point_copy(point) bind(c)\r\ngsk;gsk_path_point_equal;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathpoint.h;\"gboolean gsk_path_point_equal (const GskPathPoint *point1, const GskPathPoint *point2) ;\";function gsk_path_point_equal(point1, point2) bind(c)\r\ngsk;gsk_path_point_free;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathpoint.h;\"void gsk_path_point_free (GskPathPoint *point);\";subroutine gsk_path_point_free(point) bind(c)\r\ngsk;gsk_path_point_get_curvature;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathpoint.h;\"float gsk_path_point_get_curvature (const GskPathPoint *point, GskPath *path, GskPathDirection direction, graphene_point_t *center);\";function gsk_path_point_get_curvature(point, path, direction, center) bind(c)\r\ngsk;gsk_path_point_get_distance;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathpoint.h;\"float gsk_path_point_get_distance (const GskPathPoint *point, GskPathMeasure *measure);\";function gsk_path_point_get_distance(point, measure) bind(c)\r\ngsk;gsk_path_point_get_position;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathpoint.h;\"void gsk_path_point_get_position (const GskPathPoint *point, GskPath *path, graphene_point_t *position);\";subroutine gsk_path_point_get_position(point, path, position) bind(c)\r\ngsk;gsk_path_point_get_rotation;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathpoint.h;\"float gsk_path_point_get_rotation (const GskPathPoint *point, GskPath *path, GskPathDirection direction);\";function gsk_path_point_get_rotation(point, path, direction) bind(c)\r\ngsk;gsk_path_point_get_tangent;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathpoint.h;\"void gsk_path_point_get_tangent (const GskPathPoint *point, GskPath *path, GskPathDirection direction, graphene_vec2_t *tangent);\";subroutine gsk_path_point_get_tangent(point, path, direction, tangent) bind(c)\r\ngsk;gsk_path_point_get_type;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpathpoint.h;\"GType gsk_path_point_get_type (void) ;\";function gsk_path_point_get_type() bind(c)\r\ngsk;gsk_path_print;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpath.h;\"void gsk_path_print (GskPath *self, GString *string);\";subroutine gsk_path_print(self, string) bind(c)\r\ngsk;gsk_path_ref;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpath.h;\"GskPath * gsk_path_ref (GskPath *self);\";function gsk_path_ref(self) bind(c)\r\ngsk;gsk_path_to_cairo;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpath.h;\"void gsk_path_to_cairo (GskPath *self, cairo_t *cr);\";subroutine gsk_path_to_cairo(self, cr) bind(c)\r\ngsk;gsk_path_to_string;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpath.h;\"char * gsk_path_to_string (GskPath *self);\";function gsk_path_to_string(self) bind(c)\r\ngsk;gsk_path_unref;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskpath.h;\"void gsk_path_unref (GskPath *self);\";subroutine gsk_path_unref(self) bind(c)\r\ngsk;gsk_radial_gradient_node_get_center;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"const graphene_point_t *gsk_radial_gradient_node_get_center (const GskRenderNode *node) ;\";function gsk_radial_gradient_node_get_center(node) bind(c)\r\ngsk;gsk_radial_gradient_node_get_color_stops;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"const GskColorStop * gsk_radial_gradient_node_get_color_stops (const GskRenderNode *node, gsize *n_stops);\";function gsk_radial_gradient_node_get_color_stops(node, n_stops) bind(c)\r\ngsk;gsk_radial_gradient_node_get_end;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"float gsk_radial_gradient_node_get_end (const GskRenderNode *node) ;\";function gsk_radial_gradient_node_get_end(node) bind(c)\r\ngsk;gsk_radial_gradient_node_get_hradius;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"float gsk_radial_gradient_node_get_hradius (const GskRenderNode *node) ;\";function gsk_radial_gradient_node_get_hradius(node) bind(c)\r\ngsk;gsk_radial_gradient_node_get_n_color_stops;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"gsize gsk_radial_gradient_node_get_n_color_stops (const GskRenderNode *node) ;\";function gsk_radial_gradient_node_get_n_color_stops(node) bind(c)\r\ngsk;gsk_radial_gradient_node_get_start;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"float gsk_radial_gradient_node_get_start (const GskRenderNode *node) ;\";function gsk_radial_gradient_node_get_start(node) bind(c)\r\ngsk;gsk_radial_gradient_node_get_type;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GType gsk_radial_gradient_node_get_type (void) ;\";function gsk_radial_gradient_node_get_type() bind(c)\r\ngsk;gsk_radial_gradient_node_get_vradius;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"float gsk_radial_gradient_node_get_vradius (const GskRenderNode *node) ;\";function gsk_radial_gradient_node_get_vradius(node) bind(c)\r\ngsk;gsk_radial_gradient_node_new;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_radial_gradient_node_new (const graphene_rect_t *bounds, const graphene_point_t *center, float hradius, float vradius, float start, float end, const GskColorStop *color_stops, gsize n_color_stops);\";function gsk_radial_gradient_node_new(bounds, center, hradius, vradius, start, end, color_stops, n_color_stops) bind(c)\r\ngsk;gsk_render_node_deserialize;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_render_node_deserialize (GBytes *bytes, GskParseErrorFunc error_func, gpointer user_data);\";function gsk_render_node_deserialize(bytes, error_func, user_data) bind(c)\r\ngsk;gsk_render_node_draw;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"void gsk_render_node_draw (GskRenderNode *node, cairo_t *cr);\";subroutine gsk_render_node_draw(node, cr) bind(c)\r\ngsk;gsk_render_node_get_bounds;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"void gsk_render_node_get_bounds (GskRenderNode *node, graphene_rect_t *bounds);\";subroutine gsk_render_node_get_bounds(node, bounds) bind(c)\r\ngsk;gsk_render_node_get_node_type;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNodeType gsk_render_node_get_node_type (const GskRenderNode *node);\";function gsk_render_node_get_node_type(node) bind(c)\r\ngsk;gsk_render_node_get_opaque_rect;GDK_AVAILABLE_IN_4_16;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"gboolean gsk_render_node_get_opaque_rect (GskRenderNode *self, graphene_rect_t *out_opaque) ;\";function gsk_render_node_get_opaque_rect(self, out_opaque) bind(c)\r\ngsk;gsk_render_node_get_type;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GType gsk_render_node_get_type (void) ;\";function gsk_render_node_get_type() bind(c)\r\ngsk;gsk_render_node_ref;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_render_node_ref (GskRenderNode *node);\";function gsk_render_node_ref(node) bind(c)\r\ngsk;gsk_render_node_serialize;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GBytes * gsk_render_node_serialize (GskRenderNode *node);\";function gsk_render_node_serialize(node) bind(c)\r\ngsk;gsk_render_node_unref;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"void gsk_render_node_unref (GskRenderNode *node);\";subroutine gsk_render_node_unref(node) bind(c)\r\ngsk;gsk_render_node_write_to_file;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"gboolean gsk_render_node_write_to_file (GskRenderNode *node, const char *filename, GError **error);\";function gsk_render_node_write_to_file(node, filename, error) bind(c)\r\ngsk;gsk_renderer_get_surface;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrenderer.h;\"GdkSurface * gsk_renderer_get_surface (GskRenderer *renderer);\";function gsk_renderer_get_surface(renderer) bind(c)\r\ngsk;gsk_renderer_get_type;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrenderer.h;\"GType gsk_renderer_get_type (void) ;\";function gsk_renderer_get_type() bind(c)\r\ngsk;gsk_renderer_is_realized;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrenderer.h;\"gboolean gsk_renderer_is_realized (GskRenderer *renderer);\";function gsk_renderer_is_realized(renderer) bind(c)\r\ngsk;gsk_renderer_new_for_surface;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrenderer.h;\"GskRenderer * gsk_renderer_new_for_surface (GdkSurface *surface);\";function gsk_renderer_new_for_surface(surface) bind(c)\r\ngsk;gsk_renderer_realize;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrenderer.h;\"gboolean gsk_renderer_realize (GskRenderer *renderer, GdkSurface *surface, GError **error);\";function gsk_renderer_realize(renderer, surface, error) bind(c)\r\ngsk;gsk_renderer_realize_for_display;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrenderer.h;\"gboolean gsk_renderer_realize_for_display (GskRenderer *renderer, GdkDisplay *display, GError **error);\";function gsk_renderer_realize_for_display(renderer, display, error) bind(c)\r\ngsk;gsk_renderer_render;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrenderer.h;\"void gsk_renderer_render (GskRenderer *renderer, GskRenderNode *root, const cairo_region_t *region);\";subroutine gsk_renderer_render(renderer, root, region) bind(c)\r\ngsk;gsk_renderer_render_texture;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrenderer.h;\"GdkTexture * gsk_renderer_render_texture (GskRenderer *renderer, GskRenderNode *root, const graphene_rect_t *viewport);\";function gsk_renderer_render_texture(renderer, root, viewport) bind(c)\r\ngsk;gsk_renderer_unrealize;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrenderer.h;\"void gsk_renderer_unrealize (GskRenderer *renderer);\";subroutine gsk_renderer_unrealize(renderer) bind(c)\r\ngsk;gsk_repeat_node_get_child;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_repeat_node_get_child (const GskRenderNode *node) ;\";function gsk_repeat_node_get_child(node) bind(c)\r\ngsk;gsk_repeat_node_get_child_bounds;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"const graphene_rect_t * gsk_repeat_node_get_child_bounds (const GskRenderNode *node) ;\";function gsk_repeat_node_get_child_bounds(node) bind(c)\r\ngsk;gsk_repeat_node_get_type;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GType gsk_repeat_node_get_type (void) ;\";function gsk_repeat_node_get_type() bind(c)\r\ngsk;gsk_repeat_node_new;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_repeat_node_new (const graphene_rect_t *bounds, GskRenderNode *child, const graphene_rect_t *child_bounds);\";function gsk_repeat_node_new(bounds, child, child_bounds) bind(c)\r\ngsk;gsk_repeating_linear_gradient_node_get_type;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GType gsk_repeating_linear_gradient_node_get_type (void) ;\";function gsk_repeating_linear_gradient_node_get_type() bind(c)\r\ngsk;gsk_repeating_linear_gradient_node_new;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_repeating_linear_gradient_node_new (const graphene_rect_t *bounds, const graphene_point_t *start, const graphene_point_t *end, const GskColorStop *color_stops, gsize n_color_stops);\";function gsk_repeating_linear_gradient_node_new(bounds, start, end, color_stops, n_color_stops) bind(c)\r\ngsk;gsk_repeating_radial_gradient_node_get_type;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GType gsk_repeating_radial_gradient_node_get_type (void) ;\";function gsk_repeating_radial_gradient_node_get_type() bind(c)\r\ngsk;gsk_repeating_radial_gradient_node_new;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_repeating_radial_gradient_node_new (const graphene_rect_t *bounds, const graphene_point_t *center, float hradius, float vradius, float start, float end, const GskColorStop *color_stops, gsize n_color_stops);\";function gsk_repeating_radial_gradient_node_new(bounds, center, hradius, vradius, start, end, color_stops, n_color_stops) bind(c)\r\ngsk;gsk_rounded_clip_node_get_child;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_rounded_clip_node_get_child (const GskRenderNode *node) ;\";function gsk_rounded_clip_node_get_child(node) bind(c)\r\ngsk;gsk_rounded_clip_node_get_clip;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"const GskRoundedRect * gsk_rounded_clip_node_get_clip (const GskRenderNode *node) ;\";function gsk_rounded_clip_node_get_clip(node) bind(c)\r\ngsk;gsk_rounded_clip_node_get_type;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GType gsk_rounded_clip_node_get_type (void) ;\";function gsk_rounded_clip_node_get_type() bind(c)\r\ngsk;gsk_rounded_clip_node_new;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_rounded_clip_node_new (GskRenderNode *child, const GskRoundedRect *clip);\";function gsk_rounded_clip_node_new(child, clip) bind(c)\r\ngsk;gsk_rounded_rect_contains_point;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskroundedrect.h;\"gboolean gsk_rounded_rect_contains_point (const GskRoundedRect *self, const graphene_point_t *point) ;\";function gsk_rounded_rect_contains_point(self, point) bind(c)\r\ngsk;gsk_rounded_rect_contains_rect;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskroundedrect.h;\"gboolean gsk_rounded_rect_contains_rect (const GskRoundedRect *self, const graphene_rect_t *rect) ;\";function gsk_rounded_rect_contains_rect(self, rect) bind(c)\r\ngsk;gsk_rounded_rect_init;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskroundedrect.h;\"GskRoundedRect * gsk_rounded_rect_init (GskRoundedRect *self, const graphene_rect_t *bounds, const graphene_size_t *top_left, const graphene_size_t *top_right, const graphene_size_t *bottom_right, const graphene_size_t *bottom_left);\";function gsk_rounded_rect_init(self, bounds, top_left, top_right, bottom_right, bottom_left) bind(c)\r\ngsk;gsk_rounded_rect_init_copy;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskroundedrect.h;\"GskRoundedRect * gsk_rounded_rect_init_copy (GskRoundedRect *self, const GskRoundedRect *src);\";function gsk_rounded_rect_init_copy(self, src) bind(c)\r\ngsk;gsk_rounded_rect_init_from_rect;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskroundedrect.h;\"GskRoundedRect * gsk_rounded_rect_init_from_rect (GskRoundedRect *self, const graphene_rect_t *bounds, float radius);\";function gsk_rounded_rect_init_from_rect(self, bounds, radius) bind(c)\r\ngsk;gsk_rounded_rect_intersects_rect;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskroundedrect.h;\"gboolean gsk_rounded_rect_intersects_rect (const GskRoundedRect *self, const graphene_rect_t *rect) ;\";function gsk_rounded_rect_intersects_rect(self, rect) bind(c)\r\ngsk;gsk_rounded_rect_is_rectilinear;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskroundedrect.h;\"gboolean gsk_rounded_rect_is_rectilinear (const GskRoundedRect *self) ;\";function gsk_rounded_rect_is_rectilinear(self) bind(c)\r\ngsk;gsk_rounded_rect_normalize;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskroundedrect.h;\"GskRoundedRect * gsk_rounded_rect_normalize (GskRoundedRect *self);\";function gsk_rounded_rect_normalize(self) bind(c)\r\ngsk;gsk_rounded_rect_offset;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskroundedrect.h;\"GskRoundedRect * gsk_rounded_rect_offset (GskRoundedRect *self, float dx, float dy);\";function gsk_rounded_rect_offset(self, dx, dy) bind(c)\r\ngsk;gsk_rounded_rect_shrink;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskroundedrect.h;\"GskRoundedRect * gsk_rounded_rect_shrink (GskRoundedRect *self, float top, float right, float bottom, float left);\";function gsk_rounded_rect_shrink(self, top, right, bottom, left) bind(c)\r\ngsk;gsk_serialization_error_quark;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GQuark gsk_serialization_error_quark (void);\";function gsk_serialization_error_quark() bind(c)\r\ngsk;gsk_shader_args_builder_free_to_args;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskglshader.h;\"GBytes * gsk_shader_args_builder_free_to_args (GskShaderArgsBuilder *builder);\";function gsk_shader_args_builder_free_to_args(builder) bind(c)\r\ngsk;gsk_shader_args_builder_get_type;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskglshader.h;\"GType gsk_shader_args_builder_get_type (void) ;\";function gsk_shader_args_builder_get_type() bind(c)\r\ngsk;gsk_shader_args_builder_new;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskglshader.h;\"GskShaderArgsBuilder *gsk_shader_args_builder_new (GskGLShader *shader, GBytes *initial_values);\";function gsk_shader_args_builder_new(shader, initial_values) bind(c)\r\ngsk;gsk_shader_args_builder_ref;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskglshader.h;\"GskShaderArgsBuilder *gsk_shader_args_builder_ref (GskShaderArgsBuilder *builder);\";function gsk_shader_args_builder_ref(builder) bind(c)\r\ngsk;gsk_shader_args_builder_set_bool;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskglshader.h;\"void gsk_shader_args_builder_set_bool (GskShaderArgsBuilder *builder, int idx, gboolean value);\";subroutine gsk_shader_args_builder_set_bool(builder, idx, value) bind(c)\r\ngsk;gsk_shader_args_builder_set_float;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskglshader.h;\"void gsk_shader_args_builder_set_float (GskShaderArgsBuilder *builder, int idx, float value);\";subroutine gsk_shader_args_builder_set_float(builder, idx, value) bind(c)\r\ngsk;gsk_shader_args_builder_set_int;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskglshader.h;\"void gsk_shader_args_builder_set_int (GskShaderArgsBuilder *builder, int idx, gint32 value);\";subroutine gsk_shader_args_builder_set_int(builder, idx, value) bind(c)\r\ngsk;gsk_shader_args_builder_set_uint;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskglshader.h;\"void gsk_shader_args_builder_set_uint (GskShaderArgsBuilder *builder, int idx, guint32 value);\";subroutine gsk_shader_args_builder_set_uint(builder, idx, value) bind(c)\r\ngsk;gsk_shader_args_builder_set_vec2;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskglshader.h;\"void gsk_shader_args_builder_set_vec2 (GskShaderArgsBuilder *builder, int idx, const graphene_vec2_t *value);\";subroutine gsk_shader_args_builder_set_vec2(builder, idx, value) bind(c)\r\ngsk;gsk_shader_args_builder_set_vec3;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskglshader.h;\"void gsk_shader_args_builder_set_vec3 (GskShaderArgsBuilder *builder, int idx, const graphene_vec3_t *value);\";subroutine gsk_shader_args_builder_set_vec3(builder, idx, value) bind(c)\r\ngsk;gsk_shader_args_builder_set_vec4;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskglshader.h;\"void gsk_shader_args_builder_set_vec4 (GskShaderArgsBuilder *builder, int idx, const graphene_vec4_t *value);\";subroutine gsk_shader_args_builder_set_vec4(builder, idx, value) bind(c)\r\ngsk;gsk_shader_args_builder_to_args;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskglshader.h;\"GBytes * gsk_shader_args_builder_to_args (GskShaderArgsBuilder *builder);\";function gsk_shader_args_builder_to_args(builder) bind(c)\r\ngsk;gsk_shader_args_builder_unref;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskglshader.h;\"void gsk_shader_args_builder_unref (GskShaderArgsBuilder *builder);\";subroutine gsk_shader_args_builder_unref(builder) bind(c)\r\ngsk;gsk_shadow_node_get_child;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_shadow_node_get_child (const GskRenderNode *node) ;\";function gsk_shadow_node_get_child(node) bind(c)\r\ngsk;gsk_shadow_node_get_n_shadows;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"gsize gsk_shadow_node_get_n_shadows (const GskRenderNode *node) ;\";function gsk_shadow_node_get_n_shadows(node) bind(c)\r\ngsk;gsk_shadow_node_get_shadow;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"const GskShadow * gsk_shadow_node_get_shadow (const GskRenderNode *node, gsize i) ;\";function gsk_shadow_node_get_shadow(node, i) bind(c)\r\ngsk;gsk_shadow_node_get_type;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GType gsk_shadow_node_get_type (void) ;\";function gsk_shadow_node_get_type() bind(c)\r\ngsk;gsk_shadow_node_new;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_shadow_node_new (GskRenderNode *child, const GskShadow *shadows, gsize n_shadows);\";function gsk_shadow_node_new(child, shadows, n_shadows) bind(c)\r\ngsk;gsk_stroke_copy;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskstroke.h;\"GskStroke * gsk_stroke_copy (const GskStroke *other);\";function gsk_stroke_copy(other) bind(c)\r\ngsk;gsk_stroke_equal;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskstroke.h;\"gboolean gsk_stroke_equal (gconstpointer stroke1, gconstpointer stroke2);\";function gsk_stroke_equal(stroke1, stroke2) bind(c)\r\ngsk;gsk_stroke_free;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskstroke.h;\"void gsk_stroke_free (GskStroke *self);\";subroutine gsk_stroke_free(self) bind(c)\r\ngsk;gsk_stroke_get_dash;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskstroke.h;\"const float * gsk_stroke_get_dash (const GskStroke *self, gsize *n_dash);\";function gsk_stroke_get_dash(self, n_dash) bind(c)\r\ngsk;gsk_stroke_get_dash_offset;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskstroke.h;\"float gsk_stroke_get_dash_offset (const GskStroke *self);\";function gsk_stroke_get_dash_offset(self) bind(c)\r\ngsk;gsk_stroke_get_line_cap;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskstroke.h;\"GskLineCap gsk_stroke_get_line_cap (const GskStroke *self);\";function gsk_stroke_get_line_cap(self) bind(c)\r\ngsk;gsk_stroke_get_line_join;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskstroke.h;\"GskLineJoin gsk_stroke_get_line_join (const GskStroke *self);\";function gsk_stroke_get_line_join(self) bind(c)\r\ngsk;gsk_stroke_get_line_width;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskstroke.h;\"float gsk_stroke_get_line_width (const GskStroke *self);\";function gsk_stroke_get_line_width(self) bind(c)\r\ngsk;gsk_stroke_get_miter_limit;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskstroke.h;\"float gsk_stroke_get_miter_limit (const GskStroke *self);\";function gsk_stroke_get_miter_limit(self) bind(c)\r\ngsk;gsk_stroke_get_type;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskstroke.h;\"GType gsk_stroke_get_type (void) ;\";function gsk_stroke_get_type() bind(c)\r\ngsk;gsk_stroke_new;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskstroke.h;\"GskStroke * gsk_stroke_new (float line_width);\";function gsk_stroke_new(line_width) bind(c)\r\ngsk;gsk_stroke_node_get_child;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_stroke_node_get_child (const GskRenderNode *node);\";function gsk_stroke_node_get_child(node) bind(c)\r\ngsk;gsk_stroke_node_get_path;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskPath * gsk_stroke_node_get_path (const GskRenderNode *node);\";function gsk_stroke_node_get_path(node) bind(c)\r\ngsk;gsk_stroke_node_get_stroke;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"const GskStroke * gsk_stroke_node_get_stroke (const GskRenderNode *node);\";function gsk_stroke_node_get_stroke(node) bind(c)\r\ngsk;gsk_stroke_node_get_type;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GType gsk_stroke_node_get_type (void) ;\";function gsk_stroke_node_get_type() bind(c)\r\ngsk;gsk_stroke_node_new;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_stroke_node_new (GskRenderNode *child, GskPath *path, const GskStroke *stroke);\";function gsk_stroke_node_new(child, path, stroke) bind(c)\r\ngsk;gsk_stroke_set_dash;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskstroke.h;\"void gsk_stroke_set_dash (GskStroke *self, const float *dash, gsize n_dash);\";subroutine gsk_stroke_set_dash(self, dash, n_dash) bind(c)\r\ngsk;gsk_stroke_set_dash_offset;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskstroke.h;\"void gsk_stroke_set_dash_offset (GskStroke *self, float offset);\";subroutine gsk_stroke_set_dash_offset(self, offset) bind(c)\r\ngsk;gsk_stroke_set_line_cap;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskstroke.h;\"void gsk_stroke_set_line_cap (GskStroke *self, GskLineCap line_cap);\";subroutine gsk_stroke_set_line_cap(self, line_cap) bind(c)\r\ngsk;gsk_stroke_set_line_join;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskstroke.h;\"void gsk_stroke_set_line_join (GskStroke *self, GskLineJoin line_join);\";subroutine gsk_stroke_set_line_join(self, line_join) bind(c)\r\ngsk;gsk_stroke_set_line_width;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskstroke.h;\"void gsk_stroke_set_line_width (GskStroke *self, float line_width);\";subroutine gsk_stroke_set_line_width(self, line_width) bind(c)\r\ngsk;gsk_stroke_set_miter_limit;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskstroke.h;\"void gsk_stroke_set_miter_limit (GskStroke *self, float limit);\";subroutine gsk_stroke_set_miter_limit(self, limit) bind(c)\r\ngsk;gsk_stroke_to_cairo;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskstroke.h;\"void gsk_stroke_to_cairo (const GskStroke *self, cairo_t *cr);\";subroutine gsk_stroke_to_cairo(self, cr) bind(c)\r\ngsk;gsk_subsurface_node_get_child;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_subsurface_node_get_child (const GskRenderNode *node) ;\";function gsk_subsurface_node_get_child(node) bind(c)\r\ngsk;gsk_subsurface_node_get_subsurface;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"gpointer gsk_subsurface_node_get_subsurface (const GskRenderNode *node);\";function gsk_subsurface_node_get_subsurface(node) bind(c)\r\ngsk;gsk_subsurface_node_get_type;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GType gsk_subsurface_node_get_type (void) ;\";function gsk_subsurface_node_get_type() bind(c)\r\ngsk;gsk_subsurface_node_new;GDK_AVAILABLE_IN_4_14;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_subsurface_node_new (GskRenderNode *child, gpointer subsurface);\";function gsk_subsurface_node_new(child, subsurface) bind(c)\r\ngsk;gsk_text_node_get_color;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"const GdkRGBA * gsk_text_node_get_color (const GskRenderNode *node) ;\";function gsk_text_node_get_color(node) bind(c)\r\ngsk;gsk_text_node_get_font;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"PangoFont * gsk_text_node_get_font (const GskRenderNode *node) ;\";function gsk_text_node_get_font(node) bind(c)\r\ngsk;gsk_text_node_get_glyphs;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"const PangoGlyphInfo *gsk_text_node_get_glyphs (const GskRenderNode *node, guint *n_glyphs);\";function gsk_text_node_get_glyphs(node, n_glyphs) bind(c)\r\ngsk;gsk_text_node_get_num_glyphs;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"guint gsk_text_node_get_num_glyphs (const GskRenderNode *node) ;\";function gsk_text_node_get_num_glyphs(node) bind(c)\r\ngsk;gsk_text_node_get_offset;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"const graphene_point_t *gsk_text_node_get_offset (const GskRenderNode *node) ;\";function gsk_text_node_get_offset(node) bind(c)\r\ngsk;gsk_text_node_get_type;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GType gsk_text_node_get_type (void) ;\";function gsk_text_node_get_type() bind(c)\r\ngsk;gsk_text_node_has_color_glyphs;GDK_AVAILABLE_IN_4_2;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"gboolean gsk_text_node_has_color_glyphs (const GskRenderNode *node) ;\";function gsk_text_node_has_color_glyphs(node) bind(c)\r\ngsk;gsk_text_node_new;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_text_node_new (PangoFont *font, PangoGlyphString *glyphs, const GdkRGBA *color, const graphene_point_t *offset);\";function gsk_text_node_new(font, glyphs, color, offset) bind(c)\r\ngsk;gsk_texture_node_get_texture;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GdkTexture * gsk_texture_node_get_texture (const GskRenderNode *node) ;\";function gsk_texture_node_get_texture(node) bind(c)\r\ngsk;gsk_texture_node_get_type;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GType gsk_texture_node_get_type (void) ;\";function gsk_texture_node_get_type() bind(c)\r\ngsk;gsk_texture_node_new;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_texture_node_new (GdkTexture *texture, const graphene_rect_t *bounds);\";function gsk_texture_node_new(texture, bounds) bind(c)\r\ngsk;gsk_texture_scale_node_get_filter;GDK_AVAILABLE_IN_4_10;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskScalingFilter gsk_texture_scale_node_get_filter (const GskRenderNode *node) ;\";function gsk_texture_scale_node_get_filter(node) bind(c)\r\ngsk;gsk_texture_scale_node_get_texture;GDK_AVAILABLE_IN_4_10;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GdkTexture * gsk_texture_scale_node_get_texture (const GskRenderNode *node) ;\";function gsk_texture_scale_node_get_texture(node) bind(c)\r\ngsk;gsk_texture_scale_node_get_type;GDK_AVAILABLE_IN_4_10;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GType gsk_texture_scale_node_get_type (void) ;\";function gsk_texture_scale_node_get_type() bind(c)\r\ngsk;gsk_texture_scale_node_new;GDK_AVAILABLE_IN_4_10;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_texture_scale_node_new (GdkTexture *texture, const graphene_rect_t *bounds, GskScalingFilter filter);\";function gsk_texture_scale_node_new(texture, bounds, filter) bind(c)\r\ngsk;gsk_transform_equal;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gsktransform.h;\"gboolean gsk_transform_equal (GskTransform *first, GskTransform *second) ;\";function gsk_transform_equal(first, second) bind(c)\r\ngsk;gsk_transform_get_category;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gsktransform.h;\"GskTransformCategory gsk_transform_get_category (GskTransform *self) ;\";function gsk_transform_get_category(self) bind(c)\r\ngsk;gsk_transform_get_type;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gsktransform.h;\"GType gsk_transform_get_type (void) ;\";function gsk_transform_get_type() bind(c)\r\ngsk;gsk_transform_invert;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gsktransform.h;\"GskTransform * gsk_transform_invert (GskTransform *self) ;\";function gsk_transform_invert(self) bind(c)\r\ngsk;gsk_transform_matrix;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gsktransform.h;\"GskTransform * gsk_transform_matrix (GskTransform *next, const graphene_matrix_t *matrix) ;\";function gsk_transform_matrix(next, matrix) bind(c)\r\ngsk;gsk_transform_matrix_2d;GDK_AVAILABLE_IN_4_20;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gsktransform.h;\"GskTransform * gsk_transform_matrix_2d (GskTransform *next, float xx, float yx, float xy, float yy, float dx, float dy) ;\";function gsk_transform_matrix_2d(next, xx, yx, xy, yy, dx, dy) bind(c)\r\ngsk;gsk_transform_new;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gsktransform.h;\"GskTransform * gsk_transform_new (void);\";function gsk_transform_new() bind(c)\r\ngsk;gsk_transform_node_get_child;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_transform_node_get_child (const GskRenderNode *node) ;\";function gsk_transform_node_get_child(node) bind(c)\r\ngsk;gsk_transform_node_get_transform;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskTransform * gsk_transform_node_get_transform (const GskRenderNode *node) ;\";function gsk_transform_node_get_transform(node) bind(c)\r\ngsk;gsk_transform_node_get_type;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GType gsk_transform_node_get_type (void) ;\";function gsk_transform_node_get_type() bind(c)\r\ngsk;gsk_transform_node_new;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_transform_node_new (GskRenderNode *child, GskTransform *transform);\";function gsk_transform_node_new(child, transform) bind(c)\r\ngsk;gsk_transform_parse;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gsktransform.h;\"gboolean gsk_transform_parse (const char *string, GskTransform **out_transform);\";function gsk_transform_parse(string, out_transform) bind(c)\r\ngsk;gsk_transform_perspective;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gsktransform.h;\"GskTransform * gsk_transform_perspective (GskTransform *next, float depth) ;\";function gsk_transform_perspective(next, depth) bind(c)\r\ngsk;gsk_transform_print;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gsktransform.h;\"void gsk_transform_print (GskTransform *self, GString *string);\";subroutine gsk_transform_print(self, string) bind(c)\r\ngsk;gsk_transform_ref;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gsktransform.h;\"GskTransform * gsk_transform_ref (GskTransform *self);\";function gsk_transform_ref(self) bind(c)\r\ngsk;gsk_transform_rotate;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gsktransform.h;\"GskTransform * gsk_transform_rotate (GskTransform *next, float angle) ;\";function gsk_transform_rotate(next, angle) bind(c)\r\ngsk;gsk_transform_rotate_3d;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gsktransform.h;\"GskTransform * gsk_transform_rotate_3d (GskTransform *next, float angle, const graphene_vec3_t *axis) ;\";function gsk_transform_rotate_3d(next, angle, axis) bind(c)\r\ngsk;gsk_transform_scale;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gsktransform.h;\"GskTransform * gsk_transform_scale (GskTransform *next, float factor_x, float factor_y) ;\";function gsk_transform_scale(next, factor_x, factor_y) bind(c)\r\ngsk;gsk_transform_scale_3d;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gsktransform.h;\"GskTransform * gsk_transform_scale_3d (GskTransform *next, float factor_x, float factor_y, float factor_z) ;\";function gsk_transform_scale_3d(next, factor_x, factor_y, factor_z) bind(c)\r\ngsk;gsk_transform_skew;GDK_AVAILABLE_IN_4_6;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gsktransform.h;\"GskTransform * gsk_transform_skew (GskTransform *next, float skew_x, float skew_y) ;\";function gsk_transform_skew(next, skew_x, skew_y) bind(c)\r\ngsk;gsk_transform_to_2d;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gsktransform.h;\"void gsk_transform_to_2d (GskTransform *self, float *out_xx, float *out_yx, float *out_xy, float *out_yy, float *out_dx, float *out_dy);\";subroutine gsk_transform_to_2d(self, out_xx, out_yx, out_xy, out_yy, out_dx, out_dy) bind(c)\r\ngsk;gsk_transform_to_2d_components;GDK_AVAILABLE_IN_4_6;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gsktransform.h;\"void gsk_transform_to_2d_components (GskTransform *self, float *out_skew_x, float *out_skew_y, float *out_scale_x, float *out_scale_y, float *out_angle, float *out_dx, float *out_dy);\";subroutine gsk_transform_to_2d_components(self, out_skew_x, out_skew_y, out_scale_x, out_scale_y, out_angle, out_dx, out_dy) bind(c)\r\ngsk;gsk_transform_to_affine;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gsktransform.h;\"void gsk_transform_to_affine (GskTransform *self, float *out_scale_x, float *out_scale_y, float *out_dx, float *out_dy);\";subroutine gsk_transform_to_affine(self, out_scale_x, out_scale_y, out_dx, out_dy) bind(c)\r\ngsk;gsk_transform_to_matrix;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gsktransform.h;\"void gsk_transform_to_matrix (GskTransform *self, graphene_matrix_t *out_matrix);\";subroutine gsk_transform_to_matrix(self, out_matrix) bind(c)\r\ngsk;gsk_transform_to_string;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gsktransform.h;\"char * gsk_transform_to_string (GskTransform *self);\";function gsk_transform_to_string(self) bind(c)\r\ngsk;gsk_transform_to_translate;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gsktransform.h;\"void gsk_transform_to_translate (GskTransform *self, float *out_dx, float *out_dy);\";subroutine gsk_transform_to_translate(self, out_dx, out_dy) bind(c)\r\ngsk;gsk_transform_transform;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gsktransform.h;\"GskTransform * gsk_transform_transform (GskTransform *next, GskTransform *other) ;\";function gsk_transform_transform(next, other) bind(c)\r\ngsk;gsk_transform_transform_bounds;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gsktransform.h;\"void gsk_transform_transform_bounds (GskTransform *self, const graphene_rect_t *rect, graphene_rect_t *out_rect);\";subroutine gsk_transform_transform_bounds(self, rect, out_rect) bind(c)\r\ngsk;gsk_transform_transform_point;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gsktransform.h;\"void gsk_transform_transform_point (GskTransform *self, const graphene_point_t *point, graphene_point_t *out_point);\";subroutine gsk_transform_transform_point(self, point, out_point) bind(c)\r\ngsk;gsk_transform_translate;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gsktransform.h;\"GskTransform * gsk_transform_translate (GskTransform *next, const graphene_point_t *point) ;\";function gsk_transform_translate(next, point) bind(c)\r\ngsk;gsk_transform_translate_3d;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gsktransform.h;\"GskTransform * gsk_transform_translate_3d (GskTransform *next, const graphene_point3d_t *point) ;\";function gsk_transform_translate_3d(next, point) bind(c)\r\ngsk;gsk_transform_unref;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gsktransform.h;\"void gsk_transform_unref (GskTransform *self);\";subroutine gsk_transform_unref(self) bind(c)\r\ngsk;gsk_value_dup_render_node;GDK_AVAILABLE_IN_4_4;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_value_dup_render_node (const GValue *value);\";function gsk_value_dup_render_node(value) bind(c)\r\ngsk;gsk_value_get_render_node;GDK_AVAILABLE_IN_4_4;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"GskRenderNode * gsk_value_get_render_node (const GValue *value);\";function gsk_value_get_render_node(value) bind(c)\r\ngsk;gsk_value_set_render_node;GDK_AVAILABLE_IN_4_4;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"void gsk_value_set_render_node (GValue *value, GskRenderNode *node);\";subroutine gsk_value_set_render_node(value, node) bind(c)\r\ngsk;gsk_value_take_render_node;GDK_AVAILABLE_IN_4_4;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gskrendernode.h;\"void gsk_value_take_render_node (GValue *value, GskRenderNode *node);\";subroutine gsk_value_take_render_node(value, node) bind(c)\r\ngsk;gsk_vulkan_renderer_get_type;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gpu/gskvulkanrenderer.h;\"GType gsk_vulkan_renderer_get_type (void) ;\";function gsk_vulkan_renderer_get_type() bind(c)\r\ngsk;gsk_vulkan_renderer_new;GDK_AVAILABLE_IN_ALL;gsk-auto.f90;/usr/include/gtk-4.0/gsk/gpu/gskvulkanrenderer.h;\"GskRenderer * gsk_vulkan_renderer_new (void);\";function gsk_vulkan_renderer_new() bind(c)\r\ngtk;gtk_about_dialog_add_credit_section;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaboutdialog.h;\"void gtk_about_dialog_add_credit_section (GtkAboutDialog *about, const char *section_name, const char **people);\";subroutine gtk_about_dialog_add_credit_section(about, section_name, people) bind(c)\r\ngtk;gtk_about_dialog_get_artists;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaboutdialog.h;\"const char * const * gtk_about_dialog_get_artists (GtkAboutDialog *about);\";function gtk_about_dialog_get_artists(about) bind(c)\r\ngtk;gtk_about_dialog_get_authors;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaboutdialog.h;\"const char * const * gtk_about_dialog_get_authors (GtkAboutDialog *about);\";function gtk_about_dialog_get_authors(about) bind(c)\r\ngtk;gtk_about_dialog_get_comments;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaboutdialog.h;\"const char * gtk_about_dialog_get_comments (GtkAboutDialog *about);\";function gtk_about_dialog_get_comments(about) bind(c)\r\ngtk;gtk_about_dialog_get_copyright;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaboutdialog.h;\"const char * gtk_about_dialog_get_copyright (GtkAboutDialog *about);\";function gtk_about_dialog_get_copyright(about) bind(c)\r\ngtk;gtk_about_dialog_get_documenters;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaboutdialog.h;\"const char * const * gtk_about_dialog_get_documenters (GtkAboutDialog *about);\";function gtk_about_dialog_get_documenters(about) bind(c)\r\ngtk;gtk_about_dialog_get_license;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaboutdialog.h;\"const char * gtk_about_dialog_get_license (GtkAboutDialog *about);\";function gtk_about_dialog_get_license(about) bind(c)\r\ngtk;gtk_about_dialog_get_license_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaboutdialog.h;\"GtkLicense gtk_about_dialog_get_license_type (GtkAboutDialog *about);\";function gtk_about_dialog_get_license_type(about) bind(c)\r\ngtk;gtk_about_dialog_get_logo;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaboutdialog.h;\"GdkPaintable *gtk_about_dialog_get_logo (GtkAboutDialog *about);\";function gtk_about_dialog_get_logo(about) bind(c)\r\ngtk;gtk_about_dialog_get_logo_icon_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaboutdialog.h;\"const char * gtk_about_dialog_get_logo_icon_name (GtkAboutDialog *about);\";function gtk_about_dialog_get_logo_icon_name(about) bind(c)\r\ngtk;gtk_about_dialog_get_program_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaboutdialog.h;\"const char * gtk_about_dialog_get_program_name (GtkAboutDialog *about);\";function gtk_about_dialog_get_program_name(about) bind(c)\r\ngtk;gtk_about_dialog_get_system_information;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaboutdialog.h;\"const char * gtk_about_dialog_get_system_information (GtkAboutDialog *about);\";function gtk_about_dialog_get_system_information(about) bind(c)\r\ngtk;gtk_about_dialog_get_translator_credits;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaboutdialog.h;\"const char * gtk_about_dialog_get_translator_credits (GtkAboutDialog *about);\";function gtk_about_dialog_get_translator_credits(about) bind(c)\r\ngtk;gtk_about_dialog_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaboutdialog.h;\"GType gtk_about_dialog_get_type (void) ;\";function gtk_about_dialog_get_type() bind(c)\r\ngtk;gtk_about_dialog_get_version;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaboutdialog.h;\"const char * gtk_about_dialog_get_version (GtkAboutDialog *about);\";function gtk_about_dialog_get_version(about) bind(c)\r\ngtk;gtk_about_dialog_get_website;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaboutdialog.h;\"const char * gtk_about_dialog_get_website (GtkAboutDialog *about);\";function gtk_about_dialog_get_website(about) bind(c)\r\ngtk;gtk_about_dialog_get_website_label;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaboutdialog.h;\"const char * gtk_about_dialog_get_website_label (GtkAboutDialog *about);\";function gtk_about_dialog_get_website_label(about) bind(c)\r\ngtk;gtk_about_dialog_get_wrap_license;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaboutdialog.h;\"gboolean gtk_about_dialog_get_wrap_license (GtkAboutDialog *about);\";function gtk_about_dialog_get_wrap_license(about) bind(c)\r\ngtk;gtk_about_dialog_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaboutdialog.h;\"GtkWidget *gtk_about_dialog_new (void);\";function gtk_about_dialog_new() bind(c)\r\ngtk;gtk_about_dialog_set_artists;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaboutdialog.h;\"void gtk_about_dialog_set_artists (GtkAboutDialog *about, const char **artists);\";subroutine gtk_about_dialog_set_artists(about, artists) bind(c)\r\ngtk;gtk_about_dialog_set_authors;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaboutdialog.h;\"void gtk_about_dialog_set_authors (GtkAboutDialog *about, const char **authors);\";subroutine gtk_about_dialog_set_authors(about, authors) bind(c)\r\ngtk;gtk_about_dialog_set_comments;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaboutdialog.h;\"void gtk_about_dialog_set_comments (GtkAboutDialog *about, const char *comments);\";subroutine gtk_about_dialog_set_comments(about, comments) bind(c)\r\ngtk;gtk_about_dialog_set_copyright;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaboutdialog.h;\"void gtk_about_dialog_set_copyright (GtkAboutDialog *about, const char *copyright);\";subroutine gtk_about_dialog_set_copyright(about, copyright) bind(c)\r\ngtk;gtk_about_dialog_set_documenters;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaboutdialog.h;\"void gtk_about_dialog_set_documenters (GtkAboutDialog *about, const char **documenters);\";subroutine gtk_about_dialog_set_documenters(about, documenters) bind(c)\r\ngtk;gtk_about_dialog_set_license;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaboutdialog.h;\"void gtk_about_dialog_set_license (GtkAboutDialog *about, const char *license);\";subroutine gtk_about_dialog_set_license(about, license) bind(c)\r\ngtk;gtk_about_dialog_set_license_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaboutdialog.h;\"void gtk_about_dialog_set_license_type (GtkAboutDialog *about, GtkLicense license_type);\";subroutine gtk_about_dialog_set_license_type(about, license_type) bind(c)\r\ngtk;gtk_about_dialog_set_logo;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaboutdialog.h;\"void gtk_about_dialog_set_logo (GtkAboutDialog *about, GdkPaintable *logo);\";subroutine gtk_about_dialog_set_logo(about, logo) bind(c)\r\ngtk;gtk_about_dialog_set_logo_icon_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaboutdialog.h;\"void gtk_about_dialog_set_logo_icon_name (GtkAboutDialog *about, const char *icon_name);\";subroutine gtk_about_dialog_set_logo_icon_name(about, icon_name) bind(c)\r\ngtk;gtk_about_dialog_set_program_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaboutdialog.h;\"void gtk_about_dialog_set_program_name (GtkAboutDialog *about, const char *name);\";subroutine gtk_about_dialog_set_program_name(about, name) bind(c)\r\ngtk;gtk_about_dialog_set_system_information;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaboutdialog.h;\"void gtk_about_dialog_set_system_information (GtkAboutDialog *about, const char *system_information);\";subroutine gtk_about_dialog_set_system_information(about, system_information) bind(c)\r\ngtk;gtk_about_dialog_set_translator_credits;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaboutdialog.h;\"void gtk_about_dialog_set_translator_credits (GtkAboutDialog *about, const char *translator_credits);\";subroutine gtk_about_dialog_set_translator_credits(about, translator_credits) bind(c)\r\ngtk;gtk_about_dialog_set_version;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaboutdialog.h;\"void gtk_about_dialog_set_version (GtkAboutDialog *about, const char *version);\";subroutine gtk_about_dialog_set_version(about, version) bind(c)\r\ngtk;gtk_about_dialog_set_website;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaboutdialog.h;\"void gtk_about_dialog_set_website (GtkAboutDialog *about, const char *website);\";subroutine gtk_about_dialog_set_website(about, website) bind(c)\r\ngtk;gtk_about_dialog_set_website_label;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaboutdialog.h;\"void gtk_about_dialog_set_website_label (GtkAboutDialog *about, const char *website_label);\";subroutine gtk_about_dialog_set_website_label(about, website_label) bind(c)\r\ngtk;gtk_about_dialog_set_wrap_license;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaboutdialog.h;\"void gtk_about_dialog_set_wrap_license (GtkAboutDialog *about, gboolean wrap_license);\";subroutine gtk_about_dialog_set_wrap_license(about, wrap_license) bind(c)\r\ngtk;gtk_accelerator_get_default_mod_mask;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaccelgroup.h;\"GdkModifierType gtk_accelerator_get_default_mod_mask (void) ;\";function gtk_accelerator_get_default_mod_mask() bind(c)\r\ngtk;gtk_accelerator_get_label;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaccelgroup.h;\"char * gtk_accelerator_get_label (guint accelerator_key, GdkModifierType accelerator_mods);\";function gtk_accelerator_get_label(accelerator_key, accelerator_mods) bind(c)\r\ngtk;gtk_accelerator_get_label_with_keycode;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaccelgroup.h;\"char * gtk_accelerator_get_label_with_keycode (GdkDisplay *display, guint accelerator_key, guint keycode, GdkModifierType accelerator_mods);\";function gtk_accelerator_get_label_with_keycode(display, accelerator_key, keycode, accelerator_mods) bind(c)\r\ngtk;gtk_accelerator_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaccelgroup.h;\"char * gtk_accelerator_name (guint accelerator_key, GdkModifierType accelerator_mods);\";function gtk_accelerator_name(accelerator_key, accelerator_mods) bind(c)\r\ngtk;gtk_accelerator_name_with_keycode;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaccelgroup.h;\"char * gtk_accelerator_name_with_keycode (GdkDisplay *display, guint accelerator_key, guint keycode, GdkModifierType accelerator_mods);\";function gtk_accelerator_name_with_keycode(display, accelerator_key, keycode, accelerator_mods) bind(c)\r\ngtk;gtk_accelerator_parse;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaccelgroup.h;\"gboolean gtk_accelerator_parse (const char *accelerator, guint *accelerator_key, GdkModifierType *accelerator_mods);\";function gtk_accelerator_parse(accelerator, accelerator_key, accelerator_mods) bind(c)\r\ngtk;gtk_accelerator_parse_with_keycode;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaccelgroup.h;\"gboolean gtk_accelerator_parse_with_keycode (const char *accelerator, GdkDisplay *display, guint *accelerator_key, guint **accelerator_codes, GdkModifierType *accelerator_mods);\";function gtk_accelerator_parse_with_keycode(accelerator, display, accelerator_key, accelerator_codes, accelerator_mods) bind(c)\r\ngtk;gtk_accelerator_valid;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaccelgroup.h;\"gboolean gtk_accelerator_valid (guint keyval, GdkModifierType modifiers) ;\";function gtk_accelerator_valid(keyval, modifiers) bind(c)\r\ngtk;gtk_accessible_announce;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaccessible.h;\"void gtk_accessible_announce (GtkAccessible *self, const char *message, GtkAccessibleAnnouncementPriority priority);\";subroutine gtk_accessible_announce(self, message, priority) bind(c)\r\ngtk;gtk_accessible_get_accessible_parent;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaccessible.h;\"GtkAccessible * gtk_accessible_get_accessible_parent (GtkAccessible *self);\";function gtk_accessible_get_accessible_parent(self) bind(c)\r\ngtk;gtk_accessible_get_accessible_role;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaccessible.h;\"GtkAccessibleRole gtk_accessible_get_accessible_role (GtkAccessible *self);\";function gtk_accessible_get_accessible_role(self) bind(c)\r\ngtk;gtk_accessible_get_at_context;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaccessible.h;\"GtkATContext * gtk_accessible_get_at_context (GtkAccessible *self);\";function gtk_accessible_get_at_context(self) bind(c)\r\ngtk;gtk_accessible_get_bounds;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaccessible.h;\"gboolean gtk_accessible_get_bounds (GtkAccessible *self, int *x, int *y, int *width, int *height);\";function gtk_accessible_get_bounds(self, x, y, width, height) bind(c)\r\ngtk;gtk_accessible_get_first_accessible_child;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaccessible.h;\"GtkAccessible * gtk_accessible_get_first_accessible_child (GtkAccessible *self);\";function gtk_accessible_get_first_accessible_child(self) bind(c)\r\ngtk;gtk_accessible_get_next_accessible_sibling;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaccessible.h;\"GtkAccessible * gtk_accessible_get_next_accessible_sibling (GtkAccessible *self);\";function gtk_accessible_get_next_accessible_sibling(self) bind(c)\r\ngtk;gtk_accessible_get_platform_state;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaccessible.h;\"gboolean gtk_accessible_get_platform_state (GtkAccessible *self, GtkAccessiblePlatformState state);\";function gtk_accessible_get_platform_state(self, state) bind(c)\r\ngtk;gtk_accessible_list_get_objects;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaccessible.h;\"GList * gtk_accessible_list_get_objects (GtkAccessibleList *accessible_list);\";function gtk_accessible_list_get_objects(accessible_list) bind(c)\r\ngtk;gtk_accessible_list_get_type;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaccessible.h;\"GType gtk_accessible_list_get_type (void);\";function gtk_accessible_list_get_type() bind(c)\r\ngtk;gtk_accessible_list_new_from_array;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaccessible.h;\"GtkAccessibleList * gtk_accessible_list_new_from_array (GtkAccessible **accessibles, gsize n_accessibles);\";function gtk_accessible_list_new_from_array(accessibles, n_accessibles) bind(c)\r\ngtk;gtk_accessible_list_new_from_list;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaccessible.h;\"GtkAccessibleList * gtk_accessible_list_new_from_list (GList *list);\";function gtk_accessible_list_new_from_list(list) bind(c)\r\ngtk;gtk_accessible_property_init_value;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaccessible.h;\"void gtk_accessible_property_init_value (GtkAccessibleProperty property, GValue *value);\";subroutine gtk_accessible_property_init_value(property, value) bind(c)\r\ngtk;gtk_accessible_relation_init_value;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaccessible.h;\"void gtk_accessible_relation_init_value (GtkAccessibleRelation relation, GValue *value);\";subroutine gtk_accessible_relation_init_value(relation, value) bind(c)\r\ngtk;gtk_accessible_reset_property;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaccessible.h;\"void gtk_accessible_reset_property (GtkAccessible *self, GtkAccessibleProperty property);\";subroutine gtk_accessible_reset_property(self, property) bind(c)\r\ngtk;gtk_accessible_reset_relation;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaccessible.h;\"void gtk_accessible_reset_relation (GtkAccessible *self, GtkAccessibleRelation relation);\";subroutine gtk_accessible_reset_relation(self, relation) bind(c)\r\ngtk;gtk_accessible_reset_state;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaccessible.h;\"void gtk_accessible_reset_state (GtkAccessible *self, GtkAccessibleState state);\";subroutine gtk_accessible_reset_state(self, state) bind(c)\r\ngtk;gtk_accessible_set_accessible_parent;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaccessible.h;\"void gtk_accessible_set_accessible_parent (GtkAccessible *self, GtkAccessible *parent, GtkAccessible *next_sibling);\";subroutine gtk_accessible_set_accessible_parent(self, parent, next_sibling) bind(c)\r\ngtk;gtk_accessible_state_init_value;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaccessible.h;\"void gtk_accessible_state_init_value (GtkAccessibleState state, GValue *value);\";subroutine gtk_accessible_state_init_value(state, value) bind(c)\r\ngtk;gtk_accessible_text_update_caret_position;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaccessibletext.h;\"void gtk_accessible_text_update_caret_position (GtkAccessibleText *self);\";subroutine gtk_accessible_text_update_caret_position(self) bind(c)\r\ngtk;gtk_accessible_text_update_contents;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaccessibletext.h;\"void gtk_accessible_text_update_contents (GtkAccessibleText *self, GtkAccessibleTextContentChange change, unsigned int start, unsigned int end);\";subroutine gtk_accessible_text_update_contents(self, change, start, end) bind(c)\r\ngtk;gtk_accessible_text_update_selection_bound;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaccessibletext.h;\"void gtk_accessible_text_update_selection_bound (GtkAccessibleText *self);\";subroutine gtk_accessible_text_update_selection_bound(self) bind(c)\r\ngtk;gtk_accessible_update_next_accessible_sibling;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaccessible.h;\"void gtk_accessible_update_next_accessible_sibling (GtkAccessible *self, GtkAccessible *new_sibling);\";subroutine gtk_accessible_update_next_accessible_sibling(self, new_sibling) bind(c)\r\ngtk;gtk_accessible_update_platform_state;GDK_AVAILABLE_IN_4_18;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaccessible.h;\"void gtk_accessible_update_platform_state (GtkAccessible *self, GtkAccessiblePlatformState state);\";subroutine gtk_accessible_update_platform_state(self, state) bind(c)\r\ngtk;gtk_action_bar_get_center_widget;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkactionbar.h;\"GtkWidget *gtk_action_bar_get_center_widget (GtkActionBar *action_bar);\";function gtk_action_bar_get_center_widget(action_bar) bind(c)\r\ngtk;gtk_action_bar_get_revealed;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkactionbar.h;\"gboolean gtk_action_bar_get_revealed (GtkActionBar *action_bar);\";function gtk_action_bar_get_revealed(action_bar) bind(c)\r\ngtk;gtk_action_bar_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkactionbar.h;\"GType gtk_action_bar_get_type (void) ;\";function gtk_action_bar_get_type() bind(c)\r\ngtk;gtk_action_bar_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkactionbar.h;\"GtkWidget *gtk_action_bar_new (void);\";function gtk_action_bar_new() bind(c)\r\ngtk;gtk_action_bar_pack_end;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkactionbar.h;\"void gtk_action_bar_pack_end (GtkActionBar *action_bar, GtkWidget *child);\";subroutine gtk_action_bar_pack_end(action_bar, child) bind(c)\r\ngtk;gtk_action_bar_pack_start;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkactionbar.h;\"void gtk_action_bar_pack_start (GtkActionBar *action_bar, GtkWidget *child);\";subroutine gtk_action_bar_pack_start(action_bar, child) bind(c)\r\ngtk;gtk_action_bar_remove;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkactionbar.h;\"void gtk_action_bar_remove (GtkActionBar *action_bar, GtkWidget *child);\";subroutine gtk_action_bar_remove(action_bar, child) bind(c)\r\ngtk;gtk_action_bar_set_center_widget;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkactionbar.h;\"void gtk_action_bar_set_center_widget (GtkActionBar *action_bar, GtkWidget *center_widget);\";subroutine gtk_action_bar_set_center_widget(action_bar, center_widget) bind(c)\r\ngtk;gtk_action_bar_set_revealed;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkactionbar.h;\"void gtk_action_bar_set_revealed (GtkActionBar *action_bar, gboolean revealed);\";subroutine gtk_action_bar_set_revealed(action_bar, revealed) bind(c)\r\ngtk;gtk_actionable_get_action_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkactionable.h;\"const char * gtk_actionable_get_action_name (GtkActionable *actionable);\";function gtk_actionable_get_action_name(actionable) bind(c)\r\ngtk;gtk_actionable_get_action_target_value;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkactionable.h;\"GVariant * gtk_actionable_get_action_target_value (GtkActionable *actionable);\";function gtk_actionable_get_action_target_value(actionable) bind(c)\r\ngtk;gtk_actionable_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkactionable.h;\"GType gtk_actionable_get_type (void) ;\";function gtk_actionable_get_type() bind(c)\r\ngtk;gtk_actionable_set_action_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkactionable.h;\"void gtk_actionable_set_action_name (GtkActionable *actionable, const char *action_name);\";subroutine gtk_actionable_set_action_name(actionable, action_name) bind(c)\r\ngtk;gtk_actionable_set_action_target_value;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkactionable.h;\"void gtk_actionable_set_action_target_value (GtkActionable *actionable, GVariant *target_value);\";subroutine gtk_actionable_set_action_target_value(actionable, target_value) bind(c)\r\ngtk;gtk_actionable_set_detailed_action_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkactionable.h;\"void gtk_actionable_set_detailed_action_name (GtkActionable *actionable, const char *detailed_action_name);\";subroutine gtk_actionable_set_detailed_action_name(actionable, detailed_action_name) bind(c)\r\ngtk;gtk_activate_action_get;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcutaction.h;\"GtkShortcutAction * gtk_activate_action_get (void);\";function gtk_activate_action_get() bind(c)\r\ngtk;gtk_adjustment_clamp_page;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkadjustment.h;\"void gtk_adjustment_clamp_page (GtkAdjustment *adjustment, double lower, double upper);\";subroutine gtk_adjustment_clamp_page(adjustment, lower, upper) bind(c)\r\ngtk;gtk_adjustment_configure;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkadjustment.h;\"void gtk_adjustment_configure (GtkAdjustment *adjustment, double value, double lower, double upper, double step_increment, double page_increment, double page_size);\";subroutine gtk_adjustment_configure(adjustment, value, lower, upper, step_increment, page_increment, page_size) bind(c)\r\ngtk;gtk_adjustment_get_lower;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkadjustment.h;\"double gtk_adjustment_get_lower (GtkAdjustment *adjustment);\";function gtk_adjustment_get_lower(adjustment) bind(c)\r\ngtk;gtk_adjustment_get_minimum_increment;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkadjustment.h;\"double gtk_adjustment_get_minimum_increment (GtkAdjustment *adjustment);\";function gtk_adjustment_get_minimum_increment(adjustment) bind(c)\r\ngtk;gtk_adjustment_get_page_increment;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkadjustment.h;\"double gtk_adjustment_get_page_increment (GtkAdjustment *adjustment);\";function gtk_adjustment_get_page_increment(adjustment) bind(c)\r\ngtk;gtk_adjustment_get_page_size;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkadjustment.h;\"double gtk_adjustment_get_page_size (GtkAdjustment *adjustment);\";function gtk_adjustment_get_page_size(adjustment) bind(c)\r\ngtk;gtk_adjustment_get_step_increment;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkadjustment.h;\"double gtk_adjustment_get_step_increment (GtkAdjustment *adjustment);\";function gtk_adjustment_get_step_increment(adjustment) bind(c)\r\ngtk;gtk_adjustment_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkadjustment.h;\"GType gtk_adjustment_get_type (void) ;\";function gtk_adjustment_get_type() bind(c)\r\ngtk;gtk_adjustment_get_upper;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkadjustment.h;\"double gtk_adjustment_get_upper (GtkAdjustment *adjustment);\";function gtk_adjustment_get_upper(adjustment) bind(c)\r\ngtk;gtk_adjustment_get_value;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkadjustment.h;\"double gtk_adjustment_get_value (GtkAdjustment *adjustment);\";function gtk_adjustment_get_value(adjustment) bind(c)\r\ngtk;gtk_adjustment_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkadjustment.h;\"GtkAdjustment* gtk_adjustment_new (double value, double lower, double upper, double step_increment, double page_increment, double page_size);\";function gtk_adjustment_new(value, lower, upper, step_increment, page_increment, page_size) bind(c)\r\ngtk;gtk_adjustment_set_lower;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkadjustment.h;\"void gtk_adjustment_set_lower (GtkAdjustment *adjustment, double lower);\";subroutine gtk_adjustment_set_lower(adjustment, lower) bind(c)\r\ngtk;gtk_adjustment_set_page_increment;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkadjustment.h;\"void gtk_adjustment_set_page_increment (GtkAdjustment *adjustment, double page_increment);\";subroutine gtk_adjustment_set_page_increment(adjustment, page_increment) bind(c)\r\ngtk;gtk_adjustment_set_page_size;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkadjustment.h;\"void gtk_adjustment_set_page_size (GtkAdjustment *adjustment, double page_size);\";subroutine gtk_adjustment_set_page_size(adjustment, page_size) bind(c)\r\ngtk;gtk_adjustment_set_step_increment;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkadjustment.h;\"void gtk_adjustment_set_step_increment (GtkAdjustment *adjustment, double step_increment);\";subroutine gtk_adjustment_set_step_increment(adjustment, step_increment) bind(c)\r\ngtk;gtk_adjustment_set_upper;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkadjustment.h;\"void gtk_adjustment_set_upper (GtkAdjustment *adjustment, double upper);\";subroutine gtk_adjustment_set_upper(adjustment, upper) bind(c)\r\ngtk;gtk_adjustment_set_value;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkadjustment.h;\"void gtk_adjustment_set_value (GtkAdjustment *adjustment, double value);\";subroutine gtk_adjustment_set_value(adjustment, value) bind(c)\r\ngtk;gtk_alert_dialog_choose;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkalertdialog.h;\"void gtk_alert_dialog_choose (GtkAlertDialog *self, GtkWindow *parent, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine gtk_alert_dialog_choose(self, parent, cancellable, callback, user_data) bind(c)\r\ngtk;gtk_alert_dialog_choose_finish;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkalertdialog.h;\"int gtk_alert_dialog_choose_finish (GtkAlertDialog *self, GAsyncResult *result, GError **error);\";function gtk_alert_dialog_choose_finish(self, result, error) bind(c)\r\ngtk;gtk_alert_dialog_get_buttons;;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkalertdialog.h;\"const char * const * gtk_alert_dialog_get_buttons (GtkAlertDialog *self);\";function gtk_alert_dialog_get_buttons(self) bind(c)\r\ngtk;gtk_alert_dialog_get_cancel_button;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkalertdialog.h;\"int gtk_alert_dialog_get_cancel_button (GtkAlertDialog *self);\";function gtk_alert_dialog_get_cancel_button(self) bind(c)\r\ngtk;gtk_alert_dialog_get_default_button;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkalertdialog.h;\"int gtk_alert_dialog_get_default_button (GtkAlertDialog *self);\";function gtk_alert_dialog_get_default_button(self) bind(c)\r\ngtk;gtk_alert_dialog_get_detail;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkalertdialog.h;\"const char * gtk_alert_dialog_get_detail (GtkAlertDialog *self);\";function gtk_alert_dialog_get_detail(self) bind(c)\r\ngtk;gtk_alert_dialog_get_message;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkalertdialog.h;\"const char * gtk_alert_dialog_get_message (GtkAlertDialog *self);\";function gtk_alert_dialog_get_message(self) bind(c)\r\ngtk;gtk_alert_dialog_get_modal;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkalertdialog.h;\"gboolean gtk_alert_dialog_get_modal (GtkAlertDialog *self);\";function gtk_alert_dialog_get_modal(self) bind(c)\r\ngtk;gtk_alert_dialog_set_buttons;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkalertdialog.h;\"void gtk_alert_dialog_set_buttons (GtkAlertDialog *self, const char * const *labels);\";subroutine gtk_alert_dialog_set_buttons(self, labels) bind(c)\r\ngtk;gtk_alert_dialog_set_cancel_button;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkalertdialog.h;\"void gtk_alert_dialog_set_cancel_button (GtkAlertDialog *self, int button);\";subroutine gtk_alert_dialog_set_cancel_button(self, button) bind(c)\r\ngtk;gtk_alert_dialog_set_default_button;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkalertdialog.h;\"void gtk_alert_dialog_set_default_button (GtkAlertDialog *self, int button);\";subroutine gtk_alert_dialog_set_default_button(self, button) bind(c)\r\ngtk;gtk_alert_dialog_set_detail;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkalertdialog.h;\"void gtk_alert_dialog_set_detail (GtkAlertDialog *self, const char *detail);\";subroutine gtk_alert_dialog_set_detail(self, detail) bind(c)\r\ngtk;gtk_alert_dialog_set_message;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkalertdialog.h;\"void gtk_alert_dialog_set_message (GtkAlertDialog *self, const char *message);\";subroutine gtk_alert_dialog_set_message(self, message) bind(c)\r\ngtk;gtk_alert_dialog_set_modal;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkalertdialog.h;\"void gtk_alert_dialog_set_modal (GtkAlertDialog *self, gboolean modal);\";subroutine gtk_alert_dialog_set_modal(self, modal) bind(c)\r\ngtk;gtk_alert_dialog_show;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkalertdialog.h;\"void gtk_alert_dialog_show (GtkAlertDialog *self, GtkWindow *parent);\";subroutine gtk_alert_dialog_show(self, parent) bind(c)\r\ngtk;gtk_alternative_trigger_get_first;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcuttrigger.h;\"GtkShortcutTrigger * gtk_alternative_trigger_get_first (GtkAlternativeTrigger *self);\";function gtk_alternative_trigger_get_first(self) bind(c)\r\ngtk;gtk_alternative_trigger_get_second;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcuttrigger.h;\"GtkShortcutTrigger * gtk_alternative_trigger_get_second (GtkAlternativeTrigger *self);\";function gtk_alternative_trigger_get_second(self) bind(c)\r\ngtk;gtk_alternative_trigger_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcuttrigger.h;\"GtkShortcutTrigger * gtk_alternative_trigger_new (GtkShortcutTrigger *first, GtkShortcutTrigger *second);\";function gtk_alternative_trigger_new(first, second) bind(c)\r\ngtk;gtk_any_filter_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmultifilter.h;\"GtkAnyFilter * gtk_any_filter_new (void);\";function gtk_any_filter_new() bind(c)\r\ngtk;gtk_app_chooser_button_append_custom_item;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkappchooserbutton.h;\"void gtk_app_chooser_button_append_custom_item (GtkAppChooserButton *self, const char *name, const char *label, GIcon *icon);\";subroutine gtk_app_chooser_button_append_custom_item(self, name, label, icon) bind(c)\r\ngtk;gtk_app_chooser_button_append_separator;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkappchooserbutton.h;\"void gtk_app_chooser_button_append_separator (GtkAppChooserButton *self);\";subroutine gtk_app_chooser_button_append_separator(self) bind(c)\r\ngtk;gtk_app_chooser_button_get_heading;;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkappchooserbutton.h;\"const char * gtk_app_chooser_button_get_heading (GtkAppChooserButton *self);\";function gtk_app_chooser_button_get_heading(self) bind(c)\r\ngtk;gtk_app_chooser_button_get_modal;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkappchooserbutton.h;\"gboolean gtk_app_chooser_button_get_modal (GtkAppChooserButton *self);\";function gtk_app_chooser_button_get_modal(self) bind(c)\r\ngtk;gtk_app_chooser_button_get_show_default_item;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkappchooserbutton.h;\"gboolean gtk_app_chooser_button_get_show_default_item (GtkAppChooserButton *self);\";function gtk_app_chooser_button_get_show_default_item(self) bind(c)\r\ngtk;gtk_app_chooser_button_get_show_dialog_item;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkappchooserbutton.h;\"gboolean gtk_app_chooser_button_get_show_dialog_item (GtkAppChooserButton *self);\";function gtk_app_chooser_button_get_show_dialog_item(self) bind(c)\r\ngtk;gtk_app_chooser_button_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkappchooserbutton.h;\"GType gtk_app_chooser_button_get_type (void) ;\";function gtk_app_chooser_button_get_type() bind(c)\r\ngtk;gtk_app_chooser_button_new;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkappchooserbutton.h;\"GtkWidget * gtk_app_chooser_button_new (const char *content_type);\";function gtk_app_chooser_button_new(content_type) bind(c)\r\ngtk;gtk_app_chooser_button_set_active_custom_item;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkappchooserbutton.h;\"void gtk_app_chooser_button_set_active_custom_item (GtkAppChooserButton *self, const char *name);\";subroutine gtk_app_chooser_button_set_active_custom_item(self, name) bind(c)\r\ngtk;gtk_app_chooser_button_set_heading;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkappchooserbutton.h;\"void gtk_app_chooser_button_set_heading (GtkAppChooserButton *self, const char *heading);\";subroutine gtk_app_chooser_button_set_heading(self, heading) bind(c)\r\ngtk;gtk_app_chooser_button_set_modal;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkappchooserbutton.h;\"void gtk_app_chooser_button_set_modal (GtkAppChooserButton *self, gboolean modal);\";subroutine gtk_app_chooser_button_set_modal(self, modal) bind(c)\r\ngtk;gtk_app_chooser_button_set_show_default_item;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkappchooserbutton.h;\"void gtk_app_chooser_button_set_show_default_item (GtkAppChooserButton *self, gboolean setting);\";subroutine gtk_app_chooser_button_set_show_default_item(self, setting) bind(c)\r\ngtk;gtk_app_chooser_button_set_show_dialog_item;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkappchooserbutton.h;\"void gtk_app_chooser_button_set_show_dialog_item (GtkAppChooserButton *self, gboolean setting);\";subroutine gtk_app_chooser_button_set_show_dialog_item(self, setting) bind(c)\r\ngtk;gtk_app_chooser_dialog_get_heading;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkappchooserdialog.h;\"const char * gtk_app_chooser_dialog_get_heading (GtkAppChooserDialog *self);\";function gtk_app_chooser_dialog_get_heading(self) bind(c)\r\ngtk;gtk_app_chooser_dialog_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkappchooserdialog.h;\"GType gtk_app_chooser_dialog_get_type (void) ;\";function gtk_app_chooser_dialog_get_type() bind(c)\r\ngtk;gtk_app_chooser_dialog_get_widget;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkappchooserdialog.h;\"GtkWidget * gtk_app_chooser_dialog_get_widget (GtkAppChooserDialog *self);\";function gtk_app_chooser_dialog_get_widget(self) bind(c)\r\ngtk;gtk_app_chooser_dialog_new;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkappchooserdialog.h;\"GtkWidget * gtk_app_chooser_dialog_new (GtkWindow *parent, GtkDialogFlags flags, GFile *file);\";function gtk_app_chooser_dialog_new(parent, flags, file) bind(c)\r\ngtk;gtk_app_chooser_dialog_new_for_content_type;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkappchooserdialog.h;\"GtkWidget * gtk_app_chooser_dialog_new_for_content_type (GtkWindow *parent, GtkDialogFlags flags, const char *content_type);\";function gtk_app_chooser_dialog_new_for_content_type(parent, flags, content_type) bind(c)\r\ngtk;gtk_app_chooser_dialog_set_heading;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkappchooserdialog.h;\"void gtk_app_chooser_dialog_set_heading (GtkAppChooserDialog *self, const char *heading);\";subroutine gtk_app_chooser_dialog_set_heading(self, heading) bind(c)\r\ngtk;gtk_app_chooser_get_app_info;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkappchooser.h;\"GAppInfo * gtk_app_chooser_get_app_info (GtkAppChooser *self);\";function gtk_app_chooser_get_app_info(self) bind(c)\r\ngtk;gtk_app_chooser_get_content_type;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkappchooser.h;\"char * gtk_app_chooser_get_content_type (GtkAppChooser *self);\";function gtk_app_chooser_get_content_type(self) bind(c)\r\ngtk;gtk_app_chooser_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkappchooser.h;\"GType gtk_app_chooser_get_type (void) ;\";function gtk_app_chooser_get_type() bind(c)\r\ngtk;gtk_app_chooser_refresh;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkappchooser.h;\"void gtk_app_chooser_refresh (GtkAppChooser *self);\";subroutine gtk_app_chooser_refresh(self) bind(c)\r\ngtk;gtk_app_chooser_widget_get_default_text;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkappchooserwidget.h;\"const char * gtk_app_chooser_widget_get_default_text (GtkAppChooserWidget *self);\";function gtk_app_chooser_widget_get_default_text(self) bind(c)\r\ngtk;gtk_app_chooser_widget_get_show_all;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkappchooserwidget.h;\"gboolean gtk_app_chooser_widget_get_show_all (GtkAppChooserWidget *self);\";function gtk_app_chooser_widget_get_show_all(self) bind(c)\r\ngtk;gtk_app_chooser_widget_get_show_default;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkappchooserwidget.h;\"gboolean gtk_app_chooser_widget_get_show_default (GtkAppChooserWidget *self);\";function gtk_app_chooser_widget_get_show_default(self) bind(c)\r\ngtk;gtk_app_chooser_widget_get_show_fallback;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkappchooserwidget.h;\"gboolean gtk_app_chooser_widget_get_show_fallback (GtkAppChooserWidget *self);\";function gtk_app_chooser_widget_get_show_fallback(self) bind(c)\r\ngtk;gtk_app_chooser_widget_get_show_other;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkappchooserwidget.h;\"gboolean gtk_app_chooser_widget_get_show_other (GtkAppChooserWidget *self);\";function gtk_app_chooser_widget_get_show_other(self) bind(c)\r\ngtk;gtk_app_chooser_widget_get_show_recommended;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkappchooserwidget.h;\"gboolean gtk_app_chooser_widget_get_show_recommended (GtkAppChooserWidget *self);\";function gtk_app_chooser_widget_get_show_recommended(self) bind(c)\r\ngtk;gtk_app_chooser_widget_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkappchooserwidget.h;\"GType gtk_app_chooser_widget_get_type (void) ;\";function gtk_app_chooser_widget_get_type() bind(c)\r\ngtk;gtk_app_chooser_widget_new;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkappchooserwidget.h;\"GtkWidget * gtk_app_chooser_widget_new (const char *content_type);\";function gtk_app_chooser_widget_new(content_type) bind(c)\r\ngtk;gtk_app_chooser_widget_set_default_text;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkappchooserwidget.h;\"void gtk_app_chooser_widget_set_default_text (GtkAppChooserWidget *self, const char *text);\";subroutine gtk_app_chooser_widget_set_default_text(self, text) bind(c)\r\ngtk;gtk_app_chooser_widget_set_show_all;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkappchooserwidget.h;\"void gtk_app_chooser_widget_set_show_all (GtkAppChooserWidget *self, gboolean setting);\";subroutine gtk_app_chooser_widget_set_show_all(self, setting) bind(c)\r\ngtk;gtk_app_chooser_widget_set_show_default;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkappchooserwidget.h;\"void gtk_app_chooser_widget_set_show_default (GtkAppChooserWidget *self, gboolean setting);\";subroutine gtk_app_chooser_widget_set_show_default(self, setting) bind(c)\r\ngtk;gtk_app_chooser_widget_set_show_fallback;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkappchooserwidget.h;\"void gtk_app_chooser_widget_set_show_fallback (GtkAppChooserWidget *self, gboolean setting);\";subroutine gtk_app_chooser_widget_set_show_fallback(self, setting) bind(c)\r\ngtk;gtk_app_chooser_widget_set_show_other;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkappchooserwidget.h;\"void gtk_app_chooser_widget_set_show_other (GtkAppChooserWidget *self, gboolean setting);\";subroutine gtk_app_chooser_widget_set_show_other(self, setting) bind(c)\r\ngtk;gtk_app_chooser_widget_set_show_recommended;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkappchooserwidget.h;\"void gtk_app_chooser_widget_set_show_recommended (GtkAppChooserWidget *self, gboolean setting);\";subroutine gtk_app_chooser_widget_set_show_recommended(self, setting) bind(c)\r\ngtk;gtk_application_add_window;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkapplication.h;\"void gtk_application_add_window (GtkApplication *application, GtkWindow *window);\";subroutine gtk_application_add_window(application, window) bind(c)\r\ngtk;gtk_application_get_accels_for_action;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkapplication.h;\"char ** gtk_application_get_accels_for_action (GtkApplication *application, const char *detailed_action_name);\";function gtk_application_get_accels_for_action(application, detailed_action_name) bind(c)\r\ngtk;gtk_application_get_actions_for_accel;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkapplication.h;\"char ** gtk_application_get_actions_for_accel (GtkApplication *application, const char *accel);\";function gtk_application_get_actions_for_accel(application, accel) bind(c)\r\ngtk;gtk_application_get_active_window;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkapplication.h;\"GtkWindow * gtk_application_get_active_window (GtkApplication *application);\";function gtk_application_get_active_window(application) bind(c)\r\ngtk;gtk_application_get_menu_by_id;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkapplication.h;\"GMenu * gtk_application_get_menu_by_id (GtkApplication *application, const char *id);\";function gtk_application_get_menu_by_id(application, id) bind(c)\r\ngtk;gtk_application_get_menubar;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkapplication.h;\"GMenuModel * gtk_application_get_menubar (GtkApplication *application);\";function gtk_application_get_menubar(application) bind(c)\r\ngtk;gtk_application_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkapplication.h;\"GType gtk_application_get_type (void) ;\";function gtk_application_get_type() bind(c)\r\ngtk;gtk_application_get_window_by_id;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkapplication.h;\"GtkWindow * gtk_application_get_window_by_id (GtkApplication *application, guint id);\";function gtk_application_get_window_by_id(application, id) bind(c)\r\ngtk;gtk_application_get_windows;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkapplication.h;\"GList * gtk_application_get_windows (GtkApplication *application);\";function gtk_application_get_windows(application) bind(c)\r\ngtk;gtk_application_inhibit;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkapplication.h;\"guint gtk_application_inhibit (GtkApplication *application, GtkWindow *window, GtkApplicationInhibitFlags flags, const char *reason);\";function gtk_application_inhibit(application, window, flags, reason) bind(c)\r\ngtk;gtk_application_list_action_descriptions;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkapplication.h;\"char ** gtk_application_list_action_descriptions (GtkApplication *application);\";function gtk_application_list_action_descriptions(application) bind(c)\r\ngtk;gtk_application_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkapplication.h;\"GtkApplication * gtk_application_new (const char *application_id, GApplicationFlags flags);\";function gtk_application_new(application_id, flags) bind(c)\r\ngtk;gtk_application_remove_window;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkapplication.h;\"void gtk_application_remove_window (GtkApplication *application, GtkWindow *window);\";subroutine gtk_application_remove_window(application, window) bind(c)\r\ngtk;gtk_application_set_accels_for_action;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkapplication.h;\"void gtk_application_set_accels_for_action (GtkApplication *application, const char *detailed_action_name, const char * const *accels);\";subroutine gtk_application_set_accels_for_action(application, detailed_action_name, accels) bind(c)\r\ngtk;gtk_application_set_menubar;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkapplication.h;\"void gtk_application_set_menubar (GtkApplication *application, GMenuModel *menubar);\";subroutine gtk_application_set_menubar(application, menubar) bind(c)\r\ngtk;gtk_application_uninhibit;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkapplication.h;\"void gtk_application_uninhibit (GtkApplication *application, guint cookie);\";subroutine gtk_application_uninhibit(application, cookie) bind(c)\r\ngtk;gtk_application_window_get_help_overlay;;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkapplicationwindow.h;\"GtkShortcutsWindow * gtk_application_window_get_help_overlay (GtkApplicationWindow *window);\";function gtk_application_window_get_help_overlay(window) bind(c)\r\ngtk;gtk_application_window_get_id;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkapplicationwindow.h;\"guint gtk_application_window_get_id (GtkApplicationWindow *window);\";function gtk_application_window_get_id(window) bind(c)\r\ngtk;gtk_application_window_get_show_menubar;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkapplicationwindow.h;\"gboolean gtk_application_window_get_show_menubar (GtkApplicationWindow *window);\";function gtk_application_window_get_show_menubar(window) bind(c)\r\ngtk;gtk_application_window_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkapplicationwindow.h;\"GType gtk_application_window_get_type (void) ;\";function gtk_application_window_get_type() bind(c)\r\ngtk;gtk_application_window_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkapplicationwindow.h;\"GtkWidget * gtk_application_window_new (GtkApplication *application);\";function gtk_application_window_new(application) bind(c)\r\ngtk;gtk_application_window_set_help_overlay;GDK_DEPRECATED_IN_4_18;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkapplicationwindow.h;\"void gtk_application_window_set_help_overlay (GtkApplicationWindow *window, GtkShortcutsWindow *help_overlay);\";subroutine gtk_application_window_set_help_overlay(window, help_overlay) bind(c)\r\ngtk;gtk_application_window_set_show_menubar;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkapplicationwindow.h;\"void gtk_application_window_set_show_menubar (GtkApplicationWindow *window, gboolean show_menubar);\";subroutine gtk_application_window_set_show_menubar(window, show_menubar) bind(c)\r\ngtk;gtk_aspect_frame_get_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaspectframe.h;\"GtkWidget *gtk_aspect_frame_get_child (GtkAspectFrame *self);\";function gtk_aspect_frame_get_child(self) bind(c)\r\ngtk;gtk_aspect_frame_get_obey_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaspectframe.h;\"gboolean gtk_aspect_frame_get_obey_child (GtkAspectFrame *self);\";function gtk_aspect_frame_get_obey_child(self) bind(c)\r\ngtk;gtk_aspect_frame_get_ratio;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaspectframe.h;\"float gtk_aspect_frame_get_ratio (GtkAspectFrame *self);\";function gtk_aspect_frame_get_ratio(self) bind(c)\r\ngtk;gtk_aspect_frame_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaspectframe.h;\"GType gtk_aspect_frame_get_type (void) ;\";function gtk_aspect_frame_get_type() bind(c)\r\ngtk;gtk_aspect_frame_get_xalign;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaspectframe.h;\"float gtk_aspect_frame_get_xalign (GtkAspectFrame *self);\";function gtk_aspect_frame_get_xalign(self) bind(c)\r\ngtk;gtk_aspect_frame_get_yalign;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaspectframe.h;\"float gtk_aspect_frame_get_yalign (GtkAspectFrame *self);\";function gtk_aspect_frame_get_yalign(self) bind(c)\r\ngtk;gtk_aspect_frame_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaspectframe.h;\"GtkWidget* gtk_aspect_frame_new (float xalign, float yalign, float ratio, gboolean obey_child);\";function gtk_aspect_frame_new(xalign, yalign, ratio, obey_child) bind(c)\r\ngtk;gtk_aspect_frame_set_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaspectframe.h;\"void gtk_aspect_frame_set_child (GtkAspectFrame *self, GtkWidget *child);\";subroutine gtk_aspect_frame_set_child(self, child) bind(c)\r\ngtk;gtk_aspect_frame_set_obey_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaspectframe.h;\"void gtk_aspect_frame_set_obey_child (GtkAspectFrame *self, gboolean obey_child);\";subroutine gtk_aspect_frame_set_obey_child(self, obey_child) bind(c)\r\ngtk;gtk_aspect_frame_set_ratio;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaspectframe.h;\"void gtk_aspect_frame_set_ratio (GtkAspectFrame *self, float ratio);\";subroutine gtk_aspect_frame_set_ratio(self, ratio) bind(c)\r\ngtk;gtk_aspect_frame_set_xalign;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaspectframe.h;\"void gtk_aspect_frame_set_xalign (GtkAspectFrame *self, float xalign);\";subroutine gtk_aspect_frame_set_xalign(self, xalign) bind(c)\r\ngtk;gtk_aspect_frame_set_yalign;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkaspectframe.h;\"void gtk_aspect_frame_set_yalign (GtkAspectFrame *self, float yalign);\";subroutine gtk_aspect_frame_set_yalign(self, yalign) bind(c)\r\ngtk;gtk_assistant_add_action_widget;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkassistant.h;\"void gtk_assistant_add_action_widget (GtkAssistant *assistant, GtkWidget *child);\";subroutine gtk_assistant_add_action_widget(assistant, child) bind(c)\r\ngtk;gtk_assistant_append_page;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkassistant.h;\"int gtk_assistant_append_page (GtkAssistant *assistant, GtkWidget *page);\";function gtk_assistant_append_page(assistant, page) bind(c)\r\ngtk;gtk_assistant_commit;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkassistant.h;\"void gtk_assistant_commit (GtkAssistant *assistant);\";subroutine gtk_assistant_commit(assistant) bind(c)\r\ngtk;gtk_assistant_get_current_page;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkassistant.h;\"int gtk_assistant_get_current_page (GtkAssistant *assistant);\";function gtk_assistant_get_current_page(assistant) bind(c)\r\ngtk;gtk_assistant_get_n_pages;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkassistant.h;\"int gtk_assistant_get_n_pages (GtkAssistant *assistant);\";function gtk_assistant_get_n_pages(assistant) bind(c)\r\ngtk;gtk_assistant_get_nth_page;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkassistant.h;\"GtkWidget *gtk_assistant_get_nth_page (GtkAssistant *assistant, int page_num);\";function gtk_assistant_get_nth_page(assistant, page_num) bind(c)\r\ngtk;gtk_assistant_get_page;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkassistant.h;\"GtkAssistantPage * gtk_assistant_get_page (GtkAssistant *assistant, GtkWidget *child);\";function gtk_assistant_get_page(assistant, child) bind(c)\r\ngtk;gtk_assistant_get_page_complete;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkassistant.h;\"gboolean gtk_assistant_get_page_complete (GtkAssistant *assistant, GtkWidget *page);\";function gtk_assistant_get_page_complete(assistant, page) bind(c)\r\ngtk;gtk_assistant_get_page_title;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkassistant.h;\"const char * gtk_assistant_get_page_title (GtkAssistant *assistant, GtkWidget *page);\";function gtk_assistant_get_page_title(assistant, page) bind(c)\r\ngtk;gtk_assistant_get_page_type;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkassistant.h;\"GtkAssistantPageType gtk_assistant_get_page_type (GtkAssistant *assistant, GtkWidget *page);\";function gtk_assistant_get_page_type(assistant, page) bind(c)\r\ngtk;gtk_assistant_get_pages;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkassistant.h;\"GListModel * gtk_assistant_get_pages (GtkAssistant *assistant);\";function gtk_assistant_get_pages(assistant) bind(c)\r\ngtk;gtk_assistant_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkassistant.h;\"GType gtk_assistant_get_type (void) ;\";function gtk_assistant_get_type() bind(c)\r\ngtk;gtk_assistant_insert_page;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkassistant.h;\"int gtk_assistant_insert_page (GtkAssistant *assistant, GtkWidget *page, int position);\";function gtk_assistant_insert_page(assistant, page, position) bind(c)\r\ngtk;gtk_assistant_new;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkassistant.h;\"GtkWidget *gtk_assistant_new (void);\";function gtk_assistant_new() bind(c)\r\ngtk;gtk_assistant_next_page;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkassistant.h;\"void gtk_assistant_next_page (GtkAssistant *assistant);\";subroutine gtk_assistant_next_page(assistant) bind(c)\r\ngtk;gtk_assistant_page_get_child;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkassistant.h;\"GtkWidget * gtk_assistant_page_get_child (GtkAssistantPage *page);\";function gtk_assistant_page_get_child(page) bind(c)\r\ngtk;gtk_assistant_page_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkassistant.h;\"GType gtk_assistant_page_get_type (void) ;\";function gtk_assistant_page_get_type() bind(c)\r\ngtk;gtk_assistant_prepend_page;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkassistant.h;\"int gtk_assistant_prepend_page (GtkAssistant *assistant, GtkWidget *page);\";function gtk_assistant_prepend_page(assistant, page) bind(c)\r\ngtk;gtk_assistant_previous_page;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkassistant.h;\"void gtk_assistant_previous_page (GtkAssistant *assistant);\";subroutine gtk_assistant_previous_page(assistant) bind(c)\r\ngtk;gtk_assistant_remove_action_widget;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkassistant.h;\"void gtk_assistant_remove_action_widget (GtkAssistant *assistant, GtkWidget *child);\";subroutine gtk_assistant_remove_action_widget(assistant, child) bind(c)\r\ngtk;gtk_assistant_remove_page;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkassistant.h;\"void gtk_assistant_remove_page (GtkAssistant *assistant, int page_num);\";subroutine gtk_assistant_remove_page(assistant, page_num) bind(c)\r\ngtk;gtk_assistant_set_current_page;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkassistant.h;\"void gtk_assistant_set_current_page (GtkAssistant *assistant, int page_num);\";subroutine gtk_assistant_set_current_page(assistant, page_num) bind(c)\r\ngtk;gtk_assistant_set_forward_page_func;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkassistant.h;\"void gtk_assistant_set_forward_page_func (GtkAssistant *assistant, GtkAssistantPageFunc page_func, gpointer data, GDestroyNotify destroy);\";subroutine gtk_assistant_set_forward_page_func(assistant, page_func, data, destroy) bind(c)\r\ngtk;gtk_assistant_set_page_complete;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkassistant.h;\"void gtk_assistant_set_page_complete (GtkAssistant *assistant, GtkWidget *page, gboolean complete);\";subroutine gtk_assistant_set_page_complete(assistant, page, complete) bind(c)\r\ngtk;gtk_assistant_set_page_title;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkassistant.h;\"void gtk_assistant_set_page_title (GtkAssistant *assistant, GtkWidget *page, const char *title);\";subroutine gtk_assistant_set_page_title(assistant, page, title) bind(c)\r\ngtk;gtk_assistant_set_page_type;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkassistant.h;\"void gtk_assistant_set_page_type (GtkAssistant *assistant, GtkWidget *page, GtkAssistantPageType type);\";subroutine gtk_assistant_set_page_type(assistant, page, type) bind(c)\r\ngtk;gtk_assistant_update_buttons_state;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkassistant.h;\"void gtk_assistant_update_buttons_state (GtkAssistant *assistant);\";subroutine gtk_assistant_update_buttons_state(assistant) bind(c)\r\ngtk;gtk_at_context_create;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkatcontext.h;\"GtkATContext * gtk_at_context_create (GtkAccessibleRole accessible_role, GtkAccessible *accessible, GdkDisplay *display);\";function gtk_at_context_create(accessible_role, accessible, display) bind(c)\r\ngtk;gtk_at_context_get_accessible;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkatcontext.h;\"GtkAccessible * gtk_at_context_get_accessible (GtkATContext *self);\";function gtk_at_context_get_accessible(self) bind(c)\r\ngtk;gtk_at_context_get_accessible_role;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkatcontext.h;\"GtkAccessibleRole gtk_at_context_get_accessible_role (GtkATContext *self);\";function gtk_at_context_get_accessible_role(self) bind(c)\r\ngtk;gtk_at_spi_socket_get_bus_name;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/a11y/gtkatspisocket.h;\"const char * gtk_at_spi_socket_get_bus_name (GtkAtSpiSocket *self);\";function gtk_at_spi_socket_get_bus_name(self) bind(c)\r\ngtk;gtk_at_spi_socket_get_object_path;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/a11y/gtkatspisocket.h;\"const char * gtk_at_spi_socket_get_object_path (GtkAtSpiSocket *self);\";function gtk_at_spi_socket_get_object_path(self) bind(c)\r\ngtk;gtk_at_spi_socket_new;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/a11y/gtkatspisocket.h;\"GtkAccessible * gtk_at_spi_socket_new (const char *bus_name, const char *object_path, GError **error);\";function gtk_at_spi_socket_new(bus_name, object_path, error) bind(c)\r\ngtk;gtk_bin_layout_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbinlayout.h;\"GtkLayoutManager * gtk_bin_layout_new (void);\";function gtk_bin_layout_new() bind(c)\r\ngtk;gtk_bitset_add;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbitset.h;\"gboolean gtk_bitset_add (GtkBitset *self, guint value);\";function gtk_bitset_add(self, value) bind(c)\r\ngtk;gtk_bitset_add_range;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbitset.h;\"void gtk_bitset_add_range (GtkBitset *self, guint start, guint n_items);\";subroutine gtk_bitset_add_range(self, start, n_items) bind(c)\r\ngtk;gtk_bitset_add_range_closed;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbitset.h;\"void gtk_bitset_add_range_closed (GtkBitset *self, guint first, guint last);\";subroutine gtk_bitset_add_range_closed(self, first, last) bind(c)\r\ngtk;gtk_bitset_add_rectangle;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbitset.h;\"void gtk_bitset_add_rectangle (GtkBitset *self, guint start, guint width, guint height, guint stride);\";subroutine gtk_bitset_add_rectangle(self, start, width, height, stride) bind(c)\r\ngtk;gtk_bitset_contains;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbitset.h;\"gboolean gtk_bitset_contains (const GtkBitset *self, guint value);\";function gtk_bitset_contains(self, value) bind(c)\r\ngtk;gtk_bitset_copy;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbitset.h;\"GtkBitset * gtk_bitset_copy (const GtkBitset *self);\";function gtk_bitset_copy(self) bind(c)\r\ngtk;gtk_bitset_difference;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbitset.h;\"void gtk_bitset_difference (GtkBitset *self, const GtkBitset *other);\";subroutine gtk_bitset_difference(self, other) bind(c)\r\ngtk;gtk_bitset_equals;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbitset.h;\"gboolean gtk_bitset_equals (const GtkBitset *self, const GtkBitset *other);\";function gtk_bitset_equals(self, other) bind(c)\r\ngtk;gtk_bitset_get_maximum;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbitset.h;\"guint gtk_bitset_get_maximum (const GtkBitset *self);\";function gtk_bitset_get_maximum(self) bind(c)\r\ngtk;gtk_bitset_get_minimum;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbitset.h;\"guint gtk_bitset_get_minimum (const GtkBitset *self);\";function gtk_bitset_get_minimum(self) bind(c)\r\ngtk;gtk_bitset_get_nth;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbitset.h;\"guint gtk_bitset_get_nth (const GtkBitset *self, guint nth);\";function gtk_bitset_get_nth(self, nth) bind(c)\r\ngtk;gtk_bitset_get_size;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbitset.h;\"guint64 gtk_bitset_get_size (const GtkBitset *self);\";function gtk_bitset_get_size(self) bind(c)\r\ngtk;gtk_bitset_get_size_in_range;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbitset.h;\"guint64 gtk_bitset_get_size_in_range (const GtkBitset *self, guint first, guint last);\";function gtk_bitset_get_size_in_range(self, first, last) bind(c)\r\ngtk;gtk_bitset_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbitset.h;\"GType gtk_bitset_get_type (void) ;\";function gtk_bitset_get_type() bind(c)\r\ngtk;gtk_bitset_intersect;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbitset.h;\"void gtk_bitset_intersect (GtkBitset *self, const GtkBitset *other);\";subroutine gtk_bitset_intersect(self, other) bind(c)\r\ngtk;gtk_bitset_is_empty;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbitset.h;\"gboolean gtk_bitset_is_empty (const GtkBitset *self);\";function gtk_bitset_is_empty(self) bind(c)\r\ngtk;gtk_bitset_iter_get_type;GDK_AVAILABLE_IN_4_6;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbitset.h;\"GType gtk_bitset_iter_get_type (void) ;\";function gtk_bitset_iter_get_type() bind(c)\r\ngtk;gtk_bitset_iter_get_value;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbitset.h;\"guint gtk_bitset_iter_get_value (const GtkBitsetIter *iter);\";function gtk_bitset_iter_get_value(iter) bind(c)\r\ngtk;gtk_bitset_iter_init_at;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbitset.h;\"gboolean gtk_bitset_iter_init_at (GtkBitsetIter *iter, const GtkBitset *set, guint target, guint *value);\";function gtk_bitset_iter_init_at(iter, set, target, value) bind(c)\r\ngtk;gtk_bitset_iter_init_first;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbitset.h;\"gboolean gtk_bitset_iter_init_first (GtkBitsetIter *iter, const GtkBitset *set, guint *value);\";function gtk_bitset_iter_init_first(iter, set, value) bind(c)\r\ngtk;gtk_bitset_iter_init_last;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbitset.h;\"gboolean gtk_bitset_iter_init_last (GtkBitsetIter *iter, const GtkBitset *set, guint *value);\";function gtk_bitset_iter_init_last(iter, set, value) bind(c)\r\ngtk;gtk_bitset_iter_is_valid;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbitset.h;\"gboolean gtk_bitset_iter_is_valid (const GtkBitsetIter *iter);\";function gtk_bitset_iter_is_valid(iter) bind(c)\r\ngtk;gtk_bitset_iter_next;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbitset.h;\"gboolean gtk_bitset_iter_next (GtkBitsetIter *iter, guint *value);\";function gtk_bitset_iter_next(iter, value) bind(c)\r\ngtk;gtk_bitset_iter_previous;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbitset.h;\"gboolean gtk_bitset_iter_previous (GtkBitsetIter *iter, guint *value);\";function gtk_bitset_iter_previous(iter, value) bind(c)\r\ngtk;gtk_bitset_new_empty;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbitset.h;\"GtkBitset * gtk_bitset_new_empty (void);\";function gtk_bitset_new_empty() bind(c)\r\ngtk;gtk_bitset_new_range;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbitset.h;\"GtkBitset * gtk_bitset_new_range (guint start, guint n_items);\";function gtk_bitset_new_range(start, n_items) bind(c)\r\ngtk;gtk_bitset_ref;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbitset.h;\"GtkBitset * gtk_bitset_ref (GtkBitset *self);\";function gtk_bitset_ref(self) bind(c)\r\ngtk;gtk_bitset_remove;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbitset.h;\"gboolean gtk_bitset_remove (GtkBitset *self, guint value);\";function gtk_bitset_remove(self, value) bind(c)\r\ngtk;gtk_bitset_remove_all;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbitset.h;\"void gtk_bitset_remove_all (GtkBitset *self);\";subroutine gtk_bitset_remove_all(self) bind(c)\r\ngtk;gtk_bitset_remove_range;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbitset.h;\"void gtk_bitset_remove_range (GtkBitset *self, guint start, guint n_items);\";subroutine gtk_bitset_remove_range(self, start, n_items) bind(c)\r\ngtk;gtk_bitset_remove_range_closed;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbitset.h;\"void gtk_bitset_remove_range_closed (GtkBitset *self, guint first, guint last);\";subroutine gtk_bitset_remove_range_closed(self, first, last) bind(c)\r\ngtk;gtk_bitset_remove_rectangle;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbitset.h;\"void gtk_bitset_remove_rectangle (GtkBitset *self, guint start, guint width, guint height, guint stride);\";subroutine gtk_bitset_remove_rectangle(self, start, width, height, stride) bind(c)\r\ngtk;gtk_bitset_shift_left;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbitset.h;\"void gtk_bitset_shift_left (GtkBitset *self, guint amount);\";subroutine gtk_bitset_shift_left(self, amount) bind(c)\r\ngtk;gtk_bitset_shift_right;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbitset.h;\"void gtk_bitset_shift_right (GtkBitset *self, guint amount);\";subroutine gtk_bitset_shift_right(self, amount) bind(c)\r\ngtk;gtk_bitset_splice;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbitset.h;\"void gtk_bitset_splice (GtkBitset *self, guint position, guint removed, guint added);\";subroutine gtk_bitset_splice(self, position, removed, added) bind(c)\r\ngtk;gtk_bitset_subtract;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbitset.h;\"void gtk_bitset_subtract (GtkBitset *self, const GtkBitset *other);\";subroutine gtk_bitset_subtract(self, other) bind(c)\r\ngtk;gtk_bitset_union;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbitset.h;\"void gtk_bitset_union (GtkBitset *self, const GtkBitset *other);\";subroutine gtk_bitset_union(self, other) bind(c)\r\ngtk;gtk_bitset_unref;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbitset.h;\"void gtk_bitset_unref (GtkBitset *self);\";subroutine gtk_bitset_unref(self) bind(c)\r\ngtk;gtk_bookmark_list_get_attributes;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbookmarklist.h;\"const char * gtk_bookmark_list_get_attributes (GtkBookmarkList *self);\";function gtk_bookmark_list_get_attributes(self) bind(c)\r\ngtk;gtk_bookmark_list_get_filename;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbookmarklist.h;\"const char * gtk_bookmark_list_get_filename (GtkBookmarkList *self);\";function gtk_bookmark_list_get_filename(self) bind(c)\r\ngtk;gtk_bookmark_list_get_io_priority;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbookmarklist.h;\"int gtk_bookmark_list_get_io_priority (GtkBookmarkList *self);\";function gtk_bookmark_list_get_io_priority(self) bind(c)\r\ngtk;gtk_bookmark_list_is_loading;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbookmarklist.h;\"gboolean gtk_bookmark_list_is_loading (GtkBookmarkList *self);\";function gtk_bookmark_list_is_loading(self) bind(c)\r\ngtk;gtk_bookmark_list_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbookmarklist.h;\"GtkBookmarkList * gtk_bookmark_list_new (const char *filename, const char *attributes);\";function gtk_bookmark_list_new(filename, attributes) bind(c)\r\ngtk;gtk_bookmark_list_set_attributes;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbookmarklist.h;\"void gtk_bookmark_list_set_attributes (GtkBookmarkList *self, const char *attributes);\";subroutine gtk_bookmark_list_set_attributes(self, attributes) bind(c)\r\ngtk;gtk_bookmark_list_set_io_priority;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbookmarklist.h;\"void gtk_bookmark_list_set_io_priority (GtkBookmarkList *self, int io_priority);\";subroutine gtk_bookmark_list_set_io_priority(self, io_priority) bind(c)\r\ngtk;gtk_bool_filter_get_expression;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkboolfilter.h;\"GtkExpression * gtk_bool_filter_get_expression (GtkBoolFilter *self);\";function gtk_bool_filter_get_expression(self) bind(c)\r\ngtk;gtk_bool_filter_get_invert;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkboolfilter.h;\"gboolean gtk_bool_filter_get_invert (GtkBoolFilter *self);\";function gtk_bool_filter_get_invert(self) bind(c)\r\ngtk;gtk_bool_filter_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkboolfilter.h;\"GtkBoolFilter * gtk_bool_filter_new (GtkExpression *expression);\";function gtk_bool_filter_new(expression) bind(c)\r\ngtk;gtk_bool_filter_set_expression;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkboolfilter.h;\"void gtk_bool_filter_set_expression (GtkBoolFilter *self, GtkExpression *expression);\";subroutine gtk_bool_filter_set_expression(self, expression) bind(c)\r\ngtk;gtk_bool_filter_set_invert;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkboolfilter.h;\"void gtk_bool_filter_set_invert (GtkBoolFilter *self, gboolean invert);\";subroutine gtk_bool_filter_set_invert(self, invert) bind(c)\r\ngtk;gtk_border_copy;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkborder.h;\"GtkBorder *gtk_border_copy (const GtkBorder *border_);\";function gtk_border_copy(border_) bind(c)\r\ngtk;gtk_border_free;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkborder.h;\"void gtk_border_free (GtkBorder *border_);\";subroutine gtk_border_free(border_) bind(c)\r\ngtk;gtk_border_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkborder.h;\"GType gtk_border_get_type (void) ;\";function gtk_border_get_type() bind(c)\r\ngtk;gtk_border_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkborder.h;\"GtkBorder *gtk_border_new (void) ;\";function gtk_border_new() bind(c)\r\ngtk;gtk_box_append;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbox.h;\"void gtk_box_append (GtkBox *box, GtkWidget *child);\";subroutine gtk_box_append(box, child) bind(c)\r\ngtk;gtk_box_get_baseline_child;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbox.h;\"int gtk_box_get_baseline_child (GtkBox *box);\";function gtk_box_get_baseline_child(box) bind(c)\r\ngtk;gtk_box_get_baseline_position;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbox.h;\"GtkBaselinePosition gtk_box_get_baseline_position (GtkBox *box);\";function gtk_box_get_baseline_position(box) bind(c)\r\ngtk;gtk_box_get_homogeneous;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbox.h;\"gboolean gtk_box_get_homogeneous (GtkBox *box);\";function gtk_box_get_homogeneous(box) bind(c)\r\ngtk;gtk_box_get_spacing;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbox.h;\"int gtk_box_get_spacing (GtkBox *box);\";function gtk_box_get_spacing(box) bind(c)\r\ngtk;gtk_box_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbox.h;\"GType gtk_box_get_type (void) ;\";function gtk_box_get_type() bind(c)\r\ngtk;gtk_box_insert_child_after;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbox.h;\"void gtk_box_insert_child_after (GtkBox *box, GtkWidget *child, GtkWidget *sibling);\";subroutine gtk_box_insert_child_after(box, child, sibling) bind(c)\r\ngtk;gtk_box_layout_get_baseline_child;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkboxlayout.h;\"int gtk_box_layout_get_baseline_child (GtkBoxLayout *box_layout);\";function gtk_box_layout_get_baseline_child(box_layout) bind(c)\r\ngtk;gtk_box_layout_get_baseline_position;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkboxlayout.h;\"GtkBaselinePosition gtk_box_layout_get_baseline_position (GtkBoxLayout *box_layout);\";function gtk_box_layout_get_baseline_position(box_layout) bind(c)\r\ngtk;gtk_box_layout_get_homogeneous;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkboxlayout.h;\"gboolean gtk_box_layout_get_homogeneous (GtkBoxLayout *box_layout);\";function gtk_box_layout_get_homogeneous(box_layout) bind(c)\r\ngtk;gtk_box_layout_get_spacing;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkboxlayout.h;\"guint gtk_box_layout_get_spacing (GtkBoxLayout *box_layout);\";function gtk_box_layout_get_spacing(box_layout) bind(c)\r\ngtk;gtk_box_layout_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkboxlayout.h;\"GtkLayoutManager * gtk_box_layout_new (GtkOrientation orientation);\";function gtk_box_layout_new(orientation) bind(c)\r\ngtk;gtk_box_layout_set_baseline_child;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkboxlayout.h;\"void gtk_box_layout_set_baseline_child (GtkBoxLayout *box_layout, int child);\";subroutine gtk_box_layout_set_baseline_child(box_layout, child) bind(c)\r\ngtk;gtk_box_layout_set_baseline_position;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkboxlayout.h;\"void gtk_box_layout_set_baseline_position (GtkBoxLayout *box_layout, GtkBaselinePosition position);\";subroutine gtk_box_layout_set_baseline_position(box_layout, position) bind(c)\r\ngtk;gtk_box_layout_set_homogeneous;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkboxlayout.h;\"void gtk_box_layout_set_homogeneous (GtkBoxLayout *box_layout, gboolean homogeneous);\";subroutine gtk_box_layout_set_homogeneous(box_layout, homogeneous) bind(c)\r\ngtk;gtk_box_layout_set_spacing;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkboxlayout.h;\"void gtk_box_layout_set_spacing (GtkBoxLayout *box_layout, guint spacing);\";subroutine gtk_box_layout_set_spacing(box_layout, spacing) bind(c)\r\ngtk;gtk_box_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbox.h;\"GtkWidget* gtk_box_new (GtkOrientation orientation, int spacing);\";function gtk_box_new(orientation, spacing) bind(c)\r\ngtk;gtk_box_prepend;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbox.h;\"void gtk_box_prepend (GtkBox *box, GtkWidget *child);\";subroutine gtk_box_prepend(box, child) bind(c)\r\ngtk;gtk_box_remove;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbox.h;\"void gtk_box_remove (GtkBox *box, GtkWidget *child);\";subroutine gtk_box_remove(box, child) bind(c)\r\ngtk;gtk_box_reorder_child_after;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbox.h;\"void gtk_box_reorder_child_after (GtkBox *box, GtkWidget *child, GtkWidget *sibling);\";subroutine gtk_box_reorder_child_after(box, child, sibling) bind(c)\r\ngtk;gtk_box_set_baseline_child;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbox.h;\"void gtk_box_set_baseline_child (GtkBox *box, int child);\";subroutine gtk_box_set_baseline_child(box, child) bind(c)\r\ngtk;gtk_box_set_baseline_position;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbox.h;\"void gtk_box_set_baseline_position (GtkBox *box, GtkBaselinePosition position);\";subroutine gtk_box_set_baseline_position(box, position) bind(c)\r\ngtk;gtk_box_set_homogeneous;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbox.h;\"void gtk_box_set_homogeneous (GtkBox *box, gboolean homogeneous);\";subroutine gtk_box_set_homogeneous(box, homogeneous) bind(c)\r\ngtk;gtk_box_set_spacing;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbox.h;\"void gtk_box_set_spacing (GtkBox *box, int spacing);\";subroutine gtk_box_set_spacing(box, spacing) bind(c)\r\ngtk;gtk_buildable_get_buildable_id;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuildable.h;\"const char * gtk_buildable_get_buildable_id (GtkBuildable *buildable);\";function gtk_buildable_get_buildable_id(buildable) bind(c)\r\ngtk;gtk_buildable_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuildable.h;\"GType gtk_buildable_get_type (void) ;\";function gtk_buildable_get_type() bind(c)\r\ngtk;gtk_buildable_parse_context_get_element;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuildable.h;\"const char * gtk_buildable_parse_context_get_element (GtkBuildableParseContext *context);\";function gtk_buildable_parse_context_get_element(context) bind(c)\r\ngtk;gtk_buildable_parse_context_get_element_stack;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuildable.h;\"GPtrArray *gtk_buildable_parse_context_get_element_stack (GtkBuildableParseContext *context);\";function gtk_buildable_parse_context_get_element_stack(context) bind(c)\r\ngtk;gtk_buildable_parse_context_get_position;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuildable.h;\"void gtk_buildable_parse_context_get_position (GtkBuildableParseContext *context, int *line_number, int *char_number);\";subroutine gtk_buildable_parse_context_get_position(context, line_number, char_number) bind(c)\r\ngtk;gtk_buildable_parse_context_pop;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuildable.h;\"gpointer gtk_buildable_parse_context_pop (GtkBuildableParseContext *context);\";function gtk_buildable_parse_context_pop(context) bind(c)\r\ngtk;gtk_buildable_parse_context_push;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuildable.h;\"void gtk_buildable_parse_context_push (GtkBuildableParseContext *context, const GtkBuildableParser *parser, gpointer user_data);\";subroutine gtk_buildable_parse_context_push(context, parser, user_data) bind(c)\r\ngtk;gtk_builder_add_from_file;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuilder.h;\"gboolean gtk_builder_add_from_file (GtkBuilder *builder, const char *filename, GError **error);\";function gtk_builder_add_from_file(builder, filename, error) bind(c)\r\ngtk;gtk_builder_add_from_resource;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuilder.h;\"gboolean gtk_builder_add_from_resource (GtkBuilder *builder, const char *resource_path, GError **error);\";function gtk_builder_add_from_resource(builder, resource_path, error) bind(c)\r\ngtk;gtk_builder_add_from_string;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuilder.h;\"gboolean gtk_builder_add_from_string (GtkBuilder *builder, const char *buffer, gssize length, GError **error);\";function gtk_builder_add_from_string(builder, buffer, length, error) bind(c)\r\ngtk;gtk_builder_add_objects_from_file;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuilder.h;\"gboolean gtk_builder_add_objects_from_file (GtkBuilder *builder, const char *filename, const char **object_ids, GError **error);\";function gtk_builder_add_objects_from_file(builder, filename, object_ids, error) bind(c)\r\ngtk;gtk_builder_add_objects_from_resource;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuilder.h;\"gboolean gtk_builder_add_objects_from_resource(GtkBuilder *builder, const char *resource_path, const char **object_ids, GError **error);\";function gtk_builder_add_objects_from_resource(builder, resource_path, object_ids, error) bind(c)\r\ngtk;gtk_builder_add_objects_from_string;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuilder.h;\"gboolean gtk_builder_add_objects_from_string (GtkBuilder *builder, const char *buffer, gssize length, const char **object_ids, GError **error);\";function gtk_builder_add_objects_from_string(builder, buffer, length, object_ids, error) bind(c)\r\ngtk;gtk_builder_create_closure;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuilder.h;\"GClosure * gtk_builder_create_closure (GtkBuilder *builder, const char *function_name, GtkBuilderClosureFlags flags, GObject *object, GError **error);\";function gtk_builder_create_closure(builder, function_name, flags, object, error) bind(c)\r\ngtk;gtk_builder_cscope_add_callback_symbol;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuilderscope.h;\"void gtk_builder_cscope_add_callback_symbol (GtkBuilderCScope *self, const char *callback_name, GCallback callback_symbol);\";subroutine gtk_builder_cscope_add_callback_symbol(self, callback_name, callback_symbol) bind(c)\r\ngtk;gtk_builder_cscope_lookup_callback_symbol;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuilderscope.h;\"GCallback gtk_builder_cscope_lookup_callback_symbol(GtkBuilderCScope *self, const char *callback_name);\";function gtk_builder_cscope_lookup_callback_symbol(self, callback_name) bind(c)\r\ngtk;gtk_builder_cscope_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuilderscope.h;\"GtkBuilderScope * gtk_builder_cscope_new (void);\";function gtk_builder_cscope_new() bind(c)\r\ngtk;gtk_builder_error_quark;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuilder.h;\"GQuark gtk_builder_error_quark (void);\";function gtk_builder_error_quark() bind(c)\r\ngtk;gtk_builder_expose_object;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuilder.h;\"void gtk_builder_expose_object (GtkBuilder *builder, const char *name, GObject *object);\";subroutine gtk_builder_expose_object(builder, name, object) bind(c)\r\ngtk;gtk_builder_extend_with_template;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuilder.h;\"gboolean gtk_builder_extend_with_template (GtkBuilder *builder, GObject *object, GType template_type, const char *buffer, gssize length, GError **error);\";function gtk_builder_extend_with_template(builder, object, template_type, buffer, length, error) bind(c)\r\ngtk;gtk_builder_get_current_object;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuilder.h;\"GObject * gtk_builder_get_current_object (GtkBuilder *builder);\";function gtk_builder_get_current_object(builder) bind(c)\r\ngtk;gtk_builder_get_object;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuilder.h;\"GObject* gtk_builder_get_object (GtkBuilder *builder, const char *name);\";function gtk_builder_get_object(builder, name) bind(c)\r\ngtk;gtk_builder_get_objects;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuilder.h;\"GSList* gtk_builder_get_objects (GtkBuilder *builder);\";function gtk_builder_get_objects(builder) bind(c)\r\ngtk;gtk_builder_get_scope;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuilder.h;\"GtkBuilderScope *gtk_builder_get_scope (GtkBuilder *builder);\";function gtk_builder_get_scope(builder) bind(c)\r\ngtk;gtk_builder_get_translation_domain;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuilder.h;\"const char * gtk_builder_get_translation_domain (GtkBuilder *builder);\";function gtk_builder_get_translation_domain(builder) bind(c)\r\ngtk;gtk_builder_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuilder.h;\"GType gtk_builder_get_type (void) ;\";function gtk_builder_get_type() bind(c)\r\ngtk;gtk_builder_get_type_from_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuilder.h;\"GType gtk_builder_get_type_from_name (GtkBuilder *builder, const char *type_name);\";function gtk_builder_get_type_from_name(builder, type_name) bind(c)\r\ngtk;gtk_builder_list_item_factory_get_bytes;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuilderlistitemfactory.h;\"GBytes * gtk_builder_list_item_factory_get_bytes (GtkBuilderListItemFactory *self) ;\";function gtk_builder_list_item_factory_get_bytes(self) bind(c)\r\ngtk;gtk_builder_list_item_factory_get_resource;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuilderlistitemfactory.h;\"const char * gtk_builder_list_item_factory_get_resource (GtkBuilderListItemFactory *self) ;\";function gtk_builder_list_item_factory_get_resource(self) bind(c)\r\ngtk;gtk_builder_list_item_factory_get_scope;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuilderlistitemfactory.h;\"GtkBuilderScope * gtk_builder_list_item_factory_get_scope (GtkBuilderListItemFactory *self) ;\";function gtk_builder_list_item_factory_get_scope(self) bind(c)\r\ngtk;gtk_builder_list_item_factory_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuilderlistitemfactory.h;\"GType gtk_builder_list_item_factory_get_type (void) ;\";function gtk_builder_list_item_factory_get_type() bind(c)\r\ngtk;gtk_builder_list_item_factory_new_from_bytes;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuilderlistitemfactory.h;\"GtkListItemFactory * gtk_builder_list_item_factory_new_from_bytes (GtkBuilderScope *scope, GBytes *bytes);\";function gtk_builder_list_item_factory_new_from_bytes(scope, bytes) bind(c)\r\ngtk;gtk_builder_list_item_factory_new_from_resource;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuilderlistitemfactory.h;\"GtkListItemFactory * gtk_builder_list_item_factory_new_from_resource (GtkBuilderScope *scope, const char *resource_path);\";function gtk_builder_list_item_factory_new_from_resource(scope, resource_path) bind(c)\r\ngtk;gtk_builder_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuilder.h;\"GtkBuilder* gtk_builder_new (void);\";function gtk_builder_new() bind(c)\r\ngtk;gtk_builder_new_from_file;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuilder.h;\"GtkBuilder * gtk_builder_new_from_file (const char *filename);\";function gtk_builder_new_from_file(filename) bind(c)\r\ngtk;gtk_builder_new_from_resource;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuilder.h;\"GtkBuilder * gtk_builder_new_from_resource (const char *resource_path);\";function gtk_builder_new_from_resource(resource_path) bind(c)\r\ngtk;gtk_builder_new_from_string;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuilder.h;\"GtkBuilder * gtk_builder_new_from_string (const char *string, gssize length);\";function gtk_builder_new_from_string(string, length) bind(c)\r\ngtk;gtk_builder_set_current_object;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuilder.h;\"void gtk_builder_set_current_object (GtkBuilder *builder, GObject *current_object);\";subroutine gtk_builder_set_current_object(builder, current_object) bind(c)\r\ngtk;gtk_builder_set_scope;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuilder.h;\"void gtk_builder_set_scope (GtkBuilder *builder, GtkBuilderScope *scope);\";subroutine gtk_builder_set_scope(builder, scope) bind(c)\r\ngtk;gtk_builder_set_translation_domain;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuilder.h;\"void gtk_builder_set_translation_domain (GtkBuilder *builder, const char *domain);\";subroutine gtk_builder_set_translation_domain(builder, domain) bind(c)\r\ngtk;gtk_builder_value_from_string;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuilder.h;\"gboolean gtk_builder_value_from_string (GtkBuilder *builder, GParamSpec *pspec, const char *string, GValue *value, GError **error);\";function gtk_builder_value_from_string(builder, pspec, string, value, error) bind(c)\r\ngtk;gtk_builder_value_from_string_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbuilder.h;\"gboolean gtk_builder_value_from_string_type (GtkBuilder *builder, GType type, const char *string, GValue *value, GError **error);\";function gtk_builder_value_from_string_type(builder, type, string, value, error) bind(c)\r\ngtk;gtk_button_get_can_shrink;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbutton.h;\"gboolean gtk_button_get_can_shrink (GtkButton *button);\";function gtk_button_get_can_shrink(button) bind(c)\r\ngtk;gtk_button_get_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbutton.h;\"GtkWidget * gtk_button_get_child (GtkButton *button);\";function gtk_button_get_child(button) bind(c)\r\ngtk;gtk_button_get_has_frame;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbutton.h;\"gboolean gtk_button_get_has_frame (GtkButton *button);\";function gtk_button_get_has_frame(button) bind(c)\r\ngtk;gtk_button_get_icon_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbutton.h;\"const char * gtk_button_get_icon_name (GtkButton *button);\";function gtk_button_get_icon_name(button) bind(c)\r\ngtk;gtk_button_get_label;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbutton.h;\"const char * gtk_button_get_label (GtkButton *button);\";function gtk_button_get_label(button) bind(c)\r\ngtk;gtk_button_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbutton.h;\"GType gtk_button_get_type (void) ;\";function gtk_button_get_type() bind(c)\r\ngtk;gtk_button_get_use_underline;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbutton.h;\"gboolean gtk_button_get_use_underline (GtkButton *button);\";function gtk_button_get_use_underline(button) bind(c)\r\ngtk;gtk_button_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbutton.h;\"GtkWidget* gtk_button_new (void);\";function gtk_button_new() bind(c)\r\ngtk;gtk_button_new_from_icon_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbutton.h;\"GtkWidget* gtk_button_new_from_icon_name (const char *icon_name);\";function gtk_button_new_from_icon_name(icon_name) bind(c)\r\ngtk;gtk_button_new_with_label;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbutton.h;\"GtkWidget* gtk_button_new_with_label (const char *label);\";function gtk_button_new_with_label(label) bind(c)\r\ngtk;gtk_button_new_with_mnemonic;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbutton.h;\"GtkWidget* gtk_button_new_with_mnemonic (const char *label);\";function gtk_button_new_with_mnemonic(label) bind(c)\r\ngtk;gtk_button_set_can_shrink;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbutton.h;\"void gtk_button_set_can_shrink (GtkButton *button, gboolean can_shrink);\";subroutine gtk_button_set_can_shrink(button, can_shrink) bind(c)\r\ngtk;gtk_button_set_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbutton.h;\"void gtk_button_set_child (GtkButton *button, GtkWidget *child);\";subroutine gtk_button_set_child(button, child) bind(c)\r\ngtk;gtk_button_set_has_frame;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbutton.h;\"void gtk_button_set_has_frame (GtkButton *button, gboolean has_frame);\";subroutine gtk_button_set_has_frame(button, has_frame) bind(c)\r\ngtk;gtk_button_set_icon_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbutton.h;\"void gtk_button_set_icon_name (GtkButton *button, const char *icon_name);\";subroutine gtk_button_set_icon_name(button, icon_name) bind(c)\r\ngtk;gtk_button_set_label;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbutton.h;\"void gtk_button_set_label (GtkButton *button, const char *label);\";subroutine gtk_button_set_label(button, label) bind(c)\r\ngtk;gtk_button_set_use_underline;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkbutton.h;\"void gtk_button_set_use_underline (GtkButton *button, gboolean use_underline);\";subroutine gtk_button_set_use_underline(button, use_underline) bind(c)\r\ngtk;gtk_calendar_clear_marks;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcalendar.h;\"void gtk_calendar_clear_marks (GtkCalendar *calendar);\";subroutine gtk_calendar_clear_marks(calendar) bind(c)\r\ngtk;gtk_calendar_get_date;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcalendar.h;\"GDateTime * gtk_calendar_get_date (GtkCalendar *self);\";function gtk_calendar_get_date(self) bind(c)\r\ngtk;gtk_calendar_get_day;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcalendar.h;\"int gtk_calendar_get_day (GtkCalendar *self);\";function gtk_calendar_get_day(self) bind(c)\r\ngtk;gtk_calendar_get_day_is_marked;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcalendar.h;\"gboolean gtk_calendar_get_day_is_marked (GtkCalendar *calendar, guint day);\";function gtk_calendar_get_day_is_marked(calendar, day) bind(c)\r\ngtk;gtk_calendar_get_month;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcalendar.h;\"int gtk_calendar_get_month (GtkCalendar *self);\";function gtk_calendar_get_month(self) bind(c)\r\ngtk;gtk_calendar_get_show_day_names;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcalendar.h;\"gboolean gtk_calendar_get_show_day_names (GtkCalendar *self);\";function gtk_calendar_get_show_day_names(self) bind(c)\r\ngtk;gtk_calendar_get_show_heading;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcalendar.h;\"gboolean gtk_calendar_get_show_heading (GtkCalendar *self);\";function gtk_calendar_get_show_heading(self) bind(c)\r\ngtk;gtk_calendar_get_show_week_numbers;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcalendar.h;\"gboolean gtk_calendar_get_show_week_numbers (GtkCalendar *self);\";function gtk_calendar_get_show_week_numbers(self) bind(c)\r\ngtk;gtk_calendar_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcalendar.h;\"GType gtk_calendar_get_type (void) ;\";function gtk_calendar_get_type() bind(c)\r\ngtk;gtk_calendar_get_year;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcalendar.h;\"int gtk_calendar_get_year (GtkCalendar *self);\";function gtk_calendar_get_year(self) bind(c)\r\ngtk;gtk_calendar_mark_day;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcalendar.h;\"void gtk_calendar_mark_day (GtkCalendar *calendar, guint day);\";subroutine gtk_calendar_mark_day(calendar, day) bind(c)\r\ngtk;gtk_calendar_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcalendar.h;\"GtkWidget* gtk_calendar_new (void);\";function gtk_calendar_new() bind(c)\r\ngtk;gtk_calendar_select_day;GDK_DEPRECATED_IN_4_20_FOR (gtk_calendar_set_date);gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcalendar.h;\"void gtk_calendar_select_day (GtkCalendar *self, GDateTime *date);\";subroutine gtk_calendar_select_day(self, date) bind(c)\r\ngtk;gtk_calendar_set_date;GDK_AVAILABLE_IN_4_20;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcalendar.h;\"void gtk_calendar_set_date (GtkCalendar *self, GDateTime *date);\";subroutine gtk_calendar_set_date(self, date) bind(c)\r\ngtk;gtk_calendar_set_day;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcalendar.h;\"void gtk_calendar_set_day (GtkCalendar *self, int day);\";subroutine gtk_calendar_set_day(self, day) bind(c)\r\ngtk;gtk_calendar_set_month;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcalendar.h;\"void gtk_calendar_set_month (GtkCalendar *self, int month);\";subroutine gtk_calendar_set_month(self, month) bind(c)\r\ngtk;gtk_calendar_set_show_day_names;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcalendar.h;\"void gtk_calendar_set_show_day_names (GtkCalendar *self, gboolean value);\";subroutine gtk_calendar_set_show_day_names(self, value) bind(c)\r\ngtk;gtk_calendar_set_show_heading;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcalendar.h;\"void gtk_calendar_set_show_heading (GtkCalendar *self, gboolean value);\";subroutine gtk_calendar_set_show_heading(self, value) bind(c)\r\ngtk;gtk_calendar_set_show_week_numbers;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcalendar.h;\"void gtk_calendar_set_show_week_numbers (GtkCalendar *self, gboolean value);\";subroutine gtk_calendar_set_show_week_numbers(self, value) bind(c)\r\ngtk;gtk_calendar_set_year;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcalendar.h;\"void gtk_calendar_set_year (GtkCalendar *self, int year);\";subroutine gtk_calendar_set_year(self, year) bind(c)\r\ngtk;gtk_calendar_unmark_day;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcalendar.h;\"void gtk_calendar_unmark_day (GtkCalendar *calendar, guint day);\";subroutine gtk_calendar_unmark_day(calendar, day) bind(c)\r\ngtk;gtk_callback_action_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcutaction.h;\"GtkShortcutAction * gtk_callback_action_new (GtkShortcutFunc callback, gpointer data, GDestroyNotify destroy);\";function gtk_callback_action_new(callback, data, destroy) bind(c)\r\ngtk;gtk_cclosure_expression_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpression.h;\"GType gtk_cclosure_expression_get_type (void) ;\";function gtk_cclosure_expression_get_type() bind(c)\r\ngtk;gtk_cclosure_expression_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpression.h;\"GtkExpression * gtk_cclosure_expression_new (GType value_type, GClosureMarshal marshal, guint n_params, GtkExpression **params, GCallback callback_func, gpointer user_data, GClosureNotify user_destroy);\";function gtk_cclosure_expression_new(value_type, marshal, n_params, params, callback_func, user_data, user_destroy) bind(c)\r\ngtk;gtk_cell_area_activate;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"gboolean gtk_cell_area_activate (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, const GdkRectangle *cell_area, GtkCellRendererState flags, gboolean edit_only);\";function gtk_cell_area_activate(area, context, widget, cell_area, flags, edit_only) bind(c)\r\ngtk;gtk_cell_area_activate_cell;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"gboolean gtk_cell_area_activate_cell (GtkCellArea *area, GtkWidget *widget, GtkCellRenderer *renderer, GdkEvent *event, const GdkRectangle *cell_area, GtkCellRendererState flags);\";function gtk_cell_area_activate_cell(area, widget, renderer, event, cell_area, flags) bind(c)\r\ngtk;gtk_cell_area_add;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"void gtk_cell_area_add (GtkCellArea *area, GtkCellRenderer *renderer);\";subroutine gtk_cell_area_add(area, renderer) bind(c)\r\ngtk;gtk_cell_area_add_focus_sibling;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"void gtk_cell_area_add_focus_sibling (GtkCellArea *area, GtkCellRenderer *renderer, GtkCellRenderer *sibling);\";subroutine gtk_cell_area_add_focus_sibling(area, renderer, sibling) bind(c)\r\ngtk;gtk_cell_area_apply_attributes;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"void gtk_cell_area_apply_attributes (GtkCellArea *area, GtkTreeModel *tree_model, GtkTreeIter *iter, gboolean is_expander, gboolean is_expanded);\";subroutine gtk_cell_area_apply_attributes(area, tree_model, iter, is_expander, is_expanded) bind(c)\r\ngtk;gtk_cell_area_attribute_connect;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"void gtk_cell_area_attribute_connect (GtkCellArea *area, GtkCellRenderer *renderer, const char *attribute, int column);\";subroutine gtk_cell_area_attribute_connect(area, renderer, attribute, column) bind(c)\r\ngtk;gtk_cell_area_attribute_disconnect;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"void gtk_cell_area_attribute_disconnect (GtkCellArea *area, GtkCellRenderer *renderer, const char *attribute);\";subroutine gtk_cell_area_attribute_disconnect(area, renderer, attribute) bind(c)\r\ngtk;gtk_cell_area_attribute_get_column;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"int gtk_cell_area_attribute_get_column (GtkCellArea *area, GtkCellRenderer *renderer, const char *attribute);\";function gtk_cell_area_attribute_get_column(area, renderer, attribute) bind(c)\r\ngtk;gtk_cell_area_box_get_spacing;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellareabox.h;\"int gtk_cell_area_box_get_spacing (GtkCellAreaBox *box);\";function gtk_cell_area_box_get_spacing(box) bind(c)\r\ngtk;gtk_cell_area_box_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellareabox.h;\"GType gtk_cell_area_box_get_type (void) ;\";function gtk_cell_area_box_get_type() bind(c)\r\ngtk;gtk_cell_area_box_new;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellareabox.h;\"GtkCellArea *gtk_cell_area_box_new (void);\";function gtk_cell_area_box_new() bind(c)\r\ngtk;gtk_cell_area_box_pack_end;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellareabox.h;\"void gtk_cell_area_box_pack_end (GtkCellAreaBox *box, GtkCellRenderer *renderer, gboolean expand, gboolean align, gboolean fixed);\";subroutine gtk_cell_area_box_pack_end(box, renderer, expand, align, fixed) bind(c)\r\ngtk;gtk_cell_area_box_pack_start;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellareabox.h;\"void gtk_cell_area_box_pack_start (GtkCellAreaBox *box, GtkCellRenderer *renderer, gboolean expand, gboolean align, gboolean fixed);\";subroutine gtk_cell_area_box_pack_start(box, renderer, expand, align, fixed) bind(c)\r\ngtk;gtk_cell_area_box_set_spacing;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellareabox.h;\"void gtk_cell_area_box_set_spacing (GtkCellAreaBox *box, int spacing);\";subroutine gtk_cell_area_box_set_spacing(box, spacing) bind(c)\r\ngtk;gtk_cell_area_cell_get_property;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"void gtk_cell_area_cell_get_property (GtkCellArea *area, GtkCellRenderer *renderer, const char *property_name, GValue *value);\";subroutine gtk_cell_area_cell_get_property(area, renderer, property_name, value) bind(c)\r\ngtk;gtk_cell_area_cell_get_valist;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"void gtk_cell_area_cell_get_valist (GtkCellArea *area, GtkCellRenderer *renderer, const char *first_property_name, va_list var_args);\";subroutine gtk_cell_area_cell_get_valist(area, renderer, first_property_name, var_args) bind(c)\r\ngtk;gtk_cell_area_cell_set_property;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"void gtk_cell_area_cell_set_property (GtkCellArea *area, GtkCellRenderer *renderer, const char *property_name, const GValue *value);\";subroutine gtk_cell_area_cell_set_property(area, renderer, property_name, value) bind(c)\r\ngtk;gtk_cell_area_cell_set_valist;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"void gtk_cell_area_cell_set_valist (GtkCellArea *area, GtkCellRenderer *renderer, const char *first_property_name, va_list var_args);\";subroutine gtk_cell_area_cell_set_valist(area, renderer, first_property_name, var_args) bind(c)\r\ngtk;gtk_cell_area_class_find_cell_property;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"GParamSpec* gtk_cell_area_class_find_cell_property (GtkCellAreaClass *aclass, const char *property_name);\";function gtk_cell_area_class_find_cell_property(aclass, property_name) bind(c)\r\ngtk;gtk_cell_area_class_install_cell_property;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"void gtk_cell_area_class_install_cell_property (GtkCellAreaClass *aclass, guint property_id, GParamSpec *pspec);\";subroutine gtk_cell_area_class_install_cell_property(aclass, property_id, pspec) bind(c)\r\ngtk;gtk_cell_area_class_list_cell_properties;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"GParamSpec** gtk_cell_area_class_list_cell_properties (GtkCellAreaClass *aclass, guint *n_properties);\";function gtk_cell_area_class_list_cell_properties(aclass, n_properties) bind(c)\r\ngtk;gtk_cell_area_context_allocate;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellareacontext.h;\"void gtk_cell_area_context_allocate (GtkCellAreaContext *context, int width, int height);\";subroutine gtk_cell_area_context_allocate(context, width, height) bind(c)\r\ngtk;gtk_cell_area_context_get_allocation;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellareacontext.h;\"void gtk_cell_area_context_get_allocation (GtkCellAreaContext *context, int *width, int *height);\";subroutine gtk_cell_area_context_get_allocation(context, width, height) bind(c)\r\ngtk;gtk_cell_area_context_get_area;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellareacontext.h;\"GtkCellArea *gtk_cell_area_context_get_area (GtkCellAreaContext *context);\";function gtk_cell_area_context_get_area(context) bind(c)\r\ngtk;gtk_cell_area_context_get_preferred_height;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellareacontext.h;\"void gtk_cell_area_context_get_preferred_height (GtkCellAreaContext *context, int *minimum_height, int *natural_height);\";subroutine gtk_cell_area_context_get_preferred_height(context, minimum_height, natural_height) bind(c)\r\ngtk;gtk_cell_area_context_get_preferred_height_for_width;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellareacontext.h;\"void gtk_cell_area_context_get_preferred_height_for_width (GtkCellAreaContext *context, int width, int *minimum_height, int *natural_height);\";subroutine gtk_cell_area_context_get_preferred_height_for_width(context, width, minimum_height, natural_height) bind(c)\r\ngtk;gtk_cell_area_context_get_preferred_width;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellareacontext.h;\"void gtk_cell_area_context_get_preferred_width (GtkCellAreaContext *context, int *minimum_width, int *natural_width);\";subroutine gtk_cell_area_context_get_preferred_width(context, minimum_width, natural_width) bind(c)\r\ngtk;gtk_cell_area_context_get_preferred_width_for_height;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellareacontext.h;\"void gtk_cell_area_context_get_preferred_width_for_height (GtkCellAreaContext *context, int height, int *minimum_width, int *natural_width);\";subroutine gtk_cell_area_context_get_preferred_width_for_height(context, height, minimum_width, natural_width) bind(c)\r\ngtk;gtk_cell_area_context_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellareacontext.h;\"GType gtk_cell_area_context_get_type (void) ;\";function gtk_cell_area_context_get_type() bind(c)\r\ngtk;gtk_cell_area_context_push_preferred_height;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellareacontext.h;\"void gtk_cell_area_context_push_preferred_height (GtkCellAreaContext *context, int minimum_height, int natural_height);\";subroutine gtk_cell_area_context_push_preferred_height(context, minimum_height, natural_height) bind(c)\r\ngtk;gtk_cell_area_context_push_preferred_width;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellareacontext.h;\"void gtk_cell_area_context_push_preferred_width (GtkCellAreaContext *context, int minimum_width, int natural_width);\";subroutine gtk_cell_area_context_push_preferred_width(context, minimum_width, natural_width) bind(c)\r\ngtk;gtk_cell_area_context_reset;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellareacontext.h;\"void gtk_cell_area_context_reset (GtkCellAreaContext *context);\";subroutine gtk_cell_area_context_reset(context) bind(c)\r\ngtk;gtk_cell_area_copy_context;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"GtkCellAreaContext *gtk_cell_area_copy_context (GtkCellArea *area, GtkCellAreaContext *context);\";function gtk_cell_area_copy_context(area, context) bind(c)\r\ngtk;gtk_cell_area_create_context;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"GtkCellAreaContext *gtk_cell_area_create_context (GtkCellArea *area);\";function gtk_cell_area_create_context(area) bind(c)\r\ngtk;gtk_cell_area_event;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"int gtk_cell_area_event (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, GdkEvent *event, const GdkRectangle *cell_area, GtkCellRendererState flags);\";function gtk_cell_area_event(area, context, widget, event, cell_area, flags) bind(c)\r\ngtk;gtk_cell_area_focus;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"gboolean gtk_cell_area_focus (GtkCellArea *area, GtkDirectionType direction);\";function gtk_cell_area_focus(area, direction) bind(c)\r\ngtk;gtk_cell_area_foreach;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"void gtk_cell_area_foreach (GtkCellArea *area, GtkCellCallback callback, gpointer callback_data);\";subroutine gtk_cell_area_foreach(area, callback, callback_data) bind(c)\r\ngtk;gtk_cell_area_foreach_alloc;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"void gtk_cell_area_foreach_alloc (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, const GdkRectangle *cell_area, const GdkRectangle *background_area, GtkCellAllocCallback callback, gpointer callback_data);\";subroutine gtk_cell_area_foreach_alloc(area, context, widget, cell_area, background_area, callback, callback_data) bind(c)\r\ngtk;gtk_cell_area_get_cell_allocation;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"void gtk_cell_area_get_cell_allocation (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, GtkCellRenderer *renderer, const GdkRectangle *cell_area, GdkRectangle *allocation);\";subroutine gtk_cell_area_get_cell_allocation(area, context, widget, renderer, cell_area, allocation) bind(c)\r\ngtk;gtk_cell_area_get_cell_at_position;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"GtkCellRenderer *gtk_cell_area_get_cell_at_position (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, const GdkRectangle *cell_area, int x, int y, GdkRectangle *alloc_area);\";function gtk_cell_area_get_cell_at_position(area, context, widget, cell_area, x, y, alloc_area) bind(c)\r\ngtk;gtk_cell_area_get_current_path_string;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"const char * gtk_cell_area_get_current_path_string (GtkCellArea *area);\";function gtk_cell_area_get_current_path_string(area) bind(c)\r\ngtk;gtk_cell_area_get_edit_widget;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"GtkCellEditable *gtk_cell_area_get_edit_widget (GtkCellArea *area);\";function gtk_cell_area_get_edit_widget(area) bind(c)\r\ngtk;gtk_cell_area_get_edited_cell;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"GtkCellRenderer *gtk_cell_area_get_edited_cell (GtkCellArea *area);\";function gtk_cell_area_get_edited_cell(area) bind(c)\r\ngtk;gtk_cell_area_get_focus_cell;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"GtkCellRenderer *gtk_cell_area_get_focus_cell (GtkCellArea *area);\";function gtk_cell_area_get_focus_cell(area) bind(c)\r\ngtk;gtk_cell_area_get_focus_from_sibling;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"GtkCellRenderer *gtk_cell_area_get_focus_from_sibling (GtkCellArea *area, GtkCellRenderer *renderer);\";function gtk_cell_area_get_focus_from_sibling(area, renderer) bind(c)\r\ngtk;gtk_cell_area_get_focus_siblings;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"const GList * gtk_cell_area_get_focus_siblings (GtkCellArea *area, GtkCellRenderer *renderer);\";function gtk_cell_area_get_focus_siblings(area, renderer) bind(c)\r\ngtk;gtk_cell_area_get_preferred_height;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"void gtk_cell_area_get_preferred_height (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, int *minimum_height, int *natural_height);\";subroutine gtk_cell_area_get_preferred_height(area, context, widget, minimum_height, natural_height) bind(c)\r\ngtk;gtk_cell_area_get_preferred_height_for_width;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"void gtk_cell_area_get_preferred_height_for_width (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, int width, int *minimum_height, int *natural_height);\";subroutine gtk_cell_area_get_preferred_height_for_width(area, context, widget, width, minimum_height, natural_height) bind(c)\r\ngtk;gtk_cell_area_get_preferred_width;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"void gtk_cell_area_get_preferred_width (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, int *minimum_width, int *natural_width);\";subroutine gtk_cell_area_get_preferred_width(area, context, widget, minimum_width, natural_width) bind(c)\r\ngtk;gtk_cell_area_get_preferred_width_for_height;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"void gtk_cell_area_get_preferred_width_for_height (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, int height, int *minimum_width, int *natural_width);\";subroutine gtk_cell_area_get_preferred_width_for_height(area, context, widget, height, minimum_width, natural_width) bind(c)\r\ngtk;gtk_cell_area_get_request_mode;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"GtkSizeRequestMode gtk_cell_area_get_request_mode (GtkCellArea *area);\";function gtk_cell_area_get_request_mode(area) bind(c)\r\ngtk;gtk_cell_area_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"GType gtk_cell_area_get_type (void) ;\";function gtk_cell_area_get_type() bind(c)\r\ngtk;gtk_cell_area_has_renderer;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"gboolean gtk_cell_area_has_renderer (GtkCellArea *area, GtkCellRenderer *renderer);\";function gtk_cell_area_has_renderer(area, renderer) bind(c)\r\ngtk;gtk_cell_area_inner_cell_area;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"void gtk_cell_area_inner_cell_area (GtkCellArea *area, GtkWidget *widget, const GdkRectangle *cell_area, GdkRectangle *inner_area);\";subroutine gtk_cell_area_inner_cell_area(area, widget, cell_area, inner_area) bind(c)\r\ngtk;gtk_cell_area_is_activatable;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"gboolean gtk_cell_area_is_activatable (GtkCellArea *area);\";function gtk_cell_area_is_activatable(area) bind(c)\r\ngtk;gtk_cell_area_is_focus_sibling;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"gboolean gtk_cell_area_is_focus_sibling (GtkCellArea *area, GtkCellRenderer *renderer, GtkCellRenderer *sibling);\";function gtk_cell_area_is_focus_sibling(area, renderer, sibling) bind(c)\r\ngtk;gtk_cell_area_remove;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"void gtk_cell_area_remove (GtkCellArea *area, GtkCellRenderer *renderer);\";subroutine gtk_cell_area_remove(area, renderer) bind(c)\r\ngtk;gtk_cell_area_remove_focus_sibling;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"void gtk_cell_area_remove_focus_sibling (GtkCellArea *area, GtkCellRenderer *renderer, GtkCellRenderer *sibling);\";subroutine gtk_cell_area_remove_focus_sibling(area, renderer, sibling) bind(c)\r\ngtk;gtk_cell_area_request_renderer;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"void gtk_cell_area_request_renderer (GtkCellArea *area, GtkCellRenderer *renderer, GtkOrientation orientation, GtkWidget *widget, int for_size, int *minimum_size, int *natural_size);\";subroutine gtk_cell_area_request_renderer(area, renderer, orientation, widget, for_size, minimum_size, natural_size) bind(c)\r\ngtk;gtk_cell_area_set_focus_cell;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"void gtk_cell_area_set_focus_cell (GtkCellArea *area, GtkCellRenderer *renderer);\";subroutine gtk_cell_area_set_focus_cell(area, renderer) bind(c)\r\ngtk;gtk_cell_area_snapshot;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"void gtk_cell_area_snapshot (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, GtkSnapshot *snapshot, const GdkRectangle *background_area, const GdkRectangle *cell_area, GtkCellRendererState flags, gboolean paint_focus);\";subroutine gtk_cell_area_snapshot(area, context, widget, snapshot, background_area, cell_area, flags, paint_focus) bind(c)\r\ngtk;gtk_cell_area_stop_editing;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellarea.h;\"void gtk_cell_area_stop_editing (GtkCellArea *area, gboolean canceled);\";subroutine gtk_cell_area_stop_editing(area, canceled) bind(c)\r\ngtk;gtk_cell_editable_editing_done;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcelleditable.h;\"void gtk_cell_editable_editing_done (GtkCellEditable *cell_editable);\";subroutine gtk_cell_editable_editing_done(cell_editable) bind(c)\r\ngtk;gtk_cell_editable_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcelleditable.h;\"GType gtk_cell_editable_get_type (void) ;\";function gtk_cell_editable_get_type() bind(c)\r\ngtk;gtk_cell_editable_remove_widget;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcelleditable.h;\"void gtk_cell_editable_remove_widget (GtkCellEditable *cell_editable);\";subroutine gtk_cell_editable_remove_widget(cell_editable) bind(c)\r\ngtk;gtk_cell_editable_start_editing;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcelleditable.h;\"void gtk_cell_editable_start_editing (GtkCellEditable *cell_editable, GdkEvent *event);\";subroutine gtk_cell_editable_start_editing(cell_editable, event) bind(c)\r\ngtk;gtk_cell_layout_add_attribute;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcelllayout.h;\"void gtk_cell_layout_add_attribute (GtkCellLayout *cell_layout, GtkCellRenderer *cell, const char *attribute, int column);\";subroutine gtk_cell_layout_add_attribute(cell_layout, cell, attribute, column) bind(c)\r\ngtk;gtk_cell_layout_clear;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcelllayout.h;\"void gtk_cell_layout_clear (GtkCellLayout *cell_layout);\";subroutine gtk_cell_layout_clear(cell_layout) bind(c)\r\ngtk;gtk_cell_layout_clear_attributes;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcelllayout.h;\"void gtk_cell_layout_clear_attributes (GtkCellLayout *cell_layout, GtkCellRenderer *cell);\";subroutine gtk_cell_layout_clear_attributes(cell_layout, cell) bind(c)\r\ngtk;gtk_cell_layout_get_area;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcelllayout.h;\"GtkCellArea *gtk_cell_layout_get_area (GtkCellLayout *cell_layout);\";function gtk_cell_layout_get_area(cell_layout) bind(c)\r\ngtk;gtk_cell_layout_get_cells;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcelllayout.h;\"GList *gtk_cell_layout_get_cells (GtkCellLayout *cell_layout);\";function gtk_cell_layout_get_cells(cell_layout) bind(c)\r\ngtk;gtk_cell_layout_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcelllayout.h;\"GType gtk_cell_layout_get_type (void) ;\";function gtk_cell_layout_get_type() bind(c)\r\ngtk;gtk_cell_layout_pack_end;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcelllayout.h;\"void gtk_cell_layout_pack_end (GtkCellLayout *cell_layout, GtkCellRenderer *cell, gboolean expand);\";subroutine gtk_cell_layout_pack_end(cell_layout, cell, expand) bind(c)\r\ngtk;gtk_cell_layout_pack_start;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcelllayout.h;\"void gtk_cell_layout_pack_start (GtkCellLayout *cell_layout, GtkCellRenderer *cell, gboolean expand);\";subroutine gtk_cell_layout_pack_start(cell_layout, cell, expand) bind(c)\r\ngtk;gtk_cell_layout_reorder;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcelllayout.h;\"void gtk_cell_layout_reorder (GtkCellLayout *cell_layout, GtkCellRenderer *cell, int position);\";subroutine gtk_cell_layout_reorder(cell_layout, cell, position) bind(c)\r\ngtk;gtk_cell_layout_set_cell_data_func;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcelllayout.h;\"void gtk_cell_layout_set_cell_data_func (GtkCellLayout *cell_layout, GtkCellRenderer *cell, GtkCellLayoutDataFunc func, gpointer func_data, GDestroyNotify destroy);\";subroutine gtk_cell_layout_set_cell_data_func(cell_layout, cell, func, func_data, destroy) bind(c)\r\ngtk;gtk_cell_renderer_accel_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrendereraccel.h;\"GType gtk_cell_renderer_accel_get_type (void) ;\";function gtk_cell_renderer_accel_get_type() bind(c)\r\ngtk;gtk_cell_renderer_accel_new;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrendereraccel.h;\"GtkCellRenderer *gtk_cell_renderer_accel_new (void);\";function gtk_cell_renderer_accel_new() bind(c)\r\ngtk;gtk_cell_renderer_activate;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderer.h;\"gboolean gtk_cell_renderer_activate (GtkCellRenderer *cell, GdkEvent *event, GtkWidget *widget, const char *path, const GdkRectangle *background_area, const GdkRectangle *cell_area, GtkCellRendererState flags);\";function gtk_cell_renderer_activate(cell, event, widget, path, background_area, cell_area, flags) bind(c)\r\ngtk;gtk_cell_renderer_combo_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderercombo.h;\"GType gtk_cell_renderer_combo_get_type (void) ;\";function gtk_cell_renderer_combo_get_type() bind(c)\r\ngtk;gtk_cell_renderer_combo_new;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderercombo.h;\"GtkCellRenderer *gtk_cell_renderer_combo_new (void);\";function gtk_cell_renderer_combo_new() bind(c)\r\ngtk;gtk_cell_renderer_get_aligned_area;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderer.h;\"void gtk_cell_renderer_get_aligned_area (GtkCellRenderer *cell, GtkWidget *widget, GtkCellRendererState flags, const GdkRectangle *cell_area, GdkRectangle *aligned_area);\";subroutine gtk_cell_renderer_get_aligned_area(cell, widget, flags, cell_area, aligned_area) bind(c)\r\ngtk;gtk_cell_renderer_get_alignment;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderer.h;\"void gtk_cell_renderer_get_alignment (GtkCellRenderer *cell, float *xalign, float *yalign);\";subroutine gtk_cell_renderer_get_alignment(cell, xalign, yalign) bind(c)\r\ngtk;gtk_cell_renderer_get_fixed_size;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderer.h;\"void gtk_cell_renderer_get_fixed_size (GtkCellRenderer *cell, int *width, int *height);\";subroutine gtk_cell_renderer_get_fixed_size(cell, width, height) bind(c)\r\ngtk;gtk_cell_renderer_get_is_expanded;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderer.h;\"gboolean gtk_cell_renderer_get_is_expanded (GtkCellRenderer *cell);\";function gtk_cell_renderer_get_is_expanded(cell) bind(c)\r\ngtk;gtk_cell_renderer_get_is_expander;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderer.h;\"gboolean gtk_cell_renderer_get_is_expander (GtkCellRenderer *cell);\";function gtk_cell_renderer_get_is_expander(cell) bind(c)\r\ngtk;gtk_cell_renderer_get_padding;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderer.h;\"void gtk_cell_renderer_get_padding (GtkCellRenderer *cell, int *xpad, int *ypad);\";subroutine gtk_cell_renderer_get_padding(cell, xpad, ypad) bind(c)\r\ngtk;gtk_cell_renderer_get_preferred_height;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderer.h;\"void gtk_cell_renderer_get_preferred_height (GtkCellRenderer *cell, GtkWidget *widget, int *minimum_size, int *natural_size);\";subroutine gtk_cell_renderer_get_preferred_height(cell, widget, minimum_size, natural_size) bind(c)\r\ngtk;gtk_cell_renderer_get_preferred_height_for_width;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderer.h;\"void gtk_cell_renderer_get_preferred_height_for_width (GtkCellRenderer *cell, GtkWidget *widget, int width, int *minimum_height, int *natural_height);\";subroutine gtk_cell_renderer_get_preferred_height_for_width(cell, widget, width, minimum_height, natural_height) bind(c)\r\ngtk;gtk_cell_renderer_get_preferred_size;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderer.h;\"void gtk_cell_renderer_get_preferred_size (GtkCellRenderer *cell, GtkWidget *widget, GtkRequisition *minimum_size, GtkRequisition *natural_size);\";subroutine gtk_cell_renderer_get_preferred_size(cell, widget, minimum_size, natural_size) bind(c)\r\ngtk;gtk_cell_renderer_get_preferred_width;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderer.h;\"void gtk_cell_renderer_get_preferred_width (GtkCellRenderer *cell, GtkWidget *widget, int *minimum_size, int *natural_size);\";subroutine gtk_cell_renderer_get_preferred_width(cell, widget, minimum_size, natural_size) bind(c)\r\ngtk;gtk_cell_renderer_get_preferred_width_for_height;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderer.h;\"void gtk_cell_renderer_get_preferred_width_for_height (GtkCellRenderer *cell, GtkWidget *widget, int height, int *minimum_width, int *natural_width);\";subroutine gtk_cell_renderer_get_preferred_width_for_height(cell, widget, height, minimum_width, natural_width) bind(c)\r\ngtk;gtk_cell_renderer_get_request_mode;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderer.h;\"GtkSizeRequestMode gtk_cell_renderer_get_request_mode (GtkCellRenderer *cell);\";function gtk_cell_renderer_get_request_mode(cell) bind(c)\r\ngtk;gtk_cell_renderer_get_sensitive;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderer.h;\"gboolean gtk_cell_renderer_get_sensitive (GtkCellRenderer *cell);\";function gtk_cell_renderer_get_sensitive(cell) bind(c)\r\ngtk;gtk_cell_renderer_get_state;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderer.h;\"GtkStateFlags gtk_cell_renderer_get_state (GtkCellRenderer *cell, GtkWidget *widget, GtkCellRendererState cell_state);\";function gtk_cell_renderer_get_state(cell, widget, cell_state) bind(c)\r\ngtk;gtk_cell_renderer_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderer.h;\"GType gtk_cell_renderer_get_type (void) ;\";function gtk_cell_renderer_get_type() bind(c)\r\ngtk;gtk_cell_renderer_get_visible;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderer.h;\"gboolean gtk_cell_renderer_get_visible (GtkCellRenderer *cell);\";function gtk_cell_renderer_get_visible(cell) bind(c)\r\ngtk;gtk_cell_renderer_is_activatable;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderer.h;\"gboolean gtk_cell_renderer_is_activatable (GtkCellRenderer *cell);\";function gtk_cell_renderer_is_activatable(cell) bind(c)\r\ngtk;gtk_cell_renderer_pixbuf_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrendererpixbuf.h;\"GType gtk_cell_renderer_pixbuf_get_type (void) ;\";function gtk_cell_renderer_pixbuf_get_type() bind(c)\r\ngtk;gtk_cell_renderer_pixbuf_new;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrendererpixbuf.h;\"GtkCellRenderer *gtk_cell_renderer_pixbuf_new (void);\";function gtk_cell_renderer_pixbuf_new() bind(c)\r\ngtk;gtk_cell_renderer_progress_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrendererprogress.h;\"GType gtk_cell_renderer_progress_get_type (void) ;\";function gtk_cell_renderer_progress_get_type() bind(c)\r\ngtk;gtk_cell_renderer_progress_new;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrendererprogress.h;\"GtkCellRenderer* gtk_cell_renderer_progress_new (void);\";function gtk_cell_renderer_progress_new() bind(c)\r\ngtk;gtk_cell_renderer_set_alignment;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderer.h;\"void gtk_cell_renderer_set_alignment (GtkCellRenderer *cell, float xalign, float yalign);\";subroutine gtk_cell_renderer_set_alignment(cell, xalign, yalign) bind(c)\r\ngtk;gtk_cell_renderer_set_fixed_size;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderer.h;\"void gtk_cell_renderer_set_fixed_size (GtkCellRenderer *cell, int width, int height);\";subroutine gtk_cell_renderer_set_fixed_size(cell, width, height) bind(c)\r\ngtk;gtk_cell_renderer_set_is_expanded;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderer.h;\"void gtk_cell_renderer_set_is_expanded (GtkCellRenderer *cell, gboolean is_expanded);\";subroutine gtk_cell_renderer_set_is_expanded(cell, is_expanded) bind(c)\r\ngtk;gtk_cell_renderer_set_is_expander;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderer.h;\"void gtk_cell_renderer_set_is_expander (GtkCellRenderer *cell, gboolean is_expander);\";subroutine gtk_cell_renderer_set_is_expander(cell, is_expander) bind(c)\r\ngtk;gtk_cell_renderer_set_padding;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderer.h;\"void gtk_cell_renderer_set_padding (GtkCellRenderer *cell, int xpad, int ypad);\";subroutine gtk_cell_renderer_set_padding(cell, xpad, ypad) bind(c)\r\ngtk;gtk_cell_renderer_set_sensitive;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderer.h;\"void gtk_cell_renderer_set_sensitive (GtkCellRenderer *cell, gboolean sensitive);\";subroutine gtk_cell_renderer_set_sensitive(cell, sensitive) bind(c)\r\ngtk;gtk_cell_renderer_set_visible;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderer.h;\"void gtk_cell_renderer_set_visible (GtkCellRenderer *cell, gboolean visible);\";subroutine gtk_cell_renderer_set_visible(cell, visible) bind(c)\r\ngtk;gtk_cell_renderer_snapshot;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderer.h;\"void gtk_cell_renderer_snapshot (GtkCellRenderer *cell, GtkSnapshot *snapshot, GtkWidget *widget, const GdkRectangle *background_area, const GdkRectangle *cell_area, GtkCellRendererState flags);\";subroutine gtk_cell_renderer_snapshot(cell, snapshot, widget, background_area, cell_area, flags) bind(c)\r\ngtk;gtk_cell_renderer_spin_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrendererspin.h;\"GType gtk_cell_renderer_spin_get_type (void);\";function gtk_cell_renderer_spin_get_type() bind(c)\r\ngtk;gtk_cell_renderer_spin_new;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrendererspin.h;\"GtkCellRenderer *gtk_cell_renderer_spin_new (void);\";function gtk_cell_renderer_spin_new() bind(c)\r\ngtk;gtk_cell_renderer_spinner_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrendererspinner.h;\"GType gtk_cell_renderer_spinner_get_type (void) ;\";function gtk_cell_renderer_spinner_get_type() bind(c)\r\ngtk;gtk_cell_renderer_spinner_new;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrendererspinner.h;\"GtkCellRenderer *gtk_cell_renderer_spinner_new (void);\";function gtk_cell_renderer_spinner_new() bind(c)\r\ngtk;gtk_cell_renderer_start_editing;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderer.h;\"GtkCellEditable *gtk_cell_renderer_start_editing (GtkCellRenderer *cell, GdkEvent *event, GtkWidget *widget, const char *path, const GdkRectangle *background_area, const GdkRectangle *cell_area, GtkCellRendererState flags);\";function gtk_cell_renderer_start_editing(cell, event, widget, path, background_area, cell_area, flags) bind(c)\r\ngtk;gtk_cell_renderer_stop_editing;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderer.h;\"void gtk_cell_renderer_stop_editing (GtkCellRenderer *cell, gboolean canceled);\";subroutine gtk_cell_renderer_stop_editing(cell, canceled) bind(c)\r\ngtk;gtk_cell_renderer_text_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderertext.h;\"GType gtk_cell_renderer_text_get_type (void) ;\";function gtk_cell_renderer_text_get_type() bind(c)\r\ngtk;gtk_cell_renderer_text_new;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderertext.h;\"GtkCellRenderer *gtk_cell_renderer_text_new (void);\";function gtk_cell_renderer_text_new() bind(c)\r\ngtk;gtk_cell_renderer_text_set_fixed_height_from_font;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderertext.h;\"void gtk_cell_renderer_text_set_fixed_height_from_font (GtkCellRendererText *renderer, int number_of_rows);\";subroutine gtk_cell_renderer_text_set_fixed_height_from_font(renderer, number_of_rows) bind(c)\r\ngtk;gtk_cell_renderer_toggle_get_activatable;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderertoggle.h;\"gboolean gtk_cell_renderer_toggle_get_activatable (GtkCellRendererToggle *toggle);\";function gtk_cell_renderer_toggle_get_activatable(toggle) bind(c)\r\ngtk;gtk_cell_renderer_toggle_get_active;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderertoggle.h;\"gboolean gtk_cell_renderer_toggle_get_active (GtkCellRendererToggle *toggle);\";function gtk_cell_renderer_toggle_get_active(toggle) bind(c)\r\ngtk;gtk_cell_renderer_toggle_get_radio;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderertoggle.h;\"gboolean gtk_cell_renderer_toggle_get_radio (GtkCellRendererToggle *toggle);\";function gtk_cell_renderer_toggle_get_radio(toggle) bind(c)\r\ngtk;gtk_cell_renderer_toggle_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderertoggle.h;\"GType gtk_cell_renderer_toggle_get_type (void) ;\";function gtk_cell_renderer_toggle_get_type() bind(c)\r\ngtk;gtk_cell_renderer_toggle_new;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderertoggle.h;\"GtkCellRenderer *gtk_cell_renderer_toggle_new (void);\";function gtk_cell_renderer_toggle_new() bind(c)\r\ngtk;gtk_cell_renderer_toggle_set_activatable;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderertoggle.h;\"void gtk_cell_renderer_toggle_set_activatable (GtkCellRendererToggle *toggle, gboolean setting);\";subroutine gtk_cell_renderer_toggle_set_activatable(toggle, setting) bind(c)\r\ngtk;gtk_cell_renderer_toggle_set_active;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderertoggle.h;\"void gtk_cell_renderer_toggle_set_active (GtkCellRendererToggle *toggle, gboolean setting);\";subroutine gtk_cell_renderer_toggle_set_active(toggle, setting) bind(c)\r\ngtk;gtk_cell_renderer_toggle_set_radio;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellrenderertoggle.h;\"void gtk_cell_renderer_toggle_set_radio (GtkCellRendererToggle *toggle, gboolean radio);\";subroutine gtk_cell_renderer_toggle_set_radio(toggle, radio) bind(c)\r\ngtk;gtk_cell_view_get_displayed_row;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellview.h;\"GtkTreePath *gtk_cell_view_get_displayed_row (GtkCellView *cell_view);\";function gtk_cell_view_get_displayed_row(cell_view) bind(c)\r\ngtk;gtk_cell_view_get_draw_sensitive;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellview.h;\"gboolean gtk_cell_view_get_draw_sensitive (GtkCellView *cell_view);\";function gtk_cell_view_get_draw_sensitive(cell_view) bind(c)\r\ngtk;gtk_cell_view_get_fit_model;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellview.h;\"gboolean gtk_cell_view_get_fit_model (GtkCellView *cell_view);\";function gtk_cell_view_get_fit_model(cell_view) bind(c)\r\ngtk;gtk_cell_view_get_model;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellview.h;\"GtkTreeModel *gtk_cell_view_get_model (GtkCellView *cell_view);\";function gtk_cell_view_get_model(cell_view) bind(c)\r\ngtk;gtk_cell_view_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellview.h;\"GType gtk_cell_view_get_type (void) ;\";function gtk_cell_view_get_type() bind(c)\r\ngtk;gtk_cell_view_new;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellview.h;\"GtkWidget *gtk_cell_view_new (void);\";function gtk_cell_view_new() bind(c)\r\ngtk;gtk_cell_view_new_with_context;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellview.h;\"GtkWidget *gtk_cell_view_new_with_context (GtkCellArea *area, GtkCellAreaContext *context);\";function gtk_cell_view_new_with_context(area, context) bind(c)\r\ngtk;gtk_cell_view_new_with_markup;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellview.h;\"GtkWidget *gtk_cell_view_new_with_markup (const char *markup);\";function gtk_cell_view_new_with_markup(markup) bind(c)\r\ngtk;gtk_cell_view_new_with_text;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellview.h;\"GtkWidget *gtk_cell_view_new_with_text (const char *text);\";function gtk_cell_view_new_with_text(text) bind(c)\r\ngtk;gtk_cell_view_new_with_texture;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellview.h;\"GtkWidget *gtk_cell_view_new_with_texture (GdkTexture *texture);\";function gtk_cell_view_new_with_texture(texture) bind(c)\r\ngtk;gtk_cell_view_set_displayed_row;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellview.h;\"void gtk_cell_view_set_displayed_row (GtkCellView *cell_view, GtkTreePath *path);\";subroutine gtk_cell_view_set_displayed_row(cell_view, path) bind(c)\r\ngtk;gtk_cell_view_set_draw_sensitive;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellview.h;\"void gtk_cell_view_set_draw_sensitive (GtkCellView *cell_view, gboolean draw_sensitive);\";subroutine gtk_cell_view_set_draw_sensitive(cell_view, draw_sensitive) bind(c)\r\ngtk;gtk_cell_view_set_fit_model;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellview.h;\"void gtk_cell_view_set_fit_model (GtkCellView *cell_view, gboolean fit_model);\";subroutine gtk_cell_view_set_fit_model(cell_view, fit_model) bind(c)\r\ngtk;gtk_cell_view_set_model;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcellview.h;\"void gtk_cell_view_set_model (GtkCellView *cell_view, GtkTreeModel *model);\";subroutine gtk_cell_view_set_model(cell_view, model) bind(c)\r\ngtk;gtk_center_box_get_baseline_position;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcenterbox.h;\"GtkBaselinePosition gtk_center_box_get_baseline_position (GtkCenterBox *self);\";function gtk_center_box_get_baseline_position(self) bind(c)\r\ngtk;gtk_center_box_get_center_widget;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcenterbox.h;\"GtkWidget * gtk_center_box_get_center_widget (GtkCenterBox *self);\";function gtk_center_box_get_center_widget(self) bind(c)\r\ngtk;gtk_center_box_get_end_widget;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcenterbox.h;\"GtkWidget * gtk_center_box_get_end_widget (GtkCenterBox *self);\";function gtk_center_box_get_end_widget(self) bind(c)\r\ngtk;gtk_center_box_get_shrink_center_last;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcenterbox.h;\"gboolean gtk_center_box_get_shrink_center_last (GtkCenterBox *self);\";function gtk_center_box_get_shrink_center_last(self) bind(c)\r\ngtk;gtk_center_box_get_start_widget;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcenterbox.h;\"GtkWidget * gtk_center_box_get_start_widget (GtkCenterBox *self);\";function gtk_center_box_get_start_widget(self) bind(c)\r\ngtk;gtk_center_box_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcenterbox.h;\"GType gtk_center_box_get_type (void) ;\";function gtk_center_box_get_type() bind(c)\r\ngtk;gtk_center_box_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcenterbox.h;\"GtkWidget *gtk_center_box_new (void);\";function gtk_center_box_new() bind(c)\r\ngtk;gtk_center_box_set_baseline_position;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcenterbox.h;\"void gtk_center_box_set_baseline_position (GtkCenterBox *self, GtkBaselinePosition position);\";subroutine gtk_center_box_set_baseline_position(self, position) bind(c)\r\ngtk;gtk_center_box_set_center_widget;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcenterbox.h;\"void gtk_center_box_set_center_widget (GtkCenterBox *self, GtkWidget *child);\";subroutine gtk_center_box_set_center_widget(self, child) bind(c)\r\ngtk;gtk_center_box_set_end_widget;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcenterbox.h;\"void gtk_center_box_set_end_widget (GtkCenterBox *self, GtkWidget *child);\";subroutine gtk_center_box_set_end_widget(self, child) bind(c)\r\ngtk;gtk_center_box_set_shrink_center_last;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcenterbox.h;\"void gtk_center_box_set_shrink_center_last (GtkCenterBox *self, gboolean shrink_center_last);\";subroutine gtk_center_box_set_shrink_center_last(self, shrink_center_last) bind(c)\r\ngtk;gtk_center_box_set_start_widget;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcenterbox.h;\"void gtk_center_box_set_start_widget (GtkCenterBox *self, GtkWidget *child);\";subroutine gtk_center_box_set_start_widget(self, child) bind(c)\r\ngtk;gtk_center_layout_get_baseline_position;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcenterlayout.h;\"GtkBaselinePosition gtk_center_layout_get_baseline_position (GtkCenterLayout *self);\";function gtk_center_layout_get_baseline_position(self) bind(c)\r\ngtk;gtk_center_layout_get_center_widget;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcenterlayout.h;\"GtkWidget * gtk_center_layout_get_center_widget (GtkCenterLayout *self);\";function gtk_center_layout_get_center_widget(self) bind(c)\r\ngtk;gtk_center_layout_get_end_widget;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcenterlayout.h;\"GtkWidget * gtk_center_layout_get_end_widget (GtkCenterLayout *self);\";function gtk_center_layout_get_end_widget(self) bind(c)\r\ngtk;gtk_center_layout_get_orientation;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcenterlayout.h;\"GtkOrientation gtk_center_layout_get_orientation (GtkCenterLayout *self);\";function gtk_center_layout_get_orientation(self) bind(c)\r\ngtk;gtk_center_layout_get_shrink_center_last;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcenterlayout.h;\"gboolean gtk_center_layout_get_shrink_center_last (GtkCenterLayout *self);\";function gtk_center_layout_get_shrink_center_last(self) bind(c)\r\ngtk;gtk_center_layout_get_start_widget;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcenterlayout.h;\"GtkWidget * gtk_center_layout_get_start_widget (GtkCenterLayout *self);\";function gtk_center_layout_get_start_widget(self) bind(c)\r\ngtk;gtk_center_layout_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcenterlayout.h;\"GtkLayoutManager * gtk_center_layout_new (void);\";function gtk_center_layout_new() bind(c)\r\ngtk;gtk_center_layout_set_baseline_position;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcenterlayout.h;\"void gtk_center_layout_set_baseline_position (GtkCenterLayout *self, GtkBaselinePosition baseline_position);\";subroutine gtk_center_layout_set_baseline_position(self, baseline_position) bind(c)\r\ngtk;gtk_center_layout_set_center_widget;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcenterlayout.h;\"void gtk_center_layout_set_center_widget (GtkCenterLayout *self, GtkWidget *widget);\";subroutine gtk_center_layout_set_center_widget(self, widget) bind(c)\r\ngtk;gtk_center_layout_set_end_widget;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcenterlayout.h;\"void gtk_center_layout_set_end_widget (GtkCenterLayout *self, GtkWidget *widget);\";subroutine gtk_center_layout_set_end_widget(self, widget) bind(c)\r\ngtk;gtk_center_layout_set_orientation;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcenterlayout.h;\"void gtk_center_layout_set_orientation (GtkCenterLayout *self, GtkOrientation orientation);\";subroutine gtk_center_layout_set_orientation(self, orientation) bind(c)\r\ngtk;gtk_center_layout_set_shrink_center_last;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcenterlayout.h;\"void gtk_center_layout_set_shrink_center_last (GtkCenterLayout *self, gboolean shrink_center_last);\";subroutine gtk_center_layout_set_shrink_center_last(self, shrink_center_last) bind(c)\r\ngtk;gtk_center_layout_set_start_widget;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcenterlayout.h;\"void gtk_center_layout_set_start_widget (GtkCenterLayout *self, GtkWidget *widget);\";subroutine gtk_center_layout_set_start_widget(self, widget) bind(c)\r\ngtk;gtk_check_button_get_active;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcheckbutton.h;\"gboolean gtk_check_button_get_active (GtkCheckButton *self);\";function gtk_check_button_get_active(self) bind(c)\r\ngtk;gtk_check_button_get_child;GDK_AVAILABLE_IN_4_8;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcheckbutton.h;\"GtkWidget * gtk_check_button_get_child (GtkCheckButton *button);\";function gtk_check_button_get_child(button) bind(c)\r\ngtk;gtk_check_button_get_inconsistent;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcheckbutton.h;\"gboolean gtk_check_button_get_inconsistent (GtkCheckButton *check_button);\";function gtk_check_button_get_inconsistent(check_button) bind(c)\r\ngtk;gtk_check_button_get_label;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcheckbutton.h;\"const char * gtk_check_button_get_label (GtkCheckButton *self);\";function gtk_check_button_get_label(self) bind(c)\r\ngtk;gtk_check_button_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcheckbutton.h;\"GType gtk_check_button_get_type (void) ;\";function gtk_check_button_get_type() bind(c)\r\ngtk;gtk_check_button_get_use_underline;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcheckbutton.h;\"gboolean gtk_check_button_get_use_underline (GtkCheckButton *self);\";function gtk_check_button_get_use_underline(self) bind(c)\r\ngtk;gtk_check_button_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcheckbutton.h;\"GtkWidget * gtk_check_button_new (void);\";function gtk_check_button_new() bind(c)\r\ngtk;gtk_check_button_new_with_label;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcheckbutton.h;\"GtkWidget * gtk_check_button_new_with_label (const char *label);\";function gtk_check_button_new_with_label(label) bind(c)\r\ngtk;gtk_check_button_new_with_mnemonic;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcheckbutton.h;\"GtkWidget * gtk_check_button_new_with_mnemonic (const char *label);\";function gtk_check_button_new_with_mnemonic(label) bind(c)\r\ngtk;gtk_check_button_set_active;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcheckbutton.h;\"void gtk_check_button_set_active (GtkCheckButton *self, gboolean setting);\";subroutine gtk_check_button_set_active(self, setting) bind(c)\r\ngtk;gtk_check_button_set_child;GDK_AVAILABLE_IN_4_8;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcheckbutton.h;\"void gtk_check_button_set_child (GtkCheckButton *button, GtkWidget *child);\";subroutine gtk_check_button_set_child(button, child) bind(c)\r\ngtk;gtk_check_button_set_group;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcheckbutton.h;\"void gtk_check_button_set_group (GtkCheckButton *self, GtkCheckButton *group);\";subroutine gtk_check_button_set_group(self, group) bind(c)\r\ngtk;gtk_check_button_set_inconsistent;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcheckbutton.h;\"void gtk_check_button_set_inconsistent (GtkCheckButton *check_button, gboolean inconsistent);\";subroutine gtk_check_button_set_inconsistent(check_button, inconsistent) bind(c)\r\ngtk;gtk_check_button_set_label;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcheckbutton.h;\"void gtk_check_button_set_label (GtkCheckButton *self, const char *label);\";subroutine gtk_check_button_set_label(self, label) bind(c)\r\ngtk;gtk_check_button_set_use_underline;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcheckbutton.h;\"void gtk_check_button_set_use_underline (GtkCheckButton *self, gboolean setting);\";subroutine gtk_check_button_set_use_underline(self, setting) bind(c)\r\ngtk;gtk_check_version;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkversion.h;\"const char * gtk_check_version (guint required_major, guint required_minor, guint required_micro);\";function gtk_check_version(required_major, required_minor, required_micro) bind(c)\r\ngtk;gtk_closure_expression_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpression.h;\"GType gtk_closure_expression_get_type (void) ;\";function gtk_closure_expression_get_type() bind(c)\r\ngtk;gtk_closure_expression_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpression.h;\"GtkExpression * gtk_closure_expression_new (GType value_type, GClosure *closure, guint n_params, GtkExpression **params);\";function gtk_closure_expression_new(value_type, closure, n_params, params) bind(c)\r\ngtk;gtk_color_button_get_modal;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcolorbutton.h;\"gboolean gtk_color_button_get_modal (GtkColorButton *button);\";function gtk_color_button_get_modal(button) bind(c)\r\ngtk;gtk_color_button_get_title;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcolorbutton.h;\"const char *gtk_color_button_get_title (GtkColorButton *button);\";function gtk_color_button_get_title(button) bind(c)\r\ngtk;gtk_color_button_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcolorbutton.h;\"GType gtk_color_button_get_type (void) ;\";function gtk_color_button_get_type() bind(c)\r\ngtk;gtk_color_button_new;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcolorbutton.h;\"GtkWidget * gtk_color_button_new (void);\";function gtk_color_button_new() bind(c)\r\ngtk;gtk_color_button_new_with_rgba;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcolorbutton.h;\"GtkWidget * gtk_color_button_new_with_rgba (const GdkRGBA *rgba);\";function gtk_color_button_new_with_rgba(rgba) bind(c)\r\ngtk;gtk_color_button_set_modal;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcolorbutton.h;\"void gtk_color_button_set_modal (GtkColorButton *button, gboolean modal);\";subroutine gtk_color_button_set_modal(button, modal) bind(c)\r\ngtk;gtk_color_button_set_title;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcolorbutton.h;\"void gtk_color_button_set_title (GtkColorButton *button, const char *title);\";subroutine gtk_color_button_set_title(button, title) bind(c)\r\ngtk;gtk_color_chooser_add_palette;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcolorchooser.h;\"void gtk_color_chooser_add_palette (GtkColorChooser *chooser, GtkOrientation orientation, int colors_per_line, int n_colors, GdkRGBA *colors);\";subroutine gtk_color_chooser_add_palette(chooser, orientation, colors_per_line, n_colors, colors) bind(c)\r\ngtk;gtk_color_chooser_dialog_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcolorchooserdialog.h;\"GType gtk_color_chooser_dialog_get_type (void) ;\";function gtk_color_chooser_dialog_get_type() bind(c)\r\ngtk;gtk_color_chooser_dialog_new;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcolorchooserdialog.h;\"GtkWidget * gtk_color_chooser_dialog_new (const char *title, GtkWindow *parent);\";function gtk_color_chooser_dialog_new(title, parent) bind(c)\r\ngtk;gtk_color_chooser_get_rgba;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcolorchooser.h;\"void gtk_color_chooser_get_rgba (GtkColorChooser *chooser, GdkRGBA *color);\";subroutine gtk_color_chooser_get_rgba(chooser, color) bind(c)\r\ngtk;gtk_color_chooser_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcolorchooser.h;\"GType gtk_color_chooser_get_type (void) ;\";function gtk_color_chooser_get_type() bind(c)\r\ngtk;gtk_color_chooser_get_use_alpha;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcolorchooser.h;\"gboolean gtk_color_chooser_get_use_alpha (GtkColorChooser *chooser);\";function gtk_color_chooser_get_use_alpha(chooser) bind(c)\r\ngtk;gtk_color_chooser_set_rgba;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcolorchooser.h;\"void gtk_color_chooser_set_rgba (GtkColorChooser *chooser, const GdkRGBA *color);\";subroutine gtk_color_chooser_set_rgba(chooser, color) bind(c)\r\ngtk;gtk_color_chooser_set_use_alpha;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcolorchooser.h;\"void gtk_color_chooser_set_use_alpha (GtkColorChooser *chooser, gboolean use_alpha);\";subroutine gtk_color_chooser_set_use_alpha(chooser, use_alpha) bind(c)\r\ngtk;gtk_color_chooser_widget_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcolorchooserwidget.h;\"GType gtk_color_chooser_widget_get_type (void) ;\";function gtk_color_chooser_widget_get_type() bind(c)\r\ngtk;gtk_color_chooser_widget_new;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcolorchooserwidget.h;\"GtkWidget * gtk_color_chooser_widget_new (void);\";function gtk_color_chooser_widget_new() bind(c)\r\ngtk;gtk_color_dialog_button_get_dialog;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolordialogbutton.h;\"GtkColorDialog *gtk_color_dialog_button_get_dialog (GtkColorDialogButton *self);\";function gtk_color_dialog_button_get_dialog(self) bind(c)\r\ngtk;gtk_color_dialog_button_get_rgba;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolordialogbutton.h;\"const GdkRGBA * gtk_color_dialog_button_get_rgba (GtkColorDialogButton *self);\";function gtk_color_dialog_button_get_rgba(self) bind(c)\r\ngtk;gtk_color_dialog_button_new;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolordialogbutton.h;\"GtkWidget * gtk_color_dialog_button_new (GtkColorDialog *dialog);\";function gtk_color_dialog_button_new(dialog) bind(c)\r\ngtk;gtk_color_dialog_button_set_dialog;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolordialogbutton.h;\"void gtk_color_dialog_button_set_dialog (GtkColorDialogButton *self, GtkColorDialog *dialog);\";subroutine gtk_color_dialog_button_set_dialog(self, dialog) bind(c)\r\ngtk;gtk_color_dialog_button_set_rgba;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolordialogbutton.h;\"void gtk_color_dialog_button_set_rgba (GtkColorDialogButton *self, const GdkRGBA *color);\";subroutine gtk_color_dialog_button_set_rgba(self, color) bind(c)\r\ngtk;gtk_color_dialog_choose_rgba;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolordialog.h;\"void gtk_color_dialog_choose_rgba (GtkColorDialog *self, GtkWindow *parent, const GdkRGBA *initial_color, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine gtk_color_dialog_choose_rgba(self, parent, initial_color, cancellable, callback, user_data) bind(c)\r\ngtk;gtk_color_dialog_choose_rgba_finish;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolordialog.h;\"GdkRGBA * gtk_color_dialog_choose_rgba_finish (GtkColorDialog *self, GAsyncResult *result, GError **error);\";function gtk_color_dialog_choose_rgba_finish(self, result, error) bind(c)\r\ngtk;gtk_color_dialog_get_modal;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolordialog.h;\"gboolean gtk_color_dialog_get_modal (GtkColorDialog *self);\";function gtk_color_dialog_get_modal(self) bind(c)\r\ngtk;gtk_color_dialog_get_title;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolordialog.h;\"const char * gtk_color_dialog_get_title (GtkColorDialog *self);\";function gtk_color_dialog_get_title(self) bind(c)\r\ngtk;gtk_color_dialog_get_with_alpha;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolordialog.h;\"gboolean gtk_color_dialog_get_with_alpha (GtkColorDialog *self);\";function gtk_color_dialog_get_with_alpha(self) bind(c)\r\ngtk;gtk_color_dialog_new;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolordialog.h;\"GtkColorDialog *gtk_color_dialog_new (void);\";function gtk_color_dialog_new() bind(c)\r\ngtk;gtk_color_dialog_set_modal;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolordialog.h;\"void gtk_color_dialog_set_modal (GtkColorDialog *self, gboolean modal);\";subroutine gtk_color_dialog_set_modal(self, modal) bind(c)\r\ngtk;gtk_color_dialog_set_title;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolordialog.h;\"void gtk_color_dialog_set_title (GtkColorDialog *self, const char *title);\";subroutine gtk_color_dialog_set_title(self, title) bind(c)\r\ngtk;gtk_color_dialog_set_with_alpha;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolordialog.h;\"void gtk_color_dialog_set_with_alpha (GtkColorDialog *self, gboolean with_alpha);\";subroutine gtk_color_dialog_set_with_alpha(self, with_alpha) bind(c)\r\ngtk;gtk_column_view_append_column;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnview.h;\"void gtk_column_view_append_column (GtkColumnView *self, GtkColumnViewColumn *column);\";subroutine gtk_column_view_append_column(self, column) bind(c)\r\ngtk;gtk_column_view_cell_get_child;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewcell.h;\"GtkWidget * gtk_column_view_cell_get_child (GtkColumnViewCell *self);\";function gtk_column_view_cell_get_child(self) bind(c)\r\ngtk;gtk_column_view_cell_get_focusable;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewcell.h;\"gboolean gtk_column_view_cell_get_focusable (GtkColumnViewCell *self) ;\";function gtk_column_view_cell_get_focusable(self) bind(c)\r\ngtk;gtk_column_view_cell_get_item;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewcell.h;\"gpointer gtk_column_view_cell_get_item (GtkColumnViewCell *self);\";function gtk_column_view_cell_get_item(self) bind(c)\r\ngtk;gtk_column_view_cell_get_position;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewcell.h;\"guint gtk_column_view_cell_get_position (GtkColumnViewCell *self) ;\";function gtk_column_view_cell_get_position(self) bind(c)\r\ngtk;gtk_column_view_cell_get_selected;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewcell.h;\"gboolean gtk_column_view_cell_get_selected (GtkColumnViewCell *self) ;\";function gtk_column_view_cell_get_selected(self) bind(c)\r\ngtk;gtk_column_view_cell_set_child;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewcell.h;\"void gtk_column_view_cell_set_child (GtkColumnViewCell *self, GtkWidget *child);\";subroutine gtk_column_view_cell_set_child(self, child) bind(c)\r\ngtk;gtk_column_view_cell_set_focusable;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewcell.h;\"void gtk_column_view_cell_set_focusable (GtkColumnViewCell *self, gboolean focusable);\";subroutine gtk_column_view_cell_set_focusable(self, focusable) bind(c)\r\ngtk;gtk_column_view_column_get_column_view;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewcolumn.h;\"GtkColumnView * gtk_column_view_column_get_column_view (GtkColumnViewColumn *self);\";function gtk_column_view_column_get_column_view(self) bind(c)\r\ngtk;gtk_column_view_column_get_expand;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewcolumn.h;\"gboolean gtk_column_view_column_get_expand (GtkColumnViewColumn *self);\";function gtk_column_view_column_get_expand(self) bind(c)\r\ngtk;gtk_column_view_column_get_factory;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewcolumn.h;\"GtkListItemFactory * gtk_column_view_column_get_factory (GtkColumnViewColumn *self);\";function gtk_column_view_column_get_factory(self) bind(c)\r\ngtk;gtk_column_view_column_get_fixed_width;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewcolumn.h;\"int gtk_column_view_column_get_fixed_width (GtkColumnViewColumn *self);\";function gtk_column_view_column_get_fixed_width(self) bind(c)\r\ngtk;gtk_column_view_column_get_header_menu;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewcolumn.h;\"GMenuModel * gtk_column_view_column_get_header_menu (GtkColumnViewColumn *self);\";function gtk_column_view_column_get_header_menu(self) bind(c)\r\ngtk;gtk_column_view_column_get_id;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewcolumn.h;\"const char * gtk_column_view_column_get_id (GtkColumnViewColumn *self);\";function gtk_column_view_column_get_id(self) bind(c)\r\ngtk;gtk_column_view_column_get_resizable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewcolumn.h;\"gboolean gtk_column_view_column_get_resizable (GtkColumnViewColumn *self);\";function gtk_column_view_column_get_resizable(self) bind(c)\r\ngtk;gtk_column_view_column_get_sorter;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewcolumn.h;\"GtkSorter * gtk_column_view_column_get_sorter (GtkColumnViewColumn *self);\";function gtk_column_view_column_get_sorter(self) bind(c)\r\ngtk;gtk_column_view_column_get_title;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewcolumn.h;\"const char * gtk_column_view_column_get_title (GtkColumnViewColumn *self);\";function gtk_column_view_column_get_title(self) bind(c)\r\ngtk;gtk_column_view_column_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewcolumn.h;\"GType gtk_column_view_column_get_type (void) ;\";function gtk_column_view_column_get_type() bind(c)\r\ngtk;gtk_column_view_column_get_visible;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewcolumn.h;\"gboolean gtk_column_view_column_get_visible (GtkColumnViewColumn *self);\";function gtk_column_view_column_get_visible(self) bind(c)\r\ngtk;gtk_column_view_column_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewcolumn.h;\"GtkColumnViewColumn * gtk_column_view_column_new (const char *title, GtkListItemFactory *factory);\";function gtk_column_view_column_new(title, factory) bind(c)\r\ngtk;gtk_column_view_column_set_expand;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewcolumn.h;\"void gtk_column_view_column_set_expand (GtkColumnViewColumn *self, gboolean expand);\";subroutine gtk_column_view_column_set_expand(self, expand) bind(c)\r\ngtk;gtk_column_view_column_set_factory;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewcolumn.h;\"void gtk_column_view_column_set_factory (GtkColumnViewColumn *self, GtkListItemFactory *factory);\";subroutine gtk_column_view_column_set_factory(self, factory) bind(c)\r\ngtk;gtk_column_view_column_set_fixed_width;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewcolumn.h;\"void gtk_column_view_column_set_fixed_width (GtkColumnViewColumn *self, int fixed_width);\";subroutine gtk_column_view_column_set_fixed_width(self, fixed_width) bind(c)\r\ngtk;gtk_column_view_column_set_header_menu;;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewcolumn.h;\"void gtk_column_view_column_set_header_menu (GtkColumnViewColumn *self, GMenuModel *menu);\";subroutine gtk_column_view_column_set_header_menu(self, menu) bind(c)\r\ngtk;gtk_column_view_column_set_id;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewcolumn.h;\"void gtk_column_view_column_set_id (GtkColumnViewColumn *self, const char *id);\";subroutine gtk_column_view_column_set_id(self, id) bind(c)\r\ngtk;gtk_column_view_column_set_resizable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewcolumn.h;\"void gtk_column_view_column_set_resizable (GtkColumnViewColumn *self, gboolean resizable);\";subroutine gtk_column_view_column_set_resizable(self, resizable) bind(c)\r\ngtk;gtk_column_view_column_set_sorter;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewcolumn.h;\"void gtk_column_view_column_set_sorter (GtkColumnViewColumn *self, GtkSorter *sorter);\";subroutine gtk_column_view_column_set_sorter(self, sorter) bind(c)\r\ngtk;gtk_column_view_column_set_title;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewcolumn.h;\"void gtk_column_view_column_set_title (GtkColumnViewColumn *self, const char *title);\";subroutine gtk_column_view_column_set_title(self, title) bind(c)\r\ngtk;gtk_column_view_column_set_visible;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewcolumn.h;\"void gtk_column_view_column_set_visible (GtkColumnViewColumn *self, gboolean visible);\";subroutine gtk_column_view_column_set_visible(self, visible) bind(c)\r\ngtk;gtk_column_view_get_columns;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnview.h;\"GListModel * gtk_column_view_get_columns (GtkColumnView *self);\";function gtk_column_view_get_columns(self) bind(c)\r\ngtk;gtk_column_view_get_enable_rubberband;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnview.h;\"gboolean gtk_column_view_get_enable_rubberband (GtkColumnView *self);\";function gtk_column_view_get_enable_rubberband(self) bind(c)\r\ngtk;gtk_column_view_get_header_factory;;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnview.h;\"GtkListItemFactory * gtk_column_view_get_header_factory (GtkColumnView *self);\";function gtk_column_view_get_header_factory(self) bind(c)\r\ngtk;gtk_column_view_get_model;;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnview.h;\"GtkSelectionModel * gtk_column_view_get_model (GtkColumnView *self);\";function gtk_column_view_get_model(self) bind(c)\r\ngtk;gtk_column_view_get_reorderable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnview.h;\"gboolean gtk_column_view_get_reorderable (GtkColumnView *self);\";function gtk_column_view_get_reorderable(self) bind(c)\r\ngtk;gtk_column_view_get_row_factory;;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnview.h;\"GtkListItemFactory * gtk_column_view_get_row_factory (GtkColumnView *self);\";function gtk_column_view_get_row_factory(self) bind(c)\r\ngtk;gtk_column_view_get_show_column_separators;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnview.h;\"gboolean gtk_column_view_get_show_column_separators (GtkColumnView *self);\";function gtk_column_view_get_show_column_separators(self) bind(c)\r\ngtk;gtk_column_view_get_show_row_separators;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnview.h;\"gboolean gtk_column_view_get_show_row_separators (GtkColumnView *self);\";function gtk_column_view_get_show_row_separators(self) bind(c)\r\ngtk;gtk_column_view_get_single_click_activate;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnview.h;\"gboolean gtk_column_view_get_single_click_activate (GtkColumnView *self);\";function gtk_column_view_get_single_click_activate(self) bind(c)\r\ngtk;gtk_column_view_get_sorter;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnview.h;\"GtkSorter * gtk_column_view_get_sorter (GtkColumnView *self);\";function gtk_column_view_get_sorter(self) bind(c)\r\ngtk;gtk_column_view_get_tab_behavior;;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnview.h;\"GtkListTabBehavior gtk_column_view_get_tab_behavior (GtkColumnView *self);\";function gtk_column_view_get_tab_behavior(self) bind(c)\r\ngtk;gtk_column_view_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnview.h;\"GType gtk_column_view_get_type (void) ;\";function gtk_column_view_get_type() bind(c)\r\ngtk;gtk_column_view_insert_column;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnview.h;\"void gtk_column_view_insert_column (GtkColumnView *self, guint position, GtkColumnViewColumn *column);\";subroutine gtk_column_view_insert_column(self, position, column) bind(c)\r\ngtk;gtk_column_view_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnview.h;\"GtkWidget * gtk_column_view_new (GtkSelectionModel *model);\";function gtk_column_view_new(model) bind(c)\r\ngtk;gtk_column_view_remove_column;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnview.h;\"void gtk_column_view_remove_column (GtkColumnView *self, GtkColumnViewColumn *column);\";subroutine gtk_column_view_remove_column(self, column) bind(c)\r\ngtk;gtk_column_view_row_get_accessible_description;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewrow.h;\"const char * gtk_column_view_row_get_accessible_description (GtkColumnViewRow *self);\";function gtk_column_view_row_get_accessible_description(self) bind(c)\r\ngtk;gtk_column_view_row_get_accessible_label;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewrow.h;\"const char * gtk_column_view_row_get_accessible_label (GtkColumnViewRow *self);\";function gtk_column_view_row_get_accessible_label(self) bind(c)\r\ngtk;gtk_column_view_row_get_activatable;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewrow.h;\"gboolean gtk_column_view_row_get_activatable (GtkColumnViewRow *self) ;\";function gtk_column_view_row_get_activatable(self) bind(c)\r\ngtk;gtk_column_view_row_get_focusable;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewrow.h;\"gboolean gtk_column_view_row_get_focusable (GtkColumnViewRow *self) ;\";function gtk_column_view_row_get_focusable(self) bind(c)\r\ngtk;gtk_column_view_row_get_item;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewrow.h;\"gpointer gtk_column_view_row_get_item (GtkColumnViewRow *self);\";function gtk_column_view_row_get_item(self) bind(c)\r\ngtk;gtk_column_view_row_get_position;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewrow.h;\"guint gtk_column_view_row_get_position (GtkColumnViewRow *self) ;\";function gtk_column_view_row_get_position(self) bind(c)\r\ngtk;gtk_column_view_row_get_selectable;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewrow.h;\"gboolean gtk_column_view_row_get_selectable (GtkColumnViewRow *self) ;\";function gtk_column_view_row_get_selectable(self) bind(c)\r\ngtk;gtk_column_view_row_get_selected;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewrow.h;\"gboolean gtk_column_view_row_get_selected (GtkColumnViewRow *self) ;\";function gtk_column_view_row_get_selected(self) bind(c)\r\ngtk;gtk_column_view_row_set_accessible_description;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewrow.h;\"void gtk_column_view_row_set_accessible_description (GtkColumnViewRow *self, const char *description);\";subroutine gtk_column_view_row_set_accessible_description(self, description) bind(c)\r\ngtk;gtk_column_view_row_set_accessible_label;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewrow.h;\"void gtk_column_view_row_set_accessible_label (GtkColumnViewRow *self, const char *label);\";subroutine gtk_column_view_row_set_accessible_label(self, label) bind(c)\r\ngtk;gtk_column_view_row_set_activatable;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewrow.h;\"void gtk_column_view_row_set_activatable (GtkColumnViewRow *self, gboolean activatable);\";subroutine gtk_column_view_row_set_activatable(self, activatable) bind(c)\r\ngtk;gtk_column_view_row_set_focusable;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewrow.h;\"void gtk_column_view_row_set_focusable (GtkColumnViewRow *self, gboolean focusable);\";subroutine gtk_column_view_row_set_focusable(self, focusable) bind(c)\r\ngtk;gtk_column_view_row_set_selectable;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewrow.h;\"void gtk_column_view_row_set_selectable (GtkColumnViewRow *self, gboolean selectable);\";subroutine gtk_column_view_row_set_selectable(self, selectable) bind(c)\r\ngtk;gtk_column_view_scroll_to;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnview.h;\"void gtk_column_view_scroll_to (GtkColumnView *self, guint pos, GtkColumnViewColumn *column, GtkListScrollFlags flags, GtkScrollInfo *scroll);\";subroutine gtk_column_view_scroll_to(self, pos, column, flags, scroll) bind(c)\r\ngtk;gtk_column_view_set_enable_rubberband;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnview.h;\"void gtk_column_view_set_enable_rubberband (GtkColumnView *self, gboolean enable_rubberband);\";subroutine gtk_column_view_set_enable_rubberband(self, enable_rubberband) bind(c)\r\ngtk;gtk_column_view_set_header_factory;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnview.h;\"void gtk_column_view_set_header_factory (GtkColumnView *self, GtkListItemFactory *factory);\";subroutine gtk_column_view_set_header_factory(self, factory) bind(c)\r\ngtk;gtk_column_view_set_model;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnview.h;\"void gtk_column_view_set_model (GtkColumnView *self, GtkSelectionModel *model);\";subroutine gtk_column_view_set_model(self, model) bind(c)\r\ngtk;gtk_column_view_set_reorderable;;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnview.h;\"void gtk_column_view_set_reorderable (GtkColumnView *self, gboolean reorderable);\";subroutine gtk_column_view_set_reorderable(self, reorderable) bind(c)\r\ngtk;gtk_column_view_set_row_factory;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnview.h;\"void gtk_column_view_set_row_factory (GtkColumnView *self, GtkListItemFactory *factory);\";subroutine gtk_column_view_set_row_factory(self, factory) bind(c)\r\ngtk;gtk_column_view_set_show_column_separators;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnview.h;\"void gtk_column_view_set_show_column_separators (GtkColumnView *self, gboolean show_column_separators);\";subroutine gtk_column_view_set_show_column_separators(self, show_column_separators) bind(c)\r\ngtk;gtk_column_view_set_show_row_separators;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnview.h;\"void gtk_column_view_set_show_row_separators (GtkColumnView *self, gboolean show_row_separators);\";subroutine gtk_column_view_set_show_row_separators(self, show_row_separators) bind(c)\r\ngtk;gtk_column_view_set_single_click_activate;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnview.h;\"void gtk_column_view_set_single_click_activate (GtkColumnView *self, gboolean single_click_activate);\";subroutine gtk_column_view_set_single_click_activate(self, single_click_activate) bind(c)\r\ngtk;gtk_column_view_set_tab_behavior;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnview.h;\"void gtk_column_view_set_tab_behavior (GtkColumnView *self, GtkListTabBehavior tab_behavior);\";subroutine gtk_column_view_set_tab_behavior(self, tab_behavior) bind(c)\r\ngtk;gtk_column_view_sort_by_column;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnview.h;\"void gtk_column_view_sort_by_column (GtkColumnView *self, GtkColumnViewColumn *column, GtkSortType direction);\";subroutine gtk_column_view_sort_by_column(self, column, direction) bind(c)\r\ngtk;gtk_column_view_sorter_get_n_sort_columns;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewsorter.h;\"guint gtk_column_view_sorter_get_n_sort_columns (GtkColumnViewSorter *self);\";function gtk_column_view_sorter_get_n_sort_columns(self) bind(c)\r\ngtk;gtk_column_view_sorter_get_nth_sort_column;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewsorter.h;\"GtkColumnViewColumn * gtk_column_view_sorter_get_nth_sort_column (GtkColumnViewSorter *self, guint position, GtkSortType *sort_order);\";function gtk_column_view_sorter_get_nth_sort_column(self, position, sort_order) bind(c)\r\ngtk;gtk_column_view_sorter_get_primary_sort_column;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewsorter.h;\"GtkColumnViewColumn * gtk_column_view_sorter_get_primary_sort_column (GtkColumnViewSorter *self);\";function gtk_column_view_sorter_get_primary_sort_column(self) bind(c)\r\ngtk;gtk_column_view_sorter_get_primary_sort_order;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolumnviewsorter.h;\"GtkSortType gtk_column_view_sorter_get_primary_sort_order (GtkColumnViewSorter *self);\";function gtk_column_view_sorter_get_primary_sort_order(self) bind(c)\r\ngtk;gtk_combo_box_get_active;GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcombobox.h;\"int gtk_combo_box_get_active (GtkComboBox *combo_box);\";function gtk_combo_box_get_active(combo_box) bind(c)\r\ngtk;gtk_combo_box_get_active_id;GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcombobox.h;\"const char * gtk_combo_box_get_active_id (GtkComboBox *combo_box);\";function gtk_combo_box_get_active_id(combo_box) bind(c)\r\ngtk;gtk_combo_box_get_active_iter;GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcombobox.h;\"gboolean gtk_combo_box_get_active_iter (GtkComboBox *combo_box, GtkTreeIter *iter);\";function gtk_combo_box_get_active_iter(combo_box, iter) bind(c)\r\ngtk;gtk_combo_box_get_button_sensitivity;GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcombobox.h;\"GtkSensitivityType gtk_combo_box_get_button_sensitivity (GtkComboBox *combo_box);\";function gtk_combo_box_get_button_sensitivity(combo_box) bind(c)\r\ngtk;gtk_combo_box_get_child;GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcombobox.h;\"GtkWidget * gtk_combo_box_get_child (GtkComboBox *combo_box);\";function gtk_combo_box_get_child(combo_box) bind(c)\r\ngtk;gtk_combo_box_get_entry_text_column;GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcombobox.h;\"int gtk_combo_box_get_entry_text_column (GtkComboBox *combo_box);\";function gtk_combo_box_get_entry_text_column(combo_box) bind(c)\r\ngtk;gtk_combo_box_get_has_entry;GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcombobox.h;\"gboolean gtk_combo_box_get_has_entry (GtkComboBox *combo_box);\";function gtk_combo_box_get_has_entry(combo_box) bind(c)\r\ngtk;gtk_combo_box_get_id_column;GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcombobox.h;\"int gtk_combo_box_get_id_column (GtkComboBox *combo_box);\";function gtk_combo_box_get_id_column(combo_box) bind(c)\r\ngtk;gtk_combo_box_get_model;GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcombobox.h;\"GtkTreeModel *gtk_combo_box_get_model (GtkComboBox *combo_box);\";function gtk_combo_box_get_model(combo_box) bind(c)\r\ngtk;gtk_combo_box_get_popup_fixed_width;GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcombobox.h;\"gboolean gtk_combo_box_get_popup_fixed_width (GtkComboBox *combo_box);\";function gtk_combo_box_get_popup_fixed_width(combo_box) bind(c)\r\ngtk;gtk_combo_box_get_row_separator_func;GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcombobox.h;\"GtkTreeViewRowSeparatorFunc gtk_combo_box_get_row_separator_func (GtkComboBox *combo_box);\";function gtk_combo_box_get_row_separator_func(combo_box) bind(c)\r\ngtk;gtk_combo_box_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcombobox.h;\"GType gtk_combo_box_get_type (void) ;\";function gtk_combo_box_get_type() bind(c)\r\ngtk;gtk_combo_box_new;GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcombobox.h;\"GtkWidget *gtk_combo_box_new (void);\";function gtk_combo_box_new() bind(c)\r\ngtk;gtk_combo_box_new_with_entry;GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcombobox.h;\"GtkWidget *gtk_combo_box_new_with_entry (void);\";function gtk_combo_box_new_with_entry() bind(c)\r\ngtk;gtk_combo_box_new_with_model;GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcombobox.h;\"GtkWidget *gtk_combo_box_new_with_model (GtkTreeModel *model);\";function gtk_combo_box_new_with_model(model) bind(c)\r\ngtk;gtk_combo_box_new_with_model_and_entry;GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcombobox.h;\"GtkWidget *gtk_combo_box_new_with_model_and_entry (GtkTreeModel *model);\";function gtk_combo_box_new_with_model_and_entry(model) bind(c)\r\ngtk;gtk_combo_box_popdown;GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcombobox.h;\"void gtk_combo_box_popdown (GtkComboBox *combo_box);\";subroutine gtk_combo_box_popdown(combo_box) bind(c)\r\ngtk;gtk_combo_box_popup;GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcombobox.h;\"void gtk_combo_box_popup (GtkComboBox *combo_box);\";subroutine gtk_combo_box_popup(combo_box) bind(c)\r\ngtk;gtk_combo_box_popup_for_device;GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcombobox.h;\"void gtk_combo_box_popup_for_device (GtkComboBox *combo_box, GdkDevice *device);\";subroutine gtk_combo_box_popup_for_device(combo_box, device) bind(c)\r\ngtk;gtk_combo_box_set_active;GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcombobox.h;\"void gtk_combo_box_set_active (GtkComboBox *combo_box, int index_);\";subroutine gtk_combo_box_set_active(combo_box, index_) bind(c)\r\ngtk;gtk_combo_box_set_active_id;GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcombobox.h;\"gboolean gtk_combo_box_set_active_id (GtkComboBox *combo_box, const char *active_id);\";function gtk_combo_box_set_active_id(combo_box, active_id) bind(c)\r\ngtk;gtk_combo_box_set_active_iter;GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcombobox.h;\"void gtk_combo_box_set_active_iter (GtkComboBox *combo_box, GtkTreeIter *iter);\";subroutine gtk_combo_box_set_active_iter(combo_box, iter) bind(c)\r\ngtk;gtk_combo_box_set_button_sensitivity;GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcombobox.h;\"void gtk_combo_box_set_button_sensitivity (GtkComboBox *combo_box, GtkSensitivityType sensitivity);\";subroutine gtk_combo_box_set_button_sensitivity(combo_box, sensitivity) bind(c)\r\ngtk;gtk_combo_box_set_child;GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcombobox.h;\"void gtk_combo_box_set_child (GtkComboBox *combo_box, GtkWidget *child);\";subroutine gtk_combo_box_set_child(combo_box, child) bind(c)\r\ngtk;gtk_combo_box_set_entry_text_column;GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcombobox.h;\"void gtk_combo_box_set_entry_text_column (GtkComboBox *combo_box, int text_column);\";subroutine gtk_combo_box_set_entry_text_column(combo_box, text_column) bind(c)\r\ngtk;gtk_combo_box_set_id_column;GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcombobox.h;\"void gtk_combo_box_set_id_column (GtkComboBox *combo_box, int id_column);\";subroutine gtk_combo_box_set_id_column(combo_box, id_column) bind(c)\r\ngtk;gtk_combo_box_set_model;GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcombobox.h;\"void gtk_combo_box_set_model (GtkComboBox *combo_box, GtkTreeModel *model);\";subroutine gtk_combo_box_set_model(combo_box, model) bind(c)\r\ngtk;gtk_combo_box_set_popup_fixed_width;GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcombobox.h;\"void gtk_combo_box_set_popup_fixed_width (GtkComboBox *combo_box, gboolean fixed);\";subroutine gtk_combo_box_set_popup_fixed_width(combo_box, fixed) bind(c)\r\ngtk;gtk_combo_box_set_row_separator_func;GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcombobox.h;\"void gtk_combo_box_set_row_separator_func (GtkComboBox *combo_box, GtkTreeViewRowSeparatorFunc func, gpointer data, GDestroyNotify destroy);\";subroutine gtk_combo_box_set_row_separator_func(combo_box, func, data, destroy) bind(c)\r\ngtk;gtk_combo_box_text_append;GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown and GtkStringList);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcomboboxtext.h;\"void gtk_combo_box_text_append (GtkComboBoxText *combo_box, const char *id, const char *text);\";subroutine gtk_combo_box_text_append(combo_box, id, text) bind(c)\r\ngtk;gtk_combo_box_text_append_text;GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown and GtkStringList);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcomboboxtext.h;\"void gtk_combo_box_text_append_text (GtkComboBoxText *combo_box, const char *text);\";subroutine gtk_combo_box_text_append_text(combo_box, text) bind(c)\r\ngtk;gtk_combo_box_text_get_active_text;GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown and GtkStringList);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcomboboxtext.h;\"char *gtk_combo_box_text_get_active_text (GtkComboBoxText *combo_box);\";function gtk_combo_box_text_get_active_text(combo_box) bind(c)\r\ngtk;gtk_combo_box_text_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcomboboxtext.h;\"GType gtk_combo_box_text_get_type (void) ;\";function gtk_combo_box_text_get_type() bind(c)\r\ngtk;gtk_combo_box_text_insert;GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown and GtkStringList);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcomboboxtext.h;\"void gtk_combo_box_text_insert (GtkComboBoxText *combo_box, int position, const char *id, const char *text);\";subroutine gtk_combo_box_text_insert(combo_box, position, id, text) bind(c)\r\ngtk;gtk_combo_box_text_insert_text;GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown and GtkStringList);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcomboboxtext.h;\"void gtk_combo_box_text_insert_text (GtkComboBoxText *combo_box, int position, const char *text);\";subroutine gtk_combo_box_text_insert_text(combo_box, position, text) bind(c)\r\ngtk;gtk_combo_box_text_new;GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown and GtkStringList);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcomboboxtext.h;\"GtkWidget* gtk_combo_box_text_new (void);\";function gtk_combo_box_text_new() bind(c)\r\ngtk;gtk_combo_box_text_new_with_entry;GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown and GtkStringList);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcomboboxtext.h;\"GtkWidget* gtk_combo_box_text_new_with_entry (void);\";function gtk_combo_box_text_new_with_entry() bind(c)\r\ngtk;gtk_combo_box_text_prepend;GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown and GtkStringList);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcomboboxtext.h;\"void gtk_combo_box_text_prepend (GtkComboBoxText *combo_box, const char *id, const char *text);\";subroutine gtk_combo_box_text_prepend(combo_box, id, text) bind(c)\r\ngtk;gtk_combo_box_text_prepend_text;GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown and GtkStringList);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcomboboxtext.h;\"void gtk_combo_box_text_prepend_text (GtkComboBoxText *combo_box, const char *text);\";subroutine gtk_combo_box_text_prepend_text(combo_box, text) bind(c)\r\ngtk;gtk_combo_box_text_remove;GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown and GtkStringList);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcomboboxtext.h;\"void gtk_combo_box_text_remove (GtkComboBoxText *combo_box, int position);\";subroutine gtk_combo_box_text_remove(combo_box, position) bind(c)\r\ngtk;gtk_combo_box_text_remove_all;GDK_DEPRECATED_IN_4_10_FOR(GtkDropDown and GtkStringList);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkcomboboxtext.h;\"void gtk_combo_box_text_remove_all (GtkComboBoxText *combo_box);\";subroutine gtk_combo_box_text_remove_all(combo_box) bind(c)\r\ngtk;gtk_constant_expression_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpression.h;\"GType gtk_constant_expression_get_type (void) ;\";function gtk_constant_expression_get_type() bind(c)\r\ngtk;gtk_constant_expression_get_value;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpression.h;\"const GValue * gtk_constant_expression_get_value (GtkExpression *expression);\";function gtk_constant_expression_get_value(expression) bind(c)\r\ngtk;gtk_constant_expression_new_for_value;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpression.h;\"GtkExpression * gtk_constant_expression_new_for_value (const GValue *value);\";function gtk_constant_expression_new_for_value(value) bind(c)\r\ngtk;gtk_constraint_get_constant;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkconstraint.h;\"double gtk_constraint_get_constant (GtkConstraint *constraint);\";function gtk_constraint_get_constant(constraint) bind(c)\r\ngtk;gtk_constraint_get_multiplier;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkconstraint.h;\"double gtk_constraint_get_multiplier (GtkConstraint *constraint);\";function gtk_constraint_get_multiplier(constraint) bind(c)\r\ngtk;gtk_constraint_get_relation;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkconstraint.h;\"GtkConstraintRelation gtk_constraint_get_relation (GtkConstraint *constraint);\";function gtk_constraint_get_relation(constraint) bind(c)\r\ngtk;gtk_constraint_get_source;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkconstraint.h;\"GtkConstraintTarget * gtk_constraint_get_source (GtkConstraint *constraint);\";function gtk_constraint_get_source(constraint) bind(c)\r\ngtk;gtk_constraint_get_source_attribute;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkconstraint.h;\"GtkConstraintAttribute gtk_constraint_get_source_attribute (GtkConstraint *constraint);\";function gtk_constraint_get_source_attribute(constraint) bind(c)\r\ngtk;gtk_constraint_get_strength;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkconstraint.h;\"int gtk_constraint_get_strength (GtkConstraint *constraint);\";function gtk_constraint_get_strength(constraint) bind(c)\r\ngtk;gtk_constraint_get_target;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkconstraint.h;\"GtkConstraintTarget * gtk_constraint_get_target (GtkConstraint *constraint);\";function gtk_constraint_get_target(constraint) bind(c)\r\ngtk;gtk_constraint_get_target_attribute;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkconstraint.h;\"GtkConstraintAttribute gtk_constraint_get_target_attribute (GtkConstraint *constraint);\";function gtk_constraint_get_target_attribute(constraint) bind(c)\r\ngtk;gtk_constraint_guide_get_max_size;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkconstraintguide.h;\"void gtk_constraint_guide_get_max_size (GtkConstraintGuide *guide, int *width, int *height);\";subroutine gtk_constraint_guide_get_max_size(guide, width, height) bind(c)\r\ngtk;gtk_constraint_guide_get_min_size;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkconstraintguide.h;\"void gtk_constraint_guide_get_min_size (GtkConstraintGuide *guide, int *width, int *height);\";subroutine gtk_constraint_guide_get_min_size(guide, width, height) bind(c)\r\ngtk;gtk_constraint_guide_get_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkconstraintguide.h;\"const char * gtk_constraint_guide_get_name (GtkConstraintGuide *guide);\";function gtk_constraint_guide_get_name(guide) bind(c)\r\ngtk;gtk_constraint_guide_get_nat_size;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkconstraintguide.h;\"void gtk_constraint_guide_get_nat_size (GtkConstraintGuide *guide, int *width, int *height);\";subroutine gtk_constraint_guide_get_nat_size(guide, width, height) bind(c)\r\ngtk;gtk_constraint_guide_get_strength;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkconstraintguide.h;\"GtkConstraintStrength gtk_constraint_guide_get_strength (GtkConstraintGuide *guide);\";function gtk_constraint_guide_get_strength(guide) bind(c)\r\ngtk;gtk_constraint_guide_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkconstraintguide.h;\"GtkConstraintGuide * gtk_constraint_guide_new (void);\";function gtk_constraint_guide_new() bind(c)\r\ngtk;gtk_constraint_guide_set_max_size;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkconstraintguide.h;\"void gtk_constraint_guide_set_max_size (GtkConstraintGuide *guide, int width, int height);\";subroutine gtk_constraint_guide_set_max_size(guide, width, height) bind(c)\r\ngtk;gtk_constraint_guide_set_min_size;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkconstraintguide.h;\"void gtk_constraint_guide_set_min_size (GtkConstraintGuide *guide, int width, int height);\";subroutine gtk_constraint_guide_set_min_size(guide, width, height) bind(c)\r\ngtk;gtk_constraint_guide_set_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkconstraintguide.h;\"void gtk_constraint_guide_set_name (GtkConstraintGuide *guide, const char *name);\";subroutine gtk_constraint_guide_set_name(guide, name) bind(c)\r\ngtk;gtk_constraint_guide_set_nat_size;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkconstraintguide.h;\"void gtk_constraint_guide_set_nat_size (GtkConstraintGuide *guide, int width, int height);\";subroutine gtk_constraint_guide_set_nat_size(guide, width, height) bind(c)\r\ngtk;gtk_constraint_guide_set_strength;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkconstraintguide.h;\"void gtk_constraint_guide_set_strength (GtkConstraintGuide *guide, GtkConstraintStrength strength);\";subroutine gtk_constraint_guide_set_strength(guide, strength) bind(c)\r\ngtk;gtk_constraint_is_attached;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkconstraint.h;\"gboolean gtk_constraint_is_attached (GtkConstraint *constraint);\";function gtk_constraint_is_attached(constraint) bind(c)\r\ngtk;gtk_constraint_is_constant;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkconstraint.h;\"gboolean gtk_constraint_is_constant (GtkConstraint *constraint);\";function gtk_constraint_is_constant(constraint) bind(c)\r\ngtk;gtk_constraint_is_required;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkconstraint.h;\"gboolean gtk_constraint_is_required (GtkConstraint *constraint);\";function gtk_constraint_is_required(constraint) bind(c)\r\ngtk;gtk_constraint_layout_add_constraint;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkconstraintlayout.h;\"void gtk_constraint_layout_add_constraint (GtkConstraintLayout *layout, GtkConstraint *constraint);\";subroutine gtk_constraint_layout_add_constraint(layout, constraint) bind(c)\r\ngtk;gtk_constraint_layout_add_constraints_from_descriptionv;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkconstraintlayout.h;\"GList * gtk_constraint_layout_add_constraints_from_descriptionv (GtkConstraintLayout *layout, const char * const lines[], gsize n_lines, int hspacing, int vspacing, GHashTable *views, GError **error);\";function gtk_constraint_layout_add_constraints_from_descriptionv(layout, lines, n_lines, hspacing, vspacing, views, error) bind(c)\r\ngtk;gtk_constraint_layout_add_guide;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkconstraintlayout.h;\"void gtk_constraint_layout_add_guide (GtkConstraintLayout *layout, GtkConstraintGuide *guide);\";subroutine gtk_constraint_layout_add_guide(layout, guide) bind(c)\r\ngtk;gtk_constraint_layout_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkconstraintlayout.h;\"GtkLayoutManager * gtk_constraint_layout_new (void);\";function gtk_constraint_layout_new() bind(c)\r\ngtk;gtk_constraint_layout_observe_constraints;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkconstraintlayout.h;\"GListModel * gtk_constraint_layout_observe_constraints (GtkConstraintLayout *layout);\";function gtk_constraint_layout_observe_constraints(layout) bind(c)\r\ngtk;gtk_constraint_layout_observe_guides;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkconstraintlayout.h;\"GListModel * gtk_constraint_layout_observe_guides (GtkConstraintLayout *layout);\";function gtk_constraint_layout_observe_guides(layout) bind(c)\r\ngtk;gtk_constraint_layout_remove_all_constraints;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkconstraintlayout.h;\"void gtk_constraint_layout_remove_all_constraints (GtkConstraintLayout *layout);\";subroutine gtk_constraint_layout_remove_all_constraints(layout) bind(c)\r\ngtk;gtk_constraint_layout_remove_constraint;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkconstraintlayout.h;\"void gtk_constraint_layout_remove_constraint (GtkConstraintLayout *layout, GtkConstraint *constraint);\";subroutine gtk_constraint_layout_remove_constraint(layout, constraint) bind(c)\r\ngtk;gtk_constraint_layout_remove_guide;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkconstraintlayout.h;\"void gtk_constraint_layout_remove_guide (GtkConstraintLayout *layout, GtkConstraintGuide *guide);\";subroutine gtk_constraint_layout_remove_guide(layout, guide) bind(c)\r\ngtk;gtk_constraint_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkconstraint.h;\"GtkConstraint * gtk_constraint_new (gpointer target, GtkConstraintAttribute target_attribute, GtkConstraintRelation relation, gpointer source, GtkConstraintAttribute source_attribute, double multiplier, double constant, int strength);\";function gtk_constraint_new(target, target_attribute, relation, source, source_attribute, multiplier, constant, strength) bind(c)\r\ngtk;gtk_constraint_new_constant;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkconstraint.h;\"GtkConstraint * gtk_constraint_new_constant (gpointer target, GtkConstraintAttribute target_attribute, GtkConstraintRelation relation, double constant, int strength);\";function gtk_constraint_new_constant(target, target_attribute, relation, constant, strength) bind(c)\r\ngtk;gtk_constraint_vfl_parser_error_quark;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkconstraintlayout.h;\"GQuark gtk_constraint_vfl_parser_error_quark (void);\";function gtk_constraint_vfl_parser_error_quark() bind(c)\r\ngtk;gtk_css_parser_error_quark;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/css/gtkcsserror.h;\"GQuark gtk_css_parser_error_quark (void);\";function gtk_css_parser_error_quark() bind(c)\r\ngtk;gtk_css_parser_warning_quark;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/css/gtkcsserror.h;\"GQuark gtk_css_parser_warning_quark (void);\";function gtk_css_parser_warning_quark() bind(c)\r\ngtk;gtk_css_provider_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcssprovider.h;\"GType gtk_css_provider_get_type (void) ;\";function gtk_css_provider_get_type() bind(c)\r\ngtk;gtk_css_provider_load_from_bytes;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcssprovider.h;\"void gtk_css_provider_load_from_bytes (GtkCssProvider *css_provider, GBytes *data);\";subroutine gtk_css_provider_load_from_bytes(css_provider, data) bind(c)\r\ngtk;gtk_css_provider_load_from_data;GDK_DEPRECATED_IN_4_12_FOR(gtk_css_provider_load_from_string);gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcssprovider.h;\"void gtk_css_provider_load_from_data (GtkCssProvider *css_provider, const char *data, gssize length);\";subroutine gtk_css_provider_load_from_data(css_provider, data, length) bind(c)\r\ngtk;gtk_css_provider_load_from_file;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcssprovider.h;\"void gtk_css_provider_load_from_file (GtkCssProvider *css_provider, GFile *file);\";subroutine gtk_css_provider_load_from_file(css_provider, file) bind(c)\r\ngtk;gtk_css_provider_load_from_path;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcssprovider.h;\"void gtk_css_provider_load_from_path (GtkCssProvider *css_provider, const char *path);\";subroutine gtk_css_provider_load_from_path(css_provider, path) bind(c)\r\ngtk;gtk_css_provider_load_from_resource;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcssprovider.h;\"void gtk_css_provider_load_from_resource (GtkCssProvider *css_provider, const char *resource_path);\";subroutine gtk_css_provider_load_from_resource(css_provider, resource_path) bind(c)\r\ngtk;gtk_css_provider_load_from_string;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcssprovider.h;\"void gtk_css_provider_load_from_string (GtkCssProvider *css_provider, const char *string);\";subroutine gtk_css_provider_load_from_string(css_provider, string) bind(c)\r\ngtk;gtk_css_provider_load_named;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcssprovider.h;\"void gtk_css_provider_load_named (GtkCssProvider *provider, const char *name, const char *variant);\";subroutine gtk_css_provider_load_named(provider, name, variant) bind(c)\r\ngtk;gtk_css_provider_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcssprovider.h;\"GtkCssProvider * gtk_css_provider_new (void);\";function gtk_css_provider_new() bind(c)\r\ngtk;gtk_css_provider_to_string;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcssprovider.h;\"char * gtk_css_provider_to_string (GtkCssProvider *provider);\";function gtk_css_provider_to_string(provider) bind(c)\r\ngtk;gtk_css_section_get_bytes;GDK_AVAILABLE_IN_4_16;gtk-auto.in;/usr/include/gtk-4.0/gtk/css/gtkcsssection.h;\"GBytes * gtk_css_section_get_bytes (const GtkCssSection *section);\";function gtk_css_section_get_bytes(section) bind(c)\r\ngtk;gtk_css_section_get_end_location;;gtk-auto.in;/usr/include/gtk-4.0/gtk/css/gtkcsssection.h;\"const GtkCssLocation * gtk_css_section_get_end_location (const GtkCssSection *section);\";function gtk_css_section_get_end_location(section) bind(c)\r\ngtk;gtk_css_section_get_file;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/css/gtkcsssection.h;\"GFile * gtk_css_section_get_file (const GtkCssSection *section);\";function gtk_css_section_get_file(section) bind(c)\r\ngtk;gtk_css_section_get_parent;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/css/gtkcsssection.h;\"GtkCssSection * gtk_css_section_get_parent (const GtkCssSection *section);\";function gtk_css_section_get_parent(section) bind(c)\r\ngtk;gtk_css_section_get_start_location;;gtk-auto.in;/usr/include/gtk-4.0/gtk/css/gtkcsssection.h;\"const GtkCssLocation * gtk_css_section_get_start_location (const GtkCssSection *section);\";function gtk_css_section_get_start_location(section) bind(c)\r\ngtk;gtk_css_section_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/css/gtkcsssection.h;\"GType gtk_css_section_get_type (void) ;\";function gtk_css_section_get_type() bind(c)\r\ngtk;gtk_css_section_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/css/gtkcsssection.h;\"GtkCssSection * gtk_css_section_new (GFile *file, const GtkCssLocation *start, const GtkCssLocation *end);\";function gtk_css_section_new(file, start, end) bind(c)\r\ngtk;gtk_css_section_new_with_bytes;GDK_AVAILABLE_IN_4_16;gtk-auto.in;/usr/include/gtk-4.0/gtk/css/gtkcsssection.h;\"GtkCssSection * gtk_css_section_new_with_bytes (GFile *file, GBytes *bytes, const GtkCssLocation *start, const GtkCssLocation *end);\";function gtk_css_section_new_with_bytes(file, bytes, start, end) bind(c)\r\ngtk;gtk_css_section_print;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/css/gtkcsssection.h;\"void gtk_css_section_print (const GtkCssSection *section, GString *string);\";subroutine gtk_css_section_print(section, string) bind(c)\r\ngtk;gtk_css_section_ref;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/css/gtkcsssection.h;\"GtkCssSection * gtk_css_section_ref (GtkCssSection *section);\";function gtk_css_section_ref(section) bind(c)\r\ngtk;gtk_css_section_to_string;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/css/gtkcsssection.h;\"char * gtk_css_section_to_string (const GtkCssSection *section);\";function gtk_css_section_to_string(section) bind(c)\r\ngtk;gtk_css_section_unref;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/css/gtkcsssection.h;\"void gtk_css_section_unref (GtkCssSection *section);\";subroutine gtk_css_section_unref(section) bind(c)\r\ngtk;gtk_custom_filter_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcustomfilter.h;\"GtkCustomFilter * gtk_custom_filter_new (GtkCustomFilterFunc match_func, gpointer user_data, GDestroyNotify user_destroy);\";function gtk_custom_filter_new(match_func, user_data, user_destroy) bind(c)\r\ngtk;gtk_custom_filter_set_filter_func;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcustomfilter.h;\"void gtk_custom_filter_set_filter_func (GtkCustomFilter *self, GtkCustomFilterFunc match_func, gpointer user_data, GDestroyNotify user_destroy);\";subroutine gtk_custom_filter_set_filter_func(self, match_func, user_data, user_destroy) bind(c)\r\ngtk;gtk_custom_layout_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcustomlayout.h;\"GtkLayoutManager * gtk_custom_layout_new (GtkCustomRequestModeFunc request_mode, GtkCustomMeasureFunc measure, GtkCustomAllocateFunc allocate);\";function gtk_custom_layout_new(request_mode, measure, allocate) bind(c)\r\ngtk;gtk_custom_sorter_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcustomsorter.h;\"GtkCustomSorter * gtk_custom_sorter_new (GCompareDataFunc sort_func, gpointer user_data, GDestroyNotify user_destroy);\";function gtk_custom_sorter_new(sort_func, user_data, user_destroy) bind(c)\r\ngtk;gtk_custom_sorter_set_sort_func;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcustomsorter.h;\"void gtk_custom_sorter_set_sort_func (GtkCustomSorter *self, GCompareDataFunc sort_func, gpointer user_data, GDestroyNotify user_destroy);\";subroutine gtk_custom_sorter_set_sort_func(self, sort_func, user_data, user_destroy) bind(c)\r\ngtk;gtk_dialog_add_action_widget;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkdialog.h;\"void gtk_dialog_add_action_widget (GtkDialog *dialog, GtkWidget *child, int response_id);\";subroutine gtk_dialog_add_action_widget(dialog, child, response_id) bind(c)\r\ngtk;gtk_dialog_add_button;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkdialog.h;\"GtkWidget* gtk_dialog_add_button (GtkDialog *dialog, const char *button_text, int response_id);\";function gtk_dialog_add_button(dialog, button_text, response_id) bind(c)\r\ngtk;gtk_dialog_error_quark;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdialogerror.h;\"GQuark gtk_dialog_error_quark (void);\";function gtk_dialog_error_quark() bind(c)\r\ngtk;gtk_dialog_get_content_area;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkdialog.h;\"GtkWidget * gtk_dialog_get_content_area (GtkDialog *dialog);\";function gtk_dialog_get_content_area(dialog) bind(c)\r\ngtk;gtk_dialog_get_header_bar;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkdialog.h;\"GtkWidget * gtk_dialog_get_header_bar (GtkDialog *dialog);\";function gtk_dialog_get_header_bar(dialog) bind(c)\r\ngtk;gtk_dialog_get_response_for_widget;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkdialog.h;\"int gtk_dialog_get_response_for_widget (GtkDialog *dialog, GtkWidget *widget);\";function gtk_dialog_get_response_for_widget(dialog, widget) bind(c)\r\ngtk;gtk_dialog_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkdialog.h;\"GType gtk_dialog_get_type (void) ;\";function gtk_dialog_get_type() bind(c)\r\ngtk;gtk_dialog_get_widget_for_response;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkdialog.h;\"GtkWidget* gtk_dialog_get_widget_for_response (GtkDialog *dialog, int response_id);\";function gtk_dialog_get_widget_for_response(dialog, response_id) bind(c)\r\ngtk;gtk_dialog_new;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkdialog.h;\"GtkWidget* gtk_dialog_new (void);\";function gtk_dialog_new() bind(c)\r\ngtk;gtk_dialog_response;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkdialog.h;\"void gtk_dialog_response (GtkDialog *dialog, int response_id);\";subroutine gtk_dialog_response(dialog, response_id) bind(c)\r\ngtk;gtk_dialog_set_default_response;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkdialog.h;\"void gtk_dialog_set_default_response (GtkDialog *dialog, int response_id);\";subroutine gtk_dialog_set_default_response(dialog, response_id) bind(c)\r\ngtk;gtk_dialog_set_response_sensitive;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkdialog.h;\"void gtk_dialog_set_response_sensitive (GtkDialog *dialog, int response_id, gboolean setting);\";subroutine gtk_dialog_set_response_sensitive(dialog, response_id, setting) bind(c)\r\ngtk;gtk_directory_list_get_attributes;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdirectorylist.h;\"const char * gtk_directory_list_get_attributes (GtkDirectoryList *self);\";function gtk_directory_list_get_attributes(self) bind(c)\r\ngtk;gtk_directory_list_get_error;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdirectorylist.h;\"const GError * gtk_directory_list_get_error (GtkDirectoryList *self);\";function gtk_directory_list_get_error(self) bind(c)\r\ngtk;gtk_directory_list_get_file;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdirectorylist.h;\"GFile * gtk_directory_list_get_file (GtkDirectoryList *self);\";function gtk_directory_list_get_file(self) bind(c)\r\ngtk;gtk_directory_list_get_io_priority;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdirectorylist.h;\"int gtk_directory_list_get_io_priority (GtkDirectoryList *self);\";function gtk_directory_list_get_io_priority(self) bind(c)\r\ngtk;gtk_directory_list_get_monitored;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdirectorylist.h;\"gboolean gtk_directory_list_get_monitored (GtkDirectoryList *self);\";function gtk_directory_list_get_monitored(self) bind(c)\r\ngtk;gtk_directory_list_is_loading;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdirectorylist.h;\"gboolean gtk_directory_list_is_loading (GtkDirectoryList *self);\";function gtk_directory_list_is_loading(self) bind(c)\r\ngtk;gtk_directory_list_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdirectorylist.h;\"GtkDirectoryList * gtk_directory_list_new (const char *attributes, GFile *file);\";function gtk_directory_list_new(attributes, file) bind(c)\r\ngtk;gtk_directory_list_set_attributes;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdirectorylist.h;\"void gtk_directory_list_set_attributes (GtkDirectoryList *self, const char *attributes);\";subroutine gtk_directory_list_set_attributes(self, attributes) bind(c)\r\ngtk;gtk_directory_list_set_file;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdirectorylist.h;\"void gtk_directory_list_set_file (GtkDirectoryList *self, GFile *file);\";subroutine gtk_directory_list_set_file(self, file) bind(c)\r\ngtk;gtk_directory_list_set_io_priority;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdirectorylist.h;\"void gtk_directory_list_set_io_priority (GtkDirectoryList *self, int io_priority);\";subroutine gtk_directory_list_set_io_priority(self, io_priority) bind(c)\r\ngtk;gtk_directory_list_set_monitored;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdirectorylist.h;\"void gtk_directory_list_set_monitored (GtkDirectoryList *self, gboolean monitored);\";subroutine gtk_directory_list_set_monitored(self, monitored) bind(c)\r\ngtk;gtk_disable_portals;GDK_AVAILABLE_IN_4_18;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmain.h;\"void gtk_disable_portals (void);\";subroutine gtk_disable_portals() bind(c)\r\ngtk;gtk_disable_setlocale;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmain.h;\"void gtk_disable_setlocale (void);\";subroutine gtk_disable_setlocale() bind(c)\r\ngtk;gtk_distribute_natural_allocation;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksizerequest.h;\"int gtk_distribute_natural_allocation (int extra_space, guint n_requested_sizes, GtkRequestedSize *sizes);\";function gtk_distribute_natural_allocation(extra_space, n_requested_sizes, sizes) bind(c)\r\ngtk;gtk_drag_check_threshold;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdragsource.h;\"gboolean gtk_drag_check_threshold (GtkWidget *widget, int start_x, int start_y, int current_x, int current_y);\";function gtk_drag_check_threshold(widget, start_x, start_y, current_x, current_y) bind(c)\r\ngtk;gtk_drag_icon_create_widget_for_value;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdragicon.h;\"GtkWidget * gtk_drag_icon_create_widget_for_value (const GValue *value);\";function gtk_drag_icon_create_widget_for_value(value) bind(c)\r\ngtk;gtk_drag_icon_get_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdragicon.h;\"GtkWidget * gtk_drag_icon_get_child (GtkDragIcon *self);\";function gtk_drag_icon_get_child(self) bind(c)\r\ngtk;gtk_drag_icon_get_for_drag;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdragicon.h;\"GtkWidget * gtk_drag_icon_get_for_drag (GdkDrag *drag);\";function gtk_drag_icon_get_for_drag(drag) bind(c)\r\ngtk;gtk_drag_icon_set_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdragicon.h;\"void gtk_drag_icon_set_child (GtkDragIcon *self, GtkWidget *child);\";subroutine gtk_drag_icon_set_child(self, child) bind(c)\r\ngtk;gtk_drag_icon_set_from_paintable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdragicon.h;\"void gtk_drag_icon_set_from_paintable (GdkDrag *drag, GdkPaintable *paintable, int hot_x, int hot_y);\";subroutine gtk_drag_icon_set_from_paintable(drag, paintable, hot_x, hot_y) bind(c)\r\ngtk;gtk_drag_source_drag_cancel;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdragsource.h;\"void gtk_drag_source_drag_cancel (GtkDragSource *source);\";subroutine gtk_drag_source_drag_cancel(source) bind(c)\r\ngtk;gtk_drag_source_get_actions;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdragsource.h;\"GdkDragAction gtk_drag_source_get_actions (GtkDragSource *source);\";function gtk_drag_source_get_actions(source) bind(c)\r\ngtk;gtk_drag_source_get_content;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdragsource.h;\"GdkContentProvider *gtk_drag_source_get_content (GtkDragSource *source);\";function gtk_drag_source_get_content(source) bind(c)\r\ngtk;gtk_drag_source_get_drag;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdragsource.h;\"GdkDrag * gtk_drag_source_get_drag (GtkDragSource *source);\";function gtk_drag_source_get_drag(source) bind(c)\r\ngtk;gtk_drag_source_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdragsource.h;\"GType gtk_drag_source_get_type (void) ;\";function gtk_drag_source_get_type() bind(c)\r\ngtk;gtk_drag_source_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdragsource.h;\"GtkDragSource *gtk_drag_source_new (void);\";function gtk_drag_source_new() bind(c)\r\ngtk;gtk_drag_source_set_actions;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdragsource.h;\"void gtk_drag_source_set_actions (GtkDragSource *source, GdkDragAction actions);\";subroutine gtk_drag_source_set_actions(source, actions) bind(c)\r\ngtk;gtk_drag_source_set_content;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdragsource.h;\"void gtk_drag_source_set_content (GtkDragSource *source, GdkContentProvider *content);\";subroutine gtk_drag_source_set_content(source, content) bind(c)\r\ngtk;gtk_drag_source_set_icon;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdragsource.h;\"void gtk_drag_source_set_icon (GtkDragSource *source, GdkPaintable *paintable, int hot_x, int hot_y);\";subroutine gtk_drag_source_set_icon(source, paintable, hot_x, hot_y) bind(c)\r\ngtk;gtk_drawing_area_get_content_height;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdrawingarea.h;\"int gtk_drawing_area_get_content_height (GtkDrawingArea *self);\";function gtk_drawing_area_get_content_height(self) bind(c)\r\ngtk;gtk_drawing_area_get_content_width;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdrawingarea.h;\"int gtk_drawing_area_get_content_width (GtkDrawingArea *self);\";function gtk_drawing_area_get_content_width(self) bind(c)\r\ngtk;gtk_drawing_area_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdrawingarea.h;\"GType gtk_drawing_area_get_type (void) ;\";function gtk_drawing_area_get_type() bind(c)\r\ngtk;gtk_drawing_area_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdrawingarea.h;\"GtkWidget* gtk_drawing_area_new (void);\";function gtk_drawing_area_new() bind(c)\r\ngtk;gtk_drawing_area_set_content_height;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdrawingarea.h;\"void gtk_drawing_area_set_content_height (GtkDrawingArea *self, int height);\";subroutine gtk_drawing_area_set_content_height(self, height) bind(c)\r\ngtk;gtk_drawing_area_set_content_width;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdrawingarea.h;\"void gtk_drawing_area_set_content_width (GtkDrawingArea *self, int width);\";subroutine gtk_drawing_area_set_content_width(self, width) bind(c)\r\ngtk;gtk_drawing_area_set_draw_func;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdrawingarea.h;\"void gtk_drawing_area_set_draw_func (GtkDrawingArea *self, GtkDrawingAreaDrawFunc draw_func, gpointer user_data, GDestroyNotify destroy);\";subroutine gtk_drawing_area_set_draw_func(self, draw_func, user_data, destroy) bind(c)\r\ngtk;gtk_drop_controller_motion_contains_pointer;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdropcontrollermotion.h;\"gboolean gtk_drop_controller_motion_contains_pointer (GtkDropControllerMotion *self);\";function gtk_drop_controller_motion_contains_pointer(self) bind(c)\r\ngtk;gtk_drop_controller_motion_get_drop;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdropcontrollermotion.h;\"GdkDrop * gtk_drop_controller_motion_get_drop (GtkDropControllerMotion *self);\";function gtk_drop_controller_motion_get_drop(self) bind(c)\r\ngtk;gtk_drop_controller_motion_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdropcontrollermotion.h;\"GType gtk_drop_controller_motion_get_type (void) ;\";function gtk_drop_controller_motion_get_type() bind(c)\r\ngtk;gtk_drop_controller_motion_is_pointer;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdropcontrollermotion.h;\"gboolean gtk_drop_controller_motion_is_pointer (GtkDropControllerMotion *self);\";function gtk_drop_controller_motion_is_pointer(self) bind(c)\r\ngtk;gtk_drop_controller_motion_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdropcontrollermotion.h;\"GtkEventController * gtk_drop_controller_motion_new (void);\";function gtk_drop_controller_motion_new() bind(c)\r\ngtk;gtk_drop_down_get_enable_search;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdropdown.h;\"gboolean gtk_drop_down_get_enable_search (GtkDropDown *self);\";function gtk_drop_down_get_enable_search(self) bind(c)\r\ngtk;gtk_drop_down_get_expression;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdropdown.h;\"GtkExpression * gtk_drop_down_get_expression (GtkDropDown *self);\";function gtk_drop_down_get_expression(self) bind(c)\r\ngtk;gtk_drop_down_get_factory;;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdropdown.h;\"GtkListItemFactory * gtk_drop_down_get_factory (GtkDropDown *self);\";function gtk_drop_down_get_factory(self) bind(c)\r\ngtk;gtk_drop_down_get_header_factory;;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdropdown.h;\"GtkListItemFactory * gtk_drop_down_get_header_factory (GtkDropDown *self);\";function gtk_drop_down_get_header_factory(self) bind(c)\r\ngtk;gtk_drop_down_get_list_factory;;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdropdown.h;\"GtkListItemFactory * gtk_drop_down_get_list_factory (GtkDropDown *self);\";function gtk_drop_down_get_list_factory(self) bind(c)\r\ngtk;gtk_drop_down_get_model;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdropdown.h;\"GListModel * gtk_drop_down_get_model (GtkDropDown *self);\";function gtk_drop_down_get_model(self) bind(c)\r\ngtk;gtk_drop_down_get_search_match_mode;;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdropdown.h;\"GtkStringFilterMatchMode gtk_drop_down_get_search_match_mode (GtkDropDown *self);\";function gtk_drop_down_get_search_match_mode(self) bind(c)\r\ngtk;gtk_drop_down_get_selected;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdropdown.h;\"guint gtk_drop_down_get_selected (GtkDropDown *self);\";function gtk_drop_down_get_selected(self) bind(c)\r\ngtk;gtk_drop_down_get_selected_item;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdropdown.h;\"gpointer gtk_drop_down_get_selected_item (GtkDropDown *self);\";function gtk_drop_down_get_selected_item(self) bind(c)\r\ngtk;gtk_drop_down_get_show_arrow;GDK_AVAILABLE_IN_4_6;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdropdown.h;\"gboolean gtk_drop_down_get_show_arrow (GtkDropDown *self);\";function gtk_drop_down_get_show_arrow(self) bind(c)\r\ngtk;gtk_drop_down_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdropdown.h;\"GtkWidget * gtk_drop_down_new (GListModel *model, GtkExpression *expression);\";function gtk_drop_down_new(model, expression) bind(c)\r\ngtk;gtk_drop_down_new_from_strings;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdropdown.h;\"GtkWidget * gtk_drop_down_new_from_strings (const char * const * strings);\";function gtk_drop_down_new_from_strings(strings) bind(c)\r\ngtk;gtk_drop_down_set_enable_search;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdropdown.h;\"void gtk_drop_down_set_enable_search (GtkDropDown *self, gboolean enable_search);\";subroutine gtk_drop_down_set_enable_search(self, enable_search) bind(c)\r\ngtk;gtk_drop_down_set_expression;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdropdown.h;\"void gtk_drop_down_set_expression (GtkDropDown *self, GtkExpression *expression);\";subroutine gtk_drop_down_set_expression(self, expression) bind(c)\r\ngtk;gtk_drop_down_set_factory;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdropdown.h;\"void gtk_drop_down_set_factory (GtkDropDown *self, GtkListItemFactory *factory);\";subroutine gtk_drop_down_set_factory(self, factory) bind(c)\r\ngtk;gtk_drop_down_set_header_factory;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdropdown.h;\"void gtk_drop_down_set_header_factory (GtkDropDown *self, GtkListItemFactory *factory);\";subroutine gtk_drop_down_set_header_factory(self, factory) bind(c)\r\ngtk;gtk_drop_down_set_list_factory;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdropdown.h;\"void gtk_drop_down_set_list_factory (GtkDropDown *self, GtkListItemFactory *factory);\";subroutine gtk_drop_down_set_list_factory(self, factory) bind(c)\r\ngtk;gtk_drop_down_set_model;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdropdown.h;\"void gtk_drop_down_set_model (GtkDropDown *self, GListModel *model);\";subroutine gtk_drop_down_set_model(self, model) bind(c)\r\ngtk;gtk_drop_down_set_search_match_mode;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdropdown.h;\"void gtk_drop_down_set_search_match_mode (GtkDropDown *self, GtkStringFilterMatchMode search_match_mode);\";subroutine gtk_drop_down_set_search_match_mode(self, search_match_mode) bind(c)\r\ngtk;gtk_drop_down_set_selected;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdropdown.h;\"void gtk_drop_down_set_selected (GtkDropDown *self, guint position);\";subroutine gtk_drop_down_set_selected(self, position) bind(c)\r\ngtk;gtk_drop_down_set_show_arrow;GDK_AVAILABLE_IN_4_6;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdropdown.h;\"void gtk_drop_down_set_show_arrow (GtkDropDown *self, gboolean show_arrow);\";subroutine gtk_drop_down_set_show_arrow(self, show_arrow) bind(c)\r\ngtk;gtk_drop_target_async_get_actions;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdroptargetasync.h;\"GdkDragAction gtk_drop_target_async_get_actions (GtkDropTargetAsync *self);\";function gtk_drop_target_async_get_actions(self) bind(c)\r\ngtk;gtk_drop_target_async_get_formats;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdroptargetasync.h;\"GdkContentFormats * gtk_drop_target_async_get_formats (GtkDropTargetAsync *self);\";function gtk_drop_target_async_get_formats(self) bind(c)\r\ngtk;gtk_drop_target_async_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdroptargetasync.h;\"GType gtk_drop_target_async_get_type (void) ;\";function gtk_drop_target_async_get_type() bind(c)\r\ngtk;gtk_drop_target_async_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdroptargetasync.h;\"GtkDropTargetAsync * gtk_drop_target_async_new (GdkContentFormats *formats, GdkDragAction actions);\";function gtk_drop_target_async_new(formats, actions) bind(c)\r\ngtk;gtk_drop_target_async_reject_drop;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdroptargetasync.h;\"void gtk_drop_target_async_reject_drop (GtkDropTargetAsync *self, GdkDrop *drop);\";subroutine gtk_drop_target_async_reject_drop(self, drop) bind(c)\r\ngtk;gtk_drop_target_async_set_actions;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdroptargetasync.h;\"void gtk_drop_target_async_set_actions (GtkDropTargetAsync *self, GdkDragAction actions);\";subroutine gtk_drop_target_async_set_actions(self, actions) bind(c)\r\ngtk;gtk_drop_target_async_set_formats;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdroptargetasync.h;\"void gtk_drop_target_async_set_formats (GtkDropTargetAsync *self, GdkContentFormats *formats);\";subroutine gtk_drop_target_async_set_formats(self, formats) bind(c)\r\ngtk;gtk_drop_target_get_actions;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdroptarget.h;\"GdkDragAction gtk_drop_target_get_actions (GtkDropTarget *self);\";function gtk_drop_target_get_actions(self) bind(c)\r\ngtk;gtk_drop_target_get_current_drop;GDK_AVAILABLE_IN_4_4;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdroptarget.h;\"GdkDrop * gtk_drop_target_get_current_drop (GtkDropTarget *self);\";function gtk_drop_target_get_current_drop(self) bind(c)\r\ngtk;gtk_drop_target_get_drop;GDK_DEPRECATED_IN_4_4_FOR(gtk_drop_target_get_current_drop);gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdroptarget.h;\"GdkDrop * gtk_drop_target_get_drop (GtkDropTarget *self);\";function gtk_drop_target_get_drop(self) bind(c)\r\ngtk;gtk_drop_target_get_formats;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdroptarget.h;\"GdkContentFormats * gtk_drop_target_get_formats (GtkDropTarget *self);\";function gtk_drop_target_get_formats(self) bind(c)\r\ngtk;gtk_drop_target_get_gtypes;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdroptarget.h;\"const GType * gtk_drop_target_get_gtypes (GtkDropTarget *self, gsize *n_types);\";function gtk_drop_target_get_gtypes(self, n_types) bind(c)\r\ngtk;gtk_drop_target_get_preload;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdroptarget.h;\"gboolean gtk_drop_target_get_preload (GtkDropTarget *self);\";function gtk_drop_target_get_preload(self) bind(c)\r\ngtk;gtk_drop_target_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdroptarget.h;\"GType gtk_drop_target_get_type (void) ;\";function gtk_drop_target_get_type() bind(c)\r\ngtk;gtk_drop_target_get_value;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdroptarget.h;\"const GValue * gtk_drop_target_get_value (GtkDropTarget *self);\";function gtk_drop_target_get_value(self) bind(c)\r\ngtk;gtk_drop_target_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdroptarget.h;\"GtkDropTarget * gtk_drop_target_new (GType type, GdkDragAction actions);\";function gtk_drop_target_new(type, actions) bind(c)\r\ngtk;gtk_drop_target_reject;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdroptarget.h;\"void gtk_drop_target_reject (GtkDropTarget *self);\";subroutine gtk_drop_target_reject(self) bind(c)\r\ngtk;gtk_drop_target_set_actions;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdroptarget.h;\"void gtk_drop_target_set_actions (GtkDropTarget *self, GdkDragAction actions);\";subroutine gtk_drop_target_set_actions(self, actions) bind(c)\r\ngtk;gtk_drop_target_set_gtypes;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdroptarget.h;\"void gtk_drop_target_set_gtypes (GtkDropTarget *self, GType *types, gsize n_types);\";subroutine gtk_drop_target_set_gtypes(self, types, n_types) bind(c)\r\ngtk;gtk_drop_target_set_preload;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdroptarget.h;\"void gtk_drop_target_set_preload (GtkDropTarget *self, gboolean preload);\";subroutine gtk_drop_target_set_preload(self, preload) bind(c)\r\ngtk;gtk_editable_delegate_get_accessible_platform_state;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeditable.h;\"gboolean gtk_editable_delegate_get_accessible_platform_state (GtkEditable *editable, GtkAccessiblePlatformState state);\";function gtk_editable_delegate_get_accessible_platform_state(editable, state) bind(c)\r\ngtk;gtk_editable_delegate_get_property;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeditable.h;\"gboolean gtk_editable_delegate_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);\";function gtk_editable_delegate_get_property(object, prop_id, value, pspec) bind(c)\r\ngtk;gtk_editable_delegate_set_property;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeditable.h;\"gboolean gtk_editable_delegate_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);\";function gtk_editable_delegate_set_property(object, prop_id, value, pspec) bind(c)\r\ngtk;gtk_editable_delete_selection;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeditable.h;\"void gtk_editable_delete_selection (GtkEditable *editable);\";subroutine gtk_editable_delete_selection(editable) bind(c)\r\ngtk;gtk_editable_delete_text;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeditable.h;\"void gtk_editable_delete_text (GtkEditable *editable, int start_pos, int end_pos);\";subroutine gtk_editable_delete_text(editable, start_pos, end_pos) bind(c)\r\ngtk;gtk_editable_finish_delegate;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeditable.h;\"void gtk_editable_finish_delegate (GtkEditable *editable);\";subroutine gtk_editable_finish_delegate(editable) bind(c)\r\ngtk;gtk_editable_get_alignment;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeditable.h;\"float gtk_editable_get_alignment (GtkEditable *editable);\";function gtk_editable_get_alignment(editable) bind(c)\r\ngtk;gtk_editable_get_chars;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeditable.h;\"char * gtk_editable_get_chars (GtkEditable *editable, int start_pos, int end_pos) ;\";function gtk_editable_get_chars(editable, start_pos, end_pos) bind(c)\r\ngtk;gtk_editable_get_delegate;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeditable.h;\"GtkEditable *gtk_editable_get_delegate (GtkEditable *editable);\";function gtk_editable_get_delegate(editable) bind(c)\r\ngtk;gtk_editable_get_editable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeditable.h;\"gboolean gtk_editable_get_editable (GtkEditable *editable);\";function gtk_editable_get_editable(editable) bind(c)\r\ngtk;gtk_editable_get_enable_undo;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeditable.h;\"gboolean gtk_editable_get_enable_undo (GtkEditable *editable);\";function gtk_editable_get_enable_undo(editable) bind(c)\r\ngtk;gtk_editable_get_max_width_chars;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeditable.h;\"int gtk_editable_get_max_width_chars (GtkEditable *editable);\";function gtk_editable_get_max_width_chars(editable) bind(c)\r\ngtk;gtk_editable_get_position;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeditable.h;\"int gtk_editable_get_position (GtkEditable *editable);\";function gtk_editable_get_position(editable) bind(c)\r\ngtk;gtk_editable_get_selection_bounds;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeditable.h;\"gboolean gtk_editable_get_selection_bounds (GtkEditable *editable, int *start_pos, int *end_pos);\";function gtk_editable_get_selection_bounds(editable, start_pos, end_pos) bind(c)\r\ngtk;gtk_editable_get_text;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeditable.h;\"const char * gtk_editable_get_text (GtkEditable *editable);\";function gtk_editable_get_text(editable) bind(c)\r\ngtk;gtk_editable_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeditable.h;\"GType gtk_editable_get_type (void) ;\";function gtk_editable_get_type() bind(c)\r\ngtk;gtk_editable_get_width_chars;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeditable.h;\"int gtk_editable_get_width_chars (GtkEditable *editable);\";function gtk_editable_get_width_chars(editable) bind(c)\r\ngtk;gtk_editable_init_delegate;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeditable.h;\"void gtk_editable_init_delegate (GtkEditable *editable);\";subroutine gtk_editable_init_delegate(editable) bind(c)\r\ngtk;gtk_editable_insert_text;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeditable.h;\"void gtk_editable_insert_text (GtkEditable *editable, const char *text, int length, int *position);\";subroutine gtk_editable_insert_text(editable, text, length, position) bind(c)\r\ngtk;gtk_editable_install_properties;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeditable.h;\"guint gtk_editable_install_properties (GObjectClass *object_class, guint first_prop);\";function gtk_editable_install_properties(object_class, first_prop) bind(c)\r\ngtk;gtk_editable_label_get_editing;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeditablelabel.h;\"gboolean gtk_editable_label_get_editing (GtkEditableLabel *self);\";function gtk_editable_label_get_editing(self) bind(c)\r\ngtk;gtk_editable_label_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeditablelabel.h;\"GtkWidget * gtk_editable_label_new (const char *str);\";function gtk_editable_label_new(str) bind(c)\r\ngtk;gtk_editable_label_start_editing;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeditablelabel.h;\"void gtk_editable_label_start_editing (GtkEditableLabel *self);\";subroutine gtk_editable_label_start_editing(self) bind(c)\r\ngtk;gtk_editable_label_stop_editing;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeditablelabel.h;\"void gtk_editable_label_stop_editing (GtkEditableLabel *self, gboolean commit);\";subroutine gtk_editable_label_stop_editing(self, commit) bind(c)\r\ngtk;gtk_editable_select_region;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeditable.h;\"void gtk_editable_select_region (GtkEditable *editable, int start_pos, int end_pos);\";subroutine gtk_editable_select_region(editable, start_pos, end_pos) bind(c)\r\ngtk;gtk_editable_set_alignment;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeditable.h;\"void gtk_editable_set_alignment (GtkEditable *editable, float xalign);\";subroutine gtk_editable_set_alignment(editable, xalign) bind(c)\r\ngtk;gtk_editable_set_editable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeditable.h;\"void gtk_editable_set_editable (GtkEditable *editable, gboolean is_editable);\";subroutine gtk_editable_set_editable(editable, is_editable) bind(c)\r\ngtk;gtk_editable_set_enable_undo;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeditable.h;\"void gtk_editable_set_enable_undo (GtkEditable *editable, gboolean enable_undo);\";subroutine gtk_editable_set_enable_undo(editable, enable_undo) bind(c)\r\ngtk;gtk_editable_set_max_width_chars;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeditable.h;\"void gtk_editable_set_max_width_chars (GtkEditable *editable, int n_chars);\";subroutine gtk_editable_set_max_width_chars(editable, n_chars) bind(c)\r\ngtk;gtk_editable_set_position;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeditable.h;\"void gtk_editable_set_position (GtkEditable *editable, int position);\";subroutine gtk_editable_set_position(editable, position) bind(c)\r\ngtk;gtk_editable_set_text;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeditable.h;\"void gtk_editable_set_text (GtkEditable *editable, const char *text);\";subroutine gtk_editable_set_text(editable, text) bind(c)\r\ngtk;gtk_editable_set_width_chars;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeditable.h;\"void gtk_editable_set_width_chars (GtkEditable *editable, int n_chars);\";subroutine gtk_editable_set_width_chars(editable, n_chars) bind(c)\r\ngtk;gtk_emoji_chooser_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkemojichooser.h;\"GType gtk_emoji_chooser_get_type (void) ;\";function gtk_emoji_chooser_get_type() bind(c)\r\ngtk;gtk_emoji_chooser_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkemojichooser.h;\"GtkWidget *gtk_emoji_chooser_new (void);\";function gtk_emoji_chooser_new() bind(c)\r\ngtk;gtk_entry_buffer_delete_text;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentrybuffer.h;\"guint gtk_entry_buffer_delete_text (GtkEntryBuffer *buffer, guint position, int n_chars);\";function gtk_entry_buffer_delete_text(buffer, position, n_chars) bind(c)\r\ngtk;gtk_entry_buffer_emit_deleted_text;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentrybuffer.h;\"void gtk_entry_buffer_emit_deleted_text (GtkEntryBuffer *buffer, guint position, guint n_chars);\";subroutine gtk_entry_buffer_emit_deleted_text(buffer, position, n_chars) bind(c)\r\ngtk;gtk_entry_buffer_emit_inserted_text;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentrybuffer.h;\"void gtk_entry_buffer_emit_inserted_text (GtkEntryBuffer *buffer, guint position, const char *chars, guint n_chars);\";subroutine gtk_entry_buffer_emit_inserted_text(buffer, position, chars, n_chars) bind(c)\r\ngtk;gtk_entry_buffer_get_bytes;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentrybuffer.h;\"gsize gtk_entry_buffer_get_bytes (GtkEntryBuffer *buffer);\";function gtk_entry_buffer_get_bytes(buffer) bind(c)\r\ngtk;gtk_entry_buffer_get_length;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentrybuffer.h;\"guint gtk_entry_buffer_get_length (GtkEntryBuffer *buffer);\";function gtk_entry_buffer_get_length(buffer) bind(c)\r\ngtk;gtk_entry_buffer_get_max_length;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentrybuffer.h;\"int gtk_entry_buffer_get_max_length (GtkEntryBuffer *buffer);\";function gtk_entry_buffer_get_max_length(buffer) bind(c)\r\ngtk;gtk_entry_buffer_get_text;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentrybuffer.h;\"const char * gtk_entry_buffer_get_text (GtkEntryBuffer *buffer);\";function gtk_entry_buffer_get_text(buffer) bind(c)\r\ngtk;gtk_entry_buffer_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentrybuffer.h;\"GType gtk_entry_buffer_get_type (void) ;\";function gtk_entry_buffer_get_type() bind(c)\r\ngtk;gtk_entry_buffer_insert_text;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentrybuffer.h;\"guint gtk_entry_buffer_insert_text (GtkEntryBuffer *buffer, guint position, const char *chars, int n_chars);\";function gtk_entry_buffer_insert_text(buffer, position, chars, n_chars) bind(c)\r\ngtk;gtk_entry_buffer_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentrybuffer.h;\"GtkEntryBuffer* gtk_entry_buffer_new (const char *initial_chars, int n_initial_chars);\";function gtk_entry_buffer_new(initial_chars, n_initial_chars) bind(c)\r\ngtk;gtk_entry_buffer_set_max_length;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentrybuffer.h;\"void gtk_entry_buffer_set_max_length (GtkEntryBuffer *buffer, int max_length);\";subroutine gtk_entry_buffer_set_max_length(buffer, max_length) bind(c)\r\ngtk;gtk_entry_buffer_set_text;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentrybuffer.h;\"void gtk_entry_buffer_set_text (GtkEntryBuffer *buffer, const char *chars, int n_chars);\";subroutine gtk_entry_buffer_set_text(buffer, chars, n_chars) bind(c)\r\ngtk;gtk_entry_completion_complete;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkentrycompletion.h;\"void gtk_entry_completion_complete (GtkEntryCompletion *completion);\";subroutine gtk_entry_completion_complete(completion) bind(c)\r\ngtk;gtk_entry_completion_compute_prefix;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkentrycompletion.h;\"char * gtk_entry_completion_compute_prefix (GtkEntryCompletion *completion, const char *key);\";function gtk_entry_completion_compute_prefix(completion, key) bind(c)\r\ngtk;gtk_entry_completion_get_completion_prefix;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkentrycompletion.h;\"const char *gtk_entry_completion_get_completion_prefix (GtkEntryCompletion *completion);\";function gtk_entry_completion_get_completion_prefix(completion) bind(c)\r\ngtk;gtk_entry_completion_get_entry;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkentrycompletion.h;\"GtkWidget *gtk_entry_completion_get_entry (GtkEntryCompletion *completion);\";function gtk_entry_completion_get_entry(completion) bind(c)\r\ngtk;gtk_entry_completion_get_inline_completion;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkentrycompletion.h;\"gboolean gtk_entry_completion_get_inline_completion (GtkEntryCompletion *completion);\";function gtk_entry_completion_get_inline_completion(completion) bind(c)\r\ngtk;gtk_entry_completion_get_inline_selection;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkentrycompletion.h;\"gboolean gtk_entry_completion_get_inline_selection (GtkEntryCompletion *completion);\";function gtk_entry_completion_get_inline_selection(completion) bind(c)\r\ngtk;gtk_entry_completion_get_minimum_key_length;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkentrycompletion.h;\"int gtk_entry_completion_get_minimum_key_length (GtkEntryCompletion *completion);\";function gtk_entry_completion_get_minimum_key_length(completion) bind(c)\r\ngtk;gtk_entry_completion_get_model;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkentrycompletion.h;\"GtkTreeModel *gtk_entry_completion_get_model (GtkEntryCompletion *completion);\";function gtk_entry_completion_get_model(completion) bind(c)\r\ngtk;gtk_entry_completion_get_popup_completion;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkentrycompletion.h;\"gboolean gtk_entry_completion_get_popup_completion (GtkEntryCompletion *completion);\";function gtk_entry_completion_get_popup_completion(completion) bind(c)\r\ngtk;gtk_entry_completion_get_popup_set_width;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkentrycompletion.h;\"gboolean gtk_entry_completion_get_popup_set_width (GtkEntryCompletion *completion);\";function gtk_entry_completion_get_popup_set_width(completion) bind(c)\r\ngtk;gtk_entry_completion_get_popup_single_match;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkentrycompletion.h;\"gboolean gtk_entry_completion_get_popup_single_match (GtkEntryCompletion *completion);\";function gtk_entry_completion_get_popup_single_match(completion) bind(c)\r\ngtk;gtk_entry_completion_get_text_column;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkentrycompletion.h;\"int gtk_entry_completion_get_text_column (GtkEntryCompletion *completion);\";function gtk_entry_completion_get_text_column(completion) bind(c)\r\ngtk;gtk_entry_completion_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkentrycompletion.h;\"GType gtk_entry_completion_get_type (void) ;\";function gtk_entry_completion_get_type() bind(c)\r\ngtk;gtk_entry_completion_insert_prefix;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkentrycompletion.h;\"void gtk_entry_completion_insert_prefix (GtkEntryCompletion *completion);\";subroutine gtk_entry_completion_insert_prefix(completion) bind(c)\r\ngtk;gtk_entry_completion_new;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkentrycompletion.h;\"GtkEntryCompletion *gtk_entry_completion_new (void);\";function gtk_entry_completion_new() bind(c)\r\ngtk;gtk_entry_completion_new_with_area;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkentrycompletion.h;\"GtkEntryCompletion *gtk_entry_completion_new_with_area (GtkCellArea *area);\";function gtk_entry_completion_new_with_area(area) bind(c)\r\ngtk;gtk_entry_completion_set_inline_completion;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkentrycompletion.h;\"void gtk_entry_completion_set_inline_completion (GtkEntryCompletion *completion, gboolean inline_completion);\";subroutine gtk_entry_completion_set_inline_completion(completion, inline_completion) bind(c)\r\ngtk;gtk_entry_completion_set_inline_selection;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkentrycompletion.h;\"void gtk_entry_completion_set_inline_selection (GtkEntryCompletion *completion, gboolean inline_selection);\";subroutine gtk_entry_completion_set_inline_selection(completion, inline_selection) bind(c)\r\ngtk;gtk_entry_completion_set_match_func;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkentrycompletion.h;\"void gtk_entry_completion_set_match_func (GtkEntryCompletion *completion, GtkEntryCompletionMatchFunc func, gpointer func_data, GDestroyNotify func_notify);\";subroutine gtk_entry_completion_set_match_func(completion, func, func_data, func_notify) bind(c)\r\ngtk;gtk_entry_completion_set_minimum_key_length;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkentrycompletion.h;\"void gtk_entry_completion_set_minimum_key_length (GtkEntryCompletion *completion, int length);\";subroutine gtk_entry_completion_set_minimum_key_length(completion, length) bind(c)\r\ngtk;gtk_entry_completion_set_model;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkentrycompletion.h;\"void gtk_entry_completion_set_model (GtkEntryCompletion *completion, GtkTreeModel *model);\";subroutine gtk_entry_completion_set_model(completion, model) bind(c)\r\ngtk;gtk_entry_completion_set_popup_completion;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkentrycompletion.h;\"void gtk_entry_completion_set_popup_completion (GtkEntryCompletion *completion, gboolean popup_completion);\";subroutine gtk_entry_completion_set_popup_completion(completion, popup_completion) bind(c)\r\ngtk;gtk_entry_completion_set_popup_set_width;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkentrycompletion.h;\"void gtk_entry_completion_set_popup_set_width (GtkEntryCompletion *completion, gboolean popup_set_width);\";subroutine gtk_entry_completion_set_popup_set_width(completion, popup_set_width) bind(c)\r\ngtk;gtk_entry_completion_set_popup_single_match;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkentrycompletion.h;\"void gtk_entry_completion_set_popup_single_match (GtkEntryCompletion *completion, gboolean popup_single_match);\";subroutine gtk_entry_completion_set_popup_single_match(completion, popup_single_match) bind(c)\r\ngtk;gtk_entry_completion_set_text_column;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkentrycompletion.h;\"void gtk_entry_completion_set_text_column (GtkEntryCompletion *completion, int column);\";subroutine gtk_entry_completion_set_text_column(completion, column) bind(c)\r\ngtk;gtk_entry_get_activates_default;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"gboolean gtk_entry_get_activates_default (GtkEntry *entry);\";function gtk_entry_get_activates_default(entry) bind(c)\r\ngtk;gtk_entry_get_alignment;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"float gtk_entry_get_alignment (GtkEntry *entry);\";function gtk_entry_get_alignment(entry) bind(c)\r\ngtk;gtk_entry_get_attributes;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"PangoAttrList *gtk_entry_get_attributes (GtkEntry *entry);\";function gtk_entry_get_attributes(entry) bind(c)\r\ngtk;gtk_entry_get_buffer;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"GtkEntryBuffer* gtk_entry_get_buffer (GtkEntry *entry);\";function gtk_entry_get_buffer(entry) bind(c)\r\ngtk;gtk_entry_get_completion;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"GtkEntryCompletion *gtk_entry_get_completion (GtkEntry *entry);\";function gtk_entry_get_completion(entry) bind(c)\r\ngtk;gtk_entry_get_current_icon_drag_source;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"int gtk_entry_get_current_icon_drag_source (GtkEntry *entry);\";function gtk_entry_get_current_icon_drag_source(entry) bind(c)\r\ngtk;gtk_entry_get_extra_menu;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"GMenuModel * gtk_entry_get_extra_menu (GtkEntry *entry);\";function gtk_entry_get_extra_menu(entry) bind(c)\r\ngtk;gtk_entry_get_has_frame;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"gboolean gtk_entry_get_has_frame (GtkEntry *entry);\";function gtk_entry_get_has_frame(entry) bind(c)\r\ngtk;gtk_entry_get_icon_activatable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"gboolean gtk_entry_get_icon_activatable (GtkEntry *entry, GtkEntryIconPosition icon_pos);\";function gtk_entry_get_icon_activatable(entry, icon_pos) bind(c)\r\ngtk;gtk_entry_get_icon_area;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"void gtk_entry_get_icon_area (GtkEntry *entry, GtkEntryIconPosition icon_pos, GdkRectangle *icon_area);\";subroutine gtk_entry_get_icon_area(entry, icon_pos, icon_area) bind(c)\r\ngtk;gtk_entry_get_icon_at_pos;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"int gtk_entry_get_icon_at_pos (GtkEntry *entry, int x, int y);\";function gtk_entry_get_icon_at_pos(entry, x, y) bind(c)\r\ngtk;gtk_entry_get_icon_gicon;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"GIcon* gtk_entry_get_icon_gicon (GtkEntry *entry, GtkEntryIconPosition icon_pos);\";function gtk_entry_get_icon_gicon(entry, icon_pos) bind(c)\r\ngtk;gtk_entry_get_icon_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"const char * gtk_entry_get_icon_name (GtkEntry *entry, GtkEntryIconPosition icon_pos);\";function gtk_entry_get_icon_name(entry, icon_pos) bind(c)\r\ngtk;gtk_entry_get_icon_paintable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"GdkPaintable * gtk_entry_get_icon_paintable (GtkEntry *entry, GtkEntryIconPosition icon_pos);\";function gtk_entry_get_icon_paintable(entry, icon_pos) bind(c)\r\ngtk;gtk_entry_get_icon_sensitive;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"gboolean gtk_entry_get_icon_sensitive (GtkEntry *entry, GtkEntryIconPosition icon_pos);\";function gtk_entry_get_icon_sensitive(entry, icon_pos) bind(c)\r\ngtk;gtk_entry_get_icon_storage_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"GtkImageType gtk_entry_get_icon_storage_type (GtkEntry *entry, GtkEntryIconPosition icon_pos);\";function gtk_entry_get_icon_storage_type(entry, icon_pos) bind(c)\r\ngtk;gtk_entry_get_icon_tooltip_markup;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"char * gtk_entry_get_icon_tooltip_markup (GtkEntry *entry, GtkEntryIconPosition icon_pos);\";function gtk_entry_get_icon_tooltip_markup(entry, icon_pos) bind(c)\r\ngtk;gtk_entry_get_icon_tooltip_text;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"char * gtk_entry_get_icon_tooltip_text (GtkEntry *entry, GtkEntryIconPosition icon_pos);\";function gtk_entry_get_icon_tooltip_text(entry, icon_pos) bind(c)\r\ngtk;gtk_entry_get_input_hints;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"GtkInputHints gtk_entry_get_input_hints (GtkEntry *entry);\";function gtk_entry_get_input_hints(entry) bind(c)\r\ngtk;gtk_entry_get_input_purpose;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"GtkInputPurpose gtk_entry_get_input_purpose (GtkEntry *entry);\";function gtk_entry_get_input_purpose(entry) bind(c)\r\ngtk;gtk_entry_get_invisible_char;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"gunichar gtk_entry_get_invisible_char (GtkEntry *entry);\";function gtk_entry_get_invisible_char(entry) bind(c)\r\ngtk;gtk_entry_get_max_length;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"int gtk_entry_get_max_length (GtkEntry *entry);\";function gtk_entry_get_max_length(entry) bind(c)\r\ngtk;gtk_entry_get_menu_entry_icon_text;GDK_AVAILABLE_IN_4_20;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"const gchar * gtk_entry_get_menu_entry_icon_text (GtkEntry *entry, GtkEntryIconPosition icon_pos);\";function gtk_entry_get_menu_entry_icon_text(entry, icon_pos) bind(c)\r\ngtk;gtk_entry_get_overwrite_mode;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"gboolean gtk_entry_get_overwrite_mode (GtkEntry *entry);\";function gtk_entry_get_overwrite_mode(entry) bind(c)\r\ngtk;gtk_entry_get_placeholder_text;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"const char * gtk_entry_get_placeholder_text (GtkEntry *entry);\";function gtk_entry_get_placeholder_text(entry) bind(c)\r\ngtk;gtk_entry_get_progress_fraction;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"double gtk_entry_get_progress_fraction (GtkEntry *entry);\";function gtk_entry_get_progress_fraction(entry) bind(c)\r\ngtk;gtk_entry_get_progress_pulse_step;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"double gtk_entry_get_progress_pulse_step (GtkEntry *entry);\";function gtk_entry_get_progress_pulse_step(entry) bind(c)\r\ngtk;gtk_entry_get_tabs;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"PangoTabArray *gtk_entry_get_tabs (GtkEntry *entry);\";function gtk_entry_get_tabs(entry) bind(c)\r\ngtk;gtk_entry_get_text_length;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"guint16 gtk_entry_get_text_length (GtkEntry *entry);\";function gtk_entry_get_text_length(entry) bind(c)\r\ngtk;gtk_entry_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"GType gtk_entry_get_type (void) ;\";function gtk_entry_get_type() bind(c)\r\ngtk;gtk_entry_get_visibility;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"gboolean gtk_entry_get_visibility (GtkEntry *entry);\";function gtk_entry_get_visibility(entry) bind(c)\r\ngtk;gtk_entry_grab_focus_without_selecting;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"gboolean gtk_entry_grab_focus_without_selecting (GtkEntry *entry);\";function gtk_entry_grab_focus_without_selecting(entry) bind(c)\r\ngtk;gtk_entry_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"GtkWidget* gtk_entry_new (void);\";function gtk_entry_new() bind(c)\r\ngtk;gtk_entry_new_with_buffer;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"GtkWidget* gtk_entry_new_with_buffer (GtkEntryBuffer *buffer);\";function gtk_entry_new_with_buffer(buffer) bind(c)\r\ngtk;gtk_entry_progress_pulse;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"void gtk_entry_progress_pulse (GtkEntry *entry);\";subroutine gtk_entry_progress_pulse(entry) bind(c)\r\ngtk;gtk_entry_reset_im_context;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"void gtk_entry_reset_im_context (GtkEntry *entry);\";subroutine gtk_entry_reset_im_context(entry) bind(c)\r\ngtk;gtk_entry_set_activates_default;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"void gtk_entry_set_activates_default (GtkEntry *entry, gboolean setting);\";subroutine gtk_entry_set_activates_default(entry, setting) bind(c)\r\ngtk;gtk_entry_set_alignment;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"void gtk_entry_set_alignment (GtkEntry *entry, float xalign);\";subroutine gtk_entry_set_alignment(entry, xalign) bind(c)\r\ngtk;gtk_entry_set_attributes;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"void gtk_entry_set_attributes (GtkEntry *entry, PangoAttrList *attrs);\";subroutine gtk_entry_set_attributes(entry, attrs) bind(c)\r\ngtk;gtk_entry_set_buffer;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"void gtk_entry_set_buffer (GtkEntry *entry, GtkEntryBuffer *buffer);\";subroutine gtk_entry_set_buffer(entry, buffer) bind(c)\r\ngtk;gtk_entry_set_completion;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"void gtk_entry_set_completion (GtkEntry *entry, GtkEntryCompletion *completion);\";subroutine gtk_entry_set_completion(entry, completion) bind(c)\r\ngtk;gtk_entry_set_extra_menu;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"void gtk_entry_set_extra_menu (GtkEntry *entry, GMenuModel *model);\";subroutine gtk_entry_set_extra_menu(entry, model) bind(c)\r\ngtk;gtk_entry_set_has_frame;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"void gtk_entry_set_has_frame (GtkEntry *entry, gboolean setting);\";subroutine gtk_entry_set_has_frame(entry, setting) bind(c)\r\ngtk;gtk_entry_set_icon_activatable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"void gtk_entry_set_icon_activatable (GtkEntry *entry, GtkEntryIconPosition icon_pos, gboolean activatable);\";subroutine gtk_entry_set_icon_activatable(entry, icon_pos, activatable) bind(c)\r\ngtk;gtk_entry_set_icon_drag_source;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"void gtk_entry_set_icon_drag_source (GtkEntry *entry, GtkEntryIconPosition icon_pos, GdkContentProvider *provider, GdkDragAction actions);\";subroutine gtk_entry_set_icon_drag_source(entry, icon_pos, provider, actions) bind(c)\r\ngtk;gtk_entry_set_icon_from_gicon;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"void gtk_entry_set_icon_from_gicon (GtkEntry *entry, GtkEntryIconPosition icon_pos, GIcon *icon);\";subroutine gtk_entry_set_icon_from_gicon(entry, icon_pos, icon) bind(c)\r\ngtk;gtk_entry_set_icon_from_icon_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"void gtk_entry_set_icon_from_icon_name (GtkEntry *entry, GtkEntryIconPosition icon_pos, const char *icon_name);\";subroutine gtk_entry_set_icon_from_icon_name(entry, icon_pos, icon_name) bind(c)\r\ngtk;gtk_entry_set_icon_from_paintable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"void gtk_entry_set_icon_from_paintable (GtkEntry *entry, GtkEntryIconPosition icon_pos, GdkPaintable *paintable);\";subroutine gtk_entry_set_icon_from_paintable(entry, icon_pos, paintable) bind(c)\r\ngtk;gtk_entry_set_icon_sensitive;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"void gtk_entry_set_icon_sensitive (GtkEntry *entry, GtkEntryIconPosition icon_pos, gboolean sensitive);\";subroutine gtk_entry_set_icon_sensitive(entry, icon_pos, sensitive) bind(c)\r\ngtk;gtk_entry_set_icon_tooltip_markup;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"void gtk_entry_set_icon_tooltip_markup (GtkEntry *entry, GtkEntryIconPosition icon_pos, const char *tooltip);\";subroutine gtk_entry_set_icon_tooltip_markup(entry, icon_pos, tooltip) bind(c)\r\ngtk;gtk_entry_set_icon_tooltip_text;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"void gtk_entry_set_icon_tooltip_text (GtkEntry *entry, GtkEntryIconPosition icon_pos, const char *tooltip);\";subroutine gtk_entry_set_icon_tooltip_text(entry, icon_pos, tooltip) bind(c)\r\ngtk;gtk_entry_set_input_hints;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"void gtk_entry_set_input_hints (GtkEntry *entry, GtkInputHints hints);\";subroutine gtk_entry_set_input_hints(entry, hints) bind(c)\r\ngtk;gtk_entry_set_input_purpose;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"void gtk_entry_set_input_purpose (GtkEntry *entry, GtkInputPurpose purpose);\";subroutine gtk_entry_set_input_purpose(entry, purpose) bind(c)\r\ngtk;gtk_entry_set_invisible_char;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"void gtk_entry_set_invisible_char (GtkEntry *entry, gunichar ch);\";subroutine gtk_entry_set_invisible_char(entry, ch) bind(c)\r\ngtk;gtk_entry_set_max_length;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"void gtk_entry_set_max_length (GtkEntry *entry, int max);\";subroutine gtk_entry_set_max_length(entry, max) bind(c)\r\ngtk;gtk_entry_set_menu_entry_icon_text;GDK_AVAILABLE_IN_4_20;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"void gtk_entry_set_menu_entry_icon_text (GtkEntry *entry, GtkEntryIconPosition icon_pos, const gchar *text);\";subroutine gtk_entry_set_menu_entry_icon_text(entry, icon_pos, text) bind(c)\r\ngtk;gtk_entry_set_overwrite_mode;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"void gtk_entry_set_overwrite_mode (GtkEntry *entry, gboolean overwrite);\";subroutine gtk_entry_set_overwrite_mode(entry, overwrite) bind(c)\r\ngtk;gtk_entry_set_placeholder_text;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"void gtk_entry_set_placeholder_text (GtkEntry *entry, const char *text);\";subroutine gtk_entry_set_placeholder_text(entry, text) bind(c)\r\ngtk;gtk_entry_set_progress_fraction;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"void gtk_entry_set_progress_fraction (GtkEntry *entry, double fraction);\";subroutine gtk_entry_set_progress_fraction(entry, fraction) bind(c)\r\ngtk;gtk_entry_set_progress_pulse_step;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"void gtk_entry_set_progress_pulse_step (GtkEntry *entry, double fraction);\";subroutine gtk_entry_set_progress_pulse_step(entry, fraction) bind(c)\r\ngtk;gtk_entry_set_tabs;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"void gtk_entry_set_tabs (GtkEntry *entry, PangoTabArray *tabs);\";subroutine gtk_entry_set_tabs(entry, tabs) bind(c)\r\ngtk;gtk_entry_set_visibility;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"void gtk_entry_set_visibility (GtkEntry *entry, gboolean visible);\";subroutine gtk_entry_set_visibility(entry, visible) bind(c)\r\ngtk;gtk_entry_unset_invisible_char;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkentry.h;\"void gtk_entry_unset_invisible_char (GtkEntry *entry);\";subroutine gtk_entry_unset_invisible_char(entry) bind(c)\r\ngtk;gtk_event_controller_focus_contains_focus;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeventcontrollerfocus.h;\"gboolean gtk_event_controller_focus_contains_focus (GtkEventControllerFocus *self);\";function gtk_event_controller_focus_contains_focus(self) bind(c)\r\ngtk;gtk_event_controller_focus_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeventcontrollerfocus.h;\"GType gtk_event_controller_focus_get_type (void) ;\";function gtk_event_controller_focus_get_type() bind(c)\r\ngtk;gtk_event_controller_focus_is_focus;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeventcontrollerfocus.h;\"gboolean gtk_event_controller_focus_is_focus (GtkEventControllerFocus *self);\";function gtk_event_controller_focus_is_focus(self) bind(c)\r\ngtk;gtk_event_controller_focus_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeventcontrollerfocus.h;\"GtkEventController *gtk_event_controller_focus_new (void);\";function gtk_event_controller_focus_new() bind(c)\r\ngtk;gtk_event_controller_get_current_event;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeventcontroller.h;\"GdkEvent * gtk_event_controller_get_current_event (GtkEventController *controller);\";function gtk_event_controller_get_current_event(controller) bind(c)\r\ngtk;gtk_event_controller_get_current_event_device;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeventcontroller.h;\"GdkDevice * gtk_event_controller_get_current_event_device (GtkEventController *controller);\";function gtk_event_controller_get_current_event_device(controller) bind(c)\r\ngtk;gtk_event_controller_get_current_event_state;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeventcontroller.h;\"GdkModifierType gtk_event_controller_get_current_event_state (GtkEventController *controller);\";function gtk_event_controller_get_current_event_state(controller) bind(c)\r\ngtk;gtk_event_controller_get_current_event_time;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeventcontroller.h;\"guint32 gtk_event_controller_get_current_event_time (GtkEventController *controller);\";function gtk_event_controller_get_current_event_time(controller) bind(c)\r\ngtk;gtk_event_controller_get_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeventcontroller.h;\"const char * gtk_event_controller_get_name (GtkEventController *controller);\";function gtk_event_controller_get_name(controller) bind(c)\r\ngtk;gtk_event_controller_get_propagation_limit;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeventcontroller.h;\"GtkPropagationLimit gtk_event_controller_get_propagation_limit (GtkEventController *controller);\";function gtk_event_controller_get_propagation_limit(controller) bind(c)\r\ngtk;gtk_event_controller_get_propagation_phase;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeventcontroller.h;\"GtkPropagationPhase gtk_event_controller_get_propagation_phase (GtkEventController *controller);\";function gtk_event_controller_get_propagation_phase(controller) bind(c)\r\ngtk;gtk_event_controller_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeventcontroller.h;\"GType gtk_event_controller_get_type (void) ;\";function gtk_event_controller_get_type() bind(c)\r\ngtk;gtk_event_controller_get_widget;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeventcontroller.h;\"GtkWidget * gtk_event_controller_get_widget (GtkEventController *controller);\";function gtk_event_controller_get_widget(controller) bind(c)\r\ngtk;gtk_event_controller_key_forward;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeventcontrollerkey.h;\"gboolean gtk_event_controller_key_forward (GtkEventControllerKey *controller, GtkWidget *widget);\";function gtk_event_controller_key_forward(controller, widget) bind(c)\r\ngtk;gtk_event_controller_key_get_group;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeventcontrollerkey.h;\"guint gtk_event_controller_key_get_group (GtkEventControllerKey *controller);\";function gtk_event_controller_key_get_group(controller) bind(c)\r\ngtk;gtk_event_controller_key_get_im_context;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeventcontrollerkey.h;\"GtkIMContext * gtk_event_controller_key_get_im_context (GtkEventControllerKey *controller);\";function gtk_event_controller_key_get_im_context(controller) bind(c)\r\ngtk;gtk_event_controller_key_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeventcontrollerkey.h;\"GType gtk_event_controller_key_get_type (void) ;\";function gtk_event_controller_key_get_type() bind(c)\r\ngtk;gtk_event_controller_key_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeventcontrollerkey.h;\"GtkEventController *gtk_event_controller_key_new (void);\";function gtk_event_controller_key_new() bind(c)\r\ngtk;gtk_event_controller_key_set_im_context;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeventcontrollerkey.h;\"void gtk_event_controller_key_set_im_context (GtkEventControllerKey *controller, GtkIMContext *im_context);\";subroutine gtk_event_controller_key_set_im_context(controller, im_context) bind(c)\r\ngtk;gtk_event_controller_legacy_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeventcontrollerlegacy.h;\"GType gtk_event_controller_legacy_get_type (void) ;\";function gtk_event_controller_legacy_get_type() bind(c)\r\ngtk;gtk_event_controller_legacy_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeventcontrollerlegacy.h;\"GtkEventController *gtk_event_controller_legacy_new (void);\";function gtk_event_controller_legacy_new() bind(c)\r\ngtk;gtk_event_controller_motion_contains_pointer;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeventcontrollermotion.h;\"gboolean gtk_event_controller_motion_contains_pointer (GtkEventControllerMotion *self);\";function gtk_event_controller_motion_contains_pointer(self) bind(c)\r\ngtk;gtk_event_controller_motion_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeventcontrollermotion.h;\"GType gtk_event_controller_motion_get_type (void) ;\";function gtk_event_controller_motion_get_type() bind(c)\r\ngtk;gtk_event_controller_motion_is_pointer;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeventcontrollermotion.h;\"gboolean gtk_event_controller_motion_is_pointer (GtkEventControllerMotion *self);\";function gtk_event_controller_motion_is_pointer(self) bind(c)\r\ngtk;gtk_event_controller_motion_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeventcontrollermotion.h;\"GtkEventController *gtk_event_controller_motion_new (void);\";function gtk_event_controller_motion_new() bind(c)\r\ngtk;gtk_event_controller_reset;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeventcontroller.h;\"void gtk_event_controller_reset (GtkEventController *controller);\";subroutine gtk_event_controller_reset(controller) bind(c)\r\ngtk;gtk_event_controller_scroll_get_flags;;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeventcontrollerscroll.h;\"GtkEventControllerScrollFlags gtk_event_controller_scroll_get_flags (GtkEventControllerScroll *scroll);\";function gtk_event_controller_scroll_get_flags(scroll) bind(c)\r\ngtk;gtk_event_controller_scroll_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeventcontrollerscroll.h;\"GType gtk_event_controller_scroll_get_type (void) ;\";function gtk_event_controller_scroll_get_type() bind(c)\r\ngtk;gtk_event_controller_scroll_get_unit;GDK_AVAILABLE_IN_4_8;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeventcontrollerscroll.h;\"GdkScrollUnit gtk_event_controller_scroll_get_unit (GtkEventControllerScroll *scroll);\";function gtk_event_controller_scroll_get_unit(scroll) bind(c)\r\ngtk;gtk_event_controller_scroll_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeventcontrollerscroll.h;\"GtkEventController *gtk_event_controller_scroll_new (GtkEventControllerScrollFlags flags);\";function gtk_event_controller_scroll_new(flags) bind(c)\r\ngtk;gtk_event_controller_scroll_set_flags;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeventcontrollerscroll.h;\"void gtk_event_controller_scroll_set_flags (GtkEventControllerScroll *scroll, GtkEventControllerScrollFlags flags);\";subroutine gtk_event_controller_scroll_set_flags(scroll, flags) bind(c)\r\ngtk;gtk_event_controller_set_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeventcontroller.h;\"void gtk_event_controller_set_name (GtkEventController *controller, const char *name);\";subroutine gtk_event_controller_set_name(controller, name) bind(c)\r\ngtk;gtk_event_controller_set_propagation_limit;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeventcontroller.h;\"void gtk_event_controller_set_propagation_limit (GtkEventController *controller, GtkPropagationLimit limit);\";subroutine gtk_event_controller_set_propagation_limit(controller, limit) bind(c)\r\ngtk;gtk_event_controller_set_propagation_phase;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeventcontroller.h;\"void gtk_event_controller_set_propagation_phase (GtkEventController *controller, GtkPropagationPhase phase);\";subroutine gtk_event_controller_set_propagation_phase(controller, phase) bind(c)\r\ngtk;gtk_event_controller_set_static_name;GDK_AVAILABLE_IN_4_8;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkeventcontroller.h;\"void gtk_event_controller_set_static_name (GtkEventController *controller, const char *name);\";subroutine gtk_event_controller_set_static_name(controller, name) bind(c)\r\ngtk;gtk_every_filter_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmultifilter.h;\"GtkEveryFilter * gtk_every_filter_new (void);\";function gtk_every_filter_new() bind(c)\r\ngtk;gtk_expander_get_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpander.h;\"GtkWidget * gtk_expander_get_child (GtkExpander *expander);\";function gtk_expander_get_child(expander) bind(c)\r\ngtk;gtk_expander_get_expanded;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpander.h;\"gboolean gtk_expander_get_expanded (GtkExpander *expander);\";function gtk_expander_get_expanded(expander) bind(c)\r\ngtk;gtk_expander_get_label;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpander.h;\"const char * gtk_expander_get_label (GtkExpander *expander);\";function gtk_expander_get_label(expander) bind(c)\r\ngtk;gtk_expander_get_label_widget;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpander.h;\"GtkWidget *gtk_expander_get_label_widget (GtkExpander *expander);\";function gtk_expander_get_label_widget(expander) bind(c)\r\ngtk;gtk_expander_get_resize_toplevel;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpander.h;\"gboolean gtk_expander_get_resize_toplevel (GtkExpander *expander);\";function gtk_expander_get_resize_toplevel(expander) bind(c)\r\ngtk;gtk_expander_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpander.h;\"GType gtk_expander_get_type (void) ;\";function gtk_expander_get_type() bind(c)\r\ngtk;gtk_expander_get_use_markup;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpander.h;\"gboolean gtk_expander_get_use_markup (GtkExpander *expander);\";function gtk_expander_get_use_markup(expander) bind(c)\r\ngtk;gtk_expander_get_use_underline;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpander.h;\"gboolean gtk_expander_get_use_underline (GtkExpander *expander);\";function gtk_expander_get_use_underline(expander) bind(c)\r\ngtk;gtk_expander_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpander.h;\"GtkWidget *gtk_expander_new (const char *label);\";function gtk_expander_new(label) bind(c)\r\ngtk;gtk_expander_new_with_mnemonic;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpander.h;\"GtkWidget *gtk_expander_new_with_mnemonic (const char *label);\";function gtk_expander_new_with_mnemonic(label) bind(c)\r\ngtk;gtk_expander_set_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpander.h;\"void gtk_expander_set_child (GtkExpander *expander, GtkWidget *child);\";subroutine gtk_expander_set_child(expander, child) bind(c)\r\ngtk;gtk_expander_set_expanded;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpander.h;\"void gtk_expander_set_expanded (GtkExpander *expander, gboolean expanded);\";subroutine gtk_expander_set_expanded(expander, expanded) bind(c)\r\ngtk;gtk_expander_set_label;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpander.h;\"void gtk_expander_set_label (GtkExpander *expander, const char *label);\";subroutine gtk_expander_set_label(expander, label) bind(c)\r\ngtk;gtk_expander_set_label_widget;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpander.h;\"void gtk_expander_set_label_widget (GtkExpander *expander, GtkWidget *label_widget);\";subroutine gtk_expander_set_label_widget(expander, label_widget) bind(c)\r\ngtk;gtk_expander_set_resize_toplevel;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpander.h;\"void gtk_expander_set_resize_toplevel (GtkExpander *expander, gboolean resize_toplevel);\";subroutine gtk_expander_set_resize_toplevel(expander, resize_toplevel) bind(c)\r\ngtk;gtk_expander_set_use_markup;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpander.h;\"void gtk_expander_set_use_markup (GtkExpander *expander, gboolean use_markup);\";subroutine gtk_expander_set_use_markup(expander, use_markup) bind(c)\r\ngtk;gtk_expander_set_use_underline;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpander.h;\"void gtk_expander_set_use_underline (GtkExpander *expander, gboolean use_underline);\";subroutine gtk_expander_set_use_underline(expander, use_underline) bind(c)\r\ngtk;gtk_expression_bind;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpression.h;\"GtkExpressionWatch * gtk_expression_bind (GtkExpression *self, gpointer target, const char * property, gpointer this_);\";function gtk_expression_bind(self, target, property, this_) bind(c)\r\ngtk;gtk_expression_evaluate;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpression.h;\"gboolean gtk_expression_evaluate (GtkExpression *self, gpointer this_, GValue *value);\";function gtk_expression_evaluate(self, this_, value) bind(c)\r\ngtk;gtk_expression_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpression.h;\"GType gtk_expression_get_type (void) ;\";function gtk_expression_get_type() bind(c)\r\ngtk;gtk_expression_get_value_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpression.h;\"GType gtk_expression_get_value_type (GtkExpression *self);\";function gtk_expression_get_value_type(self) bind(c)\r\ngtk;gtk_expression_is_static;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpression.h;\"gboolean gtk_expression_is_static (GtkExpression *self);\";function gtk_expression_is_static(self) bind(c)\r\ngtk;gtk_expression_ref;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpression.h;\"GtkExpression * gtk_expression_ref (GtkExpression *self);\";function gtk_expression_ref(self) bind(c)\r\ngtk;gtk_expression_unref;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpression.h;\"void gtk_expression_unref (GtkExpression *self);\";subroutine gtk_expression_unref(self) bind(c)\r\ngtk;gtk_expression_watch;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpression.h;\"GtkExpressionWatch * gtk_expression_watch (GtkExpression *self, gpointer this_, GtkExpressionNotify notify, gpointer user_data, GDestroyNotify user_destroy);\";function gtk_expression_watch(self, this_, notify, user_data, user_destroy) bind(c)\r\ngtk;gtk_expression_watch_evaluate;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpression.h;\"gboolean gtk_expression_watch_evaluate (GtkExpressionWatch *watch, GValue *value);\";function gtk_expression_watch_evaluate(watch, value) bind(c)\r\ngtk;gtk_expression_watch_get_type;GDK_AVAILABLE_IN_4_2;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpression.h;\"GType gtk_expression_watch_get_type (void) ;\";function gtk_expression_watch_get_type() bind(c)\r\ngtk;gtk_expression_watch_ref;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpression.h;\"GtkExpressionWatch * gtk_expression_watch_ref (GtkExpressionWatch *watch);\";function gtk_expression_watch_ref(watch) bind(c)\r\ngtk;gtk_expression_watch_unref;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpression.h;\"void gtk_expression_watch_unref (GtkExpressionWatch *watch);\";subroutine gtk_expression_watch_unref(watch) bind(c)\r\ngtk;gtk_expression_watch_unwatch;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpression.h;\"void gtk_expression_watch_unwatch (GtkExpressionWatch *watch);\";subroutine gtk_expression_watch_unwatch(watch) bind(c)\r\ngtk;gtk_file_chooser_add_choice;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfilechooser.h;\"void gtk_file_chooser_add_choice (GtkFileChooser *chooser, const char *id, const char *label, const char **options, const char **option_labels);\";subroutine gtk_file_chooser_add_choice(chooser, id, label, options, option_labels) bind(c)\r\ngtk;gtk_file_chooser_add_filter;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfilechooser.h;\"void gtk_file_chooser_add_filter (GtkFileChooser *chooser, GtkFileFilter *filter);\";subroutine gtk_file_chooser_add_filter(chooser, filter) bind(c)\r\ngtk;gtk_file_chooser_add_shortcut_folder;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfilechooser.h;\"gboolean gtk_file_chooser_add_shortcut_folder (GtkFileChooser *chooser, GFile *folder, GError **error);\";function gtk_file_chooser_add_shortcut_folder(chooser, folder, error) bind(c)\r\ngtk;gtk_file_chooser_dialog_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfilechooserdialog.h;\"GType gtk_file_chooser_dialog_get_type (void) ;\";function gtk_file_chooser_dialog_get_type() bind(c)\r\ngtk;gtk_file_chooser_error_quark;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfilechooser.h;\"GQuark gtk_file_chooser_error_quark (void);\";function gtk_file_chooser_error_quark() bind(c)\r\ngtk;gtk_file_chooser_get_action;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfilechooser.h;\"GtkFileChooserAction gtk_file_chooser_get_action (GtkFileChooser *chooser);\";function gtk_file_chooser_get_action(chooser) bind(c)\r\ngtk;gtk_file_chooser_get_choice;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfilechooser.h;\"const char * gtk_file_chooser_get_choice (GtkFileChooser *chooser, const char *id);\";function gtk_file_chooser_get_choice(chooser, id) bind(c)\r\ngtk;gtk_file_chooser_get_create_folders;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfilechooser.h;\"gboolean gtk_file_chooser_get_create_folders (GtkFileChooser *chooser);\";function gtk_file_chooser_get_create_folders(chooser) bind(c)\r\ngtk;gtk_file_chooser_get_current_folder;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfilechooser.h;\"GFile * gtk_file_chooser_get_current_folder (GtkFileChooser *chooser);\";function gtk_file_chooser_get_current_folder(chooser) bind(c)\r\ngtk;gtk_file_chooser_get_current_name;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfilechooser.h;\"char * gtk_file_chooser_get_current_name (GtkFileChooser *chooser);\";function gtk_file_chooser_get_current_name(chooser) bind(c)\r\ngtk;gtk_file_chooser_get_file;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfilechooser.h;\"GFile * gtk_file_chooser_get_file (GtkFileChooser *chooser);\";function gtk_file_chooser_get_file(chooser) bind(c)\r\ngtk;gtk_file_chooser_get_files;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfilechooser.h;\"GListModel * gtk_file_chooser_get_files (GtkFileChooser *chooser);\";function gtk_file_chooser_get_files(chooser) bind(c)\r\ngtk;gtk_file_chooser_get_filter;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfilechooser.h;\"GtkFileFilter * gtk_file_chooser_get_filter (GtkFileChooser *chooser);\";function gtk_file_chooser_get_filter(chooser) bind(c)\r\ngtk;gtk_file_chooser_get_filters;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfilechooser.h;\"GListModel * gtk_file_chooser_get_filters (GtkFileChooser *chooser);\";function gtk_file_chooser_get_filters(chooser) bind(c)\r\ngtk;gtk_file_chooser_get_select_multiple;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfilechooser.h;\"gboolean gtk_file_chooser_get_select_multiple (GtkFileChooser *chooser);\";function gtk_file_chooser_get_select_multiple(chooser) bind(c)\r\ngtk;gtk_file_chooser_get_shortcut_folders;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfilechooser.h;\"GListModel * gtk_file_chooser_get_shortcut_folders (GtkFileChooser *chooser);\";function gtk_file_chooser_get_shortcut_folders(chooser) bind(c)\r\ngtk;gtk_file_chooser_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfilechooser.h;\"GType gtk_file_chooser_get_type (void) ;\";function gtk_file_chooser_get_type() bind(c)\r\ngtk;gtk_file_chooser_native_get_accept_label;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfilechoosernative.h;\"const char *gtk_file_chooser_native_get_accept_label (GtkFileChooserNative *self);\";function gtk_file_chooser_native_get_accept_label(self) bind(c)\r\ngtk;gtk_file_chooser_native_get_cancel_label;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfilechoosernative.h;\"const char *gtk_file_chooser_native_get_cancel_label (GtkFileChooserNative *self);\";function gtk_file_chooser_native_get_cancel_label(self) bind(c)\r\ngtk;gtk_file_chooser_native_new;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfilechoosernative.h;\"GtkFileChooserNative *gtk_file_chooser_native_new (const char *title, GtkWindow *parent, GtkFileChooserAction action, const char *accept_label, const char *cancel_label);\";function gtk_file_chooser_native_new(title, parent, action, accept_label, cancel_label) bind(c)\r\ngtk;gtk_file_chooser_native_set_accept_label;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfilechoosernative.h;\"void gtk_file_chooser_native_set_accept_label (GtkFileChooserNative *self, const char *accept_label);\";subroutine gtk_file_chooser_native_set_accept_label(self, accept_label) bind(c)\r\ngtk;gtk_file_chooser_native_set_cancel_label;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfilechoosernative.h;\"void gtk_file_chooser_native_set_cancel_label (GtkFileChooserNative *self, const char *cancel_label);\";subroutine gtk_file_chooser_native_set_cancel_label(self, cancel_label) bind(c)\r\ngtk;gtk_file_chooser_remove_choice;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfilechooser.h;\"void gtk_file_chooser_remove_choice (GtkFileChooser *chooser, const char *id);\";subroutine gtk_file_chooser_remove_choice(chooser, id) bind(c)\r\ngtk;gtk_file_chooser_remove_filter;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfilechooser.h;\"void gtk_file_chooser_remove_filter (GtkFileChooser *chooser, GtkFileFilter *filter);\";subroutine gtk_file_chooser_remove_filter(chooser, filter) bind(c)\r\ngtk;gtk_file_chooser_remove_shortcut_folder;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfilechooser.h;\"gboolean gtk_file_chooser_remove_shortcut_folder (GtkFileChooser *chooser, GFile *folder, GError **error);\";function gtk_file_chooser_remove_shortcut_folder(chooser, folder, error) bind(c)\r\ngtk;gtk_file_chooser_set_action;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfilechooser.h;\"void gtk_file_chooser_set_action (GtkFileChooser *chooser, GtkFileChooserAction action);\";subroutine gtk_file_chooser_set_action(chooser, action) bind(c)\r\ngtk;gtk_file_chooser_set_choice;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfilechooser.h;\"void gtk_file_chooser_set_choice (GtkFileChooser *chooser, const char *id, const char *option);\";subroutine gtk_file_chooser_set_choice(chooser, id, option) bind(c)\r\ngtk;gtk_file_chooser_set_create_folders;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfilechooser.h;\"void gtk_file_chooser_set_create_folders (GtkFileChooser *chooser, gboolean create_folders);\";subroutine gtk_file_chooser_set_create_folders(chooser, create_folders) bind(c)\r\ngtk;gtk_file_chooser_set_current_folder;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfilechooser.h;\"gboolean gtk_file_chooser_set_current_folder (GtkFileChooser *chooser, GFile *file, GError **error);\";function gtk_file_chooser_set_current_folder(chooser, file, error) bind(c)\r\ngtk;gtk_file_chooser_set_current_name;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfilechooser.h;\"void gtk_file_chooser_set_current_name (GtkFileChooser *chooser, const char *name);\";subroutine gtk_file_chooser_set_current_name(chooser, name) bind(c)\r\ngtk;gtk_file_chooser_set_file;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfilechooser.h;\"gboolean gtk_file_chooser_set_file (GtkFileChooser *chooser, GFile *file, GError **error);\";function gtk_file_chooser_set_file(chooser, file, error) bind(c)\r\ngtk;gtk_file_chooser_set_filter;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfilechooser.h;\"void gtk_file_chooser_set_filter (GtkFileChooser *chooser, GtkFileFilter *filter);\";subroutine gtk_file_chooser_set_filter(chooser, filter) bind(c)\r\ngtk;gtk_file_chooser_set_select_multiple;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfilechooser.h;\"void gtk_file_chooser_set_select_multiple (GtkFileChooser *chooser, gboolean select_multiple);\";subroutine gtk_file_chooser_set_select_multiple(chooser, select_multiple) bind(c)\r\ngtk;gtk_file_chooser_widget_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfilechooserwidget.h;\"GType gtk_file_chooser_widget_get_type (void) ;\";function gtk_file_chooser_widget_get_type() bind(c)\r\ngtk;gtk_file_chooser_widget_new;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfilechooserwidget.h;\"GtkWidget *gtk_file_chooser_widget_new (GtkFileChooserAction action);\";function gtk_file_chooser_widget_new(action) bind(c)\r\ngtk;gtk_file_dialog_get_accept_label;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfiledialog.h;\"const char * gtk_file_dialog_get_accept_label (GtkFileDialog *self);\";function gtk_file_dialog_get_accept_label(self) bind(c)\r\ngtk;gtk_file_dialog_get_default_filter;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfiledialog.h;\"GtkFileFilter * gtk_file_dialog_get_default_filter (GtkFileDialog *self);\";function gtk_file_dialog_get_default_filter(self) bind(c)\r\ngtk;gtk_file_dialog_get_filters;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfiledialog.h;\"GListModel * gtk_file_dialog_get_filters (GtkFileDialog *self);\";function gtk_file_dialog_get_filters(self) bind(c)\r\ngtk;gtk_file_dialog_get_initial_file;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfiledialog.h;\"GFile * gtk_file_dialog_get_initial_file (GtkFileDialog *self);\";function gtk_file_dialog_get_initial_file(self) bind(c)\r\ngtk;gtk_file_dialog_get_initial_folder;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfiledialog.h;\"GFile * gtk_file_dialog_get_initial_folder (GtkFileDialog *self);\";function gtk_file_dialog_get_initial_folder(self) bind(c)\r\ngtk;gtk_file_dialog_get_initial_name;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfiledialog.h;\"const char * gtk_file_dialog_get_initial_name (GtkFileDialog *self);\";function gtk_file_dialog_get_initial_name(self) bind(c)\r\ngtk;gtk_file_dialog_get_modal;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfiledialog.h;\"gboolean gtk_file_dialog_get_modal (GtkFileDialog *self);\";function gtk_file_dialog_get_modal(self) bind(c)\r\ngtk;gtk_file_dialog_get_title;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfiledialog.h;\"const char * gtk_file_dialog_get_title (GtkFileDialog *self);\";function gtk_file_dialog_get_title(self) bind(c)\r\ngtk;gtk_file_dialog_new;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfiledialog.h;\"GtkFileDialog * gtk_file_dialog_new (void);\";function gtk_file_dialog_new() bind(c)\r\ngtk;gtk_file_dialog_open;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfiledialog.h;\"void gtk_file_dialog_open (GtkFileDialog *self, GtkWindow *parent, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine gtk_file_dialog_open(self, parent, cancellable, callback, user_data) bind(c)\r\ngtk;gtk_file_dialog_open_finish;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfiledialog.h;\"GFile * gtk_file_dialog_open_finish (GtkFileDialog *self, GAsyncResult *result, GError **error);\";function gtk_file_dialog_open_finish(self, result, error) bind(c)\r\ngtk;gtk_file_dialog_open_multiple;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfiledialog.h;\"void gtk_file_dialog_open_multiple (GtkFileDialog *self, GtkWindow *parent, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine gtk_file_dialog_open_multiple(self, parent, cancellable, callback, user_data) bind(c)\r\ngtk;gtk_file_dialog_open_multiple_finish;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfiledialog.h;\"GListModel * gtk_file_dialog_open_multiple_finish (GtkFileDialog *self, GAsyncResult *result, GError **error);\";function gtk_file_dialog_open_multiple_finish(self, result, error) bind(c)\r\ngtk;gtk_file_dialog_open_multiple_text_files;GDK_AVAILABLE_IN_4_18;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfiledialog.h;\"void gtk_file_dialog_open_multiple_text_files (GtkFileDialog *self, GtkWindow *parent, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine gtk_file_dialog_open_multiple_text_files(self, parent, cancellable, callback, user_data) bind(c)\r\ngtk;gtk_file_dialog_open_multiple_text_files_finish;GDK_AVAILABLE_IN_4_18;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfiledialog.h;\"GListModel * gtk_file_dialog_open_multiple_text_files_finish (GtkFileDialog *self, GAsyncResult *result, const char **encoding, GError **error);\";function gtk_file_dialog_open_multiple_text_files_finish(self, result, encoding, error) bind(c)\r\ngtk;gtk_file_dialog_open_text_file;GDK_AVAILABLE_IN_4_18;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfiledialog.h;\"void gtk_file_dialog_open_text_file (GtkFileDialog *self, GtkWindow *parent, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine gtk_file_dialog_open_text_file(self, parent, cancellable, callback, user_data) bind(c)\r\ngtk;gtk_file_dialog_open_text_file_finish;GDK_AVAILABLE_IN_4_18;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfiledialog.h;\"GFile * gtk_file_dialog_open_text_file_finish (GtkFileDialog *self, GAsyncResult *result, const char **encoding, GError **error);\";function gtk_file_dialog_open_text_file_finish(self, result, encoding, error) bind(c)\r\ngtk;gtk_file_dialog_save;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfiledialog.h;\"void gtk_file_dialog_save (GtkFileDialog *self, GtkWindow *parent, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine gtk_file_dialog_save(self, parent, cancellable, callback, user_data) bind(c)\r\ngtk;gtk_file_dialog_save_finish;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfiledialog.h;\"GFile * gtk_file_dialog_save_finish (GtkFileDialog *self, GAsyncResult *result, GError **error);\";function gtk_file_dialog_save_finish(self, result, error) bind(c)\r\ngtk;gtk_file_dialog_save_text_file;GDK_AVAILABLE_IN_4_18;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfiledialog.h;\"void gtk_file_dialog_save_text_file (GtkFileDialog *self, GtkWindow *parent, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine gtk_file_dialog_save_text_file(self, parent, cancellable, callback, user_data) bind(c)\r\ngtk;gtk_file_dialog_save_text_file_finish;GDK_AVAILABLE_IN_4_18;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfiledialog.h;\"GFile * gtk_file_dialog_save_text_file_finish (GtkFileDialog *self, GAsyncResult *result, const char **encoding, const char **line_ending, GError **error);\";function gtk_file_dialog_save_text_file_finish(self, result, encoding, line_ending, error) bind(c)\r\ngtk;gtk_file_dialog_select_folder;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfiledialog.h;\"void gtk_file_dialog_select_folder (GtkFileDialog *self, GtkWindow *parent, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine gtk_file_dialog_select_folder(self, parent, cancellable, callback, user_data) bind(c)\r\ngtk;gtk_file_dialog_select_folder_finish;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfiledialog.h;\"GFile * gtk_file_dialog_select_folder_finish (GtkFileDialog *self, GAsyncResult *result, GError **error);\";function gtk_file_dialog_select_folder_finish(self, result, error) bind(c)\r\ngtk;gtk_file_dialog_select_multiple_folders;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfiledialog.h;\"void gtk_file_dialog_select_multiple_folders (GtkFileDialog *self, GtkWindow *parent, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine gtk_file_dialog_select_multiple_folders(self, parent, cancellable, callback, user_data) bind(c)\r\ngtk;gtk_file_dialog_select_multiple_folders_finish;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfiledialog.h;\"GListModel * gtk_file_dialog_select_multiple_folders_finish (GtkFileDialog *self, GAsyncResult *result, GError **error);\";function gtk_file_dialog_select_multiple_folders_finish(self, result, error) bind(c)\r\ngtk;gtk_file_dialog_set_accept_label;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfiledialog.h;\"void gtk_file_dialog_set_accept_label (GtkFileDialog *self, const char *accept_label);\";subroutine gtk_file_dialog_set_accept_label(self, accept_label) bind(c)\r\ngtk;gtk_file_dialog_set_default_filter;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfiledialog.h;\"void gtk_file_dialog_set_default_filter (GtkFileDialog *self, GtkFileFilter *filter);\";subroutine gtk_file_dialog_set_default_filter(self, filter) bind(c)\r\ngtk;gtk_file_dialog_set_filters;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfiledialog.h;\"void gtk_file_dialog_set_filters (GtkFileDialog *self, GListModel *filters);\";subroutine gtk_file_dialog_set_filters(self, filters) bind(c)\r\ngtk;gtk_file_dialog_set_initial_file;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfiledialog.h;\"void gtk_file_dialog_set_initial_file (GtkFileDialog *self, GFile *file);\";subroutine gtk_file_dialog_set_initial_file(self, file) bind(c)\r\ngtk;gtk_file_dialog_set_initial_folder;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfiledialog.h;\"void gtk_file_dialog_set_initial_folder (GtkFileDialog *self, GFile *folder);\";subroutine gtk_file_dialog_set_initial_folder(self, folder) bind(c)\r\ngtk;gtk_file_dialog_set_initial_name;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfiledialog.h;\"void gtk_file_dialog_set_initial_name (GtkFileDialog *self, const char *name);\";subroutine gtk_file_dialog_set_initial_name(self, name) bind(c)\r\ngtk;gtk_file_dialog_set_modal;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfiledialog.h;\"void gtk_file_dialog_set_modal (GtkFileDialog *self, gboolean modal);\";subroutine gtk_file_dialog_set_modal(self, modal) bind(c)\r\ngtk;gtk_file_dialog_set_title;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfiledialog.h;\"void gtk_file_dialog_set_title (GtkFileDialog *self, const char *title);\";subroutine gtk_file_dialog_set_title(self, title) bind(c)\r\ngtk;gtk_file_filter_add_mime_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfilefilter.h;\"void gtk_file_filter_add_mime_type (GtkFileFilter *filter, const char *mime_type);\";subroutine gtk_file_filter_add_mime_type(filter, mime_type) bind(c)\r\ngtk;gtk_file_filter_add_pattern;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfilefilter.h;\"void gtk_file_filter_add_pattern (GtkFileFilter *filter, const char *pattern);\";subroutine gtk_file_filter_add_pattern(filter, pattern) bind(c)\r\ngtk;gtk_file_filter_add_pixbuf_formats;GDK_DEPRECATED_IN_4_20;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfilefilter.h;\"void gtk_file_filter_add_pixbuf_formats (GtkFileFilter *filter);\";subroutine gtk_file_filter_add_pixbuf_formats(filter) bind(c)\r\ngtk;gtk_file_filter_add_suffix;GDK_AVAILABLE_IN_4_4;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfilefilter.h;\"void gtk_file_filter_add_suffix (GtkFileFilter *filter, const char *suffix);\";subroutine gtk_file_filter_add_suffix(filter, suffix) bind(c)\r\ngtk;gtk_file_filter_get_attributes;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfilefilter.h;\"const char ** gtk_file_filter_get_attributes (GtkFileFilter *filter);\";function gtk_file_filter_get_attributes(filter) bind(c)\r\ngtk;gtk_file_filter_get_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfilefilter.h;\"const char * gtk_file_filter_get_name (GtkFileFilter *filter);\";function gtk_file_filter_get_name(filter) bind(c)\r\ngtk;gtk_file_filter_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfilefilter.h;\"GType gtk_file_filter_get_type (void) ;\";function gtk_file_filter_get_type() bind(c)\r\ngtk;gtk_file_filter_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfilefilter.h;\"GtkFileFilter * gtk_file_filter_new (void);\";function gtk_file_filter_new() bind(c)\r\ngtk;gtk_file_filter_new_from_gvariant;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfilefilter.h;\"GtkFileFilter * gtk_file_filter_new_from_gvariant (GVariant *variant);\";function gtk_file_filter_new_from_gvariant(variant) bind(c)\r\ngtk;gtk_file_filter_set_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfilefilter.h;\"void gtk_file_filter_set_name (GtkFileFilter *filter, const char *name);\";subroutine gtk_file_filter_set_name(filter, name) bind(c)\r\ngtk;gtk_file_filter_to_gvariant;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfilefilter.h;\"GVariant * gtk_file_filter_to_gvariant (GtkFileFilter *filter);\";function gtk_file_filter_to_gvariant(filter) bind(c)\r\ngtk;gtk_file_launcher_get_always_ask;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfilelauncher.h;\"gboolean gtk_file_launcher_get_always_ask (GtkFileLauncher *self);\";function gtk_file_launcher_get_always_ask(self) bind(c)\r\ngtk;gtk_file_launcher_get_file;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfilelauncher.h;\"GFile * gtk_file_launcher_get_file (GtkFileLauncher *self);\";function gtk_file_launcher_get_file(self) bind(c)\r\ngtk;gtk_file_launcher_get_writable;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfilelauncher.h;\"gboolean gtk_file_launcher_get_writable (GtkFileLauncher *self);\";function gtk_file_launcher_get_writable(self) bind(c)\r\ngtk;gtk_file_launcher_launch;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfilelauncher.h;\"void gtk_file_launcher_launch (GtkFileLauncher *self, GtkWindow *parent, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine gtk_file_launcher_launch(self, parent, cancellable, callback, user_data) bind(c)\r\ngtk;gtk_file_launcher_launch_finish;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfilelauncher.h;\"gboolean gtk_file_launcher_launch_finish (GtkFileLauncher *self, GAsyncResult *result, GError **error);\";function gtk_file_launcher_launch_finish(self, result, error) bind(c)\r\ngtk;gtk_file_launcher_new;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfilelauncher.h;\"GtkFileLauncher * gtk_file_launcher_new (GFile *file);\";function gtk_file_launcher_new(file) bind(c)\r\ngtk;gtk_file_launcher_open_containing_folder;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfilelauncher.h;\"void gtk_file_launcher_open_containing_folder (GtkFileLauncher *self, GtkWindow *parent, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine gtk_file_launcher_open_containing_folder(self, parent, cancellable, callback, user_data) bind(c)\r\ngtk;gtk_file_launcher_open_containing_folder_finish;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfilelauncher.h;\"gboolean gtk_file_launcher_open_containing_folder_finish (GtkFileLauncher *self, GAsyncResult *result, GError **error);\";function gtk_file_launcher_open_containing_folder_finish(self, result, error) bind(c)\r\ngtk;gtk_file_launcher_set_always_ask;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfilelauncher.h;\"void gtk_file_launcher_set_always_ask (GtkFileLauncher *self, gboolean always_ask);\";subroutine gtk_file_launcher_set_always_ask(self, always_ask) bind(c)\r\ngtk;gtk_file_launcher_set_file;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfilelauncher.h;\"void gtk_file_launcher_set_file (GtkFileLauncher *self, GFile *file);\";subroutine gtk_file_launcher_set_file(self, file) bind(c)\r\ngtk;gtk_file_launcher_set_writable;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfilelauncher.h;\"void gtk_file_launcher_set_writable (GtkFileLauncher *self, gboolean writable);\";subroutine gtk_file_launcher_set_writable(self, writable) bind(c)\r\ngtk;gtk_filter_changed;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfilter.h;\"void gtk_filter_changed (GtkFilter *self, GtkFilterChange change);\";subroutine gtk_filter_changed(self, change) bind(c)\r\ngtk;gtk_filter_get_strictness;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfilter.h;\"GtkFilterMatch gtk_filter_get_strictness (GtkFilter *self);\";function gtk_filter_get_strictness(self) bind(c)\r\ngtk;gtk_filter_list_model_get_filter;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfilterlistmodel.h;\"GtkFilter * gtk_filter_list_model_get_filter (GtkFilterListModel *self);\";function gtk_filter_list_model_get_filter(self) bind(c)\r\ngtk;gtk_filter_list_model_get_incremental;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfilterlistmodel.h;\"gboolean gtk_filter_list_model_get_incremental (GtkFilterListModel *self);\";function gtk_filter_list_model_get_incremental(self) bind(c)\r\ngtk;gtk_filter_list_model_get_model;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfilterlistmodel.h;\"GListModel * gtk_filter_list_model_get_model (GtkFilterListModel *self);\";function gtk_filter_list_model_get_model(self) bind(c)\r\ngtk;gtk_filter_list_model_get_pending;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfilterlistmodel.h;\"guint gtk_filter_list_model_get_pending (GtkFilterListModel *self);\";function gtk_filter_list_model_get_pending(self) bind(c)\r\ngtk;gtk_filter_list_model_get_watch_items;GDK_AVAILABLE_IN_4_20;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfilterlistmodel.h;\"gboolean gtk_filter_list_model_get_watch_items (GtkFilterListModel *self);\";function gtk_filter_list_model_get_watch_items(self) bind(c)\r\ngtk;gtk_filter_list_model_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfilterlistmodel.h;\"GtkFilterListModel * gtk_filter_list_model_new (GListModel *model, GtkFilter *filter);\";function gtk_filter_list_model_new(model, filter) bind(c)\r\ngtk;gtk_filter_list_model_set_filter;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfilterlistmodel.h;\"void gtk_filter_list_model_set_filter (GtkFilterListModel *self, GtkFilter *filter);\";subroutine gtk_filter_list_model_set_filter(self, filter) bind(c)\r\ngtk;gtk_filter_list_model_set_incremental;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfilterlistmodel.h;\"void gtk_filter_list_model_set_incremental (GtkFilterListModel *self, gboolean incremental);\";subroutine gtk_filter_list_model_set_incremental(self, incremental) bind(c)\r\ngtk;gtk_filter_list_model_set_model;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfilterlistmodel.h;\"void gtk_filter_list_model_set_model (GtkFilterListModel *self, GListModel *model);\";subroutine gtk_filter_list_model_set_model(self, model) bind(c)\r\ngtk;gtk_filter_list_model_set_watch_items;GDK_AVAILABLE_IN_4_20;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfilterlistmodel.h;\"void gtk_filter_list_model_set_watch_items (GtkFilterListModel *self, gboolean watch_items);\";subroutine gtk_filter_list_model_set_watch_items(self, watch_items) bind(c)\r\ngtk;gtk_filter_match;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfilter.h;\"gboolean gtk_filter_match (GtkFilter *self, gpointer item);\";function gtk_filter_match(self, item) bind(c)\r\ngtk;gtk_fixed_get_child_position;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfixed.h;\"void gtk_fixed_get_child_position (GtkFixed *fixed, GtkWidget *widget, double *x, double *y);\";subroutine gtk_fixed_get_child_position(fixed, widget, x, y) bind(c)\r\ngtk;gtk_fixed_get_child_transform;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfixed.h;\"GskTransform * gtk_fixed_get_child_transform (GtkFixed *fixed, GtkWidget *widget);\";function gtk_fixed_get_child_transform(fixed, widget) bind(c)\r\ngtk;gtk_fixed_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfixed.h;\"GType gtk_fixed_get_type (void) ;\";function gtk_fixed_get_type() bind(c)\r\ngtk;gtk_fixed_layout_child_get_transform;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfixedlayout.h;\"GskTransform * gtk_fixed_layout_child_get_transform (GtkFixedLayoutChild *child);\";function gtk_fixed_layout_child_get_transform(child) bind(c)\r\ngtk;gtk_fixed_layout_child_set_transform;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfixedlayout.h;\"void gtk_fixed_layout_child_set_transform (GtkFixedLayoutChild *child, GskTransform *transform);\";subroutine gtk_fixed_layout_child_set_transform(child, transform) bind(c)\r\ngtk;gtk_fixed_layout_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfixedlayout.h;\"GtkLayoutManager * gtk_fixed_layout_new (void);\";function gtk_fixed_layout_new() bind(c)\r\ngtk;gtk_fixed_move;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfixed.h;\"void gtk_fixed_move (GtkFixed *fixed, GtkWidget *widget, double x, double y);\";subroutine gtk_fixed_move(fixed, widget, x, y) bind(c)\r\ngtk;gtk_fixed_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfixed.h;\"GtkWidget * gtk_fixed_new (void);\";function gtk_fixed_new() bind(c)\r\ngtk;gtk_fixed_put;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfixed.h;\"void gtk_fixed_put (GtkFixed *fixed, GtkWidget *widget, double x, double y);\";subroutine gtk_fixed_put(fixed, widget, x, y) bind(c)\r\ngtk;gtk_fixed_remove;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfixed.h;\"void gtk_fixed_remove (GtkFixed *fixed, GtkWidget *widget);\";subroutine gtk_fixed_remove(fixed, widget) bind(c)\r\ngtk;gtk_fixed_set_child_transform;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfixed.h;\"void gtk_fixed_set_child_transform (GtkFixed *fixed, GtkWidget *widget, GskTransform *transform);\";subroutine gtk_fixed_set_child_transform(fixed, widget, transform) bind(c)\r\ngtk;gtk_flatten_list_model_get_model;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflattenlistmodel.h;\"GListModel * gtk_flatten_list_model_get_model (GtkFlattenListModel *self);\";function gtk_flatten_list_model_get_model(self) bind(c)\r\ngtk;gtk_flatten_list_model_get_model_for_item;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflattenlistmodel.h;\"GListModel * gtk_flatten_list_model_get_model_for_item (GtkFlattenListModel *self, guint position);\";function gtk_flatten_list_model_get_model_for_item(self, position) bind(c)\r\ngtk;gtk_flatten_list_model_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflattenlistmodel.h;\"GtkFlattenListModel * gtk_flatten_list_model_new (GListModel *model);\";function gtk_flatten_list_model_new(model) bind(c)\r\ngtk;gtk_flatten_list_model_set_model;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflattenlistmodel.h;\"void gtk_flatten_list_model_set_model (GtkFlattenListModel *self, GListModel *model);\";subroutine gtk_flatten_list_model_set_model(self, model) bind(c)\r\ngtk;gtk_flow_box_append;GDK_AVAILABLE_IN_4_6;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"void gtk_flow_box_append (GtkFlowBox *self, GtkWidget *child);\";subroutine gtk_flow_box_append(self, child) bind(c)\r\ngtk;gtk_flow_box_bind_model;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"void gtk_flow_box_bind_model (GtkFlowBox *box, GListModel *model, GtkFlowBoxCreateWidgetFunc create_widget_func, gpointer user_data, GDestroyNotify user_data_free_func);\";subroutine gtk_flow_box_bind_model(box, model, create_widget_func, user_data, user_data_free_func) bind(c)\r\ngtk;gtk_flow_box_child_changed;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"void gtk_flow_box_child_changed (GtkFlowBoxChild *child);\";subroutine gtk_flow_box_child_changed(child) bind(c)\r\ngtk;gtk_flow_box_child_get_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"GtkWidget * gtk_flow_box_child_get_child (GtkFlowBoxChild *self);\";function gtk_flow_box_child_get_child(self) bind(c)\r\ngtk;gtk_flow_box_child_get_index;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"int gtk_flow_box_child_get_index (GtkFlowBoxChild *child);\";function gtk_flow_box_child_get_index(child) bind(c)\r\ngtk;gtk_flow_box_child_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"GType gtk_flow_box_child_get_type (void) ;\";function gtk_flow_box_child_get_type() bind(c)\r\ngtk;gtk_flow_box_child_is_selected;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"gboolean gtk_flow_box_child_is_selected (GtkFlowBoxChild *child);\";function gtk_flow_box_child_is_selected(child) bind(c)\r\ngtk;gtk_flow_box_child_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"GtkWidget* gtk_flow_box_child_new (void);\";function gtk_flow_box_child_new() bind(c)\r\ngtk;gtk_flow_box_child_set_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"void gtk_flow_box_child_set_child (GtkFlowBoxChild *self, GtkWidget *child);\";subroutine gtk_flow_box_child_set_child(self, child) bind(c)\r\ngtk;gtk_flow_box_get_activate_on_single_click;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"gboolean gtk_flow_box_get_activate_on_single_click (GtkFlowBox *box);\";function gtk_flow_box_get_activate_on_single_click(box) bind(c)\r\ngtk;gtk_flow_box_get_child_at_index;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"GtkFlowBoxChild *gtk_flow_box_get_child_at_index (GtkFlowBox *box, int idx);\";function gtk_flow_box_get_child_at_index(box, idx) bind(c)\r\ngtk;gtk_flow_box_get_child_at_pos;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"GtkFlowBoxChild *gtk_flow_box_get_child_at_pos (GtkFlowBox *box, int x, int y);\";function gtk_flow_box_get_child_at_pos(box, x, y) bind(c)\r\ngtk;gtk_flow_box_get_column_spacing;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"guint gtk_flow_box_get_column_spacing (GtkFlowBox *box);\";function gtk_flow_box_get_column_spacing(box) bind(c)\r\ngtk;gtk_flow_box_get_homogeneous;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"gboolean gtk_flow_box_get_homogeneous (GtkFlowBox *box);\";function gtk_flow_box_get_homogeneous(box) bind(c)\r\ngtk;gtk_flow_box_get_max_children_per_line;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"guint gtk_flow_box_get_max_children_per_line (GtkFlowBox *box);\";function gtk_flow_box_get_max_children_per_line(box) bind(c)\r\ngtk;gtk_flow_box_get_min_children_per_line;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"guint gtk_flow_box_get_min_children_per_line (GtkFlowBox *box);\";function gtk_flow_box_get_min_children_per_line(box) bind(c)\r\ngtk;gtk_flow_box_get_row_spacing;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"guint gtk_flow_box_get_row_spacing (GtkFlowBox *box);\";function gtk_flow_box_get_row_spacing(box) bind(c)\r\ngtk;gtk_flow_box_get_selected_children;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"GList *gtk_flow_box_get_selected_children (GtkFlowBox *box);\";function gtk_flow_box_get_selected_children(box) bind(c)\r\ngtk;gtk_flow_box_get_selection_mode;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"GtkSelectionMode gtk_flow_box_get_selection_mode (GtkFlowBox *box);\";function gtk_flow_box_get_selection_mode(box) bind(c)\r\ngtk;gtk_flow_box_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"GType gtk_flow_box_get_type (void) ;\";function gtk_flow_box_get_type() bind(c)\r\ngtk;gtk_flow_box_insert;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"void gtk_flow_box_insert (GtkFlowBox *box, GtkWidget *widget, int position);\";subroutine gtk_flow_box_insert(box, widget, position) bind(c)\r\ngtk;gtk_flow_box_invalidate_filter;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"void gtk_flow_box_invalidate_filter (GtkFlowBox *box);\";subroutine gtk_flow_box_invalidate_filter(box) bind(c)\r\ngtk;gtk_flow_box_invalidate_sort;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"void gtk_flow_box_invalidate_sort (GtkFlowBox *box);\";subroutine gtk_flow_box_invalidate_sort(box) bind(c)\r\ngtk;gtk_flow_box_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"GtkWidget *gtk_flow_box_new (void);\";function gtk_flow_box_new() bind(c)\r\ngtk;gtk_flow_box_prepend;GDK_AVAILABLE_IN_4_6;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"void gtk_flow_box_prepend (GtkFlowBox *self, GtkWidget *child);\";subroutine gtk_flow_box_prepend(self, child) bind(c)\r\ngtk;gtk_flow_box_remove;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"void gtk_flow_box_remove (GtkFlowBox *box, GtkWidget *widget);\";subroutine gtk_flow_box_remove(box, widget) bind(c)\r\ngtk;gtk_flow_box_remove_all;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"void gtk_flow_box_remove_all (GtkFlowBox *box);\";subroutine gtk_flow_box_remove_all(box) bind(c)\r\ngtk;gtk_flow_box_select_all;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"void gtk_flow_box_select_all (GtkFlowBox *box);\";subroutine gtk_flow_box_select_all(box) bind(c)\r\ngtk;gtk_flow_box_select_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"void gtk_flow_box_select_child (GtkFlowBox *box, GtkFlowBoxChild *child);\";subroutine gtk_flow_box_select_child(box, child) bind(c)\r\ngtk;gtk_flow_box_selected_foreach;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"void gtk_flow_box_selected_foreach (GtkFlowBox *box, GtkFlowBoxForeachFunc func, gpointer data);\";subroutine gtk_flow_box_selected_foreach(box, func, data) bind(c)\r\ngtk;gtk_flow_box_set_activate_on_single_click;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"void gtk_flow_box_set_activate_on_single_click (GtkFlowBox *box, gboolean single);\";subroutine gtk_flow_box_set_activate_on_single_click(box, single) bind(c)\r\ngtk;gtk_flow_box_set_column_spacing;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"void gtk_flow_box_set_column_spacing (GtkFlowBox *box, guint spacing);\";subroutine gtk_flow_box_set_column_spacing(box, spacing) bind(c)\r\ngtk;gtk_flow_box_set_filter_func;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"void gtk_flow_box_set_filter_func (GtkFlowBox *box, GtkFlowBoxFilterFunc filter_func, gpointer user_data, GDestroyNotify destroy);\";subroutine gtk_flow_box_set_filter_func(box, filter_func, user_data, destroy) bind(c)\r\ngtk;gtk_flow_box_set_hadjustment;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"void gtk_flow_box_set_hadjustment (GtkFlowBox *box, GtkAdjustment *adjustment);\";subroutine gtk_flow_box_set_hadjustment(box, adjustment) bind(c)\r\ngtk;gtk_flow_box_set_homogeneous;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"void gtk_flow_box_set_homogeneous (GtkFlowBox *box, gboolean homogeneous);\";subroutine gtk_flow_box_set_homogeneous(box, homogeneous) bind(c)\r\ngtk;gtk_flow_box_set_max_children_per_line;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"void gtk_flow_box_set_max_children_per_line (GtkFlowBox *box, guint n_children);\";subroutine gtk_flow_box_set_max_children_per_line(box, n_children) bind(c)\r\ngtk;gtk_flow_box_set_min_children_per_line;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"void gtk_flow_box_set_min_children_per_line (GtkFlowBox *box, guint n_children);\";subroutine gtk_flow_box_set_min_children_per_line(box, n_children) bind(c)\r\ngtk;gtk_flow_box_set_row_spacing;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"void gtk_flow_box_set_row_spacing (GtkFlowBox *box, guint spacing);\";subroutine gtk_flow_box_set_row_spacing(box, spacing) bind(c)\r\ngtk;gtk_flow_box_set_selection_mode;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"void gtk_flow_box_set_selection_mode (GtkFlowBox *box, GtkSelectionMode mode);\";subroutine gtk_flow_box_set_selection_mode(box, mode) bind(c)\r\ngtk;gtk_flow_box_set_sort_func;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"void gtk_flow_box_set_sort_func (GtkFlowBox *box, GtkFlowBoxSortFunc sort_func, gpointer user_data, GDestroyNotify destroy);\";subroutine gtk_flow_box_set_sort_func(box, sort_func, user_data, destroy) bind(c)\r\ngtk;gtk_flow_box_set_vadjustment;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"void gtk_flow_box_set_vadjustment (GtkFlowBox *box, GtkAdjustment *adjustment);\";subroutine gtk_flow_box_set_vadjustment(box, adjustment) bind(c)\r\ngtk;gtk_flow_box_unselect_all;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"void gtk_flow_box_unselect_all (GtkFlowBox *box);\";subroutine gtk_flow_box_unselect_all(box) bind(c)\r\ngtk;gtk_flow_box_unselect_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkflowbox.h;\"void gtk_flow_box_unselect_child (GtkFlowBox *box, GtkFlowBoxChild *child);\";subroutine gtk_flow_box_unselect_child(box, child) bind(c)\r\ngtk;gtk_font_button_get_modal;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfontbutton.h;\"gboolean gtk_font_button_get_modal (GtkFontButton *font_button);\";function gtk_font_button_get_modal(font_button) bind(c)\r\ngtk;gtk_font_button_get_title;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfontbutton.h;\"const char * gtk_font_button_get_title (GtkFontButton *font_button);\";function gtk_font_button_get_title(font_button) bind(c)\r\ngtk;gtk_font_button_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfontbutton.h;\"GType gtk_font_button_get_type (void) ;\";function gtk_font_button_get_type() bind(c)\r\ngtk;gtk_font_button_get_use_font;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfontbutton.h;\"gboolean gtk_font_button_get_use_font (GtkFontButton *font_button);\";function gtk_font_button_get_use_font(font_button) bind(c)\r\ngtk;gtk_font_button_get_use_size;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfontbutton.h;\"gboolean gtk_font_button_get_use_size (GtkFontButton *font_button);\";function gtk_font_button_get_use_size(font_button) bind(c)\r\ngtk;gtk_font_button_new;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfontbutton.h;\"GtkWidget *gtk_font_button_new (void);\";function gtk_font_button_new() bind(c)\r\ngtk;gtk_font_button_new_with_font;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfontbutton.h;\"GtkWidget *gtk_font_button_new_with_font (const char *fontname);\";function gtk_font_button_new_with_font(fontname) bind(c)\r\ngtk;gtk_font_button_set_modal;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfontbutton.h;\"void gtk_font_button_set_modal (GtkFontButton *font_button, gboolean modal);\";subroutine gtk_font_button_set_modal(font_button, modal) bind(c)\r\ngtk;gtk_font_button_set_title;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfontbutton.h;\"void gtk_font_button_set_title (GtkFontButton *font_button, const char *title);\";subroutine gtk_font_button_set_title(font_button, title) bind(c)\r\ngtk;gtk_font_button_set_use_font;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfontbutton.h;\"void gtk_font_button_set_use_font (GtkFontButton *font_button, gboolean use_font);\";subroutine gtk_font_button_set_use_font(font_button, use_font) bind(c)\r\ngtk;gtk_font_button_set_use_size;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfontbutton.h;\"void gtk_font_button_set_use_size (GtkFontButton *font_button, gboolean use_size);\";subroutine gtk_font_button_set_use_size(font_button, use_size) bind(c)\r\ngtk;gtk_font_chooser_dialog_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfontchooserdialog.h;\"GType gtk_font_chooser_dialog_get_type (void) ;\";function gtk_font_chooser_dialog_get_type() bind(c)\r\ngtk;gtk_font_chooser_dialog_new;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfontchooserdialog.h;\"GtkWidget* gtk_font_chooser_dialog_new (const char *title, GtkWindow *parent);\";function gtk_font_chooser_dialog_new(title, parent) bind(c)\r\ngtk;gtk_font_chooser_get_font;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfontchooser.h;\"char * gtk_font_chooser_get_font (GtkFontChooser *fontchooser);\";function gtk_font_chooser_get_font(fontchooser) bind(c)\r\ngtk;gtk_font_chooser_get_font_desc;;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfontchooser.h;\"PangoFontDescription * gtk_font_chooser_get_font_desc (GtkFontChooser *fontchooser);\";function gtk_font_chooser_get_font_desc(fontchooser) bind(c)\r\ngtk;gtk_font_chooser_get_font_face;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfontchooser.h;\"PangoFontFace *gtk_font_chooser_get_font_face (GtkFontChooser *fontchooser);\";function gtk_font_chooser_get_font_face(fontchooser) bind(c)\r\ngtk;gtk_font_chooser_get_font_family;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfontchooser.h;\"PangoFontFamily *gtk_font_chooser_get_font_family (GtkFontChooser *fontchooser);\";function gtk_font_chooser_get_font_family(fontchooser) bind(c)\r\ngtk;gtk_font_chooser_get_font_features;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfontchooser.h;\"char * gtk_font_chooser_get_font_features (GtkFontChooser *fontchooser);\";function gtk_font_chooser_get_font_features(fontchooser) bind(c)\r\ngtk;gtk_font_chooser_get_font_map;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfontchooser.h;\"PangoFontMap * gtk_font_chooser_get_font_map (GtkFontChooser *fontchooser);\";function gtk_font_chooser_get_font_map(fontchooser) bind(c)\r\ngtk;gtk_font_chooser_get_font_size;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfontchooser.h;\"int gtk_font_chooser_get_font_size (GtkFontChooser *fontchooser);\";function gtk_font_chooser_get_font_size(fontchooser) bind(c)\r\ngtk;gtk_font_chooser_get_language;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfontchooser.h;\"char * gtk_font_chooser_get_language (GtkFontChooser *fontchooser);\";function gtk_font_chooser_get_language(fontchooser) bind(c)\r\ngtk;gtk_font_chooser_get_level;;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfontchooser.h;\"GtkFontChooserLevel gtk_font_chooser_get_level (GtkFontChooser *fontchooser);\";function gtk_font_chooser_get_level(fontchooser) bind(c)\r\ngtk;gtk_font_chooser_get_preview_text;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfontchooser.h;\"char * gtk_font_chooser_get_preview_text (GtkFontChooser *fontchooser);\";function gtk_font_chooser_get_preview_text(fontchooser) bind(c)\r\ngtk;gtk_font_chooser_get_show_preview_entry;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfontchooser.h;\"gboolean gtk_font_chooser_get_show_preview_entry (GtkFontChooser *fontchooser);\";function gtk_font_chooser_get_show_preview_entry(fontchooser) bind(c)\r\ngtk;gtk_font_chooser_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfontchooser.h;\"GType gtk_font_chooser_get_type (void) ;\";function gtk_font_chooser_get_type() bind(c)\r\ngtk;gtk_font_chooser_set_filter_func;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfontchooser.h;\"void gtk_font_chooser_set_filter_func (GtkFontChooser *fontchooser, GtkFontFilterFunc filter, gpointer user_data, GDestroyNotify destroy);\";subroutine gtk_font_chooser_set_filter_func(fontchooser, filter, user_data, destroy) bind(c)\r\ngtk;gtk_font_chooser_set_font;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfontchooser.h;\"void gtk_font_chooser_set_font (GtkFontChooser *fontchooser, const char *fontname);\";subroutine gtk_font_chooser_set_font(fontchooser, fontname) bind(c)\r\ngtk;gtk_font_chooser_set_font_desc;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfontchooser.h;\"void gtk_font_chooser_set_font_desc (GtkFontChooser *fontchooser, const PangoFontDescription *font_desc);\";subroutine gtk_font_chooser_set_font_desc(fontchooser, font_desc) bind(c)\r\ngtk;gtk_font_chooser_set_font_map;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfontchooser.h;\"void gtk_font_chooser_set_font_map (GtkFontChooser *fontchooser, PangoFontMap *fontmap);\";subroutine gtk_font_chooser_set_font_map(fontchooser, fontmap) bind(c)\r\ngtk;gtk_font_chooser_set_language;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfontchooser.h;\"void gtk_font_chooser_set_language (GtkFontChooser *fontchooser, const char *language);\";subroutine gtk_font_chooser_set_language(fontchooser, language) bind(c)\r\ngtk;gtk_font_chooser_set_level;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfontchooser.h;\"void gtk_font_chooser_set_level (GtkFontChooser *fontchooser, GtkFontChooserLevel level);\";subroutine gtk_font_chooser_set_level(fontchooser, level) bind(c)\r\ngtk;gtk_font_chooser_set_preview_text;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfontchooser.h;\"void gtk_font_chooser_set_preview_text (GtkFontChooser *fontchooser, const char *text);\";subroutine gtk_font_chooser_set_preview_text(fontchooser, text) bind(c)\r\ngtk;gtk_font_chooser_set_show_preview_entry;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfontchooser.h;\"void gtk_font_chooser_set_show_preview_entry (GtkFontChooser *fontchooser, gboolean show_preview_entry);\";subroutine gtk_font_chooser_set_show_preview_entry(fontchooser, show_preview_entry) bind(c)\r\ngtk;gtk_font_chooser_widget_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfontchooserwidget.h;\"GType gtk_font_chooser_widget_get_type (void) ;\";function gtk_font_chooser_widget_get_type() bind(c)\r\ngtk;gtk_font_chooser_widget_new;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkfontchooserwidget.h;\"GtkWidget* gtk_font_chooser_widget_new (void);\";function gtk_font_chooser_widget_new() bind(c)\r\ngtk;gtk_font_dialog_button_get_dialog;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfontdialogbutton.h;\"GtkFontDialog * gtk_font_dialog_button_get_dialog (GtkFontDialogButton *self);\";function gtk_font_dialog_button_get_dialog(self) bind(c)\r\ngtk;gtk_font_dialog_button_get_font_desc;;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfontdialogbutton.h;\"PangoFontDescription * gtk_font_dialog_button_get_font_desc (GtkFontDialogButton *self);\";function gtk_font_dialog_button_get_font_desc(self) bind(c)\r\ngtk;gtk_font_dialog_button_get_font_features;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfontdialogbutton.h;\"const char * gtk_font_dialog_button_get_font_features (GtkFontDialogButton *self);\";function gtk_font_dialog_button_get_font_features(self) bind(c)\r\ngtk;gtk_font_dialog_button_get_language;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfontdialogbutton.h;\"PangoLanguage * gtk_font_dialog_button_get_language (GtkFontDialogButton *self);\";function gtk_font_dialog_button_get_language(self) bind(c)\r\ngtk;gtk_font_dialog_button_get_level;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfontdialogbutton.h;\"GtkFontLevel gtk_font_dialog_button_get_level (GtkFontDialogButton *self);\";function gtk_font_dialog_button_get_level(self) bind(c)\r\ngtk;gtk_font_dialog_button_get_use_font;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfontdialogbutton.h;\"gboolean gtk_font_dialog_button_get_use_font (GtkFontDialogButton *self);\";function gtk_font_dialog_button_get_use_font(self) bind(c)\r\ngtk;gtk_font_dialog_button_get_use_size;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfontdialogbutton.h;\"gboolean gtk_font_dialog_button_get_use_size (GtkFontDialogButton *self);\";function gtk_font_dialog_button_get_use_size(self) bind(c)\r\ngtk;gtk_font_dialog_button_new;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfontdialogbutton.h;\"GtkWidget * gtk_font_dialog_button_new (GtkFontDialog *dialog);\";function gtk_font_dialog_button_new(dialog) bind(c)\r\ngtk;gtk_font_dialog_button_set_dialog;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfontdialogbutton.h;\"void gtk_font_dialog_button_set_dialog (GtkFontDialogButton *self, GtkFontDialog *dialog);\";subroutine gtk_font_dialog_button_set_dialog(self, dialog) bind(c)\r\ngtk;gtk_font_dialog_button_set_font_desc;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfontdialogbutton.h;\"void gtk_font_dialog_button_set_font_desc (GtkFontDialogButton *self, const PangoFontDescription *font_desc);\";subroutine gtk_font_dialog_button_set_font_desc(self, font_desc) bind(c)\r\ngtk;gtk_font_dialog_button_set_font_features;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfontdialogbutton.h;\"void gtk_font_dialog_button_set_font_features (GtkFontDialogButton *self, const char *font_features);\";subroutine gtk_font_dialog_button_set_font_features(self, font_features) bind(c)\r\ngtk;gtk_font_dialog_button_set_language;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfontdialogbutton.h;\"void gtk_font_dialog_button_set_language (GtkFontDialogButton *self, PangoLanguage *language);\";subroutine gtk_font_dialog_button_set_language(self, language) bind(c)\r\ngtk;gtk_font_dialog_button_set_level;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfontdialogbutton.h;\"void gtk_font_dialog_button_set_level (GtkFontDialogButton *self, GtkFontLevel level);\";subroutine gtk_font_dialog_button_set_level(self, level) bind(c)\r\ngtk;gtk_font_dialog_button_set_use_font;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfontdialogbutton.h;\"void gtk_font_dialog_button_set_use_font (GtkFontDialogButton *self, gboolean use_font);\";subroutine gtk_font_dialog_button_set_use_font(self, use_font) bind(c)\r\ngtk;gtk_font_dialog_button_set_use_size;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfontdialogbutton.h;\"void gtk_font_dialog_button_set_use_size (GtkFontDialogButton *self, gboolean use_size);\";subroutine gtk_font_dialog_button_set_use_size(self, use_size) bind(c)\r\ngtk;gtk_font_dialog_choose_face;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfontdialog.h;\"void gtk_font_dialog_choose_face (GtkFontDialog *self, GtkWindow *parent, PangoFontFace *initial_value, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine gtk_font_dialog_choose_face(self, parent, initial_value, cancellable, callback, user_data) bind(c)\r\ngtk;gtk_font_dialog_choose_face_finish;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfontdialog.h;\"PangoFontFace * gtk_font_dialog_choose_face_finish (GtkFontDialog *self, GAsyncResult *result, GError **error);\";function gtk_font_dialog_choose_face_finish(self, result, error) bind(c)\r\ngtk;gtk_font_dialog_choose_family;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfontdialog.h;\"void gtk_font_dialog_choose_family (GtkFontDialog *self, GtkWindow *parent, PangoFontFamily *initial_value, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine gtk_font_dialog_choose_family(self, parent, initial_value, cancellable, callback, user_data) bind(c)\r\ngtk;gtk_font_dialog_choose_family_finish;;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfontdialog.h;\"PangoFontFamily * gtk_font_dialog_choose_family_finish (GtkFontDialog *self, GAsyncResult *result, GError **error);\";function gtk_font_dialog_choose_family_finish(self, result, error) bind(c)\r\ngtk;gtk_font_dialog_choose_font;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfontdialog.h;\"void gtk_font_dialog_choose_font (GtkFontDialog *self, GtkWindow *parent, PangoFontDescription *initial_value, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine gtk_font_dialog_choose_font(self, parent, initial_value, cancellable, callback, user_data) bind(c)\r\ngtk;gtk_font_dialog_choose_font_and_features;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfontdialog.h;\"void gtk_font_dialog_choose_font_and_features (GtkFontDialog *self, GtkWindow *parent, PangoFontDescription *initial_value, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine gtk_font_dialog_choose_font_and_features(self, parent, initial_value, cancellable, callback, user_data) bind(c)\r\ngtk;gtk_font_dialog_choose_font_and_features_finish;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfontdialog.h;\"gboolean gtk_font_dialog_choose_font_and_features_finish (GtkFontDialog *self, GAsyncResult *result, PangoFontDescription **font_desc, char **font_features, PangoLanguage **language, GError **error);\";function gtk_font_dialog_choose_font_and_features_finish(self, result, font_desc, font_features, language, error) bind(c)\r\ngtk;gtk_font_dialog_choose_font_finish;;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfontdialog.h;\"PangoFontDescription * gtk_font_dialog_choose_font_finish (GtkFontDialog *self, GAsyncResult *result, GError **error);\";function gtk_font_dialog_choose_font_finish(self, result, error) bind(c)\r\ngtk;gtk_font_dialog_get_filter;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfontdialog.h;\"GtkFilter * gtk_font_dialog_get_filter (GtkFontDialog *self);\";function gtk_font_dialog_get_filter(self) bind(c)\r\ngtk;gtk_font_dialog_get_font_map;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfontdialog.h;\"PangoFontMap * gtk_font_dialog_get_font_map (GtkFontDialog *self);\";function gtk_font_dialog_get_font_map(self) bind(c)\r\ngtk;gtk_font_dialog_get_language;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfontdialog.h;\"PangoLanguage * gtk_font_dialog_get_language (GtkFontDialog *self);\";function gtk_font_dialog_get_language(self) bind(c)\r\ngtk;gtk_font_dialog_get_modal;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfontdialog.h;\"gboolean gtk_font_dialog_get_modal (GtkFontDialog *self);\";function gtk_font_dialog_get_modal(self) bind(c)\r\ngtk;gtk_font_dialog_get_title;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfontdialog.h;\"const char * gtk_font_dialog_get_title (GtkFontDialog *self);\";function gtk_font_dialog_get_title(self) bind(c)\r\ngtk;gtk_font_dialog_new;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfontdialog.h;\"GtkFontDialog * gtk_font_dialog_new (void);\";function gtk_font_dialog_new() bind(c)\r\ngtk;gtk_font_dialog_set_filter;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfontdialog.h;\"void gtk_font_dialog_set_filter (GtkFontDialog *self, GtkFilter *filter);\";subroutine gtk_font_dialog_set_filter(self, filter) bind(c)\r\ngtk;gtk_font_dialog_set_font_map;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfontdialog.h;\"void gtk_font_dialog_set_font_map (GtkFontDialog *self, PangoFontMap *fontmap);\";subroutine gtk_font_dialog_set_font_map(self, fontmap) bind(c)\r\ngtk;gtk_font_dialog_set_language;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfontdialog.h;\"void gtk_font_dialog_set_language (GtkFontDialog *self, PangoLanguage *language);\";subroutine gtk_font_dialog_set_language(self, language) bind(c)\r\ngtk;gtk_font_dialog_set_modal;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfontdialog.h;\"void gtk_font_dialog_set_modal (GtkFontDialog *self, gboolean modal);\";subroutine gtk_font_dialog_set_modal(self, modal) bind(c)\r\ngtk;gtk_font_dialog_set_title;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkfontdialog.h;\"void gtk_font_dialog_set_title (GtkFontDialog *self, const char *title);\";subroutine gtk_font_dialog_set_title(self, title) bind(c)\r\ngtk;gtk_frame_get_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkframe.h;\"GtkWidget *gtk_frame_get_child (GtkFrame *frame);\";function gtk_frame_get_child(frame) bind(c)\r\ngtk;gtk_frame_get_label;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkframe.h;\"const char * gtk_frame_get_label (GtkFrame *frame);\";function gtk_frame_get_label(frame) bind(c)\r\ngtk;gtk_frame_get_label_align;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkframe.h;\"float gtk_frame_get_label_align (GtkFrame *frame);\";function gtk_frame_get_label_align(frame) bind(c)\r\ngtk;gtk_frame_get_label_widget;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkframe.h;\"GtkWidget *gtk_frame_get_label_widget (GtkFrame *frame);\";function gtk_frame_get_label_widget(frame) bind(c)\r\ngtk;gtk_frame_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkframe.h;\"GType gtk_frame_get_type (void) ;\";function gtk_frame_get_type() bind(c)\r\ngtk;gtk_frame_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkframe.h;\"GtkWidget* gtk_frame_new (const char *label);\";function gtk_frame_new(label) bind(c)\r\ngtk;gtk_frame_set_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkframe.h;\"void gtk_frame_set_child (GtkFrame *frame, GtkWidget *child);\";subroutine gtk_frame_set_child(frame, child) bind(c)\r\ngtk;gtk_frame_set_label;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkframe.h;\"void gtk_frame_set_label (GtkFrame *frame, const char *label);\";subroutine gtk_frame_set_label(frame, label) bind(c)\r\ngtk;gtk_frame_set_label_align;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkframe.h;\"void gtk_frame_set_label_align (GtkFrame *frame, float xalign);\";subroutine gtk_frame_set_label_align(frame, xalign) bind(c)\r\ngtk;gtk_frame_set_label_widget;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkframe.h;\"void gtk_frame_set_label_widget (GtkFrame *frame, GtkWidget *label_widget);\";subroutine gtk_frame_set_label_widget(frame, label_widget) bind(c)\r\ngtk;gtk_gesture_click_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgestureclick.h;\"GType gtk_gesture_click_get_type (void) ;\";function gtk_gesture_click_get_type() bind(c)\r\ngtk;gtk_gesture_click_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgestureclick.h;\"GtkGesture * gtk_gesture_click_new (void);\";function gtk_gesture_click_new() bind(c)\r\ngtk;gtk_gesture_drag_get_offset;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesturedrag.h;\"gboolean gtk_gesture_drag_get_offset (GtkGestureDrag *gesture, double *x, double *y);\";function gtk_gesture_drag_get_offset(gesture, x, y) bind(c)\r\ngtk;gtk_gesture_drag_get_start_point;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesturedrag.h;\"gboolean gtk_gesture_drag_get_start_point (GtkGestureDrag *gesture, double *x, double *y);\";function gtk_gesture_drag_get_start_point(gesture, x, y) bind(c)\r\ngtk;gtk_gesture_drag_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesturedrag.h;\"GType gtk_gesture_drag_get_type (void) ;\";function gtk_gesture_drag_get_type() bind(c)\r\ngtk;gtk_gesture_drag_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesturedrag.h;\"GtkGesture * gtk_gesture_drag_new (void);\";function gtk_gesture_drag_new() bind(c)\r\ngtk;gtk_gesture_get_bounding_box;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesture.h;\"gboolean gtk_gesture_get_bounding_box (GtkGesture *gesture, GdkRectangle *rect);\";function gtk_gesture_get_bounding_box(gesture, rect) bind(c)\r\ngtk;gtk_gesture_get_bounding_box_center;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesture.h;\"gboolean gtk_gesture_get_bounding_box_center (GtkGesture *gesture, double *x, double *y);\";function gtk_gesture_get_bounding_box_center(gesture, x, y) bind(c)\r\ngtk;gtk_gesture_get_device;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesture.h;\"GdkDevice * gtk_gesture_get_device (GtkGesture *gesture);\";function gtk_gesture_get_device(gesture) bind(c)\r\ngtk;gtk_gesture_get_group;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesture.h;\"GList * gtk_gesture_get_group (GtkGesture *gesture);\";function gtk_gesture_get_group(gesture) bind(c)\r\ngtk;gtk_gesture_get_last_event;;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesture.h;\"GdkEvent * gtk_gesture_get_last_event (GtkGesture *gesture, GdkEventSequence *sequence);\";function gtk_gesture_get_last_event(gesture, sequence) bind(c)\r\ngtk;gtk_gesture_get_last_updated_sequence;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesture.h;\"GdkEventSequence * gtk_gesture_get_last_updated_sequence (GtkGesture *gesture);\";function gtk_gesture_get_last_updated_sequence(gesture) bind(c)\r\ngtk;gtk_gesture_get_point;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesture.h;\"gboolean gtk_gesture_get_point (GtkGesture *gesture, GdkEventSequence *sequence, double *x, double *y);\";function gtk_gesture_get_point(gesture, sequence, x, y) bind(c)\r\ngtk;gtk_gesture_get_sequence_state;;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesture.h;\"GtkEventSequenceState gtk_gesture_get_sequence_state (GtkGesture *gesture, GdkEventSequence *sequence);\";function gtk_gesture_get_sequence_state(gesture, sequence) bind(c)\r\ngtk;gtk_gesture_get_sequences;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesture.h;\"GList * gtk_gesture_get_sequences (GtkGesture *gesture);\";function gtk_gesture_get_sequences(gesture) bind(c)\r\ngtk;gtk_gesture_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesture.h;\"GType gtk_gesture_get_type (void) ;\";function gtk_gesture_get_type() bind(c)\r\ngtk;gtk_gesture_group;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesture.h;\"void gtk_gesture_group (GtkGesture *group_gesture, GtkGesture *gesture);\";subroutine gtk_gesture_group(group_gesture, gesture) bind(c)\r\ngtk;gtk_gesture_handles_sequence;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesture.h;\"gboolean gtk_gesture_handles_sequence (GtkGesture *gesture, GdkEventSequence *sequence);\";function gtk_gesture_handles_sequence(gesture, sequence) bind(c)\r\ngtk;gtk_gesture_is_active;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesture.h;\"gboolean gtk_gesture_is_active (GtkGesture *gesture);\";function gtk_gesture_is_active(gesture) bind(c)\r\ngtk;gtk_gesture_is_grouped_with;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesture.h;\"gboolean gtk_gesture_is_grouped_with (GtkGesture *gesture, GtkGesture *other);\";function gtk_gesture_is_grouped_with(gesture, other) bind(c)\r\ngtk;gtk_gesture_is_recognized;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesture.h;\"gboolean gtk_gesture_is_recognized (GtkGesture *gesture);\";function gtk_gesture_is_recognized(gesture) bind(c)\r\ngtk;gtk_gesture_long_press_get_delay_factor;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesturelongpress.h;\"double gtk_gesture_long_press_get_delay_factor (GtkGestureLongPress *gesture);\";function gtk_gesture_long_press_get_delay_factor(gesture) bind(c)\r\ngtk;gtk_gesture_long_press_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesturelongpress.h;\"GType gtk_gesture_long_press_get_type (void) ;\";function gtk_gesture_long_press_get_type() bind(c)\r\ngtk;gtk_gesture_long_press_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesturelongpress.h;\"GtkGesture * gtk_gesture_long_press_new (void);\";function gtk_gesture_long_press_new() bind(c)\r\ngtk;gtk_gesture_long_press_set_delay_factor;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesturelongpress.h;\"void gtk_gesture_long_press_set_delay_factor (GtkGestureLongPress *gesture, double delay_factor);\";subroutine gtk_gesture_long_press_set_delay_factor(gesture, delay_factor) bind(c)\r\ngtk;gtk_gesture_pan_get_orientation;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesturepan.h;\"GtkOrientation gtk_gesture_pan_get_orientation (GtkGesturePan *gesture);\";function gtk_gesture_pan_get_orientation(gesture) bind(c)\r\ngtk;gtk_gesture_pan_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesturepan.h;\"GType gtk_gesture_pan_get_type (void) ;\";function gtk_gesture_pan_get_type() bind(c)\r\ngtk;gtk_gesture_pan_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesturepan.h;\"GtkGesture * gtk_gesture_pan_new (GtkOrientation orientation);\";function gtk_gesture_pan_new(orientation) bind(c)\r\ngtk;gtk_gesture_pan_set_orientation;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesturepan.h;\"void gtk_gesture_pan_set_orientation (GtkGesturePan *gesture, GtkOrientation orientation);\";subroutine gtk_gesture_pan_set_orientation(gesture, orientation) bind(c)\r\ngtk;gtk_gesture_rotate_get_angle_delta;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesturerotate.h;\"double gtk_gesture_rotate_get_angle_delta (GtkGestureRotate *gesture);\";function gtk_gesture_rotate_get_angle_delta(gesture) bind(c)\r\ngtk;gtk_gesture_rotate_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesturerotate.h;\"GType gtk_gesture_rotate_get_type (void) ;\";function gtk_gesture_rotate_get_type() bind(c)\r\ngtk;gtk_gesture_rotate_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesturerotate.h;\"GtkGesture * gtk_gesture_rotate_new (void);\";function gtk_gesture_rotate_new() bind(c)\r\ngtk;gtk_gesture_set_sequence_state;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesture.h;\"gboolean gtk_gesture_set_sequence_state (GtkGesture *gesture, GdkEventSequence *sequence, GtkEventSequenceState state);\";function gtk_gesture_set_sequence_state(gesture, sequence, state) bind(c)\r\ngtk;gtk_gesture_set_state;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesture.h;\"gboolean gtk_gesture_set_state (GtkGesture *gesture, GtkEventSequenceState state);\";function gtk_gesture_set_state(gesture, state) bind(c)\r\ngtk;gtk_gesture_single_get_button;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesturesingle.h;\"guint gtk_gesture_single_get_button (GtkGestureSingle *gesture);\";function gtk_gesture_single_get_button(gesture) bind(c)\r\ngtk;gtk_gesture_single_get_current_button;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesturesingle.h;\"guint gtk_gesture_single_get_current_button (GtkGestureSingle *gesture);\";function gtk_gesture_single_get_current_button(gesture) bind(c)\r\ngtk;gtk_gesture_single_get_current_sequence;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesturesingle.h;\"GdkEventSequence * gtk_gesture_single_get_current_sequence (GtkGestureSingle *gesture);\";function gtk_gesture_single_get_current_sequence(gesture) bind(c)\r\ngtk;gtk_gesture_single_get_exclusive;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesturesingle.h;\"gboolean gtk_gesture_single_get_exclusive (GtkGestureSingle *gesture);\";function gtk_gesture_single_get_exclusive(gesture) bind(c)\r\ngtk;gtk_gesture_single_get_touch_only;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesturesingle.h;\"gboolean gtk_gesture_single_get_touch_only (GtkGestureSingle *gesture);\";function gtk_gesture_single_get_touch_only(gesture) bind(c)\r\ngtk;gtk_gesture_single_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesturesingle.h;\"GType gtk_gesture_single_get_type (void) ;\";function gtk_gesture_single_get_type() bind(c)\r\ngtk;gtk_gesture_single_set_button;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesturesingle.h;\"void gtk_gesture_single_set_button (GtkGestureSingle *gesture, guint button);\";subroutine gtk_gesture_single_set_button(gesture, button) bind(c)\r\ngtk;gtk_gesture_single_set_exclusive;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesturesingle.h;\"void gtk_gesture_single_set_exclusive (GtkGestureSingle *gesture, gboolean exclusive);\";subroutine gtk_gesture_single_set_exclusive(gesture, exclusive) bind(c)\r\ngtk;gtk_gesture_single_set_touch_only;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesturesingle.h;\"void gtk_gesture_single_set_touch_only (GtkGestureSingle *gesture, gboolean touch_only);\";subroutine gtk_gesture_single_set_touch_only(gesture, touch_only) bind(c)\r\ngtk;gtk_gesture_stylus_get_axes;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesturestylus.h;\"gboolean gtk_gesture_stylus_get_axes (GtkGestureStylus *gesture, GdkAxisUse axes[], double **values);\";function gtk_gesture_stylus_get_axes(gesture, axes, values) bind(c)\r\ngtk;gtk_gesture_stylus_get_axis;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesturestylus.h;\"gboolean gtk_gesture_stylus_get_axis (GtkGestureStylus *gesture, GdkAxisUse axis, double *value);\";function gtk_gesture_stylus_get_axis(gesture, axis, value) bind(c)\r\ngtk;gtk_gesture_stylus_get_backlog;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesturestylus.h;\"gboolean gtk_gesture_stylus_get_backlog (GtkGestureStylus *gesture, GdkTimeCoord **backlog, guint *n_elems);\";function gtk_gesture_stylus_get_backlog(gesture, backlog, n_elems) bind(c)\r\ngtk;gtk_gesture_stylus_get_device_tool;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesturestylus.h;\"GdkDeviceTool * gtk_gesture_stylus_get_device_tool (GtkGestureStylus *gesture);\";function gtk_gesture_stylus_get_device_tool(gesture) bind(c)\r\ngtk;gtk_gesture_stylus_get_stylus_only;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesturestylus.h;\"gboolean gtk_gesture_stylus_get_stylus_only (GtkGestureStylus *gesture);\";function gtk_gesture_stylus_get_stylus_only(gesture) bind(c)\r\ngtk;gtk_gesture_stylus_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesturestylus.h;\"GType gtk_gesture_stylus_get_type (void) ;\";function gtk_gesture_stylus_get_type() bind(c)\r\ngtk;gtk_gesture_stylus_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesturestylus.h;\"GtkGesture * gtk_gesture_stylus_new (void);\";function gtk_gesture_stylus_new() bind(c)\r\ngtk;gtk_gesture_stylus_set_stylus_only;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesturestylus.h;\"void gtk_gesture_stylus_set_stylus_only (GtkGestureStylus *gesture, gboolean stylus_only);\";subroutine gtk_gesture_stylus_set_stylus_only(gesture, stylus_only) bind(c)\r\ngtk;gtk_gesture_swipe_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgestureswipe.h;\"GType gtk_gesture_swipe_get_type (void) ;\";function gtk_gesture_swipe_get_type() bind(c)\r\ngtk;gtk_gesture_swipe_get_velocity;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgestureswipe.h;\"gboolean gtk_gesture_swipe_get_velocity (GtkGestureSwipe *gesture, double *velocity_x, double *velocity_y);\";function gtk_gesture_swipe_get_velocity(gesture, velocity_x, velocity_y) bind(c)\r\ngtk;gtk_gesture_swipe_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgestureswipe.h;\"GtkGesture * gtk_gesture_swipe_new (void);\";function gtk_gesture_swipe_new() bind(c)\r\ngtk;gtk_gesture_ungroup;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesture.h;\"void gtk_gesture_ungroup (GtkGesture *gesture);\";subroutine gtk_gesture_ungroup(gesture) bind(c)\r\ngtk;gtk_gesture_zoom_get_scale_delta;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesturezoom.h;\"double gtk_gesture_zoom_get_scale_delta (GtkGestureZoom *gesture);\";function gtk_gesture_zoom_get_scale_delta(gesture) bind(c)\r\ngtk;gtk_gesture_zoom_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesturezoom.h;\"GType gtk_gesture_zoom_get_type (void) ;\";function gtk_gesture_zoom_get_type() bind(c)\r\ngtk;gtk_gesture_zoom_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgesturezoom.h;\"GtkGesture * gtk_gesture_zoom_new (void);\";function gtk_gesture_zoom_new() bind(c)\r\ngtk;gtk_get_binary_age;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkversion.h;\"guint gtk_get_binary_age (void) ;\";function gtk_get_binary_age() bind(c)\r\ngtk;gtk_get_debug_flags;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdebug.h;\"GtkDebugFlags gtk_get_debug_flags (void);\";function gtk_get_debug_flags() bind(c)\r\ngtk;gtk_get_default_language;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmain.h;\"PangoLanguage * gtk_get_default_language (void) ;\";function gtk_get_default_language() bind(c)\r\ngtk;gtk_get_interface_age;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkversion.h;\"guint gtk_get_interface_age (void) ;\";function gtk_get_interface_age() bind(c)\r\ngtk;gtk_get_locale_direction;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmain.h;\"GtkTextDirection gtk_get_locale_direction (void);\";function gtk_get_locale_direction() bind(c)\r\ngtk;gtk_get_major_version;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkversion.h;\"guint gtk_get_major_version (void) ;\";function gtk_get_major_version() bind(c)\r\ngtk;gtk_get_micro_version;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkversion.h;\"guint gtk_get_micro_version (void) ;\";function gtk_get_micro_version() bind(c)\r\ngtk;gtk_get_minor_version;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkversion.h;\"guint gtk_get_minor_version (void) ;\";function gtk_get_minor_version() bind(c)\r\ngtk;gtk_gl_area_attach_buffers;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkglarea.h;\"void gtk_gl_area_attach_buffers (GtkGLArea *area);\";subroutine gtk_gl_area_attach_buffers(area) bind(c)\r\ngtk;gtk_gl_area_get_allowed_apis;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkglarea.h;\"GdkGLAPI gtk_gl_area_get_allowed_apis (GtkGLArea *area);\";function gtk_gl_area_get_allowed_apis(area) bind(c)\r\ngtk;gtk_gl_area_get_api;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkglarea.h;\"GdkGLAPI gtk_gl_area_get_api (GtkGLArea *area);\";function gtk_gl_area_get_api(area) bind(c)\r\ngtk;gtk_gl_area_get_auto_render;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkglarea.h;\"gboolean gtk_gl_area_get_auto_render (GtkGLArea *area);\";function gtk_gl_area_get_auto_render(area) bind(c)\r\ngtk;gtk_gl_area_get_context;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkglarea.h;\"GdkGLContext * gtk_gl_area_get_context (GtkGLArea *area);\";function gtk_gl_area_get_context(area) bind(c)\r\ngtk;gtk_gl_area_get_error;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkglarea.h;\"GError * gtk_gl_area_get_error (GtkGLArea *area);\";function gtk_gl_area_get_error(area) bind(c)\r\ngtk;gtk_gl_area_get_has_depth_buffer;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkglarea.h;\"gboolean gtk_gl_area_get_has_depth_buffer (GtkGLArea *area);\";function gtk_gl_area_get_has_depth_buffer(area) bind(c)\r\ngtk;gtk_gl_area_get_has_stencil_buffer;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkglarea.h;\"gboolean gtk_gl_area_get_has_stencil_buffer (GtkGLArea *area);\";function gtk_gl_area_get_has_stencil_buffer(area) bind(c)\r\ngtk;gtk_gl_area_get_required_version;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkglarea.h;\"void gtk_gl_area_get_required_version (GtkGLArea *area, int *major, int *minor);\";subroutine gtk_gl_area_get_required_version(area, major, minor) bind(c)\r\ngtk;gtk_gl_area_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkglarea.h;\"GType gtk_gl_area_get_type (void) ;\";function gtk_gl_area_get_type() bind(c)\r\ngtk;gtk_gl_area_get_use_es;GDK_DEPRECATED_IN_4_12_FOR(gtk_gl_area_get_api);gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkglarea.h;\"gboolean gtk_gl_area_get_use_es (GtkGLArea *area);\";function gtk_gl_area_get_use_es(area) bind(c)\r\ngtk;gtk_gl_area_make_current;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkglarea.h;\"void gtk_gl_area_make_current (GtkGLArea *area);\";subroutine gtk_gl_area_make_current(area) bind(c)\r\ngtk;gtk_gl_area_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkglarea.h;\"GtkWidget * gtk_gl_area_new (void);\";function gtk_gl_area_new() bind(c)\r\ngtk;gtk_gl_area_queue_render;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkglarea.h;\"void gtk_gl_area_queue_render (GtkGLArea *area);\";subroutine gtk_gl_area_queue_render(area) bind(c)\r\ngtk;gtk_gl_area_set_allowed_apis;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkglarea.h;\"void gtk_gl_area_set_allowed_apis (GtkGLArea *area, GdkGLAPI apis);\";subroutine gtk_gl_area_set_allowed_apis(area, apis) bind(c)\r\ngtk;gtk_gl_area_set_auto_render;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkglarea.h;\"void gtk_gl_area_set_auto_render (GtkGLArea *area, gboolean auto_render);\";subroutine gtk_gl_area_set_auto_render(area, auto_render) bind(c)\r\ngtk;gtk_gl_area_set_error;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkglarea.h;\"void gtk_gl_area_set_error (GtkGLArea *area, const GError *error);\";subroutine gtk_gl_area_set_error(area, error) bind(c)\r\ngtk;gtk_gl_area_set_has_depth_buffer;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkglarea.h;\"void gtk_gl_area_set_has_depth_buffer (GtkGLArea *area, gboolean has_depth_buffer);\";subroutine gtk_gl_area_set_has_depth_buffer(area, has_depth_buffer) bind(c)\r\ngtk;gtk_gl_area_set_has_stencil_buffer;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkglarea.h;\"void gtk_gl_area_set_has_stencil_buffer (GtkGLArea *area, gboolean has_stencil_buffer);\";subroutine gtk_gl_area_set_has_stencil_buffer(area, has_stencil_buffer) bind(c)\r\ngtk;gtk_gl_area_set_required_version;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkglarea.h;\"void gtk_gl_area_set_required_version (GtkGLArea *area, int major, int minor);\";subroutine gtk_gl_area_set_required_version(area, major, minor) bind(c)\r\ngtk;gtk_gl_area_set_use_es;GDK_DEPRECATED_IN_4_12_FOR(gtk_gl_area_set_allowed_apis);gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkglarea.h;\"void gtk_gl_area_set_use_es (GtkGLArea *area, gboolean use_es);\";subroutine gtk_gl_area_set_use_es(area, use_es) bind(c)\r\ngtk;gtk_graphics_offload_get_black_background;GDK_AVAILABLE_IN_4_16;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgraphicsoffload.h;\"gboolean gtk_graphics_offload_get_black_background (GtkGraphicsOffload *self);\";function gtk_graphics_offload_get_black_background(self) bind(c)\r\ngtk;gtk_graphics_offload_get_child;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgraphicsoffload.h;\"GtkWidget * gtk_graphics_offload_get_child (GtkGraphicsOffload *self);\";function gtk_graphics_offload_get_child(self) bind(c)\r\ngtk;gtk_graphics_offload_get_enabled;;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgraphicsoffload.h;\"GtkGraphicsOffloadEnabled gtk_graphics_offload_get_enabled (GtkGraphicsOffload *self);\";function gtk_graphics_offload_get_enabled(self) bind(c)\r\ngtk;gtk_graphics_offload_new;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgraphicsoffload.h;\"GtkWidget * gtk_graphics_offload_new (GtkWidget *child);\";function gtk_graphics_offload_new(child) bind(c)\r\ngtk;gtk_graphics_offload_set_black_background;GDK_AVAILABLE_IN_4_16;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgraphicsoffload.h;\"void gtk_graphics_offload_set_black_background (GtkGraphicsOffload *self, gboolean value);\";subroutine gtk_graphics_offload_set_black_background(self, value) bind(c)\r\ngtk;gtk_graphics_offload_set_child;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgraphicsoffload.h;\"void gtk_graphics_offload_set_child (GtkGraphicsOffload *self, GtkWidget *child);\";subroutine gtk_graphics_offload_set_child(self, child) bind(c)\r\ngtk;gtk_graphics_offload_set_enabled;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgraphicsoffload.h;\"void gtk_graphics_offload_set_enabled (GtkGraphicsOffload *self, GtkGraphicsOffloadEnabled enabled);\";subroutine gtk_graphics_offload_set_enabled(self, enabled) bind(c)\r\ngtk;gtk_grid_attach;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgrid.h;\"void gtk_grid_attach (GtkGrid *grid, GtkWidget *child, int column, int row, int width, int height);\";subroutine gtk_grid_attach(grid, child, column, row, width, height) bind(c)\r\ngtk;gtk_grid_attach_next_to;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgrid.h;\"void gtk_grid_attach_next_to (GtkGrid *grid, GtkWidget *child, GtkWidget *sibling, GtkPositionType side, int width, int height);\";subroutine gtk_grid_attach_next_to(grid, child, sibling, side, width, height) bind(c)\r\ngtk;gtk_grid_get_baseline_row;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgrid.h;\"int gtk_grid_get_baseline_row (GtkGrid *grid);\";function gtk_grid_get_baseline_row(grid) bind(c)\r\ngtk;gtk_grid_get_child_at;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgrid.h;\"GtkWidget *gtk_grid_get_child_at (GtkGrid *grid, int column, int row);\";function gtk_grid_get_child_at(grid, column, row) bind(c)\r\ngtk;gtk_grid_get_column_homogeneous;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgrid.h;\"gboolean gtk_grid_get_column_homogeneous (GtkGrid *grid);\";function gtk_grid_get_column_homogeneous(grid) bind(c)\r\ngtk;gtk_grid_get_column_spacing;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgrid.h;\"guint gtk_grid_get_column_spacing (GtkGrid *grid);\";function gtk_grid_get_column_spacing(grid) bind(c)\r\ngtk;gtk_grid_get_row_baseline_position;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgrid.h;\"GtkBaselinePosition gtk_grid_get_row_baseline_position (GtkGrid *grid, int row);\";function gtk_grid_get_row_baseline_position(grid, row) bind(c)\r\ngtk;gtk_grid_get_row_homogeneous;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgrid.h;\"gboolean gtk_grid_get_row_homogeneous (GtkGrid *grid);\";function gtk_grid_get_row_homogeneous(grid) bind(c)\r\ngtk;gtk_grid_get_row_spacing;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgrid.h;\"guint gtk_grid_get_row_spacing (GtkGrid *grid);\";function gtk_grid_get_row_spacing(grid) bind(c)\r\ngtk;gtk_grid_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgrid.h;\"GType gtk_grid_get_type (void) ;\";function gtk_grid_get_type() bind(c)\r\ngtk;gtk_grid_insert_column;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgrid.h;\"void gtk_grid_insert_column (GtkGrid *grid, int position);\";subroutine gtk_grid_insert_column(grid, position) bind(c)\r\ngtk;gtk_grid_insert_next_to;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgrid.h;\"void gtk_grid_insert_next_to (GtkGrid *grid, GtkWidget *sibling, GtkPositionType side);\";subroutine gtk_grid_insert_next_to(grid, sibling, side) bind(c)\r\ngtk;gtk_grid_insert_row;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgrid.h;\"void gtk_grid_insert_row (GtkGrid *grid, int position);\";subroutine gtk_grid_insert_row(grid, position) bind(c)\r\ngtk;gtk_grid_layout_child_get_column;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgridlayout.h;\"int gtk_grid_layout_child_get_column (GtkGridLayoutChild *child);\";function gtk_grid_layout_child_get_column(child) bind(c)\r\ngtk;gtk_grid_layout_child_get_column_span;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgridlayout.h;\"int gtk_grid_layout_child_get_column_span (GtkGridLayoutChild *child);\";function gtk_grid_layout_child_get_column_span(child) bind(c)\r\ngtk;gtk_grid_layout_child_get_row;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgridlayout.h;\"int gtk_grid_layout_child_get_row (GtkGridLayoutChild *child);\";function gtk_grid_layout_child_get_row(child) bind(c)\r\ngtk;gtk_grid_layout_child_get_row_span;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgridlayout.h;\"int gtk_grid_layout_child_get_row_span (GtkGridLayoutChild *child);\";function gtk_grid_layout_child_get_row_span(child) bind(c)\r\ngtk;gtk_grid_layout_child_set_column;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgridlayout.h;\"void gtk_grid_layout_child_set_column (GtkGridLayoutChild *child, int column);\";subroutine gtk_grid_layout_child_set_column(child, column) bind(c)\r\ngtk;gtk_grid_layout_child_set_column_span;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgridlayout.h;\"void gtk_grid_layout_child_set_column_span (GtkGridLayoutChild *child, int span);\";subroutine gtk_grid_layout_child_set_column_span(child, span) bind(c)\r\ngtk;gtk_grid_layout_child_set_row;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgridlayout.h;\"void gtk_grid_layout_child_set_row (GtkGridLayoutChild *child, int row);\";subroutine gtk_grid_layout_child_set_row(child, row) bind(c)\r\ngtk;gtk_grid_layout_child_set_row_span;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgridlayout.h;\"void gtk_grid_layout_child_set_row_span (GtkGridLayoutChild *child, int span);\";subroutine gtk_grid_layout_child_set_row_span(child, span) bind(c)\r\ngtk;gtk_grid_layout_get_baseline_row;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgridlayout.h;\"int gtk_grid_layout_get_baseline_row (GtkGridLayout *grid);\";function gtk_grid_layout_get_baseline_row(grid) bind(c)\r\ngtk;gtk_grid_layout_get_column_homogeneous;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgridlayout.h;\"gboolean gtk_grid_layout_get_column_homogeneous (GtkGridLayout *grid);\";function gtk_grid_layout_get_column_homogeneous(grid) bind(c)\r\ngtk;gtk_grid_layout_get_column_spacing;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgridlayout.h;\"guint gtk_grid_layout_get_column_spacing (GtkGridLayout *grid);\";function gtk_grid_layout_get_column_spacing(grid) bind(c)\r\ngtk;gtk_grid_layout_get_row_baseline_position;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgridlayout.h;\"GtkBaselinePosition gtk_grid_layout_get_row_baseline_position (GtkGridLayout *grid, int row);\";function gtk_grid_layout_get_row_baseline_position(grid, row) bind(c)\r\ngtk;gtk_grid_layout_get_row_homogeneous;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgridlayout.h;\"gboolean gtk_grid_layout_get_row_homogeneous (GtkGridLayout *grid);\";function gtk_grid_layout_get_row_homogeneous(grid) bind(c)\r\ngtk;gtk_grid_layout_get_row_spacing;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgridlayout.h;\"guint gtk_grid_layout_get_row_spacing (GtkGridLayout *grid);\";function gtk_grid_layout_get_row_spacing(grid) bind(c)\r\ngtk;gtk_grid_layout_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgridlayout.h;\"GtkLayoutManager * gtk_grid_layout_new (void);\";function gtk_grid_layout_new() bind(c)\r\ngtk;gtk_grid_layout_set_baseline_row;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgridlayout.h;\"void gtk_grid_layout_set_baseline_row (GtkGridLayout *grid, int row);\";subroutine gtk_grid_layout_set_baseline_row(grid, row) bind(c)\r\ngtk;gtk_grid_layout_set_column_homogeneous;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgridlayout.h;\"void gtk_grid_layout_set_column_homogeneous (GtkGridLayout *grid, gboolean homogeneous);\";subroutine gtk_grid_layout_set_column_homogeneous(grid, homogeneous) bind(c)\r\ngtk;gtk_grid_layout_set_column_spacing;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgridlayout.h;\"void gtk_grid_layout_set_column_spacing (GtkGridLayout *grid, guint spacing);\";subroutine gtk_grid_layout_set_column_spacing(grid, spacing) bind(c)\r\ngtk;gtk_grid_layout_set_row_baseline_position;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgridlayout.h;\"void gtk_grid_layout_set_row_baseline_position (GtkGridLayout *grid, int row, GtkBaselinePosition pos);\";subroutine gtk_grid_layout_set_row_baseline_position(grid, row, pos) bind(c)\r\ngtk;gtk_grid_layout_set_row_homogeneous;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgridlayout.h;\"void gtk_grid_layout_set_row_homogeneous (GtkGridLayout *grid, gboolean homogeneous);\";subroutine gtk_grid_layout_set_row_homogeneous(grid, homogeneous) bind(c)\r\ngtk;gtk_grid_layout_set_row_spacing;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgridlayout.h;\"void gtk_grid_layout_set_row_spacing (GtkGridLayout *grid, guint spacing);\";subroutine gtk_grid_layout_set_row_spacing(grid, spacing) bind(c)\r\ngtk;gtk_grid_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgrid.h;\"GtkWidget* gtk_grid_new (void);\";function gtk_grid_new() bind(c)\r\ngtk;gtk_grid_query_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgrid.h;\"void gtk_grid_query_child (GtkGrid *grid, GtkWidget *child, int *column, int *row, int *width, int *height);\";subroutine gtk_grid_query_child(grid, child, column, row, width, height) bind(c)\r\ngtk;gtk_grid_remove;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgrid.h;\"void gtk_grid_remove (GtkGrid *grid, GtkWidget *child);\";subroutine gtk_grid_remove(grid, child) bind(c)\r\ngtk;gtk_grid_remove_column;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgrid.h;\"void gtk_grid_remove_column (GtkGrid *grid, int position);\";subroutine gtk_grid_remove_column(grid, position) bind(c)\r\ngtk;gtk_grid_remove_row;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgrid.h;\"void gtk_grid_remove_row (GtkGrid *grid, int position);\";subroutine gtk_grid_remove_row(grid, position) bind(c)\r\ngtk;gtk_grid_set_baseline_row;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgrid.h;\"void gtk_grid_set_baseline_row (GtkGrid *grid, int row);\";subroutine gtk_grid_set_baseline_row(grid, row) bind(c)\r\ngtk;gtk_grid_set_column_homogeneous;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgrid.h;\"void gtk_grid_set_column_homogeneous (GtkGrid *grid, gboolean homogeneous);\";subroutine gtk_grid_set_column_homogeneous(grid, homogeneous) bind(c)\r\ngtk;gtk_grid_set_column_spacing;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgrid.h;\"void gtk_grid_set_column_spacing (GtkGrid *grid, guint spacing);\";subroutine gtk_grid_set_column_spacing(grid, spacing) bind(c)\r\ngtk;gtk_grid_set_row_baseline_position;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgrid.h;\"void gtk_grid_set_row_baseline_position (GtkGrid *grid, int row, GtkBaselinePosition pos);\";subroutine gtk_grid_set_row_baseline_position(grid, row, pos) bind(c)\r\ngtk;gtk_grid_set_row_homogeneous;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgrid.h;\"void gtk_grid_set_row_homogeneous (GtkGrid *grid, gboolean homogeneous);\";subroutine gtk_grid_set_row_homogeneous(grid, homogeneous) bind(c)\r\ngtk;gtk_grid_set_row_spacing;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgrid.h;\"void gtk_grid_set_row_spacing (GtkGrid *grid, guint spacing);\";subroutine gtk_grid_set_row_spacing(grid, spacing) bind(c)\r\ngtk;gtk_grid_view_get_enable_rubberband;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgridview.h;\"gboolean gtk_grid_view_get_enable_rubberband (GtkGridView *self);\";function gtk_grid_view_get_enable_rubberband(self) bind(c)\r\ngtk;gtk_grid_view_get_factory;;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgridview.h;\"GtkListItemFactory * gtk_grid_view_get_factory (GtkGridView *self);\";function gtk_grid_view_get_factory(self) bind(c)\r\ngtk;gtk_grid_view_get_max_columns;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgridview.h;\"guint gtk_grid_view_get_max_columns (GtkGridView *self);\";function gtk_grid_view_get_max_columns(self) bind(c)\r\ngtk;gtk_grid_view_get_min_columns;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgridview.h;\"guint gtk_grid_view_get_min_columns (GtkGridView *self);\";function gtk_grid_view_get_min_columns(self) bind(c)\r\ngtk;gtk_grid_view_get_model;;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgridview.h;\"GtkSelectionModel * gtk_grid_view_get_model (GtkGridView *self);\";function gtk_grid_view_get_model(self) bind(c)\r\ngtk;gtk_grid_view_get_single_click_activate;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgridview.h;\"gboolean gtk_grid_view_get_single_click_activate (GtkGridView *self);\";function gtk_grid_view_get_single_click_activate(self) bind(c)\r\ngtk;gtk_grid_view_get_tab_behavior;;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgridview.h;\"GtkListTabBehavior gtk_grid_view_get_tab_behavior (GtkGridView *self);\";function gtk_grid_view_get_tab_behavior(self) bind(c)\r\ngtk;gtk_grid_view_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgridview.h;\"GType gtk_grid_view_get_type (void) ;\";function gtk_grid_view_get_type() bind(c)\r\ngtk;gtk_grid_view_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgridview.h;\"GtkWidget * gtk_grid_view_new (GtkSelectionModel *model, GtkListItemFactory *factory);\";function gtk_grid_view_new(model, factory) bind(c)\r\ngtk;gtk_grid_view_scroll_to;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgridview.h;\"void gtk_grid_view_scroll_to (GtkGridView *self, guint pos, GtkListScrollFlags flags, GtkScrollInfo *scroll);\";subroutine gtk_grid_view_scroll_to(self, pos, flags, scroll) bind(c)\r\ngtk;gtk_grid_view_set_enable_rubberband;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgridview.h;\"void gtk_grid_view_set_enable_rubberband (GtkGridView *self, gboolean enable_rubberband);\";subroutine gtk_grid_view_set_enable_rubberband(self, enable_rubberband) bind(c)\r\ngtk;gtk_grid_view_set_factory;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgridview.h;\"void gtk_grid_view_set_factory (GtkGridView *self, GtkListItemFactory *factory);\";subroutine gtk_grid_view_set_factory(self, factory) bind(c)\r\ngtk;gtk_grid_view_set_max_columns;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgridview.h;\"void gtk_grid_view_set_max_columns (GtkGridView *self, guint max_columns);\";subroutine gtk_grid_view_set_max_columns(self, max_columns) bind(c)\r\ngtk;gtk_grid_view_set_min_columns;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgridview.h;\"void gtk_grid_view_set_min_columns (GtkGridView *self, guint min_columns);\";subroutine gtk_grid_view_set_min_columns(self, min_columns) bind(c)\r\ngtk;gtk_grid_view_set_model;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgridview.h;\"void gtk_grid_view_set_model (GtkGridView *self, GtkSelectionModel *model);\";subroutine gtk_grid_view_set_model(self, model) bind(c)\r\ngtk;gtk_grid_view_set_single_click_activate;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgridview.h;\"void gtk_grid_view_set_single_click_activate (GtkGridView *self, gboolean single_click_activate);\";subroutine gtk_grid_view_set_single_click_activate(self, single_click_activate) bind(c)\r\ngtk;gtk_grid_view_set_tab_behavior;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkgridview.h;\"void gtk_grid_view_set_tab_behavior (GtkGridView *self, GtkListTabBehavior tab_behavior);\";subroutine gtk_grid_view_set_tab_behavior(self, tab_behavior) bind(c)\r\ngtk;gtk_header_bar_get_decoration_layout;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkheaderbar.h;\"const char *gtk_header_bar_get_decoration_layout (GtkHeaderBar *bar);\";function gtk_header_bar_get_decoration_layout(bar) bind(c)\r\ngtk;gtk_header_bar_get_show_title_buttons;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkheaderbar.h;\"gboolean gtk_header_bar_get_show_title_buttons (GtkHeaderBar *bar);\";function gtk_header_bar_get_show_title_buttons(bar) bind(c)\r\ngtk;gtk_header_bar_get_title_widget;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkheaderbar.h;\"GtkWidget *gtk_header_bar_get_title_widget (GtkHeaderBar *bar);\";function gtk_header_bar_get_title_widget(bar) bind(c)\r\ngtk;gtk_header_bar_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkheaderbar.h;\"GType gtk_header_bar_get_type (void) ;\";function gtk_header_bar_get_type() bind(c)\r\ngtk;gtk_header_bar_get_use_native_controls;GDK_AVAILABLE_IN_4_18;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkheaderbar.h;\"gboolean gtk_header_bar_get_use_native_controls (GtkHeaderBar *bar);\";function gtk_header_bar_get_use_native_controls(bar) bind(c)\r\ngtk;gtk_header_bar_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkheaderbar.h;\"GtkWidget *gtk_header_bar_new (void);\";function gtk_header_bar_new() bind(c)\r\ngtk;gtk_header_bar_pack_end;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkheaderbar.h;\"void gtk_header_bar_pack_end (GtkHeaderBar *bar, GtkWidget *child);\";subroutine gtk_header_bar_pack_end(bar, child) bind(c)\r\ngtk;gtk_header_bar_pack_start;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkheaderbar.h;\"void gtk_header_bar_pack_start (GtkHeaderBar *bar, GtkWidget *child);\";subroutine gtk_header_bar_pack_start(bar, child) bind(c)\r\ngtk;gtk_header_bar_remove;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkheaderbar.h;\"void gtk_header_bar_remove (GtkHeaderBar *bar, GtkWidget *child);\";subroutine gtk_header_bar_remove(bar, child) bind(c)\r\ngtk;gtk_header_bar_set_decoration_layout;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkheaderbar.h;\"void gtk_header_bar_set_decoration_layout (GtkHeaderBar *bar, const char *layout);\";subroutine gtk_header_bar_set_decoration_layout(bar, layout) bind(c)\r\ngtk;gtk_header_bar_set_show_title_buttons;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkheaderbar.h;\"void gtk_header_bar_set_show_title_buttons (GtkHeaderBar *bar, gboolean setting);\";subroutine gtk_header_bar_set_show_title_buttons(bar, setting) bind(c)\r\ngtk;gtk_header_bar_set_title_widget;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkheaderbar.h;\"void gtk_header_bar_set_title_widget (GtkHeaderBar *bar, GtkWidget *title_widget);\";subroutine gtk_header_bar_set_title_widget(bar, title_widget) bind(c)\r\ngtk;gtk_header_bar_set_use_native_controls;GDK_AVAILABLE_IN_4_18;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkheaderbar.h;\"void gtk_header_bar_set_use_native_controls (GtkHeaderBar *bar, gboolean setting);\";subroutine gtk_header_bar_set_use_native_controls(bar, setting) bind(c)\r\ngtk;gtk_hsv_to_rgb;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolorutils.h;\"void gtk_hsv_to_rgb (float h, float s, float v, float *r, float *g, float *b);\";subroutine gtk_hsv_to_rgb(h, s, v, r, g, b) bind(c)\r\ngtk;gtk_icon_paintable_get_file;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkiconpaintable.h;\"GFile * gtk_icon_paintable_get_file (GtkIconPaintable *self);\";function gtk_icon_paintable_get_file(self) bind(c)\r\ngtk;gtk_icon_paintable_get_icon_name;GDK_DEPRECATED_IN_4_20;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkiconpaintable.h;\"const char * gtk_icon_paintable_get_icon_name (GtkIconPaintable *self);\";function gtk_icon_paintable_get_icon_name(self) bind(c)\r\ngtk;gtk_icon_paintable_is_symbolic;GDK_DEPRECATED_IN_4_20;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkiconpaintable.h;\"gboolean gtk_icon_paintable_is_symbolic (GtkIconPaintable *self);\";function gtk_icon_paintable_is_symbolic(self) bind(c)\r\ngtk;gtk_icon_paintable_new_for_file;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkiconpaintable.h;\"GtkIconPaintable * gtk_icon_paintable_new_for_file (GFile *file, int size, int scale);\";function gtk_icon_paintable_new_for_file(file, size, scale) bind(c)\r\ngtk;gtk_icon_theme_add_resource_path;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkicontheme.h;\"void gtk_icon_theme_add_resource_path (GtkIconTheme *self, const char *path);\";subroutine gtk_icon_theme_add_resource_path(self, path) bind(c)\r\ngtk;gtk_icon_theme_add_search_path;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkicontheme.h;\"void gtk_icon_theme_add_search_path (GtkIconTheme *self, const char *path);\";subroutine gtk_icon_theme_add_search_path(self, path) bind(c)\r\ngtk;gtk_icon_theme_error_quark;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkicontheme.h;\"GQuark gtk_icon_theme_error_quark (void);\";function gtk_icon_theme_error_quark() bind(c)\r\ngtk;gtk_icon_theme_get_display;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkicontheme.h;\"GdkDisplay * gtk_icon_theme_get_display (GtkIconTheme *self);\";function gtk_icon_theme_get_display(self) bind(c)\r\ngtk;gtk_icon_theme_get_for_display;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkicontheme.h;\"GtkIconTheme *gtk_icon_theme_get_for_display (GdkDisplay *display);\";function gtk_icon_theme_get_for_display(display) bind(c)\r\ngtk;gtk_icon_theme_get_icon_names;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkicontheme.h;\"char ** gtk_icon_theme_get_icon_names (GtkIconTheme *self);\";function gtk_icon_theme_get_icon_names(self) bind(c)\r\ngtk;gtk_icon_theme_get_icon_sizes;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkicontheme.h;\"int *gtk_icon_theme_get_icon_sizes (GtkIconTheme *self, const char *icon_name);\";function gtk_icon_theme_get_icon_sizes(self, icon_name) bind(c)\r\ngtk;gtk_icon_theme_get_resource_path;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkicontheme.h;\"char ** gtk_icon_theme_get_resource_path (GtkIconTheme *self);\";function gtk_icon_theme_get_resource_path(self) bind(c)\r\ngtk;gtk_icon_theme_get_search_path;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkicontheme.h;\"char ** gtk_icon_theme_get_search_path (GtkIconTheme *self);\";function gtk_icon_theme_get_search_path(self) bind(c)\r\ngtk;gtk_icon_theme_get_theme_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkicontheme.h;\"char * gtk_icon_theme_get_theme_name (GtkIconTheme *self);\";function gtk_icon_theme_get_theme_name(self) bind(c)\r\ngtk;gtk_icon_theme_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkicontheme.h;\"GType gtk_icon_theme_get_type (void) ;\";function gtk_icon_theme_get_type() bind(c)\r\ngtk;gtk_icon_theme_has_gicon;GDK_AVAILABLE_IN_4_2;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkicontheme.h;\"gboolean gtk_icon_theme_has_gicon (GtkIconTheme *self, GIcon *gicon);\";function gtk_icon_theme_has_gicon(self, gicon) bind(c)\r\ngtk;gtk_icon_theme_has_icon;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkicontheme.h;\"gboolean gtk_icon_theme_has_icon (GtkIconTheme *self, const char *icon_name);\";function gtk_icon_theme_has_icon(self, icon_name) bind(c)\r\ngtk;gtk_icon_theme_lookup_by_gicon;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkicontheme.h;\"GtkIconPaintable *gtk_icon_theme_lookup_by_gicon (GtkIconTheme *self, GIcon *icon, int size, int scale, GtkTextDirection direction, GtkIconLookupFlags flags);\";function gtk_icon_theme_lookup_by_gicon(self, icon, size, scale, direction, flags) bind(c)\r\ngtk;gtk_icon_theme_lookup_icon;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkicontheme.h;\"GtkIconPaintable *gtk_icon_theme_lookup_icon (GtkIconTheme *self, const char *icon_name, const char *fallbacks[], int size, int scale, GtkTextDirection direction, GtkIconLookupFlags flags);\";function gtk_icon_theme_lookup_icon(self, icon_name, fallbacks, size, scale, direction, flags) bind(c)\r\ngtk;gtk_icon_theme_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkicontheme.h;\"GtkIconTheme *gtk_icon_theme_new (void);\";function gtk_icon_theme_new() bind(c)\r\ngtk;gtk_icon_theme_set_resource_path;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkicontheme.h;\"void gtk_icon_theme_set_resource_path (GtkIconTheme *self, const char * const *path);\";subroutine gtk_icon_theme_set_resource_path(self, path) bind(c)\r\ngtk;gtk_icon_theme_set_search_path;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkicontheme.h;\"void gtk_icon_theme_set_search_path (GtkIconTheme *self, const char * const *path);\";subroutine gtk_icon_theme_set_search_path(self, path) bind(c)\r\ngtk;gtk_icon_theme_set_theme_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkicontheme.h;\"void gtk_icon_theme_set_theme_name (GtkIconTheme *self, const char *theme_name);\";subroutine gtk_icon_theme_set_theme_name(self, theme_name) bind(c)\r\ngtk;gtk_icon_view_create_drag_icon;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"GdkPaintable *gtk_icon_view_create_drag_icon (GtkIconView *icon_view, GtkTreePath *path);\";function gtk_icon_view_create_drag_icon(icon_view, path) bind(c)\r\ngtk;gtk_icon_view_enable_model_drag_dest;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"void gtk_icon_view_enable_model_drag_dest (GtkIconView *icon_view, GdkContentFormats *formats, GdkDragAction actions);\";subroutine gtk_icon_view_enable_model_drag_dest(icon_view, formats, actions) bind(c)\r\ngtk;gtk_icon_view_enable_model_drag_source;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"void gtk_icon_view_enable_model_drag_source (GtkIconView *icon_view, GdkModifierType start_button_mask, GdkContentFormats *formats, GdkDragAction actions);\";subroutine gtk_icon_view_enable_model_drag_source(icon_view, start_button_mask, formats, actions) bind(c)\r\ngtk;gtk_icon_view_get_activate_on_single_click;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"gboolean gtk_icon_view_get_activate_on_single_click (GtkIconView *icon_view);\";function gtk_icon_view_get_activate_on_single_click(icon_view) bind(c)\r\ngtk;gtk_icon_view_get_cell_rect;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"gboolean gtk_icon_view_get_cell_rect (GtkIconView *icon_view, GtkTreePath *path, GtkCellRenderer *cell, GdkRectangle *rect);\";function gtk_icon_view_get_cell_rect(icon_view, path, cell, rect) bind(c)\r\ngtk;gtk_icon_view_get_column_spacing;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"int gtk_icon_view_get_column_spacing (GtkIconView *icon_view);\";function gtk_icon_view_get_column_spacing(icon_view) bind(c)\r\ngtk;gtk_icon_view_get_columns;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"int gtk_icon_view_get_columns (GtkIconView *icon_view);\";function gtk_icon_view_get_columns(icon_view) bind(c)\r\ngtk;gtk_icon_view_get_cursor;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"gboolean gtk_icon_view_get_cursor (GtkIconView *icon_view, GtkTreePath **path, GtkCellRenderer **cell);\";function gtk_icon_view_get_cursor(icon_view, path, cell) bind(c)\r\ngtk;gtk_icon_view_get_dest_item_at_pos;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"gboolean gtk_icon_view_get_dest_item_at_pos (GtkIconView *icon_view, int drag_x, int drag_y, GtkTreePath **path, GtkIconViewDropPosition *pos);\";function gtk_icon_view_get_dest_item_at_pos(icon_view, drag_x, drag_y, path, pos) bind(c)\r\ngtk;gtk_icon_view_get_drag_dest_item;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"void gtk_icon_view_get_drag_dest_item (GtkIconView *icon_view, GtkTreePath **path, GtkIconViewDropPosition *pos);\";subroutine gtk_icon_view_get_drag_dest_item(icon_view, path, pos) bind(c)\r\ngtk;gtk_icon_view_get_item_at_pos;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"gboolean gtk_icon_view_get_item_at_pos (GtkIconView *icon_view, int x, int y, GtkTreePath **path, GtkCellRenderer **cell);\";function gtk_icon_view_get_item_at_pos(icon_view, x, y, path, cell) bind(c)\r\ngtk;gtk_icon_view_get_item_column;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"int gtk_icon_view_get_item_column (GtkIconView *icon_view, GtkTreePath *path);\";function gtk_icon_view_get_item_column(icon_view, path) bind(c)\r\ngtk;gtk_icon_view_get_item_orientation;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"GtkOrientation gtk_icon_view_get_item_orientation (GtkIconView *icon_view);\";function gtk_icon_view_get_item_orientation(icon_view) bind(c)\r\ngtk;gtk_icon_view_get_item_padding;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"int gtk_icon_view_get_item_padding (GtkIconView *icon_view);\";function gtk_icon_view_get_item_padding(icon_view) bind(c)\r\ngtk;gtk_icon_view_get_item_row;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"int gtk_icon_view_get_item_row (GtkIconView *icon_view, GtkTreePath *path);\";function gtk_icon_view_get_item_row(icon_view, path) bind(c)\r\ngtk;gtk_icon_view_get_item_width;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"int gtk_icon_view_get_item_width (GtkIconView *icon_view);\";function gtk_icon_view_get_item_width(icon_view) bind(c)\r\ngtk;gtk_icon_view_get_margin;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"int gtk_icon_view_get_margin (GtkIconView *icon_view);\";function gtk_icon_view_get_margin(icon_view) bind(c)\r\ngtk;gtk_icon_view_get_markup_column;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"int gtk_icon_view_get_markup_column (GtkIconView *icon_view);\";function gtk_icon_view_get_markup_column(icon_view) bind(c)\r\ngtk;gtk_icon_view_get_model;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"GtkTreeModel * gtk_icon_view_get_model (GtkIconView *icon_view);\";function gtk_icon_view_get_model(icon_view) bind(c)\r\ngtk;gtk_icon_view_get_path_at_pos;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"GtkTreePath * gtk_icon_view_get_path_at_pos (GtkIconView *icon_view, int x, int y);\";function gtk_icon_view_get_path_at_pos(icon_view, x, y) bind(c)\r\ngtk;gtk_icon_view_get_pixbuf_column;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"int gtk_icon_view_get_pixbuf_column (GtkIconView *icon_view);\";function gtk_icon_view_get_pixbuf_column(icon_view) bind(c)\r\ngtk;gtk_icon_view_get_reorderable;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"gboolean gtk_icon_view_get_reorderable (GtkIconView *icon_view);\";function gtk_icon_view_get_reorderable(icon_view) bind(c)\r\ngtk;gtk_icon_view_get_row_spacing;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"int gtk_icon_view_get_row_spacing (GtkIconView *icon_view);\";function gtk_icon_view_get_row_spacing(icon_view) bind(c)\r\ngtk;gtk_icon_view_get_selected_items;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"GList *gtk_icon_view_get_selected_items (GtkIconView *icon_view);\";function gtk_icon_view_get_selected_items(icon_view) bind(c)\r\ngtk;gtk_icon_view_get_selection_mode;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"GtkSelectionMode gtk_icon_view_get_selection_mode (GtkIconView *icon_view);\";function gtk_icon_view_get_selection_mode(icon_view) bind(c)\r\ngtk;gtk_icon_view_get_spacing;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"int gtk_icon_view_get_spacing (GtkIconView *icon_view);\";function gtk_icon_view_get_spacing(icon_view) bind(c)\r\ngtk;gtk_icon_view_get_text_column;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"int gtk_icon_view_get_text_column (GtkIconView *icon_view);\";function gtk_icon_view_get_text_column(icon_view) bind(c)\r\ngtk;gtk_icon_view_get_tooltip_column;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"int gtk_icon_view_get_tooltip_column (GtkIconView *icon_view);\";function gtk_icon_view_get_tooltip_column(icon_view) bind(c)\r\ngtk;gtk_icon_view_get_tooltip_context;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"gboolean gtk_icon_view_get_tooltip_context (GtkIconView *icon_view, int x, int y, gboolean keyboard_tip, GtkTreeModel **model, GtkTreePath **path, GtkTreeIter *iter);\";function gtk_icon_view_get_tooltip_context(icon_view, x, y, keyboard_tip, model, path, iter) bind(c)\r\ngtk;gtk_icon_view_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"GType gtk_icon_view_get_type (void) ;\";function gtk_icon_view_get_type() bind(c)\r\ngtk;gtk_icon_view_get_visible_range;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"gboolean gtk_icon_view_get_visible_range (GtkIconView *icon_view, GtkTreePath **start_path, GtkTreePath **end_path);\";function gtk_icon_view_get_visible_range(icon_view, start_path, end_path) bind(c)\r\ngtk;gtk_icon_view_item_activated;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"void gtk_icon_view_item_activated (GtkIconView *icon_view, GtkTreePath *path);\";subroutine gtk_icon_view_item_activated(icon_view, path) bind(c)\r\ngtk;gtk_icon_view_new;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"GtkWidget * gtk_icon_view_new (void);\";function gtk_icon_view_new() bind(c)\r\ngtk;gtk_icon_view_new_with_area;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"GtkWidget * gtk_icon_view_new_with_area (GtkCellArea *area);\";function gtk_icon_view_new_with_area(area) bind(c)\r\ngtk;gtk_icon_view_new_with_model;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"GtkWidget * gtk_icon_view_new_with_model (GtkTreeModel *model);\";function gtk_icon_view_new_with_model(model) bind(c)\r\ngtk;gtk_icon_view_path_is_selected;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"gboolean gtk_icon_view_path_is_selected (GtkIconView *icon_view, GtkTreePath *path);\";function gtk_icon_view_path_is_selected(icon_view, path) bind(c)\r\ngtk;gtk_icon_view_scroll_to_path;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"void gtk_icon_view_scroll_to_path (GtkIconView *icon_view, GtkTreePath *path, gboolean use_align, float row_align, float col_align);\";subroutine gtk_icon_view_scroll_to_path(icon_view, path, use_align, row_align, col_align) bind(c)\r\ngtk;gtk_icon_view_select_all;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"void gtk_icon_view_select_all (GtkIconView *icon_view);\";subroutine gtk_icon_view_select_all(icon_view) bind(c)\r\ngtk;gtk_icon_view_select_path;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"void gtk_icon_view_select_path (GtkIconView *icon_view, GtkTreePath *path);\";subroutine gtk_icon_view_select_path(icon_view, path) bind(c)\r\ngtk;gtk_icon_view_selected_foreach;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"void gtk_icon_view_selected_foreach (GtkIconView *icon_view, GtkIconViewForeachFunc func, gpointer data);\";subroutine gtk_icon_view_selected_foreach(icon_view, func, data) bind(c)\r\ngtk;gtk_icon_view_set_activate_on_single_click;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"void gtk_icon_view_set_activate_on_single_click (GtkIconView *icon_view, gboolean single);\";subroutine gtk_icon_view_set_activate_on_single_click(icon_view, single) bind(c)\r\ngtk;gtk_icon_view_set_column_spacing;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"void gtk_icon_view_set_column_spacing (GtkIconView *icon_view, int column_spacing);\";subroutine gtk_icon_view_set_column_spacing(icon_view, column_spacing) bind(c)\r\ngtk;gtk_icon_view_set_columns;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"void gtk_icon_view_set_columns (GtkIconView *icon_view, int columns);\";subroutine gtk_icon_view_set_columns(icon_view, columns) bind(c)\r\ngtk;gtk_icon_view_set_cursor;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"void gtk_icon_view_set_cursor (GtkIconView *icon_view, GtkTreePath *path, GtkCellRenderer *cell, gboolean start_editing);\";subroutine gtk_icon_view_set_cursor(icon_view, path, cell, start_editing) bind(c)\r\ngtk;gtk_icon_view_set_drag_dest_item;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"void gtk_icon_view_set_drag_dest_item (GtkIconView *icon_view, GtkTreePath *path, GtkIconViewDropPosition pos);\";subroutine gtk_icon_view_set_drag_dest_item(icon_view, path, pos) bind(c)\r\ngtk;gtk_icon_view_set_item_orientation;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"void gtk_icon_view_set_item_orientation (GtkIconView *icon_view, GtkOrientation orientation);\";subroutine gtk_icon_view_set_item_orientation(icon_view, orientation) bind(c)\r\ngtk;gtk_icon_view_set_item_padding;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"void gtk_icon_view_set_item_padding (GtkIconView *icon_view, int item_padding);\";subroutine gtk_icon_view_set_item_padding(icon_view, item_padding) bind(c)\r\ngtk;gtk_icon_view_set_item_width;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"void gtk_icon_view_set_item_width (GtkIconView *icon_view, int item_width);\";subroutine gtk_icon_view_set_item_width(icon_view, item_width) bind(c)\r\ngtk;gtk_icon_view_set_margin;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"void gtk_icon_view_set_margin (GtkIconView *icon_view, int margin);\";subroutine gtk_icon_view_set_margin(icon_view, margin) bind(c)\r\ngtk;gtk_icon_view_set_markup_column;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"void gtk_icon_view_set_markup_column (GtkIconView *icon_view, int column);\";subroutine gtk_icon_view_set_markup_column(icon_view, column) bind(c)\r\ngtk;gtk_icon_view_set_model;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"void gtk_icon_view_set_model (GtkIconView *icon_view, GtkTreeModel *model);\";subroutine gtk_icon_view_set_model(icon_view, model) bind(c)\r\ngtk;gtk_icon_view_set_pixbuf_column;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"void gtk_icon_view_set_pixbuf_column (GtkIconView *icon_view, int column);\";subroutine gtk_icon_view_set_pixbuf_column(icon_view, column) bind(c)\r\ngtk;gtk_icon_view_set_reorderable;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"void gtk_icon_view_set_reorderable (GtkIconView *icon_view, gboolean reorderable);\";subroutine gtk_icon_view_set_reorderable(icon_view, reorderable) bind(c)\r\ngtk;gtk_icon_view_set_row_spacing;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"void gtk_icon_view_set_row_spacing (GtkIconView *icon_view, int row_spacing);\";subroutine gtk_icon_view_set_row_spacing(icon_view, row_spacing) bind(c)\r\ngtk;gtk_icon_view_set_selection_mode;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"void gtk_icon_view_set_selection_mode (GtkIconView *icon_view, GtkSelectionMode mode);\";subroutine gtk_icon_view_set_selection_mode(icon_view, mode) bind(c)\r\ngtk;gtk_icon_view_set_spacing;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"void gtk_icon_view_set_spacing (GtkIconView *icon_view, int spacing);\";subroutine gtk_icon_view_set_spacing(icon_view, spacing) bind(c)\r\ngtk;gtk_icon_view_set_text_column;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"void gtk_icon_view_set_text_column (GtkIconView *icon_view, int column);\";subroutine gtk_icon_view_set_text_column(icon_view, column) bind(c)\r\ngtk;gtk_icon_view_set_tooltip_cell;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"void gtk_icon_view_set_tooltip_cell (GtkIconView *icon_view, GtkTooltip *tooltip, GtkTreePath *path, GtkCellRenderer *cell);\";subroutine gtk_icon_view_set_tooltip_cell(icon_view, tooltip, path, cell) bind(c)\r\ngtk;gtk_icon_view_set_tooltip_column;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"void gtk_icon_view_set_tooltip_column (GtkIconView *icon_view, int column);\";subroutine gtk_icon_view_set_tooltip_column(icon_view, column) bind(c)\r\ngtk;gtk_icon_view_set_tooltip_item;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"void gtk_icon_view_set_tooltip_item (GtkIconView *icon_view, GtkTooltip *tooltip, GtkTreePath *path);\";subroutine gtk_icon_view_set_tooltip_item(icon_view, tooltip, path) bind(c)\r\ngtk;gtk_icon_view_unselect_all;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"void gtk_icon_view_unselect_all (GtkIconView *icon_view);\";subroutine gtk_icon_view_unselect_all(icon_view) bind(c)\r\ngtk;gtk_icon_view_unselect_path;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"void gtk_icon_view_unselect_path (GtkIconView *icon_view, GtkTreePath *path);\";subroutine gtk_icon_view_unselect_path(icon_view, path) bind(c)\r\ngtk;gtk_icon_view_unset_model_drag_dest;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"void gtk_icon_view_unset_model_drag_dest (GtkIconView *icon_view);\";subroutine gtk_icon_view_unset_model_drag_dest(icon_view) bind(c)\r\ngtk;gtk_icon_view_unset_model_drag_source;GDK_DEPRECATED_IN_4_10_FOR(GtkGridView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkiconview.h;\"void gtk_icon_view_unset_model_drag_source (GtkIconView *icon_view);\";subroutine gtk_icon_view_unset_model_drag_source(icon_view) bind(c)\r\ngtk;gtk_im_context_activate_osk;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimcontext.h;\"gboolean gtk_im_context_activate_osk (GtkIMContext *context, GdkEvent *event);\";function gtk_im_context_activate_osk(context, event) bind(c)\r\ngtk;gtk_im_context_delete_surrounding;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimcontext.h;\"gboolean gtk_im_context_delete_surrounding (GtkIMContext *context, int offset, int n_chars);\";function gtk_im_context_delete_surrounding(context, offset, n_chars) bind(c)\r\ngtk;gtk_im_context_filter_key;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimcontext.h;\"gboolean gtk_im_context_filter_key (GtkIMContext *context, gboolean press, GdkSurface *surface, GdkDevice *device, guint32 time, guint keycode, GdkModifierType state, int group);\";function gtk_im_context_filter_key(context, press, surface, device, time, keycode, state, group) bind(c)\r\ngtk;gtk_im_context_filter_keypress;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimcontext.h;\"gboolean gtk_im_context_filter_keypress (GtkIMContext *context, GdkEvent *event);\";function gtk_im_context_filter_keypress(context, event) bind(c)\r\ngtk;gtk_im_context_focus_in;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimcontext.h;\"void gtk_im_context_focus_in (GtkIMContext *context);\";subroutine gtk_im_context_focus_in(context) bind(c)\r\ngtk;gtk_im_context_focus_out;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimcontext.h;\"void gtk_im_context_focus_out (GtkIMContext *context);\";subroutine gtk_im_context_focus_out(context) bind(c)\r\ngtk;gtk_im_context_get_preedit_string;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimcontext.h;\"void gtk_im_context_get_preedit_string (GtkIMContext *context, char **str, PangoAttrList **attrs, int *cursor_pos);\";subroutine gtk_im_context_get_preedit_string(context, str, attrs, cursor_pos) bind(c)\r\ngtk;gtk_im_context_get_surrounding;GDK_DEPRECATED_IN_4_2_FOR(gtk_im_context_get_surrounding_with_selection);gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimcontext.h;\"gboolean gtk_im_context_get_surrounding (GtkIMContext *context, char **text, int *cursor_index);\";function gtk_im_context_get_surrounding(context, text, cursor_index) bind(c)\r\ngtk;gtk_im_context_get_surrounding_with_selection;GDK_AVAILABLE_IN_4_2;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimcontext.h;\"gboolean gtk_im_context_get_surrounding_with_selection (GtkIMContext *context, char **text, int *cursor_index, int *anchor_index);\";function gtk_im_context_get_surrounding_with_selection(context, text, cursor_index, anchor_index) bind(c)\r\ngtk;gtk_im_context_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimcontext.h;\"GType gtk_im_context_get_type (void) ;\";function gtk_im_context_get_type() bind(c)\r\ngtk;gtk_im_context_reset;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimcontext.h;\"void gtk_im_context_reset (GtkIMContext *context);\";subroutine gtk_im_context_reset(context) bind(c)\r\ngtk;gtk_im_context_set_client_widget;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimcontext.h;\"void gtk_im_context_set_client_widget (GtkIMContext *context, GtkWidget *widget);\";subroutine gtk_im_context_set_client_widget(context, widget) bind(c)\r\ngtk;gtk_im_context_set_cursor_location;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimcontext.h;\"void gtk_im_context_set_cursor_location (GtkIMContext *context, const GdkRectangle *area);\";subroutine gtk_im_context_set_cursor_location(context, area) bind(c)\r\ngtk;gtk_im_context_set_surrounding;GDK_DEPRECATED_IN_4_2_FOR(gtk_im_context_set_surrounding_with_selection);gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimcontext.h;\"void gtk_im_context_set_surrounding (GtkIMContext *context, const char *text, int len, int cursor_index);\";subroutine gtk_im_context_set_surrounding(context, text, len, cursor_index) bind(c)\r\ngtk;gtk_im_context_set_surrounding_with_selection;GDK_AVAILABLE_IN_4_2;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimcontext.h;\"void gtk_im_context_set_surrounding_with_selection (GtkIMContext *context, const char *text, int len, int cursor_index, int anchor_index);\";subroutine gtk_im_context_set_surrounding_with_selection(context, text, len, cursor_index, anchor_index) bind(c)\r\ngtk;gtk_im_context_set_use_preedit;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimcontext.h;\"void gtk_im_context_set_use_preedit (GtkIMContext *context, gboolean use_preedit);\";subroutine gtk_im_context_set_use_preedit(context, use_preedit) bind(c)\r\ngtk;gtk_im_context_simple_add_compose_file;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimcontextsimple.h;\"void gtk_im_context_simple_add_compose_file (GtkIMContextSimple *context_simple, const char *compose_file);\";subroutine gtk_im_context_simple_add_compose_file(context_simple, compose_file) bind(c)\r\ngtk;gtk_im_context_simple_add_table;GDK_DEPRECATED_IN_4_4_FOR(gtk_im_context_simple_add_compose_file);gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimcontextsimple.h;\"void gtk_im_context_simple_add_table (GtkIMContextSimple *context_simple, guint16 *data, int max_seq_len, int n_seqs);\";subroutine gtk_im_context_simple_add_table(context_simple, data, max_seq_len, n_seqs) bind(c)\r\ngtk;gtk_im_context_simple_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimcontextsimple.h;\"GType gtk_im_context_simple_get_type (void) ;\";function gtk_im_context_simple_get_type() bind(c)\r\ngtk;gtk_im_context_simple_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimcontextsimple.h;\"GtkIMContext *gtk_im_context_simple_new (void);\";function gtk_im_context_simple_new() bind(c)\r\ngtk;gtk_im_multicontext_get_context_id;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimmulticontext.h;\"const char * gtk_im_multicontext_get_context_id (GtkIMMulticontext *context);\";function gtk_im_multicontext_get_context_id(context) bind(c)\r\ngtk;gtk_im_multicontext_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimmulticontext.h;\"GType gtk_im_multicontext_get_type (void) ;\";function gtk_im_multicontext_get_type() bind(c)\r\ngtk;gtk_im_multicontext_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimmulticontext.h;\"GtkIMContext *gtk_im_multicontext_new (void);\";function gtk_im_multicontext_new() bind(c)\r\ngtk;gtk_im_multicontext_set_context_id;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimmulticontext.h;\"void gtk_im_multicontext_set_context_id (GtkIMMulticontext *context, const char *context_id);\";subroutine gtk_im_multicontext_set_context_id(context, context_id) bind(c)\r\ngtk;gtk_image_clear;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimage.h;\"void gtk_image_clear (GtkImage *image);\";subroutine gtk_image_clear(image) bind(c)\r\ngtk;gtk_image_get_gicon;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimage.h;\"GIcon * gtk_image_get_gicon (GtkImage *image);\";function gtk_image_get_gicon(image) bind(c)\r\ngtk;gtk_image_get_icon_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimage.h;\"const char *gtk_image_get_icon_name (GtkImage *image);\";function gtk_image_get_icon_name(image) bind(c)\r\ngtk;gtk_image_get_icon_size;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimage.h;\"GtkIconSize gtk_image_get_icon_size (GtkImage *image);\";function gtk_image_get_icon_size(image) bind(c)\r\ngtk;gtk_image_get_paintable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimage.h;\"GdkPaintable *gtk_image_get_paintable (GtkImage *image);\";function gtk_image_get_paintable(image) bind(c)\r\ngtk;gtk_image_get_pixel_size;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimage.h;\"int gtk_image_get_pixel_size (GtkImage *image);\";function gtk_image_get_pixel_size(image) bind(c)\r\ngtk;gtk_image_get_storage_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimage.h;\"GtkImageType gtk_image_get_storage_type (GtkImage *image);\";function gtk_image_get_storage_type(image) bind(c)\r\ngtk;gtk_image_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimage.h;\"GType gtk_image_get_type (void) ;\";function gtk_image_get_type() bind(c)\r\ngtk;gtk_image_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimage.h;\"GtkWidget* gtk_image_new (void);\";function gtk_image_new() bind(c)\r\ngtk;gtk_image_new_from_file;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimage.h;\"GtkWidget* gtk_image_new_from_file (const char *filename);\";function gtk_image_new_from_file(filename) bind(c)\r\ngtk;gtk_image_new_from_gicon;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimage.h;\"GtkWidget* gtk_image_new_from_gicon (GIcon *icon);\";function gtk_image_new_from_gicon(icon) bind(c)\r\ngtk;gtk_image_new_from_icon_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimage.h;\"GtkWidget* gtk_image_new_from_icon_name (const char *icon_name);\";function gtk_image_new_from_icon_name(icon_name) bind(c)\r\ngtk;gtk_image_new_from_paintable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimage.h;\"GtkWidget* gtk_image_new_from_paintable (GdkPaintable *paintable);\";function gtk_image_new_from_paintable(paintable) bind(c)\r\ngtk;gtk_image_new_from_pixbuf;GDK_DEPRECATED_IN_4_12_FOR(gtk_image_new_from_paintable);gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimage.h;\"GtkWidget* gtk_image_new_from_pixbuf (GdkPixbuf *pixbuf);\";function gtk_image_new_from_pixbuf(pixbuf) bind(c)\r\ngtk;gtk_image_new_from_resource;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimage.h;\"GtkWidget* gtk_image_new_from_resource (const char *resource_path);\";function gtk_image_new_from_resource(resource_path) bind(c)\r\ngtk;gtk_image_set_from_file;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimage.h;\"void gtk_image_set_from_file (GtkImage *image, const char *filename);\";subroutine gtk_image_set_from_file(image, filename) bind(c)\r\ngtk;gtk_image_set_from_gicon;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimage.h;\"void gtk_image_set_from_gicon (GtkImage *image, GIcon *icon);\";subroutine gtk_image_set_from_gicon(image, icon) bind(c)\r\ngtk;gtk_image_set_from_icon_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimage.h;\"void gtk_image_set_from_icon_name (GtkImage *image, const char *icon_name);\";subroutine gtk_image_set_from_icon_name(image, icon_name) bind(c)\r\ngtk;gtk_image_set_from_paintable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimage.h;\"void gtk_image_set_from_paintable (GtkImage *image, GdkPaintable *paintable);\";subroutine gtk_image_set_from_paintable(image, paintable) bind(c)\r\ngtk;gtk_image_set_from_pixbuf;GDK_DEPRECATED_IN_4_12_FOR(gtk_image_set_from_paintable);gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimage.h;\"void gtk_image_set_from_pixbuf (GtkImage *image, GdkPixbuf *pixbuf);\";subroutine gtk_image_set_from_pixbuf(image, pixbuf) bind(c)\r\ngtk;gtk_image_set_from_resource;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimage.h;\"void gtk_image_set_from_resource (GtkImage *image, const char *resource_path);\";subroutine gtk_image_set_from_resource(image, resource_path) bind(c)\r\ngtk;gtk_image_set_icon_size;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimage.h;\"void gtk_image_set_icon_size (GtkImage *image, GtkIconSize icon_size);\";subroutine gtk_image_set_icon_size(image, icon_size) bind(c)\r\ngtk;gtk_image_set_pixel_size;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkimage.h;\"void gtk_image_set_pixel_size (GtkImage *image, int pixel_size);\";subroutine gtk_image_set_pixel_size(image, pixel_size) bind(c)\r\ngtk;gtk_info_bar_add_action_widget;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkinfobar.h;\"void gtk_info_bar_add_action_widget (GtkInfoBar *info_bar, GtkWidget *child, int response_id);\";subroutine gtk_info_bar_add_action_widget(info_bar, child, response_id) bind(c)\r\ngtk;gtk_info_bar_add_button;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkinfobar.h;\"GtkWidget *gtk_info_bar_add_button (GtkInfoBar *info_bar, const char *button_text, int response_id);\";function gtk_info_bar_add_button(info_bar, button_text, response_id) bind(c)\r\ngtk;gtk_info_bar_add_child;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkinfobar.h;\"void gtk_info_bar_add_child (GtkInfoBar *info_bar, GtkWidget *widget);\";subroutine gtk_info_bar_add_child(info_bar, widget) bind(c)\r\ngtk;gtk_info_bar_get_message_type;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkinfobar.h;\"GtkMessageType gtk_info_bar_get_message_type (GtkInfoBar *info_bar);\";function gtk_info_bar_get_message_type(info_bar) bind(c)\r\ngtk;gtk_info_bar_get_revealed;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkinfobar.h;\"gboolean gtk_info_bar_get_revealed (GtkInfoBar *info_bar);\";function gtk_info_bar_get_revealed(info_bar) bind(c)\r\ngtk;gtk_info_bar_get_show_close_button;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkinfobar.h;\"gboolean gtk_info_bar_get_show_close_button (GtkInfoBar *info_bar);\";function gtk_info_bar_get_show_close_button(info_bar) bind(c)\r\ngtk;gtk_info_bar_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkinfobar.h;\"GType gtk_info_bar_get_type (void) ;\";function gtk_info_bar_get_type() bind(c)\r\ngtk;gtk_info_bar_new;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkinfobar.h;\"GtkWidget *gtk_info_bar_new (void);\";function gtk_info_bar_new() bind(c)\r\ngtk;gtk_info_bar_remove_action_widget;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkinfobar.h;\"void gtk_info_bar_remove_action_widget (GtkInfoBar *info_bar, GtkWidget *widget);\";subroutine gtk_info_bar_remove_action_widget(info_bar, widget) bind(c)\r\ngtk;gtk_info_bar_remove_child;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkinfobar.h;\"void gtk_info_bar_remove_child (GtkInfoBar *info_bar, GtkWidget *widget);\";subroutine gtk_info_bar_remove_child(info_bar, widget) bind(c)\r\ngtk;gtk_info_bar_response;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkinfobar.h;\"void gtk_info_bar_response (GtkInfoBar *info_bar, int response_id);\";subroutine gtk_info_bar_response(info_bar, response_id) bind(c)\r\ngtk;gtk_info_bar_set_default_response;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkinfobar.h;\"void gtk_info_bar_set_default_response (GtkInfoBar *info_bar, int response_id);\";subroutine gtk_info_bar_set_default_response(info_bar, response_id) bind(c)\r\ngtk;gtk_info_bar_set_message_type;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkinfobar.h;\"void gtk_info_bar_set_message_type (GtkInfoBar *info_bar, GtkMessageType message_type);\";subroutine gtk_info_bar_set_message_type(info_bar, message_type) bind(c)\r\ngtk;gtk_info_bar_set_response_sensitive;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkinfobar.h;\"void gtk_info_bar_set_response_sensitive (GtkInfoBar *info_bar, int response_id, gboolean setting);\";subroutine gtk_info_bar_set_response_sensitive(info_bar, response_id, setting) bind(c)\r\ngtk;gtk_info_bar_set_revealed;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkinfobar.h;\"void gtk_info_bar_set_revealed (GtkInfoBar *info_bar, gboolean revealed);\";subroutine gtk_info_bar_set_revealed(info_bar, revealed) bind(c)\r\ngtk;gtk_info_bar_set_show_close_button;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkinfobar.h;\"void gtk_info_bar_set_show_close_button (GtkInfoBar *info_bar, gboolean setting);\";subroutine gtk_info_bar_set_show_close_button(info_bar, setting) bind(c)\r\ngtk;gtk_init_abi_check;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmain.h;\"void gtk_init_abi_check (int num_checks, size_t sizeof_GtkWindow, size_t sizeof_GtkBox);\";subroutine gtk_init_abi_check(num_checks, sizeof_GtkWindow, sizeof_GtkBox) bind(c)\r\ngtk;gtk_init_check;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmain.h;\"gboolean gtk_init_check (void);\";function gtk_init_check() bind(c)\r\ngtk;gtk_init_check_abi_check;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmain.h;\"gboolean gtk_init_check_abi_check (int num_checks, size_t sizeof_GtkWindow, size_t sizeof_GtkBox);\";function gtk_init_check_abi_check(num_checks, sizeof_GtkWindow, sizeof_GtkBox) bind(c)\r\ngtk;gtk_inscription_get_attributes;GDK_AVAILABLE_IN_4_8;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkinscription.h;\"PangoAttrList * gtk_inscription_get_attributes (GtkInscription *self);\";function gtk_inscription_get_attributes(self) bind(c)\r\ngtk;gtk_inscription_get_min_chars;GDK_AVAILABLE_IN_4_8;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkinscription.h;\"guint gtk_inscription_get_min_chars (GtkInscription *self);\";function gtk_inscription_get_min_chars(self) bind(c)\r\ngtk;gtk_inscription_get_min_lines;GDK_AVAILABLE_IN_4_8;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkinscription.h;\"guint gtk_inscription_get_min_lines (GtkInscription *self);\";function gtk_inscription_get_min_lines(self) bind(c)\r\ngtk;gtk_inscription_get_nat_chars;GDK_AVAILABLE_IN_4_8;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkinscription.h;\"guint gtk_inscription_get_nat_chars (GtkInscription *self);\";function gtk_inscription_get_nat_chars(self) bind(c)\r\ngtk;gtk_inscription_get_nat_lines;GDK_AVAILABLE_IN_4_8;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkinscription.h;\"guint gtk_inscription_get_nat_lines (GtkInscription *self);\";function gtk_inscription_get_nat_lines(self) bind(c)\r\ngtk;gtk_inscription_get_text;GDK_AVAILABLE_IN_4_8;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkinscription.h;\"const char * gtk_inscription_get_text (GtkInscription *self);\";function gtk_inscription_get_text(self) bind(c)\r\ngtk;gtk_inscription_get_text_overflow;GDK_AVAILABLE_IN_4_8;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkinscription.h;\"GtkInscriptionOverflow gtk_inscription_get_text_overflow (GtkInscription *self);\";function gtk_inscription_get_text_overflow(self) bind(c)\r\ngtk;gtk_inscription_get_wrap_mode;GDK_AVAILABLE_IN_4_8;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkinscription.h;\"PangoWrapMode gtk_inscription_get_wrap_mode (GtkInscription *self);\";function gtk_inscription_get_wrap_mode(self) bind(c)\r\ngtk;gtk_inscription_get_xalign;GDK_AVAILABLE_IN_4_8;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkinscription.h;\"float gtk_inscription_get_xalign (GtkInscription *self);\";function gtk_inscription_get_xalign(self) bind(c)\r\ngtk;gtk_inscription_get_yalign;GDK_AVAILABLE_IN_4_8;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkinscription.h;\"float gtk_inscription_get_yalign (GtkInscription *self);\";function gtk_inscription_get_yalign(self) bind(c)\r\ngtk;gtk_inscription_new;GDK_AVAILABLE_IN_4_8;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkinscription.h;\"GtkWidget * gtk_inscription_new (const char *text);\";function gtk_inscription_new(text) bind(c)\r\ngtk;gtk_inscription_set_attributes;GDK_AVAILABLE_IN_4_8;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkinscription.h;\"void gtk_inscription_set_attributes (GtkInscription *self, PangoAttrList *attrs);\";subroutine gtk_inscription_set_attributes(self, attrs) bind(c)\r\ngtk;gtk_inscription_set_markup;GDK_AVAILABLE_IN_4_8;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkinscription.h;\"void gtk_inscription_set_markup (GtkInscription *self, const char *markup);\";subroutine gtk_inscription_set_markup(self, markup) bind(c)\r\ngtk;gtk_inscription_set_min_chars;GDK_AVAILABLE_IN_4_8;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkinscription.h;\"void gtk_inscription_set_min_chars (GtkInscription *self, guint min_chars);\";subroutine gtk_inscription_set_min_chars(self, min_chars) bind(c)\r\ngtk;gtk_inscription_set_min_lines;GDK_AVAILABLE_IN_4_8;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkinscription.h;\"void gtk_inscription_set_min_lines (GtkInscription *self, guint min_lines);\";subroutine gtk_inscription_set_min_lines(self, min_lines) bind(c)\r\ngtk;gtk_inscription_set_nat_chars;GDK_AVAILABLE_IN_4_8;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkinscription.h;\"void gtk_inscription_set_nat_chars (GtkInscription *self, guint nat_chars);\";subroutine gtk_inscription_set_nat_chars(self, nat_chars) bind(c)\r\ngtk;gtk_inscription_set_nat_lines;GDK_AVAILABLE_IN_4_8;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkinscription.h;\"void gtk_inscription_set_nat_lines (GtkInscription *self, guint nat_lines);\";subroutine gtk_inscription_set_nat_lines(self, nat_lines) bind(c)\r\ngtk;gtk_inscription_set_text;GDK_AVAILABLE_IN_4_8;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkinscription.h;\"void gtk_inscription_set_text (GtkInscription *self, const char *text);\";subroutine gtk_inscription_set_text(self, text) bind(c)\r\ngtk;gtk_inscription_set_text_overflow;GDK_AVAILABLE_IN_4_8;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkinscription.h;\"void gtk_inscription_set_text_overflow (GtkInscription *self, GtkInscriptionOverflow overflow);\";subroutine gtk_inscription_set_text_overflow(self, overflow) bind(c)\r\ngtk;gtk_inscription_set_wrap_mode;GDK_AVAILABLE_IN_4_8;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkinscription.h;\"void gtk_inscription_set_wrap_mode (GtkInscription *self, PangoWrapMode wrap_mode);\";subroutine gtk_inscription_set_wrap_mode(self, wrap_mode) bind(c)\r\ngtk;gtk_inscription_set_xalign;GDK_AVAILABLE_IN_4_8;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkinscription.h;\"void gtk_inscription_set_xalign (GtkInscription *self, float xalign);\";subroutine gtk_inscription_set_xalign(self, xalign) bind(c)\r\ngtk;gtk_inscription_set_yalign;GDK_AVAILABLE_IN_4_8;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkinscription.h;\"void gtk_inscription_set_yalign (GtkInscription *self, float yalign);\";subroutine gtk_inscription_set_yalign(self, yalign) bind(c)\r\ngtk;gtk_is_initialized;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmain.h;\"gboolean gtk_is_initialized (void);\";function gtk_is_initialized() bind(c)\r\ngtk;gtk_keyval_trigger_get_keyval;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcuttrigger.h;\"guint gtk_keyval_trigger_get_keyval (GtkKeyvalTrigger *self);\";function gtk_keyval_trigger_get_keyval(self) bind(c)\r\ngtk;gtk_keyval_trigger_get_modifiers;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcuttrigger.h;\"GdkModifierType gtk_keyval_trigger_get_modifiers (GtkKeyvalTrigger *self);\";function gtk_keyval_trigger_get_modifiers(self) bind(c)\r\ngtk;gtk_keyval_trigger_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcuttrigger.h;\"GtkShortcutTrigger * gtk_keyval_trigger_new (guint keyval, GdkModifierType modifiers);\";function gtk_keyval_trigger_new(keyval, modifiers) bind(c)\r\ngtk;gtk_label_get_attributes;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"PangoAttrList *gtk_label_get_attributes (GtkLabel *self);\";function gtk_label_get_attributes(self) bind(c)\r\ngtk;gtk_label_get_current_uri;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"const char *gtk_label_get_current_uri (GtkLabel *self);\";function gtk_label_get_current_uri(self) bind(c)\r\ngtk;gtk_label_get_ellipsize;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"PangoEllipsizeMode gtk_label_get_ellipsize (GtkLabel *self);\";function gtk_label_get_ellipsize(self) bind(c)\r\ngtk;gtk_label_get_extra_menu;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"GMenuModel * gtk_label_get_extra_menu (GtkLabel *self);\";function gtk_label_get_extra_menu(self) bind(c)\r\ngtk;gtk_label_get_justify;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"GtkJustification gtk_label_get_justify (GtkLabel *self);\";function gtk_label_get_justify(self) bind(c)\r\ngtk;gtk_label_get_label;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"const char * gtk_label_get_label (GtkLabel *self);\";function gtk_label_get_label(self) bind(c)\r\ngtk;gtk_label_get_layout;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"PangoLayout *gtk_label_get_layout (GtkLabel *self);\";function gtk_label_get_layout(self) bind(c)\r\ngtk;gtk_label_get_layout_offsets;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"void gtk_label_get_layout_offsets (GtkLabel *self, int *x, int *y);\";subroutine gtk_label_get_layout_offsets(self, x, y) bind(c)\r\ngtk;gtk_label_get_lines;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"int gtk_label_get_lines (GtkLabel *self);\";function gtk_label_get_lines(self) bind(c)\r\ngtk;gtk_label_get_max_width_chars;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"int gtk_label_get_max_width_chars (GtkLabel *self);\";function gtk_label_get_max_width_chars(self) bind(c)\r\ngtk;gtk_label_get_mnemonic_keyval;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"guint gtk_label_get_mnemonic_keyval (GtkLabel *self);\";function gtk_label_get_mnemonic_keyval(self) bind(c)\r\ngtk;gtk_label_get_mnemonic_widget;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"GtkWidget *gtk_label_get_mnemonic_widget (GtkLabel *self);\";function gtk_label_get_mnemonic_widget(self) bind(c)\r\ngtk;gtk_label_get_natural_wrap_mode;GDK_AVAILABLE_IN_4_6;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"GtkNaturalWrapMode gtk_label_get_natural_wrap_mode(GtkLabel *self);\";function gtk_label_get_natural_wrap_mode(self) bind(c)\r\ngtk;gtk_label_get_selectable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"gboolean gtk_label_get_selectable (GtkLabel *self);\";function gtk_label_get_selectable(self) bind(c)\r\ngtk;gtk_label_get_selection_bounds;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"gboolean gtk_label_get_selection_bounds (GtkLabel *self, int *start, int *end);\";function gtk_label_get_selection_bounds(self, start, end) bind(c)\r\ngtk;gtk_label_get_single_line_mode;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"gboolean gtk_label_get_single_line_mode (GtkLabel *self);\";function gtk_label_get_single_line_mode(self) bind(c)\r\ngtk;gtk_label_get_tabs;GDK_AVAILABLE_IN_4_8;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"PangoTabArray * gtk_label_get_tabs (GtkLabel *self);\";function gtk_label_get_tabs(self) bind(c)\r\ngtk;gtk_label_get_text;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"const char * gtk_label_get_text (GtkLabel *self);\";function gtk_label_get_text(self) bind(c)\r\ngtk;gtk_label_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"GType gtk_label_get_type (void) ;\";function gtk_label_get_type() bind(c)\r\ngtk;gtk_label_get_use_markup;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"gboolean gtk_label_get_use_markup (GtkLabel *self);\";function gtk_label_get_use_markup(self) bind(c)\r\ngtk;gtk_label_get_use_underline;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"gboolean gtk_label_get_use_underline (GtkLabel *self);\";function gtk_label_get_use_underline(self) bind(c)\r\ngtk;gtk_label_get_width_chars;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"int gtk_label_get_width_chars (GtkLabel *self);\";function gtk_label_get_width_chars(self) bind(c)\r\ngtk;gtk_label_get_wrap;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"gboolean gtk_label_get_wrap (GtkLabel *self);\";function gtk_label_get_wrap(self) bind(c)\r\ngtk;gtk_label_get_wrap_mode;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"PangoWrapMode gtk_label_get_wrap_mode (GtkLabel *self);\";function gtk_label_get_wrap_mode(self) bind(c)\r\ngtk;gtk_label_get_xalign;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"float gtk_label_get_xalign (GtkLabel *self);\";function gtk_label_get_xalign(self) bind(c)\r\ngtk;gtk_label_get_yalign;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"float gtk_label_get_yalign (GtkLabel *self);\";function gtk_label_get_yalign(self) bind(c)\r\ngtk;gtk_label_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"GtkWidget* gtk_label_new (const char *str);\";function gtk_label_new(str) bind(c)\r\ngtk;gtk_label_new_with_mnemonic;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"GtkWidget* gtk_label_new_with_mnemonic (const char *str);\";function gtk_label_new_with_mnemonic(str) bind(c)\r\ngtk;gtk_label_select_region;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"void gtk_label_select_region (GtkLabel *self, int start_offset, int end_offset);\";subroutine gtk_label_select_region(self, start_offset, end_offset) bind(c)\r\ngtk;gtk_label_set_attributes;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"void gtk_label_set_attributes (GtkLabel *self, PangoAttrList *attrs);\";subroutine gtk_label_set_attributes(self, attrs) bind(c)\r\ngtk;gtk_label_set_ellipsize;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"void gtk_label_set_ellipsize (GtkLabel *self, PangoEllipsizeMode mode);\";subroutine gtk_label_set_ellipsize(self, mode) bind(c)\r\ngtk;gtk_label_set_extra_menu;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"void gtk_label_set_extra_menu (GtkLabel *self, GMenuModel *model);\";subroutine gtk_label_set_extra_menu(self, model) bind(c)\r\ngtk;gtk_label_set_justify;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"void gtk_label_set_justify (GtkLabel *self, GtkJustification jtype);\";subroutine gtk_label_set_justify(self, jtype) bind(c)\r\ngtk;gtk_label_set_label;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"void gtk_label_set_label (GtkLabel *self, const char *str);\";subroutine gtk_label_set_label(self, str) bind(c)\r\ngtk;gtk_label_set_lines;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"void gtk_label_set_lines (GtkLabel *self, int lines);\";subroutine gtk_label_set_lines(self, lines) bind(c)\r\ngtk;gtk_label_set_markup;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"void gtk_label_set_markup (GtkLabel *self, const char *str);\";subroutine gtk_label_set_markup(self, str) bind(c)\r\ngtk;gtk_label_set_markup_with_mnemonic;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"void gtk_label_set_markup_with_mnemonic (GtkLabel *self, const char *str);\";subroutine gtk_label_set_markup_with_mnemonic(self, str) bind(c)\r\ngtk;gtk_label_set_max_width_chars;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"void gtk_label_set_max_width_chars (GtkLabel *self, int n_chars);\";subroutine gtk_label_set_max_width_chars(self, n_chars) bind(c)\r\ngtk;gtk_label_set_mnemonic_widget;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"void gtk_label_set_mnemonic_widget (GtkLabel *self, GtkWidget *widget);\";subroutine gtk_label_set_mnemonic_widget(self, widget) bind(c)\r\ngtk;gtk_label_set_natural_wrap_mode;GDK_AVAILABLE_IN_4_6;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"void gtk_label_set_natural_wrap_mode (GtkLabel *self, GtkNaturalWrapMode wrap_mode);\";subroutine gtk_label_set_natural_wrap_mode(self, wrap_mode) bind(c)\r\ngtk;gtk_label_set_selectable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"void gtk_label_set_selectable (GtkLabel *self, gboolean setting);\";subroutine gtk_label_set_selectable(self, setting) bind(c)\r\ngtk;gtk_label_set_single_line_mode;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"void gtk_label_set_single_line_mode (GtkLabel *self, gboolean single_line_mode);\";subroutine gtk_label_set_single_line_mode(self, single_line_mode) bind(c)\r\ngtk;gtk_label_set_tabs;GDK_AVAILABLE_IN_4_8;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"void gtk_label_set_tabs (GtkLabel *self, PangoTabArray *tabs);\";subroutine gtk_label_set_tabs(self, tabs) bind(c)\r\ngtk;gtk_label_set_text;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"void gtk_label_set_text (GtkLabel *self, const char *str);\";subroutine gtk_label_set_text(self, str) bind(c)\r\ngtk;gtk_label_set_text_with_mnemonic;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"void gtk_label_set_text_with_mnemonic (GtkLabel *self, const char *str);\";subroutine gtk_label_set_text_with_mnemonic(self, str) bind(c)\r\ngtk;gtk_label_set_use_markup;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"void gtk_label_set_use_markup (GtkLabel *self, gboolean setting);\";subroutine gtk_label_set_use_markup(self, setting) bind(c)\r\ngtk;gtk_label_set_use_underline;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"void gtk_label_set_use_underline (GtkLabel *self, gboolean setting);\";subroutine gtk_label_set_use_underline(self, setting) bind(c)\r\ngtk;gtk_label_set_width_chars;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"void gtk_label_set_width_chars (GtkLabel *self, int n_chars);\";subroutine gtk_label_set_width_chars(self, n_chars) bind(c)\r\ngtk;gtk_label_set_wrap;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"void gtk_label_set_wrap (GtkLabel *self, gboolean wrap);\";subroutine gtk_label_set_wrap(self, wrap) bind(c)\r\ngtk;gtk_label_set_wrap_mode;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"void gtk_label_set_wrap_mode (GtkLabel *self, PangoWrapMode wrap_mode);\";subroutine gtk_label_set_wrap_mode(self, wrap_mode) bind(c)\r\ngtk;gtk_label_set_xalign;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"void gtk_label_set_xalign (GtkLabel *self, float xalign);\";subroutine gtk_label_set_xalign(self, xalign) bind(c)\r\ngtk;gtk_label_set_yalign;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklabel.h;\"void gtk_label_set_yalign (GtkLabel *self, float yalign);\";subroutine gtk_label_set_yalign(self, yalign) bind(c)\r\ngtk;gtk_layout_child_get_child_widget;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklayoutchild.h;\"GtkWidget * gtk_layout_child_get_child_widget (GtkLayoutChild *layout_child);\";function gtk_layout_child_get_child_widget(layout_child) bind(c)\r\ngtk;gtk_layout_child_get_layout_manager;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklayoutchild.h;\"GtkLayoutManager * gtk_layout_child_get_layout_manager (GtkLayoutChild *layout_child);\";function gtk_layout_child_get_layout_manager(layout_child) bind(c)\r\ngtk;gtk_layout_manager_allocate;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklayoutmanager.h;\"void gtk_layout_manager_allocate (GtkLayoutManager *manager, GtkWidget *widget, int width, int height, int baseline);\";subroutine gtk_layout_manager_allocate(manager, widget, width, height, baseline) bind(c)\r\ngtk;gtk_layout_manager_get_layout_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklayoutmanager.h;\"GtkLayoutChild * gtk_layout_manager_get_layout_child (GtkLayoutManager *manager, GtkWidget *child);\";function gtk_layout_manager_get_layout_child(manager, child) bind(c)\r\ngtk;gtk_layout_manager_get_request_mode;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklayoutmanager.h;\"GtkSizeRequestMode gtk_layout_manager_get_request_mode (GtkLayoutManager *manager);\";function gtk_layout_manager_get_request_mode(manager) bind(c)\r\ngtk;gtk_layout_manager_get_widget;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklayoutmanager.h;\"GtkWidget * gtk_layout_manager_get_widget (GtkLayoutManager *manager);\";function gtk_layout_manager_get_widget(manager) bind(c)\r\ngtk;gtk_layout_manager_layout_changed;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklayoutmanager.h;\"void gtk_layout_manager_layout_changed (GtkLayoutManager *manager);\";subroutine gtk_layout_manager_layout_changed(manager) bind(c)\r\ngtk;gtk_layout_manager_measure;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklayoutmanager.h;\"void gtk_layout_manager_measure (GtkLayoutManager *manager, GtkWidget *widget, GtkOrientation orientation, int for_size, int *minimum, int *natural, int *minimum_baseline, int *natural_baseline);\";subroutine gtk_layout_manager_measure(manager, widget, orientation, for_size, minimum, natural, minimum_baseline, natural_baseline) bind(c)\r\ngtk;gtk_level_bar_add_offset_value;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklevelbar.h;\"void gtk_level_bar_add_offset_value (GtkLevelBar *self, const char *name, double value);\";subroutine gtk_level_bar_add_offset_value(self, name, value) bind(c)\r\ngtk;gtk_level_bar_get_inverted;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklevelbar.h;\"gboolean gtk_level_bar_get_inverted (GtkLevelBar *self);\";function gtk_level_bar_get_inverted(self) bind(c)\r\ngtk;gtk_level_bar_get_max_value;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklevelbar.h;\"double gtk_level_bar_get_max_value (GtkLevelBar *self);\";function gtk_level_bar_get_max_value(self) bind(c)\r\ngtk;gtk_level_bar_get_min_value;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklevelbar.h;\"double gtk_level_bar_get_min_value (GtkLevelBar *self);\";function gtk_level_bar_get_min_value(self) bind(c)\r\ngtk;gtk_level_bar_get_mode;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklevelbar.h;\"GtkLevelBarMode gtk_level_bar_get_mode (GtkLevelBar *self);\";function gtk_level_bar_get_mode(self) bind(c)\r\ngtk;gtk_level_bar_get_offset_value;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklevelbar.h;\"gboolean gtk_level_bar_get_offset_value (GtkLevelBar *self, const char *name, double *value);\";function gtk_level_bar_get_offset_value(self, name, value) bind(c)\r\ngtk;gtk_level_bar_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklevelbar.h;\"GType gtk_level_bar_get_type (void) ;\";function gtk_level_bar_get_type() bind(c)\r\ngtk;gtk_level_bar_get_value;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklevelbar.h;\"double gtk_level_bar_get_value (GtkLevelBar *self);\";function gtk_level_bar_get_value(self) bind(c)\r\ngtk;gtk_level_bar_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklevelbar.h;\"GtkWidget *gtk_level_bar_new (void);\";function gtk_level_bar_new() bind(c)\r\ngtk;gtk_level_bar_new_for_interval;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklevelbar.h;\"GtkWidget *gtk_level_bar_new_for_interval (double min_value, double max_value);\";function gtk_level_bar_new_for_interval(min_value, max_value) bind(c)\r\ngtk;gtk_level_bar_remove_offset_value;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklevelbar.h;\"void gtk_level_bar_remove_offset_value (GtkLevelBar *self, const char *name);\";subroutine gtk_level_bar_remove_offset_value(self, name) bind(c)\r\ngtk;gtk_level_bar_set_inverted;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklevelbar.h;\"void gtk_level_bar_set_inverted (GtkLevelBar *self, gboolean inverted);\";subroutine gtk_level_bar_set_inverted(self, inverted) bind(c)\r\ngtk;gtk_level_bar_set_max_value;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklevelbar.h;\"void gtk_level_bar_set_max_value (GtkLevelBar *self, double value);\";subroutine gtk_level_bar_set_max_value(self, value) bind(c)\r\ngtk;gtk_level_bar_set_min_value;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklevelbar.h;\"void gtk_level_bar_set_min_value (GtkLevelBar *self, double value);\";subroutine gtk_level_bar_set_min_value(self, value) bind(c)\r\ngtk;gtk_level_bar_set_mode;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklevelbar.h;\"void gtk_level_bar_set_mode (GtkLevelBar *self, GtkLevelBarMode mode);\";subroutine gtk_level_bar_set_mode(self, mode) bind(c)\r\ngtk;gtk_level_bar_set_value;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklevelbar.h;\"void gtk_level_bar_set_value (GtkLevelBar *self, double value);\";subroutine gtk_level_bar_set_value(self, value) bind(c)\r\ngtk;gtk_link_button_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklinkbutton.h;\"GType gtk_link_button_get_type (void) ;\";function gtk_link_button_get_type() bind(c)\r\ngtk;gtk_link_button_get_uri;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklinkbutton.h;\"const char * gtk_link_button_get_uri (GtkLinkButton *link_button);\";function gtk_link_button_get_uri(link_button) bind(c)\r\ngtk;gtk_link_button_get_visited;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklinkbutton.h;\"gboolean gtk_link_button_get_visited (GtkLinkButton *link_button);\";function gtk_link_button_get_visited(link_button) bind(c)\r\ngtk;gtk_link_button_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklinkbutton.h;\"GtkWidget * gtk_link_button_new (const char *uri);\";function gtk_link_button_new(uri) bind(c)\r\ngtk;gtk_link_button_new_with_label;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklinkbutton.h;\"GtkWidget * gtk_link_button_new_with_label (const char *uri, const char *label);\";function gtk_link_button_new_with_label(uri, label) bind(c)\r\ngtk;gtk_link_button_set_uri;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklinkbutton.h;\"void gtk_link_button_set_uri (GtkLinkButton *link_button, const char *uri);\";subroutine gtk_link_button_set_uri(link_button, uri) bind(c)\r\ngtk;gtk_link_button_set_visited;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklinkbutton.h;\"void gtk_link_button_set_visited (GtkLinkButton *link_button, gboolean visited);\";subroutine gtk_link_button_set_visited(link_button, visited) bind(c)\r\ngtk;gtk_list_base_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbase.h;\"GType gtk_list_base_get_type (void) ;\";function gtk_list_base_get_type() bind(c)\r\ngtk;gtk_list_box_append;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"void gtk_list_box_append (GtkListBox *box, GtkWidget *child);\";subroutine gtk_list_box_append(box, child) bind(c)\r\ngtk;gtk_list_box_bind_model;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"void gtk_list_box_bind_model (GtkListBox *box, GListModel *model, GtkListBoxCreateWidgetFunc create_widget_func, gpointer user_data, GDestroyNotify user_data_free_func);\";subroutine gtk_list_box_bind_model(box, model, create_widget_func, user_data, user_data_free_func) bind(c)\r\ngtk;gtk_list_box_drag_highlight_row;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"void gtk_list_box_drag_highlight_row (GtkListBox *box, GtkListBoxRow *row);\";subroutine gtk_list_box_drag_highlight_row(box, row) bind(c)\r\ngtk;gtk_list_box_drag_unhighlight_row;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"void gtk_list_box_drag_unhighlight_row (GtkListBox *box);\";subroutine gtk_list_box_drag_unhighlight_row(box) bind(c)\r\ngtk;gtk_list_box_get_activate_on_single_click;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"gboolean gtk_list_box_get_activate_on_single_click (GtkListBox *box);\";function gtk_list_box_get_activate_on_single_click(box) bind(c)\r\ngtk;gtk_list_box_get_adjustment;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"GtkAdjustment *gtk_list_box_get_adjustment (GtkListBox *box);\";function gtk_list_box_get_adjustment(box) bind(c)\r\ngtk;gtk_list_box_get_row_at_index;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"GtkListBoxRow* gtk_list_box_get_row_at_index (GtkListBox *box, int index_);\";function gtk_list_box_get_row_at_index(box, index_) bind(c)\r\ngtk;gtk_list_box_get_row_at_y;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"GtkListBoxRow* gtk_list_box_get_row_at_y (GtkListBox *box, int y);\";function gtk_list_box_get_row_at_y(box, y) bind(c)\r\ngtk;gtk_list_box_get_selected_row;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"GtkListBoxRow* gtk_list_box_get_selected_row (GtkListBox *box);\";function gtk_list_box_get_selected_row(box) bind(c)\r\ngtk;gtk_list_box_get_selected_rows;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"GList *gtk_list_box_get_selected_rows (GtkListBox *box);\";function gtk_list_box_get_selected_rows(box) bind(c)\r\ngtk;gtk_list_box_get_selection_mode;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"GtkSelectionMode gtk_list_box_get_selection_mode (GtkListBox *box);\";function gtk_list_box_get_selection_mode(box) bind(c)\r\ngtk;gtk_list_box_get_show_separators;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"gboolean gtk_list_box_get_show_separators (GtkListBox *box);\";function gtk_list_box_get_show_separators(box) bind(c)\r\ngtk;gtk_list_box_get_tab_behavior;GDK_AVAILABLE_IN_4_18;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"GtkListTabBehavior gtk_list_box_get_tab_behavior (GtkListBox *box);\";function gtk_list_box_get_tab_behavior(box) bind(c)\r\ngtk;gtk_list_box_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"GType gtk_list_box_get_type (void) ;\";function gtk_list_box_get_type() bind(c)\r\ngtk;gtk_list_box_insert;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"void gtk_list_box_insert (GtkListBox *box, GtkWidget *child, int position);\";subroutine gtk_list_box_insert(box, child, position) bind(c)\r\ngtk;gtk_list_box_invalidate_filter;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"void gtk_list_box_invalidate_filter (GtkListBox *box);\";subroutine gtk_list_box_invalidate_filter(box) bind(c)\r\ngtk;gtk_list_box_invalidate_headers;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"void gtk_list_box_invalidate_headers (GtkListBox *box);\";subroutine gtk_list_box_invalidate_headers(box) bind(c)\r\ngtk;gtk_list_box_invalidate_sort;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"void gtk_list_box_invalidate_sort (GtkListBox *box);\";subroutine gtk_list_box_invalidate_sort(box) bind(c)\r\ngtk;gtk_list_box_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"GtkWidget* gtk_list_box_new (void);\";function gtk_list_box_new() bind(c)\r\ngtk;gtk_list_box_prepend;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"void gtk_list_box_prepend (GtkListBox *box, GtkWidget *child);\";subroutine gtk_list_box_prepend(box, child) bind(c)\r\ngtk;gtk_list_box_remove;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"void gtk_list_box_remove (GtkListBox *box, GtkWidget *child);\";subroutine gtk_list_box_remove(box, child) bind(c)\r\ngtk;gtk_list_box_remove_all;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"void gtk_list_box_remove_all (GtkListBox *box);\";subroutine gtk_list_box_remove_all(box) bind(c)\r\ngtk;gtk_list_box_row_changed;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"void gtk_list_box_row_changed (GtkListBoxRow *row);\";subroutine gtk_list_box_row_changed(row) bind(c)\r\ngtk;gtk_list_box_row_get_activatable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"gboolean gtk_list_box_row_get_activatable (GtkListBoxRow *row);\";function gtk_list_box_row_get_activatable(row) bind(c)\r\ngtk;gtk_list_box_row_get_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"GtkWidget *gtk_list_box_row_get_child (GtkListBoxRow *row);\";function gtk_list_box_row_get_child(row) bind(c)\r\ngtk;gtk_list_box_row_get_header;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"GtkWidget* gtk_list_box_row_get_header (GtkListBoxRow *row);\";function gtk_list_box_row_get_header(row) bind(c)\r\ngtk;gtk_list_box_row_get_index;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"int gtk_list_box_row_get_index (GtkListBoxRow *row);\";function gtk_list_box_row_get_index(row) bind(c)\r\ngtk;gtk_list_box_row_get_selectable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"gboolean gtk_list_box_row_get_selectable (GtkListBoxRow *row);\";function gtk_list_box_row_get_selectable(row) bind(c)\r\ngtk;gtk_list_box_row_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"GType gtk_list_box_row_get_type (void) ;\";function gtk_list_box_row_get_type() bind(c)\r\ngtk;gtk_list_box_row_is_selected;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"gboolean gtk_list_box_row_is_selected (GtkListBoxRow *row);\";function gtk_list_box_row_is_selected(row) bind(c)\r\ngtk;gtk_list_box_row_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"GtkWidget* gtk_list_box_row_new (void);\";function gtk_list_box_row_new() bind(c)\r\ngtk;gtk_list_box_row_set_activatable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"void gtk_list_box_row_set_activatable (GtkListBoxRow *row, gboolean activatable);\";subroutine gtk_list_box_row_set_activatable(row, activatable) bind(c)\r\ngtk;gtk_list_box_row_set_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"void gtk_list_box_row_set_child (GtkListBoxRow *row, GtkWidget *child);\";subroutine gtk_list_box_row_set_child(row, child) bind(c)\r\ngtk;gtk_list_box_row_set_header;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"void gtk_list_box_row_set_header (GtkListBoxRow *row, GtkWidget *header);\";subroutine gtk_list_box_row_set_header(row, header) bind(c)\r\ngtk;gtk_list_box_row_set_selectable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"void gtk_list_box_row_set_selectable (GtkListBoxRow *row, gboolean selectable);\";subroutine gtk_list_box_row_set_selectable(row, selectable) bind(c)\r\ngtk;gtk_list_box_select_all;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"void gtk_list_box_select_all (GtkListBox *box);\";subroutine gtk_list_box_select_all(box) bind(c)\r\ngtk;gtk_list_box_select_row;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"void gtk_list_box_select_row (GtkListBox *box, GtkListBoxRow *row);\";subroutine gtk_list_box_select_row(box, row) bind(c)\r\ngtk;gtk_list_box_selected_foreach;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"void gtk_list_box_selected_foreach (GtkListBox *box, GtkListBoxForeachFunc func, gpointer data);\";subroutine gtk_list_box_selected_foreach(box, func, data) bind(c)\r\ngtk;gtk_list_box_set_activate_on_single_click;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"void gtk_list_box_set_activate_on_single_click (GtkListBox *box, gboolean single);\";subroutine gtk_list_box_set_activate_on_single_click(box, single) bind(c)\r\ngtk;gtk_list_box_set_adjustment;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"void gtk_list_box_set_adjustment (GtkListBox *box, GtkAdjustment *adjustment);\";subroutine gtk_list_box_set_adjustment(box, adjustment) bind(c)\r\ngtk;gtk_list_box_set_filter_func;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"void gtk_list_box_set_filter_func (GtkListBox *box, GtkListBoxFilterFunc filter_func, gpointer user_data, GDestroyNotify destroy);\";subroutine gtk_list_box_set_filter_func(box, filter_func, user_data, destroy) bind(c)\r\ngtk;gtk_list_box_set_header_func;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"void gtk_list_box_set_header_func (GtkListBox *box, GtkListBoxUpdateHeaderFunc update_header, gpointer user_data, GDestroyNotify destroy);\";subroutine gtk_list_box_set_header_func(box, update_header, user_data, destroy) bind(c)\r\ngtk;gtk_list_box_set_placeholder;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"void gtk_list_box_set_placeholder (GtkListBox *box, GtkWidget *placeholder);\";subroutine gtk_list_box_set_placeholder(box, placeholder) bind(c)\r\ngtk;gtk_list_box_set_selection_mode;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"void gtk_list_box_set_selection_mode (GtkListBox *box, GtkSelectionMode mode);\";subroutine gtk_list_box_set_selection_mode(box, mode) bind(c)\r\ngtk;gtk_list_box_set_show_separators;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"void gtk_list_box_set_show_separators (GtkListBox *box, gboolean show_separators);\";subroutine gtk_list_box_set_show_separators(box, show_separators) bind(c)\r\ngtk;gtk_list_box_set_sort_func;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"void gtk_list_box_set_sort_func (GtkListBox *box, GtkListBoxSortFunc sort_func, gpointer user_data, GDestroyNotify destroy);\";subroutine gtk_list_box_set_sort_func(box, sort_func, user_data, destroy) bind(c)\r\ngtk;gtk_list_box_set_tab_behavior;GDK_AVAILABLE_IN_4_18;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"void gtk_list_box_set_tab_behavior (GtkListBox *box, GtkListTabBehavior behavior);\";subroutine gtk_list_box_set_tab_behavior(box, behavior) bind(c)\r\ngtk;gtk_list_box_unselect_all;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"void gtk_list_box_unselect_all (GtkListBox *box);\";subroutine gtk_list_box_unselect_all(box) bind(c)\r\ngtk;gtk_list_box_unselect_row;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistbox.h;\"void gtk_list_box_unselect_row (GtkListBox *box, GtkListBoxRow *row);\";subroutine gtk_list_box_unselect_row(box, row) bind(c)\r\ngtk;gtk_list_header_get_child;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistheader.h;\"GtkWidget * gtk_list_header_get_child (GtkListHeader *self);\";function gtk_list_header_get_child(self) bind(c)\r\ngtk;gtk_list_header_get_end;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistheader.h;\"guint gtk_list_header_get_end (GtkListHeader *self) ;\";function gtk_list_header_get_end(self) bind(c)\r\ngtk;gtk_list_header_get_item;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistheader.h;\"gpointer gtk_list_header_get_item (GtkListHeader *self);\";function gtk_list_header_get_item(self) bind(c)\r\ngtk;gtk_list_header_get_n_items;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistheader.h;\"guint gtk_list_header_get_n_items (GtkListHeader *self) ;\";function gtk_list_header_get_n_items(self) bind(c)\r\ngtk;gtk_list_header_get_start;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistheader.h;\"guint gtk_list_header_get_start (GtkListHeader *self) ;\";function gtk_list_header_get_start(self) bind(c)\r\ngtk;gtk_list_header_set_child;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistheader.h;\"void gtk_list_header_set_child (GtkListHeader *self, GtkWidget *child);\";subroutine gtk_list_header_set_child(self, child) bind(c)\r\ngtk;gtk_list_item_factory_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistitemfactory.h;\"GType gtk_list_item_factory_get_type (void) ;\";function gtk_list_item_factory_get_type() bind(c)\r\ngtk;gtk_list_item_get_accessible_description;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistitem.h;\"const char * gtk_list_item_get_accessible_description (GtkListItem *self);\";function gtk_list_item_get_accessible_description(self) bind(c)\r\ngtk;gtk_list_item_get_accessible_label;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistitem.h;\"const char * gtk_list_item_get_accessible_label (GtkListItem *self);\";function gtk_list_item_get_accessible_label(self) bind(c)\r\ngtk;gtk_list_item_get_activatable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistitem.h;\"gboolean gtk_list_item_get_activatable (GtkListItem *self) ;\";function gtk_list_item_get_activatable(self) bind(c)\r\ngtk;gtk_list_item_get_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistitem.h;\"GtkWidget * gtk_list_item_get_child (GtkListItem *self);\";function gtk_list_item_get_child(self) bind(c)\r\ngtk;gtk_list_item_get_focusable;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistitem.h;\"gboolean gtk_list_item_get_focusable (GtkListItem *self) ;\";function gtk_list_item_get_focusable(self) bind(c)\r\ngtk;gtk_list_item_get_item;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistitem.h;\"gpointer gtk_list_item_get_item (GtkListItem *self);\";function gtk_list_item_get_item(self) bind(c)\r\ngtk;gtk_list_item_get_position;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistitem.h;\"guint gtk_list_item_get_position (GtkListItem *self) ;\";function gtk_list_item_get_position(self) bind(c)\r\ngtk;gtk_list_item_get_selectable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistitem.h;\"gboolean gtk_list_item_get_selectable (GtkListItem *self) ;\";function gtk_list_item_get_selectable(self) bind(c)\r\ngtk;gtk_list_item_get_selected;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistitem.h;\"gboolean gtk_list_item_get_selected (GtkListItem *self) ;\";function gtk_list_item_get_selected(self) bind(c)\r\ngtk;gtk_list_item_set_accessible_description;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistitem.h;\"void gtk_list_item_set_accessible_description (GtkListItem *self, const char *description);\";subroutine gtk_list_item_set_accessible_description(self, description) bind(c)\r\ngtk;gtk_list_item_set_accessible_label;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistitem.h;\"void gtk_list_item_set_accessible_label (GtkListItem *self, const char *label);\";subroutine gtk_list_item_set_accessible_label(self, label) bind(c)\r\ngtk;gtk_list_item_set_activatable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistitem.h;\"void gtk_list_item_set_activatable (GtkListItem *self, gboolean activatable);\";subroutine gtk_list_item_set_activatable(self, activatable) bind(c)\r\ngtk;gtk_list_item_set_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistitem.h;\"void gtk_list_item_set_child (GtkListItem *self, GtkWidget *child);\";subroutine gtk_list_item_set_child(self, child) bind(c)\r\ngtk;gtk_list_item_set_focusable;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistitem.h;\"void gtk_list_item_set_focusable (GtkListItem *self, gboolean focusable);\";subroutine gtk_list_item_set_focusable(self, focusable) bind(c)\r\ngtk;gtk_list_item_set_selectable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistitem.h;\"void gtk_list_item_set_selectable (GtkListItem *self, gboolean selectable);\";subroutine gtk_list_item_set_selectable(self, selectable) bind(c)\r\ngtk;gtk_list_store_append;GDK_DEPRECATED_IN_4_10_FOR(GListStore);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkliststore.h;\"void gtk_list_store_append (GtkListStore *list_store, GtkTreeIter *iter);\";subroutine gtk_list_store_append(list_store, iter) bind(c)\r\ngtk;gtk_list_store_clear;GDK_DEPRECATED_IN_4_10_FOR(GListStore);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkliststore.h;\"void gtk_list_store_clear (GtkListStore *list_store);\";subroutine gtk_list_store_clear(list_store) bind(c)\r\ngtk;gtk_list_store_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkliststore.h;\"GType gtk_list_store_get_type (void) ;\";function gtk_list_store_get_type() bind(c)\r\ngtk;gtk_list_store_insert;GDK_DEPRECATED_IN_4_10_FOR(GListStore);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkliststore.h;\"void gtk_list_store_insert (GtkListStore *list_store, GtkTreeIter *iter, int position);\";subroutine gtk_list_store_insert(list_store, iter, position) bind(c)\r\ngtk;gtk_list_store_insert_after;GDK_DEPRECATED_IN_4_10_FOR(GListStore);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkliststore.h;\"void gtk_list_store_insert_after (GtkListStore *list_store, GtkTreeIter *iter, GtkTreeIter *sibling);\";subroutine gtk_list_store_insert_after(list_store, iter, sibling) bind(c)\r\ngtk;gtk_list_store_insert_before;GDK_DEPRECATED_IN_4_10_FOR(GListStore);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkliststore.h;\"void gtk_list_store_insert_before (GtkListStore *list_store, GtkTreeIter *iter, GtkTreeIter *sibling);\";subroutine gtk_list_store_insert_before(list_store, iter, sibling) bind(c)\r\ngtk;gtk_list_store_insert_with_valuesv;GDK_DEPRECATED_IN_4_10_FOR(GListStore);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkliststore.h;\"void gtk_list_store_insert_with_valuesv (GtkListStore *list_store, GtkTreeIter *iter, int position, int *columns, GValue *values, int n_values);\";subroutine gtk_list_store_insert_with_valuesv(list_store, iter, position, columns, values, n_values) bind(c)\r\ngtk;gtk_list_store_iter_is_valid;GDK_DEPRECATED_IN_4_10_FOR(GListStore);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkliststore.h;\"gboolean gtk_list_store_iter_is_valid (GtkListStore *list_store, GtkTreeIter *iter);\";function gtk_list_store_iter_is_valid(list_store, iter) bind(c)\r\ngtk;gtk_list_store_move_after;GDK_DEPRECATED_IN_4_10_FOR(GListStore);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkliststore.h;\"void gtk_list_store_move_after (GtkListStore *store, GtkTreeIter *iter, GtkTreeIter *position);\";subroutine gtk_list_store_move_after(store, iter, position) bind(c)\r\ngtk;gtk_list_store_move_before;GDK_DEPRECATED_IN_4_10_FOR(GListStore);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkliststore.h;\"void gtk_list_store_move_before (GtkListStore *store, GtkTreeIter *iter, GtkTreeIter *position);\";subroutine gtk_list_store_move_before(store, iter, position) bind(c)\r\ngtk;gtk_list_store_newv;GDK_DEPRECATED_IN_4_10_FOR(GListStore);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkliststore.h;\"GtkListStore *gtk_list_store_newv (int n_columns, GType *types);\";function gtk_list_store_newv(n_columns, types) bind(c)\r\ngtk;gtk_list_store_prepend;GDK_DEPRECATED_IN_4_10_FOR(GListStore);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkliststore.h;\"void gtk_list_store_prepend (GtkListStore *list_store, GtkTreeIter *iter);\";subroutine gtk_list_store_prepend(list_store, iter) bind(c)\r\ngtk;gtk_list_store_remove;GDK_DEPRECATED_IN_4_10_FOR(GListStore);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkliststore.h;\"gboolean gtk_list_store_remove (GtkListStore *list_store, GtkTreeIter *iter);\";function gtk_list_store_remove(list_store, iter) bind(c)\r\ngtk;gtk_list_store_reorder;GDK_DEPRECATED_IN_4_10_FOR(GListStore);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkliststore.h;\"void gtk_list_store_reorder (GtkListStore *store, int *new_order);\";subroutine gtk_list_store_reorder(store, new_order) bind(c)\r\ngtk;gtk_list_store_set_column_types;GDK_DEPRECATED_IN_4_10_FOR(GListStore);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkliststore.h;\"void gtk_list_store_set_column_types (GtkListStore *list_store, int n_columns, GType *types);\";subroutine gtk_list_store_set_column_types(list_store, n_columns, types) bind(c)\r\ngtk;gtk_list_store_set_valist;GDK_DEPRECATED_IN_4_10_FOR(GListStore);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkliststore.h;\"void gtk_list_store_set_valist (GtkListStore *list_store, GtkTreeIter *iter, va_list var_args);\";subroutine gtk_list_store_set_valist(list_store, iter, var_args) bind(c)\r\ngtk;gtk_list_store_set_value;GDK_DEPRECATED_IN_4_10_FOR(GListStore);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkliststore.h;\"void gtk_list_store_set_value (GtkListStore *list_store, GtkTreeIter *iter, int column, GValue *value);\";subroutine gtk_list_store_set_value(list_store, iter, column, value) bind(c)\r\ngtk;gtk_list_store_set_valuesv;GDK_DEPRECATED_IN_4_10_FOR(GListStore);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkliststore.h;\"void gtk_list_store_set_valuesv (GtkListStore *list_store, GtkTreeIter *iter, int *columns, GValue *values, int n_values);\";subroutine gtk_list_store_set_valuesv(list_store, iter, columns, values, n_values) bind(c)\r\ngtk;gtk_list_store_swap;GDK_DEPRECATED_IN_4_10_FOR(GListStore);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkliststore.h;\"void gtk_list_store_swap (GtkListStore *store, GtkTreeIter *a, GtkTreeIter *b);\";subroutine gtk_list_store_swap(store, a, b) bind(c)\r\ngtk;gtk_list_view_get_enable_rubberband;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistview.h;\"gboolean gtk_list_view_get_enable_rubberband (GtkListView *self);\";function gtk_list_view_get_enable_rubberband(self) bind(c)\r\ngtk;gtk_list_view_get_factory;;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistview.h;\"GtkListItemFactory * gtk_list_view_get_factory (GtkListView *self);\";function gtk_list_view_get_factory(self) bind(c)\r\ngtk;gtk_list_view_get_header_factory;;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistview.h;\"GtkListItemFactory * gtk_list_view_get_header_factory (GtkListView *self);\";function gtk_list_view_get_header_factory(self) bind(c)\r\ngtk;gtk_list_view_get_model;;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistview.h;\"GtkSelectionModel * gtk_list_view_get_model (GtkListView *self);\";function gtk_list_view_get_model(self) bind(c)\r\ngtk;gtk_list_view_get_show_separators;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistview.h;\"gboolean gtk_list_view_get_show_separators (GtkListView *self);\";function gtk_list_view_get_show_separators(self) bind(c)\r\ngtk;gtk_list_view_get_single_click_activate;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistview.h;\"gboolean gtk_list_view_get_single_click_activate (GtkListView *self);\";function gtk_list_view_get_single_click_activate(self) bind(c)\r\ngtk;gtk_list_view_get_tab_behavior;;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistview.h;\"GtkListTabBehavior gtk_list_view_get_tab_behavior (GtkListView *self);\";function gtk_list_view_get_tab_behavior(self) bind(c)\r\ngtk;gtk_list_view_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistview.h;\"GType gtk_list_view_get_type (void) ;\";function gtk_list_view_get_type() bind(c)\r\ngtk;gtk_list_view_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistview.h;\"GtkWidget * gtk_list_view_new (GtkSelectionModel *model, GtkListItemFactory *factory);\";function gtk_list_view_new(model, factory) bind(c)\r\ngtk;gtk_list_view_scroll_to;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistview.h;\"void gtk_list_view_scroll_to (GtkListView *self, guint pos, GtkListScrollFlags flags, GtkScrollInfo *scroll);\";subroutine gtk_list_view_scroll_to(self, pos, flags, scroll) bind(c)\r\ngtk;gtk_list_view_set_enable_rubberband;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistview.h;\"void gtk_list_view_set_enable_rubberband (GtkListView *self, gboolean enable_rubberband);\";subroutine gtk_list_view_set_enable_rubberband(self, enable_rubberband) bind(c)\r\ngtk;gtk_list_view_set_factory;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistview.h;\"void gtk_list_view_set_factory (GtkListView *self, GtkListItemFactory *factory);\";subroutine gtk_list_view_set_factory(self, factory) bind(c)\r\ngtk;gtk_list_view_set_header_factory;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistview.h;\"void gtk_list_view_set_header_factory (GtkListView *self, GtkListItemFactory *factory);\";subroutine gtk_list_view_set_header_factory(self, factory) bind(c)\r\ngtk;gtk_list_view_set_model;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistview.h;\"void gtk_list_view_set_model (GtkListView *self, GtkSelectionModel *model);\";subroutine gtk_list_view_set_model(self, model) bind(c)\r\ngtk;gtk_list_view_set_show_separators;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistview.h;\"void gtk_list_view_set_show_separators (GtkListView *self, gboolean show_separators);\";subroutine gtk_list_view_set_show_separators(self, show_separators) bind(c)\r\ngtk;gtk_list_view_set_single_click_activate;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistview.h;\"void gtk_list_view_set_single_click_activate (GtkListView *self, gboolean single_click_activate);\";subroutine gtk_list_view_set_single_click_activate(self, single_click_activate) bind(c)\r\ngtk;gtk_list_view_set_tab_behavior;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtklistview.h;\"void gtk_list_view_set_tab_behavior (GtkListView *self, GtkListTabBehavior tab_behavior);\";subroutine gtk_list_view_set_tab_behavior(self, tab_behavior) bind(c)\r\ngtk;gtk_lock_button_get_permission;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtklockbutton.h;\"GPermission *gtk_lock_button_get_permission (GtkLockButton *button);\";function gtk_lock_button_get_permission(button) bind(c)\r\ngtk;gtk_lock_button_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtklockbutton.h;\"GType gtk_lock_button_get_type (void) ;\";function gtk_lock_button_get_type() bind(c)\r\ngtk;gtk_lock_button_new;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtklockbutton.h;\"GtkWidget *gtk_lock_button_new (GPermission *permission);\";function gtk_lock_button_new(permission) bind(c)\r\ngtk;gtk_lock_button_set_permission;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtklockbutton.h;\"void gtk_lock_button_set_permission (GtkLockButton *button, GPermission *permission);\";subroutine gtk_lock_button_set_permission(button, permission) bind(c)\r\ngtk;gtk_map_list_model_get_model;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmaplistmodel.h;\"GListModel * gtk_map_list_model_get_model (GtkMapListModel *self);\";function gtk_map_list_model_get_model(self) bind(c)\r\ngtk;gtk_map_list_model_has_map;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmaplistmodel.h;\"gboolean gtk_map_list_model_has_map (GtkMapListModel *self);\";function gtk_map_list_model_has_map(self) bind(c)\r\ngtk;gtk_map_list_model_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmaplistmodel.h;\"GtkMapListModel * gtk_map_list_model_new (GListModel *model, GtkMapListModelMapFunc map_func, gpointer user_data, GDestroyNotify user_destroy);\";function gtk_map_list_model_new(model, map_func, user_data, user_destroy) bind(c)\r\ngtk;gtk_map_list_model_set_map_func;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmaplistmodel.h;\"void gtk_map_list_model_set_map_func (GtkMapListModel *self, GtkMapListModelMapFunc map_func, gpointer user_data, GDestroyNotify user_destroy);\";subroutine gtk_map_list_model_set_map_func(self, map_func, user_data, user_destroy) bind(c)\r\ngtk;gtk_map_list_model_set_model;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmaplistmodel.h;\"void gtk_map_list_model_set_model (GtkMapListModel *self, GListModel *model);\";subroutine gtk_map_list_model_set_model(self, model) bind(c)\r\ngtk;gtk_media_controls_get_media_stream;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediacontrols.h;\"GtkMediaStream *gtk_media_controls_get_media_stream (GtkMediaControls *controls);\";function gtk_media_controls_get_media_stream(controls) bind(c)\r\ngtk;gtk_media_controls_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediacontrols.h;\"GtkWidget *gtk_media_controls_new (GtkMediaStream *stream);\";function gtk_media_controls_new(stream) bind(c)\r\ngtk;gtk_media_controls_set_media_stream;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediacontrols.h;\"void gtk_media_controls_set_media_stream (GtkMediaControls *controls, GtkMediaStream *stream);\";subroutine gtk_media_controls_set_media_stream(controls, stream) bind(c)\r\ngtk;gtk_media_file_clear;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediafile.h;\"void gtk_media_file_clear (GtkMediaFile *self);\";subroutine gtk_media_file_clear(self) bind(c)\r\ngtk;gtk_media_file_get_file;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediafile.h;\"GFile * gtk_media_file_get_file (GtkMediaFile *self);\";function gtk_media_file_get_file(self) bind(c)\r\ngtk;gtk_media_file_get_input_stream;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediafile.h;\"GInputStream * gtk_media_file_get_input_stream (GtkMediaFile *self);\";function gtk_media_file_get_input_stream(self) bind(c)\r\ngtk;gtk_media_file_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediafile.h;\"GtkMediaStream * gtk_media_file_new (void);\";function gtk_media_file_new() bind(c)\r\ngtk;gtk_media_file_new_for_file;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediafile.h;\"GtkMediaStream * gtk_media_file_new_for_file (GFile *file);\";function gtk_media_file_new_for_file(file) bind(c)\r\ngtk;gtk_media_file_new_for_filename;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediafile.h;\"GtkMediaStream * gtk_media_file_new_for_filename (const char *filename);\";function gtk_media_file_new_for_filename(filename) bind(c)\r\ngtk;gtk_media_file_new_for_input_stream;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediafile.h;\"GtkMediaStream * gtk_media_file_new_for_input_stream (GInputStream *stream);\";function gtk_media_file_new_for_input_stream(stream) bind(c)\r\ngtk;gtk_media_file_new_for_resource;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediafile.h;\"GtkMediaStream * gtk_media_file_new_for_resource (const char *resource_path);\";function gtk_media_file_new_for_resource(resource_path) bind(c)\r\ngtk;gtk_media_file_set_file;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediafile.h;\"void gtk_media_file_set_file (GtkMediaFile *self, GFile *file);\";subroutine gtk_media_file_set_file(self, file) bind(c)\r\ngtk;gtk_media_file_set_filename;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediafile.h;\"void gtk_media_file_set_filename (GtkMediaFile *self, const char *filename);\";subroutine gtk_media_file_set_filename(self, filename) bind(c)\r\ngtk;gtk_media_file_set_input_stream;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediafile.h;\"void gtk_media_file_set_input_stream (GtkMediaFile *self, GInputStream *stream);\";subroutine gtk_media_file_set_input_stream(self, stream) bind(c)\r\ngtk;gtk_media_file_set_resource;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediafile.h;\"void gtk_media_file_set_resource (GtkMediaFile *self, const char *resource_path);\";subroutine gtk_media_file_set_resource(self, resource_path) bind(c)\r\ngtk;gtk_media_stream_ended;GDK_DEPRECATED_IN_4_4_FOR(gtk_media_stream_stream_ended);gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediastream.h;\"void gtk_media_stream_ended (GtkMediaStream *self);\";subroutine gtk_media_stream_ended(self) bind(c)\r\ngtk;gtk_media_stream_error_valist;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediastream.h;\"void gtk_media_stream_error_valist (GtkMediaStream *self, GQuark domain, int code, const char *format, va_list args) ;\";subroutine gtk_media_stream_error_valist(self, domain, code, format, args) bind(c)\r\ngtk;gtk_media_stream_gerror;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediastream.h;\"void gtk_media_stream_gerror (GtkMediaStream *self, GError *error);\";subroutine gtk_media_stream_gerror(self, error) bind(c)\r\ngtk;gtk_media_stream_get_duration;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediastream.h;\"gint64 gtk_media_stream_get_duration (GtkMediaStream *self);\";function gtk_media_stream_get_duration(self) bind(c)\r\ngtk;gtk_media_stream_get_ended;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediastream.h;\"gboolean gtk_media_stream_get_ended (GtkMediaStream *self);\";function gtk_media_stream_get_ended(self) bind(c)\r\ngtk;gtk_media_stream_get_error;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediastream.h;\"const GError * gtk_media_stream_get_error (GtkMediaStream *self);\";function gtk_media_stream_get_error(self) bind(c)\r\ngtk;gtk_media_stream_get_loop;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediastream.h;\"gboolean gtk_media_stream_get_loop (GtkMediaStream *self);\";function gtk_media_stream_get_loop(self) bind(c)\r\ngtk;gtk_media_stream_get_muted;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediastream.h;\"gboolean gtk_media_stream_get_muted (GtkMediaStream *self);\";function gtk_media_stream_get_muted(self) bind(c)\r\ngtk;gtk_media_stream_get_playing;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediastream.h;\"gboolean gtk_media_stream_get_playing (GtkMediaStream *self);\";function gtk_media_stream_get_playing(self) bind(c)\r\ngtk;gtk_media_stream_get_timestamp;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediastream.h;\"gint64 gtk_media_stream_get_timestamp (GtkMediaStream *self);\";function gtk_media_stream_get_timestamp(self) bind(c)\r\ngtk;gtk_media_stream_get_volume;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediastream.h;\"double gtk_media_stream_get_volume (GtkMediaStream *self);\";function gtk_media_stream_get_volume(self) bind(c)\r\ngtk;gtk_media_stream_has_audio;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediastream.h;\"gboolean gtk_media_stream_has_audio (GtkMediaStream *self);\";function gtk_media_stream_has_audio(self) bind(c)\r\ngtk;gtk_media_stream_has_video;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediastream.h;\"gboolean gtk_media_stream_has_video (GtkMediaStream *self);\";function gtk_media_stream_has_video(self) bind(c)\r\ngtk;gtk_media_stream_is_prepared;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediastream.h;\"gboolean gtk_media_stream_is_prepared (GtkMediaStream *self);\";function gtk_media_stream_is_prepared(self) bind(c)\r\ngtk;gtk_media_stream_is_seekable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediastream.h;\"gboolean gtk_media_stream_is_seekable (GtkMediaStream *self);\";function gtk_media_stream_is_seekable(self) bind(c)\r\ngtk;gtk_media_stream_is_seeking;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediastream.h;\"gboolean gtk_media_stream_is_seeking (GtkMediaStream *self);\";function gtk_media_stream_is_seeking(self) bind(c)\r\ngtk;gtk_media_stream_pause;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediastream.h;\"void gtk_media_stream_pause (GtkMediaStream *self);\";subroutine gtk_media_stream_pause(self) bind(c)\r\ngtk;gtk_media_stream_play;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediastream.h;\"void gtk_media_stream_play (GtkMediaStream *self);\";subroutine gtk_media_stream_play(self) bind(c)\r\ngtk;gtk_media_stream_prepared;GDK_DEPRECATED_IN_4_4_FOR(gtk_media_stream_stream_prepared);gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediastream.h;\"void gtk_media_stream_prepared (GtkMediaStream *self, gboolean has_audio, gboolean has_video, gboolean seekable, gint64 duration);\";subroutine gtk_media_stream_prepared(self, has_audio, has_video, seekable, duration) bind(c)\r\ngtk;gtk_media_stream_realize;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediastream.h;\"void gtk_media_stream_realize (GtkMediaStream *self, GdkSurface *surface);\";subroutine gtk_media_stream_realize(self, surface) bind(c)\r\ngtk;gtk_media_stream_seek;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediastream.h;\"void gtk_media_stream_seek (GtkMediaStream *self, gint64 timestamp);\";subroutine gtk_media_stream_seek(self, timestamp) bind(c)\r\ngtk;gtk_media_stream_seek_failed;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediastream.h;\"void gtk_media_stream_seek_failed (GtkMediaStream *self);\";subroutine gtk_media_stream_seek_failed(self) bind(c)\r\ngtk;gtk_media_stream_seek_success;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediastream.h;\"void gtk_media_stream_seek_success (GtkMediaStream *self);\";subroutine gtk_media_stream_seek_success(self) bind(c)\r\ngtk;gtk_media_stream_set_loop;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediastream.h;\"void gtk_media_stream_set_loop (GtkMediaStream *self, gboolean loop);\";subroutine gtk_media_stream_set_loop(self, loop) bind(c)\r\ngtk;gtk_media_stream_set_muted;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediastream.h;\"void gtk_media_stream_set_muted (GtkMediaStream *self, gboolean muted);\";subroutine gtk_media_stream_set_muted(self, muted) bind(c)\r\ngtk;gtk_media_stream_set_playing;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediastream.h;\"void gtk_media_stream_set_playing (GtkMediaStream *self, gboolean playing);\";subroutine gtk_media_stream_set_playing(self, playing) bind(c)\r\ngtk;gtk_media_stream_set_volume;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediastream.h;\"void gtk_media_stream_set_volume (GtkMediaStream *self, double volume);\";subroutine gtk_media_stream_set_volume(self, volume) bind(c)\r\ngtk;gtk_media_stream_stream_ended;GDK_AVAILABLE_IN_4_4;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediastream.h;\"void gtk_media_stream_stream_ended (GtkMediaStream *self);\";subroutine gtk_media_stream_stream_ended(self) bind(c)\r\ngtk;gtk_media_stream_stream_prepared;GDK_AVAILABLE_IN_4_4;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediastream.h;\"void gtk_media_stream_stream_prepared (GtkMediaStream *self, gboolean has_audio, gboolean has_video, gboolean seekable, gint64 duration);\";subroutine gtk_media_stream_stream_prepared(self, has_audio, has_video, seekable, duration) bind(c)\r\ngtk;gtk_media_stream_stream_unprepared;GDK_AVAILABLE_IN_4_4;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediastream.h;\"void gtk_media_stream_stream_unprepared (GtkMediaStream *self);\";subroutine gtk_media_stream_stream_unprepared(self) bind(c)\r\ngtk;gtk_media_stream_unprepared;GDK_DEPRECATED_IN_4_4_FOR(gtk_media_stream_stream_unprepared);gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediastream.h;\"void gtk_media_stream_unprepared (GtkMediaStream *self);\";subroutine gtk_media_stream_unprepared(self) bind(c)\r\ngtk;gtk_media_stream_unrealize;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediastream.h;\"void gtk_media_stream_unrealize (GtkMediaStream *self, GdkSurface *surface);\";subroutine gtk_media_stream_unrealize(self, surface) bind(c)\r\ngtk;gtk_media_stream_update;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmediastream.h;\"void gtk_media_stream_update (GtkMediaStream *self, gint64 timestamp);\";subroutine gtk_media_stream_update(self, timestamp) bind(c)\r\ngtk;gtk_menu_button_get_active;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmenubutton.h;\"gboolean gtk_menu_button_get_active (GtkMenuButton *menu_button);\";function gtk_menu_button_get_active(menu_button) bind(c)\r\ngtk;gtk_menu_button_get_always_show_arrow;GDK_AVAILABLE_IN_4_4;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmenubutton.h;\"gboolean gtk_menu_button_get_always_show_arrow (GtkMenuButton *menu_button);\";function gtk_menu_button_get_always_show_arrow(menu_button) bind(c)\r\ngtk;gtk_menu_button_get_can_shrink;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmenubutton.h;\"gboolean gtk_menu_button_get_can_shrink (GtkMenuButton *menu_button);\";function gtk_menu_button_get_can_shrink(menu_button) bind(c)\r\ngtk;gtk_menu_button_get_child;GDK_AVAILABLE_IN_4_6;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmenubutton.h;\"GtkWidget * gtk_menu_button_get_child (GtkMenuButton *menu_button);\";function gtk_menu_button_get_child(menu_button) bind(c)\r\ngtk;gtk_menu_button_get_direction;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmenubutton.h;\"GtkArrowType gtk_menu_button_get_direction (GtkMenuButton *menu_button);\";function gtk_menu_button_get_direction(menu_button) bind(c)\r\ngtk;gtk_menu_button_get_has_frame;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmenubutton.h;\"gboolean gtk_menu_button_get_has_frame (GtkMenuButton *menu_button);\";function gtk_menu_button_get_has_frame(menu_button) bind(c)\r\ngtk;gtk_menu_button_get_icon_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmenubutton.h;\"const char * gtk_menu_button_get_icon_name (GtkMenuButton *menu_button);\";function gtk_menu_button_get_icon_name(menu_button) bind(c)\r\ngtk;gtk_menu_button_get_label;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmenubutton.h;\"const char * gtk_menu_button_get_label (GtkMenuButton *menu_button);\";function gtk_menu_button_get_label(menu_button) bind(c)\r\ngtk;gtk_menu_button_get_menu_model;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmenubutton.h;\"GMenuModel *gtk_menu_button_get_menu_model (GtkMenuButton *menu_button);\";function gtk_menu_button_get_menu_model(menu_button) bind(c)\r\ngtk;gtk_menu_button_get_popover;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmenubutton.h;\"GtkPopover *gtk_menu_button_get_popover (GtkMenuButton *menu_button);\";function gtk_menu_button_get_popover(menu_button) bind(c)\r\ngtk;gtk_menu_button_get_primary;GDK_AVAILABLE_IN_4_4;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmenubutton.h;\"gboolean gtk_menu_button_get_primary (GtkMenuButton *menu_button);\";function gtk_menu_button_get_primary(menu_button) bind(c)\r\ngtk;gtk_menu_button_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmenubutton.h;\"GType gtk_menu_button_get_type (void) ;\";function gtk_menu_button_get_type() bind(c)\r\ngtk;gtk_menu_button_get_use_underline;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmenubutton.h;\"gboolean gtk_menu_button_get_use_underline (GtkMenuButton *menu_button);\";function gtk_menu_button_get_use_underline(menu_button) bind(c)\r\ngtk;gtk_menu_button_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmenubutton.h;\"GtkWidget *gtk_menu_button_new (void);\";function gtk_menu_button_new() bind(c)\r\ngtk;gtk_menu_button_popdown;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmenubutton.h;\"void gtk_menu_button_popdown (GtkMenuButton *menu_button);\";subroutine gtk_menu_button_popdown(menu_button) bind(c)\r\ngtk;gtk_menu_button_popup;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmenubutton.h;\"void gtk_menu_button_popup (GtkMenuButton *menu_button);\";subroutine gtk_menu_button_popup(menu_button) bind(c)\r\ngtk;gtk_menu_button_set_active;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmenubutton.h;\"void gtk_menu_button_set_active (GtkMenuButton *menu_button, gboolean active);\";subroutine gtk_menu_button_set_active(menu_button, active) bind(c)\r\ngtk;gtk_menu_button_set_always_show_arrow;GDK_AVAILABLE_IN_4_4;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmenubutton.h;\"void gtk_menu_button_set_always_show_arrow (GtkMenuButton *menu_button, gboolean always_show_arrow);\";subroutine gtk_menu_button_set_always_show_arrow(menu_button, always_show_arrow) bind(c)\r\ngtk;gtk_menu_button_set_can_shrink;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmenubutton.h;\"void gtk_menu_button_set_can_shrink (GtkMenuButton *menu_button, gboolean can_shrink);\";subroutine gtk_menu_button_set_can_shrink(menu_button, can_shrink) bind(c)\r\ngtk;gtk_menu_button_set_child;GDK_AVAILABLE_IN_4_6;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmenubutton.h;\"void gtk_menu_button_set_child (GtkMenuButton *menu_button, GtkWidget *child);\";subroutine gtk_menu_button_set_child(menu_button, child) bind(c)\r\ngtk;gtk_menu_button_set_create_popup_func;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmenubutton.h;\"void gtk_menu_button_set_create_popup_func (GtkMenuButton *menu_button, GtkMenuButtonCreatePopupFunc func, gpointer user_data, GDestroyNotify destroy_notify);\";subroutine gtk_menu_button_set_create_popup_func(menu_button, func, user_data, destroy_notify) bind(c)\r\ngtk;gtk_menu_button_set_direction;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmenubutton.h;\"void gtk_menu_button_set_direction (GtkMenuButton *menu_button, GtkArrowType direction);\";subroutine gtk_menu_button_set_direction(menu_button, direction) bind(c)\r\ngtk;gtk_menu_button_set_has_frame;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmenubutton.h;\"void gtk_menu_button_set_has_frame (GtkMenuButton *menu_button, gboolean has_frame);\";subroutine gtk_menu_button_set_has_frame(menu_button, has_frame) bind(c)\r\ngtk;gtk_menu_button_set_icon_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmenubutton.h;\"void gtk_menu_button_set_icon_name (GtkMenuButton *menu_button, const char *icon_name);\";subroutine gtk_menu_button_set_icon_name(menu_button, icon_name) bind(c)\r\ngtk;gtk_menu_button_set_label;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmenubutton.h;\"void gtk_menu_button_set_label (GtkMenuButton *menu_button, const char *label);\";subroutine gtk_menu_button_set_label(menu_button, label) bind(c)\r\ngtk;gtk_menu_button_set_menu_model;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmenubutton.h;\"void gtk_menu_button_set_menu_model (GtkMenuButton *menu_button, GMenuModel *menu_model);\";subroutine gtk_menu_button_set_menu_model(menu_button, menu_model) bind(c)\r\ngtk;gtk_menu_button_set_popover;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmenubutton.h;\"void gtk_menu_button_set_popover (GtkMenuButton *menu_button, GtkWidget *popover);\";subroutine gtk_menu_button_set_popover(menu_button, popover) bind(c)\r\ngtk;gtk_menu_button_set_primary;GDK_AVAILABLE_IN_4_4;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmenubutton.h;\"void gtk_menu_button_set_primary (GtkMenuButton *menu_button, gboolean primary);\";subroutine gtk_menu_button_set_primary(menu_button, primary) bind(c)\r\ngtk;gtk_menu_button_set_use_underline;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmenubutton.h;\"void gtk_menu_button_set_use_underline (GtkMenuButton *menu_button, gboolean use_underline);\";subroutine gtk_menu_button_set_use_underline(menu_button, use_underline) bind(c)\r\ngtk;gtk_message_dialog_get_message_area;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkmessagedialog.h;\"GtkWidget *gtk_message_dialog_get_message_area (GtkMessageDialog *message_dialog);\";function gtk_message_dialog_get_message_area(message_dialog) bind(c)\r\ngtk;gtk_message_dialog_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkmessagedialog.h;\"GType gtk_message_dialog_get_type (void) ;\";function gtk_message_dialog_get_type() bind(c)\r\ngtk;gtk_message_dialog_set_markup;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkmessagedialog.h;\"void gtk_message_dialog_set_markup (GtkMessageDialog *message_dialog, const char *str);\";subroutine gtk_message_dialog_set_markup(message_dialog, str) bind(c)\r\ngtk;gtk_mnemonic_action_get;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcutaction.h;\"GtkShortcutAction * gtk_mnemonic_action_get (void);\";function gtk_mnemonic_action_get() bind(c)\r\ngtk;gtk_mnemonic_trigger_get_keyval;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcuttrigger.h;\"guint gtk_mnemonic_trigger_get_keyval (GtkMnemonicTrigger *self);\";function gtk_mnemonic_trigger_get_keyval(self) bind(c)\r\ngtk;gtk_mnemonic_trigger_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcuttrigger.h;\"GtkShortcutTrigger * gtk_mnemonic_trigger_new (guint keyval);\";function gtk_mnemonic_trigger_new(keyval) bind(c)\r\ngtk;gtk_mount_operation_get_display;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmountoperation.h;\"GdkDisplay * gtk_mount_operation_get_display(GtkMountOperation *op);\";function gtk_mount_operation_get_display(op) bind(c)\r\ngtk;gtk_mount_operation_get_parent;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmountoperation.h;\"GtkWindow * gtk_mount_operation_get_parent (GtkMountOperation *op);\";function gtk_mount_operation_get_parent(op) bind(c)\r\ngtk;gtk_mount_operation_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmountoperation.h;\"GType gtk_mount_operation_get_type (void);\";function gtk_mount_operation_get_type() bind(c)\r\ngtk;gtk_mount_operation_is_showing;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmountoperation.h;\"gboolean gtk_mount_operation_is_showing (GtkMountOperation *op);\";function gtk_mount_operation_is_showing(op) bind(c)\r\ngtk;gtk_mount_operation_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmountoperation.h;\"GMountOperation *gtk_mount_operation_new (GtkWindow *parent);\";function gtk_mount_operation_new(parent) bind(c)\r\ngtk;gtk_mount_operation_set_display;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmountoperation.h;\"void gtk_mount_operation_set_display(GtkMountOperation *op, GdkDisplay *display);\";subroutine gtk_mount_operation_set_display(op, display) bind(c)\r\ngtk;gtk_mount_operation_set_parent;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmountoperation.h;\"void gtk_mount_operation_set_parent (GtkMountOperation *op, GtkWindow *parent);\";subroutine gtk_mount_operation_set_parent(op, parent) bind(c)\r\ngtk;gtk_multi_filter_append;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmultifilter.h;\"void gtk_multi_filter_append (GtkMultiFilter *self, GtkFilter *filter);\";subroutine gtk_multi_filter_append(self, filter) bind(c)\r\ngtk;gtk_multi_filter_remove;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmultifilter.h;\"void gtk_multi_filter_remove (GtkMultiFilter *self, guint position);\";subroutine gtk_multi_filter_remove(self, position) bind(c)\r\ngtk;gtk_multi_selection_get_model;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmultiselection.h;\"GListModel * gtk_multi_selection_get_model (GtkMultiSelection *self);\";function gtk_multi_selection_get_model(self) bind(c)\r\ngtk;gtk_multi_selection_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmultiselection.h;\"GtkMultiSelection * gtk_multi_selection_new (GListModel *model);\";function gtk_multi_selection_new(model) bind(c)\r\ngtk;gtk_multi_selection_set_model;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmultiselection.h;\"void gtk_multi_selection_set_model (GtkMultiSelection *self, GListModel *model);\";subroutine gtk_multi_selection_set_model(self, model) bind(c)\r\ngtk;gtk_multi_sorter_append;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmultisorter.h;\"void gtk_multi_sorter_append (GtkMultiSorter *self, GtkSorter *sorter);\";subroutine gtk_multi_sorter_append(self, sorter) bind(c)\r\ngtk;gtk_multi_sorter_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmultisorter.h;\"GtkMultiSorter * gtk_multi_sorter_new (void);\";function gtk_multi_sorter_new() bind(c)\r\ngtk;gtk_multi_sorter_remove;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkmultisorter.h;\"void gtk_multi_sorter_remove (GtkMultiSorter *self, guint position);\";subroutine gtk_multi_sorter_remove(self, position) bind(c)\r\ngtk;gtk_named_action_get_action_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcutaction.h;\"const char * gtk_named_action_get_action_name (GtkNamedAction *self);\";function gtk_named_action_get_action_name(self) bind(c)\r\ngtk;gtk_named_action_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcutaction.h;\"GtkShortcutAction * gtk_named_action_new (const char *name);\";function gtk_named_action_new(name) bind(c)\r\ngtk;gtk_native_dialog_destroy;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknativedialog.h;\"void gtk_native_dialog_destroy (GtkNativeDialog *self);\";subroutine gtk_native_dialog_destroy(self) bind(c)\r\ngtk;gtk_native_dialog_get_modal;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknativedialog.h;\"gboolean gtk_native_dialog_get_modal (GtkNativeDialog *self);\";function gtk_native_dialog_get_modal(self) bind(c)\r\ngtk;gtk_native_dialog_get_title;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknativedialog.h;\"const char * gtk_native_dialog_get_title (GtkNativeDialog *self);\";function gtk_native_dialog_get_title(self) bind(c)\r\ngtk;gtk_native_dialog_get_transient_for;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknativedialog.h;\"GtkWindow * gtk_native_dialog_get_transient_for (GtkNativeDialog *self);\";function gtk_native_dialog_get_transient_for(self) bind(c)\r\ngtk;gtk_native_dialog_get_visible;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknativedialog.h;\"gboolean gtk_native_dialog_get_visible (GtkNativeDialog *self);\";function gtk_native_dialog_get_visible(self) bind(c)\r\ngtk;gtk_native_dialog_hide;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknativedialog.h;\"void gtk_native_dialog_hide (GtkNativeDialog *self);\";subroutine gtk_native_dialog_hide(self) bind(c)\r\ngtk;gtk_native_dialog_set_modal;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknativedialog.h;\"void gtk_native_dialog_set_modal (GtkNativeDialog *self, gboolean modal);\";subroutine gtk_native_dialog_set_modal(self, modal) bind(c)\r\ngtk;gtk_native_dialog_set_title;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknativedialog.h;\"void gtk_native_dialog_set_title (GtkNativeDialog *self, const char *title);\";subroutine gtk_native_dialog_set_title(self, title) bind(c)\r\ngtk;gtk_native_dialog_set_transient_for;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknativedialog.h;\"void gtk_native_dialog_set_transient_for (GtkNativeDialog *self, GtkWindow *parent);\";subroutine gtk_native_dialog_set_transient_for(self, parent) bind(c)\r\ngtk;gtk_native_dialog_show;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknativedialog.h;\"void gtk_native_dialog_show (GtkNativeDialog *self);\";subroutine gtk_native_dialog_show(self) bind(c)\r\ngtk;gtk_native_get_for_surface;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknative.h;\"GtkNative * gtk_native_get_for_surface (GdkSurface *surface);\";function gtk_native_get_for_surface(surface) bind(c)\r\ngtk;gtk_native_get_renderer;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknative.h;\"GskRenderer *gtk_native_get_renderer (GtkNative *self);\";function gtk_native_get_renderer(self) bind(c)\r\ngtk;gtk_native_get_surface;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknative.h;\"GdkSurface *gtk_native_get_surface (GtkNative *self);\";function gtk_native_get_surface(self) bind(c)\r\ngtk;gtk_native_get_surface_transform;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknative.h;\"void gtk_native_get_surface_transform (GtkNative *self, double *x, double *y);\";subroutine gtk_native_get_surface_transform(self, x, y) bind(c)\r\ngtk;gtk_native_realize;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknative.h;\"void gtk_native_realize (GtkNative *self);\";subroutine gtk_native_realize(self) bind(c)\r\ngtk;gtk_native_unrealize;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknative.h;\"void gtk_native_unrealize (GtkNative *self);\";subroutine gtk_native_unrealize(self) bind(c)\r\ngtk;gtk_never_trigger_get;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcuttrigger.h;\"GtkShortcutTrigger * gtk_never_trigger_get (void);\";function gtk_never_trigger_get() bind(c)\r\ngtk;gtk_no_selection_get_model;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknoselection.h;\"GListModel * gtk_no_selection_get_model (GtkNoSelection *self);\";function gtk_no_selection_get_model(self) bind(c)\r\ngtk;gtk_no_selection_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknoselection.h;\"GtkNoSelection * gtk_no_selection_new (GListModel *model);\";function gtk_no_selection_new(model) bind(c)\r\ngtk;gtk_no_selection_set_model;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknoselection.h;\"void gtk_no_selection_set_model (GtkNoSelection *self, GListModel *model);\";subroutine gtk_no_selection_set_model(self, model) bind(c)\r\ngtk;gtk_notebook_append_page;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"int gtk_notebook_append_page (GtkNotebook *notebook, GtkWidget *child, GtkWidget *tab_label);\";function gtk_notebook_append_page(notebook, child, tab_label) bind(c)\r\ngtk;gtk_notebook_append_page_menu;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"int gtk_notebook_append_page_menu (GtkNotebook *notebook, GtkWidget *child, GtkWidget *tab_label, GtkWidget *menu_label);\";function gtk_notebook_append_page_menu(notebook, child, tab_label, menu_label) bind(c)\r\ngtk;gtk_notebook_detach_tab;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"void gtk_notebook_detach_tab (GtkNotebook *notebook, GtkWidget *child);\";subroutine gtk_notebook_detach_tab(notebook, child) bind(c)\r\ngtk;gtk_notebook_get_action_widget;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"GtkWidget* gtk_notebook_get_action_widget (GtkNotebook *notebook, GtkPackType pack_type);\";function gtk_notebook_get_action_widget(notebook, pack_type) bind(c)\r\ngtk;gtk_notebook_get_current_page;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"int gtk_notebook_get_current_page (GtkNotebook *notebook);\";function gtk_notebook_get_current_page(notebook) bind(c)\r\ngtk;gtk_notebook_get_group_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"const char *gtk_notebook_get_group_name (GtkNotebook *notebook);\";function gtk_notebook_get_group_name(notebook) bind(c)\r\ngtk;gtk_notebook_get_menu_label;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"GtkWidget * gtk_notebook_get_menu_label (GtkNotebook *notebook, GtkWidget *child);\";function gtk_notebook_get_menu_label(notebook, child) bind(c)\r\ngtk;gtk_notebook_get_menu_label_text;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"const char * gtk_notebook_get_menu_label_text (GtkNotebook *notebook, GtkWidget *child);\";function gtk_notebook_get_menu_label_text(notebook, child) bind(c)\r\ngtk;gtk_notebook_get_n_pages;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"int gtk_notebook_get_n_pages (GtkNotebook *notebook);\";function gtk_notebook_get_n_pages(notebook) bind(c)\r\ngtk;gtk_notebook_get_nth_page;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"GtkWidget* gtk_notebook_get_nth_page (GtkNotebook *notebook, int page_num);\";function gtk_notebook_get_nth_page(notebook, page_num) bind(c)\r\ngtk;gtk_notebook_get_page;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"GtkNotebookPage *gtk_notebook_get_page (GtkNotebook *notebook, GtkWidget *child);\";function gtk_notebook_get_page(notebook, child) bind(c)\r\ngtk;gtk_notebook_get_pages;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"GListModel *gtk_notebook_get_pages (GtkNotebook *notebook);\";function gtk_notebook_get_pages(notebook) bind(c)\r\ngtk;gtk_notebook_get_scrollable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"gboolean gtk_notebook_get_scrollable (GtkNotebook *notebook);\";function gtk_notebook_get_scrollable(notebook) bind(c)\r\ngtk;gtk_notebook_get_show_border;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"gboolean gtk_notebook_get_show_border (GtkNotebook *notebook);\";function gtk_notebook_get_show_border(notebook) bind(c)\r\ngtk;gtk_notebook_get_show_tabs;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"gboolean gtk_notebook_get_show_tabs (GtkNotebook *notebook);\";function gtk_notebook_get_show_tabs(notebook) bind(c)\r\ngtk;gtk_notebook_get_tab_detachable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"gboolean gtk_notebook_get_tab_detachable (GtkNotebook *notebook, GtkWidget *child);\";function gtk_notebook_get_tab_detachable(notebook, child) bind(c)\r\ngtk;gtk_notebook_get_tab_label;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"GtkWidget * gtk_notebook_get_tab_label (GtkNotebook *notebook, GtkWidget *child);\";function gtk_notebook_get_tab_label(notebook, child) bind(c)\r\ngtk;gtk_notebook_get_tab_label_text;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"const char * gtk_notebook_get_tab_label_text (GtkNotebook *notebook, GtkWidget *child);\";function gtk_notebook_get_tab_label_text(notebook, child) bind(c)\r\ngtk;gtk_notebook_get_tab_pos;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"GtkPositionType gtk_notebook_get_tab_pos (GtkNotebook *notebook);\";function gtk_notebook_get_tab_pos(notebook) bind(c)\r\ngtk;gtk_notebook_get_tab_reorderable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"gboolean gtk_notebook_get_tab_reorderable (GtkNotebook *notebook, GtkWidget *child);\";function gtk_notebook_get_tab_reorderable(notebook, child) bind(c)\r\ngtk;gtk_notebook_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"GType gtk_notebook_get_type (void) ;\";function gtk_notebook_get_type() bind(c)\r\ngtk;gtk_notebook_insert_page;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"int gtk_notebook_insert_page (GtkNotebook *notebook, GtkWidget *child, GtkWidget *tab_label, int position);\";function gtk_notebook_insert_page(notebook, child, tab_label, position) bind(c)\r\ngtk;gtk_notebook_insert_page_menu;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"int gtk_notebook_insert_page_menu (GtkNotebook *notebook, GtkWidget *child, GtkWidget *tab_label, GtkWidget *menu_label, int position);\";function gtk_notebook_insert_page_menu(notebook, child, tab_label, menu_label, position) bind(c)\r\ngtk;gtk_notebook_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"GtkWidget * gtk_notebook_new (void);\";function gtk_notebook_new() bind(c)\r\ngtk;gtk_notebook_next_page;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"void gtk_notebook_next_page (GtkNotebook *notebook);\";subroutine gtk_notebook_next_page(notebook) bind(c)\r\ngtk;gtk_notebook_page_get_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"GtkWidget *gtk_notebook_page_get_child (GtkNotebookPage *page);\";function gtk_notebook_page_get_child(page) bind(c)\r\ngtk;gtk_notebook_page_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"GType gtk_notebook_page_get_type (void) ;\";function gtk_notebook_page_get_type() bind(c)\r\ngtk;gtk_notebook_page_num;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"int gtk_notebook_page_num (GtkNotebook *notebook, GtkWidget *child);\";function gtk_notebook_page_num(notebook, child) bind(c)\r\ngtk;gtk_notebook_popup_disable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"void gtk_notebook_popup_disable (GtkNotebook *notebook);\";subroutine gtk_notebook_popup_disable(notebook) bind(c)\r\ngtk;gtk_notebook_popup_enable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"void gtk_notebook_popup_enable (GtkNotebook *notebook);\";subroutine gtk_notebook_popup_enable(notebook) bind(c)\r\ngtk;gtk_notebook_prepend_page;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"int gtk_notebook_prepend_page (GtkNotebook *notebook, GtkWidget *child, GtkWidget *tab_label);\";function gtk_notebook_prepend_page(notebook, child, tab_label) bind(c)\r\ngtk;gtk_notebook_prepend_page_menu;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"int gtk_notebook_prepend_page_menu (GtkNotebook *notebook, GtkWidget *child, GtkWidget *tab_label, GtkWidget *menu_label);\";function gtk_notebook_prepend_page_menu(notebook, child, tab_label, menu_label) bind(c)\r\ngtk;gtk_notebook_prev_page;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"void gtk_notebook_prev_page (GtkNotebook *notebook);\";subroutine gtk_notebook_prev_page(notebook) bind(c)\r\ngtk;gtk_notebook_remove_page;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"void gtk_notebook_remove_page (GtkNotebook *notebook, int page_num);\";subroutine gtk_notebook_remove_page(notebook, page_num) bind(c)\r\ngtk;gtk_notebook_reorder_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"void gtk_notebook_reorder_child (GtkNotebook *notebook, GtkWidget *child, int position);\";subroutine gtk_notebook_reorder_child(notebook, child, position) bind(c)\r\ngtk;gtk_notebook_set_action_widget;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"void gtk_notebook_set_action_widget (GtkNotebook *notebook, GtkWidget *widget, GtkPackType pack_type);\";subroutine gtk_notebook_set_action_widget(notebook, widget, pack_type) bind(c)\r\ngtk;gtk_notebook_set_current_page;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"void gtk_notebook_set_current_page (GtkNotebook *notebook, int page_num);\";subroutine gtk_notebook_set_current_page(notebook, page_num) bind(c)\r\ngtk;gtk_notebook_set_group_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"void gtk_notebook_set_group_name (GtkNotebook *notebook, const char *group_name);\";subroutine gtk_notebook_set_group_name(notebook, group_name) bind(c)\r\ngtk;gtk_notebook_set_menu_label;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"void gtk_notebook_set_menu_label (GtkNotebook *notebook, GtkWidget *child, GtkWidget *menu_label);\";subroutine gtk_notebook_set_menu_label(notebook, child, menu_label) bind(c)\r\ngtk;gtk_notebook_set_menu_label_text;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"void gtk_notebook_set_menu_label_text (GtkNotebook *notebook, GtkWidget *child, const char *menu_text);\";subroutine gtk_notebook_set_menu_label_text(notebook, child, menu_text) bind(c)\r\ngtk;gtk_notebook_set_scrollable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"void gtk_notebook_set_scrollable (GtkNotebook *notebook, gboolean scrollable);\";subroutine gtk_notebook_set_scrollable(notebook, scrollable) bind(c)\r\ngtk;gtk_notebook_set_show_border;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"void gtk_notebook_set_show_border (GtkNotebook *notebook, gboolean show_border);\";subroutine gtk_notebook_set_show_border(notebook, show_border) bind(c)\r\ngtk;gtk_notebook_set_show_tabs;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"void gtk_notebook_set_show_tabs (GtkNotebook *notebook, gboolean show_tabs);\";subroutine gtk_notebook_set_show_tabs(notebook, show_tabs) bind(c)\r\ngtk;gtk_notebook_set_tab_detachable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"void gtk_notebook_set_tab_detachable (GtkNotebook *notebook, GtkWidget *child, gboolean detachable);\";subroutine gtk_notebook_set_tab_detachable(notebook, child, detachable) bind(c)\r\ngtk;gtk_notebook_set_tab_label;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"void gtk_notebook_set_tab_label (GtkNotebook *notebook, GtkWidget *child, GtkWidget *tab_label);\";subroutine gtk_notebook_set_tab_label(notebook, child, tab_label) bind(c)\r\ngtk;gtk_notebook_set_tab_label_text;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"void gtk_notebook_set_tab_label_text (GtkNotebook *notebook, GtkWidget *child, const char *tab_text);\";subroutine gtk_notebook_set_tab_label_text(notebook, child, tab_text) bind(c)\r\ngtk;gtk_notebook_set_tab_pos;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"void gtk_notebook_set_tab_pos (GtkNotebook *notebook, GtkPositionType pos);\";subroutine gtk_notebook_set_tab_pos(notebook, pos) bind(c)\r\ngtk;gtk_notebook_set_tab_reorderable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknotebook.h;\"void gtk_notebook_set_tab_reorderable (GtkNotebook *notebook, GtkWidget *child, gboolean reorderable);\";subroutine gtk_notebook_set_tab_reorderable(notebook, child, reorderable) bind(c)\r\ngtk;gtk_nothing_action_get;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcutaction.h;\"GtkShortcutAction * gtk_nothing_action_get (void);\";function gtk_nothing_action_get() bind(c)\r\ngtk;gtk_numeric_sorter_get_expression;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknumericsorter.h;\"GtkExpression * gtk_numeric_sorter_get_expression (GtkNumericSorter *self);\";function gtk_numeric_sorter_get_expression(self) bind(c)\r\ngtk;gtk_numeric_sorter_get_sort_order;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknumericsorter.h;\"GtkSortType gtk_numeric_sorter_get_sort_order (GtkNumericSorter *self);\";function gtk_numeric_sorter_get_sort_order(self) bind(c)\r\ngtk;gtk_numeric_sorter_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknumericsorter.h;\"GtkNumericSorter * gtk_numeric_sorter_new (GtkExpression *expression);\";function gtk_numeric_sorter_new(expression) bind(c)\r\ngtk;gtk_numeric_sorter_set_expression;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknumericsorter.h;\"void gtk_numeric_sorter_set_expression (GtkNumericSorter *self, GtkExpression *expression);\";subroutine gtk_numeric_sorter_set_expression(self, expression) bind(c)\r\ngtk;gtk_numeric_sorter_set_sort_order;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtknumericsorter.h;\"void gtk_numeric_sorter_set_sort_order (GtkNumericSorter *self, GtkSortType sort_order);\";subroutine gtk_numeric_sorter_set_sort_order(self, sort_order) bind(c)\r\ngtk;gtk_object_expression_get_object;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpression.h;\"GObject * gtk_object_expression_get_object (GtkExpression *expression);\";function gtk_object_expression_get_object(expression) bind(c)\r\ngtk;gtk_object_expression_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpression.h;\"GType gtk_object_expression_get_type (void) ;\";function gtk_object_expression_get_type() bind(c)\r\ngtk;gtk_object_expression_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpression.h;\"GtkExpression * gtk_object_expression_new (GObject *object);\";function gtk_object_expression_new(object) bind(c)\r\ngtk;gtk_ordering_from_cmpfunc;;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkenums.h;\"GtkOrdering gtk_ordering_from_cmpfunc (int cmpfunc_result);\";function gtk_ordering_from_cmpfunc(cmpfunc_result) bind(c)\r\ngtk;gtk_orientable_get_orientation;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkorientable.h;\"GtkOrientation gtk_orientable_get_orientation (GtkOrientable *orientable);\";function gtk_orientable_get_orientation(orientable) bind(c)\r\ngtk;gtk_orientable_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkorientable.h;\"GType gtk_orientable_get_type (void) ;\";function gtk_orientable_get_type() bind(c)\r\ngtk;gtk_orientable_set_orientation;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkorientable.h;\"void gtk_orientable_set_orientation (GtkOrientable *orientable, GtkOrientation orientation);\";subroutine gtk_orientable_set_orientation(orientable, orientation) bind(c)\r\ngtk;gtk_overlay_add_overlay;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkoverlay.h;\"void gtk_overlay_add_overlay (GtkOverlay *overlay, GtkWidget *widget);\";subroutine gtk_overlay_add_overlay(overlay, widget) bind(c)\r\ngtk;gtk_overlay_get_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkoverlay.h;\"GtkWidget * gtk_overlay_get_child (GtkOverlay *overlay);\";function gtk_overlay_get_child(overlay) bind(c)\r\ngtk;gtk_overlay_get_clip_overlay;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkoverlay.h;\"gboolean gtk_overlay_get_clip_overlay (GtkOverlay *overlay, GtkWidget *widget);\";function gtk_overlay_get_clip_overlay(overlay, widget) bind(c)\r\ngtk;gtk_overlay_get_measure_overlay;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkoverlay.h;\"gboolean gtk_overlay_get_measure_overlay (GtkOverlay *overlay, GtkWidget *widget);\";function gtk_overlay_get_measure_overlay(overlay, widget) bind(c)\r\ngtk;gtk_overlay_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkoverlay.h;\"GType gtk_overlay_get_type (void) ;\";function gtk_overlay_get_type() bind(c)\r\ngtk;gtk_overlay_layout_child_get_clip_overlay;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkoverlaylayout.h;\"gboolean gtk_overlay_layout_child_get_clip_overlay (GtkOverlayLayoutChild *child);\";function gtk_overlay_layout_child_get_clip_overlay(child) bind(c)\r\ngtk;gtk_overlay_layout_child_get_measure;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkoverlaylayout.h;\"gboolean gtk_overlay_layout_child_get_measure (GtkOverlayLayoutChild *child);\";function gtk_overlay_layout_child_get_measure(child) bind(c)\r\ngtk;gtk_overlay_layout_child_set_clip_overlay;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkoverlaylayout.h;\"void gtk_overlay_layout_child_set_clip_overlay (GtkOverlayLayoutChild *child, gboolean clip_overlay);\";subroutine gtk_overlay_layout_child_set_clip_overlay(child, clip_overlay) bind(c)\r\ngtk;gtk_overlay_layout_child_set_measure;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkoverlaylayout.h;\"void gtk_overlay_layout_child_set_measure (GtkOverlayLayoutChild *child, gboolean measure);\";subroutine gtk_overlay_layout_child_set_measure(child, measure) bind(c)\r\ngtk;gtk_overlay_layout_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkoverlaylayout.h;\"GtkLayoutManager * gtk_overlay_layout_new (void);\";function gtk_overlay_layout_new() bind(c)\r\ngtk;gtk_overlay_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkoverlay.h;\"GtkWidget *gtk_overlay_new (void);\";function gtk_overlay_new() bind(c)\r\ngtk;gtk_overlay_remove_overlay;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkoverlay.h;\"void gtk_overlay_remove_overlay (GtkOverlay *overlay, GtkWidget *widget);\";subroutine gtk_overlay_remove_overlay(overlay, widget) bind(c)\r\ngtk;gtk_overlay_set_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkoverlay.h;\"void gtk_overlay_set_child (GtkOverlay *overlay, GtkWidget *child);\";subroutine gtk_overlay_set_child(overlay, child) bind(c)\r\ngtk;gtk_overlay_set_clip_overlay;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkoverlay.h;\"void gtk_overlay_set_clip_overlay (GtkOverlay *overlay, GtkWidget *widget, gboolean clip_overlay);\";subroutine gtk_overlay_set_clip_overlay(overlay, widget, clip_overlay) bind(c)\r\ngtk;gtk_overlay_set_measure_overlay;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkoverlay.h;\"void gtk_overlay_set_measure_overlay (GtkOverlay *overlay, GtkWidget *widget, gboolean measure);\";subroutine gtk_overlay_set_measure_overlay(overlay, widget, measure) bind(c)\r\ngtk;gtk_pad_controller_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpadcontroller.h;\"GType gtk_pad_controller_get_type (void) ;\";function gtk_pad_controller_get_type() bind(c)\r\ngtk;gtk_pad_controller_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpadcontroller.h;\"GtkPadController *gtk_pad_controller_new (GActionGroup *group, GdkDevice *pad);\";function gtk_pad_controller_new(group, pad) bind(c)\r\ngtk;gtk_pad_controller_set_action;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpadcontroller.h;\"void gtk_pad_controller_set_action (GtkPadController *controller, GtkPadActionType type, int index, int mode, const char *label, const char *action_name);\";subroutine gtk_pad_controller_set_action(controller, type, index, mode, label, action_name) bind(c)\r\ngtk;gtk_pad_controller_set_action_entries;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpadcontroller.h;\"void gtk_pad_controller_set_action_entries (GtkPadController *controller, const GtkPadActionEntry *entries, int n_entries);\";subroutine gtk_pad_controller_set_action_entries(controller, entries, n_entries) bind(c)\r\ngtk;gtk_page_setup_copy;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpagesetup.h;\"GtkPageSetup * gtk_page_setup_copy (GtkPageSetup *other);\";function gtk_page_setup_copy(other) bind(c)\r\ngtk;gtk_page_setup_get_bottom_margin;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpagesetup.h;\"double gtk_page_setup_get_bottom_margin (GtkPageSetup *setup, GtkUnit unit);\";function gtk_page_setup_get_bottom_margin(setup, unit) bind(c)\r\ngtk;gtk_page_setup_get_left_margin;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpagesetup.h;\"double gtk_page_setup_get_left_margin (GtkPageSetup *setup, GtkUnit unit);\";function gtk_page_setup_get_left_margin(setup, unit) bind(c)\r\ngtk;gtk_page_setup_get_orientation;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpagesetup.h;\"GtkPageOrientation gtk_page_setup_get_orientation (GtkPageSetup *setup);\";function gtk_page_setup_get_orientation(setup) bind(c)\r\ngtk;gtk_page_setup_get_page_height;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpagesetup.h;\"double gtk_page_setup_get_page_height (GtkPageSetup *setup, GtkUnit unit);\";function gtk_page_setup_get_page_height(setup, unit) bind(c)\r\ngtk;gtk_page_setup_get_page_width;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpagesetup.h;\"double gtk_page_setup_get_page_width (GtkPageSetup *setup, GtkUnit unit);\";function gtk_page_setup_get_page_width(setup, unit) bind(c)\r\ngtk;gtk_page_setup_get_paper_height;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpagesetup.h;\"double gtk_page_setup_get_paper_height (GtkPageSetup *setup, GtkUnit unit);\";function gtk_page_setup_get_paper_height(setup, unit) bind(c)\r\ngtk;gtk_page_setup_get_paper_size;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpagesetup.h;\"GtkPaperSize * gtk_page_setup_get_paper_size (GtkPageSetup *setup);\";function gtk_page_setup_get_paper_size(setup) bind(c)\r\ngtk;gtk_page_setup_get_paper_width;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpagesetup.h;\"double gtk_page_setup_get_paper_width (GtkPageSetup *setup, GtkUnit unit);\";function gtk_page_setup_get_paper_width(setup, unit) bind(c)\r\ngtk;gtk_page_setup_get_right_margin;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpagesetup.h;\"double gtk_page_setup_get_right_margin (GtkPageSetup *setup, GtkUnit unit);\";function gtk_page_setup_get_right_margin(setup, unit) bind(c)\r\ngtk;gtk_page_setup_get_top_margin;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpagesetup.h;\"double gtk_page_setup_get_top_margin (GtkPageSetup *setup, GtkUnit unit);\";function gtk_page_setup_get_top_margin(setup, unit) bind(c)\r\ngtk;gtk_page_setup_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpagesetup.h;\"GType gtk_page_setup_get_type (void) ;\";function gtk_page_setup_get_type() bind(c)\r\ngtk;gtk_page_setup_load_file;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpagesetup.h;\"gboolean gtk_page_setup_load_file (GtkPageSetup *setup, const char *file_name, GError **error);\";function gtk_page_setup_load_file(setup, file_name, error) bind(c)\r\ngtk;gtk_page_setup_load_key_file;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpagesetup.h;\"gboolean gtk_page_setup_load_key_file (GtkPageSetup *setup, GKeyFile *key_file, const char *group_name, GError **error);\";function gtk_page_setup_load_key_file(setup, key_file, group_name, error) bind(c)\r\ngtk;gtk_page_setup_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpagesetup.h;\"GtkPageSetup * gtk_page_setup_new (void);\";function gtk_page_setup_new() bind(c)\r\ngtk;gtk_page_setup_new_from_file;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpagesetup.h;\"GtkPageSetup *gtk_page_setup_new_from_file (const char *file_name, GError **error);\";function gtk_page_setup_new_from_file(file_name, error) bind(c)\r\ngtk;gtk_page_setup_new_from_gvariant;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpagesetup.h;\"GtkPageSetup *gtk_page_setup_new_from_gvariant (GVariant *variant);\";function gtk_page_setup_new_from_gvariant(variant) bind(c)\r\ngtk;gtk_page_setup_new_from_key_file;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpagesetup.h;\"GtkPageSetup *gtk_page_setup_new_from_key_file (GKeyFile *key_file, const char *group_name, GError **error);\";function gtk_page_setup_new_from_key_file(key_file, group_name, error) bind(c)\r\ngtk;gtk_page_setup_set_bottom_margin;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpagesetup.h;\"void gtk_page_setup_set_bottom_margin (GtkPageSetup *setup, double margin, GtkUnit unit);\";subroutine gtk_page_setup_set_bottom_margin(setup, margin, unit) bind(c)\r\ngtk;gtk_page_setup_set_left_margin;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpagesetup.h;\"void gtk_page_setup_set_left_margin (GtkPageSetup *setup, double margin, GtkUnit unit);\";subroutine gtk_page_setup_set_left_margin(setup, margin, unit) bind(c)\r\ngtk;gtk_page_setup_set_orientation;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpagesetup.h;\"void gtk_page_setup_set_orientation (GtkPageSetup *setup, GtkPageOrientation orientation);\";subroutine gtk_page_setup_set_orientation(setup, orientation) bind(c)\r\ngtk;gtk_page_setup_set_paper_size;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpagesetup.h;\"void gtk_page_setup_set_paper_size (GtkPageSetup *setup, GtkPaperSize *size);\";subroutine gtk_page_setup_set_paper_size(setup, size) bind(c)\r\ngtk;gtk_page_setup_set_paper_size_and_default_margins;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpagesetup.h;\"void gtk_page_setup_set_paper_size_and_default_margins (GtkPageSetup *setup, GtkPaperSize *size);\";subroutine gtk_page_setup_set_paper_size_and_default_margins(setup, size) bind(c)\r\ngtk;gtk_page_setup_set_right_margin;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpagesetup.h;\"void gtk_page_setup_set_right_margin (GtkPageSetup *setup, double margin, GtkUnit unit);\";subroutine gtk_page_setup_set_right_margin(setup, margin, unit) bind(c)\r\ngtk;gtk_page_setup_set_top_margin;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpagesetup.h;\"void gtk_page_setup_set_top_margin (GtkPageSetup *setup, double margin, GtkUnit unit);\";subroutine gtk_page_setup_set_top_margin(setup, margin, unit) bind(c)\r\ngtk;gtk_page_setup_to_file;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpagesetup.h;\"gboolean gtk_page_setup_to_file (GtkPageSetup *setup, const char *file_name, GError **error);\";function gtk_page_setup_to_file(setup, file_name, error) bind(c)\r\ngtk;gtk_page_setup_to_gvariant;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpagesetup.h;\"GVariant *gtk_page_setup_to_gvariant (GtkPageSetup *setup);\";function gtk_page_setup_to_gvariant(setup) bind(c)\r\ngtk;gtk_page_setup_to_key_file;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpagesetup.h;\"void gtk_page_setup_to_key_file (GtkPageSetup *setup, GKeyFile *key_file, const char *group_name);\";subroutine gtk_page_setup_to_key_file(setup, key_file, group_name) bind(c)\r\ngtk;gtk_paned_get_end_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpaned.h;\"GtkWidget * gtk_paned_get_end_child (GtkPaned *paned);\";function gtk_paned_get_end_child(paned) bind(c)\r\ngtk;gtk_paned_get_position;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpaned.h;\"int gtk_paned_get_position (GtkPaned *paned);\";function gtk_paned_get_position(paned) bind(c)\r\ngtk;gtk_paned_get_resize_end_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpaned.h;\"gboolean gtk_paned_get_resize_end_child (GtkPaned *paned);\";function gtk_paned_get_resize_end_child(paned) bind(c)\r\ngtk;gtk_paned_get_resize_start_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpaned.h;\"gboolean gtk_paned_get_resize_start_child (GtkPaned *paned);\";function gtk_paned_get_resize_start_child(paned) bind(c)\r\ngtk;gtk_paned_get_shrink_end_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpaned.h;\"gboolean gtk_paned_get_shrink_end_child (GtkPaned *paned);\";function gtk_paned_get_shrink_end_child(paned) bind(c)\r\ngtk;gtk_paned_get_shrink_start_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpaned.h;\"gboolean gtk_paned_get_shrink_start_child (GtkPaned *paned);\";function gtk_paned_get_shrink_start_child(paned) bind(c)\r\ngtk;gtk_paned_get_start_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpaned.h;\"GtkWidget * gtk_paned_get_start_child (GtkPaned *paned);\";function gtk_paned_get_start_child(paned) bind(c)\r\ngtk;gtk_paned_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpaned.h;\"GType gtk_paned_get_type (void) ;\";function gtk_paned_get_type() bind(c)\r\ngtk;gtk_paned_get_wide_handle;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpaned.h;\"gboolean gtk_paned_get_wide_handle (GtkPaned *paned);\";function gtk_paned_get_wide_handle(paned) bind(c)\r\ngtk;gtk_paned_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpaned.h;\"GtkWidget * gtk_paned_new (GtkOrientation orientation);\";function gtk_paned_new(orientation) bind(c)\r\ngtk;gtk_paned_set_end_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpaned.h;\"void gtk_paned_set_end_child (GtkPaned *paned, GtkWidget *child);\";subroutine gtk_paned_set_end_child(paned, child) bind(c)\r\ngtk;gtk_paned_set_position;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpaned.h;\"void gtk_paned_set_position (GtkPaned *paned, int position);\";subroutine gtk_paned_set_position(paned, position) bind(c)\r\ngtk;gtk_paned_set_resize_end_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpaned.h;\"void gtk_paned_set_resize_end_child (GtkPaned *paned, gboolean resize);\";subroutine gtk_paned_set_resize_end_child(paned, resize) bind(c)\r\ngtk;gtk_paned_set_resize_start_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpaned.h;\"void gtk_paned_set_resize_start_child (GtkPaned *paned, gboolean resize);\";subroutine gtk_paned_set_resize_start_child(paned, resize) bind(c)\r\ngtk;gtk_paned_set_shrink_end_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpaned.h;\"void gtk_paned_set_shrink_end_child (GtkPaned *paned, gboolean resize);\";subroutine gtk_paned_set_shrink_end_child(paned, resize) bind(c)\r\ngtk;gtk_paned_set_shrink_start_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpaned.h;\"void gtk_paned_set_shrink_start_child (GtkPaned *paned, gboolean resize);\";subroutine gtk_paned_set_shrink_start_child(paned, resize) bind(c)\r\ngtk;gtk_paned_set_start_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpaned.h;\"void gtk_paned_set_start_child (GtkPaned *paned, GtkWidget *child);\";subroutine gtk_paned_set_start_child(paned, child) bind(c)\r\ngtk;gtk_paned_set_wide_handle;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpaned.h;\"void gtk_paned_set_wide_handle (GtkPaned *paned, gboolean wide);\";subroutine gtk_paned_set_wide_handle(paned, wide) bind(c)\r\ngtk;gtk_paper_size_copy;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpapersize.h;\"GtkPaperSize *gtk_paper_size_copy (GtkPaperSize *other);\";function gtk_paper_size_copy(other) bind(c)\r\ngtk;gtk_paper_size_free;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpapersize.h;\"void gtk_paper_size_free (GtkPaperSize *size);\";subroutine gtk_paper_size_free(size) bind(c)\r\ngtk;gtk_paper_size_get_default;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpapersize.h;\"const char *gtk_paper_size_get_default (void);\";function gtk_paper_size_get_default() bind(c)\r\ngtk;gtk_paper_size_get_default_bottom_margin;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpapersize.h;\"double gtk_paper_size_get_default_bottom_margin (GtkPaperSize *size, GtkUnit unit);\";function gtk_paper_size_get_default_bottom_margin(size, unit) bind(c)\r\ngtk;gtk_paper_size_get_default_left_margin;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpapersize.h;\"double gtk_paper_size_get_default_left_margin (GtkPaperSize *size, GtkUnit unit);\";function gtk_paper_size_get_default_left_margin(size, unit) bind(c)\r\ngtk;gtk_paper_size_get_default_right_margin;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpapersize.h;\"double gtk_paper_size_get_default_right_margin (GtkPaperSize *size, GtkUnit unit);\";function gtk_paper_size_get_default_right_margin(size, unit) bind(c)\r\ngtk;gtk_paper_size_get_default_top_margin;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpapersize.h;\"double gtk_paper_size_get_default_top_margin (GtkPaperSize *size, GtkUnit unit);\";function gtk_paper_size_get_default_top_margin(size, unit) bind(c)\r\ngtk;gtk_paper_size_get_display_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpapersize.h;\"const char *gtk_paper_size_get_display_name (GtkPaperSize *size);\";function gtk_paper_size_get_display_name(size) bind(c)\r\ngtk;gtk_paper_size_get_height;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpapersize.h;\"double gtk_paper_size_get_height (GtkPaperSize *size, GtkUnit unit);\";function gtk_paper_size_get_height(size, unit) bind(c)\r\ngtk;gtk_paper_size_get_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpapersize.h;\"const char *gtk_paper_size_get_name (GtkPaperSize *size);\";function gtk_paper_size_get_name(size) bind(c)\r\ngtk;gtk_paper_size_get_paper_sizes;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpapersize.h;\"GList *gtk_paper_size_get_paper_sizes (gboolean include_custom);\";function gtk_paper_size_get_paper_sizes(include_custom) bind(c)\r\ngtk;gtk_paper_size_get_ppd_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpapersize.h;\"const char *gtk_paper_size_get_ppd_name (GtkPaperSize *size);\";function gtk_paper_size_get_ppd_name(size) bind(c)\r\ngtk;gtk_paper_size_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpapersize.h;\"GType gtk_paper_size_get_type (void) ;\";function gtk_paper_size_get_type() bind(c)\r\ngtk;gtk_paper_size_get_width;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpapersize.h;\"double gtk_paper_size_get_width (GtkPaperSize *size, GtkUnit unit);\";function gtk_paper_size_get_width(size, unit) bind(c)\r\ngtk;gtk_paper_size_is_custom;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpapersize.h;\"gboolean gtk_paper_size_is_custom (GtkPaperSize *size);\";function gtk_paper_size_is_custom(size) bind(c)\r\ngtk;gtk_paper_size_is_equal;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpapersize.h;\"gboolean gtk_paper_size_is_equal (GtkPaperSize *size1, GtkPaperSize *size2);\";function gtk_paper_size_is_equal(size1, size2) bind(c)\r\ngtk;gtk_paper_size_is_ipp;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpapersize.h;\"gboolean gtk_paper_size_is_ipp (GtkPaperSize *size);\";function gtk_paper_size_is_ipp(size) bind(c)\r\ngtk;gtk_paper_size_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpapersize.h;\"GtkPaperSize *gtk_paper_size_new (const char *name);\";function gtk_paper_size_new(name) bind(c)\r\ngtk;gtk_paper_size_new_custom;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpapersize.h;\"GtkPaperSize *gtk_paper_size_new_custom (const char *name, const char *display_name, double width, double height, GtkUnit unit);\";function gtk_paper_size_new_custom(name, display_name, width, height, unit) bind(c)\r\ngtk;gtk_paper_size_new_from_gvariant;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpapersize.h;\"GtkPaperSize *gtk_paper_size_new_from_gvariant (GVariant *variant);\";function gtk_paper_size_new_from_gvariant(variant) bind(c)\r\ngtk;gtk_paper_size_new_from_ipp;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpapersize.h;\"GtkPaperSize *gtk_paper_size_new_from_ipp (const char *ipp_name, double width, double height);\";function gtk_paper_size_new_from_ipp(ipp_name, width, height) bind(c)\r\ngtk;gtk_paper_size_new_from_key_file;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpapersize.h;\"GtkPaperSize *gtk_paper_size_new_from_key_file (GKeyFile *key_file, const char *group_name, GError **error);\";function gtk_paper_size_new_from_key_file(key_file, group_name, error) bind(c)\r\ngtk;gtk_paper_size_new_from_ppd;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpapersize.h;\"GtkPaperSize *gtk_paper_size_new_from_ppd (const char *ppd_name, const char *ppd_display_name, double width, double height);\";function gtk_paper_size_new_from_ppd(ppd_name, ppd_display_name, width, height) bind(c)\r\ngtk;gtk_paper_size_set_size;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpapersize.h;\"void gtk_paper_size_set_size (GtkPaperSize *size, double width, double height, GtkUnit unit);\";subroutine gtk_paper_size_set_size(size, width, height, unit) bind(c)\r\ngtk;gtk_paper_size_to_gvariant;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpapersize.h;\"GVariant *gtk_paper_size_to_gvariant (GtkPaperSize *paper_size);\";function gtk_paper_size_to_gvariant(paper_size) bind(c)\r\ngtk;gtk_paper_size_to_key_file;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkpapersize.h;\"void gtk_paper_size_to_key_file (GtkPaperSize *size, GKeyFile *key_file, const char *group_name);\";subroutine gtk_paper_size_to_key_file(size, key_file, group_name) bind(c)\r\ngtk;gtk_param_expression_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpression.h;\"GType gtk_param_expression_get_type (void) ;\";function gtk_param_expression_get_type() bind(c)\r\ngtk;gtk_param_spec_expression;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpression.h;\"GParamSpec * gtk_param_spec_expression (const char *name, const char *nick, const char *blurb, GParamFlags flags);\";function gtk_param_spec_expression(name, nick, blurb, flags) bind(c)\r\ngtk;gtk_password_entry_buffer_new;GDK_AVAILABLE_IN_4_4;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpasswordentrybuffer.h;\"GtkEntryBuffer * gtk_password_entry_buffer_new (void);\";function gtk_password_entry_buffer_new() bind(c)\r\ngtk;gtk_password_entry_get_extra_menu;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpasswordentry.h;\"GMenuModel * gtk_password_entry_get_extra_menu (GtkPasswordEntry *entry);\";function gtk_password_entry_get_extra_menu(entry) bind(c)\r\ngtk;gtk_password_entry_get_show_peek_icon;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpasswordentry.h;\"gboolean gtk_password_entry_get_show_peek_icon (GtkPasswordEntry *entry);\";function gtk_password_entry_get_show_peek_icon(entry) bind(c)\r\ngtk;gtk_password_entry_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpasswordentry.h;\"GType gtk_password_entry_get_type (void) ;\";function gtk_password_entry_get_type() bind(c)\r\ngtk;gtk_password_entry_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpasswordentry.h;\"GtkWidget * gtk_password_entry_new (void);\";function gtk_password_entry_new() bind(c)\r\ngtk;gtk_password_entry_set_extra_menu;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpasswordentry.h;\"void gtk_password_entry_set_extra_menu (GtkPasswordEntry *entry, GMenuModel *model);\";subroutine gtk_password_entry_set_extra_menu(entry, model) bind(c)\r\ngtk;gtk_password_entry_set_show_peek_icon;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpasswordentry.h;\"void gtk_password_entry_set_show_peek_icon (GtkPasswordEntry *entry, gboolean show_peek_icon);\";subroutine gtk_password_entry_set_show_peek_icon(entry, show_peek_icon) bind(c)\r\ngtk;gtk_picture_get_alternative_text;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpicture.h;\"const char * gtk_picture_get_alternative_text (GtkPicture *self);\";function gtk_picture_get_alternative_text(self) bind(c)\r\ngtk;gtk_picture_get_can_shrink;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpicture.h;\"gboolean gtk_picture_get_can_shrink (GtkPicture *self);\";function gtk_picture_get_can_shrink(self) bind(c)\r\ngtk;gtk_picture_get_content_fit;GDK_AVAILABLE_IN_4_8;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpicture.h;\"GtkContentFit gtk_picture_get_content_fit (GtkPicture *self);\";function gtk_picture_get_content_fit(self) bind(c)\r\ngtk;gtk_picture_get_file;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpicture.h;\"GFile * gtk_picture_get_file (GtkPicture *self);\";function gtk_picture_get_file(self) bind(c)\r\ngtk;gtk_picture_get_keep_aspect_ratio;GDK_DEPRECATED_IN_4_8_FOR(gtk_picture_get_content_fit);gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpicture.h;\"gboolean gtk_picture_get_keep_aspect_ratio (GtkPicture *self);\";function gtk_picture_get_keep_aspect_ratio(self) bind(c)\r\ngtk;gtk_picture_get_paintable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpicture.h;\"GdkPaintable * gtk_picture_get_paintable (GtkPicture *self);\";function gtk_picture_get_paintable(self) bind(c)\r\ngtk;gtk_picture_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpicture.h;\"GtkWidget* gtk_picture_new (void);\";function gtk_picture_new() bind(c)\r\ngtk;gtk_picture_new_for_file;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpicture.h;\"GtkWidget* gtk_picture_new_for_file (GFile *file);\";function gtk_picture_new_for_file(file) bind(c)\r\ngtk;gtk_picture_new_for_filename;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpicture.h;\"GtkWidget* gtk_picture_new_for_filename (const char *filename);\";function gtk_picture_new_for_filename(filename) bind(c)\r\ngtk;gtk_picture_new_for_paintable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpicture.h;\"GtkWidget* gtk_picture_new_for_paintable (GdkPaintable *paintable);\";function gtk_picture_new_for_paintable(paintable) bind(c)\r\ngtk;gtk_picture_new_for_pixbuf;GDK_DEPRECATED_IN_4_12_FOR(gtk_pixbuf_new_for_paintable);gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpicture.h;\"GtkWidget* gtk_picture_new_for_pixbuf (GdkPixbuf *pixbuf);\";function gtk_picture_new_for_pixbuf(pixbuf) bind(c)\r\ngtk;gtk_picture_new_for_resource;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpicture.h;\"GtkWidget* gtk_picture_new_for_resource (const char *resource_path);\";function gtk_picture_new_for_resource(resource_path) bind(c)\r\ngtk;gtk_picture_set_alternative_text;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpicture.h;\"void gtk_picture_set_alternative_text (GtkPicture *self, const char *alternative_text);\";subroutine gtk_picture_set_alternative_text(self, alternative_text) bind(c)\r\ngtk;gtk_picture_set_can_shrink;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpicture.h;\"void gtk_picture_set_can_shrink (GtkPicture *self, gboolean can_shrink);\";subroutine gtk_picture_set_can_shrink(self, can_shrink) bind(c)\r\ngtk;gtk_picture_set_content_fit;GDK_AVAILABLE_IN_4_8;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpicture.h;\"void gtk_picture_set_content_fit (GtkPicture *self, GtkContentFit content_fit);\";subroutine gtk_picture_set_content_fit(self, content_fit) bind(c)\r\ngtk;gtk_picture_set_file;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpicture.h;\"void gtk_picture_set_file (GtkPicture *self, GFile *file);\";subroutine gtk_picture_set_file(self, file) bind(c)\r\ngtk;gtk_picture_set_filename;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpicture.h;\"void gtk_picture_set_filename (GtkPicture *self, const char *filename);\";subroutine gtk_picture_set_filename(self, filename) bind(c)\r\ngtk;gtk_picture_set_keep_aspect_ratio;GDK_DEPRECATED_IN_4_8_FOR(gtk_picture_set_content_fit);gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpicture.h;\"void gtk_picture_set_keep_aspect_ratio (GtkPicture *self, gboolean keep_aspect_ratio);\";subroutine gtk_picture_set_keep_aspect_ratio(self, keep_aspect_ratio) bind(c)\r\ngtk;gtk_picture_set_paintable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpicture.h;\"void gtk_picture_set_paintable (GtkPicture *self, GdkPaintable *paintable);\";subroutine gtk_picture_set_paintable(self, paintable) bind(c)\r\ngtk;gtk_picture_set_pixbuf;GDK_DEPRECATED_IN_4_12_FOR(gtk_picture_set_paintable);gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpicture.h;\"void gtk_picture_set_pixbuf (GtkPicture *self, GdkPixbuf *pixbuf);\";subroutine gtk_picture_set_pixbuf(self, pixbuf) bind(c)\r\ngtk;gtk_picture_set_resource;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpicture.h;\"void gtk_picture_set_resource (GtkPicture *self, const char *resource_path);\";subroutine gtk_picture_set_resource(self, resource_path) bind(c)\r\ngtk;gtk_popover_get_autohide;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpopover.h;\"gboolean gtk_popover_get_autohide (GtkPopover *popover);\";function gtk_popover_get_autohide(popover) bind(c)\r\ngtk;gtk_popover_get_cascade_popdown;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpopover.h;\"gboolean gtk_popover_get_cascade_popdown (GtkPopover *popover);\";function gtk_popover_get_cascade_popdown(popover) bind(c)\r\ngtk;gtk_popover_get_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpopover.h;\"GtkWidget * gtk_popover_get_child (GtkPopover *popover);\";function gtk_popover_get_child(popover) bind(c)\r\ngtk;gtk_popover_get_has_arrow;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpopover.h;\"gboolean gtk_popover_get_has_arrow (GtkPopover *popover);\";function gtk_popover_get_has_arrow(popover) bind(c)\r\ngtk;gtk_popover_get_mnemonics_visible;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpopover.h;\"gboolean gtk_popover_get_mnemonics_visible (GtkPopover *popover);\";function gtk_popover_get_mnemonics_visible(popover) bind(c)\r\ngtk;gtk_popover_get_offset;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpopover.h;\"void gtk_popover_get_offset (GtkPopover *popover, int *x_offset, int *y_offset);\";subroutine gtk_popover_get_offset(popover, x_offset, y_offset) bind(c)\r\ngtk;gtk_popover_get_pointing_to;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpopover.h;\"gboolean gtk_popover_get_pointing_to (GtkPopover *popover, GdkRectangle *rect);\";function gtk_popover_get_pointing_to(popover, rect) bind(c)\r\ngtk;gtk_popover_get_position;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpopover.h;\"GtkPositionType gtk_popover_get_position (GtkPopover *popover);\";function gtk_popover_get_position(popover) bind(c)\r\ngtk;gtk_popover_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpopover.h;\"GType gtk_popover_get_type (void) ;\";function gtk_popover_get_type() bind(c)\r\ngtk;gtk_popover_menu_add_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpopovermenu.h;\"gboolean gtk_popover_menu_add_child (GtkPopoverMenu *popover, GtkWidget *child, const char *id);\";function gtk_popover_menu_add_child(popover, child, id) bind(c)\r\ngtk;gtk_popover_menu_bar_add_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpopovermenubar.h;\"gboolean gtk_popover_menu_bar_add_child (GtkPopoverMenuBar *bar, GtkWidget *child, const char *id);\";function gtk_popover_menu_bar_add_child(bar, child, id) bind(c)\r\ngtk;gtk_popover_menu_bar_get_menu_model;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpopovermenubar.h;\"GMenuModel * gtk_popover_menu_bar_get_menu_model (GtkPopoverMenuBar *bar);\";function gtk_popover_menu_bar_get_menu_model(bar) bind(c)\r\ngtk;gtk_popover_menu_bar_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpopovermenubar.h;\"GType gtk_popover_menu_bar_get_type (void) ;\";function gtk_popover_menu_bar_get_type() bind(c)\r\ngtk;gtk_popover_menu_bar_new_from_model;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpopovermenubar.h;\"GtkWidget * gtk_popover_menu_bar_new_from_model (GMenuModel *model);\";function gtk_popover_menu_bar_new_from_model(model) bind(c)\r\ngtk;gtk_popover_menu_bar_remove_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpopovermenubar.h;\"gboolean gtk_popover_menu_bar_remove_child (GtkPopoverMenuBar *bar, GtkWidget *child);\";function gtk_popover_menu_bar_remove_child(bar, child) bind(c)\r\ngtk;gtk_popover_menu_bar_set_menu_model;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpopovermenubar.h;\"void gtk_popover_menu_bar_set_menu_model (GtkPopoverMenuBar *bar, GMenuModel *model);\";subroutine gtk_popover_menu_bar_set_menu_model(bar, model) bind(c)\r\ngtk;gtk_popover_menu_get_flags;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpopovermenu.h;\"GtkPopoverMenuFlags gtk_popover_menu_get_flags (GtkPopoverMenu *popover);\";function gtk_popover_menu_get_flags(popover) bind(c)\r\ngtk;gtk_popover_menu_get_menu_model;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpopovermenu.h;\"GMenuModel *gtk_popover_menu_get_menu_model (GtkPopoverMenu *popover);\";function gtk_popover_menu_get_menu_model(popover) bind(c)\r\ngtk;gtk_popover_menu_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpopovermenu.h;\"GType gtk_popover_menu_get_type (void) ;\";function gtk_popover_menu_get_type() bind(c)\r\ngtk;gtk_popover_menu_new_from_model;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpopovermenu.h;\"GtkWidget * gtk_popover_menu_new_from_model (GMenuModel *model);\";function gtk_popover_menu_new_from_model(model) bind(c)\r\ngtk;gtk_popover_menu_new_from_model_full;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpopovermenu.h;\"GtkWidget * gtk_popover_menu_new_from_model_full (GMenuModel *model, GtkPopoverMenuFlags flags);\";function gtk_popover_menu_new_from_model_full(model, flags) bind(c)\r\ngtk;gtk_popover_menu_remove_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpopovermenu.h;\"gboolean gtk_popover_menu_remove_child (GtkPopoverMenu *popover, GtkWidget *child);\";function gtk_popover_menu_remove_child(popover, child) bind(c)\r\ngtk;gtk_popover_menu_set_flags;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpopovermenu.h;\"void gtk_popover_menu_set_flags (GtkPopoverMenu *popover, GtkPopoverMenuFlags flags);\";subroutine gtk_popover_menu_set_flags(popover, flags) bind(c)\r\ngtk;gtk_popover_menu_set_menu_model;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpopovermenu.h;\"void gtk_popover_menu_set_menu_model (GtkPopoverMenu *popover, GMenuModel *model);\";subroutine gtk_popover_menu_set_menu_model(popover, model) bind(c)\r\ngtk;gtk_popover_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpopover.h;\"GtkWidget * gtk_popover_new (void);\";function gtk_popover_new() bind(c)\r\ngtk;gtk_popover_popdown;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpopover.h;\"void gtk_popover_popdown (GtkPopover *popover);\";subroutine gtk_popover_popdown(popover) bind(c)\r\ngtk;gtk_popover_popup;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpopover.h;\"void gtk_popover_popup (GtkPopover *popover);\";subroutine gtk_popover_popup(popover) bind(c)\r\ngtk;gtk_popover_present;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpopover.h;\"void gtk_popover_present (GtkPopover *popover);\";subroutine gtk_popover_present(popover) bind(c)\r\ngtk;gtk_popover_set_autohide;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpopover.h;\"void gtk_popover_set_autohide (GtkPopover *popover, gboolean autohide);\";subroutine gtk_popover_set_autohide(popover, autohide) bind(c)\r\ngtk;gtk_popover_set_cascade_popdown;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpopover.h;\"void gtk_popover_set_cascade_popdown (GtkPopover *popover, gboolean cascade_popdown);\";subroutine gtk_popover_set_cascade_popdown(popover, cascade_popdown) bind(c)\r\ngtk;gtk_popover_set_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpopover.h;\"void gtk_popover_set_child (GtkPopover *popover, GtkWidget *child);\";subroutine gtk_popover_set_child(popover, child) bind(c)\r\ngtk;gtk_popover_set_default_widget;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpopover.h;\"void gtk_popover_set_default_widget (GtkPopover *popover, GtkWidget *widget);\";subroutine gtk_popover_set_default_widget(popover, widget) bind(c)\r\ngtk;gtk_popover_set_has_arrow;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpopover.h;\"void gtk_popover_set_has_arrow (GtkPopover *popover, gboolean has_arrow);\";subroutine gtk_popover_set_has_arrow(popover, has_arrow) bind(c)\r\ngtk;gtk_popover_set_mnemonics_visible;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpopover.h;\"void gtk_popover_set_mnemonics_visible (GtkPopover *popover, gboolean mnemonics_visible);\";subroutine gtk_popover_set_mnemonics_visible(popover, mnemonics_visible) bind(c)\r\ngtk;gtk_popover_set_offset;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpopover.h;\"void gtk_popover_set_offset (GtkPopover *popover, int x_offset, int y_offset);\";subroutine gtk_popover_set_offset(popover, x_offset, y_offset) bind(c)\r\ngtk;gtk_popover_set_pointing_to;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpopover.h;\"void gtk_popover_set_pointing_to (GtkPopover *popover, const GdkRectangle *rect);\";subroutine gtk_popover_set_pointing_to(popover, rect) bind(c)\r\ngtk;gtk_popover_set_position;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkpopover.h;\"void gtk_popover_set_position (GtkPopover *popover, GtkPositionType position);\";subroutine gtk_popover_set_position(popover, position) bind(c)\r\ngtk;gtk_print_context_create_pango_context;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintcontext.h;\"PangoContext *gtk_print_context_create_pango_context (GtkPrintContext *context);\";function gtk_print_context_create_pango_context(context) bind(c)\r\ngtk;gtk_print_context_create_pango_layout;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintcontext.h;\"PangoLayout *gtk_print_context_create_pango_layout (GtkPrintContext *context);\";function gtk_print_context_create_pango_layout(context) bind(c)\r\ngtk;gtk_print_context_get_cairo_context;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintcontext.h;\"cairo_t *gtk_print_context_get_cairo_context (GtkPrintContext *context);\";function gtk_print_context_get_cairo_context(context) bind(c)\r\ngtk;gtk_print_context_get_dpi_x;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintcontext.h;\"double gtk_print_context_get_dpi_x (GtkPrintContext *context);\";function gtk_print_context_get_dpi_x(context) bind(c)\r\ngtk;gtk_print_context_get_dpi_y;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintcontext.h;\"double gtk_print_context_get_dpi_y (GtkPrintContext *context);\";function gtk_print_context_get_dpi_y(context) bind(c)\r\ngtk;gtk_print_context_get_hard_margins;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintcontext.h;\"gboolean gtk_print_context_get_hard_margins (GtkPrintContext *context, double *top, double *bottom, double *left, double *right);\";function gtk_print_context_get_hard_margins(context, top, bottom, left, right) bind(c)\r\ngtk;gtk_print_context_get_height;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintcontext.h;\"double gtk_print_context_get_height (GtkPrintContext *context);\";function gtk_print_context_get_height(context) bind(c)\r\ngtk;gtk_print_context_get_page_setup;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintcontext.h;\"GtkPageSetup *gtk_print_context_get_page_setup (GtkPrintContext *context);\";function gtk_print_context_get_page_setup(context) bind(c)\r\ngtk;gtk_print_context_get_pango_fontmap;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintcontext.h;\"PangoFontMap *gtk_print_context_get_pango_fontmap (GtkPrintContext *context);\";function gtk_print_context_get_pango_fontmap(context) bind(c)\r\ngtk;gtk_print_context_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintcontext.h;\"GType gtk_print_context_get_type (void) ;\";function gtk_print_context_get_type() bind(c)\r\ngtk;gtk_print_context_get_width;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintcontext.h;\"double gtk_print_context_get_width (GtkPrintContext *context);\";function gtk_print_context_get_width(context) bind(c)\r\ngtk;gtk_print_context_set_cairo_context;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintcontext.h;\"void gtk_print_context_set_cairo_context (GtkPrintContext *context, cairo_t *cr, double dpi_x, double dpi_y);\";subroutine gtk_print_context_set_cairo_context(context, cr, dpi_x, dpi_y) bind(c)\r\ngtk;gtk_print_dialog_get_accept_label;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkprintdialog.h;\"const char * gtk_print_dialog_get_accept_label (GtkPrintDialog *self);\";function gtk_print_dialog_get_accept_label(self) bind(c)\r\ngtk;gtk_print_dialog_get_modal;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkprintdialog.h;\"gboolean gtk_print_dialog_get_modal (GtkPrintDialog *self);\";function gtk_print_dialog_get_modal(self) bind(c)\r\ngtk;gtk_print_dialog_get_page_setup;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkprintdialog.h;\"GtkPageSetup * gtk_print_dialog_get_page_setup (GtkPrintDialog *self);\";function gtk_print_dialog_get_page_setup(self) bind(c)\r\ngtk;gtk_print_dialog_get_print_settings;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkprintdialog.h;\"GtkPrintSettings * gtk_print_dialog_get_print_settings (GtkPrintDialog *self);\";function gtk_print_dialog_get_print_settings(self) bind(c)\r\ngtk;gtk_print_dialog_get_title;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkprintdialog.h;\"const char * gtk_print_dialog_get_title (GtkPrintDialog *self);\";function gtk_print_dialog_get_title(self) bind(c)\r\ngtk;gtk_print_dialog_new;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkprintdialog.h;\"GtkPrintDialog *gtk_print_dialog_new (void);\";function gtk_print_dialog_new() bind(c)\r\ngtk;gtk_print_dialog_print;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkprintdialog.h;\"void gtk_print_dialog_print (GtkPrintDialog *self, GtkWindow *parent, GtkPrintSetup *setup, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine gtk_print_dialog_print(self, parent, setup, cancellable, callback, user_data) bind(c)\r\ngtk;gtk_print_dialog_print_file;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkprintdialog.h;\"void gtk_print_dialog_print_file (GtkPrintDialog *self, GtkWindow *parent, GtkPrintSetup *setup, GFile *file, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine gtk_print_dialog_print_file(self, parent, setup, file, cancellable, callback, user_data) bind(c)\r\ngtk;gtk_print_dialog_print_file_finish;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkprintdialog.h;\"gboolean gtk_print_dialog_print_file_finish (GtkPrintDialog *self, GAsyncResult *result, GError **error);\";function gtk_print_dialog_print_file_finish(self, result, error) bind(c)\r\ngtk;gtk_print_dialog_print_finish;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkprintdialog.h;\"GOutputStream * gtk_print_dialog_print_finish (GtkPrintDialog *self, GAsyncResult *result, GError **error);\";function gtk_print_dialog_print_finish(self, result, error) bind(c)\r\ngtk;gtk_print_dialog_set_accept_label;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkprintdialog.h;\"void gtk_print_dialog_set_accept_label (GtkPrintDialog *self, const char *accept_label);\";subroutine gtk_print_dialog_set_accept_label(self, accept_label) bind(c)\r\ngtk;gtk_print_dialog_set_modal;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkprintdialog.h;\"void gtk_print_dialog_set_modal (GtkPrintDialog *self, gboolean modal);\";subroutine gtk_print_dialog_set_modal(self, modal) bind(c)\r\ngtk;gtk_print_dialog_set_page_setup;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkprintdialog.h;\"void gtk_print_dialog_set_page_setup (GtkPrintDialog *self, GtkPageSetup *page_setup);\";subroutine gtk_print_dialog_set_page_setup(self, page_setup) bind(c)\r\ngtk;gtk_print_dialog_set_print_settings;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkprintdialog.h;\"void gtk_print_dialog_set_print_settings (GtkPrintDialog *self, GtkPrintSettings *print_settings);\";subroutine gtk_print_dialog_set_print_settings(self, print_settings) bind(c)\r\ngtk;gtk_print_dialog_set_title;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkprintdialog.h;\"void gtk_print_dialog_set_title (GtkPrintDialog *self, const char *title);\";subroutine gtk_print_dialog_set_title(self, title) bind(c)\r\ngtk;gtk_print_dialog_setup;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkprintdialog.h;\"void gtk_print_dialog_setup (GtkPrintDialog *self, GtkWindow *parent, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine gtk_print_dialog_setup(self, parent, cancellable, callback, user_data) bind(c)\r\ngtk;gtk_print_dialog_setup_finish;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkprintdialog.h;\"GtkPrintSetup *gtk_print_dialog_setup_finish (GtkPrintDialog *self, GAsyncResult *result, GError **error);\";function gtk_print_dialog_setup_finish(self, result, error) bind(c)\r\ngtk;gtk_print_error_quark;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintoperation.h;\"GQuark gtk_print_error_quark (void);\";function gtk_print_error_quark() bind(c)\r\ngtk;gtk_print_operation_cancel;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintoperation.h;\"void gtk_print_operation_cancel (GtkPrintOperation *op);\";subroutine gtk_print_operation_cancel(op) bind(c)\r\ngtk;gtk_print_operation_draw_page_finish;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintoperation.h;\"void gtk_print_operation_draw_page_finish (GtkPrintOperation *op);\";subroutine gtk_print_operation_draw_page_finish(op) bind(c)\r\ngtk;gtk_print_operation_get_default_page_setup;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintoperation.h;\"GtkPageSetup * gtk_print_operation_get_default_page_setup (GtkPrintOperation *op);\";function gtk_print_operation_get_default_page_setup(op) bind(c)\r\ngtk;gtk_print_operation_get_embed_page_setup;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintoperation.h;\"gboolean gtk_print_operation_get_embed_page_setup (GtkPrintOperation *op);\";function gtk_print_operation_get_embed_page_setup(op) bind(c)\r\ngtk;gtk_print_operation_get_error;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintoperation.h;\"void gtk_print_operation_get_error (GtkPrintOperation *op, GError **error);\";subroutine gtk_print_operation_get_error(op, error) bind(c)\r\ngtk;gtk_print_operation_get_has_selection;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintoperation.h;\"gboolean gtk_print_operation_get_has_selection (GtkPrintOperation *op);\";function gtk_print_operation_get_has_selection(op) bind(c)\r\ngtk;gtk_print_operation_get_n_pages_to_print;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintoperation.h;\"int gtk_print_operation_get_n_pages_to_print (GtkPrintOperation *op);\";function gtk_print_operation_get_n_pages_to_print(op) bind(c)\r\ngtk;gtk_print_operation_get_print_settings;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintoperation.h;\"GtkPrintSettings * gtk_print_operation_get_print_settings (GtkPrintOperation *op);\";function gtk_print_operation_get_print_settings(op) bind(c)\r\ngtk;gtk_print_operation_get_status;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintoperation.h;\"GtkPrintStatus gtk_print_operation_get_status (GtkPrintOperation *op);\";function gtk_print_operation_get_status(op) bind(c)\r\ngtk;gtk_print_operation_get_status_string;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintoperation.h;\"const char * gtk_print_operation_get_status_string (GtkPrintOperation *op);\";function gtk_print_operation_get_status_string(op) bind(c)\r\ngtk;gtk_print_operation_get_support_selection;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintoperation.h;\"gboolean gtk_print_operation_get_support_selection (GtkPrintOperation *op);\";function gtk_print_operation_get_support_selection(op) bind(c)\r\ngtk;gtk_print_operation_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintoperation.h;\"GType gtk_print_operation_get_type (void) ;\";function gtk_print_operation_get_type() bind(c)\r\ngtk;gtk_print_operation_is_finished;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintoperation.h;\"gboolean gtk_print_operation_is_finished (GtkPrintOperation *op);\";function gtk_print_operation_is_finished(op) bind(c)\r\ngtk;gtk_print_operation_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintoperation.h;\"GtkPrintOperation * gtk_print_operation_new (void);\";function gtk_print_operation_new() bind(c)\r\ngtk;gtk_print_operation_preview_end_preview;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintoperationpreview.h;\"void gtk_print_operation_preview_end_preview (GtkPrintOperationPreview *preview);\";subroutine gtk_print_operation_preview_end_preview(preview) bind(c)\r\ngtk;gtk_print_operation_preview_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintoperationpreview.h;\"GType gtk_print_operation_preview_get_type (void) ;\";function gtk_print_operation_preview_get_type() bind(c)\r\ngtk;gtk_print_operation_preview_is_selected;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintoperationpreview.h;\"gboolean gtk_print_operation_preview_is_selected (GtkPrintOperationPreview *preview, int page_nr);\";function gtk_print_operation_preview_is_selected(preview, page_nr) bind(c)\r\ngtk;gtk_print_operation_preview_render_page;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintoperationpreview.h;\"void gtk_print_operation_preview_render_page (GtkPrintOperationPreview *preview, int page_nr);\";subroutine gtk_print_operation_preview_render_page(preview, page_nr) bind(c)\r\ngtk;gtk_print_operation_run;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintoperation.h;\"GtkPrintOperationResult gtk_print_operation_run (GtkPrintOperation *op, GtkPrintOperationAction action, GtkWindow *parent, GError **error);\";function gtk_print_operation_run(op, action, parent, error) bind(c)\r\ngtk;gtk_print_operation_set_allow_async;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintoperation.h;\"void gtk_print_operation_set_allow_async (GtkPrintOperation *op, gboolean allow_async);\";subroutine gtk_print_operation_set_allow_async(op, allow_async) bind(c)\r\ngtk;gtk_print_operation_set_current_page;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintoperation.h;\"void gtk_print_operation_set_current_page (GtkPrintOperation *op, int current_page);\";subroutine gtk_print_operation_set_current_page(op, current_page) bind(c)\r\ngtk;gtk_print_operation_set_custom_tab_label;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintoperation.h;\"void gtk_print_operation_set_custom_tab_label (GtkPrintOperation *op, const char *label);\";subroutine gtk_print_operation_set_custom_tab_label(op, label) bind(c)\r\ngtk;gtk_print_operation_set_default_page_setup;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintoperation.h;\"void gtk_print_operation_set_default_page_setup (GtkPrintOperation *op, GtkPageSetup *default_page_setup);\";subroutine gtk_print_operation_set_default_page_setup(op, default_page_setup) bind(c)\r\ngtk;gtk_print_operation_set_defer_drawing;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintoperation.h;\"void gtk_print_operation_set_defer_drawing (GtkPrintOperation *op);\";subroutine gtk_print_operation_set_defer_drawing(op) bind(c)\r\ngtk;gtk_print_operation_set_embed_page_setup;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintoperation.h;\"void gtk_print_operation_set_embed_page_setup (GtkPrintOperation *op, gboolean embed);\";subroutine gtk_print_operation_set_embed_page_setup(op, embed) bind(c)\r\ngtk;gtk_print_operation_set_export_filename;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintoperation.h;\"void gtk_print_operation_set_export_filename (GtkPrintOperation *op, const char *filename);\";subroutine gtk_print_operation_set_export_filename(op, filename) bind(c)\r\ngtk;gtk_print_operation_set_has_selection;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintoperation.h;\"void gtk_print_operation_set_has_selection (GtkPrintOperation *op, gboolean has_selection);\";subroutine gtk_print_operation_set_has_selection(op, has_selection) bind(c)\r\ngtk;gtk_print_operation_set_job_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintoperation.h;\"void gtk_print_operation_set_job_name (GtkPrintOperation *op, const char *job_name);\";subroutine gtk_print_operation_set_job_name(op, job_name) bind(c)\r\ngtk;gtk_print_operation_set_n_pages;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintoperation.h;\"void gtk_print_operation_set_n_pages (GtkPrintOperation *op, int n_pages);\";subroutine gtk_print_operation_set_n_pages(op, n_pages) bind(c)\r\ngtk;gtk_print_operation_set_print_settings;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintoperation.h;\"void gtk_print_operation_set_print_settings (GtkPrintOperation *op, GtkPrintSettings *print_settings);\";subroutine gtk_print_operation_set_print_settings(op, print_settings) bind(c)\r\ngtk;gtk_print_operation_set_show_progress;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintoperation.h;\"void gtk_print_operation_set_show_progress (GtkPrintOperation *op, gboolean show_progress);\";subroutine gtk_print_operation_set_show_progress(op, show_progress) bind(c)\r\ngtk;gtk_print_operation_set_support_selection;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintoperation.h;\"void gtk_print_operation_set_support_selection (GtkPrintOperation *op, gboolean support_selection);\";subroutine gtk_print_operation_set_support_selection(op, support_selection) bind(c)\r\ngtk;gtk_print_operation_set_track_print_status;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintoperation.h;\"void gtk_print_operation_set_track_print_status (GtkPrintOperation *op, gboolean track_status);\";subroutine gtk_print_operation_set_track_print_status(op, track_status) bind(c)\r\ngtk;gtk_print_operation_set_unit;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintoperation.h;\"void gtk_print_operation_set_unit (GtkPrintOperation *op, GtkUnit unit);\";subroutine gtk_print_operation_set_unit(op, unit) bind(c)\r\ngtk;gtk_print_operation_set_use_full_page;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintoperation.h;\"void gtk_print_operation_set_use_full_page (GtkPrintOperation *op, gboolean full_page);\";subroutine gtk_print_operation_set_use_full_page(op, full_page) bind(c)\r\ngtk;gtk_print_run_page_setup_dialog;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintoperation.h;\"GtkPageSetup *gtk_print_run_page_setup_dialog (GtkWindow *parent, GtkPageSetup *page_setup, GtkPrintSettings *settings);\";function gtk_print_run_page_setup_dialog(parent, page_setup, settings) bind(c)\r\ngtk;gtk_print_run_page_setup_dialog_async;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintoperation.h;\"void gtk_print_run_page_setup_dialog_async (GtkWindow *parent, GtkPageSetup *page_setup, GtkPrintSettings *settings, GtkPageSetupDoneFunc done_cb, gpointer data);\";subroutine gtk_print_run_page_setup_dialog_async(parent, page_setup, settings, done_cb, data) bind(c)\r\ngtk;gtk_print_settings_copy;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"GtkPrintSettings *gtk_print_settings_copy (GtkPrintSettings *other);\";function gtk_print_settings_copy(other) bind(c)\r\ngtk;gtk_print_settings_foreach;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"void gtk_print_settings_foreach (GtkPrintSettings *settings, GtkPrintSettingsFunc func, gpointer user_data);\";subroutine gtk_print_settings_foreach(settings, func, user_data) bind(c)\r\ngtk;gtk_print_settings_get;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"const char * gtk_print_settings_get (GtkPrintSettings *settings, const char *key);\";function gtk_print_settings_get(settings, key) bind(c)\r\ngtk;gtk_print_settings_get_bool;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"gboolean gtk_print_settings_get_bool (GtkPrintSettings *settings, const char *key);\";function gtk_print_settings_get_bool(settings, key) bind(c)\r\ngtk;gtk_print_settings_get_collate;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"gboolean gtk_print_settings_get_collate (GtkPrintSettings *settings);\";function gtk_print_settings_get_collate(settings) bind(c)\r\ngtk;gtk_print_settings_get_default_source;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"const char * gtk_print_settings_get_default_source (GtkPrintSettings *settings);\";function gtk_print_settings_get_default_source(settings) bind(c)\r\ngtk;gtk_print_settings_get_dither;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"const char * gtk_print_settings_get_dither (GtkPrintSettings *settings);\";function gtk_print_settings_get_dither(settings) bind(c)\r\ngtk;gtk_print_settings_get_double;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"double gtk_print_settings_get_double (GtkPrintSettings *settings, const char *key);\";function gtk_print_settings_get_double(settings, key) bind(c)\r\ngtk;gtk_print_settings_get_double_with_default;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"double gtk_print_settings_get_double_with_default (GtkPrintSettings *settings, const char *key, double def);\";function gtk_print_settings_get_double_with_default(settings, key, def) bind(c)\r\ngtk;gtk_print_settings_get_duplex;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"GtkPrintDuplex gtk_print_settings_get_duplex (GtkPrintSettings *settings);\";function gtk_print_settings_get_duplex(settings) bind(c)\r\ngtk;gtk_print_settings_get_finishings;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"const char * gtk_print_settings_get_finishings (GtkPrintSettings *settings);\";function gtk_print_settings_get_finishings(settings) bind(c)\r\ngtk;gtk_print_settings_get_int;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"int gtk_print_settings_get_int (GtkPrintSettings *settings, const char *key);\";function gtk_print_settings_get_int(settings, key) bind(c)\r\ngtk;gtk_print_settings_get_int_with_default;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"int gtk_print_settings_get_int_with_default (GtkPrintSettings *settings, const char *key, int def);\";function gtk_print_settings_get_int_with_default(settings, key, def) bind(c)\r\ngtk;gtk_print_settings_get_length;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"double gtk_print_settings_get_length (GtkPrintSettings *settings, const char *key, GtkUnit unit);\";function gtk_print_settings_get_length(settings, key, unit) bind(c)\r\ngtk;gtk_print_settings_get_media_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"const char * gtk_print_settings_get_media_type (GtkPrintSettings *settings);\";function gtk_print_settings_get_media_type(settings) bind(c)\r\ngtk;gtk_print_settings_get_n_copies;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"int gtk_print_settings_get_n_copies (GtkPrintSettings *settings);\";function gtk_print_settings_get_n_copies(settings) bind(c)\r\ngtk;gtk_print_settings_get_number_up;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"int gtk_print_settings_get_number_up (GtkPrintSettings *settings);\";function gtk_print_settings_get_number_up(settings) bind(c)\r\ngtk;gtk_print_settings_get_number_up_layout;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"GtkNumberUpLayout gtk_print_settings_get_number_up_layout (GtkPrintSettings *settings);\";function gtk_print_settings_get_number_up_layout(settings) bind(c)\r\ngtk;gtk_print_settings_get_orientation;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"GtkPageOrientation gtk_print_settings_get_orientation (GtkPrintSettings *settings);\";function gtk_print_settings_get_orientation(settings) bind(c)\r\ngtk;gtk_print_settings_get_output_bin;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"const char * gtk_print_settings_get_output_bin (GtkPrintSettings *settings);\";function gtk_print_settings_get_output_bin(settings) bind(c)\r\ngtk;gtk_print_settings_get_page_ranges;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"GtkPageRange * gtk_print_settings_get_page_ranges (GtkPrintSettings *settings, int *num_ranges);\";function gtk_print_settings_get_page_ranges(settings, num_ranges) bind(c)\r\ngtk;gtk_print_settings_get_page_set;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"GtkPageSet gtk_print_settings_get_page_set (GtkPrintSettings *settings);\";function gtk_print_settings_get_page_set(settings) bind(c)\r\ngtk;gtk_print_settings_get_paper_height;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"double gtk_print_settings_get_paper_height (GtkPrintSettings *settings, GtkUnit unit);\";function gtk_print_settings_get_paper_height(settings, unit) bind(c)\r\ngtk;gtk_print_settings_get_paper_size;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"GtkPaperSize * gtk_print_settings_get_paper_size (GtkPrintSettings *settings);\";function gtk_print_settings_get_paper_size(settings) bind(c)\r\ngtk;gtk_print_settings_get_paper_width;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"double gtk_print_settings_get_paper_width (GtkPrintSettings *settings, GtkUnit unit);\";function gtk_print_settings_get_paper_width(settings, unit) bind(c)\r\ngtk;gtk_print_settings_get_print_pages;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"GtkPrintPages gtk_print_settings_get_print_pages (GtkPrintSettings *settings);\";function gtk_print_settings_get_print_pages(settings) bind(c)\r\ngtk;gtk_print_settings_get_printer;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"const char * gtk_print_settings_get_printer (GtkPrintSettings *settings);\";function gtk_print_settings_get_printer(settings) bind(c)\r\ngtk;gtk_print_settings_get_printer_lpi;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"double gtk_print_settings_get_printer_lpi (GtkPrintSettings *settings);\";function gtk_print_settings_get_printer_lpi(settings) bind(c)\r\ngtk;gtk_print_settings_get_quality;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"GtkPrintQuality gtk_print_settings_get_quality (GtkPrintSettings *settings);\";function gtk_print_settings_get_quality(settings) bind(c)\r\ngtk;gtk_print_settings_get_resolution;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"int gtk_print_settings_get_resolution (GtkPrintSettings *settings);\";function gtk_print_settings_get_resolution(settings) bind(c)\r\ngtk;gtk_print_settings_get_resolution_x;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"int gtk_print_settings_get_resolution_x (GtkPrintSettings *settings);\";function gtk_print_settings_get_resolution_x(settings) bind(c)\r\ngtk;gtk_print_settings_get_resolution_y;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"int gtk_print_settings_get_resolution_y (GtkPrintSettings *settings);\";function gtk_print_settings_get_resolution_y(settings) bind(c)\r\ngtk;gtk_print_settings_get_reverse;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"gboolean gtk_print_settings_get_reverse (GtkPrintSettings *settings);\";function gtk_print_settings_get_reverse(settings) bind(c)\r\ngtk;gtk_print_settings_get_scale;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"double gtk_print_settings_get_scale (GtkPrintSettings *settings);\";function gtk_print_settings_get_scale(settings) bind(c)\r\ngtk;gtk_print_settings_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"GType gtk_print_settings_get_type (void) ;\";function gtk_print_settings_get_type() bind(c)\r\ngtk;gtk_print_settings_get_use_color;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"gboolean gtk_print_settings_get_use_color (GtkPrintSettings *settings);\";function gtk_print_settings_get_use_color(settings) bind(c)\r\ngtk;gtk_print_settings_has_key;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"gboolean gtk_print_settings_has_key (GtkPrintSettings *settings, const char *key);\";function gtk_print_settings_has_key(settings, key) bind(c)\r\ngtk;gtk_print_settings_load_file;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"gboolean gtk_print_settings_load_file (GtkPrintSettings *settings, const char *file_name, GError **error);\";function gtk_print_settings_load_file(settings, file_name, error) bind(c)\r\ngtk;gtk_print_settings_load_key_file;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"gboolean gtk_print_settings_load_key_file (GtkPrintSettings *settings, GKeyFile *key_file, const char *group_name, GError **error);\";function gtk_print_settings_load_key_file(settings, key_file, group_name, error) bind(c)\r\ngtk;gtk_print_settings_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"GtkPrintSettings *gtk_print_settings_new (void);\";function gtk_print_settings_new() bind(c)\r\ngtk;gtk_print_settings_new_from_file;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"GtkPrintSettings *gtk_print_settings_new_from_file (const char *file_name, GError **error);\";function gtk_print_settings_new_from_file(file_name, error) bind(c)\r\ngtk;gtk_print_settings_new_from_gvariant;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"GtkPrintSettings *gtk_print_settings_new_from_gvariant (GVariant *variant);\";function gtk_print_settings_new_from_gvariant(variant) bind(c)\r\ngtk;gtk_print_settings_new_from_key_file;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"GtkPrintSettings *gtk_print_settings_new_from_key_file (GKeyFile *key_file, const char *group_name, GError **error);\";function gtk_print_settings_new_from_key_file(key_file, group_name, error) bind(c)\r\ngtk;gtk_print_settings_set;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"void gtk_print_settings_set (GtkPrintSettings *settings, const char *key, const char *value);\";subroutine gtk_print_settings_set(settings, key, value) bind(c)\r\ngtk;gtk_print_settings_set_bool;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"void gtk_print_settings_set_bool (GtkPrintSettings *settings, const char *key, gboolean value);\";subroutine gtk_print_settings_set_bool(settings, key, value) bind(c)\r\ngtk;gtk_print_settings_set_collate;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"void gtk_print_settings_set_collate (GtkPrintSettings *settings, gboolean collate);\";subroutine gtk_print_settings_set_collate(settings, collate) bind(c)\r\ngtk;gtk_print_settings_set_default_source;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"void gtk_print_settings_set_default_source (GtkPrintSettings *settings, const char *default_source);\";subroutine gtk_print_settings_set_default_source(settings, default_source) bind(c)\r\ngtk;gtk_print_settings_set_dither;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"void gtk_print_settings_set_dither (GtkPrintSettings *settings, const char *dither);\";subroutine gtk_print_settings_set_dither(settings, dither) bind(c)\r\ngtk;gtk_print_settings_set_double;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"void gtk_print_settings_set_double (GtkPrintSettings *settings, const char *key, double value);\";subroutine gtk_print_settings_set_double(settings, key, value) bind(c)\r\ngtk;gtk_print_settings_set_duplex;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"void gtk_print_settings_set_duplex (GtkPrintSettings *settings, GtkPrintDuplex duplex);\";subroutine gtk_print_settings_set_duplex(settings, duplex) bind(c)\r\ngtk;gtk_print_settings_set_finishings;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"void gtk_print_settings_set_finishings (GtkPrintSettings *settings, const char *finishings);\";subroutine gtk_print_settings_set_finishings(settings, finishings) bind(c)\r\ngtk;gtk_print_settings_set_int;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"void gtk_print_settings_set_int (GtkPrintSettings *settings, const char *key, int value);\";subroutine gtk_print_settings_set_int(settings, key, value) bind(c)\r\ngtk;gtk_print_settings_set_length;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"void gtk_print_settings_set_length (GtkPrintSettings *settings, const char *key, double value, GtkUnit unit);\";subroutine gtk_print_settings_set_length(settings, key, value, unit) bind(c)\r\ngtk;gtk_print_settings_set_media_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"void gtk_print_settings_set_media_type (GtkPrintSettings *settings, const char *media_type);\";subroutine gtk_print_settings_set_media_type(settings, media_type) bind(c)\r\ngtk;gtk_print_settings_set_n_copies;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"void gtk_print_settings_set_n_copies (GtkPrintSettings *settings, int num_copies);\";subroutine gtk_print_settings_set_n_copies(settings, num_copies) bind(c)\r\ngtk;gtk_print_settings_set_number_up;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"void gtk_print_settings_set_number_up (GtkPrintSettings *settings, int number_up);\";subroutine gtk_print_settings_set_number_up(settings, number_up) bind(c)\r\ngtk;gtk_print_settings_set_number_up_layout;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"void gtk_print_settings_set_number_up_layout (GtkPrintSettings *settings, GtkNumberUpLayout number_up_layout);\";subroutine gtk_print_settings_set_number_up_layout(settings, number_up_layout) bind(c)\r\ngtk;gtk_print_settings_set_orientation;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"void gtk_print_settings_set_orientation (GtkPrintSettings *settings, GtkPageOrientation orientation);\";subroutine gtk_print_settings_set_orientation(settings, orientation) bind(c)\r\ngtk;gtk_print_settings_set_output_bin;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"void gtk_print_settings_set_output_bin (GtkPrintSettings *settings, const char *output_bin);\";subroutine gtk_print_settings_set_output_bin(settings, output_bin) bind(c)\r\ngtk;gtk_print_settings_set_page_ranges;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"void gtk_print_settings_set_page_ranges (GtkPrintSettings *settings, GtkPageRange *page_ranges, int num_ranges);\";subroutine gtk_print_settings_set_page_ranges(settings, page_ranges, num_ranges) bind(c)\r\ngtk;gtk_print_settings_set_page_set;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"void gtk_print_settings_set_page_set (GtkPrintSettings *settings, GtkPageSet page_set);\";subroutine gtk_print_settings_set_page_set(settings, page_set) bind(c)\r\ngtk;gtk_print_settings_set_paper_height;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"void gtk_print_settings_set_paper_height (GtkPrintSettings *settings, double height, GtkUnit unit);\";subroutine gtk_print_settings_set_paper_height(settings, height, unit) bind(c)\r\ngtk;gtk_print_settings_set_paper_size;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"void gtk_print_settings_set_paper_size (GtkPrintSettings *settings, GtkPaperSize *paper_size);\";subroutine gtk_print_settings_set_paper_size(settings, paper_size) bind(c)\r\ngtk;gtk_print_settings_set_paper_width;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"void gtk_print_settings_set_paper_width (GtkPrintSettings *settings, double width, GtkUnit unit);\";subroutine gtk_print_settings_set_paper_width(settings, width, unit) bind(c)\r\ngtk;gtk_print_settings_set_print_pages;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"void gtk_print_settings_set_print_pages (GtkPrintSettings *settings, GtkPrintPages pages);\";subroutine gtk_print_settings_set_print_pages(settings, pages) bind(c)\r\ngtk;gtk_print_settings_set_printer;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"void gtk_print_settings_set_printer (GtkPrintSettings *settings, const char *printer);\";subroutine gtk_print_settings_set_printer(settings, printer) bind(c)\r\ngtk;gtk_print_settings_set_printer_lpi;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"void gtk_print_settings_set_printer_lpi (GtkPrintSettings *settings, double lpi);\";subroutine gtk_print_settings_set_printer_lpi(settings, lpi) bind(c)\r\ngtk;gtk_print_settings_set_quality;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"void gtk_print_settings_set_quality (GtkPrintSettings *settings, GtkPrintQuality quality);\";subroutine gtk_print_settings_set_quality(settings, quality) bind(c)\r\ngtk;gtk_print_settings_set_resolution;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"void gtk_print_settings_set_resolution (GtkPrintSettings *settings, int resolution);\";subroutine gtk_print_settings_set_resolution(settings, resolution) bind(c)\r\ngtk;gtk_print_settings_set_resolution_xy;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"void gtk_print_settings_set_resolution_xy (GtkPrintSettings *settings, int resolution_x, int resolution_y);\";subroutine gtk_print_settings_set_resolution_xy(settings, resolution_x, resolution_y) bind(c)\r\ngtk;gtk_print_settings_set_reverse;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"void gtk_print_settings_set_reverse (GtkPrintSettings *settings, gboolean reverse);\";subroutine gtk_print_settings_set_reverse(settings, reverse) bind(c)\r\ngtk;gtk_print_settings_set_scale;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"void gtk_print_settings_set_scale (GtkPrintSettings *settings, double scale);\";subroutine gtk_print_settings_set_scale(settings, scale) bind(c)\r\ngtk;gtk_print_settings_set_use_color;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"void gtk_print_settings_set_use_color (GtkPrintSettings *settings, gboolean use_color);\";subroutine gtk_print_settings_set_use_color(settings, use_color) bind(c)\r\ngtk;gtk_print_settings_to_file;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"gboolean gtk_print_settings_to_file (GtkPrintSettings *settings, const char *file_name, GError **error);\";function gtk_print_settings_to_file(settings, file_name, error) bind(c)\r\ngtk;gtk_print_settings_to_gvariant;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"GVariant *gtk_print_settings_to_gvariant (GtkPrintSettings *settings);\";function gtk_print_settings_to_gvariant(settings) bind(c)\r\ngtk;gtk_print_settings_to_key_file;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"void gtk_print_settings_to_key_file (GtkPrintSettings *settings, GKeyFile *key_file, const char *group_name);\";subroutine gtk_print_settings_to_key_file(settings, key_file, group_name) bind(c)\r\ngtk;gtk_print_settings_unset;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/print/gtkprintsettings.h;\"void gtk_print_settings_unset (GtkPrintSettings *settings, const char *key);\";subroutine gtk_print_settings_unset(settings, key) bind(c)\r\ngtk;gtk_print_setup_get_page_setup;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkprintdialog.h;\"GtkPageSetup * gtk_print_setup_get_page_setup (GtkPrintSetup *setup);\";function gtk_print_setup_get_page_setup(setup) bind(c)\r\ngtk;gtk_print_setup_get_print_settings;;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkprintdialog.h;\"GtkPrintSettings * gtk_print_setup_get_print_settings (GtkPrintSetup *setup);\";function gtk_print_setup_get_print_settings(setup) bind(c)\r\ngtk;gtk_print_setup_get_type;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkprintdialog.h;\"GType gtk_print_setup_get_type (void) ;\";function gtk_print_setup_get_type() bind(c)\r\ngtk;gtk_print_setup_ref;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkprintdialog.h;\"GtkPrintSetup *gtk_print_setup_ref (GtkPrintSetup *setup);\";function gtk_print_setup_ref(setup) bind(c)\r\ngtk;gtk_print_setup_unref;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkprintdialog.h;\"void gtk_print_setup_unref (GtkPrintSetup *setup);\";subroutine gtk_print_setup_unref(setup) bind(c)\r\ngtk;gtk_progress_bar_get_ellipsize;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkprogressbar.h;\"PangoEllipsizeMode gtk_progress_bar_get_ellipsize (GtkProgressBar *pbar);\";function gtk_progress_bar_get_ellipsize(pbar) bind(c)\r\ngtk;gtk_progress_bar_get_fraction;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkprogressbar.h;\"double gtk_progress_bar_get_fraction (GtkProgressBar *pbar);\";function gtk_progress_bar_get_fraction(pbar) bind(c)\r\ngtk;gtk_progress_bar_get_inverted;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkprogressbar.h;\"gboolean gtk_progress_bar_get_inverted (GtkProgressBar *pbar);\";function gtk_progress_bar_get_inverted(pbar) bind(c)\r\ngtk;gtk_progress_bar_get_pulse_step;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkprogressbar.h;\"double gtk_progress_bar_get_pulse_step (GtkProgressBar *pbar);\";function gtk_progress_bar_get_pulse_step(pbar) bind(c)\r\ngtk;gtk_progress_bar_get_show_text;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkprogressbar.h;\"gboolean gtk_progress_bar_get_show_text (GtkProgressBar *pbar);\";function gtk_progress_bar_get_show_text(pbar) bind(c)\r\ngtk;gtk_progress_bar_get_text;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkprogressbar.h;\"const char * gtk_progress_bar_get_text (GtkProgressBar *pbar);\";function gtk_progress_bar_get_text(pbar) bind(c)\r\ngtk;gtk_progress_bar_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkprogressbar.h;\"GType gtk_progress_bar_get_type (void) ;\";function gtk_progress_bar_get_type() bind(c)\r\ngtk;gtk_progress_bar_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkprogressbar.h;\"GtkWidget* gtk_progress_bar_new (void);\";function gtk_progress_bar_new() bind(c)\r\ngtk;gtk_progress_bar_pulse;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkprogressbar.h;\"void gtk_progress_bar_pulse (GtkProgressBar *pbar);\";subroutine gtk_progress_bar_pulse(pbar) bind(c)\r\ngtk;gtk_progress_bar_set_ellipsize;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkprogressbar.h;\"void gtk_progress_bar_set_ellipsize (GtkProgressBar *pbar, PangoEllipsizeMode mode);\";subroutine gtk_progress_bar_set_ellipsize(pbar, mode) bind(c)\r\ngtk;gtk_progress_bar_set_fraction;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkprogressbar.h;\"void gtk_progress_bar_set_fraction (GtkProgressBar *pbar, double fraction);\";subroutine gtk_progress_bar_set_fraction(pbar, fraction) bind(c)\r\ngtk;gtk_progress_bar_set_inverted;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkprogressbar.h;\"void gtk_progress_bar_set_inverted (GtkProgressBar *pbar, gboolean inverted);\";subroutine gtk_progress_bar_set_inverted(pbar, inverted) bind(c)\r\ngtk;gtk_progress_bar_set_pulse_step;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkprogressbar.h;\"void gtk_progress_bar_set_pulse_step (GtkProgressBar *pbar, double fraction);\";subroutine gtk_progress_bar_set_pulse_step(pbar, fraction) bind(c)\r\ngtk;gtk_progress_bar_set_show_text;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkprogressbar.h;\"void gtk_progress_bar_set_show_text (GtkProgressBar *pbar, gboolean show_text);\";subroutine gtk_progress_bar_set_show_text(pbar, show_text) bind(c)\r\ngtk;gtk_progress_bar_set_text;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkprogressbar.h;\"void gtk_progress_bar_set_text (GtkProgressBar *pbar, const char *text);\";subroutine gtk_progress_bar_set_text(pbar, text) bind(c)\r\ngtk;gtk_property_expression_get_expression;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpression.h;\"GtkExpression * gtk_property_expression_get_expression (GtkExpression *expression);\";function gtk_property_expression_get_expression(expression) bind(c)\r\ngtk;gtk_property_expression_get_pspec;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpression.h;\"GParamSpec * gtk_property_expression_get_pspec (GtkExpression *expression);\";function gtk_property_expression_get_pspec(expression) bind(c)\r\ngtk;gtk_property_expression_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpression.h;\"GType gtk_property_expression_get_type (void) ;\";function gtk_property_expression_get_type() bind(c)\r\ngtk;gtk_property_expression_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpression.h;\"GtkExpression * gtk_property_expression_new (GType this_type, GtkExpression *expression, const char *property_name);\";function gtk_property_expression_new(this_type, expression, property_name) bind(c)\r\ngtk;gtk_property_expression_new_for_pspec;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpression.h;\"GtkExpression * gtk_property_expression_new_for_pspec (GtkExpression *expression, GParamSpec *pspec);\";function gtk_property_expression_new_for_pspec(expression, pspec) bind(c)\r\ngtk;gtk_range_get_adjustment;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrange.h;\"GtkAdjustment* gtk_range_get_adjustment (GtkRange *range);\";function gtk_range_get_adjustment(range) bind(c)\r\ngtk;gtk_range_get_fill_level;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrange.h;\"double gtk_range_get_fill_level (GtkRange *range);\";function gtk_range_get_fill_level(range) bind(c)\r\ngtk;gtk_range_get_flippable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrange.h;\"gboolean gtk_range_get_flippable (GtkRange *range);\";function gtk_range_get_flippable(range) bind(c)\r\ngtk;gtk_range_get_inverted;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrange.h;\"gboolean gtk_range_get_inverted (GtkRange *range);\";function gtk_range_get_inverted(range) bind(c)\r\ngtk;gtk_range_get_range_rect;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrange.h;\"void gtk_range_get_range_rect (GtkRange *range, GdkRectangle *range_rect);\";subroutine gtk_range_get_range_rect(range, range_rect) bind(c)\r\ngtk;gtk_range_get_restrict_to_fill_level;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrange.h;\"gboolean gtk_range_get_restrict_to_fill_level (GtkRange *range);\";function gtk_range_get_restrict_to_fill_level(range) bind(c)\r\ngtk;gtk_range_get_round_digits;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrange.h;\"int gtk_range_get_round_digits (GtkRange *range);\";function gtk_range_get_round_digits(range) bind(c)\r\ngtk;gtk_range_get_show_fill_level;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrange.h;\"gboolean gtk_range_get_show_fill_level (GtkRange *range);\";function gtk_range_get_show_fill_level(range) bind(c)\r\ngtk;gtk_range_get_slider_range;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrange.h;\"void gtk_range_get_slider_range (GtkRange *range, int *slider_start, int *slider_end);\";subroutine gtk_range_get_slider_range(range, slider_start, slider_end) bind(c)\r\ngtk;gtk_range_get_slider_size_fixed;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrange.h;\"gboolean gtk_range_get_slider_size_fixed (GtkRange *range);\";function gtk_range_get_slider_size_fixed(range) bind(c)\r\ngtk;gtk_range_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrange.h;\"GType gtk_range_get_type (void) ;\";function gtk_range_get_type() bind(c)\r\ngtk;gtk_range_get_value;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrange.h;\"double gtk_range_get_value (GtkRange *range);\";function gtk_range_get_value(range) bind(c)\r\ngtk;gtk_range_set_adjustment;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrange.h;\"void gtk_range_set_adjustment (GtkRange *range, GtkAdjustment *adjustment);\";subroutine gtk_range_set_adjustment(range, adjustment) bind(c)\r\ngtk;gtk_range_set_fill_level;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrange.h;\"void gtk_range_set_fill_level (GtkRange *range, double fill_level);\";subroutine gtk_range_set_fill_level(range, fill_level) bind(c)\r\ngtk;gtk_range_set_flippable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrange.h;\"void gtk_range_set_flippable (GtkRange *range, gboolean flippable);\";subroutine gtk_range_set_flippable(range, flippable) bind(c)\r\ngtk;gtk_range_set_increments;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrange.h;\"void gtk_range_set_increments (GtkRange *range, double step, double page);\";subroutine gtk_range_set_increments(range, step, page) bind(c)\r\ngtk;gtk_range_set_inverted;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrange.h;\"void gtk_range_set_inverted (GtkRange *range, gboolean setting);\";subroutine gtk_range_set_inverted(range, setting) bind(c)\r\ngtk;gtk_range_set_range;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrange.h;\"void gtk_range_set_range (GtkRange *range, double min, double max);\";subroutine gtk_range_set_range(range, min, max) bind(c)\r\ngtk;gtk_range_set_restrict_to_fill_level;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrange.h;\"void gtk_range_set_restrict_to_fill_level (GtkRange *range, gboolean restrict_to_fill_level);\";subroutine gtk_range_set_restrict_to_fill_level(range, restrict_to_fill_level) bind(c)\r\ngtk;gtk_range_set_round_digits;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrange.h;\"void gtk_range_set_round_digits (GtkRange *range, int round_digits);\";subroutine gtk_range_set_round_digits(range, round_digits) bind(c)\r\ngtk;gtk_range_set_show_fill_level;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrange.h;\"void gtk_range_set_show_fill_level (GtkRange *range, gboolean show_fill_level);\";subroutine gtk_range_set_show_fill_level(range, show_fill_level) bind(c)\r\ngtk;gtk_range_set_slider_size_fixed;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrange.h;\"void gtk_range_set_slider_size_fixed (GtkRange *range, gboolean size_fixed);\";subroutine gtk_range_set_slider_size_fixed(range, size_fixed) bind(c)\r\ngtk;gtk_range_set_value;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrange.h;\"void gtk_range_set_value (GtkRange *range, double value);\";subroutine gtk_range_set_value(range, value) bind(c)\r\ngtk;gtk_recent_info_create_app_info;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrecentmanager.h;\"GAppInfo * gtk_recent_info_create_app_info (GtkRecentInfo *info, const char *app_name, GError **error);\";function gtk_recent_info_create_app_info(info, app_name, error) bind(c)\r\ngtk;gtk_recent_info_exists;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrecentmanager.h;\"gboolean gtk_recent_info_exists (GtkRecentInfo *info);\";function gtk_recent_info_exists(info) bind(c)\r\ngtk;gtk_recent_info_get_added;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrecentmanager.h;\"GDateTime * gtk_recent_info_get_added (GtkRecentInfo *info);\";function gtk_recent_info_get_added(info) bind(c)\r\ngtk;gtk_recent_info_get_age;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrecentmanager.h;\"int gtk_recent_info_get_age (GtkRecentInfo *info);\";function gtk_recent_info_get_age(info) bind(c)\r\ngtk;gtk_recent_info_get_application_info;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrecentmanager.h;\"gboolean gtk_recent_info_get_application_info (GtkRecentInfo *info, const char *app_name, const char **app_exec, guint *count, GDateTime **stamp);\";function gtk_recent_info_get_application_info(info, app_name, app_exec, count, stamp) bind(c)\r\ngtk;gtk_recent_info_get_applications;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrecentmanager.h;\"char ** gtk_recent_info_get_applications (GtkRecentInfo *info, gsize *length) ;\";function gtk_recent_info_get_applications(info, length) bind(c)\r\ngtk;gtk_recent_info_get_description;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrecentmanager.h;\"const char * gtk_recent_info_get_description (GtkRecentInfo *info);\";function gtk_recent_info_get_description(info) bind(c)\r\ngtk;gtk_recent_info_get_display_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrecentmanager.h;\"const char * gtk_recent_info_get_display_name (GtkRecentInfo *info);\";function gtk_recent_info_get_display_name(info) bind(c)\r\ngtk;gtk_recent_info_get_gicon;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrecentmanager.h;\"GIcon * gtk_recent_info_get_gicon (GtkRecentInfo *info);\";function gtk_recent_info_get_gicon(info) bind(c)\r\ngtk;gtk_recent_info_get_groups;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrecentmanager.h;\"char ** gtk_recent_info_get_groups (GtkRecentInfo *info, gsize *length) ;\";function gtk_recent_info_get_groups(info, length) bind(c)\r\ngtk;gtk_recent_info_get_mime_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrecentmanager.h;\"const char * gtk_recent_info_get_mime_type (GtkRecentInfo *info);\";function gtk_recent_info_get_mime_type(info) bind(c)\r\ngtk;gtk_recent_info_get_modified;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrecentmanager.h;\"GDateTime * gtk_recent_info_get_modified (GtkRecentInfo *info);\";function gtk_recent_info_get_modified(info) bind(c)\r\ngtk;gtk_recent_info_get_private_hint;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrecentmanager.h;\"gboolean gtk_recent_info_get_private_hint (GtkRecentInfo *info);\";function gtk_recent_info_get_private_hint(info) bind(c)\r\ngtk;gtk_recent_info_get_short_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrecentmanager.h;\"char * gtk_recent_info_get_short_name (GtkRecentInfo *info) ;\";function gtk_recent_info_get_short_name(info) bind(c)\r\ngtk;gtk_recent_info_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrecentmanager.h;\"GType gtk_recent_info_get_type (void) ;\";function gtk_recent_info_get_type() bind(c)\r\ngtk;gtk_recent_info_get_uri;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrecentmanager.h;\"const char * gtk_recent_info_get_uri (GtkRecentInfo *info);\";function gtk_recent_info_get_uri(info) bind(c)\r\ngtk;gtk_recent_info_get_uri_display;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrecentmanager.h;\"char * gtk_recent_info_get_uri_display (GtkRecentInfo *info) ;\";function gtk_recent_info_get_uri_display(info) bind(c)\r\ngtk;gtk_recent_info_get_visited;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrecentmanager.h;\"GDateTime * gtk_recent_info_get_visited (GtkRecentInfo *info);\";function gtk_recent_info_get_visited(info) bind(c)\r\ngtk;gtk_recent_info_has_application;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrecentmanager.h;\"gboolean gtk_recent_info_has_application (GtkRecentInfo *info, const char *app_name);\";function gtk_recent_info_has_application(info, app_name) bind(c)\r\ngtk;gtk_recent_info_has_group;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrecentmanager.h;\"gboolean gtk_recent_info_has_group (GtkRecentInfo *info, const char *group_name);\";function gtk_recent_info_has_group(info, group_name) bind(c)\r\ngtk;gtk_recent_info_is_local;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrecentmanager.h;\"gboolean gtk_recent_info_is_local (GtkRecentInfo *info);\";function gtk_recent_info_is_local(info) bind(c)\r\ngtk;gtk_recent_info_last_application;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrecentmanager.h;\"char * gtk_recent_info_last_application (GtkRecentInfo *info) ;\";function gtk_recent_info_last_application(info) bind(c)\r\ngtk;gtk_recent_info_match;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrecentmanager.h;\"gboolean gtk_recent_info_match (GtkRecentInfo *info_a, GtkRecentInfo *info_b);\";function gtk_recent_info_match(info_a, info_b) bind(c)\r\ngtk;gtk_recent_info_ref;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrecentmanager.h;\"GtkRecentInfo * gtk_recent_info_ref (GtkRecentInfo *info);\";function gtk_recent_info_ref(info) bind(c)\r\ngtk;gtk_recent_info_unref;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrecentmanager.h;\"void gtk_recent_info_unref (GtkRecentInfo *info);\";subroutine gtk_recent_info_unref(info) bind(c)\r\ngtk;gtk_recent_manager_add_full;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrecentmanager.h;\"gboolean gtk_recent_manager_add_full (GtkRecentManager *manager, const char *uri, const GtkRecentData *recent_data);\";function gtk_recent_manager_add_full(manager, uri, recent_data) bind(c)\r\ngtk;gtk_recent_manager_add_item;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrecentmanager.h;\"gboolean gtk_recent_manager_add_item (GtkRecentManager *manager, const char *uri);\";function gtk_recent_manager_add_item(manager, uri) bind(c)\r\ngtk;gtk_recent_manager_error_quark;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrecentmanager.h;\"GQuark gtk_recent_manager_error_quark (void);\";function gtk_recent_manager_error_quark() bind(c)\r\ngtk;gtk_recent_manager_get_default;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrecentmanager.h;\"GtkRecentManager *gtk_recent_manager_get_default (void);\";function gtk_recent_manager_get_default() bind(c)\r\ngtk;gtk_recent_manager_get_items;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrecentmanager.h;\"GList * gtk_recent_manager_get_items (GtkRecentManager *manager);\";function gtk_recent_manager_get_items(manager) bind(c)\r\ngtk;gtk_recent_manager_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrecentmanager.h;\"GType gtk_recent_manager_get_type (void) ;\";function gtk_recent_manager_get_type() bind(c)\r\ngtk;gtk_recent_manager_has_item;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrecentmanager.h;\"gboolean gtk_recent_manager_has_item (GtkRecentManager *manager, const char *uri);\";function gtk_recent_manager_has_item(manager, uri) bind(c)\r\ngtk;gtk_recent_manager_lookup_item;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrecentmanager.h;\"GtkRecentInfo * gtk_recent_manager_lookup_item (GtkRecentManager *manager, const char *uri, GError **error);\";function gtk_recent_manager_lookup_item(manager, uri, error) bind(c)\r\ngtk;gtk_recent_manager_move_item;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrecentmanager.h;\"gboolean gtk_recent_manager_move_item (GtkRecentManager *manager, const char *uri, const char *new_uri, GError **error);\";function gtk_recent_manager_move_item(manager, uri, new_uri, error) bind(c)\r\ngtk;gtk_recent_manager_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrecentmanager.h;\"GtkRecentManager *gtk_recent_manager_new (void);\";function gtk_recent_manager_new() bind(c)\r\ngtk;gtk_recent_manager_purge_items;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrecentmanager.h;\"int gtk_recent_manager_purge_items (GtkRecentManager *manager, GError **error);\";function gtk_recent_manager_purge_items(manager, error) bind(c)\r\ngtk;gtk_recent_manager_remove_item;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrecentmanager.h;\"gboolean gtk_recent_manager_remove_item (GtkRecentManager *manager, const char *uri, GError **error);\";function gtk_recent_manager_remove_item(manager, uri, error) bind(c)\r\ngtk;gtk_render_activity;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkrender.h;\"void gtk_render_activity (GtkStyleContext *context, cairo_t *cr, double x, double y, double width, double height);\";subroutine gtk_render_activity(context, cr, x, y, width, height) bind(c)\r\ngtk;gtk_render_arrow;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkrender.h;\"void gtk_render_arrow (GtkStyleContext *context, cairo_t *cr, double angle, double x, double y, double size);\";subroutine gtk_render_arrow(context, cr, angle, x, y, size) bind(c)\r\ngtk;gtk_render_background;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkrender.h;\"void gtk_render_background (GtkStyleContext *context, cairo_t *cr, double x, double y, double width, double height);\";subroutine gtk_render_background(context, cr, x, y, width, height) bind(c)\r\ngtk;gtk_render_check;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkrender.h;\"void gtk_render_check (GtkStyleContext *context, cairo_t *cr, double x, double y, double width, double height);\";subroutine gtk_render_check(context, cr, x, y, width, height) bind(c)\r\ngtk;gtk_render_expander;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkrender.h;\"void gtk_render_expander (GtkStyleContext *context, cairo_t *cr, double x, double y, double width, double height);\";subroutine gtk_render_expander(context, cr, x, y, width, height) bind(c)\r\ngtk;gtk_render_focus;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkrender.h;\"void gtk_render_focus (GtkStyleContext *context, cairo_t *cr, double x, double y, double width, double height);\";subroutine gtk_render_focus(context, cr, x, y, width, height) bind(c)\r\ngtk;gtk_render_frame;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkrender.h;\"void gtk_render_frame (GtkStyleContext *context, cairo_t *cr, double x, double y, double width, double height);\";subroutine gtk_render_frame(context, cr, x, y, width, height) bind(c)\r\ngtk;gtk_render_handle;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkrender.h;\"void gtk_render_handle (GtkStyleContext *context, cairo_t *cr, double x, double y, double width, double height);\";subroutine gtk_render_handle(context, cr, x, y, width, height) bind(c)\r\ngtk;gtk_render_icon;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkrender.h;\"void gtk_render_icon (GtkStyleContext *context, cairo_t *cr, GdkTexture *texture, double x, double y);\";subroutine gtk_render_icon(context, cr, texture, x, y) bind(c)\r\ngtk;gtk_render_layout;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkrender.h;\"void gtk_render_layout (GtkStyleContext *context, cairo_t *cr, double x, double y, PangoLayout *layout);\";subroutine gtk_render_layout(context, cr, x, y, layout) bind(c)\r\ngtk;gtk_render_line;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkrender.h;\"void gtk_render_line (GtkStyleContext *context, cairo_t *cr, double x0, double y0, double x1, double y1);\";subroutine gtk_render_line(context, cr, x0, y0, x1, y1) bind(c)\r\ngtk;gtk_render_option;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkrender.h;\"void gtk_render_option (GtkStyleContext *context, cairo_t *cr, double x, double y, double width, double height);\";subroutine gtk_render_option(context, cr, x, y, width, height) bind(c)\r\ngtk;gtk_requisition_copy;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"GtkRequisition *gtk_requisition_copy (const GtkRequisition *requisition);\";function gtk_requisition_copy(requisition) bind(c)\r\ngtk;gtk_requisition_free;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_requisition_free (GtkRequisition *requisition);\";subroutine gtk_requisition_free(requisition) bind(c)\r\ngtk;gtk_requisition_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"GType gtk_requisition_get_type (void) ;\";function gtk_requisition_get_type() bind(c)\r\ngtk;gtk_requisition_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"GtkRequisition *gtk_requisition_new (void) ;\";function gtk_requisition_new() bind(c)\r\ngtk;gtk_revealer_get_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrevealer.h;\"GtkWidget * gtk_revealer_get_child (GtkRevealer *revealer);\";function gtk_revealer_get_child(revealer) bind(c)\r\ngtk;gtk_revealer_get_child_revealed;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrevealer.h;\"gboolean gtk_revealer_get_child_revealed (GtkRevealer *revealer);\";function gtk_revealer_get_child_revealed(revealer) bind(c)\r\ngtk;gtk_revealer_get_reveal_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrevealer.h;\"gboolean gtk_revealer_get_reveal_child (GtkRevealer *revealer);\";function gtk_revealer_get_reveal_child(revealer) bind(c)\r\ngtk;gtk_revealer_get_transition_duration;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrevealer.h;\"guint gtk_revealer_get_transition_duration (GtkRevealer *revealer);\";function gtk_revealer_get_transition_duration(revealer) bind(c)\r\ngtk;gtk_revealer_get_transition_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrevealer.h;\"GtkRevealerTransitionType gtk_revealer_get_transition_type (GtkRevealer *revealer);\";function gtk_revealer_get_transition_type(revealer) bind(c)\r\ngtk;gtk_revealer_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrevealer.h;\"GType gtk_revealer_get_type (void) ;\";function gtk_revealer_get_type() bind(c)\r\ngtk;gtk_revealer_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrevealer.h;\"GtkWidget* gtk_revealer_new (void);\";function gtk_revealer_new() bind(c)\r\ngtk;gtk_revealer_set_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrevealer.h;\"void gtk_revealer_set_child (GtkRevealer *revealer, GtkWidget *child);\";subroutine gtk_revealer_set_child(revealer, child) bind(c)\r\ngtk;gtk_revealer_set_reveal_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrevealer.h;\"void gtk_revealer_set_reveal_child (GtkRevealer *revealer, gboolean reveal_child);\";subroutine gtk_revealer_set_reveal_child(revealer, reveal_child) bind(c)\r\ngtk;gtk_revealer_set_transition_duration;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrevealer.h;\"void gtk_revealer_set_transition_duration (GtkRevealer *revealer, guint duration);\";subroutine gtk_revealer_set_transition_duration(revealer, duration) bind(c)\r\ngtk;gtk_revealer_set_transition_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkrevealer.h;\"void gtk_revealer_set_transition_type (GtkRevealer *revealer, GtkRevealerTransitionType transition);\";subroutine gtk_revealer_set_transition_type(revealer, transition) bind(c)\r\ngtk;gtk_rgb_to_hsv;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkcolorutils.h;\"void gtk_rgb_to_hsv (float r, float g, float b, float *h, float *s, float *v);\";subroutine gtk_rgb_to_hsv(r, g, b, h, s, v) bind(c)\r\ngtk;gtk_root_get_display;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkroot.h;\"GdkDisplay * gtk_root_get_display (GtkRoot *self);\";function gtk_root_get_display(self) bind(c)\r\ngtk;gtk_root_get_focus;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkroot.h;\"GtkWidget * gtk_root_get_focus (GtkRoot *self);\";function gtk_root_get_focus(self) bind(c)\r\ngtk;gtk_root_set_focus;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkroot.h;\"void gtk_root_set_focus (GtkRoot *self, GtkWidget *focus);\";subroutine gtk_root_set_focus(self, focus) bind(c)\r\ngtk;gtk_scale_add_mark;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscale.h;\"void gtk_scale_add_mark (GtkScale *scale, double value, GtkPositionType position, const char *markup);\";subroutine gtk_scale_add_mark(scale, value, position, markup) bind(c)\r\ngtk;gtk_scale_button_get_active;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscalebutton.h;\"gboolean gtk_scale_button_get_active (GtkScaleButton *button);\";function gtk_scale_button_get_active(button) bind(c)\r\ngtk;gtk_scale_button_get_adjustment;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscalebutton.h;\"GtkAdjustment * gtk_scale_button_get_adjustment (GtkScaleButton *button);\";function gtk_scale_button_get_adjustment(button) bind(c)\r\ngtk;gtk_scale_button_get_has_frame;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscalebutton.h;\"gboolean gtk_scale_button_get_has_frame (GtkScaleButton *button);\";function gtk_scale_button_get_has_frame(button) bind(c)\r\ngtk;gtk_scale_button_get_minus_button;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscalebutton.h;\"GtkWidget * gtk_scale_button_get_minus_button (GtkScaleButton *button);\";function gtk_scale_button_get_minus_button(button) bind(c)\r\ngtk;gtk_scale_button_get_plus_button;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscalebutton.h;\"GtkWidget * gtk_scale_button_get_plus_button (GtkScaleButton *button);\";function gtk_scale_button_get_plus_button(button) bind(c)\r\ngtk;gtk_scale_button_get_popup;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscalebutton.h;\"GtkWidget * gtk_scale_button_get_popup (GtkScaleButton *button);\";function gtk_scale_button_get_popup(button) bind(c)\r\ngtk;gtk_scale_button_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscalebutton.h;\"GType gtk_scale_button_get_type (void) ;\";function gtk_scale_button_get_type() bind(c)\r\ngtk;gtk_scale_button_get_value;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscalebutton.h;\"double gtk_scale_button_get_value (GtkScaleButton *button);\";function gtk_scale_button_get_value(button) bind(c)\r\ngtk;gtk_scale_button_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscalebutton.h;\"GtkWidget * gtk_scale_button_new (double min, double max, double step, const char **icons);\";function gtk_scale_button_new(min, max, step, icons) bind(c)\r\ngtk;gtk_scale_button_set_adjustment;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscalebutton.h;\"void gtk_scale_button_set_adjustment (GtkScaleButton *button, GtkAdjustment *adjustment);\";subroutine gtk_scale_button_set_adjustment(button, adjustment) bind(c)\r\ngtk;gtk_scale_button_set_has_frame;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscalebutton.h;\"void gtk_scale_button_set_has_frame (GtkScaleButton *button, gboolean has_frame);\";subroutine gtk_scale_button_set_has_frame(button, has_frame) bind(c)\r\ngtk;gtk_scale_button_set_icons;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscalebutton.h;\"void gtk_scale_button_set_icons (GtkScaleButton *button, const char **icons);\";subroutine gtk_scale_button_set_icons(button, icons) bind(c)\r\ngtk;gtk_scale_button_set_value;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscalebutton.h;\"void gtk_scale_button_set_value (GtkScaleButton *button, double value);\";subroutine gtk_scale_button_set_value(button, value) bind(c)\r\ngtk;gtk_scale_clear_marks;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscale.h;\"void gtk_scale_clear_marks (GtkScale *scale);\";subroutine gtk_scale_clear_marks(scale) bind(c)\r\ngtk;gtk_scale_get_digits;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscale.h;\"int gtk_scale_get_digits (GtkScale *scale);\";function gtk_scale_get_digits(scale) bind(c)\r\ngtk;gtk_scale_get_draw_value;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscale.h;\"gboolean gtk_scale_get_draw_value (GtkScale *scale);\";function gtk_scale_get_draw_value(scale) bind(c)\r\ngtk;gtk_scale_get_has_origin;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscale.h;\"gboolean gtk_scale_get_has_origin (GtkScale *scale);\";function gtk_scale_get_has_origin(scale) bind(c)\r\ngtk;gtk_scale_get_layout;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscale.h;\"PangoLayout * gtk_scale_get_layout (GtkScale *scale);\";function gtk_scale_get_layout(scale) bind(c)\r\ngtk;gtk_scale_get_layout_offsets;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscale.h;\"void gtk_scale_get_layout_offsets (GtkScale *scale, int *x, int *y);\";subroutine gtk_scale_get_layout_offsets(scale, x, y) bind(c)\r\ngtk;gtk_scale_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscale.h;\"GType gtk_scale_get_type (void) ;\";function gtk_scale_get_type() bind(c)\r\ngtk;gtk_scale_get_value_pos;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscale.h;\"GtkPositionType gtk_scale_get_value_pos (GtkScale *scale);\";function gtk_scale_get_value_pos(scale) bind(c)\r\ngtk;gtk_scale_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscale.h;\"GtkWidget * gtk_scale_new (GtkOrientation orientation, GtkAdjustment *adjustment);\";function gtk_scale_new(orientation, adjustment) bind(c)\r\ngtk;gtk_scale_new_with_range;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscale.h;\"GtkWidget * gtk_scale_new_with_range (GtkOrientation orientation, double min, double max, double step);\";function gtk_scale_new_with_range(orientation, min, max, step) bind(c)\r\ngtk;gtk_scale_set_digits;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscale.h;\"void gtk_scale_set_digits (GtkScale *scale, int digits);\";subroutine gtk_scale_set_digits(scale, digits) bind(c)\r\ngtk;gtk_scale_set_draw_value;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscale.h;\"void gtk_scale_set_draw_value (GtkScale *scale, gboolean draw_value);\";subroutine gtk_scale_set_draw_value(scale, draw_value) bind(c)\r\ngtk;gtk_scale_set_format_value_func;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscale.h;\"void gtk_scale_set_format_value_func (GtkScale *scale, GtkScaleFormatValueFunc func, gpointer user_data, GDestroyNotify destroy_notify);\";subroutine gtk_scale_set_format_value_func(scale, func, user_data, destroy_notify) bind(c)\r\ngtk;gtk_scale_set_has_origin;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscale.h;\"void gtk_scale_set_has_origin (GtkScale *scale, gboolean has_origin);\";subroutine gtk_scale_set_has_origin(scale, has_origin) bind(c)\r\ngtk;gtk_scale_set_value_pos;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscale.h;\"void gtk_scale_set_value_pos (GtkScale *scale, GtkPositionType pos);\";subroutine gtk_scale_set_value_pos(scale, pos) bind(c)\r\ngtk;gtk_scroll_info_get_enable_horizontal;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrollinfo.h;\"gboolean gtk_scroll_info_get_enable_horizontal (GtkScrollInfo *self);\";function gtk_scroll_info_get_enable_horizontal(self) bind(c)\r\ngtk;gtk_scroll_info_get_enable_vertical;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrollinfo.h;\"gboolean gtk_scroll_info_get_enable_vertical (GtkScrollInfo *self);\";function gtk_scroll_info_get_enable_vertical(self) bind(c)\r\ngtk;gtk_scroll_info_get_type;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrollinfo.h;\"GType gtk_scroll_info_get_type (void) ;\";function gtk_scroll_info_get_type() bind(c)\r\ngtk;gtk_scroll_info_new;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrollinfo.h;\"GtkScrollInfo * gtk_scroll_info_new (void);\";function gtk_scroll_info_new() bind(c)\r\ngtk;gtk_scroll_info_ref;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrollinfo.h;\"GtkScrollInfo * gtk_scroll_info_ref (GtkScrollInfo *self);\";function gtk_scroll_info_ref(self) bind(c)\r\ngtk;gtk_scroll_info_set_enable_horizontal;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrollinfo.h;\"void gtk_scroll_info_set_enable_horizontal (GtkScrollInfo *self, gboolean horizontal);\";subroutine gtk_scroll_info_set_enable_horizontal(self, horizontal) bind(c)\r\ngtk;gtk_scroll_info_set_enable_vertical;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrollinfo.h;\"void gtk_scroll_info_set_enable_vertical (GtkScrollInfo *self, gboolean vertical);\";subroutine gtk_scroll_info_set_enable_vertical(self, vertical) bind(c)\r\ngtk;gtk_scroll_info_unref;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrollinfo.h;\"void gtk_scroll_info_unref (GtkScrollInfo *self);\";subroutine gtk_scroll_info_unref(self) bind(c)\r\ngtk;gtk_scrollable_get_border;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrollable.h;\"gboolean gtk_scrollable_get_border (GtkScrollable *scrollable, GtkBorder *border);\";function gtk_scrollable_get_border(scrollable, border) bind(c)\r\ngtk;gtk_scrollable_get_hadjustment;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrollable.h;\"GtkAdjustment *gtk_scrollable_get_hadjustment (GtkScrollable *scrollable);\";function gtk_scrollable_get_hadjustment(scrollable) bind(c)\r\ngtk;gtk_scrollable_get_hscroll_policy;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrollable.h;\"GtkScrollablePolicy gtk_scrollable_get_hscroll_policy (GtkScrollable *scrollable);\";function gtk_scrollable_get_hscroll_policy(scrollable) bind(c)\r\ngtk;gtk_scrollable_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrollable.h;\"GType gtk_scrollable_get_type (void) ;\";function gtk_scrollable_get_type() bind(c)\r\ngtk;gtk_scrollable_get_vadjustment;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrollable.h;\"GtkAdjustment *gtk_scrollable_get_vadjustment (GtkScrollable *scrollable);\";function gtk_scrollable_get_vadjustment(scrollable) bind(c)\r\ngtk;gtk_scrollable_get_vscroll_policy;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrollable.h;\"GtkScrollablePolicy gtk_scrollable_get_vscroll_policy (GtkScrollable *scrollable);\";function gtk_scrollable_get_vscroll_policy(scrollable) bind(c)\r\ngtk;gtk_scrollable_set_hadjustment;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrollable.h;\"void gtk_scrollable_set_hadjustment (GtkScrollable *scrollable, GtkAdjustment *hadjustment);\";subroutine gtk_scrollable_set_hadjustment(scrollable, hadjustment) bind(c)\r\ngtk;gtk_scrollable_set_hscroll_policy;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrollable.h;\"void gtk_scrollable_set_hscroll_policy (GtkScrollable *scrollable, GtkScrollablePolicy policy);\";subroutine gtk_scrollable_set_hscroll_policy(scrollable, policy) bind(c)\r\ngtk;gtk_scrollable_set_vadjustment;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrollable.h;\"void gtk_scrollable_set_vadjustment (GtkScrollable *scrollable, GtkAdjustment *vadjustment);\";subroutine gtk_scrollable_set_vadjustment(scrollable, vadjustment) bind(c)\r\ngtk;gtk_scrollable_set_vscroll_policy;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrollable.h;\"void gtk_scrollable_set_vscroll_policy (GtkScrollable *scrollable, GtkScrollablePolicy policy);\";subroutine gtk_scrollable_set_vscroll_policy(scrollable, policy) bind(c)\r\ngtk;gtk_scrollbar_get_adjustment;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrollbar.h;\"GtkAdjustment *gtk_scrollbar_get_adjustment (GtkScrollbar *self);\";function gtk_scrollbar_get_adjustment(self) bind(c)\r\ngtk;gtk_scrollbar_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrollbar.h;\"GType gtk_scrollbar_get_type (void) ;\";function gtk_scrollbar_get_type() bind(c)\r\ngtk;gtk_scrollbar_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrollbar.h;\"GtkWidget * gtk_scrollbar_new (GtkOrientation orientation, GtkAdjustment *adjustment);\";function gtk_scrollbar_new(orientation, adjustment) bind(c)\r\ngtk;gtk_scrollbar_set_adjustment;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrollbar.h;\"void gtk_scrollbar_set_adjustment (GtkScrollbar *self, GtkAdjustment *adjustment);\";subroutine gtk_scrollbar_set_adjustment(self, adjustment) bind(c)\r\ngtk;gtk_scrolled_window_get_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrolledwindow.h;\"GtkWidget *gtk_scrolled_window_get_child (GtkScrolledWindow *scrolled_window);\";function gtk_scrolled_window_get_child(scrolled_window) bind(c)\r\ngtk;gtk_scrolled_window_get_hadjustment;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrolledwindow.h;\"GtkAdjustment* gtk_scrolled_window_get_hadjustment (GtkScrolledWindow *scrolled_window);\";function gtk_scrolled_window_get_hadjustment(scrolled_window) bind(c)\r\ngtk;gtk_scrolled_window_get_has_frame;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrolledwindow.h;\"gboolean gtk_scrolled_window_get_has_frame (GtkScrolledWindow *scrolled_window);\";function gtk_scrolled_window_get_has_frame(scrolled_window) bind(c)\r\ngtk;gtk_scrolled_window_get_hscrollbar;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrolledwindow.h;\"GtkWidget* gtk_scrolled_window_get_hscrollbar (GtkScrolledWindow *scrolled_window);\";function gtk_scrolled_window_get_hscrollbar(scrolled_window) bind(c)\r\ngtk;gtk_scrolled_window_get_kinetic_scrolling;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrolledwindow.h;\"gboolean gtk_scrolled_window_get_kinetic_scrolling (GtkScrolledWindow *scrolled_window);\";function gtk_scrolled_window_get_kinetic_scrolling(scrolled_window) bind(c)\r\ngtk;gtk_scrolled_window_get_max_content_height;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrolledwindow.h;\"int gtk_scrolled_window_get_max_content_height (GtkScrolledWindow *scrolled_window);\";function gtk_scrolled_window_get_max_content_height(scrolled_window) bind(c)\r\ngtk;gtk_scrolled_window_get_max_content_width;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrolledwindow.h;\"int gtk_scrolled_window_get_max_content_width (GtkScrolledWindow *scrolled_window);\";function gtk_scrolled_window_get_max_content_width(scrolled_window) bind(c)\r\ngtk;gtk_scrolled_window_get_min_content_height;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrolledwindow.h;\"int gtk_scrolled_window_get_min_content_height (GtkScrolledWindow *scrolled_window);\";function gtk_scrolled_window_get_min_content_height(scrolled_window) bind(c)\r\ngtk;gtk_scrolled_window_get_min_content_width;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrolledwindow.h;\"int gtk_scrolled_window_get_min_content_width (GtkScrolledWindow *scrolled_window);\";function gtk_scrolled_window_get_min_content_width(scrolled_window) bind(c)\r\ngtk;gtk_scrolled_window_get_overlay_scrolling;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrolledwindow.h;\"gboolean gtk_scrolled_window_get_overlay_scrolling (GtkScrolledWindow *scrolled_window);\";function gtk_scrolled_window_get_overlay_scrolling(scrolled_window) bind(c)\r\ngtk;gtk_scrolled_window_get_placement;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrolledwindow.h;\"GtkCornerType gtk_scrolled_window_get_placement (GtkScrolledWindow *scrolled_window);\";function gtk_scrolled_window_get_placement(scrolled_window) bind(c)\r\ngtk;gtk_scrolled_window_get_policy;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrolledwindow.h;\"void gtk_scrolled_window_get_policy (GtkScrolledWindow *scrolled_window, GtkPolicyType *hscrollbar_policy, GtkPolicyType *vscrollbar_policy);\";subroutine gtk_scrolled_window_get_policy(scrolled_window, hscrollbar_policy, vscrollbar_policy) bind(c)\r\ngtk;gtk_scrolled_window_get_propagate_natural_height;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrolledwindow.h;\"gboolean gtk_scrolled_window_get_propagate_natural_height (GtkScrolledWindow *scrolled_window);\";function gtk_scrolled_window_get_propagate_natural_height(scrolled_window) bind(c)\r\ngtk;gtk_scrolled_window_get_propagate_natural_width;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrolledwindow.h;\"gboolean gtk_scrolled_window_get_propagate_natural_width (GtkScrolledWindow *scrolled_window);\";function gtk_scrolled_window_get_propagate_natural_width(scrolled_window) bind(c)\r\ngtk;gtk_scrolled_window_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrolledwindow.h;\"GType gtk_scrolled_window_get_type (void) ;\";function gtk_scrolled_window_get_type() bind(c)\r\ngtk;gtk_scrolled_window_get_vadjustment;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrolledwindow.h;\"GtkAdjustment* gtk_scrolled_window_get_vadjustment (GtkScrolledWindow *scrolled_window);\";function gtk_scrolled_window_get_vadjustment(scrolled_window) bind(c)\r\ngtk;gtk_scrolled_window_get_vscrollbar;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrolledwindow.h;\"GtkWidget* gtk_scrolled_window_get_vscrollbar (GtkScrolledWindow *scrolled_window);\";function gtk_scrolled_window_get_vscrollbar(scrolled_window) bind(c)\r\ngtk;gtk_scrolled_window_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrolledwindow.h;\"GtkWidget* gtk_scrolled_window_new (void);\";function gtk_scrolled_window_new() bind(c)\r\ngtk;gtk_scrolled_window_set_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrolledwindow.h;\"void gtk_scrolled_window_set_child (GtkScrolledWindow *scrolled_window, GtkWidget *child);\";subroutine gtk_scrolled_window_set_child(scrolled_window, child) bind(c)\r\ngtk;gtk_scrolled_window_set_hadjustment;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrolledwindow.h;\"void gtk_scrolled_window_set_hadjustment (GtkScrolledWindow *scrolled_window, GtkAdjustment *hadjustment);\";subroutine gtk_scrolled_window_set_hadjustment(scrolled_window, hadjustment) bind(c)\r\ngtk;gtk_scrolled_window_set_has_frame;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrolledwindow.h;\"void gtk_scrolled_window_set_has_frame (GtkScrolledWindow *scrolled_window, gboolean has_frame);\";subroutine gtk_scrolled_window_set_has_frame(scrolled_window, has_frame) bind(c)\r\ngtk;gtk_scrolled_window_set_kinetic_scrolling;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrolledwindow.h;\"void gtk_scrolled_window_set_kinetic_scrolling (GtkScrolledWindow *scrolled_window, gboolean kinetic_scrolling);\";subroutine gtk_scrolled_window_set_kinetic_scrolling(scrolled_window, kinetic_scrolling) bind(c)\r\ngtk;gtk_scrolled_window_set_max_content_height;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrolledwindow.h;\"void gtk_scrolled_window_set_max_content_height (GtkScrolledWindow *scrolled_window, int height);\";subroutine gtk_scrolled_window_set_max_content_height(scrolled_window, height) bind(c)\r\ngtk;gtk_scrolled_window_set_max_content_width;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrolledwindow.h;\"void gtk_scrolled_window_set_max_content_width (GtkScrolledWindow *scrolled_window, int width);\";subroutine gtk_scrolled_window_set_max_content_width(scrolled_window, width) bind(c)\r\ngtk;gtk_scrolled_window_set_min_content_height;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrolledwindow.h;\"void gtk_scrolled_window_set_min_content_height (GtkScrolledWindow *scrolled_window, int height);\";subroutine gtk_scrolled_window_set_min_content_height(scrolled_window, height) bind(c)\r\ngtk;gtk_scrolled_window_set_min_content_width;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrolledwindow.h;\"void gtk_scrolled_window_set_min_content_width (GtkScrolledWindow *scrolled_window, int width);\";subroutine gtk_scrolled_window_set_min_content_width(scrolled_window, width) bind(c)\r\ngtk;gtk_scrolled_window_set_overlay_scrolling;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrolledwindow.h;\"void gtk_scrolled_window_set_overlay_scrolling (GtkScrolledWindow *scrolled_window, gboolean overlay_scrolling);\";subroutine gtk_scrolled_window_set_overlay_scrolling(scrolled_window, overlay_scrolling) bind(c)\r\ngtk;gtk_scrolled_window_set_placement;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrolledwindow.h;\"void gtk_scrolled_window_set_placement (GtkScrolledWindow *scrolled_window, GtkCornerType window_placement);\";subroutine gtk_scrolled_window_set_placement(scrolled_window, window_placement) bind(c)\r\ngtk;gtk_scrolled_window_set_policy;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrolledwindow.h;\"void gtk_scrolled_window_set_policy (GtkScrolledWindow *scrolled_window, GtkPolicyType hscrollbar_policy, GtkPolicyType vscrollbar_policy);\";subroutine gtk_scrolled_window_set_policy(scrolled_window, hscrollbar_policy, vscrollbar_policy) bind(c)\r\ngtk;gtk_scrolled_window_set_propagate_natural_height;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrolledwindow.h;\"void gtk_scrolled_window_set_propagate_natural_height (GtkScrolledWindow *scrolled_window, gboolean propagate);\";subroutine gtk_scrolled_window_set_propagate_natural_height(scrolled_window, propagate) bind(c)\r\ngtk;gtk_scrolled_window_set_propagate_natural_width;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrolledwindow.h;\"void gtk_scrolled_window_set_propagate_natural_width (GtkScrolledWindow *scrolled_window, gboolean propagate);\";subroutine gtk_scrolled_window_set_propagate_natural_width(scrolled_window, propagate) bind(c)\r\ngtk;gtk_scrolled_window_set_vadjustment;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrolledwindow.h;\"void gtk_scrolled_window_set_vadjustment (GtkScrolledWindow *scrolled_window, GtkAdjustment *vadjustment);\";subroutine gtk_scrolled_window_set_vadjustment(scrolled_window, vadjustment) bind(c)\r\ngtk;gtk_scrolled_window_unset_placement;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkscrolledwindow.h;\"void gtk_scrolled_window_unset_placement (GtkScrolledWindow *scrolled_window);\";subroutine gtk_scrolled_window_unset_placement(scrolled_window) bind(c)\r\ngtk;gtk_search_bar_connect_entry;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksearchbar.h;\"void gtk_search_bar_connect_entry (GtkSearchBar *bar, GtkEditable *entry);\";subroutine gtk_search_bar_connect_entry(bar, entry) bind(c)\r\ngtk;gtk_search_bar_get_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksearchbar.h;\"GtkWidget * gtk_search_bar_get_child (GtkSearchBar *bar);\";function gtk_search_bar_get_child(bar) bind(c)\r\ngtk;gtk_search_bar_get_key_capture_widget;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksearchbar.h;\"GtkWidget * gtk_search_bar_get_key_capture_widget (GtkSearchBar *bar);\";function gtk_search_bar_get_key_capture_widget(bar) bind(c)\r\ngtk;gtk_search_bar_get_search_mode;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksearchbar.h;\"gboolean gtk_search_bar_get_search_mode (GtkSearchBar *bar);\";function gtk_search_bar_get_search_mode(bar) bind(c)\r\ngtk;gtk_search_bar_get_show_close_button;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksearchbar.h;\"gboolean gtk_search_bar_get_show_close_button (GtkSearchBar *bar);\";function gtk_search_bar_get_show_close_button(bar) bind(c)\r\ngtk;gtk_search_bar_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksearchbar.h;\"GType gtk_search_bar_get_type (void) ;\";function gtk_search_bar_get_type() bind(c)\r\ngtk;gtk_search_bar_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksearchbar.h;\"GtkWidget* gtk_search_bar_new (void);\";function gtk_search_bar_new() bind(c)\r\ngtk;gtk_search_bar_set_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksearchbar.h;\"void gtk_search_bar_set_child (GtkSearchBar *bar, GtkWidget *child);\";subroutine gtk_search_bar_set_child(bar, child) bind(c)\r\ngtk;gtk_search_bar_set_key_capture_widget;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksearchbar.h;\"void gtk_search_bar_set_key_capture_widget (GtkSearchBar *bar, GtkWidget *widget);\";subroutine gtk_search_bar_set_key_capture_widget(bar, widget) bind(c)\r\ngtk;gtk_search_bar_set_search_mode;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksearchbar.h;\"void gtk_search_bar_set_search_mode (GtkSearchBar *bar, gboolean search_mode);\";subroutine gtk_search_bar_set_search_mode(bar, search_mode) bind(c)\r\ngtk;gtk_search_bar_set_show_close_button;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksearchbar.h;\"void gtk_search_bar_set_show_close_button (GtkSearchBar *bar, gboolean visible);\";subroutine gtk_search_bar_set_show_close_button(bar, visible) bind(c)\r\ngtk;gtk_search_entry_get_input_hints;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksearchentry.h;\"GtkInputHints gtk_search_entry_get_input_hints (GtkSearchEntry *entry);\";function gtk_search_entry_get_input_hints(entry) bind(c)\r\ngtk;gtk_search_entry_get_input_purpose;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksearchentry.h;\"GtkInputPurpose gtk_search_entry_get_input_purpose (GtkSearchEntry *entry);\";function gtk_search_entry_get_input_purpose(entry) bind(c)\r\ngtk;gtk_search_entry_get_key_capture_widget;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksearchentry.h;\"GtkWidget* gtk_search_entry_get_key_capture_widget (GtkSearchEntry *entry);\";function gtk_search_entry_get_key_capture_widget(entry) bind(c)\r\ngtk;gtk_search_entry_get_placeholder_text;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksearchentry.h;\"const char * gtk_search_entry_get_placeholder_text (GtkSearchEntry *entry);\";function gtk_search_entry_get_placeholder_text(entry) bind(c)\r\ngtk;gtk_search_entry_get_search_delay;GDK_AVAILABLE_IN_4_8;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksearchentry.h;\"guint gtk_search_entry_get_search_delay (GtkSearchEntry *entry);\";function gtk_search_entry_get_search_delay(entry) bind(c)\r\ngtk;gtk_search_entry_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksearchentry.h;\"GType gtk_search_entry_get_type (void) ;\";function gtk_search_entry_get_type() bind(c)\r\ngtk;gtk_search_entry_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksearchentry.h;\"GtkWidget* gtk_search_entry_new (void);\";function gtk_search_entry_new() bind(c)\r\ngtk;gtk_search_entry_set_input_hints;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksearchentry.h;\"void gtk_search_entry_set_input_hints (GtkSearchEntry *entry, GtkInputHints hints);\";subroutine gtk_search_entry_set_input_hints(entry, hints) bind(c)\r\ngtk;gtk_search_entry_set_input_purpose;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksearchentry.h;\"void gtk_search_entry_set_input_purpose (GtkSearchEntry *entry, GtkInputPurpose purpose);\";subroutine gtk_search_entry_set_input_purpose(entry, purpose) bind(c)\r\ngtk;gtk_search_entry_set_key_capture_widget;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksearchentry.h;\"void gtk_search_entry_set_key_capture_widget (GtkSearchEntry *entry, GtkWidget *widget);\";subroutine gtk_search_entry_set_key_capture_widget(entry, widget) bind(c)\r\ngtk;gtk_search_entry_set_placeholder_text;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksearchentry.h;\"void gtk_search_entry_set_placeholder_text (GtkSearchEntry *entry, const char *text);\";subroutine gtk_search_entry_set_placeholder_text(entry, text) bind(c)\r\ngtk;gtk_search_entry_set_search_delay;GDK_AVAILABLE_IN_4_8;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksearchentry.h;\"void gtk_search_entry_set_search_delay (GtkSearchEntry *entry, guint delay);\";subroutine gtk_search_entry_set_search_delay(entry, delay) bind(c)\r\ngtk;gtk_section_model_get_section;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksectionmodel.h;\"void gtk_section_model_get_section (GtkSectionModel *self, guint position, guint *out_start, guint *out_end);\";subroutine gtk_section_model_get_section(self, position, out_start, out_end) bind(c)\r\ngtk;gtk_section_model_sections_changed;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksectionmodel.h;\"void gtk_section_model_sections_changed (GtkSectionModel *self, guint position, guint n_items);\";subroutine gtk_section_model_sections_changed(self, position, n_items) bind(c)\r\ngtk;gtk_selection_filter_model_get_model;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkselectionfiltermodel.h;\"GtkSelectionModel * gtk_selection_filter_model_get_model (GtkSelectionFilterModel *self);\";function gtk_selection_filter_model_get_model(self) bind(c)\r\ngtk;gtk_selection_filter_model_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkselectionfiltermodel.h;\"GtkSelectionFilterModel * gtk_selection_filter_model_new (GtkSelectionModel *model);\";function gtk_selection_filter_model_new(model) bind(c)\r\ngtk;gtk_selection_filter_model_set_model;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkselectionfiltermodel.h;\"void gtk_selection_filter_model_set_model (GtkSelectionFilterModel *self, GtkSelectionModel *model);\";subroutine gtk_selection_filter_model_set_model(self, model) bind(c)\r\ngtk;gtk_selection_model_get_selection;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkselectionmodel.h;\"GtkBitset * gtk_selection_model_get_selection (GtkSelectionModel *model);\";function gtk_selection_model_get_selection(model) bind(c)\r\ngtk;gtk_selection_model_get_selection_in_range;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkselectionmodel.h;\"GtkBitset * gtk_selection_model_get_selection_in_range (GtkSelectionModel *model, guint position, guint n_items);\";function gtk_selection_model_get_selection_in_range(model, position, n_items) bind(c)\r\ngtk;gtk_selection_model_is_selected;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkselectionmodel.h;\"gboolean gtk_selection_model_is_selected (GtkSelectionModel *model, guint position);\";function gtk_selection_model_is_selected(model, position) bind(c)\r\ngtk;gtk_selection_model_select_all;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkselectionmodel.h;\"gboolean gtk_selection_model_select_all (GtkSelectionModel *model);\";function gtk_selection_model_select_all(model) bind(c)\r\ngtk;gtk_selection_model_select_item;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkselectionmodel.h;\"gboolean gtk_selection_model_select_item (GtkSelectionModel *model, guint position, gboolean unselect_rest);\";function gtk_selection_model_select_item(model, position, unselect_rest) bind(c)\r\ngtk;gtk_selection_model_select_range;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkselectionmodel.h;\"gboolean gtk_selection_model_select_range (GtkSelectionModel *model, guint position, guint n_items, gboolean unselect_rest);\";function gtk_selection_model_select_range(model, position, n_items, unselect_rest) bind(c)\r\ngtk;gtk_selection_model_selection_changed;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkselectionmodel.h;\"void gtk_selection_model_selection_changed (GtkSelectionModel *model, guint position, guint n_items);\";subroutine gtk_selection_model_selection_changed(model, position, n_items) bind(c)\r\ngtk;gtk_selection_model_set_selection;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkselectionmodel.h;\"gboolean gtk_selection_model_set_selection (GtkSelectionModel *model, GtkBitset *selected, GtkBitset *mask);\";function gtk_selection_model_set_selection(model, selected, mask) bind(c)\r\ngtk;gtk_selection_model_unselect_all;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkselectionmodel.h;\"gboolean gtk_selection_model_unselect_all (GtkSelectionModel *model);\";function gtk_selection_model_unselect_all(model) bind(c)\r\ngtk;gtk_selection_model_unselect_item;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkselectionmodel.h;\"gboolean gtk_selection_model_unselect_item (GtkSelectionModel *model, guint position);\";function gtk_selection_model_unselect_item(model, position) bind(c)\r\ngtk;gtk_selection_model_unselect_range;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkselectionmodel.h;\"gboolean gtk_selection_model_unselect_range (GtkSelectionModel *model, guint position, guint n_items);\";function gtk_selection_model_unselect_range(model, position, n_items) bind(c)\r\ngtk;gtk_separator_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkseparator.h;\"GType gtk_separator_get_type (void) ;\";function gtk_separator_get_type() bind(c)\r\ngtk;gtk_separator_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkseparator.h;\"GtkWidget * gtk_separator_new (GtkOrientation orientation);\";function gtk_separator_new(orientation) bind(c)\r\ngtk;gtk_set_debug_flags;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkdebug.h;\"void gtk_set_debug_flags (GtkDebugFlags flags);\";subroutine gtk_set_debug_flags(flags) bind(c)\r\ngtk;gtk_settings_get_default;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksettings.h;\"GtkSettings* gtk_settings_get_default (void);\";function gtk_settings_get_default() bind(c)\r\ngtk;gtk_settings_get_for_display;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksettings.h;\"GtkSettings* gtk_settings_get_for_display (GdkDisplay *display);\";function gtk_settings_get_for_display(display) bind(c)\r\ngtk;gtk_settings_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksettings.h;\"GType gtk_settings_get_type (void) ;\";function gtk_settings_get_type() bind(c)\r\ngtk;gtk_settings_reset_property;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksettings.h;\"void gtk_settings_reset_property (GtkSettings *settings, const char *name);\";subroutine gtk_settings_reset_property(settings, name) bind(c)\r\ngtk;gtk_shortcut_action_activate;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcutaction.h;\"gboolean gtk_shortcut_action_activate (GtkShortcutAction *self, GtkShortcutActionFlags flags, GtkWidget *widget, GVariant *args);\";function gtk_shortcut_action_activate(self, flags, widget, args) bind(c)\r\ngtk;gtk_shortcut_action_parse_string;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcutaction.h;\"GtkShortcutAction * gtk_shortcut_action_parse_string (const char * string);\";function gtk_shortcut_action_parse_string(string) bind(c)\r\ngtk;gtk_shortcut_action_print;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcutaction.h;\"void gtk_shortcut_action_print (GtkShortcutAction *self, GString *string);\";subroutine gtk_shortcut_action_print(self, string) bind(c)\r\ngtk;gtk_shortcut_action_to_string;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcutaction.h;\"char * gtk_shortcut_action_to_string (GtkShortcutAction *self);\";function gtk_shortcut_action_to_string(self) bind(c)\r\ngtk;gtk_shortcut_controller_add_shortcut;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcutcontroller.h;\"void gtk_shortcut_controller_add_shortcut (GtkShortcutController *self, GtkShortcut *shortcut);\";subroutine gtk_shortcut_controller_add_shortcut(self, shortcut) bind(c)\r\ngtk;gtk_shortcut_controller_get_mnemonics_modifiers;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcutcontroller.h;\"GdkModifierType gtk_shortcut_controller_get_mnemonics_modifiers (GtkShortcutController *self);\";function gtk_shortcut_controller_get_mnemonics_modifiers(self) bind(c)\r\ngtk;gtk_shortcut_controller_get_scope;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcutcontroller.h;\"GtkShortcutScope gtk_shortcut_controller_get_scope (GtkShortcutController *self);\";function gtk_shortcut_controller_get_scope(self) bind(c)\r\ngtk;gtk_shortcut_controller_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcutcontroller.h;\"GType gtk_shortcut_controller_get_type (void) ;\";function gtk_shortcut_controller_get_type() bind(c)\r\ngtk;gtk_shortcut_controller_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcutcontroller.h;\"GtkEventController * gtk_shortcut_controller_new (void);\";function gtk_shortcut_controller_new() bind(c)\r\ngtk;gtk_shortcut_controller_new_for_model;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcutcontroller.h;\"GtkEventController * gtk_shortcut_controller_new_for_model (GListModel *model);\";function gtk_shortcut_controller_new_for_model(model) bind(c)\r\ngtk;gtk_shortcut_controller_remove_shortcut;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcutcontroller.h;\"void gtk_shortcut_controller_remove_shortcut (GtkShortcutController *self, GtkShortcut *shortcut);\";subroutine gtk_shortcut_controller_remove_shortcut(self, shortcut) bind(c)\r\ngtk;gtk_shortcut_controller_set_mnemonics_modifiers;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcutcontroller.h;\"void gtk_shortcut_controller_set_mnemonics_modifiers (GtkShortcutController *self, GdkModifierType modifiers);\";subroutine gtk_shortcut_controller_set_mnemonics_modifiers(self, modifiers) bind(c)\r\ngtk;gtk_shortcut_controller_set_scope;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcutcontroller.h;\"void gtk_shortcut_controller_set_scope (GtkShortcutController *self, GtkShortcutScope scope);\";subroutine gtk_shortcut_controller_set_scope(self, scope) bind(c)\r\ngtk;gtk_shortcut_get_action;;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcut.h;\"GtkShortcutAction * gtk_shortcut_get_action (GtkShortcut *self);\";function gtk_shortcut_get_action(self) bind(c)\r\ngtk;gtk_shortcut_get_arguments;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcut.h;\"GVariant * gtk_shortcut_get_arguments (GtkShortcut *self);\";function gtk_shortcut_get_arguments(self) bind(c)\r\ngtk;gtk_shortcut_get_trigger;;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcut.h;\"GtkShortcutTrigger * gtk_shortcut_get_trigger (GtkShortcut *self);\";function gtk_shortcut_get_trigger(self) bind(c)\r\ngtk;gtk_shortcut_label_get_accelerator;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkshortcutlabel.h;\"const char *gtk_shortcut_label_get_accelerator (GtkShortcutLabel *self);\";function gtk_shortcut_label_get_accelerator(self) bind(c)\r\ngtk;gtk_shortcut_label_get_disabled_text;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkshortcutlabel.h;\"const char *gtk_shortcut_label_get_disabled_text (GtkShortcutLabel *self);\";function gtk_shortcut_label_get_disabled_text(self) bind(c)\r\ngtk;gtk_shortcut_label_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkshortcutlabel.h;\"GType gtk_shortcut_label_get_type (void) ;\";function gtk_shortcut_label_get_type() bind(c)\r\ngtk;gtk_shortcut_label_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkshortcutlabel.h;\"GtkWidget *gtk_shortcut_label_new (const char *accelerator);\";function gtk_shortcut_label_new(accelerator) bind(c)\r\ngtk;gtk_shortcut_label_set_accelerator;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkshortcutlabel.h;\"void gtk_shortcut_label_set_accelerator (GtkShortcutLabel *self, const char *accelerator);\";subroutine gtk_shortcut_label_set_accelerator(self, accelerator) bind(c)\r\ngtk;gtk_shortcut_label_set_disabled_text;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkshortcutlabel.h;\"void gtk_shortcut_label_set_disabled_text (GtkShortcutLabel *self, const char *disabled_text);\";subroutine gtk_shortcut_label_set_disabled_text(self, disabled_text) bind(c)\r\ngtk;gtk_shortcut_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcut.h;\"GtkShortcut * gtk_shortcut_new (GtkShortcutTrigger *trigger, GtkShortcutAction *action);\";function gtk_shortcut_new(trigger, action) bind(c)\r\ngtk;gtk_shortcut_set_action;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcut.h;\"void gtk_shortcut_set_action (GtkShortcut *self, GtkShortcutAction *action);\";subroutine gtk_shortcut_set_action(self, action) bind(c)\r\ngtk;gtk_shortcut_set_arguments;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcut.h;\"void gtk_shortcut_set_arguments (GtkShortcut *self, GVariant *args);\";subroutine gtk_shortcut_set_arguments(self, args) bind(c)\r\ngtk;gtk_shortcut_set_trigger;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcut.h;\"void gtk_shortcut_set_trigger (GtkShortcut *self, GtkShortcutTrigger *trigger);\";subroutine gtk_shortcut_set_trigger(self, trigger) bind(c)\r\ngtk;gtk_shortcut_trigger_compare;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcuttrigger.h;\"int gtk_shortcut_trigger_compare (gconstpointer trigger1, gconstpointer trigger2);\";function gtk_shortcut_trigger_compare(trigger1, trigger2) bind(c)\r\ngtk;gtk_shortcut_trigger_equal;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcuttrigger.h;\"gboolean gtk_shortcut_trigger_equal (gconstpointer trigger1, gconstpointer trigger2);\";function gtk_shortcut_trigger_equal(trigger1, trigger2) bind(c)\r\ngtk;gtk_shortcut_trigger_hash;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcuttrigger.h;\"guint gtk_shortcut_trigger_hash (gconstpointer trigger);\";function gtk_shortcut_trigger_hash(trigger) bind(c)\r\ngtk;gtk_shortcut_trigger_parse_string;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcuttrigger.h;\"GtkShortcutTrigger * gtk_shortcut_trigger_parse_string (const char *string);\";function gtk_shortcut_trigger_parse_string(string) bind(c)\r\ngtk;gtk_shortcut_trigger_print;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcuttrigger.h;\"void gtk_shortcut_trigger_print (GtkShortcutTrigger *self, GString *string);\";subroutine gtk_shortcut_trigger_print(self, string) bind(c)\r\ngtk;gtk_shortcut_trigger_print_label;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcuttrigger.h;\"gboolean gtk_shortcut_trigger_print_label (GtkShortcutTrigger *self, GdkDisplay *display, GString *string);\";function gtk_shortcut_trigger_print_label(self, display, string) bind(c)\r\ngtk;gtk_shortcut_trigger_to_label;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcuttrigger.h;\"char * gtk_shortcut_trigger_to_label (GtkShortcutTrigger *self, GdkDisplay *display);\";function gtk_shortcut_trigger_to_label(self, display) bind(c)\r\ngtk;gtk_shortcut_trigger_to_string;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcuttrigger.h;\"char * gtk_shortcut_trigger_to_string (GtkShortcutTrigger *self);\";function gtk_shortcut_trigger_to_string(self) bind(c)\r\ngtk;gtk_shortcut_trigger_trigger;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcuttrigger.h;\"GdkKeyMatch gtk_shortcut_trigger_trigger (GtkShortcutTrigger *self, GdkEvent *event, gboolean enable_mnemonics);\";function gtk_shortcut_trigger_trigger(self, event, enable_mnemonics) bind(c)\r\ngtk;gtk_shortcuts_group_add_shortcut;GDK_DEPRECATED_IN_4_18;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkshortcutsgroup.h;\"void gtk_shortcuts_group_add_shortcut (GtkShortcutsGroup *self, GtkShortcutsShortcut *shortcut);\";subroutine gtk_shortcuts_group_add_shortcut(self, shortcut) bind(c)\r\ngtk;gtk_shortcuts_group_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkshortcutsgroup.h;\"GType gtk_shortcuts_group_get_type (void) ;\";function gtk_shortcuts_group_get_type() bind(c)\r\ngtk;gtk_shortcuts_section_add_group;GDK_DEPRECATED_IN_4_18;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkshortcutssection.h;\"void gtk_shortcuts_section_add_group (GtkShortcutsSection *self, GtkShortcutsGroup *group);\";subroutine gtk_shortcuts_section_add_group(self, group) bind(c)\r\ngtk;gtk_shortcuts_section_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkshortcutssection.h;\"GType gtk_shortcuts_section_get_type (void) ;\";function gtk_shortcuts_section_get_type() bind(c)\r\ngtk;gtk_shortcuts_shortcut_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkshortcutsshortcut.h;\"GType gtk_shortcuts_shortcut_get_type (void) ;\";function gtk_shortcuts_shortcut_get_type() bind(c)\r\ngtk;gtk_shortcuts_window_add_section;GDK_DEPRECATED_IN_4_18;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkshortcutswindow.h;\"void gtk_shortcuts_window_add_section (GtkShortcutsWindow *self, GtkShortcutsSection *section);\";subroutine gtk_shortcuts_window_add_section(self, section) bind(c)\r\ngtk;gtk_shortcuts_window_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkshortcutswindow.h;\"GType gtk_shortcuts_window_get_type (void) ;\";function gtk_shortcuts_window_get_type() bind(c)\r\ngtk;gtk_show_uri;GDK_DEPRECATED_IN_4_10_FOR(gtk_uri_launcher_launch);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkshow.h;\"void gtk_show_uri (GtkWindow *parent, const char *uri, guint32 timestamp);\";subroutine gtk_show_uri(parent, uri, timestamp) bind(c)\r\ngtk;gtk_show_uri_full;GDK_DEPRECATED_IN_4_10_FOR(gtk_uri_launcher_launch);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkshow.h;\"void gtk_show_uri_full (GtkWindow *parent, const char *uri, guint32 timestamp, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine gtk_show_uri_full(parent, uri, timestamp, cancellable, callback, user_data) bind(c)\r\ngtk;gtk_show_uri_full_finish;GDK_DEPRECATED_IN_4_10_FOR(gtk_uri_launcher_launch);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkshow.h;\"gboolean gtk_show_uri_full_finish (GtkWindow *parent, GAsyncResult *result, GError **error);\";function gtk_show_uri_full_finish(parent, result, error) bind(c)\r\ngtk;gtk_signal_action_get_signal_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcutaction.h;\"const char * gtk_signal_action_get_signal_name (GtkSignalAction *self);\";function gtk_signal_action_get_signal_name(self) bind(c)\r\ngtk;gtk_signal_action_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkshortcutaction.h;\"GtkShortcutAction * gtk_signal_action_new (const char *signal_name);\";function gtk_signal_action_new(signal_name) bind(c)\r\ngtk;gtk_signal_list_item_factory_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksignallistitemfactory.h;\"GType gtk_signal_list_item_factory_get_type (void) ;\";function gtk_signal_list_item_factory_get_type() bind(c)\r\ngtk;gtk_signal_list_item_factory_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksignallistitemfactory.h;\"GtkListItemFactory * gtk_signal_list_item_factory_new (void);\";function gtk_signal_list_item_factory_new() bind(c)\r\ngtk;gtk_single_selection_get_autoselect;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksingleselection.h;\"gboolean gtk_single_selection_get_autoselect (GtkSingleSelection *self);\";function gtk_single_selection_get_autoselect(self) bind(c)\r\ngtk;gtk_single_selection_get_can_unselect;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksingleselection.h;\"gboolean gtk_single_selection_get_can_unselect (GtkSingleSelection *self);\";function gtk_single_selection_get_can_unselect(self) bind(c)\r\ngtk;gtk_single_selection_get_model;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksingleselection.h;\"GListModel * gtk_single_selection_get_model (GtkSingleSelection *self);\";function gtk_single_selection_get_model(self) bind(c)\r\ngtk;gtk_single_selection_get_selected;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksingleselection.h;\"guint gtk_single_selection_get_selected (GtkSingleSelection *self);\";function gtk_single_selection_get_selected(self) bind(c)\r\ngtk;gtk_single_selection_get_selected_item;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksingleselection.h;\"gpointer gtk_single_selection_get_selected_item (GtkSingleSelection *self);\";function gtk_single_selection_get_selected_item(self) bind(c)\r\ngtk;gtk_single_selection_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksingleselection.h;\"GtkSingleSelection * gtk_single_selection_new (GListModel *model);\";function gtk_single_selection_new(model) bind(c)\r\ngtk;gtk_single_selection_set_autoselect;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksingleselection.h;\"void gtk_single_selection_set_autoselect (GtkSingleSelection *self, gboolean autoselect);\";subroutine gtk_single_selection_set_autoselect(self, autoselect) bind(c)\r\ngtk;gtk_single_selection_set_can_unselect;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksingleselection.h;\"void gtk_single_selection_set_can_unselect (GtkSingleSelection *self, gboolean can_unselect);\";subroutine gtk_single_selection_set_can_unselect(self, can_unselect) bind(c)\r\ngtk;gtk_single_selection_set_model;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksingleselection.h;\"void gtk_single_selection_set_model (GtkSingleSelection *self, GListModel *model);\";subroutine gtk_single_selection_set_model(self, model) bind(c)\r\ngtk;gtk_single_selection_set_selected;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksingleselection.h;\"void gtk_single_selection_set_selected (GtkSingleSelection *self, guint position);\";subroutine gtk_single_selection_set_selected(self, position) bind(c)\r\ngtk;gtk_size_group_add_widget;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksizegroup.h;\"void gtk_size_group_add_widget (GtkSizeGroup *size_group, GtkWidget *widget);\";subroutine gtk_size_group_add_widget(size_group, widget) bind(c)\r\ngtk;gtk_size_group_get_mode;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksizegroup.h;\"GtkSizeGroupMode gtk_size_group_get_mode (GtkSizeGroup *size_group);\";function gtk_size_group_get_mode(size_group) bind(c)\r\ngtk;gtk_size_group_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksizegroup.h;\"GType gtk_size_group_get_type (void) ;\";function gtk_size_group_get_type() bind(c)\r\ngtk;gtk_size_group_get_widgets;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksizegroup.h;\"GSList * gtk_size_group_get_widgets (GtkSizeGroup *size_group);\";function gtk_size_group_get_widgets(size_group) bind(c)\r\ngtk;gtk_size_group_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksizegroup.h;\"GtkSizeGroup * gtk_size_group_new (GtkSizeGroupMode mode);\";function gtk_size_group_new(mode) bind(c)\r\ngtk;gtk_size_group_remove_widget;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksizegroup.h;\"void gtk_size_group_remove_widget (GtkSizeGroup *size_group, GtkWidget *widget);\";subroutine gtk_size_group_remove_widget(size_group, widget) bind(c)\r\ngtk;gtk_size_group_set_mode;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksizegroup.h;\"void gtk_size_group_set_mode (GtkSizeGroup *size_group, GtkSizeGroupMode mode);\";subroutine gtk_size_group_set_mode(size_group, mode) bind(c)\r\ngtk;gtk_slice_list_model_get_model;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkslicelistmodel.h;\"GListModel * gtk_slice_list_model_get_model (GtkSliceListModel *self);\";function gtk_slice_list_model_get_model(self) bind(c)\r\ngtk;gtk_slice_list_model_get_offset;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkslicelistmodel.h;\"guint gtk_slice_list_model_get_offset (GtkSliceListModel *self);\";function gtk_slice_list_model_get_offset(self) bind(c)\r\ngtk;gtk_slice_list_model_get_size;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkslicelistmodel.h;\"guint gtk_slice_list_model_get_size (GtkSliceListModel *self);\";function gtk_slice_list_model_get_size(self) bind(c)\r\ngtk;gtk_slice_list_model_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkslicelistmodel.h;\"GtkSliceListModel * gtk_slice_list_model_new (GListModel *model, guint offset, guint size);\";function gtk_slice_list_model_new(model, offset, size) bind(c)\r\ngtk;gtk_slice_list_model_set_model;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkslicelistmodel.h;\"void gtk_slice_list_model_set_model (GtkSliceListModel *self, GListModel *model);\";subroutine gtk_slice_list_model_set_model(self, model) bind(c)\r\ngtk;gtk_slice_list_model_set_offset;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkslicelistmodel.h;\"void gtk_slice_list_model_set_offset (GtkSliceListModel *self, guint offset);\";subroutine gtk_slice_list_model_set_offset(self, offset) bind(c)\r\ngtk;gtk_slice_list_model_set_size;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkslicelistmodel.h;\"void gtk_slice_list_model_set_size (GtkSliceListModel *self, guint size);\";subroutine gtk_slice_list_model_set_size(self, size) bind(c)\r\ngtk;gtk_snapshot_append_cairo;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"cairo_t * gtk_snapshot_append_cairo (GtkSnapshot *snapshot, const graphene_rect_t *bounds);\";function gtk_snapshot_append_cairo(snapshot, bounds) bind(c)\r\ngtk;gtk_snapshot_append_color;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_append_color (GtkSnapshot *snapshot, const GdkRGBA *color, const graphene_rect_t *bounds);\";subroutine gtk_snapshot_append_color(snapshot, color, bounds) bind(c)\r\ngtk;gtk_snapshot_append_conic_gradient;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_append_conic_gradient (GtkSnapshot *snapshot, const graphene_rect_t *bounds, const graphene_point_t *center, float rotation, const GskColorStop *stops, gsize n_stops);\";subroutine gtk_snapshot_append_conic_gradient(snapshot, bounds, center, rotation, stops, n_stops) bind(c)\r\ngtk;gtk_snapshot_append_fill;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_append_fill (GtkSnapshot *snapshot, GskPath *path, GskFillRule fill_rule, const GdkRGBA *color);\";subroutine gtk_snapshot_append_fill(snapshot, path, fill_rule, color) bind(c)\r\ngtk;gtk_snapshot_append_inset_shadow;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_append_inset_shadow (GtkSnapshot *snapshot, const GskRoundedRect *outline, const GdkRGBA *color, float dx, float dy, float spread, float blur_radius);\";subroutine gtk_snapshot_append_inset_shadow(snapshot, outline, color, dx, dy, spread, blur_radius) bind(c)\r\ngtk;gtk_snapshot_append_layout;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_append_layout (GtkSnapshot *snapshot, PangoLayout *layout, const GdkRGBA *color);\";subroutine gtk_snapshot_append_layout(snapshot, layout, color) bind(c)\r\ngtk;gtk_snapshot_append_linear_gradient;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_append_linear_gradient (GtkSnapshot *snapshot, const graphene_rect_t *bounds, const graphene_point_t *start_point, const graphene_point_t *end_point, const GskColorStop *stops, gsize n_stops);\";subroutine gtk_snapshot_append_linear_gradient(snapshot, bounds, start_point, end_point, stops, n_stops) bind(c)\r\ngtk;gtk_snapshot_append_node;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_append_node (GtkSnapshot *snapshot, GskRenderNode *node);\";subroutine gtk_snapshot_append_node(snapshot, node) bind(c)\r\ngtk;gtk_snapshot_append_outset_shadow;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_append_outset_shadow (GtkSnapshot *snapshot, const GskRoundedRect *outline, const GdkRGBA *color, float dx, float dy, float spread, float blur_radius);\";subroutine gtk_snapshot_append_outset_shadow(snapshot, outline, color, dx, dy, spread, blur_radius) bind(c)\r\ngtk;gtk_snapshot_append_radial_gradient;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_append_radial_gradient (GtkSnapshot *snapshot, const graphene_rect_t *bounds, const graphene_point_t *center, float hradius, float vradius, float start, float end, const GskColorStop *stops, gsize n_stops);\";subroutine gtk_snapshot_append_radial_gradient(snapshot, bounds, center, hradius, vradius, start, end, stops, n_stops) bind(c)\r\ngtk;gtk_snapshot_append_repeating_linear_gradient;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_append_repeating_linear_gradient (GtkSnapshot *snapshot, const graphene_rect_t *bounds, const graphene_point_t *start_point, const graphene_point_t *end_point, const GskColorStop *stops, gsize n_stops);\";subroutine gtk_snapshot_append_repeating_linear_gradient(snapshot, bounds, start_point, end_point, stops, n_stops) bind(c)\r\ngtk;gtk_snapshot_append_repeating_radial_gradient;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_append_repeating_radial_gradient (GtkSnapshot *snapshot, const graphene_rect_t *bounds, const graphene_point_t *center, float hradius, float vradius, float start, float end, const GskColorStop *stops, gsize n_stops);\";subroutine gtk_snapshot_append_repeating_radial_gradient(snapshot, bounds, center, hradius, vradius, start, end, stops, n_stops) bind(c)\r\ngtk;gtk_snapshot_append_scaled_texture;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_append_scaled_texture (GtkSnapshot *snapshot, GdkTexture *texture, GskScalingFilter filter, const graphene_rect_t *bounds);\";subroutine gtk_snapshot_append_scaled_texture(snapshot, texture, filter, bounds) bind(c)\r\ngtk;gtk_snapshot_append_stroke;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_append_stroke (GtkSnapshot *snapshot, GskPath *path, const GskStroke *stroke, const GdkRGBA *color);\";subroutine gtk_snapshot_append_stroke(snapshot, path, stroke, color) bind(c)\r\ngtk;gtk_snapshot_append_texture;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_append_texture (GtkSnapshot *snapshot, GdkTexture *texture, const graphene_rect_t *bounds);\";subroutine gtk_snapshot_append_texture(snapshot, texture, bounds) bind(c)\r\ngtk;gtk_snapshot_free_to_node;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"GskRenderNode * gtk_snapshot_free_to_node (GtkSnapshot *snapshot);\";function gtk_snapshot_free_to_node(snapshot) bind(c)\r\ngtk;gtk_snapshot_free_to_paintable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"GdkPaintable * gtk_snapshot_free_to_paintable (GtkSnapshot *snapshot, const graphene_size_t *size);\";function gtk_snapshot_free_to_paintable(snapshot, size) bind(c)\r\ngtk;gtk_snapshot_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"GType gtk_snapshot_get_type (void) ;\";function gtk_snapshot_get_type() bind(c)\r\ngtk;gtk_snapshot_gl_shader_pop_texture;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_gl_shader_pop_texture (GtkSnapshot *snapshot);\";subroutine gtk_snapshot_gl_shader_pop_texture(snapshot) bind(c)\r\ngtk;gtk_snapshot_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"GtkSnapshot * gtk_snapshot_new (void);\";function gtk_snapshot_new() bind(c)\r\ngtk;gtk_snapshot_perspective;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_perspective (GtkSnapshot *snapshot, float depth);\";subroutine gtk_snapshot_perspective(snapshot, depth) bind(c)\r\ngtk;gtk_snapshot_pop;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_pop (GtkSnapshot *snapshot);\";subroutine gtk_snapshot_pop(snapshot) bind(c)\r\ngtk;gtk_snapshot_push_blend;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_push_blend (GtkSnapshot *snapshot, GskBlendMode blend_mode);\";subroutine gtk_snapshot_push_blend(snapshot, blend_mode) bind(c)\r\ngtk;gtk_snapshot_push_blur;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_push_blur (GtkSnapshot *snapshot, double radius);\";subroutine gtk_snapshot_push_blur(snapshot, radius) bind(c)\r\ngtk;gtk_snapshot_push_clip;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_push_clip (GtkSnapshot *snapshot, const graphene_rect_t *bounds);\";subroutine gtk_snapshot_push_clip(snapshot, bounds) bind(c)\r\ngtk;gtk_snapshot_push_color_matrix;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_push_color_matrix (GtkSnapshot *snapshot, const graphene_matrix_t*color_matrix, const graphene_vec4_t *color_offset);\";subroutine gtk_snapshot_push_color_matrix(snapshot, color_matrix, color_offset) bind(c)\r\ngtk;gtk_snapshot_push_component_transfer;GDK_AVAILABLE_IN_4_20;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_push_component_transfer (GtkSnapshot *snapshot, const GskComponentTransfer *red, const GskComponentTransfer *green, const GskComponentTransfer *blue, const GskComponentTransfer *alpha);\";subroutine gtk_snapshot_push_component_transfer(snapshot, red, green, blue, alpha) bind(c)\r\ngtk;gtk_snapshot_push_cross_fade;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_push_cross_fade (GtkSnapshot *snapshot, double progress);\";subroutine gtk_snapshot_push_cross_fade(snapshot, progress) bind(c)\r\ngtk;gtk_snapshot_push_fill;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_push_fill (GtkSnapshot *snapshot, GskPath *path, GskFillRule fill_rule);\";subroutine gtk_snapshot_push_fill(snapshot, path, fill_rule) bind(c)\r\ngtk;gtk_snapshot_push_gl_shader;GDK_DEPRECATED_IN_4_16_FOR(GtkGLArea);gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_push_gl_shader (GtkSnapshot *snapshot, GskGLShader *shader, const graphene_rect_t *bounds, GBytes *take_args);\";subroutine gtk_snapshot_push_gl_shader(snapshot, shader, bounds, take_args) bind(c)\r\ngtk;gtk_snapshot_push_mask;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_push_mask (GtkSnapshot *snapshot, GskMaskMode mask_mode);\";subroutine gtk_snapshot_push_mask(snapshot, mask_mode) bind(c)\r\ngtk;gtk_snapshot_push_opacity;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_push_opacity (GtkSnapshot *snapshot, double opacity);\";subroutine gtk_snapshot_push_opacity(snapshot, opacity) bind(c)\r\ngtk;gtk_snapshot_push_repeat;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_push_repeat (GtkSnapshot *snapshot, const graphene_rect_t *bounds, const graphene_rect_t *child_bounds);\";subroutine gtk_snapshot_push_repeat(snapshot, bounds, child_bounds) bind(c)\r\ngtk;gtk_snapshot_push_rounded_clip;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_push_rounded_clip (GtkSnapshot *snapshot, const GskRoundedRect *bounds);\";subroutine gtk_snapshot_push_rounded_clip(snapshot, bounds) bind(c)\r\ngtk;gtk_snapshot_push_shadow;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_push_shadow (GtkSnapshot *snapshot, const GskShadow *shadow, gsize n_shadows);\";subroutine gtk_snapshot_push_shadow(snapshot, shadow, n_shadows) bind(c)\r\ngtk;gtk_snapshot_push_stroke;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_push_stroke (GtkSnapshot *snapshot, GskPath *path, const GskStroke *stroke);\";subroutine gtk_snapshot_push_stroke(snapshot, path, stroke) bind(c)\r\ngtk;gtk_snapshot_render_background;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkrender.h;\"void gtk_snapshot_render_background (GtkSnapshot *snapshot, GtkStyleContext *context, double x, double y, double width, double height);\";subroutine gtk_snapshot_render_background(snapshot, context, x, y, width, height) bind(c)\r\ngtk;gtk_snapshot_render_focus;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkrender.h;\"void gtk_snapshot_render_focus (GtkSnapshot *snapshot, GtkStyleContext *context, double x, double y, double width, double height);\";subroutine gtk_snapshot_render_focus(snapshot, context, x, y, width, height) bind(c)\r\ngtk;gtk_snapshot_render_frame;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkrender.h;\"void gtk_snapshot_render_frame (GtkSnapshot *snapshot, GtkStyleContext *context, double x, double y, double width, double height);\";subroutine gtk_snapshot_render_frame(snapshot, context, x, y, width, height) bind(c)\r\ngtk;gtk_snapshot_render_insertion_cursor;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkrender.h;\"void gtk_snapshot_render_insertion_cursor (GtkSnapshot *snapshot, GtkStyleContext *context, double x, double y, PangoLayout *layout, int index, PangoDirection direction);\";subroutine gtk_snapshot_render_insertion_cursor(snapshot, context, x, y, layout, index, direction) bind(c)\r\ngtk;gtk_snapshot_render_layout;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkrender.h;\"void gtk_snapshot_render_layout (GtkSnapshot *snapshot, GtkStyleContext *context, double x, double y, PangoLayout *layout);\";subroutine gtk_snapshot_render_layout(snapshot, context, x, y, layout) bind(c)\r\ngtk;gtk_snapshot_restore;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_restore (GtkSnapshot *snapshot);\";subroutine gtk_snapshot_restore(snapshot) bind(c)\r\ngtk;gtk_snapshot_rotate;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_rotate (GtkSnapshot *snapshot, float angle);\";subroutine gtk_snapshot_rotate(snapshot, angle) bind(c)\r\ngtk;gtk_snapshot_rotate_3d;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_rotate_3d (GtkSnapshot *snapshot, float angle, const graphene_vec3_t *axis);\";subroutine gtk_snapshot_rotate_3d(snapshot, angle, axis) bind(c)\r\ngtk;gtk_snapshot_save;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_save (GtkSnapshot *snapshot);\";subroutine gtk_snapshot_save(snapshot) bind(c)\r\ngtk;gtk_snapshot_scale;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_scale (GtkSnapshot *snapshot, float factor_x, float factor_y);\";subroutine gtk_snapshot_scale(snapshot, factor_x, factor_y) bind(c)\r\ngtk;gtk_snapshot_scale_3d;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_scale_3d (GtkSnapshot *snapshot, float factor_x, float factor_y, float factor_z);\";subroutine gtk_snapshot_scale_3d(snapshot, factor_x, factor_y, factor_z) bind(c)\r\ngtk;gtk_snapshot_to_node;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"GskRenderNode * gtk_snapshot_to_node (GtkSnapshot *snapshot);\";function gtk_snapshot_to_node(snapshot) bind(c)\r\ngtk;gtk_snapshot_to_paintable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"GdkPaintable * gtk_snapshot_to_paintable (GtkSnapshot *snapshot, const graphene_size_t *size);\";function gtk_snapshot_to_paintable(snapshot, size) bind(c)\r\ngtk;gtk_snapshot_transform;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_transform (GtkSnapshot *snapshot, GskTransform *transform);\";subroutine gtk_snapshot_transform(snapshot, transform) bind(c)\r\ngtk;gtk_snapshot_transform_matrix;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_transform_matrix (GtkSnapshot *snapshot, const graphene_matrix_t*matrix);\";subroutine gtk_snapshot_transform_matrix(snapshot, matrix) bind(c)\r\ngtk;gtk_snapshot_translate;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_translate (GtkSnapshot *snapshot, const graphene_point_t *point);\";subroutine gtk_snapshot_translate(snapshot, point) bind(c)\r\ngtk;gtk_snapshot_translate_3d;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksnapshot.h;\"void gtk_snapshot_translate_3d (GtkSnapshot *snapshot, const graphene_point3d_t*point);\";subroutine gtk_snapshot_translate_3d(snapshot, point) bind(c)\r\ngtk;gtk_sort_list_model_get_incremental;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksortlistmodel.h;\"gboolean gtk_sort_list_model_get_incremental (GtkSortListModel *self);\";function gtk_sort_list_model_get_incremental(self) bind(c)\r\ngtk;gtk_sort_list_model_get_model;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksortlistmodel.h;\"GListModel * gtk_sort_list_model_get_model (GtkSortListModel *self);\";function gtk_sort_list_model_get_model(self) bind(c)\r\ngtk;gtk_sort_list_model_get_pending;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksortlistmodel.h;\"guint gtk_sort_list_model_get_pending (GtkSortListModel *self);\";function gtk_sort_list_model_get_pending(self) bind(c)\r\ngtk;gtk_sort_list_model_get_section_sorter;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksortlistmodel.h;\"GtkSorter * gtk_sort_list_model_get_section_sorter (GtkSortListModel *self);\";function gtk_sort_list_model_get_section_sorter(self) bind(c)\r\ngtk;gtk_sort_list_model_get_sorter;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksortlistmodel.h;\"GtkSorter * gtk_sort_list_model_get_sorter (GtkSortListModel *self);\";function gtk_sort_list_model_get_sorter(self) bind(c)\r\ngtk;gtk_sort_list_model_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksortlistmodel.h;\"GtkSortListModel * gtk_sort_list_model_new (GListModel *model, GtkSorter *sorter);\";function gtk_sort_list_model_new(model, sorter) bind(c)\r\ngtk;gtk_sort_list_model_set_incremental;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksortlistmodel.h;\"void gtk_sort_list_model_set_incremental (GtkSortListModel *self, gboolean incremental);\";subroutine gtk_sort_list_model_set_incremental(self, incremental) bind(c)\r\ngtk;gtk_sort_list_model_set_model;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksortlistmodel.h;\"void gtk_sort_list_model_set_model (GtkSortListModel *self, GListModel *model);\";subroutine gtk_sort_list_model_set_model(self, model) bind(c)\r\ngtk;gtk_sort_list_model_set_section_sorter;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksortlistmodel.h;\"void gtk_sort_list_model_set_section_sorter (GtkSortListModel *self, GtkSorter *sorter);\";subroutine gtk_sort_list_model_set_section_sorter(self, sorter) bind(c)\r\ngtk;gtk_sort_list_model_set_sorter;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksortlistmodel.h;\"void gtk_sort_list_model_set_sorter (GtkSortListModel *self, GtkSorter *sorter);\";subroutine gtk_sort_list_model_set_sorter(self, sorter) bind(c)\r\ngtk;gtk_sorter_changed;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksorter.h;\"void gtk_sorter_changed (GtkSorter *self, GtkSorterChange change);\";subroutine gtk_sorter_changed(self, change) bind(c)\r\ngtk;gtk_sorter_compare;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksorter.h;\"GtkOrdering gtk_sorter_compare (GtkSorter *self, gpointer item1, gpointer item2);\";function gtk_sorter_compare(self, item1, item2) bind(c)\r\ngtk;gtk_sorter_get_order;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksorter.h;\"GtkSorterOrder gtk_sorter_get_order (GtkSorter *self);\";function gtk_sorter_get_order(self) bind(c)\r\ngtk;gtk_spin_button_configure;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkspinbutton.h;\"void gtk_spin_button_configure (GtkSpinButton *spin_button, GtkAdjustment *adjustment, double climb_rate, guint digits);\";subroutine gtk_spin_button_configure(spin_button, adjustment, climb_rate, digits) bind(c)\r\ngtk;gtk_spin_button_get_activates_default;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkspinbutton.h;\"gboolean gtk_spin_button_get_activates_default (GtkSpinButton *spin_button);\";function gtk_spin_button_get_activates_default(spin_button) bind(c)\r\ngtk;gtk_spin_button_get_adjustment;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkspinbutton.h;\"GtkAdjustment* gtk_spin_button_get_adjustment (GtkSpinButton *spin_button);\";function gtk_spin_button_get_adjustment(spin_button) bind(c)\r\ngtk;gtk_spin_button_get_climb_rate;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkspinbutton.h;\"double gtk_spin_button_get_climb_rate (GtkSpinButton *spin_button);\";function gtk_spin_button_get_climb_rate(spin_button) bind(c)\r\ngtk;gtk_spin_button_get_digits;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkspinbutton.h;\"guint gtk_spin_button_get_digits (GtkSpinButton *spin_button);\";function gtk_spin_button_get_digits(spin_button) bind(c)\r\ngtk;gtk_spin_button_get_increments;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkspinbutton.h;\"void gtk_spin_button_get_increments (GtkSpinButton *spin_button, double *step, double *page);\";subroutine gtk_spin_button_get_increments(spin_button, step, page) bind(c)\r\ngtk;gtk_spin_button_get_numeric;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkspinbutton.h;\"gboolean gtk_spin_button_get_numeric (GtkSpinButton *spin_button);\";function gtk_spin_button_get_numeric(spin_button) bind(c)\r\ngtk;gtk_spin_button_get_range;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkspinbutton.h;\"void gtk_spin_button_get_range (GtkSpinButton *spin_button, double *min, double *max);\";subroutine gtk_spin_button_get_range(spin_button, min, max) bind(c)\r\ngtk;gtk_spin_button_get_snap_to_ticks;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkspinbutton.h;\"gboolean gtk_spin_button_get_snap_to_ticks (GtkSpinButton *spin_button);\";function gtk_spin_button_get_snap_to_ticks(spin_button) bind(c)\r\ngtk;gtk_spin_button_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkspinbutton.h;\"GType gtk_spin_button_get_type (void) ;\";function gtk_spin_button_get_type() bind(c)\r\ngtk;gtk_spin_button_get_update_policy;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkspinbutton.h;\"GtkSpinButtonUpdatePolicy gtk_spin_button_get_update_policy (GtkSpinButton *spin_button);\";function gtk_spin_button_get_update_policy(spin_button) bind(c)\r\ngtk;gtk_spin_button_get_value;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkspinbutton.h;\"double gtk_spin_button_get_value (GtkSpinButton *spin_button);\";function gtk_spin_button_get_value(spin_button) bind(c)\r\ngtk;gtk_spin_button_get_value_as_int;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkspinbutton.h;\"int gtk_spin_button_get_value_as_int (GtkSpinButton *spin_button);\";function gtk_spin_button_get_value_as_int(spin_button) bind(c)\r\ngtk;gtk_spin_button_get_wrap;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkspinbutton.h;\"gboolean gtk_spin_button_get_wrap (GtkSpinButton *spin_button);\";function gtk_spin_button_get_wrap(spin_button) bind(c)\r\ngtk;gtk_spin_button_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkspinbutton.h;\"GtkWidget* gtk_spin_button_new (GtkAdjustment *adjustment, double climb_rate, guint digits);\";function gtk_spin_button_new(adjustment, climb_rate, digits) bind(c)\r\ngtk;gtk_spin_button_new_with_range;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkspinbutton.h;\"GtkWidget* gtk_spin_button_new_with_range (double min, double max, double step);\";function gtk_spin_button_new_with_range(min, max, step) bind(c)\r\ngtk;gtk_spin_button_set_activates_default;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkspinbutton.h;\"void gtk_spin_button_set_activates_default (GtkSpinButton *spin_button, gboolean activates_default);\";subroutine gtk_spin_button_set_activates_default(spin_button, activates_default) bind(c)\r\ngtk;gtk_spin_button_set_adjustment;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkspinbutton.h;\"void gtk_spin_button_set_adjustment (GtkSpinButton *spin_button, GtkAdjustment *adjustment);\";subroutine gtk_spin_button_set_adjustment(spin_button, adjustment) bind(c)\r\ngtk;gtk_spin_button_set_climb_rate;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkspinbutton.h;\"void gtk_spin_button_set_climb_rate (GtkSpinButton *spin_button, double climb_rate);\";subroutine gtk_spin_button_set_climb_rate(spin_button, climb_rate) bind(c)\r\ngtk;gtk_spin_button_set_digits;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkspinbutton.h;\"void gtk_spin_button_set_digits (GtkSpinButton *spin_button, guint digits);\";subroutine gtk_spin_button_set_digits(spin_button, digits) bind(c)\r\ngtk;gtk_spin_button_set_increments;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkspinbutton.h;\"void gtk_spin_button_set_increments (GtkSpinButton *spin_button, double step, double page);\";subroutine gtk_spin_button_set_increments(spin_button, step, page) bind(c)\r\ngtk;gtk_spin_button_set_numeric;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkspinbutton.h;\"void gtk_spin_button_set_numeric (GtkSpinButton *spin_button, gboolean numeric);\";subroutine gtk_spin_button_set_numeric(spin_button, numeric) bind(c)\r\ngtk;gtk_spin_button_set_range;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkspinbutton.h;\"void gtk_spin_button_set_range (GtkSpinButton *spin_button, double min, double max);\";subroutine gtk_spin_button_set_range(spin_button, min, max) bind(c)\r\ngtk;gtk_spin_button_set_snap_to_ticks;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkspinbutton.h;\"void gtk_spin_button_set_snap_to_ticks (GtkSpinButton *spin_button, gboolean snap_to_ticks);\";subroutine gtk_spin_button_set_snap_to_ticks(spin_button, snap_to_ticks) bind(c)\r\ngtk;gtk_spin_button_set_update_policy;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkspinbutton.h;\"void gtk_spin_button_set_update_policy (GtkSpinButton *spin_button, GtkSpinButtonUpdatePolicy policy);\";subroutine gtk_spin_button_set_update_policy(spin_button, policy) bind(c)\r\ngtk;gtk_spin_button_set_value;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkspinbutton.h;\"void gtk_spin_button_set_value (GtkSpinButton *spin_button, double value);\";subroutine gtk_spin_button_set_value(spin_button, value) bind(c)\r\ngtk;gtk_spin_button_set_wrap;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkspinbutton.h;\"void gtk_spin_button_set_wrap (GtkSpinButton *spin_button, gboolean wrap);\";subroutine gtk_spin_button_set_wrap(spin_button, wrap) bind(c)\r\ngtk;gtk_spin_button_spin;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkspinbutton.h;\"void gtk_spin_button_spin (GtkSpinButton *spin_button, GtkSpinType direction, double increment);\";subroutine gtk_spin_button_spin(spin_button, direction, increment) bind(c)\r\ngtk;gtk_spin_button_update;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkspinbutton.h;\"void gtk_spin_button_update (GtkSpinButton *spin_button);\";subroutine gtk_spin_button_update(spin_button) bind(c)\r\ngtk;gtk_spinner_get_spinning;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkspinner.h;\"gboolean gtk_spinner_get_spinning (GtkSpinner *spinner);\";function gtk_spinner_get_spinning(spinner) bind(c)\r\ngtk;gtk_spinner_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkspinner.h;\"GType gtk_spinner_get_type (void) ;\";function gtk_spinner_get_type() bind(c)\r\ngtk;gtk_spinner_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkspinner.h;\"GtkWidget *gtk_spinner_new (void);\";function gtk_spinner_new() bind(c)\r\ngtk;gtk_spinner_set_spinning;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkspinner.h;\"void gtk_spinner_set_spinning (GtkSpinner *spinner, gboolean spinning);\";subroutine gtk_spinner_set_spinning(spinner, spinning) bind(c)\r\ngtk;gtk_spinner_start;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkspinner.h;\"void gtk_spinner_start (GtkSpinner *spinner);\";subroutine gtk_spinner_start(spinner) bind(c)\r\ngtk;gtk_spinner_stop;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkspinner.h;\"void gtk_spinner_stop (GtkSpinner *spinner);\";subroutine gtk_spinner_stop(spinner) bind(c)\r\ngtk;gtk_stack_add_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstack.h;\"GtkStackPage * gtk_stack_add_child (GtkStack *stack, GtkWidget *child);\";function gtk_stack_add_child(stack, child) bind(c)\r\ngtk;gtk_stack_add_named;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstack.h;\"GtkStackPage * gtk_stack_add_named (GtkStack *stack, GtkWidget *child, const char *name);\";function gtk_stack_add_named(stack, child, name) bind(c)\r\ngtk;gtk_stack_add_titled;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstack.h;\"GtkStackPage * gtk_stack_add_titled (GtkStack *stack, GtkWidget *child, const char *name, const char *title);\";function gtk_stack_add_titled(stack, child, name, title) bind(c)\r\ngtk;gtk_stack_get_child_by_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstack.h;\"GtkWidget * gtk_stack_get_child_by_name (GtkStack *stack, const char *name);\";function gtk_stack_get_child_by_name(stack, name) bind(c)\r\ngtk;gtk_stack_get_hhomogeneous;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstack.h;\"gboolean gtk_stack_get_hhomogeneous (GtkStack *stack);\";function gtk_stack_get_hhomogeneous(stack) bind(c)\r\ngtk;gtk_stack_get_interpolate_size;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstack.h;\"gboolean gtk_stack_get_interpolate_size (GtkStack *stack);\";function gtk_stack_get_interpolate_size(stack) bind(c)\r\ngtk;gtk_stack_get_page;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstack.h;\"GtkStackPage * gtk_stack_get_page (GtkStack *stack, GtkWidget *child);\";function gtk_stack_get_page(stack, child) bind(c)\r\ngtk;gtk_stack_get_pages;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstack.h;\"GtkSelectionModel * gtk_stack_get_pages (GtkStack *stack);\";function gtk_stack_get_pages(stack) bind(c)\r\ngtk;gtk_stack_get_transition_duration;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstack.h;\"guint gtk_stack_get_transition_duration (GtkStack *stack);\";function gtk_stack_get_transition_duration(stack) bind(c)\r\ngtk;gtk_stack_get_transition_running;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstack.h;\"gboolean gtk_stack_get_transition_running (GtkStack *stack);\";function gtk_stack_get_transition_running(stack) bind(c)\r\ngtk;gtk_stack_get_transition_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstack.h;\"GtkStackTransitionType gtk_stack_get_transition_type (GtkStack *stack);\";function gtk_stack_get_transition_type(stack) bind(c)\r\ngtk;gtk_stack_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstack.h;\"GType gtk_stack_get_type (void) ;\";function gtk_stack_get_type() bind(c)\r\ngtk;gtk_stack_get_vhomogeneous;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstack.h;\"gboolean gtk_stack_get_vhomogeneous (GtkStack *stack);\";function gtk_stack_get_vhomogeneous(stack) bind(c)\r\ngtk;gtk_stack_get_visible_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstack.h;\"GtkWidget * gtk_stack_get_visible_child (GtkStack *stack);\";function gtk_stack_get_visible_child(stack) bind(c)\r\ngtk;gtk_stack_get_visible_child_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstack.h;\"const char * gtk_stack_get_visible_child_name (GtkStack *stack);\";function gtk_stack_get_visible_child_name(stack) bind(c)\r\ngtk;gtk_stack_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstack.h;\"GtkWidget * gtk_stack_new (void);\";function gtk_stack_new() bind(c)\r\ngtk;gtk_stack_page_get_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstack.h;\"GtkWidget * gtk_stack_page_get_child (GtkStackPage *self);\";function gtk_stack_page_get_child(self) bind(c)\r\ngtk;gtk_stack_page_get_icon_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstack.h;\"const char * gtk_stack_page_get_icon_name (GtkStackPage *self);\";function gtk_stack_page_get_icon_name(self) bind(c)\r\ngtk;gtk_stack_page_get_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstack.h;\"const char * gtk_stack_page_get_name (GtkStackPage *self);\";function gtk_stack_page_get_name(self) bind(c)\r\ngtk;gtk_stack_page_get_needs_attention;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstack.h;\"gboolean gtk_stack_page_get_needs_attention (GtkStackPage *self);\";function gtk_stack_page_get_needs_attention(self) bind(c)\r\ngtk;gtk_stack_page_get_title;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstack.h;\"const char * gtk_stack_page_get_title (GtkStackPage *self);\";function gtk_stack_page_get_title(self) bind(c)\r\ngtk;gtk_stack_page_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstack.h;\"GType gtk_stack_page_get_type (void) ;\";function gtk_stack_page_get_type() bind(c)\r\ngtk;gtk_stack_page_get_use_underline;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstack.h;\"gboolean gtk_stack_page_get_use_underline (GtkStackPage *self);\";function gtk_stack_page_get_use_underline(self) bind(c)\r\ngtk;gtk_stack_page_get_visible;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstack.h;\"gboolean gtk_stack_page_get_visible (GtkStackPage *self);\";function gtk_stack_page_get_visible(self) bind(c)\r\ngtk;gtk_stack_page_set_icon_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstack.h;\"void gtk_stack_page_set_icon_name (GtkStackPage *self, const char *setting);\";subroutine gtk_stack_page_set_icon_name(self, setting) bind(c)\r\ngtk;gtk_stack_page_set_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstack.h;\"void gtk_stack_page_set_name (GtkStackPage *self, const char *setting);\";subroutine gtk_stack_page_set_name(self, setting) bind(c)\r\ngtk;gtk_stack_page_set_needs_attention;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstack.h;\"void gtk_stack_page_set_needs_attention (GtkStackPage *self, gboolean setting);\";subroutine gtk_stack_page_set_needs_attention(self, setting) bind(c)\r\ngtk;gtk_stack_page_set_title;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstack.h;\"void gtk_stack_page_set_title (GtkStackPage *self, const char *setting);\";subroutine gtk_stack_page_set_title(self, setting) bind(c)\r\ngtk;gtk_stack_page_set_use_underline;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstack.h;\"void gtk_stack_page_set_use_underline (GtkStackPage *self, gboolean setting);\";subroutine gtk_stack_page_set_use_underline(self, setting) bind(c)\r\ngtk;gtk_stack_page_set_visible;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstack.h;\"void gtk_stack_page_set_visible (GtkStackPage *self, gboolean visible);\";subroutine gtk_stack_page_set_visible(self, visible) bind(c)\r\ngtk;gtk_stack_remove;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstack.h;\"void gtk_stack_remove (GtkStack *stack, GtkWidget *child);\";subroutine gtk_stack_remove(stack, child) bind(c)\r\ngtk;gtk_stack_set_hhomogeneous;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstack.h;\"void gtk_stack_set_hhomogeneous (GtkStack *stack, gboolean hhomogeneous);\";subroutine gtk_stack_set_hhomogeneous(stack, hhomogeneous) bind(c)\r\ngtk;gtk_stack_set_interpolate_size;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstack.h;\"void gtk_stack_set_interpolate_size (GtkStack *stack, gboolean interpolate_size);\";subroutine gtk_stack_set_interpolate_size(stack, interpolate_size) bind(c)\r\ngtk;gtk_stack_set_transition_duration;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstack.h;\"void gtk_stack_set_transition_duration (GtkStack *stack, guint duration);\";subroutine gtk_stack_set_transition_duration(stack, duration) bind(c)\r\ngtk;gtk_stack_set_transition_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstack.h;\"void gtk_stack_set_transition_type (GtkStack *stack, GtkStackTransitionType transition);\";subroutine gtk_stack_set_transition_type(stack, transition) bind(c)\r\ngtk;gtk_stack_set_vhomogeneous;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstack.h;\"void gtk_stack_set_vhomogeneous (GtkStack *stack, gboolean vhomogeneous);\";subroutine gtk_stack_set_vhomogeneous(stack, vhomogeneous) bind(c)\r\ngtk;gtk_stack_set_visible_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstack.h;\"void gtk_stack_set_visible_child (GtkStack *stack, GtkWidget *child);\";subroutine gtk_stack_set_visible_child(stack, child) bind(c)\r\ngtk;gtk_stack_set_visible_child_full;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstack.h;\"void gtk_stack_set_visible_child_full (GtkStack *stack, const char *name, GtkStackTransitionType transition);\";subroutine gtk_stack_set_visible_child_full(stack, name, transition) bind(c)\r\ngtk;gtk_stack_set_visible_child_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstack.h;\"void gtk_stack_set_visible_child_name (GtkStack *stack, const char *name);\";subroutine gtk_stack_set_visible_child_name(stack, name) bind(c)\r\ngtk;gtk_stack_sidebar_get_stack;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstacksidebar.h;\"GtkStack * gtk_stack_sidebar_get_stack (GtkStackSidebar *self);\";function gtk_stack_sidebar_get_stack(self) bind(c)\r\ngtk;gtk_stack_sidebar_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstacksidebar.h;\"GType gtk_stack_sidebar_get_type (void) ;\";function gtk_stack_sidebar_get_type() bind(c)\r\ngtk;gtk_stack_sidebar_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstacksidebar.h;\"GtkWidget * gtk_stack_sidebar_new (void);\";function gtk_stack_sidebar_new() bind(c)\r\ngtk;gtk_stack_sidebar_set_stack;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstacksidebar.h;\"void gtk_stack_sidebar_set_stack (GtkStackSidebar *self, GtkStack *stack);\";subroutine gtk_stack_sidebar_set_stack(self, stack) bind(c)\r\ngtk;gtk_stack_switcher_get_stack;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstackswitcher.h;\"GtkStack * gtk_stack_switcher_get_stack (GtkStackSwitcher *switcher);\";function gtk_stack_switcher_get_stack(switcher) bind(c)\r\ngtk;gtk_stack_switcher_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstackswitcher.h;\"GType gtk_stack_switcher_get_type (void) ;\";function gtk_stack_switcher_get_type() bind(c)\r\ngtk;gtk_stack_switcher_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstackswitcher.h;\"GtkWidget * gtk_stack_switcher_new (void);\";function gtk_stack_switcher_new() bind(c)\r\ngtk;gtk_stack_switcher_set_stack;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstackswitcher.h;\"void gtk_stack_switcher_set_stack (GtkStackSwitcher *switcher, GtkStack *stack);\";subroutine gtk_stack_switcher_set_stack(switcher, stack) bind(c)\r\ngtk;gtk_statusbar_get_context_id;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkstatusbar.h;\"guint gtk_statusbar_get_context_id (GtkStatusbar *statusbar, const char *context_description);\";function gtk_statusbar_get_context_id(statusbar, context_description) bind(c)\r\ngtk;gtk_statusbar_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkstatusbar.h;\"GType gtk_statusbar_get_type (void) ;\";function gtk_statusbar_get_type() bind(c)\r\ngtk;gtk_statusbar_new;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkstatusbar.h;\"GtkWidget* gtk_statusbar_new (void);\";function gtk_statusbar_new() bind(c)\r\ngtk;gtk_statusbar_pop;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkstatusbar.h;\"void gtk_statusbar_pop (GtkStatusbar *statusbar, guint context_id);\";subroutine gtk_statusbar_pop(statusbar, context_id) bind(c)\r\ngtk;gtk_statusbar_push;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkstatusbar.h;\"guint gtk_statusbar_push (GtkStatusbar *statusbar, guint context_id, const char *text);\";function gtk_statusbar_push(statusbar, context_id, text) bind(c)\r\ngtk;gtk_statusbar_remove;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkstatusbar.h;\"void gtk_statusbar_remove (GtkStatusbar *statusbar, guint context_id, guint message_id);\";subroutine gtk_statusbar_remove(statusbar, context_id, message_id) bind(c)\r\ngtk;gtk_statusbar_remove_all;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkstatusbar.h;\"void gtk_statusbar_remove_all (GtkStatusbar *statusbar, guint context_id);\";subroutine gtk_statusbar_remove_all(statusbar, context_id) bind(c)\r\ngtk;gtk_string_filter_get_expression;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstringfilter.h;\"GtkExpression * gtk_string_filter_get_expression (GtkStringFilter *self);\";function gtk_string_filter_get_expression(self) bind(c)\r\ngtk;gtk_string_filter_get_ignore_case;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstringfilter.h;\"gboolean gtk_string_filter_get_ignore_case (GtkStringFilter *self);\";function gtk_string_filter_get_ignore_case(self) bind(c)\r\ngtk;gtk_string_filter_get_match_mode;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstringfilter.h;\"GtkStringFilterMatchMode gtk_string_filter_get_match_mode (GtkStringFilter *self);\";function gtk_string_filter_get_match_mode(self) bind(c)\r\ngtk;gtk_string_filter_get_search;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstringfilter.h;\"const char * gtk_string_filter_get_search (GtkStringFilter *self);\";function gtk_string_filter_get_search(self) bind(c)\r\ngtk;gtk_string_filter_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstringfilter.h;\"GtkStringFilter * gtk_string_filter_new (GtkExpression *expression);\";function gtk_string_filter_new(expression) bind(c)\r\ngtk;gtk_string_filter_set_expression;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstringfilter.h;\"void gtk_string_filter_set_expression (GtkStringFilter *self, GtkExpression *expression);\";subroutine gtk_string_filter_set_expression(self, expression) bind(c)\r\ngtk;gtk_string_filter_set_ignore_case;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstringfilter.h;\"void gtk_string_filter_set_ignore_case (GtkStringFilter *self, gboolean ignore_case);\";subroutine gtk_string_filter_set_ignore_case(self, ignore_case) bind(c)\r\ngtk;gtk_string_filter_set_match_mode;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstringfilter.h;\"void gtk_string_filter_set_match_mode (GtkStringFilter *self, GtkStringFilterMatchMode mode);\";subroutine gtk_string_filter_set_match_mode(self, mode) bind(c)\r\ngtk;gtk_string_filter_set_search;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstringfilter.h;\"void gtk_string_filter_set_search (GtkStringFilter *self, const char *search);\";subroutine gtk_string_filter_set_search(self, search) bind(c)\r\ngtk;gtk_string_list_append;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstringlist.h;\"void gtk_string_list_append (GtkStringList *self, const char *string);\";subroutine gtk_string_list_append(self, string) bind(c)\r\ngtk;gtk_string_list_find;GDK_AVAILABLE_IN_4_18;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstringlist.h;\"guint gtk_string_list_find (GtkStringList *self, const char *string);\";function gtk_string_list_find(self, string) bind(c)\r\ngtk;gtk_string_list_get_string;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstringlist.h;\"const char * gtk_string_list_get_string (GtkStringList *self, guint position);\";function gtk_string_list_get_string(self, position) bind(c)\r\ngtk;gtk_string_list_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstringlist.h;\"GtkStringList * gtk_string_list_new (const char * const *strings);\";function gtk_string_list_new(strings) bind(c)\r\ngtk;gtk_string_list_remove;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstringlist.h;\"void gtk_string_list_remove (GtkStringList *self, guint position);\";subroutine gtk_string_list_remove(self, position) bind(c)\r\ngtk;gtk_string_list_splice;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstringlist.h;\"void gtk_string_list_splice (GtkStringList *self, guint position, guint n_removals, const char * const *additions);\";subroutine gtk_string_list_splice(self, position, n_removals, additions) bind(c)\r\ngtk;gtk_string_list_take;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstringlist.h;\"void gtk_string_list_take (GtkStringList *self, char *string);\";subroutine gtk_string_list_take(self, string) bind(c)\r\ngtk;gtk_string_object_get_string;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstringlist.h;\"const char * gtk_string_object_get_string (GtkStringObject *self);\";function gtk_string_object_get_string(self) bind(c)\r\ngtk;gtk_string_object_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstringlist.h;\"GtkStringObject * gtk_string_object_new (const char *string);\";function gtk_string_object_new(string) bind(c)\r\ngtk;gtk_string_sorter_get_collation;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstringsorter.h;\"GtkCollation gtk_string_sorter_get_collation (GtkStringSorter *self);\";function gtk_string_sorter_get_collation(self) bind(c)\r\ngtk;gtk_string_sorter_get_expression;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstringsorter.h;\"GtkExpression * gtk_string_sorter_get_expression (GtkStringSorter *self);\";function gtk_string_sorter_get_expression(self) bind(c)\r\ngtk;gtk_string_sorter_get_ignore_case;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstringsorter.h;\"gboolean gtk_string_sorter_get_ignore_case (GtkStringSorter *self);\";function gtk_string_sorter_get_ignore_case(self) bind(c)\r\ngtk;gtk_string_sorter_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstringsorter.h;\"GtkStringSorter * gtk_string_sorter_new (GtkExpression *expression);\";function gtk_string_sorter_new(expression) bind(c)\r\ngtk;gtk_string_sorter_set_collation;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstringsorter.h;\"void gtk_string_sorter_set_collation (GtkStringSorter *self, GtkCollation collation);\";subroutine gtk_string_sorter_set_collation(self, collation) bind(c)\r\ngtk;gtk_string_sorter_set_expression;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstringsorter.h;\"void gtk_string_sorter_set_expression (GtkStringSorter *self, GtkExpression *expression);\";subroutine gtk_string_sorter_set_expression(self, expression) bind(c)\r\ngtk;gtk_string_sorter_set_ignore_case;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstringsorter.h;\"void gtk_string_sorter_set_ignore_case (GtkStringSorter *self, gboolean ignore_case);\";subroutine gtk_string_sorter_set_ignore_case(self, ignore_case) bind(c)\r\ngtk;gtk_style_context_add_class;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkstylecontext.h;\"void gtk_style_context_add_class (GtkStyleContext *context, const char *class_name);\";subroutine gtk_style_context_add_class(context, class_name) bind(c)\r\ngtk;gtk_style_context_add_provider;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkstylecontext.h;\"void gtk_style_context_add_provider (GtkStyleContext *context, GtkStyleProvider *provider, guint priority);\";subroutine gtk_style_context_add_provider(context, provider, priority) bind(c)\r\ngtk;gtk_style_context_add_provider_for_display;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstyleprovider.h;\"void gtk_style_context_add_provider_for_display (GdkDisplay *display, GtkStyleProvider *provider, guint priority);\";subroutine gtk_style_context_add_provider_for_display(display, provider, priority) bind(c)\r\ngtk;gtk_style_context_get_border;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkstylecontext.h;\"void gtk_style_context_get_border (GtkStyleContext *context, GtkBorder *border);\";subroutine gtk_style_context_get_border(context, border) bind(c)\r\ngtk;gtk_style_context_get_color;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkstylecontext.h;\"void gtk_style_context_get_color (GtkStyleContext *context, GdkRGBA *color);\";subroutine gtk_style_context_get_color(context, color) bind(c)\r\ngtk;gtk_style_context_get_display;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkstylecontext.h;\"GdkDisplay *gtk_style_context_get_display (GtkStyleContext *context);\";function gtk_style_context_get_display(context) bind(c)\r\ngtk;gtk_style_context_get_margin;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkstylecontext.h;\"void gtk_style_context_get_margin (GtkStyleContext *context, GtkBorder *margin);\";subroutine gtk_style_context_get_margin(context, margin) bind(c)\r\ngtk;gtk_style_context_get_padding;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkstylecontext.h;\"void gtk_style_context_get_padding (GtkStyleContext *context, GtkBorder *padding);\";subroutine gtk_style_context_get_padding(context, padding) bind(c)\r\ngtk;gtk_style_context_get_scale;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkstylecontext.h;\"int gtk_style_context_get_scale (GtkStyleContext *context);\";function gtk_style_context_get_scale(context) bind(c)\r\ngtk;gtk_style_context_get_state;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkstylecontext.h;\"GtkStateFlags gtk_style_context_get_state (GtkStyleContext *context);\";function gtk_style_context_get_state(context) bind(c)\r\ngtk;gtk_style_context_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkstylecontext.h;\"GType gtk_style_context_get_type (void) ;\";function gtk_style_context_get_type() bind(c)\r\ngtk;gtk_style_context_has_class;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkstylecontext.h;\"gboolean gtk_style_context_has_class (GtkStyleContext *context, const char *class_name);\";function gtk_style_context_has_class(context, class_name) bind(c)\r\ngtk;gtk_style_context_lookup_color;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkstylecontext.h;\"gboolean gtk_style_context_lookup_color (GtkStyleContext *context, const char *color_name, GdkRGBA *color);\";function gtk_style_context_lookup_color(context, color_name, color) bind(c)\r\ngtk;gtk_style_context_remove_class;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkstylecontext.h;\"void gtk_style_context_remove_class (GtkStyleContext *context, const char *class_name);\";subroutine gtk_style_context_remove_class(context, class_name) bind(c)\r\ngtk;gtk_style_context_remove_provider;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkstylecontext.h;\"void gtk_style_context_remove_provider (GtkStyleContext *context, GtkStyleProvider *provider);\";subroutine gtk_style_context_remove_provider(context, provider) bind(c)\r\ngtk;gtk_style_context_remove_provider_for_display;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstyleprovider.h;\"void gtk_style_context_remove_provider_for_display (GdkDisplay *display, GtkStyleProvider *provider);\";subroutine gtk_style_context_remove_provider_for_display(display, provider) bind(c)\r\ngtk;gtk_style_context_restore;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkstylecontext.h;\"void gtk_style_context_restore (GtkStyleContext *context);\";subroutine gtk_style_context_restore(context) bind(c)\r\ngtk;gtk_style_context_save;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkstylecontext.h;\"void gtk_style_context_save (GtkStyleContext *context);\";subroutine gtk_style_context_save(context) bind(c)\r\ngtk;gtk_style_context_set_display;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkstylecontext.h;\"void gtk_style_context_set_display (GtkStyleContext *context, GdkDisplay *display);\";subroutine gtk_style_context_set_display(context, display) bind(c)\r\ngtk;gtk_style_context_set_scale;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkstylecontext.h;\"void gtk_style_context_set_scale (GtkStyleContext *context, int scale);\";subroutine gtk_style_context_set_scale(context, scale) bind(c)\r\ngtk;gtk_style_context_set_state;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkstylecontext.h;\"void gtk_style_context_set_state (GtkStyleContext *context, GtkStateFlags flags);\";subroutine gtk_style_context_set_state(context, flags) bind(c)\r\ngtk;gtk_style_context_to_string;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkstylecontext.h;\"char * gtk_style_context_to_string (GtkStyleContext *context, GtkStyleContextPrintFlags flags);\";function gtk_style_context_to_string(context, flags) bind(c)\r\ngtk;gtk_style_provider_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkstyleprovider.h;\"GType gtk_style_provider_get_type (void) ;\";function gtk_style_provider_get_type() bind(c)\r\ngtk;gtk_switch_get_active;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkswitch.h;\"gboolean gtk_switch_get_active (GtkSwitch *self);\";function gtk_switch_get_active(self) bind(c)\r\ngtk;gtk_switch_get_state;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkswitch.h;\"gboolean gtk_switch_get_state (GtkSwitch *self);\";function gtk_switch_get_state(self) bind(c)\r\ngtk;gtk_switch_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkswitch.h;\"GType gtk_switch_get_type (void) ;\";function gtk_switch_get_type() bind(c)\r\ngtk;gtk_switch_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkswitch.h;\"GtkWidget * gtk_switch_new (void);\";function gtk_switch_new() bind(c)\r\ngtk;gtk_switch_set_active;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkswitch.h;\"void gtk_switch_set_active (GtkSwitch *self, gboolean is_active);\";subroutine gtk_switch_set_active(self, is_active) bind(c)\r\ngtk;gtk_switch_set_state;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkswitch.h;\"void gtk_switch_set_state (GtkSwitch *self, gboolean state);\";subroutine gtk_switch_set_state(self, state) bind(c)\r\ngtk;gtk_symbolic_paintable_snapshot_symbolic;GDK_AVAILABLE_IN_4_6;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtksymbolicpaintable.h;\"void gtk_symbolic_paintable_snapshot_symbolic (GtkSymbolicPaintable *paintable, GdkSnapshot *snapshot, double width, double height, const GdkRGBA *colors, gsize n_colors);\";subroutine gtk_symbolic_paintable_snapshot_symbolic(paintable, snapshot, width, height, colors, n_colors) bind(c)\r\ngtk;gtk_test_accessible_assertion_message_role;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktestatcontext.h;\"void gtk_test_accessible_assertion_message_role (const char *domain, const char *file, int line, const char *func, const char *expr, GtkAccessible *accessible, GtkAccessibleRole expected_role, GtkAccessibleRole actual_role);\";subroutine gtk_test_accessible_assertion_message_role(domain, file, line, func, expr, accessible, expected_role, actual_role) bind(c)\r\ngtk;gtk_test_accessible_has_property;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktestatcontext.h;\"gboolean gtk_test_accessible_has_property (GtkAccessible *accessible, GtkAccessibleProperty property);\";function gtk_test_accessible_has_property(accessible, property) bind(c)\r\ngtk;gtk_test_accessible_has_relation;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktestatcontext.h;\"gboolean gtk_test_accessible_has_relation (GtkAccessible *accessible, GtkAccessibleRelation relation);\";function gtk_test_accessible_has_relation(accessible, relation) bind(c)\r\ngtk;gtk_test_accessible_has_role;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktestatcontext.h;\"gboolean gtk_test_accessible_has_role (GtkAccessible *accessible, GtkAccessibleRole role);\";function gtk_test_accessible_has_role(accessible, role) bind(c)\r\ngtk;gtk_test_accessible_has_state;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktestatcontext.h;\"gboolean gtk_test_accessible_has_state (GtkAccessible *accessible, GtkAccessibleState state);\";function gtk_test_accessible_has_state(accessible, state) bind(c)\r\ngtk;gtk_test_list_all_types;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktestutils.h;\"const GType* gtk_test_list_all_types (guint *n_types);\";function gtk_test_list_all_types(n_types) bind(c)\r\ngtk;gtk_test_register_all_types;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktestutils.h;\"void gtk_test_register_all_types (void);\";subroutine gtk_test_register_all_types() bind(c)\r\ngtk;gtk_test_widget_wait_for_draw;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktestutils.h;\"void gtk_test_widget_wait_for_draw (GtkWidget *widget);\";subroutine gtk_test_widget_wait_for_draw(widget) bind(c)\r\ngtk;gtk_text_buffer_add_commit_notify;GDK_AVAILABLE_IN_4_16;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"guint gtk_text_buffer_add_commit_notify (GtkTextBuffer *buffer, GtkTextBufferNotifyFlags flags, GtkTextBufferCommitNotify commit_notify, gpointer user_data, GDestroyNotify destroy);\";function gtk_text_buffer_add_commit_notify(buffer, flags, commit_notify, user_data, destroy) bind(c)\r\ngtk;gtk_text_buffer_add_mark;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_add_mark (GtkTextBuffer *buffer, GtkTextMark *mark, const GtkTextIter *where);\";subroutine gtk_text_buffer_add_mark(buffer, mark, where) bind(c)\r\ngtk;gtk_text_buffer_add_selection_clipboard;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_add_selection_clipboard (GtkTextBuffer *buffer, GdkClipboard *clipboard);\";subroutine gtk_text_buffer_add_selection_clipboard(buffer, clipboard) bind(c)\r\ngtk;gtk_text_buffer_apply_tag;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_apply_tag (GtkTextBuffer *buffer, GtkTextTag *tag, const GtkTextIter *start, const GtkTextIter *end);\";subroutine gtk_text_buffer_apply_tag(buffer, tag, start, end) bind(c)\r\ngtk;gtk_text_buffer_apply_tag_by_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_apply_tag_by_name (GtkTextBuffer *buffer, const char *name, const GtkTextIter *start, const GtkTextIter *end);\";subroutine gtk_text_buffer_apply_tag_by_name(buffer, name, start, end) bind(c)\r\ngtk;gtk_text_buffer_backspace;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"gboolean gtk_text_buffer_backspace (GtkTextBuffer *buffer, GtkTextIter *iter, gboolean interactive, gboolean default_editable);\";function gtk_text_buffer_backspace(buffer, iter, interactive, default_editable) bind(c)\r\ngtk;gtk_text_buffer_begin_irreversible_action;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_begin_irreversible_action (GtkTextBuffer *buffer);\";subroutine gtk_text_buffer_begin_irreversible_action(buffer) bind(c)\r\ngtk;gtk_text_buffer_begin_user_action;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_begin_user_action (GtkTextBuffer *buffer);\";subroutine gtk_text_buffer_begin_user_action(buffer) bind(c)\r\ngtk;gtk_text_buffer_copy_clipboard;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_copy_clipboard (GtkTextBuffer *buffer, GdkClipboard *clipboard);\";subroutine gtk_text_buffer_copy_clipboard(buffer, clipboard) bind(c)\r\ngtk;gtk_text_buffer_create_child_anchor;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"GtkTextChildAnchor *gtk_text_buffer_create_child_anchor (GtkTextBuffer *buffer, GtkTextIter *iter);\";function gtk_text_buffer_create_child_anchor(buffer, iter) bind(c)\r\ngtk;gtk_text_buffer_create_mark;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"GtkTextMark *gtk_text_buffer_create_mark (GtkTextBuffer *buffer, const char *mark_name, const GtkTextIter *where, gboolean left_gravity);\";function gtk_text_buffer_create_mark(buffer, mark_name, where, left_gravity) bind(c)\r\ngtk;gtk_text_buffer_cut_clipboard;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_cut_clipboard (GtkTextBuffer *buffer, GdkClipboard *clipboard, gboolean default_editable);\";subroutine gtk_text_buffer_cut_clipboard(buffer, clipboard, default_editable) bind(c)\r\ngtk;gtk_text_buffer_delete;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_delete (GtkTextBuffer *buffer, GtkTextIter *start, GtkTextIter *end);\";subroutine gtk_text_buffer_delete(buffer, start, end) bind(c)\r\ngtk;gtk_text_buffer_delete_interactive;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"gboolean gtk_text_buffer_delete_interactive (GtkTextBuffer *buffer, GtkTextIter *start_iter, GtkTextIter *end_iter, gboolean default_editable);\";function gtk_text_buffer_delete_interactive(buffer, start_iter, end_iter, default_editable) bind(c)\r\ngtk;gtk_text_buffer_delete_mark;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_delete_mark (GtkTextBuffer *buffer, GtkTextMark *mark);\";subroutine gtk_text_buffer_delete_mark(buffer, mark) bind(c)\r\ngtk;gtk_text_buffer_delete_mark_by_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_delete_mark_by_name (GtkTextBuffer *buffer, const char *name);\";subroutine gtk_text_buffer_delete_mark_by_name(buffer, name) bind(c)\r\ngtk;gtk_text_buffer_delete_selection;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"gboolean gtk_text_buffer_delete_selection (GtkTextBuffer *buffer, gboolean interactive, gboolean default_editable);\";function gtk_text_buffer_delete_selection(buffer, interactive, default_editable) bind(c)\r\ngtk;gtk_text_buffer_end_irreversible_action;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_end_irreversible_action (GtkTextBuffer *buffer);\";subroutine gtk_text_buffer_end_irreversible_action(buffer) bind(c)\r\ngtk;gtk_text_buffer_end_user_action;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_end_user_action (GtkTextBuffer *buffer);\";subroutine gtk_text_buffer_end_user_action(buffer) bind(c)\r\ngtk;gtk_text_buffer_get_bounds;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_get_bounds (GtkTextBuffer *buffer, GtkTextIter *start, GtkTextIter *end);\";subroutine gtk_text_buffer_get_bounds(buffer, start, end) bind(c)\r\ngtk;gtk_text_buffer_get_can_redo;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"gboolean gtk_text_buffer_get_can_redo (GtkTextBuffer *buffer);\";function gtk_text_buffer_get_can_redo(buffer) bind(c)\r\ngtk;gtk_text_buffer_get_can_undo;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"gboolean gtk_text_buffer_get_can_undo (GtkTextBuffer *buffer);\";function gtk_text_buffer_get_can_undo(buffer) bind(c)\r\ngtk;gtk_text_buffer_get_char_count;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"int gtk_text_buffer_get_char_count (GtkTextBuffer *buffer);\";function gtk_text_buffer_get_char_count(buffer) bind(c)\r\ngtk;gtk_text_buffer_get_enable_undo;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"gboolean gtk_text_buffer_get_enable_undo (GtkTextBuffer *buffer);\";function gtk_text_buffer_get_enable_undo(buffer) bind(c)\r\ngtk;gtk_text_buffer_get_end_iter;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_get_end_iter (GtkTextBuffer *buffer, GtkTextIter *iter);\";subroutine gtk_text_buffer_get_end_iter(buffer, iter) bind(c)\r\ngtk;gtk_text_buffer_get_has_selection;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"gboolean gtk_text_buffer_get_has_selection (GtkTextBuffer *buffer);\";function gtk_text_buffer_get_has_selection(buffer) bind(c)\r\ngtk;gtk_text_buffer_get_insert;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"GtkTextMark* gtk_text_buffer_get_insert (GtkTextBuffer *buffer);\";function gtk_text_buffer_get_insert(buffer) bind(c)\r\ngtk;gtk_text_buffer_get_iter_at_child_anchor;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_get_iter_at_child_anchor (GtkTextBuffer *buffer, GtkTextIter *iter, GtkTextChildAnchor *anchor);\";subroutine gtk_text_buffer_get_iter_at_child_anchor(buffer, iter, anchor) bind(c)\r\ngtk;gtk_text_buffer_get_iter_at_line;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"gboolean gtk_text_buffer_get_iter_at_line (GtkTextBuffer *buffer, GtkTextIter *iter, int line_number);\";function gtk_text_buffer_get_iter_at_line(buffer, iter, line_number) bind(c)\r\ngtk;gtk_text_buffer_get_iter_at_line_index;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"gboolean gtk_text_buffer_get_iter_at_line_index (GtkTextBuffer *buffer, GtkTextIter *iter, int line_number, int byte_index);\";function gtk_text_buffer_get_iter_at_line_index(buffer, iter, line_number, byte_index) bind(c)\r\ngtk;gtk_text_buffer_get_iter_at_line_offset;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"gboolean gtk_text_buffer_get_iter_at_line_offset (GtkTextBuffer *buffer, GtkTextIter *iter, int line_number, int char_offset);\";function gtk_text_buffer_get_iter_at_line_offset(buffer, iter, line_number, char_offset) bind(c)\r\ngtk;gtk_text_buffer_get_iter_at_mark;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_get_iter_at_mark (GtkTextBuffer *buffer, GtkTextIter *iter, GtkTextMark *mark);\";subroutine gtk_text_buffer_get_iter_at_mark(buffer, iter, mark) bind(c)\r\ngtk;gtk_text_buffer_get_iter_at_offset;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_get_iter_at_offset (GtkTextBuffer *buffer, GtkTextIter *iter, int char_offset);\";subroutine gtk_text_buffer_get_iter_at_offset(buffer, iter, char_offset) bind(c)\r\ngtk;gtk_text_buffer_get_line_count;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"int gtk_text_buffer_get_line_count (GtkTextBuffer *buffer);\";function gtk_text_buffer_get_line_count(buffer) bind(c)\r\ngtk;gtk_text_buffer_get_mark;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"GtkTextMark* gtk_text_buffer_get_mark (GtkTextBuffer *buffer, const char *name);\";function gtk_text_buffer_get_mark(buffer, name) bind(c)\r\ngtk;gtk_text_buffer_get_max_undo_levels;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"guint gtk_text_buffer_get_max_undo_levels (GtkTextBuffer *buffer);\";function gtk_text_buffer_get_max_undo_levels(buffer) bind(c)\r\ngtk;gtk_text_buffer_get_modified;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"gboolean gtk_text_buffer_get_modified (GtkTextBuffer *buffer);\";function gtk_text_buffer_get_modified(buffer) bind(c)\r\ngtk;gtk_text_buffer_get_selection_bound;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"GtkTextMark* gtk_text_buffer_get_selection_bound (GtkTextBuffer *buffer);\";function gtk_text_buffer_get_selection_bound(buffer) bind(c)\r\ngtk;gtk_text_buffer_get_selection_bounds;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"gboolean gtk_text_buffer_get_selection_bounds (GtkTextBuffer *buffer, GtkTextIter *start, GtkTextIter *end);\";function gtk_text_buffer_get_selection_bounds(buffer, start, end) bind(c)\r\ngtk;gtk_text_buffer_get_selection_content;;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"GdkContentProvider * gtk_text_buffer_get_selection_content (GtkTextBuffer *buffer);\";function gtk_text_buffer_get_selection_content(buffer) bind(c)\r\ngtk;gtk_text_buffer_get_slice;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"char *gtk_text_buffer_get_slice (GtkTextBuffer *buffer, const GtkTextIter *start, const GtkTextIter *end, gboolean include_hidden_chars);\";function gtk_text_buffer_get_slice(buffer, start, end, include_hidden_chars) bind(c)\r\ngtk;gtk_text_buffer_get_start_iter;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_get_start_iter (GtkTextBuffer *buffer, GtkTextIter *iter);\";subroutine gtk_text_buffer_get_start_iter(buffer, iter) bind(c)\r\ngtk;gtk_text_buffer_get_tag_table;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"GtkTextTagTable* gtk_text_buffer_get_tag_table (GtkTextBuffer *buffer);\";function gtk_text_buffer_get_tag_table(buffer) bind(c)\r\ngtk;gtk_text_buffer_get_text;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"char *gtk_text_buffer_get_text (GtkTextBuffer *buffer, const GtkTextIter *start, const GtkTextIter *end, gboolean include_hidden_chars);\";function gtk_text_buffer_get_text(buffer, start, end, include_hidden_chars) bind(c)\r\ngtk;gtk_text_buffer_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"GType gtk_text_buffer_get_type (void) ;\";function gtk_text_buffer_get_type() bind(c)\r\ngtk;gtk_text_buffer_insert;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_insert (GtkTextBuffer *buffer, GtkTextIter *iter, const char *text, int len);\";subroutine gtk_text_buffer_insert(buffer, iter, text, len) bind(c)\r\ngtk;gtk_text_buffer_insert_at_cursor;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_insert_at_cursor (GtkTextBuffer *buffer, const char *text, int len);\";subroutine gtk_text_buffer_insert_at_cursor(buffer, text, len) bind(c)\r\ngtk;gtk_text_buffer_insert_child_anchor;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_insert_child_anchor (GtkTextBuffer *buffer, GtkTextIter *iter, GtkTextChildAnchor *anchor);\";subroutine gtk_text_buffer_insert_child_anchor(buffer, iter, anchor) bind(c)\r\ngtk;gtk_text_buffer_insert_interactive;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"gboolean gtk_text_buffer_insert_interactive (GtkTextBuffer *buffer, GtkTextIter *iter, const char *text, int len, gboolean default_editable);\";function gtk_text_buffer_insert_interactive(buffer, iter, text, len, default_editable) bind(c)\r\ngtk;gtk_text_buffer_insert_interactive_at_cursor;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"gboolean gtk_text_buffer_insert_interactive_at_cursor (GtkTextBuffer *buffer, const char *text, int len, gboolean default_editable);\";function gtk_text_buffer_insert_interactive_at_cursor(buffer, text, len, default_editable) bind(c)\r\ngtk;gtk_text_buffer_insert_markup;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_insert_markup (GtkTextBuffer *buffer, GtkTextIter *iter, const char *markup, int len);\";subroutine gtk_text_buffer_insert_markup(buffer, iter, markup, len) bind(c)\r\ngtk;gtk_text_buffer_insert_paintable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_insert_paintable (GtkTextBuffer *buffer, GtkTextIter *iter, GdkPaintable *paintable);\";subroutine gtk_text_buffer_insert_paintable(buffer, iter, paintable) bind(c)\r\ngtk;gtk_text_buffer_insert_range;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_insert_range (GtkTextBuffer *buffer, GtkTextIter *iter, const GtkTextIter *start, const GtkTextIter *end);\";subroutine gtk_text_buffer_insert_range(buffer, iter, start, end) bind(c)\r\ngtk;gtk_text_buffer_insert_range_interactive;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"gboolean gtk_text_buffer_insert_range_interactive (GtkTextBuffer *buffer, GtkTextIter *iter, const GtkTextIter *start, const GtkTextIter *end, gboolean default_editable);\";function gtk_text_buffer_insert_range_interactive(buffer, iter, start, end, default_editable) bind(c)\r\ngtk;gtk_text_buffer_move_mark;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_move_mark (GtkTextBuffer *buffer, GtkTextMark *mark, const GtkTextIter *where);\";subroutine gtk_text_buffer_move_mark(buffer, mark, where) bind(c)\r\ngtk;gtk_text_buffer_move_mark_by_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_move_mark_by_name (GtkTextBuffer *buffer, const char *name, const GtkTextIter *where);\";subroutine gtk_text_buffer_move_mark_by_name(buffer, name, where) bind(c)\r\ngtk;gtk_text_buffer_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"GtkTextBuffer *gtk_text_buffer_new (GtkTextTagTable *table);\";function gtk_text_buffer_new(table) bind(c)\r\ngtk;gtk_text_buffer_paste_clipboard;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_paste_clipboard (GtkTextBuffer *buffer, GdkClipboard *clipboard, GtkTextIter *override_location, gboolean default_editable);\";subroutine gtk_text_buffer_paste_clipboard(buffer, clipboard, override_location, default_editable) bind(c)\r\ngtk;gtk_text_buffer_place_cursor;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_place_cursor (GtkTextBuffer *buffer, const GtkTextIter *where);\";subroutine gtk_text_buffer_place_cursor(buffer, where) bind(c)\r\ngtk;gtk_text_buffer_redo;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_redo (GtkTextBuffer *buffer);\";subroutine gtk_text_buffer_redo(buffer) bind(c)\r\ngtk;gtk_text_buffer_remove_all_tags;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_remove_all_tags (GtkTextBuffer *buffer, const GtkTextIter *start, const GtkTextIter *end);\";subroutine gtk_text_buffer_remove_all_tags(buffer, start, end) bind(c)\r\ngtk;gtk_text_buffer_remove_commit_notify;GDK_AVAILABLE_IN_4_16;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_remove_commit_notify (GtkTextBuffer *buffer, guint commit_notify_handler);\";subroutine gtk_text_buffer_remove_commit_notify(buffer, commit_notify_handler) bind(c)\r\ngtk;gtk_text_buffer_remove_selection_clipboard;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_remove_selection_clipboard (GtkTextBuffer *buffer, GdkClipboard *clipboard);\";subroutine gtk_text_buffer_remove_selection_clipboard(buffer, clipboard) bind(c)\r\ngtk;gtk_text_buffer_remove_tag;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_remove_tag (GtkTextBuffer *buffer, GtkTextTag *tag, const GtkTextIter *start, const GtkTextIter *end);\";subroutine gtk_text_buffer_remove_tag(buffer, tag, start, end) bind(c)\r\ngtk;gtk_text_buffer_remove_tag_by_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_remove_tag_by_name (GtkTextBuffer *buffer, const char *name, const GtkTextIter *start, const GtkTextIter *end);\";subroutine gtk_text_buffer_remove_tag_by_name(buffer, name, start, end) bind(c)\r\ngtk;gtk_text_buffer_select_range;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_select_range (GtkTextBuffer *buffer, const GtkTextIter *ins, const GtkTextIter *bound);\";subroutine gtk_text_buffer_select_range(buffer, ins, bound) bind(c)\r\ngtk;gtk_text_buffer_set_enable_undo;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_set_enable_undo (GtkTextBuffer *buffer, gboolean enable_undo);\";subroutine gtk_text_buffer_set_enable_undo(buffer, enable_undo) bind(c)\r\ngtk;gtk_text_buffer_set_max_undo_levels;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_set_max_undo_levels (GtkTextBuffer *buffer, guint max_undo_levels);\";subroutine gtk_text_buffer_set_max_undo_levels(buffer, max_undo_levels) bind(c)\r\ngtk;gtk_text_buffer_set_modified;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_set_modified (GtkTextBuffer *buffer, gboolean setting);\";subroutine gtk_text_buffer_set_modified(buffer, setting) bind(c)\r\ngtk;gtk_text_buffer_set_text;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_set_text (GtkTextBuffer *buffer, const char *text, int len);\";subroutine gtk_text_buffer_set_text(buffer, text, len) bind(c)\r\ngtk;gtk_text_buffer_undo;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextbuffer.h;\"void gtk_text_buffer_undo (GtkTextBuffer *buffer);\";subroutine gtk_text_buffer_undo(buffer) bind(c)\r\ngtk;gtk_text_child_anchor_get_deleted;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextchild.h;\"gboolean gtk_text_child_anchor_get_deleted (GtkTextChildAnchor *anchor);\";function gtk_text_child_anchor_get_deleted(anchor) bind(c)\r\ngtk;gtk_text_child_anchor_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextchild.h;\"GType gtk_text_child_anchor_get_type (void) ;\";function gtk_text_child_anchor_get_type() bind(c)\r\ngtk;gtk_text_child_anchor_get_widgets;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextchild.h;\"GtkWidget **gtk_text_child_anchor_get_widgets (GtkTextChildAnchor *anchor, guint *out_len);\";function gtk_text_child_anchor_get_widgets(anchor, out_len) bind(c)\r\ngtk;gtk_text_child_anchor_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextchild.h;\"GtkTextChildAnchor *gtk_text_child_anchor_new (void);\";function gtk_text_child_anchor_new() bind(c)\r\ngtk;gtk_text_child_anchor_new_with_replacement;GDK_AVAILABLE_IN_4_6;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextchild.h;\"GtkTextChildAnchor *gtk_text_child_anchor_new_with_replacement (const char *character);\";function gtk_text_child_anchor_new_with_replacement(character) bind(c)\r\ngtk;gtk_text_compute_cursor_extents;GDK_AVAILABLE_IN_4_4;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktext.h;\"void gtk_text_compute_cursor_extents (GtkText *self, gsize position, graphene_rect_t *strong, graphene_rect_t *weak);\";subroutine gtk_text_compute_cursor_extents(self, position, strong, weak) bind(c)\r\ngtk;gtk_text_get_activates_default;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktext.h;\"gboolean gtk_text_get_activates_default (GtkText *self);\";function gtk_text_get_activates_default(self) bind(c)\r\ngtk;gtk_text_get_attributes;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktext.h;\"PangoAttrList * gtk_text_get_attributes (GtkText *self);\";function gtk_text_get_attributes(self) bind(c)\r\ngtk;gtk_text_get_buffer;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktext.h;\"GtkEntryBuffer *gtk_text_get_buffer (GtkText *self);\";function gtk_text_get_buffer(self) bind(c)\r\ngtk;gtk_text_get_enable_emoji_completion;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktext.h;\"gboolean gtk_text_get_enable_emoji_completion (GtkText *self);\";function gtk_text_get_enable_emoji_completion(self) bind(c)\r\ngtk;gtk_text_get_extra_menu;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktext.h;\"GMenuModel * gtk_text_get_extra_menu (GtkText *self);\";function gtk_text_get_extra_menu(self) bind(c)\r\ngtk;gtk_text_get_input_hints;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktext.h;\"GtkInputHints gtk_text_get_input_hints (GtkText *self);\";function gtk_text_get_input_hints(self) bind(c)\r\ngtk;gtk_text_get_input_purpose;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktext.h;\"GtkInputPurpose gtk_text_get_input_purpose (GtkText *self);\";function gtk_text_get_input_purpose(self) bind(c)\r\ngtk;gtk_text_get_invisible_char;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktext.h;\"gunichar gtk_text_get_invisible_char (GtkText *self);\";function gtk_text_get_invisible_char(self) bind(c)\r\ngtk;gtk_text_get_max_length;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktext.h;\"int gtk_text_get_max_length (GtkText *self);\";function gtk_text_get_max_length(self) bind(c)\r\ngtk;gtk_text_get_overwrite_mode;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktext.h;\"gboolean gtk_text_get_overwrite_mode (GtkText *self);\";function gtk_text_get_overwrite_mode(self) bind(c)\r\ngtk;gtk_text_get_placeholder_text;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktext.h;\"const char * gtk_text_get_placeholder_text (GtkText *self);\";function gtk_text_get_placeholder_text(self) bind(c)\r\ngtk;gtk_text_get_propagate_text_width;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktext.h;\"gboolean gtk_text_get_propagate_text_width (GtkText *self);\";function gtk_text_get_propagate_text_width(self) bind(c)\r\ngtk;gtk_text_get_tabs;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktext.h;\"PangoTabArray * gtk_text_get_tabs (GtkText *self);\";function gtk_text_get_tabs(self) bind(c)\r\ngtk;gtk_text_get_text_length;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktext.h;\"guint16 gtk_text_get_text_length (GtkText *self);\";function gtk_text_get_text_length(self) bind(c)\r\ngtk;gtk_text_get_truncate_multiline;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktext.h;\"gboolean gtk_text_get_truncate_multiline (GtkText *self);\";function gtk_text_get_truncate_multiline(self) bind(c)\r\ngtk;gtk_text_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktext.h;\"GType gtk_text_get_type (void) ;\";function gtk_text_get_type() bind(c)\r\ngtk;gtk_text_get_visibility;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktext.h;\"gboolean gtk_text_get_visibility (GtkText *self);\";function gtk_text_get_visibility(self) bind(c)\r\ngtk;gtk_text_grab_focus_without_selecting;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktext.h;\"gboolean gtk_text_grab_focus_without_selecting (GtkText *self);\";function gtk_text_grab_focus_without_selecting(self) bind(c)\r\ngtk;gtk_text_iter_assign;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"void gtk_text_iter_assign (GtkTextIter *iter, const GtkTextIter *other);\";subroutine gtk_text_iter_assign(iter, other) bind(c)\r\ngtk;gtk_text_iter_backward_char;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_backward_char (GtkTextIter *iter);\";function gtk_text_iter_backward_char(iter) bind(c)\r\ngtk;gtk_text_iter_backward_chars;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_backward_chars (GtkTextIter *iter, int count);\";function gtk_text_iter_backward_chars(iter, count) bind(c)\r\ngtk;gtk_text_iter_backward_cursor_position;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_backward_cursor_position (GtkTextIter *iter);\";function gtk_text_iter_backward_cursor_position(iter) bind(c)\r\ngtk;gtk_text_iter_backward_cursor_positions;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_backward_cursor_positions (GtkTextIter *iter, int count);\";function gtk_text_iter_backward_cursor_positions(iter, count) bind(c)\r\ngtk;gtk_text_iter_backward_find_char;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_backward_find_char (GtkTextIter *iter, GtkTextCharPredicate pred, gpointer user_data, const GtkTextIter *limit);\";function gtk_text_iter_backward_find_char(iter, pred, user_data, limit) bind(c)\r\ngtk;gtk_text_iter_backward_line;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_backward_line (GtkTextIter *iter);\";function gtk_text_iter_backward_line(iter) bind(c)\r\ngtk;gtk_text_iter_backward_lines;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_backward_lines (GtkTextIter *iter, int count);\";function gtk_text_iter_backward_lines(iter, count) bind(c)\r\ngtk;gtk_text_iter_backward_search;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_backward_search (const GtkTextIter *iter, const char *str, GtkTextSearchFlags flags, GtkTextIter *match_start, GtkTextIter *match_end, const GtkTextIter *limit);\";function gtk_text_iter_backward_search(iter, str, flags, match_start, match_end, limit) bind(c)\r\ngtk;gtk_text_iter_backward_sentence_start;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_backward_sentence_start (GtkTextIter *iter);\";function gtk_text_iter_backward_sentence_start(iter) bind(c)\r\ngtk;gtk_text_iter_backward_sentence_starts;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_backward_sentence_starts (GtkTextIter *iter, int count);\";function gtk_text_iter_backward_sentence_starts(iter, count) bind(c)\r\ngtk;gtk_text_iter_backward_to_tag_toggle;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_backward_to_tag_toggle (GtkTextIter *iter, GtkTextTag *tag);\";function gtk_text_iter_backward_to_tag_toggle(iter, tag) bind(c)\r\ngtk;gtk_text_iter_backward_visible_cursor_position;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_backward_visible_cursor_position (GtkTextIter *iter);\";function gtk_text_iter_backward_visible_cursor_position(iter) bind(c)\r\ngtk;gtk_text_iter_backward_visible_cursor_positions;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_backward_visible_cursor_positions (GtkTextIter *iter, int count);\";function gtk_text_iter_backward_visible_cursor_positions(iter, count) bind(c)\r\ngtk;gtk_text_iter_backward_visible_line;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_backward_visible_line (GtkTextIter *iter);\";function gtk_text_iter_backward_visible_line(iter) bind(c)\r\ngtk;gtk_text_iter_backward_visible_lines;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_backward_visible_lines (GtkTextIter *iter, int count);\";function gtk_text_iter_backward_visible_lines(iter, count) bind(c)\r\ngtk;gtk_text_iter_backward_visible_word_start;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_backward_visible_word_start (GtkTextIter *iter);\";function gtk_text_iter_backward_visible_word_start(iter) bind(c)\r\ngtk;gtk_text_iter_backward_visible_word_starts;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_backward_visible_word_starts (GtkTextIter *iter, int count);\";function gtk_text_iter_backward_visible_word_starts(iter, count) bind(c)\r\ngtk;gtk_text_iter_backward_word_start;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_backward_word_start (GtkTextIter *iter);\";function gtk_text_iter_backward_word_start(iter) bind(c)\r\ngtk;gtk_text_iter_backward_word_starts;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_backward_word_starts (GtkTextIter *iter, int count);\";function gtk_text_iter_backward_word_starts(iter, count) bind(c)\r\ngtk;gtk_text_iter_can_insert;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_can_insert (const GtkTextIter *iter, gboolean default_editability);\";function gtk_text_iter_can_insert(iter, default_editability) bind(c)\r\ngtk;gtk_text_iter_compare;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"int gtk_text_iter_compare (const GtkTextIter *lhs, const GtkTextIter *rhs);\";function gtk_text_iter_compare(lhs, rhs) bind(c)\r\ngtk;gtk_text_iter_copy;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"GtkTextIter *gtk_text_iter_copy (const GtkTextIter *iter);\";function gtk_text_iter_copy(iter) bind(c)\r\ngtk;gtk_text_iter_editable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_editable (const GtkTextIter *iter, gboolean default_setting);\";function gtk_text_iter_editable(iter, default_setting) bind(c)\r\ngtk;gtk_text_iter_ends_line;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_ends_line (const GtkTextIter *iter);\";function gtk_text_iter_ends_line(iter) bind(c)\r\ngtk;gtk_text_iter_ends_sentence;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_ends_sentence (const GtkTextIter *iter);\";function gtk_text_iter_ends_sentence(iter) bind(c)\r\ngtk;gtk_text_iter_ends_tag;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_ends_tag (const GtkTextIter *iter, GtkTextTag *tag);\";function gtk_text_iter_ends_tag(iter, tag) bind(c)\r\ngtk;gtk_text_iter_ends_word;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_ends_word (const GtkTextIter *iter);\";function gtk_text_iter_ends_word(iter) bind(c)\r\ngtk;gtk_text_iter_equal;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_equal (const GtkTextIter *lhs, const GtkTextIter *rhs);\";function gtk_text_iter_equal(lhs, rhs) bind(c)\r\ngtk;gtk_text_iter_forward_char;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_forward_char (GtkTextIter *iter);\";function gtk_text_iter_forward_char(iter) bind(c)\r\ngtk;gtk_text_iter_forward_chars;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_forward_chars (GtkTextIter *iter, int count);\";function gtk_text_iter_forward_chars(iter, count) bind(c)\r\ngtk;gtk_text_iter_forward_cursor_position;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_forward_cursor_position (GtkTextIter *iter);\";function gtk_text_iter_forward_cursor_position(iter) bind(c)\r\ngtk;gtk_text_iter_forward_cursor_positions;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_forward_cursor_positions (GtkTextIter *iter, int count);\";function gtk_text_iter_forward_cursor_positions(iter, count) bind(c)\r\ngtk;gtk_text_iter_forward_find_char;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_forward_find_char (GtkTextIter *iter, GtkTextCharPredicate pred, gpointer user_data, const GtkTextIter *limit);\";function gtk_text_iter_forward_find_char(iter, pred, user_data, limit) bind(c)\r\ngtk;gtk_text_iter_forward_line;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_forward_line (GtkTextIter *iter);\";function gtk_text_iter_forward_line(iter) bind(c)\r\ngtk;gtk_text_iter_forward_lines;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_forward_lines (GtkTextIter *iter, int count);\";function gtk_text_iter_forward_lines(iter, count) bind(c)\r\ngtk;gtk_text_iter_forward_search;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_forward_search (const GtkTextIter *iter, const char *str, GtkTextSearchFlags flags, GtkTextIter *match_start, GtkTextIter *match_end, const GtkTextIter *limit);\";function gtk_text_iter_forward_search(iter, str, flags, match_start, match_end, limit) bind(c)\r\ngtk;gtk_text_iter_forward_sentence_end;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_forward_sentence_end (GtkTextIter *iter);\";function gtk_text_iter_forward_sentence_end(iter) bind(c)\r\ngtk;gtk_text_iter_forward_sentence_ends;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_forward_sentence_ends (GtkTextIter *iter, int count);\";function gtk_text_iter_forward_sentence_ends(iter, count) bind(c)\r\ngtk;gtk_text_iter_forward_to_end;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"void gtk_text_iter_forward_to_end (GtkTextIter *iter);\";subroutine gtk_text_iter_forward_to_end(iter) bind(c)\r\ngtk;gtk_text_iter_forward_to_line_end;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_forward_to_line_end (GtkTextIter *iter);\";function gtk_text_iter_forward_to_line_end(iter) bind(c)\r\ngtk;gtk_text_iter_forward_to_tag_toggle;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_forward_to_tag_toggle (GtkTextIter *iter, GtkTextTag *tag);\";function gtk_text_iter_forward_to_tag_toggle(iter, tag) bind(c)\r\ngtk;gtk_text_iter_forward_visible_cursor_position;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_forward_visible_cursor_position (GtkTextIter *iter);\";function gtk_text_iter_forward_visible_cursor_position(iter) bind(c)\r\ngtk;gtk_text_iter_forward_visible_cursor_positions;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_forward_visible_cursor_positions (GtkTextIter *iter, int count);\";function gtk_text_iter_forward_visible_cursor_positions(iter, count) bind(c)\r\ngtk;gtk_text_iter_forward_visible_line;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_forward_visible_line (GtkTextIter *iter);\";function gtk_text_iter_forward_visible_line(iter) bind(c)\r\ngtk;gtk_text_iter_forward_visible_lines;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_forward_visible_lines (GtkTextIter *iter, int count);\";function gtk_text_iter_forward_visible_lines(iter, count) bind(c)\r\ngtk;gtk_text_iter_forward_visible_word_end;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_forward_visible_word_end (GtkTextIter *iter);\";function gtk_text_iter_forward_visible_word_end(iter) bind(c)\r\ngtk;gtk_text_iter_forward_visible_word_ends;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_forward_visible_word_ends (GtkTextIter *iter, int count);\";function gtk_text_iter_forward_visible_word_ends(iter, count) bind(c)\r\ngtk;gtk_text_iter_forward_word_end;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_forward_word_end (GtkTextIter *iter);\";function gtk_text_iter_forward_word_end(iter) bind(c)\r\ngtk;gtk_text_iter_forward_word_ends;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_forward_word_ends (GtkTextIter *iter, int count);\";function gtk_text_iter_forward_word_ends(iter, count) bind(c)\r\ngtk;gtk_text_iter_free;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"void gtk_text_iter_free (GtkTextIter *iter);\";subroutine gtk_text_iter_free(iter) bind(c)\r\ngtk;gtk_text_iter_get_buffer;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"GtkTextBuffer *gtk_text_iter_get_buffer (const GtkTextIter *iter);\";function gtk_text_iter_get_buffer(iter) bind(c)\r\ngtk;gtk_text_iter_get_bytes_in_line;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"int gtk_text_iter_get_bytes_in_line (const GtkTextIter *iter);\";function gtk_text_iter_get_bytes_in_line(iter) bind(c)\r\ngtk;gtk_text_iter_get_char;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gunichar gtk_text_iter_get_char (const GtkTextIter *iter);\";function gtk_text_iter_get_char(iter) bind(c)\r\ngtk;gtk_text_iter_get_chars_in_line;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"int gtk_text_iter_get_chars_in_line (const GtkTextIter *iter);\";function gtk_text_iter_get_chars_in_line(iter) bind(c)\r\ngtk;gtk_text_iter_get_child_anchor;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"GtkTextChildAnchor* gtk_text_iter_get_child_anchor (const GtkTextIter *iter);\";function gtk_text_iter_get_child_anchor(iter) bind(c)\r\ngtk;gtk_text_iter_get_language;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"PangoLanguage* gtk_text_iter_get_language (const GtkTextIter *iter);\";function gtk_text_iter_get_language(iter) bind(c)\r\ngtk;gtk_text_iter_get_line;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"int gtk_text_iter_get_line (const GtkTextIter *iter);\";function gtk_text_iter_get_line(iter) bind(c)\r\ngtk;gtk_text_iter_get_line_index;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"int gtk_text_iter_get_line_index (const GtkTextIter *iter);\";function gtk_text_iter_get_line_index(iter) bind(c)\r\ngtk;gtk_text_iter_get_line_offset;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"int gtk_text_iter_get_line_offset (const GtkTextIter *iter);\";function gtk_text_iter_get_line_offset(iter) bind(c)\r\ngtk;gtk_text_iter_get_marks;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"GSList *gtk_text_iter_get_marks (const GtkTextIter *iter);\";function gtk_text_iter_get_marks(iter) bind(c)\r\ngtk;gtk_text_iter_get_offset;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"int gtk_text_iter_get_offset (const GtkTextIter *iter);\";function gtk_text_iter_get_offset(iter) bind(c)\r\ngtk;gtk_text_iter_get_paintable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"GdkPaintable *gtk_text_iter_get_paintable (const GtkTextIter *iter);\";function gtk_text_iter_get_paintable(iter) bind(c)\r\ngtk;gtk_text_iter_get_slice;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"char *gtk_text_iter_get_slice (const GtkTextIter *start, const GtkTextIter *end);\";function gtk_text_iter_get_slice(start, end) bind(c)\r\ngtk;gtk_text_iter_get_tags;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"GSList *gtk_text_iter_get_tags (const GtkTextIter *iter);\";function gtk_text_iter_get_tags(iter) bind(c)\r\ngtk;gtk_text_iter_get_text;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"char *gtk_text_iter_get_text (const GtkTextIter *start, const GtkTextIter *end);\";function gtk_text_iter_get_text(start, end) bind(c)\r\ngtk;gtk_text_iter_get_toggled_tags;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"GSList *gtk_text_iter_get_toggled_tags (const GtkTextIter *iter, gboolean toggled_on);\";function gtk_text_iter_get_toggled_tags(iter, toggled_on) bind(c)\r\ngtk;gtk_text_iter_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"GType gtk_text_iter_get_type (void) ;\";function gtk_text_iter_get_type() bind(c)\r\ngtk;gtk_text_iter_get_visible_line_index;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"int gtk_text_iter_get_visible_line_index (const GtkTextIter *iter);\";function gtk_text_iter_get_visible_line_index(iter) bind(c)\r\ngtk;gtk_text_iter_get_visible_line_offset;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"int gtk_text_iter_get_visible_line_offset (const GtkTextIter *iter);\";function gtk_text_iter_get_visible_line_offset(iter) bind(c)\r\ngtk;gtk_text_iter_get_visible_slice;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"char *gtk_text_iter_get_visible_slice (const GtkTextIter *start, const GtkTextIter *end);\";function gtk_text_iter_get_visible_slice(start, end) bind(c)\r\ngtk;gtk_text_iter_get_visible_text;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"char *gtk_text_iter_get_visible_text (const GtkTextIter *start, const GtkTextIter *end);\";function gtk_text_iter_get_visible_text(start, end) bind(c)\r\ngtk;gtk_text_iter_has_tag;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_has_tag (const GtkTextIter *iter, GtkTextTag *tag);\";function gtk_text_iter_has_tag(iter, tag) bind(c)\r\ngtk;gtk_text_iter_in_range;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_in_range (const GtkTextIter *iter, const GtkTextIter *start, const GtkTextIter *end);\";function gtk_text_iter_in_range(iter, start, end) bind(c)\r\ngtk;gtk_text_iter_inside_sentence;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_inside_sentence (const GtkTextIter *iter);\";function gtk_text_iter_inside_sentence(iter) bind(c)\r\ngtk;gtk_text_iter_inside_word;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_inside_word (const GtkTextIter *iter);\";function gtk_text_iter_inside_word(iter) bind(c)\r\ngtk;gtk_text_iter_is_cursor_position;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_is_cursor_position (const GtkTextIter *iter);\";function gtk_text_iter_is_cursor_position(iter) bind(c)\r\ngtk;gtk_text_iter_is_end;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_is_end (const GtkTextIter *iter);\";function gtk_text_iter_is_end(iter) bind(c)\r\ngtk;gtk_text_iter_is_start;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_is_start (const GtkTextIter *iter);\";function gtk_text_iter_is_start(iter) bind(c)\r\ngtk;gtk_text_iter_order;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"void gtk_text_iter_order (GtkTextIter *first, GtkTextIter *second);\";subroutine gtk_text_iter_order(first, second) bind(c)\r\ngtk;gtk_text_iter_set_line;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"void gtk_text_iter_set_line (GtkTextIter *iter, int line_number);\";subroutine gtk_text_iter_set_line(iter, line_number) bind(c)\r\ngtk;gtk_text_iter_set_line_index;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"void gtk_text_iter_set_line_index (GtkTextIter *iter, int byte_on_line);\";subroutine gtk_text_iter_set_line_index(iter, byte_on_line) bind(c)\r\ngtk;gtk_text_iter_set_line_offset;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"void gtk_text_iter_set_line_offset (GtkTextIter *iter, int char_on_line);\";subroutine gtk_text_iter_set_line_offset(iter, char_on_line) bind(c)\r\ngtk;gtk_text_iter_set_offset;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"void gtk_text_iter_set_offset (GtkTextIter *iter, int char_offset);\";subroutine gtk_text_iter_set_offset(iter, char_offset) bind(c)\r\ngtk;gtk_text_iter_set_visible_line_index;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"void gtk_text_iter_set_visible_line_index (GtkTextIter *iter, int byte_on_line);\";subroutine gtk_text_iter_set_visible_line_index(iter, byte_on_line) bind(c)\r\ngtk;gtk_text_iter_set_visible_line_offset;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"void gtk_text_iter_set_visible_line_offset (GtkTextIter *iter, int char_on_line);\";subroutine gtk_text_iter_set_visible_line_offset(iter, char_on_line) bind(c)\r\ngtk;gtk_text_iter_starts_line;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_starts_line (const GtkTextIter *iter);\";function gtk_text_iter_starts_line(iter) bind(c)\r\ngtk;gtk_text_iter_starts_sentence;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_starts_sentence (const GtkTextIter *iter);\";function gtk_text_iter_starts_sentence(iter) bind(c)\r\ngtk;gtk_text_iter_starts_tag;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_starts_tag (const GtkTextIter *iter, GtkTextTag *tag);\";function gtk_text_iter_starts_tag(iter, tag) bind(c)\r\ngtk;gtk_text_iter_starts_word;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_starts_word (const GtkTextIter *iter);\";function gtk_text_iter_starts_word(iter) bind(c)\r\ngtk;gtk_text_iter_toggles_tag;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextiter.h;\"gboolean gtk_text_iter_toggles_tag (const GtkTextIter *iter, GtkTextTag *tag);\";function gtk_text_iter_toggles_tag(iter, tag) bind(c)\r\ngtk;gtk_text_mark_get_buffer;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextmark.h;\"GtkTextBuffer* gtk_text_mark_get_buffer (GtkTextMark *mark);\";function gtk_text_mark_get_buffer(mark) bind(c)\r\ngtk;gtk_text_mark_get_deleted;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextmark.h;\"gboolean gtk_text_mark_get_deleted (GtkTextMark *mark);\";function gtk_text_mark_get_deleted(mark) bind(c)\r\ngtk;gtk_text_mark_get_left_gravity;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextmark.h;\"gboolean gtk_text_mark_get_left_gravity (GtkTextMark *mark);\";function gtk_text_mark_get_left_gravity(mark) bind(c)\r\ngtk;gtk_text_mark_get_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextmark.h;\"const char * gtk_text_mark_get_name (GtkTextMark *mark);\";function gtk_text_mark_get_name(mark) bind(c)\r\ngtk;gtk_text_mark_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextmark.h;\"GType gtk_text_mark_get_type (void) ;\";function gtk_text_mark_get_type() bind(c)\r\ngtk;gtk_text_mark_get_visible;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextmark.h;\"gboolean gtk_text_mark_get_visible (GtkTextMark *mark);\";function gtk_text_mark_get_visible(mark) bind(c)\r\ngtk;gtk_text_mark_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextmark.h;\"GtkTextMark *gtk_text_mark_new (const char *name, gboolean left_gravity);\";function gtk_text_mark_new(name, left_gravity) bind(c)\r\ngtk;gtk_text_mark_set_visible;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextmark.h;\"void gtk_text_mark_set_visible (GtkTextMark *mark, gboolean setting);\";subroutine gtk_text_mark_set_visible(mark, setting) bind(c)\r\ngtk;gtk_text_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktext.h;\"GtkWidget * gtk_text_new (void);\";function gtk_text_new() bind(c)\r\ngtk;gtk_text_new_with_buffer;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktext.h;\"GtkWidget * gtk_text_new_with_buffer (GtkEntryBuffer *buffer);\";function gtk_text_new_with_buffer(buffer) bind(c)\r\ngtk;gtk_text_set_activates_default;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktext.h;\"void gtk_text_set_activates_default (GtkText *self, gboolean activates);\";subroutine gtk_text_set_activates_default(self, activates) bind(c)\r\ngtk;gtk_text_set_attributes;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktext.h;\"void gtk_text_set_attributes (GtkText *self, PangoAttrList *attrs);\";subroutine gtk_text_set_attributes(self, attrs) bind(c)\r\ngtk;gtk_text_set_buffer;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktext.h;\"void gtk_text_set_buffer (GtkText *self, GtkEntryBuffer *buffer);\";subroutine gtk_text_set_buffer(self, buffer) bind(c)\r\ngtk;gtk_text_set_enable_emoji_completion;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktext.h;\"void gtk_text_set_enable_emoji_completion (GtkText *self, gboolean enable_emoji_completion);\";subroutine gtk_text_set_enable_emoji_completion(self, enable_emoji_completion) bind(c)\r\ngtk;gtk_text_set_extra_menu;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktext.h;\"void gtk_text_set_extra_menu (GtkText *self, GMenuModel *model);\";subroutine gtk_text_set_extra_menu(self, model) bind(c)\r\ngtk;gtk_text_set_input_hints;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktext.h;\"void gtk_text_set_input_hints (GtkText *self, GtkInputHints hints);\";subroutine gtk_text_set_input_hints(self, hints) bind(c)\r\ngtk;gtk_text_set_input_purpose;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktext.h;\"void gtk_text_set_input_purpose (GtkText *self, GtkInputPurpose purpose);\";subroutine gtk_text_set_input_purpose(self, purpose) bind(c)\r\ngtk;gtk_text_set_invisible_char;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktext.h;\"void gtk_text_set_invisible_char (GtkText *self, gunichar ch);\";subroutine gtk_text_set_invisible_char(self, ch) bind(c)\r\ngtk;gtk_text_set_max_length;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktext.h;\"void gtk_text_set_max_length (GtkText *self, int length);\";subroutine gtk_text_set_max_length(self, length) bind(c)\r\ngtk;gtk_text_set_overwrite_mode;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktext.h;\"void gtk_text_set_overwrite_mode (GtkText *self, gboolean overwrite);\";subroutine gtk_text_set_overwrite_mode(self, overwrite) bind(c)\r\ngtk;gtk_text_set_placeholder_text;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktext.h;\"void gtk_text_set_placeholder_text (GtkText *self, const char *text);\";subroutine gtk_text_set_placeholder_text(self, text) bind(c)\r\ngtk;gtk_text_set_propagate_text_width;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktext.h;\"void gtk_text_set_propagate_text_width (GtkText *self, gboolean propagate_text_width);\";subroutine gtk_text_set_propagate_text_width(self, propagate_text_width) bind(c)\r\ngtk;gtk_text_set_tabs;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktext.h;\"void gtk_text_set_tabs (GtkText *self, PangoTabArray *tabs);\";subroutine gtk_text_set_tabs(self, tabs) bind(c)\r\ngtk;gtk_text_set_truncate_multiline;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktext.h;\"void gtk_text_set_truncate_multiline (GtkText *self, gboolean truncate_multiline);\";subroutine gtk_text_set_truncate_multiline(self, truncate_multiline) bind(c)\r\ngtk;gtk_text_set_visibility;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktext.h;\"void gtk_text_set_visibility (GtkText *self, gboolean visible);\";subroutine gtk_text_set_visibility(self, visible) bind(c)\r\ngtk;gtk_text_tag_changed;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktexttag.h;\"void gtk_text_tag_changed (GtkTextTag *tag, gboolean size_changed);\";subroutine gtk_text_tag_changed(tag, size_changed) bind(c)\r\ngtk;gtk_text_tag_get_priority;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktexttag.h;\"int gtk_text_tag_get_priority (GtkTextTag *tag);\";function gtk_text_tag_get_priority(tag) bind(c)\r\ngtk;gtk_text_tag_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktexttag.h;\"GType gtk_text_tag_get_type (void) ;\";function gtk_text_tag_get_type() bind(c)\r\ngtk;gtk_text_tag_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktexttag.h;\"GtkTextTag *gtk_text_tag_new (const char *name);\";function gtk_text_tag_new(name) bind(c)\r\ngtk;gtk_text_tag_set_priority;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktexttag.h;\"void gtk_text_tag_set_priority (GtkTextTag *tag, int priority);\";subroutine gtk_text_tag_set_priority(tag, priority) bind(c)\r\ngtk;gtk_text_tag_table_add;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktexttagtable.h;\"gboolean gtk_text_tag_table_add (GtkTextTagTable *table, GtkTextTag *tag);\";function gtk_text_tag_table_add(table, tag) bind(c)\r\ngtk;gtk_text_tag_table_foreach;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktexttagtable.h;\"void gtk_text_tag_table_foreach (GtkTextTagTable *table, GtkTextTagTableForeach func, gpointer data);\";subroutine gtk_text_tag_table_foreach(table, func, data) bind(c)\r\ngtk;gtk_text_tag_table_get_size;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktexttagtable.h;\"int gtk_text_tag_table_get_size (GtkTextTagTable *table);\";function gtk_text_tag_table_get_size(table) bind(c)\r\ngtk;gtk_text_tag_table_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktexttagtable.h;\"GType gtk_text_tag_table_get_type (void) ;\";function gtk_text_tag_table_get_type() bind(c)\r\ngtk;gtk_text_tag_table_lookup;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktexttagtable.h;\"GtkTextTag *gtk_text_tag_table_lookup (GtkTextTagTable *table, const char *name);\";function gtk_text_tag_table_lookup(table, name) bind(c)\r\ngtk;gtk_text_tag_table_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktexttagtable.h;\"GtkTextTagTable *gtk_text_tag_table_new (void);\";function gtk_text_tag_table_new() bind(c)\r\ngtk;gtk_text_tag_table_remove;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktexttagtable.h;\"void gtk_text_tag_table_remove (GtkTextTagTable *table, GtkTextTag *tag);\";subroutine gtk_text_tag_table_remove(table, tag) bind(c)\r\ngtk;gtk_text_unset_invisible_char;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktext.h;\"void gtk_text_unset_invisible_char (GtkText *self);\";subroutine gtk_text_unset_invisible_char(self) bind(c)\r\ngtk;gtk_text_view_add_child_at_anchor;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"void gtk_text_view_add_child_at_anchor (GtkTextView *text_view, GtkWidget *child, GtkTextChildAnchor *anchor);\";subroutine gtk_text_view_add_child_at_anchor(text_view, child, anchor) bind(c)\r\ngtk;gtk_text_view_add_overlay;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"void gtk_text_view_add_overlay (GtkTextView *text_view, GtkWidget *child, int xpos, int ypos);\";subroutine gtk_text_view_add_overlay(text_view, child, xpos, ypos) bind(c)\r\ngtk;gtk_text_view_backward_display_line;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"gboolean gtk_text_view_backward_display_line (GtkTextView *text_view, GtkTextIter *iter);\";function gtk_text_view_backward_display_line(text_view, iter) bind(c)\r\ngtk;gtk_text_view_backward_display_line_start;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"gboolean gtk_text_view_backward_display_line_start (GtkTextView *text_view, GtkTextIter *iter);\";function gtk_text_view_backward_display_line_start(text_view, iter) bind(c)\r\ngtk;gtk_text_view_buffer_to_window_coords;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"void gtk_text_view_buffer_to_window_coords (GtkTextView *text_view, GtkTextWindowType win, int buffer_x, int buffer_y, int *window_x, int *window_y);\";subroutine gtk_text_view_buffer_to_window_coords(text_view, win, buffer_x, buffer_y, window_x, window_y) bind(c)\r\ngtk;gtk_text_view_forward_display_line;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"gboolean gtk_text_view_forward_display_line (GtkTextView *text_view, GtkTextIter *iter);\";function gtk_text_view_forward_display_line(text_view, iter) bind(c)\r\ngtk;gtk_text_view_forward_display_line_end;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"gboolean gtk_text_view_forward_display_line_end (GtkTextView *text_view, GtkTextIter *iter);\";function gtk_text_view_forward_display_line_end(text_view, iter) bind(c)\r\ngtk;gtk_text_view_get_accepts_tab;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"gboolean gtk_text_view_get_accepts_tab (GtkTextView *text_view);\";function gtk_text_view_get_accepts_tab(text_view) bind(c)\r\ngtk;gtk_text_view_get_bottom_margin;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"int gtk_text_view_get_bottom_margin (GtkTextView *text_view);\";function gtk_text_view_get_bottom_margin(text_view) bind(c)\r\ngtk;gtk_text_view_get_buffer;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"GtkTextBuffer *gtk_text_view_get_buffer (GtkTextView *text_view);\";function gtk_text_view_get_buffer(text_view) bind(c)\r\ngtk;gtk_text_view_get_cursor_locations;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"void gtk_text_view_get_cursor_locations (GtkTextView *text_view, const GtkTextIter *iter, GdkRectangle *strong, GdkRectangle *weak);\";subroutine gtk_text_view_get_cursor_locations(text_view, iter, strong, weak) bind(c)\r\ngtk;gtk_text_view_get_cursor_visible;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"gboolean gtk_text_view_get_cursor_visible (GtkTextView *text_view);\";function gtk_text_view_get_cursor_visible(text_view) bind(c)\r\ngtk;gtk_text_view_get_editable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"gboolean gtk_text_view_get_editable (GtkTextView *text_view);\";function gtk_text_view_get_editable(text_view) bind(c)\r\ngtk;gtk_text_view_get_extra_menu;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"GMenuModel * gtk_text_view_get_extra_menu (GtkTextView *text_view);\";function gtk_text_view_get_extra_menu(text_view) bind(c)\r\ngtk;gtk_text_view_get_gutter;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"GtkWidget *gtk_text_view_get_gutter (GtkTextView *text_view, GtkTextWindowType win);\";function gtk_text_view_get_gutter(text_view, win) bind(c)\r\ngtk;gtk_text_view_get_indent;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"int gtk_text_view_get_indent (GtkTextView *text_view);\";function gtk_text_view_get_indent(text_view) bind(c)\r\ngtk;gtk_text_view_get_input_hints;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"GtkInputHints gtk_text_view_get_input_hints (GtkTextView *text_view);\";function gtk_text_view_get_input_hints(text_view) bind(c)\r\ngtk;gtk_text_view_get_input_purpose;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"GtkInputPurpose gtk_text_view_get_input_purpose (GtkTextView *text_view);\";function gtk_text_view_get_input_purpose(text_view) bind(c)\r\ngtk;gtk_text_view_get_iter_at_location;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"gboolean gtk_text_view_get_iter_at_location (GtkTextView *text_view, GtkTextIter *iter, int x, int y);\";function gtk_text_view_get_iter_at_location(text_view, iter, x, y) bind(c)\r\ngtk;gtk_text_view_get_iter_at_position;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"gboolean gtk_text_view_get_iter_at_position (GtkTextView *text_view, GtkTextIter *iter, int *trailing, int x, int y);\";function gtk_text_view_get_iter_at_position(text_view, iter, trailing, x, y) bind(c)\r\ngtk;gtk_text_view_get_iter_location;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"void gtk_text_view_get_iter_location (GtkTextView *text_view, const GtkTextIter *iter, GdkRectangle *location);\";subroutine gtk_text_view_get_iter_location(text_view, iter, location) bind(c)\r\ngtk;gtk_text_view_get_justification;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"GtkJustification gtk_text_view_get_justification (GtkTextView *text_view);\";function gtk_text_view_get_justification(text_view) bind(c)\r\ngtk;gtk_text_view_get_left_margin;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"int gtk_text_view_get_left_margin (GtkTextView *text_view);\";function gtk_text_view_get_left_margin(text_view) bind(c)\r\ngtk;gtk_text_view_get_line_at_y;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"void gtk_text_view_get_line_at_y (GtkTextView *text_view, GtkTextIter *target_iter, int y, int *line_top);\";subroutine gtk_text_view_get_line_at_y(text_view, target_iter, y, line_top) bind(c)\r\ngtk;gtk_text_view_get_line_yrange;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"void gtk_text_view_get_line_yrange (GtkTextView *text_view, const GtkTextIter *iter, int *y, int *height);\";subroutine gtk_text_view_get_line_yrange(text_view, iter, y, height) bind(c)\r\ngtk;gtk_text_view_get_ltr_context;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"PangoContext *gtk_text_view_get_ltr_context (GtkTextView *text_view);\";function gtk_text_view_get_ltr_context(text_view) bind(c)\r\ngtk;gtk_text_view_get_monospace;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"gboolean gtk_text_view_get_monospace (GtkTextView *text_view);\";function gtk_text_view_get_monospace(text_view) bind(c)\r\ngtk;gtk_text_view_get_overwrite;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"gboolean gtk_text_view_get_overwrite (GtkTextView *text_view);\";function gtk_text_view_get_overwrite(text_view) bind(c)\r\ngtk;gtk_text_view_get_pixels_above_lines;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"int gtk_text_view_get_pixels_above_lines (GtkTextView *text_view);\";function gtk_text_view_get_pixels_above_lines(text_view) bind(c)\r\ngtk;gtk_text_view_get_pixels_below_lines;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"int gtk_text_view_get_pixels_below_lines (GtkTextView *text_view);\";function gtk_text_view_get_pixels_below_lines(text_view) bind(c)\r\ngtk;gtk_text_view_get_pixels_inside_wrap;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"int gtk_text_view_get_pixels_inside_wrap (GtkTextView *text_view);\";function gtk_text_view_get_pixels_inside_wrap(text_view) bind(c)\r\ngtk;gtk_text_view_get_right_margin;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"int gtk_text_view_get_right_margin (GtkTextView *text_view);\";function gtk_text_view_get_right_margin(text_view) bind(c)\r\ngtk;gtk_text_view_get_rtl_context;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"PangoContext *gtk_text_view_get_rtl_context (GtkTextView *text_view);\";function gtk_text_view_get_rtl_context(text_view) bind(c)\r\ngtk;gtk_text_view_get_tabs;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"PangoTabArray* gtk_text_view_get_tabs (GtkTextView *text_view);\";function gtk_text_view_get_tabs(text_view) bind(c)\r\ngtk;gtk_text_view_get_top_margin;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"int gtk_text_view_get_top_margin (GtkTextView *text_view);\";function gtk_text_view_get_top_margin(text_view) bind(c)\r\ngtk;gtk_text_view_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"GType gtk_text_view_get_type (void) ;\";function gtk_text_view_get_type() bind(c)\r\ngtk;gtk_text_view_get_visible_offset;GDK_AVAILABLE_IN_4_18;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"void gtk_text_view_get_visible_offset (GtkTextView *text_view, double *x_offset, double *y_offset);\";subroutine gtk_text_view_get_visible_offset(text_view, x_offset, y_offset) bind(c)\r\ngtk;gtk_text_view_get_visible_rect;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"void gtk_text_view_get_visible_rect (GtkTextView *text_view, GdkRectangle *visible_rect);\";subroutine gtk_text_view_get_visible_rect(text_view, visible_rect) bind(c)\r\ngtk;gtk_text_view_get_wrap_mode;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"GtkWrapMode gtk_text_view_get_wrap_mode (GtkTextView *text_view);\";function gtk_text_view_get_wrap_mode(text_view) bind(c)\r\ngtk;gtk_text_view_im_context_filter_keypress;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"gboolean gtk_text_view_im_context_filter_keypress (GtkTextView *text_view, GdkEvent *event);\";function gtk_text_view_im_context_filter_keypress(text_view, event) bind(c)\r\ngtk;gtk_text_view_move_mark_onscreen;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"gboolean gtk_text_view_move_mark_onscreen (GtkTextView *text_view, GtkTextMark *mark);\";function gtk_text_view_move_mark_onscreen(text_view, mark) bind(c)\r\ngtk;gtk_text_view_move_overlay;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"void gtk_text_view_move_overlay (GtkTextView *text_view, GtkWidget *child, int xpos, int ypos);\";subroutine gtk_text_view_move_overlay(text_view, child, xpos, ypos) bind(c)\r\ngtk;gtk_text_view_move_visually;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"gboolean gtk_text_view_move_visually (GtkTextView *text_view, GtkTextIter *iter, int count);\";function gtk_text_view_move_visually(text_view, iter, count) bind(c)\r\ngtk;gtk_text_view_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"GtkWidget * gtk_text_view_new (void);\";function gtk_text_view_new() bind(c)\r\ngtk;gtk_text_view_new_with_buffer;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"GtkWidget * gtk_text_view_new_with_buffer (GtkTextBuffer *buffer);\";function gtk_text_view_new_with_buffer(buffer) bind(c)\r\ngtk;gtk_text_view_place_cursor_onscreen;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"gboolean gtk_text_view_place_cursor_onscreen (GtkTextView *text_view);\";function gtk_text_view_place_cursor_onscreen(text_view) bind(c)\r\ngtk;gtk_text_view_remove;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"void gtk_text_view_remove (GtkTextView *text_view, GtkWidget *child);\";subroutine gtk_text_view_remove(text_view, child) bind(c)\r\ngtk;gtk_text_view_reset_cursor_blink;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"void gtk_text_view_reset_cursor_blink (GtkTextView *text_view);\";subroutine gtk_text_view_reset_cursor_blink(text_view) bind(c)\r\ngtk;gtk_text_view_reset_im_context;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"void gtk_text_view_reset_im_context (GtkTextView *text_view);\";subroutine gtk_text_view_reset_im_context(text_view) bind(c)\r\ngtk;gtk_text_view_scroll_mark_onscreen;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"void gtk_text_view_scroll_mark_onscreen (GtkTextView *text_view, GtkTextMark *mark);\";subroutine gtk_text_view_scroll_mark_onscreen(text_view, mark) bind(c)\r\ngtk;gtk_text_view_scroll_to_iter;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"gboolean gtk_text_view_scroll_to_iter (GtkTextView *text_view, GtkTextIter *iter, double within_margin, gboolean use_align, double xalign, double yalign);\";function gtk_text_view_scroll_to_iter(text_view, iter, within_margin, use_align, xalign, yalign) bind(c)\r\ngtk;gtk_text_view_scroll_to_mark;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"void gtk_text_view_scroll_to_mark (GtkTextView *text_view, GtkTextMark *mark, double within_margin, gboolean use_align, double xalign, double yalign);\";subroutine gtk_text_view_scroll_to_mark(text_view, mark, within_margin, use_align, xalign, yalign) bind(c)\r\ngtk;gtk_text_view_set_accepts_tab;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"void gtk_text_view_set_accepts_tab (GtkTextView *text_view, gboolean accepts_tab);\";subroutine gtk_text_view_set_accepts_tab(text_view, accepts_tab) bind(c)\r\ngtk;gtk_text_view_set_bottom_margin;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"void gtk_text_view_set_bottom_margin (GtkTextView *text_view, int bottom_margin);\";subroutine gtk_text_view_set_bottom_margin(text_view, bottom_margin) bind(c)\r\ngtk;gtk_text_view_set_buffer;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"void gtk_text_view_set_buffer (GtkTextView *text_view, GtkTextBuffer *buffer);\";subroutine gtk_text_view_set_buffer(text_view, buffer) bind(c)\r\ngtk;gtk_text_view_set_cursor_visible;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"void gtk_text_view_set_cursor_visible (GtkTextView *text_view, gboolean setting);\";subroutine gtk_text_view_set_cursor_visible(text_view, setting) bind(c)\r\ngtk;gtk_text_view_set_editable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"void gtk_text_view_set_editable (GtkTextView *text_view, gboolean setting);\";subroutine gtk_text_view_set_editable(text_view, setting) bind(c)\r\ngtk;gtk_text_view_set_extra_menu;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"void gtk_text_view_set_extra_menu (GtkTextView *text_view, GMenuModel *model);\";subroutine gtk_text_view_set_extra_menu(text_view, model) bind(c)\r\ngtk;gtk_text_view_set_gutter;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"void gtk_text_view_set_gutter (GtkTextView *text_view, GtkTextWindowType win, GtkWidget *widget);\";subroutine gtk_text_view_set_gutter(text_view, win, widget) bind(c)\r\ngtk;gtk_text_view_set_indent;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"void gtk_text_view_set_indent (GtkTextView *text_view, int indent);\";subroutine gtk_text_view_set_indent(text_view, indent) bind(c)\r\ngtk;gtk_text_view_set_input_hints;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"void gtk_text_view_set_input_hints (GtkTextView *text_view, GtkInputHints hints);\";subroutine gtk_text_view_set_input_hints(text_view, hints) bind(c)\r\ngtk;gtk_text_view_set_input_purpose;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"void gtk_text_view_set_input_purpose (GtkTextView *text_view, GtkInputPurpose purpose);\";subroutine gtk_text_view_set_input_purpose(text_view, purpose) bind(c)\r\ngtk;gtk_text_view_set_justification;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"void gtk_text_view_set_justification (GtkTextView *text_view, GtkJustification justification);\";subroutine gtk_text_view_set_justification(text_view, justification) bind(c)\r\ngtk;gtk_text_view_set_left_margin;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"void gtk_text_view_set_left_margin (GtkTextView *text_view, int left_margin);\";subroutine gtk_text_view_set_left_margin(text_view, left_margin) bind(c)\r\ngtk;gtk_text_view_set_monospace;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"void gtk_text_view_set_monospace (GtkTextView *text_view, gboolean monospace);\";subroutine gtk_text_view_set_monospace(text_view, monospace) bind(c)\r\ngtk;gtk_text_view_set_overwrite;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"void gtk_text_view_set_overwrite (GtkTextView *text_view, gboolean overwrite);\";subroutine gtk_text_view_set_overwrite(text_view, overwrite) bind(c)\r\ngtk;gtk_text_view_set_pixels_above_lines;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"void gtk_text_view_set_pixels_above_lines (GtkTextView *text_view, int pixels_above_lines);\";subroutine gtk_text_view_set_pixels_above_lines(text_view, pixels_above_lines) bind(c)\r\ngtk;gtk_text_view_set_pixels_below_lines;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"void gtk_text_view_set_pixels_below_lines (GtkTextView *text_view, int pixels_below_lines);\";subroutine gtk_text_view_set_pixels_below_lines(text_view, pixels_below_lines) bind(c)\r\ngtk;gtk_text_view_set_pixels_inside_wrap;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"void gtk_text_view_set_pixels_inside_wrap (GtkTextView *text_view, int pixels_inside_wrap);\";subroutine gtk_text_view_set_pixels_inside_wrap(text_view, pixels_inside_wrap) bind(c)\r\ngtk;gtk_text_view_set_right_margin;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"void gtk_text_view_set_right_margin (GtkTextView *text_view, int right_margin);\";subroutine gtk_text_view_set_right_margin(text_view, right_margin) bind(c)\r\ngtk;gtk_text_view_set_tabs;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"void gtk_text_view_set_tabs (GtkTextView *text_view, PangoTabArray *tabs);\";subroutine gtk_text_view_set_tabs(text_view, tabs) bind(c)\r\ngtk;gtk_text_view_set_top_margin;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"void gtk_text_view_set_top_margin (GtkTextView *text_view, int top_margin);\";subroutine gtk_text_view_set_top_margin(text_view, top_margin) bind(c)\r\ngtk;gtk_text_view_set_wrap_mode;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"void gtk_text_view_set_wrap_mode (GtkTextView *text_view, GtkWrapMode wrap_mode);\";subroutine gtk_text_view_set_wrap_mode(text_view, wrap_mode) bind(c)\r\ngtk;gtk_text_view_starts_display_line;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"gboolean gtk_text_view_starts_display_line (GtkTextView *text_view, const GtkTextIter *iter);\";function gtk_text_view_starts_display_line(text_view, iter) bind(c)\r\ngtk;gtk_text_view_window_to_buffer_coords;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktextview.h;\"void gtk_text_view_window_to_buffer_coords (GtkTextView *text_view, GtkTextWindowType win, int window_x, int window_y, int *buffer_x, int *buffer_y);\";subroutine gtk_text_view_window_to_buffer_coords(text_view, win, window_x, window_y, buffer_x, buffer_y) bind(c)\r\ngtk;gtk_toggle_button_get_active;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktogglebutton.h;\"gboolean gtk_toggle_button_get_active (GtkToggleButton *toggle_button);\";function gtk_toggle_button_get_active(toggle_button) bind(c)\r\ngtk;gtk_toggle_button_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktogglebutton.h;\"GType gtk_toggle_button_get_type (void) ;\";function gtk_toggle_button_get_type() bind(c)\r\ngtk;gtk_toggle_button_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktogglebutton.h;\"GtkWidget* gtk_toggle_button_new (void);\";function gtk_toggle_button_new() bind(c)\r\ngtk;gtk_toggle_button_new_with_label;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktogglebutton.h;\"GtkWidget* gtk_toggle_button_new_with_label (const char *label);\";function gtk_toggle_button_new_with_label(label) bind(c)\r\ngtk;gtk_toggle_button_new_with_mnemonic;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktogglebutton.h;\"GtkWidget* gtk_toggle_button_new_with_mnemonic (const char *label);\";function gtk_toggle_button_new_with_mnemonic(label) bind(c)\r\ngtk;gtk_toggle_button_set_active;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktogglebutton.h;\"void gtk_toggle_button_set_active (GtkToggleButton *toggle_button, gboolean is_active);\";subroutine gtk_toggle_button_set_active(toggle_button, is_active) bind(c)\r\ngtk;gtk_toggle_button_set_group;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktogglebutton.h;\"void gtk_toggle_button_set_group (GtkToggleButton *toggle_button, GtkToggleButton *group);\";subroutine gtk_toggle_button_set_group(toggle_button, group) bind(c)\r\ngtk;gtk_toggle_button_toggled;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktogglebutton.h;\"void gtk_toggle_button_toggled (GtkToggleButton *toggle_button);\";subroutine gtk_toggle_button_toggled(toggle_button) bind(c)\r\ngtk;gtk_tooltip_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktooltip.h;\"GType gtk_tooltip_get_type (void);\";function gtk_tooltip_get_type() bind(c)\r\ngtk;gtk_tooltip_set_custom;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktooltip.h;\"void gtk_tooltip_set_custom (GtkTooltip *tooltip, GtkWidget *custom_widget);\";subroutine gtk_tooltip_set_custom(tooltip, custom_widget) bind(c)\r\ngtk;gtk_tooltip_set_icon;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktooltip.h;\"void gtk_tooltip_set_icon (GtkTooltip *tooltip, GdkPaintable *paintable);\";subroutine gtk_tooltip_set_icon(tooltip, paintable) bind(c)\r\ngtk;gtk_tooltip_set_icon_from_gicon;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktooltip.h;\"void gtk_tooltip_set_icon_from_gicon (GtkTooltip *tooltip, GIcon *gicon);\";subroutine gtk_tooltip_set_icon_from_gicon(tooltip, gicon) bind(c)\r\ngtk;gtk_tooltip_set_icon_from_icon_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktooltip.h;\"void gtk_tooltip_set_icon_from_icon_name (GtkTooltip *tooltip, const char *icon_name);\";subroutine gtk_tooltip_set_icon_from_icon_name(tooltip, icon_name) bind(c)\r\ngtk;gtk_tooltip_set_markup;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktooltip.h;\"void gtk_tooltip_set_markup (GtkTooltip *tooltip, const char *markup);\";subroutine gtk_tooltip_set_markup(tooltip, markup) bind(c)\r\ngtk;gtk_tooltip_set_text;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktooltip.h;\"void gtk_tooltip_set_text (GtkTooltip *tooltip, const char *text);\";subroutine gtk_tooltip_set_text(tooltip, text) bind(c)\r\ngtk;gtk_tooltip_set_tip_area;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktooltip.h;\"void gtk_tooltip_set_tip_area (GtkTooltip *tooltip, const GdkRectangle *rect);\";subroutine gtk_tooltip_set_tip_area(tooltip, rect) bind(c)\r\ngtk;gtk_tree_create_row_drag_content;;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreednd.h;\"GdkContentProvider * gtk_tree_create_row_drag_content (GtkTreeModel *tree_model, GtkTreePath *path);\";function gtk_tree_create_row_drag_content(tree_model, path) bind(c)\r\ngtk;gtk_tree_drag_dest_drag_data_received;GDK_DEPRECATED_IN_4_10_FOR(GtkDropTarget);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreednd.h;\"gboolean gtk_tree_drag_dest_drag_data_received (GtkTreeDragDest *drag_dest, GtkTreePath *dest, const GValue *value);\";function gtk_tree_drag_dest_drag_data_received(drag_dest, dest, value) bind(c)\r\ngtk;gtk_tree_drag_dest_get_type;GDK_DEPRECATED_IN_4_10_FOR(GtkDropTarget);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreednd.h;\"GType gtk_tree_drag_dest_get_type (void) ;\";function gtk_tree_drag_dest_get_type() bind(c)\r\ngtk;gtk_tree_drag_dest_row_drop_possible;GDK_DEPRECATED_IN_4_10_FOR(GtkDropTarget);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreednd.h;\"gboolean gtk_tree_drag_dest_row_drop_possible (GtkTreeDragDest *drag_dest, GtkTreePath *dest_path, const GValue *value);\";function gtk_tree_drag_dest_row_drop_possible(drag_dest, dest_path, value) bind(c)\r\ngtk;gtk_tree_drag_source_drag_data_delete;GDK_DEPRECATED_IN_4_10_FOR(GtkDragSource);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreednd.h;\"gboolean gtk_tree_drag_source_drag_data_delete (GtkTreeDragSource *drag_source, GtkTreePath *path);\";function gtk_tree_drag_source_drag_data_delete(drag_source, path) bind(c)\r\ngtk;gtk_tree_drag_source_drag_data_get;;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreednd.h;\"GdkContentProvider * gtk_tree_drag_source_drag_data_get (GtkTreeDragSource *drag_source, GtkTreePath *path);\";function gtk_tree_drag_source_drag_data_get(drag_source, path) bind(c)\r\ngtk;gtk_tree_drag_source_get_type;GDK_DEPRECATED_IN_4_10_FOR(GtkDragSource);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreednd.h;\"GType gtk_tree_drag_source_get_type (void) ;\";function gtk_tree_drag_source_get_type() bind(c)\r\ngtk;gtk_tree_drag_source_row_draggable;GDK_DEPRECATED_IN_4_10_FOR(GtkDragSource);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreednd.h;\"gboolean gtk_tree_drag_source_row_draggable (GtkTreeDragSource *drag_source, GtkTreePath *path);\";function gtk_tree_drag_source_row_draggable(drag_source, path) bind(c)\r\ngtk;gtk_tree_expander_get_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktreeexpander.h;\"GtkWidget * gtk_tree_expander_get_child (GtkTreeExpander *self);\";function gtk_tree_expander_get_child(self) bind(c)\r\ngtk;gtk_tree_expander_get_hide_expander;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktreeexpander.h;\"gboolean gtk_tree_expander_get_hide_expander (GtkTreeExpander *self);\";function gtk_tree_expander_get_hide_expander(self) bind(c)\r\ngtk;gtk_tree_expander_get_indent_for_depth;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktreeexpander.h;\"gboolean gtk_tree_expander_get_indent_for_depth (GtkTreeExpander *self);\";function gtk_tree_expander_get_indent_for_depth(self) bind(c)\r\ngtk;gtk_tree_expander_get_indent_for_icon;GDK_AVAILABLE_IN_4_6;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktreeexpander.h;\"gboolean gtk_tree_expander_get_indent_for_icon (GtkTreeExpander *self);\";function gtk_tree_expander_get_indent_for_icon(self) bind(c)\r\ngtk;gtk_tree_expander_get_item;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktreeexpander.h;\"gpointer gtk_tree_expander_get_item (GtkTreeExpander *self);\";function gtk_tree_expander_get_item(self) bind(c)\r\ngtk;gtk_tree_expander_get_list_row;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktreeexpander.h;\"GtkTreeListRow * gtk_tree_expander_get_list_row (GtkTreeExpander *self);\";function gtk_tree_expander_get_list_row(self) bind(c)\r\ngtk;gtk_tree_expander_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktreeexpander.h;\"GtkWidget * gtk_tree_expander_new (void);\";function gtk_tree_expander_new() bind(c)\r\ngtk;gtk_tree_expander_set_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktreeexpander.h;\"void gtk_tree_expander_set_child (GtkTreeExpander *self, GtkWidget *child);\";subroutine gtk_tree_expander_set_child(self, child) bind(c)\r\ngtk;gtk_tree_expander_set_hide_expander;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktreeexpander.h;\"void gtk_tree_expander_set_hide_expander (GtkTreeExpander *self, gboolean hide_expander);\";subroutine gtk_tree_expander_set_hide_expander(self, hide_expander) bind(c)\r\ngtk;gtk_tree_expander_set_indent_for_depth;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktreeexpander.h;\"void gtk_tree_expander_set_indent_for_depth (GtkTreeExpander *self, gboolean indent_for_depth);\";subroutine gtk_tree_expander_set_indent_for_depth(self, indent_for_depth) bind(c)\r\ngtk;gtk_tree_expander_set_indent_for_icon;GDK_AVAILABLE_IN_4_6;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktreeexpander.h;\"void gtk_tree_expander_set_indent_for_icon (GtkTreeExpander *self, gboolean indent_for_icon);\";subroutine gtk_tree_expander_set_indent_for_icon(self, indent_for_icon) bind(c)\r\ngtk;gtk_tree_expander_set_list_row;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktreeexpander.h;\"void gtk_tree_expander_set_list_row (GtkTreeExpander *self, GtkTreeListRow *list_row);\";subroutine gtk_tree_expander_set_list_row(self, list_row) bind(c)\r\ngtk;gtk_tree_get_row_drag_data;GDK_DEPRECATED_IN_4_10_FOR(GtkDragSource and GtkDropTarget);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreednd.h;\"gboolean gtk_tree_get_row_drag_data (const GValue *value, GtkTreeModel **tree_model, GtkTreePath **path);\";function gtk_tree_get_row_drag_data(value, tree_model, path) bind(c)\r\ngtk;gtk_tree_iter_copy;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"GtkTreeIter * gtk_tree_iter_copy (GtkTreeIter *iter);\";function gtk_tree_iter_copy(iter) bind(c)\r\ngtk;gtk_tree_iter_free;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"void gtk_tree_iter_free (GtkTreeIter *iter);\";subroutine gtk_tree_iter_free(iter) bind(c)\r\ngtk;gtk_tree_iter_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"GType gtk_tree_iter_get_type (void) ;\";function gtk_tree_iter_get_type() bind(c)\r\ngtk;gtk_tree_list_model_get_autoexpand;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktreelistmodel.h;\"gboolean gtk_tree_list_model_get_autoexpand (GtkTreeListModel *self);\";function gtk_tree_list_model_get_autoexpand(self) bind(c)\r\ngtk;gtk_tree_list_model_get_child_row;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktreelistmodel.h;\"GtkTreeListRow * gtk_tree_list_model_get_child_row (GtkTreeListModel *self, guint position);\";function gtk_tree_list_model_get_child_row(self, position) bind(c)\r\ngtk;gtk_tree_list_model_get_model;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktreelistmodel.h;\"GListModel * gtk_tree_list_model_get_model (GtkTreeListModel *self);\";function gtk_tree_list_model_get_model(self) bind(c)\r\ngtk;gtk_tree_list_model_get_passthrough;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktreelistmodel.h;\"gboolean gtk_tree_list_model_get_passthrough (GtkTreeListModel *self);\";function gtk_tree_list_model_get_passthrough(self) bind(c)\r\ngtk;gtk_tree_list_model_get_row;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktreelistmodel.h;\"GtkTreeListRow * gtk_tree_list_model_get_row (GtkTreeListModel *self, guint position);\";function gtk_tree_list_model_get_row(self, position) bind(c)\r\ngtk;gtk_tree_list_model_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktreelistmodel.h;\"GtkTreeListModel * gtk_tree_list_model_new (GListModel *root, gboolean passthrough, gboolean autoexpand, GtkTreeListModelCreateModelFunc create_func, gpointer user_data, GDestroyNotify user_destroy);\";function gtk_tree_list_model_new(root, passthrough, autoexpand, create_func, user_data, user_destroy) bind(c)\r\ngtk;gtk_tree_list_model_set_autoexpand;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktreelistmodel.h;\"void gtk_tree_list_model_set_autoexpand (GtkTreeListModel *self, gboolean autoexpand);\";subroutine gtk_tree_list_model_set_autoexpand(self, autoexpand) bind(c)\r\ngtk;gtk_tree_list_row_get_child_row;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktreelistmodel.h;\"GtkTreeListRow * gtk_tree_list_row_get_child_row (GtkTreeListRow *self, guint position);\";function gtk_tree_list_row_get_child_row(self, position) bind(c)\r\ngtk;gtk_tree_list_row_get_children;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktreelistmodel.h;\"GListModel * gtk_tree_list_row_get_children (GtkTreeListRow *self);\";function gtk_tree_list_row_get_children(self) bind(c)\r\ngtk;gtk_tree_list_row_get_depth;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktreelistmodel.h;\"guint gtk_tree_list_row_get_depth (GtkTreeListRow *self);\";function gtk_tree_list_row_get_depth(self) bind(c)\r\ngtk;gtk_tree_list_row_get_expanded;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktreelistmodel.h;\"gboolean gtk_tree_list_row_get_expanded (GtkTreeListRow *self);\";function gtk_tree_list_row_get_expanded(self) bind(c)\r\ngtk;gtk_tree_list_row_get_item;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktreelistmodel.h;\"gpointer gtk_tree_list_row_get_item (GtkTreeListRow *self);\";function gtk_tree_list_row_get_item(self) bind(c)\r\ngtk;gtk_tree_list_row_get_parent;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktreelistmodel.h;\"GtkTreeListRow * gtk_tree_list_row_get_parent (GtkTreeListRow *self);\";function gtk_tree_list_row_get_parent(self) bind(c)\r\ngtk;gtk_tree_list_row_get_position;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktreelistmodel.h;\"guint gtk_tree_list_row_get_position (GtkTreeListRow *self);\";function gtk_tree_list_row_get_position(self) bind(c)\r\ngtk;gtk_tree_list_row_is_expandable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktreelistmodel.h;\"gboolean gtk_tree_list_row_is_expandable (GtkTreeListRow *self);\";function gtk_tree_list_row_is_expandable(self) bind(c)\r\ngtk;gtk_tree_list_row_set_expanded;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktreelistmodel.h;\"void gtk_tree_list_row_set_expanded (GtkTreeListRow *self, gboolean expanded);\";subroutine gtk_tree_list_row_set_expanded(self, expanded) bind(c)\r\ngtk;gtk_tree_list_row_sorter_get_sorter;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktreelistrowsorter.h;\"GtkSorter * gtk_tree_list_row_sorter_get_sorter (GtkTreeListRowSorter *self);\";function gtk_tree_list_row_sorter_get_sorter(self) bind(c)\r\ngtk;gtk_tree_list_row_sorter_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktreelistrowsorter.h;\"GtkTreeListRowSorter * gtk_tree_list_row_sorter_new (GtkSorter *sorter);\";function gtk_tree_list_row_sorter_new(sorter) bind(c)\r\ngtk;gtk_tree_list_row_sorter_set_sorter;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtktreelistrowsorter.h;\"void gtk_tree_list_row_sorter_set_sorter (GtkTreeListRowSorter *self, GtkSorter *sorter);\";subroutine gtk_tree_list_row_sorter_set_sorter(self, sorter) bind(c)\r\ngtk;gtk_tree_model_filter_clear_cache;GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodelfilter.h;\"void gtk_tree_model_filter_clear_cache (GtkTreeModelFilter *filter);\";subroutine gtk_tree_model_filter_clear_cache(filter) bind(c)\r\ngtk;gtk_tree_model_filter_convert_child_iter_to_iter;GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodelfilter.h;\"gboolean gtk_tree_model_filter_convert_child_iter_to_iter (GtkTreeModelFilter *filter, GtkTreeIter *filter_iter, GtkTreeIter *child_iter);\";function gtk_tree_model_filter_convert_child_iter_to_iter(filter, filter_iter, child_iter) bind(c)\r\ngtk;gtk_tree_model_filter_convert_child_path_to_path;GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodelfilter.h;\"GtkTreePath *gtk_tree_model_filter_convert_child_path_to_path (GtkTreeModelFilter *filter, GtkTreePath *child_path);\";function gtk_tree_model_filter_convert_child_path_to_path(filter, child_path) bind(c)\r\ngtk;gtk_tree_model_filter_convert_iter_to_child_iter;GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodelfilter.h;\"void gtk_tree_model_filter_convert_iter_to_child_iter (GtkTreeModelFilter *filter, GtkTreeIter *child_iter, GtkTreeIter *filter_iter);\";subroutine gtk_tree_model_filter_convert_iter_to_child_iter(filter, child_iter, filter_iter) bind(c)\r\ngtk;gtk_tree_model_filter_convert_path_to_child_path;GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodelfilter.h;\"GtkTreePath *gtk_tree_model_filter_convert_path_to_child_path (GtkTreeModelFilter *filter, GtkTreePath *filter_path);\";function gtk_tree_model_filter_convert_path_to_child_path(filter, filter_path) bind(c)\r\ngtk;gtk_tree_model_filter_get_model;GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodelfilter.h;\"GtkTreeModel *gtk_tree_model_filter_get_model (GtkTreeModelFilter *filter);\";function gtk_tree_model_filter_get_model(filter) bind(c)\r\ngtk;gtk_tree_model_filter_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodelfilter.h;\"GType gtk_tree_model_filter_get_type (void) ;\";function gtk_tree_model_filter_get_type() bind(c)\r\ngtk;gtk_tree_model_filter_new;GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodelfilter.h;\"GtkTreeModel *gtk_tree_model_filter_new (GtkTreeModel *child_model, GtkTreePath *root);\";function gtk_tree_model_filter_new(child_model, root) bind(c)\r\ngtk;gtk_tree_model_filter_refilter;GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodelfilter.h;\"void gtk_tree_model_filter_refilter (GtkTreeModelFilter *filter);\";subroutine gtk_tree_model_filter_refilter(filter) bind(c)\r\ngtk;gtk_tree_model_filter_set_modify_func;GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodelfilter.h;\"void gtk_tree_model_filter_set_modify_func (GtkTreeModelFilter *filter, int n_columns, GType *types, GtkTreeModelFilterModifyFunc func, gpointer data, GDestroyNotify destroy);\";subroutine gtk_tree_model_filter_set_modify_func(filter, n_columns, types, func, data, destroy) bind(c)\r\ngtk;gtk_tree_model_filter_set_visible_column;GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodelfilter.h;\"void gtk_tree_model_filter_set_visible_column (GtkTreeModelFilter *filter, int column);\";subroutine gtk_tree_model_filter_set_visible_column(filter, column) bind(c)\r\ngtk;gtk_tree_model_filter_set_visible_func;GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodelfilter.h;\"void gtk_tree_model_filter_set_visible_func (GtkTreeModelFilter *filter, GtkTreeModelFilterVisibleFunc func, gpointer data, GDestroyNotify destroy);\";subroutine gtk_tree_model_filter_set_visible_func(filter, func, data, destroy) bind(c)\r\ngtk;gtk_tree_model_foreach;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"void gtk_tree_model_foreach (GtkTreeModel *model, GtkTreeModelForeachFunc func, gpointer user_data);\";subroutine gtk_tree_model_foreach(model, func, user_data) bind(c)\r\ngtk;gtk_tree_model_get_column_type;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"GType gtk_tree_model_get_column_type (GtkTreeModel *tree_model, int index_);\";function gtk_tree_model_get_column_type(tree_model, index_) bind(c)\r\ngtk;gtk_tree_model_get_flags;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"GtkTreeModelFlags gtk_tree_model_get_flags (GtkTreeModel *tree_model);\";function gtk_tree_model_get_flags(tree_model) bind(c)\r\ngtk;gtk_tree_model_get_iter;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"gboolean gtk_tree_model_get_iter (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreePath *path);\";function gtk_tree_model_get_iter(tree_model, iter, path) bind(c)\r\ngtk;gtk_tree_model_get_iter_first;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"gboolean gtk_tree_model_get_iter_first (GtkTreeModel *tree_model, GtkTreeIter *iter);\";function gtk_tree_model_get_iter_first(tree_model, iter) bind(c)\r\ngtk;gtk_tree_model_get_iter_from_string;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"gboolean gtk_tree_model_get_iter_from_string (GtkTreeModel *tree_model, GtkTreeIter *iter, const char *path_string);\";function gtk_tree_model_get_iter_from_string(tree_model, iter, path_string) bind(c)\r\ngtk;gtk_tree_model_get_n_columns;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"int gtk_tree_model_get_n_columns (GtkTreeModel *tree_model);\";function gtk_tree_model_get_n_columns(tree_model) bind(c)\r\ngtk;gtk_tree_model_get_path;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"GtkTreePath * gtk_tree_model_get_path (GtkTreeModel *tree_model, GtkTreeIter *iter);\";function gtk_tree_model_get_path(tree_model, iter) bind(c)\r\ngtk;gtk_tree_model_get_string_from_iter;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"char * gtk_tree_model_get_string_from_iter (GtkTreeModel *tree_model, GtkTreeIter *iter);\";function gtk_tree_model_get_string_from_iter(tree_model, iter) bind(c)\r\ngtk;gtk_tree_model_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"GType gtk_tree_model_get_type (void) ;\";function gtk_tree_model_get_type() bind(c)\r\ngtk;gtk_tree_model_get_valist;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"void gtk_tree_model_get_valist (GtkTreeModel *tree_model, GtkTreeIter *iter, va_list var_args);\";subroutine gtk_tree_model_get_valist(tree_model, iter, var_args) bind(c)\r\ngtk;gtk_tree_model_get_value;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"void gtk_tree_model_get_value (GtkTreeModel *tree_model, GtkTreeIter *iter, int column, GValue *value);\";subroutine gtk_tree_model_get_value(tree_model, iter, column, value) bind(c)\r\ngtk;gtk_tree_model_iter_children;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"gboolean gtk_tree_model_iter_children (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *parent);\";function gtk_tree_model_iter_children(tree_model, iter, parent) bind(c)\r\ngtk;gtk_tree_model_iter_has_child;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"gboolean gtk_tree_model_iter_has_child (GtkTreeModel *tree_model, GtkTreeIter *iter);\";function gtk_tree_model_iter_has_child(tree_model, iter) bind(c)\r\ngtk;gtk_tree_model_iter_n_children;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"int gtk_tree_model_iter_n_children (GtkTreeModel *tree_model, GtkTreeIter *iter);\";function gtk_tree_model_iter_n_children(tree_model, iter) bind(c)\r\ngtk;gtk_tree_model_iter_next;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"gboolean gtk_tree_model_iter_next (GtkTreeModel *tree_model, GtkTreeIter *iter);\";function gtk_tree_model_iter_next(tree_model, iter) bind(c)\r\ngtk;gtk_tree_model_iter_nth_child;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"gboolean gtk_tree_model_iter_nth_child (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *parent, int n);\";function gtk_tree_model_iter_nth_child(tree_model, iter, parent, n) bind(c)\r\ngtk;gtk_tree_model_iter_parent;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"gboolean gtk_tree_model_iter_parent (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *child);\";function gtk_tree_model_iter_parent(tree_model, iter, child) bind(c)\r\ngtk;gtk_tree_model_iter_previous;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"gboolean gtk_tree_model_iter_previous (GtkTreeModel *tree_model, GtkTreeIter *iter);\";function gtk_tree_model_iter_previous(tree_model, iter) bind(c)\r\ngtk;gtk_tree_model_ref_node;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"void gtk_tree_model_ref_node (GtkTreeModel *tree_model, GtkTreeIter *iter);\";subroutine gtk_tree_model_ref_node(tree_model, iter) bind(c)\r\ngtk;gtk_tree_model_row_changed;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"void gtk_tree_model_row_changed (GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter);\";subroutine gtk_tree_model_row_changed(tree_model, path, iter) bind(c)\r\ngtk;gtk_tree_model_row_deleted;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"void gtk_tree_model_row_deleted (GtkTreeModel *tree_model, GtkTreePath *path);\";subroutine gtk_tree_model_row_deleted(tree_model, path) bind(c)\r\ngtk;gtk_tree_model_row_has_child_toggled;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"void gtk_tree_model_row_has_child_toggled (GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter);\";subroutine gtk_tree_model_row_has_child_toggled(tree_model, path, iter) bind(c)\r\ngtk;gtk_tree_model_row_inserted;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"void gtk_tree_model_row_inserted (GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter);\";subroutine gtk_tree_model_row_inserted(tree_model, path, iter) bind(c)\r\ngtk;gtk_tree_model_rows_reordered;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"void gtk_tree_model_rows_reordered (GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter, int *new_order);\";subroutine gtk_tree_model_rows_reordered(tree_model, path, iter, new_order) bind(c)\r\ngtk;gtk_tree_model_rows_reordered_with_length;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"void gtk_tree_model_rows_reordered_with_length (GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter, int *new_order, int length);\";subroutine gtk_tree_model_rows_reordered_with_length(tree_model, path, iter, new_order, length) bind(c)\r\ngtk;gtk_tree_model_sort_clear_cache;GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodelsort.h;\"void gtk_tree_model_sort_clear_cache (GtkTreeModelSort *tree_model_sort);\";subroutine gtk_tree_model_sort_clear_cache(tree_model_sort) bind(c)\r\ngtk;gtk_tree_model_sort_convert_child_iter_to_iter;GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodelsort.h;\"gboolean gtk_tree_model_sort_convert_child_iter_to_iter (GtkTreeModelSort *tree_model_sort, GtkTreeIter *sort_iter, GtkTreeIter *child_iter);\";function gtk_tree_model_sort_convert_child_iter_to_iter(tree_model_sort, sort_iter, child_iter) bind(c)\r\ngtk;gtk_tree_model_sort_convert_child_path_to_path;GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodelsort.h;\"GtkTreePath *gtk_tree_model_sort_convert_child_path_to_path (GtkTreeModelSort *tree_model_sort, GtkTreePath *child_path);\";function gtk_tree_model_sort_convert_child_path_to_path(tree_model_sort, child_path) bind(c)\r\ngtk;gtk_tree_model_sort_convert_iter_to_child_iter;GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodelsort.h;\"void gtk_tree_model_sort_convert_iter_to_child_iter (GtkTreeModelSort *tree_model_sort, GtkTreeIter *child_iter, GtkTreeIter *sorted_iter);\";subroutine gtk_tree_model_sort_convert_iter_to_child_iter(tree_model_sort, child_iter, sorted_iter) bind(c)\r\ngtk;gtk_tree_model_sort_convert_path_to_child_path;GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodelsort.h;\"GtkTreePath *gtk_tree_model_sort_convert_path_to_child_path (GtkTreeModelSort *tree_model_sort, GtkTreePath *sorted_path);\";function gtk_tree_model_sort_convert_path_to_child_path(tree_model_sort, sorted_path) bind(c)\r\ngtk;gtk_tree_model_sort_get_model;GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodelsort.h;\"GtkTreeModel *gtk_tree_model_sort_get_model (GtkTreeModelSort *tree_model);\";function gtk_tree_model_sort_get_model(tree_model) bind(c)\r\ngtk;gtk_tree_model_sort_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodelsort.h;\"GType gtk_tree_model_sort_get_type (void) ;\";function gtk_tree_model_sort_get_type() bind(c)\r\ngtk;gtk_tree_model_sort_iter_is_valid;GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodelsort.h;\"gboolean gtk_tree_model_sort_iter_is_valid (GtkTreeModelSort *tree_model_sort, GtkTreeIter *iter);\";function gtk_tree_model_sort_iter_is_valid(tree_model_sort, iter) bind(c)\r\ngtk;gtk_tree_model_sort_new_with_model;GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodelsort.h;\"GtkTreeModel *gtk_tree_model_sort_new_with_model (GtkTreeModel *child_model);\";function gtk_tree_model_sort_new_with_model(child_model) bind(c)\r\ngtk;gtk_tree_model_sort_reset_default_sort_func;GDK_DEPRECATED_IN_4_10_FOR(GtkFilterListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodelsort.h;\"void gtk_tree_model_sort_reset_default_sort_func (GtkTreeModelSort *tree_model_sort);\";subroutine gtk_tree_model_sort_reset_default_sort_func(tree_model_sort) bind(c)\r\ngtk;gtk_tree_model_unref_node;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"void gtk_tree_model_unref_node (GtkTreeModel *tree_model, GtkTreeIter *iter);\";subroutine gtk_tree_model_unref_node(tree_model, iter) bind(c)\r\ngtk;gtk_tree_path_append_index;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"void gtk_tree_path_append_index (GtkTreePath *path, int index_);\";subroutine gtk_tree_path_append_index(path, index_) bind(c)\r\ngtk;gtk_tree_path_compare;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"int gtk_tree_path_compare (const GtkTreePath *a, const GtkTreePath *b);\";function gtk_tree_path_compare(a, b) bind(c)\r\ngtk;gtk_tree_path_copy;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"GtkTreePath *gtk_tree_path_copy (const GtkTreePath *path);\";function gtk_tree_path_copy(path) bind(c)\r\ngtk;gtk_tree_path_down;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"void gtk_tree_path_down (GtkTreePath *path);\";subroutine gtk_tree_path_down(path) bind(c)\r\ngtk;gtk_tree_path_free;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"void gtk_tree_path_free (GtkTreePath *path);\";subroutine gtk_tree_path_free(path) bind(c)\r\ngtk;gtk_tree_path_get_depth;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"int gtk_tree_path_get_depth (GtkTreePath *path);\";function gtk_tree_path_get_depth(path) bind(c)\r\ngtk;gtk_tree_path_get_indices;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"int *gtk_tree_path_get_indices (GtkTreePath *path);\";function gtk_tree_path_get_indices(path) bind(c)\r\ngtk;gtk_tree_path_get_indices_with_depth;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"int *gtk_tree_path_get_indices_with_depth (GtkTreePath *path, int *depth);\";function gtk_tree_path_get_indices_with_depth(path, depth) bind(c)\r\ngtk;gtk_tree_path_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"GType gtk_tree_path_get_type (void) ;\";function gtk_tree_path_get_type() bind(c)\r\ngtk;gtk_tree_path_is_ancestor;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"gboolean gtk_tree_path_is_ancestor (GtkTreePath *path, GtkTreePath *descendant);\";function gtk_tree_path_is_ancestor(path, descendant) bind(c)\r\ngtk;gtk_tree_path_is_descendant;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"gboolean gtk_tree_path_is_descendant (GtkTreePath *path, GtkTreePath *ancestor);\";function gtk_tree_path_is_descendant(path, ancestor) bind(c)\r\ngtk;gtk_tree_path_new;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"GtkTreePath *gtk_tree_path_new (void);\";function gtk_tree_path_new() bind(c)\r\ngtk;gtk_tree_path_new_first;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"GtkTreePath *gtk_tree_path_new_first (void);\";function gtk_tree_path_new_first() bind(c)\r\ngtk;gtk_tree_path_new_from_indicesv;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"GtkTreePath *gtk_tree_path_new_from_indicesv (int *indices, gsize length);\";function gtk_tree_path_new_from_indicesv(indices, length) bind(c)\r\ngtk;gtk_tree_path_new_from_string;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"GtkTreePath *gtk_tree_path_new_from_string (const char *path);\";function gtk_tree_path_new_from_string(path) bind(c)\r\ngtk;gtk_tree_path_next;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"void gtk_tree_path_next (GtkTreePath *path);\";subroutine gtk_tree_path_next(path) bind(c)\r\ngtk;gtk_tree_path_prepend_index;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"void gtk_tree_path_prepend_index (GtkTreePath *path, int index_);\";subroutine gtk_tree_path_prepend_index(path, index_) bind(c)\r\ngtk;gtk_tree_path_prev;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"gboolean gtk_tree_path_prev (GtkTreePath *path);\";function gtk_tree_path_prev(path) bind(c)\r\ngtk;gtk_tree_path_to_string;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"char *gtk_tree_path_to_string (GtkTreePath *path);\";function gtk_tree_path_to_string(path) bind(c)\r\ngtk;gtk_tree_path_up;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"gboolean gtk_tree_path_up (GtkTreePath *path);\";function gtk_tree_path_up(path) bind(c)\r\ngtk;gtk_tree_row_data_get_type;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreednd.h;\"GType gtk_tree_row_data_get_type (void) ;\";function gtk_tree_row_data_get_type() bind(c)\r\ngtk;gtk_tree_row_reference_copy;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"GtkTreeRowReference *gtk_tree_row_reference_copy (GtkTreeRowReference *reference);\";function gtk_tree_row_reference_copy(reference) bind(c)\r\ngtk;gtk_tree_row_reference_deleted;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"void gtk_tree_row_reference_deleted (GObject *proxy, GtkTreePath *path);\";subroutine gtk_tree_row_reference_deleted(proxy, path) bind(c)\r\ngtk;gtk_tree_row_reference_free;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"void gtk_tree_row_reference_free (GtkTreeRowReference *reference);\";subroutine gtk_tree_row_reference_free(reference) bind(c)\r\ngtk;gtk_tree_row_reference_get_model;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"GtkTreeModel *gtk_tree_row_reference_get_model (GtkTreeRowReference *reference);\";function gtk_tree_row_reference_get_model(reference) bind(c)\r\ngtk;gtk_tree_row_reference_get_path;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"GtkTreePath *gtk_tree_row_reference_get_path (GtkTreeRowReference *reference);\";function gtk_tree_row_reference_get_path(reference) bind(c)\r\ngtk;gtk_tree_row_reference_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"GType gtk_tree_row_reference_get_type (void) ;\";function gtk_tree_row_reference_get_type() bind(c)\r\ngtk;gtk_tree_row_reference_inserted;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"void gtk_tree_row_reference_inserted (GObject *proxy, GtkTreePath *path);\";subroutine gtk_tree_row_reference_inserted(proxy, path) bind(c)\r\ngtk;gtk_tree_row_reference_new;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"GtkTreeRowReference *gtk_tree_row_reference_new (GtkTreeModel *model, GtkTreePath *path);\";function gtk_tree_row_reference_new(model, path) bind(c)\r\ngtk;gtk_tree_row_reference_new_proxy;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"GtkTreeRowReference *gtk_tree_row_reference_new_proxy (GObject *proxy, GtkTreeModel *model, GtkTreePath *path);\";function gtk_tree_row_reference_new_proxy(proxy, model, path) bind(c)\r\ngtk;gtk_tree_row_reference_reordered;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"void gtk_tree_row_reference_reordered (GObject *proxy, GtkTreePath *path, GtkTreeIter *iter, int *new_order);\";subroutine gtk_tree_row_reference_reordered(proxy, path, iter, new_order) bind(c)\r\ngtk;gtk_tree_row_reference_valid;GDK_DEPRECATED_IN_4_10_FOR(GListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreemodel.h;\"gboolean gtk_tree_row_reference_valid (GtkTreeRowReference *reference);\";function gtk_tree_row_reference_valid(reference) bind(c)\r\ngtk;gtk_tree_selection_count_selected_rows;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeselection.h;\"int gtk_tree_selection_count_selected_rows (GtkTreeSelection *selection);\";function gtk_tree_selection_count_selected_rows(selection) bind(c)\r\ngtk;gtk_tree_selection_get_mode;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeselection.h;\"GtkSelectionMode gtk_tree_selection_get_mode (GtkTreeSelection *selection);\";function gtk_tree_selection_get_mode(selection) bind(c)\r\ngtk;gtk_tree_selection_get_select_function;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeselection.h;\"GtkTreeSelectionFunc gtk_tree_selection_get_select_function (GtkTreeSelection *selection);\";function gtk_tree_selection_get_select_function(selection) bind(c)\r\ngtk;gtk_tree_selection_get_selected;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeselection.h;\"gboolean gtk_tree_selection_get_selected (GtkTreeSelection *selection, GtkTreeModel **model, GtkTreeIter *iter);\";function gtk_tree_selection_get_selected(selection, model, iter) bind(c)\r\ngtk;gtk_tree_selection_get_selected_rows;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeselection.h;\"GList * gtk_tree_selection_get_selected_rows (GtkTreeSelection *selection, GtkTreeModel **model);\";function gtk_tree_selection_get_selected_rows(selection, model) bind(c)\r\ngtk;gtk_tree_selection_get_tree_view;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeselection.h;\"GtkTreeView* gtk_tree_selection_get_tree_view (GtkTreeSelection *selection);\";function gtk_tree_selection_get_tree_view(selection) bind(c)\r\ngtk;gtk_tree_selection_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeselection.h;\"GType gtk_tree_selection_get_type (void) ;\";function gtk_tree_selection_get_type() bind(c)\r\ngtk;gtk_tree_selection_get_user_data;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeselection.h;\"gpointer gtk_tree_selection_get_user_data (GtkTreeSelection *selection);\";function gtk_tree_selection_get_user_data(selection) bind(c)\r\ngtk;gtk_tree_selection_iter_is_selected;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeselection.h;\"gboolean gtk_tree_selection_iter_is_selected (GtkTreeSelection *selection, GtkTreeIter *iter);\";function gtk_tree_selection_iter_is_selected(selection, iter) bind(c)\r\ngtk;gtk_tree_selection_path_is_selected;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeselection.h;\"gboolean gtk_tree_selection_path_is_selected (GtkTreeSelection *selection, GtkTreePath *path);\";function gtk_tree_selection_path_is_selected(selection, path) bind(c)\r\ngtk;gtk_tree_selection_select_all;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeselection.h;\"void gtk_tree_selection_select_all (GtkTreeSelection *selection);\";subroutine gtk_tree_selection_select_all(selection) bind(c)\r\ngtk;gtk_tree_selection_select_iter;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeselection.h;\"void gtk_tree_selection_select_iter (GtkTreeSelection *selection, GtkTreeIter *iter);\";subroutine gtk_tree_selection_select_iter(selection, iter) bind(c)\r\ngtk;gtk_tree_selection_select_path;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeselection.h;\"void gtk_tree_selection_select_path (GtkTreeSelection *selection, GtkTreePath *path);\";subroutine gtk_tree_selection_select_path(selection, path) bind(c)\r\ngtk;gtk_tree_selection_select_range;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeselection.h;\"void gtk_tree_selection_select_range (GtkTreeSelection *selection, GtkTreePath *start_path, GtkTreePath *end_path);\";subroutine gtk_tree_selection_select_range(selection, start_path, end_path) bind(c)\r\ngtk;gtk_tree_selection_selected_foreach;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeselection.h;\"void gtk_tree_selection_selected_foreach (GtkTreeSelection *selection, GtkTreeSelectionForeachFunc func, gpointer data);\";subroutine gtk_tree_selection_selected_foreach(selection, func, data) bind(c)\r\ngtk;gtk_tree_selection_set_mode;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeselection.h;\"void gtk_tree_selection_set_mode (GtkTreeSelection *selection, GtkSelectionMode type);\";subroutine gtk_tree_selection_set_mode(selection, type) bind(c)\r\ngtk;gtk_tree_selection_set_select_function;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeselection.h;\"void gtk_tree_selection_set_select_function (GtkTreeSelection *selection, GtkTreeSelectionFunc func, gpointer data, GDestroyNotify destroy);\";subroutine gtk_tree_selection_set_select_function(selection, func, data, destroy) bind(c)\r\ngtk;gtk_tree_selection_unselect_all;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeselection.h;\"void gtk_tree_selection_unselect_all (GtkTreeSelection *selection);\";subroutine gtk_tree_selection_unselect_all(selection) bind(c)\r\ngtk;gtk_tree_selection_unselect_iter;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeselection.h;\"void gtk_tree_selection_unselect_iter (GtkTreeSelection *selection, GtkTreeIter *iter);\";subroutine gtk_tree_selection_unselect_iter(selection, iter) bind(c)\r\ngtk;gtk_tree_selection_unselect_path;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeselection.h;\"void gtk_tree_selection_unselect_path (GtkTreeSelection *selection, GtkTreePath *path);\";subroutine gtk_tree_selection_unselect_path(selection, path) bind(c)\r\ngtk;gtk_tree_selection_unselect_range;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeselection.h;\"void gtk_tree_selection_unselect_range (GtkTreeSelection *selection, GtkTreePath *start_path, GtkTreePath *end_path);\";subroutine gtk_tree_selection_unselect_range(selection, start_path, end_path) bind(c)\r\ngtk;gtk_tree_sortable_get_sort_column_id;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreesortable.h;\"gboolean gtk_tree_sortable_get_sort_column_id (GtkTreeSortable *sortable, int *sort_column_id, GtkSortType *order);\";function gtk_tree_sortable_get_sort_column_id(sortable, sort_column_id, order) bind(c)\r\ngtk;gtk_tree_sortable_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreesortable.h;\"GType gtk_tree_sortable_get_type (void) ;\";function gtk_tree_sortable_get_type() bind(c)\r\ngtk;gtk_tree_sortable_has_default_sort_func;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreesortable.h;\"gboolean gtk_tree_sortable_has_default_sort_func (GtkTreeSortable *sortable);\";function gtk_tree_sortable_has_default_sort_func(sortable) bind(c)\r\ngtk;gtk_tree_sortable_set_default_sort_func;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreesortable.h;\"void gtk_tree_sortable_set_default_sort_func (GtkTreeSortable *sortable, GtkTreeIterCompareFunc sort_func, gpointer user_data, GDestroyNotify destroy);\";subroutine gtk_tree_sortable_set_default_sort_func(sortable, sort_func, user_data, destroy) bind(c)\r\ngtk;gtk_tree_sortable_set_sort_column_id;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreesortable.h;\"void gtk_tree_sortable_set_sort_column_id (GtkTreeSortable *sortable, int sort_column_id, GtkSortType order);\";subroutine gtk_tree_sortable_set_sort_column_id(sortable, sort_column_id, order) bind(c)\r\ngtk;gtk_tree_sortable_set_sort_func;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreesortable.h;\"void gtk_tree_sortable_set_sort_func (GtkTreeSortable *sortable, int sort_column_id, GtkTreeIterCompareFunc sort_func, gpointer user_data, GDestroyNotify destroy);\";subroutine gtk_tree_sortable_set_sort_func(sortable, sort_column_id, sort_func, user_data, destroy) bind(c)\r\ngtk;gtk_tree_sortable_sort_column_changed;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreesortable.h;\"void gtk_tree_sortable_sort_column_changed (GtkTreeSortable *sortable);\";subroutine gtk_tree_sortable_sort_column_changed(sortable) bind(c)\r\ngtk;gtk_tree_store_append;GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreestore.h;\"void gtk_tree_store_append (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *parent);\";subroutine gtk_tree_store_append(tree_store, iter, parent) bind(c)\r\ngtk;gtk_tree_store_clear;GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreestore.h;\"void gtk_tree_store_clear (GtkTreeStore *tree_store);\";subroutine gtk_tree_store_clear(tree_store) bind(c)\r\ngtk;gtk_tree_store_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreestore.h;\"GType gtk_tree_store_get_type (void) ;\";function gtk_tree_store_get_type() bind(c)\r\ngtk;gtk_tree_store_insert;GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreestore.h;\"void gtk_tree_store_insert (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *parent, int position);\";subroutine gtk_tree_store_insert(tree_store, iter, parent, position) bind(c)\r\ngtk;gtk_tree_store_insert_after;GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreestore.h;\"void gtk_tree_store_insert_after (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *parent, GtkTreeIter *sibling);\";subroutine gtk_tree_store_insert_after(tree_store, iter, parent, sibling) bind(c)\r\ngtk;gtk_tree_store_insert_before;GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreestore.h;\"void gtk_tree_store_insert_before (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *parent, GtkTreeIter *sibling);\";subroutine gtk_tree_store_insert_before(tree_store, iter, parent, sibling) bind(c)\r\ngtk;gtk_tree_store_insert_with_valuesv;GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreestore.h;\"void gtk_tree_store_insert_with_valuesv (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *parent, int position, int *columns, GValue *values, int n_values);\";subroutine gtk_tree_store_insert_with_valuesv(tree_store, iter, parent, position, columns, values, n_values) bind(c)\r\ngtk;gtk_tree_store_is_ancestor;GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreestore.h;\"gboolean gtk_tree_store_is_ancestor (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *descendant);\";function gtk_tree_store_is_ancestor(tree_store, iter, descendant) bind(c)\r\ngtk;gtk_tree_store_iter_depth;GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreestore.h;\"int gtk_tree_store_iter_depth (GtkTreeStore *tree_store, GtkTreeIter *iter);\";function gtk_tree_store_iter_depth(tree_store, iter) bind(c)\r\ngtk;gtk_tree_store_iter_is_valid;GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreestore.h;\"gboolean gtk_tree_store_iter_is_valid (GtkTreeStore *tree_store, GtkTreeIter *iter);\";function gtk_tree_store_iter_is_valid(tree_store, iter) bind(c)\r\ngtk;gtk_tree_store_move_after;GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreestore.h;\"void gtk_tree_store_move_after (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *position);\";subroutine gtk_tree_store_move_after(tree_store, iter, position) bind(c)\r\ngtk;gtk_tree_store_move_before;GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreestore.h;\"void gtk_tree_store_move_before (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *position);\";subroutine gtk_tree_store_move_before(tree_store, iter, position) bind(c)\r\ngtk;gtk_tree_store_newv;GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreestore.h;\"GtkTreeStore *gtk_tree_store_newv (int n_columns, GType *types);\";function gtk_tree_store_newv(n_columns, types) bind(c)\r\ngtk;gtk_tree_store_prepend;GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreestore.h;\"void gtk_tree_store_prepend (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *parent);\";subroutine gtk_tree_store_prepend(tree_store, iter, parent) bind(c)\r\ngtk;gtk_tree_store_remove;GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreestore.h;\"gboolean gtk_tree_store_remove (GtkTreeStore *tree_store, GtkTreeIter *iter);\";function gtk_tree_store_remove(tree_store, iter) bind(c)\r\ngtk;gtk_tree_store_reorder;GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreestore.h;\"void gtk_tree_store_reorder (GtkTreeStore *tree_store, GtkTreeIter *parent, int *new_order);\";subroutine gtk_tree_store_reorder(tree_store, parent, new_order) bind(c)\r\ngtk;gtk_tree_store_set_column_types;GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreestore.h;\"void gtk_tree_store_set_column_types (GtkTreeStore *tree_store, int n_columns, GType *types);\";subroutine gtk_tree_store_set_column_types(tree_store, n_columns, types) bind(c)\r\ngtk;gtk_tree_store_set_valist;GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreestore.h;\"void gtk_tree_store_set_valist (GtkTreeStore *tree_store, GtkTreeIter *iter, va_list var_args);\";subroutine gtk_tree_store_set_valist(tree_store, iter, var_args) bind(c)\r\ngtk;gtk_tree_store_set_value;GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreestore.h;\"void gtk_tree_store_set_value (GtkTreeStore *tree_store, GtkTreeIter *iter, int column, GValue *value);\";subroutine gtk_tree_store_set_value(tree_store, iter, column, value) bind(c)\r\ngtk;gtk_tree_store_set_valuesv;GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreestore.h;\"void gtk_tree_store_set_valuesv (GtkTreeStore *tree_store, GtkTreeIter *iter, int *columns, GValue *values, int n_values);\";subroutine gtk_tree_store_set_valuesv(tree_store, iter, columns, values, n_values) bind(c)\r\ngtk;gtk_tree_store_swap;GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreestore.h;\"void gtk_tree_store_swap (GtkTreeStore *tree_store, GtkTreeIter *a, GtkTreeIter *b);\";subroutine gtk_tree_store_swap(tree_store, a, b) bind(c)\r\ngtk;gtk_tree_view_append_column;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"int gtk_tree_view_append_column (GtkTreeView *tree_view, GtkTreeViewColumn *column);\";function gtk_tree_view_append_column(tree_view, column) bind(c)\r\ngtk;gtk_tree_view_collapse_all;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_collapse_all (GtkTreeView *tree_view);\";subroutine gtk_tree_view_collapse_all(tree_view) bind(c)\r\ngtk;gtk_tree_view_collapse_row;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"gboolean gtk_tree_view_collapse_row (GtkTreeView *tree_view, GtkTreePath *path);\";function gtk_tree_view_collapse_row(tree_view, path) bind(c)\r\ngtk;gtk_tree_view_column_add_attribute;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"void gtk_tree_view_column_add_attribute (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell_renderer, const char *attribute, int column);\";subroutine gtk_tree_view_column_add_attribute(tree_column, cell_renderer, attribute, column) bind(c)\r\ngtk;gtk_tree_view_column_cell_get_position;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"gboolean gtk_tree_view_column_cell_get_position (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell_renderer, int *x_offset, int *width);\";function gtk_tree_view_column_cell_get_position(tree_column, cell_renderer, x_offset, width) bind(c)\r\ngtk;gtk_tree_view_column_cell_get_size;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"void gtk_tree_view_column_cell_get_size (GtkTreeViewColumn *tree_column, int *x_offset, int *y_offset, int *width, int *height);\";subroutine gtk_tree_view_column_cell_get_size(tree_column, x_offset, y_offset, width, height) bind(c)\r\ngtk;gtk_tree_view_column_cell_is_visible;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"gboolean gtk_tree_view_column_cell_is_visible (GtkTreeViewColumn *tree_column);\";function gtk_tree_view_column_cell_is_visible(tree_column) bind(c)\r\ngtk;gtk_tree_view_column_cell_set_cell_data;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"void gtk_tree_view_column_cell_set_cell_data (GtkTreeViewColumn *tree_column, GtkTreeModel *tree_model, GtkTreeIter *iter, gboolean is_expander, gboolean is_expanded);\";subroutine gtk_tree_view_column_cell_set_cell_data(tree_column, tree_model, iter, is_expander, is_expanded) bind(c)\r\ngtk;gtk_tree_view_column_clear;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"void gtk_tree_view_column_clear (GtkTreeViewColumn *tree_column);\";subroutine gtk_tree_view_column_clear(tree_column) bind(c)\r\ngtk;gtk_tree_view_column_clear_attributes;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"void gtk_tree_view_column_clear_attributes (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell_renderer);\";subroutine gtk_tree_view_column_clear_attributes(tree_column, cell_renderer) bind(c)\r\ngtk;gtk_tree_view_column_clicked;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"void gtk_tree_view_column_clicked (GtkTreeViewColumn *tree_column);\";subroutine gtk_tree_view_column_clicked(tree_column) bind(c)\r\ngtk;gtk_tree_view_column_focus_cell;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"void gtk_tree_view_column_focus_cell (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell);\";subroutine gtk_tree_view_column_focus_cell(tree_column, cell) bind(c)\r\ngtk;gtk_tree_view_column_get_alignment;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"float gtk_tree_view_column_get_alignment (GtkTreeViewColumn *tree_column);\";function gtk_tree_view_column_get_alignment(tree_column) bind(c)\r\ngtk;gtk_tree_view_column_get_button;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"GtkWidget *gtk_tree_view_column_get_button (GtkTreeViewColumn *tree_column);\";function gtk_tree_view_column_get_button(tree_column) bind(c)\r\ngtk;gtk_tree_view_column_get_clickable;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"gboolean gtk_tree_view_column_get_clickable (GtkTreeViewColumn *tree_column);\";function gtk_tree_view_column_get_clickable(tree_column) bind(c)\r\ngtk;gtk_tree_view_column_get_expand;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"gboolean gtk_tree_view_column_get_expand (GtkTreeViewColumn *tree_column);\";function gtk_tree_view_column_get_expand(tree_column) bind(c)\r\ngtk;gtk_tree_view_column_get_fixed_width;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"int gtk_tree_view_column_get_fixed_width (GtkTreeViewColumn *tree_column);\";function gtk_tree_view_column_get_fixed_width(tree_column) bind(c)\r\ngtk;gtk_tree_view_column_get_max_width;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"int gtk_tree_view_column_get_max_width (GtkTreeViewColumn *tree_column);\";function gtk_tree_view_column_get_max_width(tree_column) bind(c)\r\ngtk;gtk_tree_view_column_get_min_width;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"int gtk_tree_view_column_get_min_width (GtkTreeViewColumn *tree_column);\";function gtk_tree_view_column_get_min_width(tree_column) bind(c)\r\ngtk;gtk_tree_view_column_get_reorderable;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"gboolean gtk_tree_view_column_get_reorderable (GtkTreeViewColumn *tree_column);\";function gtk_tree_view_column_get_reorderable(tree_column) bind(c)\r\ngtk;gtk_tree_view_column_get_resizable;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"gboolean gtk_tree_view_column_get_resizable (GtkTreeViewColumn *tree_column);\";function gtk_tree_view_column_get_resizable(tree_column) bind(c)\r\ngtk;gtk_tree_view_column_get_sizing;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"GtkTreeViewColumnSizing gtk_tree_view_column_get_sizing (GtkTreeViewColumn *tree_column);\";function gtk_tree_view_column_get_sizing(tree_column) bind(c)\r\ngtk;gtk_tree_view_column_get_sort_column_id;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"int gtk_tree_view_column_get_sort_column_id (GtkTreeViewColumn *tree_column);\";function gtk_tree_view_column_get_sort_column_id(tree_column) bind(c)\r\ngtk;gtk_tree_view_column_get_sort_indicator;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"gboolean gtk_tree_view_column_get_sort_indicator (GtkTreeViewColumn *tree_column);\";function gtk_tree_view_column_get_sort_indicator(tree_column) bind(c)\r\ngtk;gtk_tree_view_column_get_sort_order;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"GtkSortType gtk_tree_view_column_get_sort_order (GtkTreeViewColumn *tree_column);\";function gtk_tree_view_column_get_sort_order(tree_column) bind(c)\r\ngtk;gtk_tree_view_column_get_spacing;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"int gtk_tree_view_column_get_spacing (GtkTreeViewColumn *tree_column);\";function gtk_tree_view_column_get_spacing(tree_column) bind(c)\r\ngtk;gtk_tree_view_column_get_title;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"const char * gtk_tree_view_column_get_title (GtkTreeViewColumn *tree_column);\";function gtk_tree_view_column_get_title(tree_column) bind(c)\r\ngtk;gtk_tree_view_column_get_tree_view;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"GtkWidget *gtk_tree_view_column_get_tree_view (GtkTreeViewColumn *tree_column);\";function gtk_tree_view_column_get_tree_view(tree_column) bind(c)\r\ngtk;gtk_tree_view_column_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"GType gtk_tree_view_column_get_type (void) ;\";function gtk_tree_view_column_get_type() bind(c)\r\ngtk;gtk_tree_view_column_get_visible;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"gboolean gtk_tree_view_column_get_visible (GtkTreeViewColumn *tree_column);\";function gtk_tree_view_column_get_visible(tree_column) bind(c)\r\ngtk;gtk_tree_view_column_get_widget;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"GtkWidget *gtk_tree_view_column_get_widget (GtkTreeViewColumn *tree_column);\";function gtk_tree_view_column_get_widget(tree_column) bind(c)\r\ngtk;gtk_tree_view_column_get_width;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"int gtk_tree_view_column_get_width (GtkTreeViewColumn *tree_column);\";function gtk_tree_view_column_get_width(tree_column) bind(c)\r\ngtk;gtk_tree_view_column_get_x_offset;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"int gtk_tree_view_column_get_x_offset (GtkTreeViewColumn *tree_column);\";function gtk_tree_view_column_get_x_offset(tree_column) bind(c)\r\ngtk;gtk_tree_view_column_new;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"GtkTreeViewColumn *gtk_tree_view_column_new (void);\";function gtk_tree_view_column_new() bind(c)\r\ngtk;gtk_tree_view_column_new_with_area;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"GtkTreeViewColumn *gtk_tree_view_column_new_with_area (GtkCellArea *area);\";function gtk_tree_view_column_new_with_area(area) bind(c)\r\ngtk;gtk_tree_view_column_pack_end;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"void gtk_tree_view_column_pack_end (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell, gboolean expand);\";subroutine gtk_tree_view_column_pack_end(tree_column, cell, expand) bind(c)\r\ngtk;gtk_tree_view_column_pack_start;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"void gtk_tree_view_column_pack_start (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell, gboolean expand);\";subroutine gtk_tree_view_column_pack_start(tree_column, cell, expand) bind(c)\r\ngtk;gtk_tree_view_column_queue_resize;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"void gtk_tree_view_column_queue_resize (GtkTreeViewColumn *tree_column);\";subroutine gtk_tree_view_column_queue_resize(tree_column) bind(c)\r\ngtk;gtk_tree_view_column_set_alignment;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"void gtk_tree_view_column_set_alignment (GtkTreeViewColumn *tree_column, float xalign);\";subroutine gtk_tree_view_column_set_alignment(tree_column, xalign) bind(c)\r\ngtk;gtk_tree_view_column_set_cell_data_func;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"void gtk_tree_view_column_set_cell_data_func (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell_renderer, GtkTreeCellDataFunc func, gpointer func_data, GDestroyNotify destroy);\";subroutine gtk_tree_view_column_set_cell_data_func(tree_column, cell_renderer, func, func_data, destroy) bind(c)\r\ngtk;gtk_tree_view_column_set_clickable;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"void gtk_tree_view_column_set_clickable (GtkTreeViewColumn *tree_column, gboolean clickable);\";subroutine gtk_tree_view_column_set_clickable(tree_column, clickable) bind(c)\r\ngtk;gtk_tree_view_column_set_expand;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"void gtk_tree_view_column_set_expand (GtkTreeViewColumn *tree_column, gboolean expand);\";subroutine gtk_tree_view_column_set_expand(tree_column, expand) bind(c)\r\ngtk;gtk_tree_view_column_set_fixed_width;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"void gtk_tree_view_column_set_fixed_width (GtkTreeViewColumn *tree_column, int fixed_width);\";subroutine gtk_tree_view_column_set_fixed_width(tree_column, fixed_width) bind(c)\r\ngtk;gtk_tree_view_column_set_max_width;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"void gtk_tree_view_column_set_max_width (GtkTreeViewColumn *tree_column, int max_width);\";subroutine gtk_tree_view_column_set_max_width(tree_column, max_width) bind(c)\r\ngtk;gtk_tree_view_column_set_min_width;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"void gtk_tree_view_column_set_min_width (GtkTreeViewColumn *tree_column, int min_width);\";subroutine gtk_tree_view_column_set_min_width(tree_column, min_width) bind(c)\r\ngtk;gtk_tree_view_column_set_reorderable;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"void gtk_tree_view_column_set_reorderable (GtkTreeViewColumn *tree_column, gboolean reorderable);\";subroutine gtk_tree_view_column_set_reorderable(tree_column, reorderable) bind(c)\r\ngtk;gtk_tree_view_column_set_resizable;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"void gtk_tree_view_column_set_resizable (GtkTreeViewColumn *tree_column, gboolean resizable);\";subroutine gtk_tree_view_column_set_resizable(tree_column, resizable) bind(c)\r\ngtk;gtk_tree_view_column_set_sizing;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"void gtk_tree_view_column_set_sizing (GtkTreeViewColumn *tree_column, GtkTreeViewColumnSizing type);\";subroutine gtk_tree_view_column_set_sizing(tree_column, type) bind(c)\r\ngtk;gtk_tree_view_column_set_sort_column_id;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"void gtk_tree_view_column_set_sort_column_id (GtkTreeViewColumn *tree_column, int sort_column_id);\";subroutine gtk_tree_view_column_set_sort_column_id(tree_column, sort_column_id) bind(c)\r\ngtk;gtk_tree_view_column_set_sort_indicator;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"void gtk_tree_view_column_set_sort_indicator (GtkTreeViewColumn *tree_column, gboolean setting);\";subroutine gtk_tree_view_column_set_sort_indicator(tree_column, setting) bind(c)\r\ngtk;gtk_tree_view_column_set_sort_order;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"void gtk_tree_view_column_set_sort_order (GtkTreeViewColumn *tree_column, GtkSortType order);\";subroutine gtk_tree_view_column_set_sort_order(tree_column, order) bind(c)\r\ngtk;gtk_tree_view_column_set_spacing;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"void gtk_tree_view_column_set_spacing (GtkTreeViewColumn *tree_column, int spacing);\";subroutine gtk_tree_view_column_set_spacing(tree_column, spacing) bind(c)\r\ngtk;gtk_tree_view_column_set_title;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"void gtk_tree_view_column_set_title (GtkTreeViewColumn *tree_column, const char *title);\";subroutine gtk_tree_view_column_set_title(tree_column, title) bind(c)\r\ngtk;gtk_tree_view_column_set_visible;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"void gtk_tree_view_column_set_visible (GtkTreeViewColumn *tree_column, gboolean visible);\";subroutine gtk_tree_view_column_set_visible(tree_column, visible) bind(c)\r\ngtk;gtk_tree_view_column_set_widget;GDK_DEPRECATED_IN_4_10_FOR(GtkColumnView and GtkColumnViewColumn);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeviewcolumn.h;\"void gtk_tree_view_column_set_widget (GtkTreeViewColumn *tree_column, GtkWidget *widget);\";subroutine gtk_tree_view_column_set_widget(tree_column, widget) bind(c)\r\ngtk;gtk_tree_view_columns_autosize;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_columns_autosize (GtkTreeView *tree_view);\";subroutine gtk_tree_view_columns_autosize(tree_view) bind(c)\r\ngtk;gtk_tree_view_convert_bin_window_to_tree_coords;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_convert_bin_window_to_tree_coords (GtkTreeView *tree_view, int bx, int by, int *tx, int *ty);\";subroutine gtk_tree_view_convert_bin_window_to_tree_coords(tree_view, bx, by, tx, ty) bind(c)\r\ngtk;gtk_tree_view_convert_bin_window_to_widget_coords;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_convert_bin_window_to_widget_coords (GtkTreeView *tree_view, int bx, int by, int *wx, int *wy);\";subroutine gtk_tree_view_convert_bin_window_to_widget_coords(tree_view, bx, by, wx, wy) bind(c)\r\ngtk;gtk_tree_view_convert_tree_to_bin_window_coords;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_convert_tree_to_bin_window_coords (GtkTreeView *tree_view, int tx, int ty, int *bx, int *by);\";subroutine gtk_tree_view_convert_tree_to_bin_window_coords(tree_view, tx, ty, bx, by) bind(c)\r\ngtk;gtk_tree_view_convert_tree_to_widget_coords;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_convert_tree_to_widget_coords (GtkTreeView *tree_view, int tx, int ty, int *wx, int *wy);\";subroutine gtk_tree_view_convert_tree_to_widget_coords(tree_view, tx, ty, wx, wy) bind(c)\r\ngtk;gtk_tree_view_convert_widget_to_bin_window_coords;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_convert_widget_to_bin_window_coords (GtkTreeView *tree_view, int wx, int wy, int *bx, int *by);\";subroutine gtk_tree_view_convert_widget_to_bin_window_coords(tree_view, wx, wy, bx, by) bind(c)\r\ngtk;gtk_tree_view_convert_widget_to_tree_coords;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_convert_widget_to_tree_coords (GtkTreeView *tree_view, int wx, int wy, int *tx, int *ty);\";subroutine gtk_tree_view_convert_widget_to_tree_coords(tree_view, wx, wy, tx, ty) bind(c)\r\ngtk;gtk_tree_view_create_row_drag_icon;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"GdkPaintable *gtk_tree_view_create_row_drag_icon (GtkTreeView *tree_view, GtkTreePath *path);\";function gtk_tree_view_create_row_drag_icon(tree_view, path) bind(c)\r\ngtk;gtk_tree_view_enable_model_drag_dest;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_enable_model_drag_dest (GtkTreeView *tree_view, GdkContentFormats *formats, GdkDragAction actions);\";subroutine gtk_tree_view_enable_model_drag_dest(tree_view, formats, actions) bind(c)\r\ngtk;gtk_tree_view_enable_model_drag_source;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_enable_model_drag_source (GtkTreeView *tree_view, GdkModifierType start_button_mask, GdkContentFormats *formats, GdkDragAction actions);\";subroutine gtk_tree_view_enable_model_drag_source(tree_view, start_button_mask, formats, actions) bind(c)\r\ngtk;gtk_tree_view_expand_all;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_expand_all (GtkTreeView *tree_view);\";subroutine gtk_tree_view_expand_all(tree_view) bind(c)\r\ngtk;gtk_tree_view_expand_row;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"gboolean gtk_tree_view_expand_row (GtkTreeView *tree_view, GtkTreePath *path, gboolean open_all);\";function gtk_tree_view_expand_row(tree_view, path, open_all) bind(c)\r\ngtk;gtk_tree_view_expand_to_path;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_expand_to_path (GtkTreeView *tree_view, GtkTreePath *path);\";subroutine gtk_tree_view_expand_to_path(tree_view, path) bind(c)\r\ngtk;gtk_tree_view_get_activate_on_single_click;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"gboolean gtk_tree_view_get_activate_on_single_click (GtkTreeView *tree_view);\";function gtk_tree_view_get_activate_on_single_click(tree_view) bind(c)\r\ngtk;gtk_tree_view_get_background_area;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_get_background_area (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column, GdkRectangle *rect);\";subroutine gtk_tree_view_get_background_area(tree_view, path, column, rect) bind(c)\r\ngtk;gtk_tree_view_get_cell_area;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_get_cell_area (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column, GdkRectangle *rect);\";subroutine gtk_tree_view_get_cell_area(tree_view, path, column, rect) bind(c)\r\ngtk;gtk_tree_view_get_column;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"GtkTreeViewColumn *gtk_tree_view_get_column (GtkTreeView *tree_view, int n);\";function gtk_tree_view_get_column(tree_view, n) bind(c)\r\ngtk;gtk_tree_view_get_columns;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"GList *gtk_tree_view_get_columns (GtkTreeView *tree_view);\";function gtk_tree_view_get_columns(tree_view) bind(c)\r\ngtk;gtk_tree_view_get_cursor;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_get_cursor (GtkTreeView *tree_view, GtkTreePath **path, GtkTreeViewColumn **focus_column);\";subroutine gtk_tree_view_get_cursor(tree_view, path, focus_column) bind(c)\r\ngtk;gtk_tree_view_get_dest_row_at_pos;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"gboolean gtk_tree_view_get_dest_row_at_pos (GtkTreeView *tree_view, int drag_x, int drag_y, GtkTreePath **path, GtkTreeViewDropPosition *pos);\";function gtk_tree_view_get_dest_row_at_pos(tree_view, drag_x, drag_y, path, pos) bind(c)\r\ngtk;gtk_tree_view_get_drag_dest_row;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_get_drag_dest_row (GtkTreeView *tree_view, GtkTreePath **path, GtkTreeViewDropPosition *pos);\";subroutine gtk_tree_view_get_drag_dest_row(tree_view, path, pos) bind(c)\r\ngtk;gtk_tree_view_get_enable_search;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"gboolean gtk_tree_view_get_enable_search (GtkTreeView *tree_view);\";function gtk_tree_view_get_enable_search(tree_view) bind(c)\r\ngtk;gtk_tree_view_get_enable_tree_lines;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"gboolean gtk_tree_view_get_enable_tree_lines (GtkTreeView *tree_view);\";function gtk_tree_view_get_enable_tree_lines(tree_view) bind(c)\r\ngtk;gtk_tree_view_get_expander_column;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"GtkTreeViewColumn *gtk_tree_view_get_expander_column (GtkTreeView *tree_view);\";function gtk_tree_view_get_expander_column(tree_view) bind(c)\r\ngtk;gtk_tree_view_get_fixed_height_mode;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"gboolean gtk_tree_view_get_fixed_height_mode (GtkTreeView *tree_view);\";function gtk_tree_view_get_fixed_height_mode(tree_view) bind(c)\r\ngtk;gtk_tree_view_get_grid_lines;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"GtkTreeViewGridLines gtk_tree_view_get_grid_lines (GtkTreeView *tree_view);\";function gtk_tree_view_get_grid_lines(tree_view) bind(c)\r\ngtk;gtk_tree_view_get_headers_clickable;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"gboolean gtk_tree_view_get_headers_clickable (GtkTreeView *tree_view);\";function gtk_tree_view_get_headers_clickable(tree_view) bind(c)\r\ngtk;gtk_tree_view_get_headers_visible;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"gboolean gtk_tree_view_get_headers_visible (GtkTreeView *tree_view);\";function gtk_tree_view_get_headers_visible(tree_view) bind(c)\r\ngtk;gtk_tree_view_get_hover_expand;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"gboolean gtk_tree_view_get_hover_expand (GtkTreeView *tree_view);\";function gtk_tree_view_get_hover_expand(tree_view) bind(c)\r\ngtk;gtk_tree_view_get_hover_selection;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"gboolean gtk_tree_view_get_hover_selection (GtkTreeView *tree_view);\";function gtk_tree_view_get_hover_selection(tree_view) bind(c)\r\ngtk;gtk_tree_view_get_level_indentation;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"int gtk_tree_view_get_level_indentation (GtkTreeView *tree_view);\";function gtk_tree_view_get_level_indentation(tree_view) bind(c)\r\ngtk;gtk_tree_view_get_model;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"GtkTreeModel *gtk_tree_view_get_model (GtkTreeView *tree_view);\";function gtk_tree_view_get_model(tree_view) bind(c)\r\ngtk;gtk_tree_view_get_n_columns;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"guint gtk_tree_view_get_n_columns (GtkTreeView *tree_view);\";function gtk_tree_view_get_n_columns(tree_view) bind(c)\r\ngtk;gtk_tree_view_get_path_at_pos;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"gboolean gtk_tree_view_get_path_at_pos (GtkTreeView *tree_view, int x, int y, GtkTreePath **path, GtkTreeViewColumn **column, int *cell_x, int *cell_y);\";function gtk_tree_view_get_path_at_pos(tree_view, x, y, path, column, cell_x, cell_y) bind(c)\r\ngtk;gtk_tree_view_get_reorderable;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"gboolean gtk_tree_view_get_reorderable (GtkTreeView *tree_view);\";function gtk_tree_view_get_reorderable(tree_view) bind(c)\r\ngtk;gtk_tree_view_get_row_separator_func;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"GtkTreeViewRowSeparatorFunc gtk_tree_view_get_row_separator_func (GtkTreeView *tree_view);\";function gtk_tree_view_get_row_separator_func(tree_view) bind(c)\r\ngtk;gtk_tree_view_get_rubber_banding;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"gboolean gtk_tree_view_get_rubber_banding (GtkTreeView *tree_view);\";function gtk_tree_view_get_rubber_banding(tree_view) bind(c)\r\ngtk;gtk_tree_view_get_search_column;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"int gtk_tree_view_get_search_column (GtkTreeView *tree_view);\";function gtk_tree_view_get_search_column(tree_view) bind(c)\r\ngtk;gtk_tree_view_get_search_entry;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"GtkEditable *gtk_tree_view_get_search_entry (GtkTreeView *tree_view);\";function gtk_tree_view_get_search_entry(tree_view) bind(c)\r\ngtk;gtk_tree_view_get_search_equal_func;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"GtkTreeViewSearchEqualFunc gtk_tree_view_get_search_equal_func (GtkTreeView *tree_view);\";function gtk_tree_view_get_search_equal_func(tree_view) bind(c)\r\ngtk;gtk_tree_view_get_selection;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"GtkTreeSelection *gtk_tree_view_get_selection (GtkTreeView *tree_view);\";function gtk_tree_view_get_selection(tree_view) bind(c)\r\ngtk;gtk_tree_view_get_show_expanders;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"gboolean gtk_tree_view_get_show_expanders (GtkTreeView *tree_view);\";function gtk_tree_view_get_show_expanders(tree_view) bind(c)\r\ngtk;gtk_tree_view_get_tooltip_column;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"int gtk_tree_view_get_tooltip_column (GtkTreeView *tree_view);\";function gtk_tree_view_get_tooltip_column(tree_view) bind(c)\r\ngtk;gtk_tree_view_get_tooltip_context;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"gboolean gtk_tree_view_get_tooltip_context(GtkTreeView *tree_view, int x, int y, gboolean keyboard_tip, GtkTreeModel **model, GtkTreePath **path, GtkTreeIter *iter);\";function gtk_tree_view_get_tooltip_context(tree_view, x, y, keyboard_tip, model, path, iter) bind(c)\r\ngtk;gtk_tree_view_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"GType gtk_tree_view_get_type (void) ;\";function gtk_tree_view_get_type() bind(c)\r\ngtk;gtk_tree_view_get_visible_range;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"gboolean gtk_tree_view_get_visible_range (GtkTreeView *tree_view, GtkTreePath **start_path, GtkTreePath **end_path);\";function gtk_tree_view_get_visible_range(tree_view, start_path, end_path) bind(c)\r\ngtk;gtk_tree_view_get_visible_rect;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_get_visible_rect (GtkTreeView *tree_view, GdkRectangle *visible_rect);\";subroutine gtk_tree_view_get_visible_rect(tree_view, visible_rect) bind(c)\r\ngtk;gtk_tree_view_insert_column;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"int gtk_tree_view_insert_column (GtkTreeView *tree_view, GtkTreeViewColumn *column, int position);\";function gtk_tree_view_insert_column(tree_view, column, position) bind(c)\r\ngtk;gtk_tree_view_insert_column_with_data_func;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"int gtk_tree_view_insert_column_with_data_func (GtkTreeView *tree_view, int position, const char *title, GtkCellRenderer *cell, GtkTreeCellDataFunc func, gpointer data, GDestroyNotify dnotify);\";function gtk_tree_view_insert_column_with_data_func(tree_view, position, title, cell, func, data, dnotify) bind(c)\r\ngtk;gtk_tree_view_is_blank_at_pos;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"gboolean gtk_tree_view_is_blank_at_pos (GtkTreeView *tree_view, int x, int y, GtkTreePath **path, GtkTreeViewColumn **column, int *cell_x, int *cell_y);\";function gtk_tree_view_is_blank_at_pos(tree_view, x, y, path, column, cell_x, cell_y) bind(c)\r\ngtk;gtk_tree_view_is_rubber_banding_active;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"gboolean gtk_tree_view_is_rubber_banding_active (GtkTreeView *tree_view);\";function gtk_tree_view_is_rubber_banding_active(tree_view) bind(c)\r\ngtk;gtk_tree_view_map_expanded_rows;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_map_expanded_rows (GtkTreeView *tree_view, GtkTreeViewMappingFunc func, gpointer data);\";subroutine gtk_tree_view_map_expanded_rows(tree_view, func, data) bind(c)\r\ngtk;gtk_tree_view_move_column_after;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_move_column_after (GtkTreeView *tree_view, GtkTreeViewColumn *column, GtkTreeViewColumn *base_column);\";subroutine gtk_tree_view_move_column_after(tree_view, column, base_column) bind(c)\r\ngtk;gtk_tree_view_new;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"GtkWidget *gtk_tree_view_new (void);\";function gtk_tree_view_new() bind(c)\r\ngtk;gtk_tree_view_new_with_model;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"GtkWidget *gtk_tree_view_new_with_model (GtkTreeModel *model);\";function gtk_tree_view_new_with_model(model) bind(c)\r\ngtk;gtk_tree_view_remove_column;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"int gtk_tree_view_remove_column (GtkTreeView *tree_view, GtkTreeViewColumn *column);\";function gtk_tree_view_remove_column(tree_view, column) bind(c)\r\ngtk;gtk_tree_view_row_activated;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_row_activated (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column);\";subroutine gtk_tree_view_row_activated(tree_view, path, column) bind(c)\r\ngtk;gtk_tree_view_row_expanded;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"gboolean gtk_tree_view_row_expanded (GtkTreeView *tree_view, GtkTreePath *path);\";function gtk_tree_view_row_expanded(tree_view, path) bind(c)\r\ngtk;gtk_tree_view_scroll_to_cell;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_scroll_to_cell (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column, gboolean use_align, float row_align, float col_align);\";subroutine gtk_tree_view_scroll_to_cell(tree_view, path, column, use_align, row_align, col_align) bind(c)\r\ngtk;gtk_tree_view_scroll_to_point;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_scroll_to_point (GtkTreeView *tree_view, int tree_x, int tree_y);\";subroutine gtk_tree_view_scroll_to_point(tree_view, tree_x, tree_y) bind(c)\r\ngtk;gtk_tree_view_set_activate_on_single_click;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_set_activate_on_single_click (GtkTreeView *tree_view, gboolean single);\";subroutine gtk_tree_view_set_activate_on_single_click(tree_view, single) bind(c)\r\ngtk;gtk_tree_view_set_column_drag_function;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_set_column_drag_function (GtkTreeView *tree_view, GtkTreeViewColumnDropFunc func, gpointer user_data, GDestroyNotify destroy);\";subroutine gtk_tree_view_set_column_drag_function(tree_view, func, user_data, destroy) bind(c)\r\ngtk;gtk_tree_view_set_cursor;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_set_cursor (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *focus_column, gboolean start_editing);\";subroutine gtk_tree_view_set_cursor(tree_view, path, focus_column, start_editing) bind(c)\r\ngtk;gtk_tree_view_set_cursor_on_cell;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_set_cursor_on_cell (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *focus_column, GtkCellRenderer *focus_cell, gboolean start_editing);\";subroutine gtk_tree_view_set_cursor_on_cell(tree_view, path, focus_column, focus_cell, start_editing) bind(c)\r\ngtk;gtk_tree_view_set_drag_dest_row;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_set_drag_dest_row (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewDropPosition pos);\";subroutine gtk_tree_view_set_drag_dest_row(tree_view, path, pos) bind(c)\r\ngtk;gtk_tree_view_set_enable_search;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_set_enable_search (GtkTreeView *tree_view, gboolean enable_search);\";subroutine gtk_tree_view_set_enable_search(tree_view, enable_search) bind(c)\r\ngtk;gtk_tree_view_set_enable_tree_lines;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_set_enable_tree_lines (GtkTreeView *tree_view, gboolean enabled);\";subroutine gtk_tree_view_set_enable_tree_lines(tree_view, enabled) bind(c)\r\ngtk;gtk_tree_view_set_expander_column;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_set_expander_column (GtkTreeView *tree_view, GtkTreeViewColumn *column);\";subroutine gtk_tree_view_set_expander_column(tree_view, column) bind(c)\r\ngtk;gtk_tree_view_set_fixed_height_mode;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_set_fixed_height_mode (GtkTreeView *tree_view, gboolean enable);\";subroutine gtk_tree_view_set_fixed_height_mode(tree_view, enable) bind(c)\r\ngtk;gtk_tree_view_set_grid_lines;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_set_grid_lines (GtkTreeView *tree_view, GtkTreeViewGridLines grid_lines);\";subroutine gtk_tree_view_set_grid_lines(tree_view, grid_lines) bind(c)\r\ngtk;gtk_tree_view_set_headers_clickable;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_set_headers_clickable (GtkTreeView *tree_view, gboolean setting);\";subroutine gtk_tree_view_set_headers_clickable(tree_view, setting) bind(c)\r\ngtk;gtk_tree_view_set_headers_visible;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_set_headers_visible (GtkTreeView *tree_view, gboolean headers_visible);\";subroutine gtk_tree_view_set_headers_visible(tree_view, headers_visible) bind(c)\r\ngtk;gtk_tree_view_set_hover_expand;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_set_hover_expand (GtkTreeView *tree_view, gboolean expand);\";subroutine gtk_tree_view_set_hover_expand(tree_view, expand) bind(c)\r\ngtk;gtk_tree_view_set_hover_selection;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_set_hover_selection (GtkTreeView *tree_view, gboolean hover);\";subroutine gtk_tree_view_set_hover_selection(tree_view, hover) bind(c)\r\ngtk;gtk_tree_view_set_level_indentation;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_set_level_indentation (GtkTreeView *tree_view, int indentation);\";subroutine gtk_tree_view_set_level_indentation(tree_view, indentation) bind(c)\r\ngtk;gtk_tree_view_set_model;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_set_model (GtkTreeView *tree_view, GtkTreeModel *model);\";subroutine gtk_tree_view_set_model(tree_view, model) bind(c)\r\ngtk;gtk_tree_view_set_reorderable;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_set_reorderable (GtkTreeView *tree_view, gboolean reorderable);\";subroutine gtk_tree_view_set_reorderable(tree_view, reorderable) bind(c)\r\ngtk;gtk_tree_view_set_row_separator_func;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_set_row_separator_func (GtkTreeView *tree_view, GtkTreeViewRowSeparatorFunc func, gpointer data, GDestroyNotify destroy);\";subroutine gtk_tree_view_set_row_separator_func(tree_view, func, data, destroy) bind(c)\r\ngtk;gtk_tree_view_set_rubber_banding;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_set_rubber_banding (GtkTreeView *tree_view, gboolean enable);\";subroutine gtk_tree_view_set_rubber_banding(tree_view, enable) bind(c)\r\ngtk;gtk_tree_view_set_search_column;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_set_search_column (GtkTreeView *tree_view, int column);\";subroutine gtk_tree_view_set_search_column(tree_view, column) bind(c)\r\ngtk;gtk_tree_view_set_search_entry;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_set_search_entry (GtkTreeView *tree_view, GtkEditable *entry);\";subroutine gtk_tree_view_set_search_entry(tree_view, entry) bind(c)\r\ngtk;gtk_tree_view_set_search_equal_func;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_set_search_equal_func (GtkTreeView *tree_view, GtkTreeViewSearchEqualFunc search_equal_func, gpointer search_user_data, GDestroyNotify search_destroy);\";subroutine gtk_tree_view_set_search_equal_func(tree_view, search_equal_func, search_user_data, search_destroy) bind(c)\r\ngtk;gtk_tree_view_set_show_expanders;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_set_show_expanders (GtkTreeView *tree_view, gboolean enabled);\";subroutine gtk_tree_view_set_show_expanders(tree_view, enabled) bind(c)\r\ngtk;gtk_tree_view_set_tooltip_cell;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_set_tooltip_cell (GtkTreeView *tree_view, GtkTooltip *tooltip, GtkTreePath *path, GtkTreeViewColumn *column, GtkCellRenderer *cell);\";subroutine gtk_tree_view_set_tooltip_cell(tree_view, tooltip, path, column, cell) bind(c)\r\ngtk;gtk_tree_view_set_tooltip_column;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_set_tooltip_column (GtkTreeView *tree_view, int column);\";subroutine gtk_tree_view_set_tooltip_column(tree_view, column) bind(c)\r\ngtk;gtk_tree_view_set_tooltip_row;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_set_tooltip_row (GtkTreeView *tree_view, GtkTooltip *tooltip, GtkTreePath *path);\";subroutine gtk_tree_view_set_tooltip_row(tree_view, tooltip, path) bind(c)\r\ngtk;gtk_tree_view_unset_rows_drag_dest;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_unset_rows_drag_dest (GtkTreeView *tree_view);\";subroutine gtk_tree_view_unset_rows_drag_dest(tree_view) bind(c)\r\ngtk;gtk_tree_view_unset_rows_drag_source;GDK_DEPRECATED_IN_4_10_FOR(GtkListView);gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtktreeview.h;\"void gtk_tree_view_unset_rows_drag_source (GtkTreeView *tree_view);\";subroutine gtk_tree_view_unset_rows_drag_source(tree_view) bind(c)\r\ngtk;gtk_uri_launcher_can_launch;GDK_AVAILABLE_IN_4_20;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkurilauncher.h;\"gboolean gtk_uri_launcher_can_launch (GtkUriLauncher *self, GtkWindow *parent);\";function gtk_uri_launcher_can_launch(self, parent) bind(c)\r\ngtk;gtk_uri_launcher_get_uri;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkurilauncher.h;\"const char * gtk_uri_launcher_get_uri (GtkUriLauncher *self);\";function gtk_uri_launcher_get_uri(self) bind(c)\r\ngtk;gtk_uri_launcher_launch;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkurilauncher.h;\"void gtk_uri_launcher_launch (GtkUriLauncher *self, GtkWindow *parent, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);\";subroutine gtk_uri_launcher_launch(self, parent, cancellable, callback, user_data) bind(c)\r\ngtk;gtk_uri_launcher_launch_finish;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkurilauncher.h;\"gboolean gtk_uri_launcher_launch_finish (GtkUriLauncher *self, GAsyncResult *result, GError **error);\";function gtk_uri_launcher_launch_finish(self, result, error) bind(c)\r\ngtk;gtk_uri_launcher_new;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkurilauncher.h;\"GtkUriLauncher * gtk_uri_launcher_new (const char *uri);\";function gtk_uri_launcher_new(uri) bind(c)\r\ngtk;gtk_uri_launcher_set_uri;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkurilauncher.h;\"void gtk_uri_launcher_set_uri (GtkUriLauncher *self, const char *uri);\";subroutine gtk_uri_launcher_set_uri(self, uri) bind(c)\r\ngtk;gtk_value_dup_expression;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpression.h;\"GtkExpression * gtk_value_dup_expression (const GValue *value);\";function gtk_value_dup_expression(value) bind(c)\r\ngtk;gtk_value_get_expression;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpression.h;\"GtkExpression * gtk_value_get_expression (const GValue *value);\";function gtk_value_get_expression(value) bind(c)\r\ngtk;gtk_value_set_expression;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpression.h;\"void gtk_value_set_expression (GValue *value, GtkExpression *expression);\";subroutine gtk_value_set_expression(value, expression) bind(c)\r\ngtk;gtk_value_take_expression;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkexpression.h;\"void gtk_value_take_expression (GValue *value, GtkExpression *expression);\";subroutine gtk_value_take_expression(value, expression) bind(c)\r\ngtk;gtk_video_get_autoplay;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkvideo.h;\"gboolean gtk_video_get_autoplay (GtkVideo *self);\";function gtk_video_get_autoplay(self) bind(c)\r\ngtk;gtk_video_get_file;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkvideo.h;\"GFile * gtk_video_get_file (GtkVideo *self);\";function gtk_video_get_file(self) bind(c)\r\ngtk;gtk_video_get_graphics_offload;;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkvideo.h;\"GtkGraphicsOffloadEnabled gtk_video_get_graphics_offload (GtkVideo *self);\";function gtk_video_get_graphics_offload(self) bind(c)\r\ngtk;gtk_video_get_loop;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkvideo.h;\"gboolean gtk_video_get_loop (GtkVideo *self);\";function gtk_video_get_loop(self) bind(c)\r\ngtk;gtk_video_get_media_stream;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkvideo.h;\"GtkMediaStream *gtk_video_get_media_stream (GtkVideo *self);\";function gtk_video_get_media_stream(self) bind(c)\r\ngtk;gtk_video_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkvideo.h;\"GtkWidget * gtk_video_new (void);\";function gtk_video_new() bind(c)\r\ngtk;gtk_video_new_for_file;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkvideo.h;\"GtkWidget * gtk_video_new_for_file (GFile *file);\";function gtk_video_new_for_file(file) bind(c)\r\ngtk;gtk_video_new_for_filename;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkvideo.h;\"GtkWidget * gtk_video_new_for_filename (const char *filename);\";function gtk_video_new_for_filename(filename) bind(c)\r\ngtk;gtk_video_new_for_media_stream;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkvideo.h;\"GtkWidget * gtk_video_new_for_media_stream (GtkMediaStream *stream);\";function gtk_video_new_for_media_stream(stream) bind(c)\r\ngtk;gtk_video_new_for_resource;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkvideo.h;\"GtkWidget * gtk_video_new_for_resource (const char *resource_path);\";function gtk_video_new_for_resource(resource_path) bind(c)\r\ngtk;gtk_video_set_autoplay;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkvideo.h;\"void gtk_video_set_autoplay (GtkVideo *self, gboolean autoplay);\";subroutine gtk_video_set_autoplay(self, autoplay) bind(c)\r\ngtk;gtk_video_set_file;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkvideo.h;\"void gtk_video_set_file (GtkVideo *self, GFile *file);\";subroutine gtk_video_set_file(self, file) bind(c)\r\ngtk;gtk_video_set_filename;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkvideo.h;\"void gtk_video_set_filename (GtkVideo *self, const char *filename);\";subroutine gtk_video_set_filename(self, filename) bind(c)\r\ngtk;gtk_video_set_graphics_offload;GDK_AVAILABLE_IN_4_14;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkvideo.h;\"void gtk_video_set_graphics_offload (GtkVideo *self, GtkGraphicsOffloadEnabled enabled);\";subroutine gtk_video_set_graphics_offload(self, enabled) bind(c)\r\ngtk;gtk_video_set_loop;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkvideo.h;\"void gtk_video_set_loop (GtkVideo *self, gboolean loop);\";subroutine gtk_video_set_loop(self, loop) bind(c)\r\ngtk;gtk_video_set_media_stream;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkvideo.h;\"void gtk_video_set_media_stream (GtkVideo *self, GtkMediaStream *stream);\";subroutine gtk_video_set_media_stream(self, stream) bind(c)\r\ngtk;gtk_video_set_resource;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkvideo.h;\"void gtk_video_set_resource (GtkVideo *self, const char *resource_path);\";subroutine gtk_video_set_resource(self, resource_path) bind(c)\r\ngtk;gtk_viewport_get_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkviewport.h;\"GtkWidget * gtk_viewport_get_child (GtkViewport *viewport);\";function gtk_viewport_get_child(viewport) bind(c)\r\ngtk;gtk_viewport_get_scroll_to_focus;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkviewport.h;\"gboolean gtk_viewport_get_scroll_to_focus (GtkViewport *viewport);\";function gtk_viewport_get_scroll_to_focus(viewport) bind(c)\r\ngtk;gtk_viewport_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkviewport.h;\"GType gtk_viewport_get_type (void) ;\";function gtk_viewport_get_type() bind(c)\r\ngtk;gtk_viewport_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkviewport.h;\"GtkWidget* gtk_viewport_new (GtkAdjustment *hadjustment, GtkAdjustment *vadjustment);\";function gtk_viewport_new(hadjustment, vadjustment) bind(c)\r\ngtk;gtk_viewport_scroll_to;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkviewport.h;\"void gtk_viewport_scroll_to (GtkViewport *viewport, GtkWidget *descendant, GtkScrollInfo *scroll);\";subroutine gtk_viewport_scroll_to(viewport, descendant, scroll) bind(c)\r\ngtk;gtk_viewport_set_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkviewport.h;\"void gtk_viewport_set_child (GtkViewport *viewport, GtkWidget *child);\";subroutine gtk_viewport_set_child(viewport, child) bind(c)\r\ngtk;gtk_viewport_set_scroll_to_focus;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkviewport.h;\"void gtk_viewport_set_scroll_to_focus (GtkViewport *viewport, gboolean scroll_to_focus);\";subroutine gtk_viewport_set_scroll_to_focus(viewport, scroll_to_focus) bind(c)\r\ngtk;gtk_volume_button_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkvolumebutton.h;\"GType gtk_volume_button_get_type (void) ;\";function gtk_volume_button_get_type() bind(c)\r\ngtk;gtk_volume_button_new;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/deprecated/gtkvolumebutton.h;\"GtkWidget* gtk_volume_button_new (void);\";function gtk_volume_button_new() bind(c)\r\ngtk;gtk_widget_action_set_enabled;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_action_set_enabled (GtkWidget *widget, const char *action_name, gboolean enabled);\";subroutine gtk_widget_action_set_enabled(widget, action_name, enabled) bind(c)\r\ngtk;gtk_widget_activate;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_activate (GtkWidget *widget);\";function gtk_widget_activate(widget) bind(c)\r\ngtk;gtk_widget_activate_action_variant;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_activate_action_variant (GtkWidget *widget, const char *name, GVariant *args);\";function gtk_widget_activate_action_variant(widget, name, args) bind(c)\r\ngtk;gtk_widget_activate_default;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_activate_default (GtkWidget *widget);\";subroutine gtk_widget_activate_default(widget) bind(c)\r\ngtk;gtk_widget_add_controller;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_add_controller (GtkWidget *widget, GtkEventController *controller);\";subroutine gtk_widget_add_controller(widget, controller) bind(c)\r\ngtk;gtk_widget_add_css_class;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_add_css_class (GtkWidget *widget, const char *css_class);\";subroutine gtk_widget_add_css_class(widget, css_class) bind(c)\r\ngtk;gtk_widget_add_mnemonic_label;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_add_mnemonic_label (GtkWidget *widget, GtkWidget *label);\";subroutine gtk_widget_add_mnemonic_label(widget, label) bind(c)\r\ngtk;gtk_widget_add_tick_callback;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"guint gtk_widget_add_tick_callback (GtkWidget *widget, GtkTickCallback callback, gpointer user_data, GDestroyNotify notify);\";function gtk_widget_add_tick_callback(widget, callback, user_data, notify) bind(c)\r\ngtk;gtk_widget_allocate;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_allocate (GtkWidget *widget, int width, int height, int baseline, GskTransform *transform);\";subroutine gtk_widget_allocate(widget, width, height, baseline, transform) bind(c)\r\ngtk;gtk_widget_child_focus;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_child_focus (GtkWidget *widget, GtkDirectionType direction);\";function gtk_widget_child_focus(widget, direction) bind(c)\r\ngtk;gtk_widget_class_add_shortcut;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_class_add_shortcut (GtkWidgetClass *widget_class, GtkShortcut *shortcut);\";subroutine gtk_widget_class_add_shortcut(widget_class, shortcut) bind(c)\r\ngtk;gtk_widget_class_bind_template_callback_full;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_class_bind_template_callback_full (GtkWidgetClass *widget_class, const char *callback_name, GCallback callback_symbol);\";subroutine gtk_widget_class_bind_template_callback_full(widget_class, callback_name, callback_symbol) bind(c)\r\ngtk;gtk_widget_class_bind_template_child_full;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_class_bind_template_child_full (GtkWidgetClass *widget_class, const char *name, gboolean internal_child, gssize struct_offset);\";subroutine gtk_widget_class_bind_template_child_full(widget_class, name, internal_child, struct_offset) bind(c)\r\ngtk;gtk_widget_class_get_accessible_role;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"GtkAccessibleRole gtk_widget_class_get_accessible_role (GtkWidgetClass *widget_class);\";function gtk_widget_class_get_accessible_role(widget_class) bind(c)\r\ngtk;gtk_widget_class_get_activate_signal;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"guint gtk_widget_class_get_activate_signal (GtkWidgetClass *widget_class);\";function gtk_widget_class_get_activate_signal(widget_class) bind(c)\r\ngtk;gtk_widget_class_get_css_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"const char * gtk_widget_class_get_css_name (GtkWidgetClass *widget_class);\";function gtk_widget_class_get_css_name(widget_class) bind(c)\r\ngtk;gtk_widget_class_get_layout_manager_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"GType gtk_widget_class_get_layout_manager_type (GtkWidgetClass *widget_class);\";function gtk_widget_class_get_layout_manager_type(widget_class) bind(c)\r\ngtk;gtk_widget_class_install_action;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_class_install_action (GtkWidgetClass *widget_class, const char *action_name, const char *parameter_type, GtkWidgetActionActivateFunc activate);\";subroutine gtk_widget_class_install_action(widget_class, action_name, parameter_type, activate) bind(c)\r\ngtk;gtk_widget_class_install_property_action;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_class_install_property_action (GtkWidgetClass *widget_class, const char *action_name, const char *property_name);\";subroutine gtk_widget_class_install_property_action(widget_class, action_name, property_name) bind(c)\r\ngtk;gtk_widget_class_query_action;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_class_query_action (GtkWidgetClass *widget_class, guint index_, GType *owner, const char **action_name, const GVariantType **parameter_type, const char **property_name);\";function gtk_widget_class_query_action(widget_class, index_, owner, action_name, parameter_type, property_name) bind(c)\r\ngtk;gtk_widget_class_set_accessible_role;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_class_set_accessible_role (GtkWidgetClass *widget_class, GtkAccessibleRole accessible_role);\";subroutine gtk_widget_class_set_accessible_role(widget_class, accessible_role) bind(c)\r\ngtk;gtk_widget_class_set_activate_signal;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_class_set_activate_signal (GtkWidgetClass *widget_class, guint signal_id);\";subroutine gtk_widget_class_set_activate_signal(widget_class, signal_id) bind(c)\r\ngtk;gtk_widget_class_set_activate_signal_from_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_class_set_activate_signal_from_name (GtkWidgetClass *widget_class, const char *signal_name);\";subroutine gtk_widget_class_set_activate_signal_from_name(widget_class, signal_name) bind(c)\r\ngtk;gtk_widget_class_set_css_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_class_set_css_name (GtkWidgetClass *widget_class, const char *name);\";subroutine gtk_widget_class_set_css_name(widget_class, name) bind(c)\r\ngtk;gtk_widget_class_set_layout_manager_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_class_set_layout_manager_type (GtkWidgetClass *widget_class, GType type);\";subroutine gtk_widget_class_set_layout_manager_type(widget_class, type) bind(c)\r\ngtk;gtk_widget_class_set_template;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_class_set_template (GtkWidgetClass *widget_class, GBytes *template_bytes);\";subroutine gtk_widget_class_set_template(widget_class, template_bytes) bind(c)\r\ngtk;gtk_widget_class_set_template_from_resource;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_class_set_template_from_resource (GtkWidgetClass *widget_class, const char *resource_name);\";subroutine gtk_widget_class_set_template_from_resource(widget_class, resource_name) bind(c)\r\ngtk;gtk_widget_class_set_template_scope;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_class_set_template_scope (GtkWidgetClass *widget_class, GtkBuilderScope *scope);\";subroutine gtk_widget_class_set_template_scope(widget_class, scope) bind(c)\r\ngtk;gtk_widget_compute_bounds;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_compute_bounds (GtkWidget *widget, GtkWidget *target, graphene_rect_t *out_bounds) ;\";function gtk_widget_compute_bounds(widget, target, out_bounds) bind(c)\r\ngtk;gtk_widget_compute_expand;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_compute_expand (GtkWidget *widget, GtkOrientation orientation);\";function gtk_widget_compute_expand(widget, orientation) bind(c)\r\ngtk;gtk_widget_compute_point;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_compute_point (GtkWidget *widget, GtkWidget *target, const graphene_point_t *point, graphene_point_t *out_point) ;\";function gtk_widget_compute_point(widget, target, point, out_point) bind(c)\r\ngtk;gtk_widget_compute_transform;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_compute_transform (GtkWidget *widget, GtkWidget *target, graphene_matrix_t *out_transform) ;\";function gtk_widget_compute_transform(widget, target, out_transform) bind(c)\r\ngtk;gtk_widget_contains;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_contains (GtkWidget *widget, double x, double y);\";function gtk_widget_contains(widget, x, y) bind(c)\r\ngtk;gtk_widget_create_pango_context;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"PangoContext *gtk_widget_create_pango_context (GtkWidget *widget);\";function gtk_widget_create_pango_context(widget) bind(c)\r\ngtk;gtk_widget_create_pango_layout;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"PangoLayout *gtk_widget_create_pango_layout (GtkWidget *widget, const char *text);\";function gtk_widget_create_pango_layout(widget, text) bind(c)\r\ngtk;gtk_widget_dispose_template;GDK_AVAILABLE_IN_4_8;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_dispose_template (GtkWidget *widget, GType widget_type);\";subroutine gtk_widget_dispose_template(widget, widget_type) bind(c)\r\ngtk;gtk_widget_error_bell;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_error_bell (GtkWidget *widget);\";subroutine gtk_widget_error_bell(widget) bind(c)\r\ngtk;gtk_widget_get_allocated_baseline;GDK_DEPRECATED_IN_4_12_FOR(gtk_widget_get_baseline);gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"int gtk_widget_get_allocated_baseline (GtkWidget *widget);\";function gtk_widget_get_allocated_baseline(widget) bind(c)\r\ngtk;gtk_widget_get_allocated_height;GDK_DEPRECATED_IN_4_12_FOR(gtk_widget_get_height);gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"int gtk_widget_get_allocated_height (GtkWidget *widget);\";function gtk_widget_get_allocated_height(widget) bind(c)\r\ngtk;gtk_widget_get_allocated_width;GDK_DEPRECATED_IN_4_12_FOR(gtk_widget_get_width);gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"int gtk_widget_get_allocated_width (GtkWidget *widget);\";function gtk_widget_get_allocated_width(widget) bind(c)\r\ngtk;gtk_widget_get_allocation;GDK_DEPRECATED_IN_4_12_FOR(gtk_widget_compute_bounds);gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_get_allocation (GtkWidget *widget, GtkAllocation *allocation);\";subroutine gtk_widget_get_allocation(widget, allocation) bind(c)\r\ngtk;gtk_widget_get_ancestor;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"GtkWidget* gtk_widget_get_ancestor (GtkWidget *widget, GType widget_type);\";function gtk_widget_get_ancestor(widget, widget_type) bind(c)\r\ngtk;gtk_widget_get_baseline;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"int gtk_widget_get_baseline (GtkWidget *widget);\";function gtk_widget_get_baseline(widget) bind(c)\r\ngtk;gtk_widget_get_can_focus;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_get_can_focus (GtkWidget *widget);\";function gtk_widget_get_can_focus(widget) bind(c)\r\ngtk;gtk_widget_get_can_target;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_get_can_target (GtkWidget *widget);\";function gtk_widget_get_can_target(widget) bind(c)\r\ngtk;gtk_widget_get_child_visible;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_get_child_visible (GtkWidget *widget);\";function gtk_widget_get_child_visible(widget) bind(c)\r\ngtk;gtk_widget_get_clipboard;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"GdkClipboard *gtk_widget_get_clipboard (GtkWidget *widget);\";function gtk_widget_get_clipboard(widget) bind(c)\r\ngtk;gtk_widget_get_color;GDK_AVAILABLE_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_get_color (GtkWidget *widget, GdkRGBA *color);\";subroutine gtk_widget_get_color(widget, color) bind(c)\r\ngtk;gtk_widget_get_css_classes;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"char ** gtk_widget_get_css_classes (GtkWidget *widget);\";function gtk_widget_get_css_classes(widget) bind(c)\r\ngtk;gtk_widget_get_css_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"const char * gtk_widget_get_css_name (GtkWidget *self) ;\";function gtk_widget_get_css_name(self) bind(c)\r\ngtk;gtk_widget_get_cursor;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"GdkCursor * gtk_widget_get_cursor (GtkWidget *widget);\";function gtk_widget_get_cursor(widget) bind(c)\r\ngtk;gtk_widget_get_default_direction;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"GtkTextDirection gtk_widget_get_default_direction (void);\";function gtk_widget_get_default_direction() bind(c)\r\ngtk;gtk_widget_get_direction;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"GtkTextDirection gtk_widget_get_direction (GtkWidget *widget);\";function gtk_widget_get_direction(widget) bind(c)\r\ngtk;gtk_widget_get_display;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"GdkDisplay * gtk_widget_get_display (GtkWidget *widget);\";function gtk_widget_get_display(widget) bind(c)\r\ngtk;gtk_widget_get_first_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"GtkWidget * gtk_widget_get_first_child (GtkWidget *widget);\";function gtk_widget_get_first_child(widget) bind(c)\r\ngtk;gtk_widget_get_focus_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"GtkWidget * gtk_widget_get_focus_child (GtkWidget *widget);\";function gtk_widget_get_focus_child(widget) bind(c)\r\ngtk;gtk_widget_get_focus_on_click;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_get_focus_on_click (GtkWidget *widget);\";function gtk_widget_get_focus_on_click(widget) bind(c)\r\ngtk;gtk_widget_get_focusable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_get_focusable (GtkWidget *widget);\";function gtk_widget_get_focusable(widget) bind(c)\r\ngtk;gtk_widget_get_font_map;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"PangoFontMap * gtk_widget_get_font_map (GtkWidget *widget);\";function gtk_widget_get_font_map(widget) bind(c)\r\ngtk;gtk_widget_get_font_options;GDK_DEPRECATED_IN_4_16;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"const cairo_font_options_t *gtk_widget_get_font_options (GtkWidget *widget);\";function gtk_widget_get_font_options(widget) bind(c)\r\ngtk;gtk_widget_get_frame_clock;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"GdkFrameClock* gtk_widget_get_frame_clock (GtkWidget *widget);\";function gtk_widget_get_frame_clock(widget) bind(c)\r\ngtk;gtk_widget_get_halign;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"GtkAlign gtk_widget_get_halign (GtkWidget *widget);\";function gtk_widget_get_halign(widget) bind(c)\r\ngtk;gtk_widget_get_has_tooltip;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_get_has_tooltip (GtkWidget *widget);\";function gtk_widget_get_has_tooltip(widget) bind(c)\r\ngtk;gtk_widget_get_height;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"int gtk_widget_get_height (GtkWidget *widget);\";function gtk_widget_get_height(widget) bind(c)\r\ngtk;gtk_widget_get_hexpand;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_get_hexpand (GtkWidget *widget);\";function gtk_widget_get_hexpand(widget) bind(c)\r\ngtk;gtk_widget_get_hexpand_set;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_get_hexpand_set (GtkWidget *widget);\";function gtk_widget_get_hexpand_set(widget) bind(c)\r\ngtk;gtk_widget_get_last_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"GtkWidget * gtk_widget_get_last_child (GtkWidget *widget);\";function gtk_widget_get_last_child(widget) bind(c)\r\ngtk;gtk_widget_get_layout_manager;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"GtkLayoutManager * gtk_widget_get_layout_manager (GtkWidget *widget);\";function gtk_widget_get_layout_manager(widget) bind(c)\r\ngtk;gtk_widget_get_limit_events;GDK_AVAILABLE_IN_4_18;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_get_limit_events (GtkWidget *widget);\";function gtk_widget_get_limit_events(widget) bind(c)\r\ngtk;gtk_widget_get_mapped;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_get_mapped (GtkWidget *widget);\";function gtk_widget_get_mapped(widget) bind(c)\r\ngtk;gtk_widget_get_margin_bottom;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"int gtk_widget_get_margin_bottom (GtkWidget *widget);\";function gtk_widget_get_margin_bottom(widget) bind(c)\r\ngtk;gtk_widget_get_margin_end;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"int gtk_widget_get_margin_end (GtkWidget *widget);\";function gtk_widget_get_margin_end(widget) bind(c)\r\ngtk;gtk_widget_get_margin_start;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"int gtk_widget_get_margin_start (GtkWidget *widget);\";function gtk_widget_get_margin_start(widget) bind(c)\r\ngtk;gtk_widget_get_margin_top;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"int gtk_widget_get_margin_top (GtkWidget *widget);\";function gtk_widget_get_margin_top(widget) bind(c)\r\ngtk;gtk_widget_get_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"const char * gtk_widget_get_name (GtkWidget *widget);\";function gtk_widget_get_name(widget) bind(c)\r\ngtk;gtk_widget_get_native;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"GtkNative * gtk_widget_get_native (GtkWidget *widget);\";function gtk_widget_get_native(widget) bind(c)\r\ngtk;gtk_widget_get_next_sibling;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"GtkWidget * gtk_widget_get_next_sibling (GtkWidget *widget);\";function gtk_widget_get_next_sibling(widget) bind(c)\r\ngtk;gtk_widget_get_opacity;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"double gtk_widget_get_opacity (GtkWidget *widget);\";function gtk_widget_get_opacity(widget) bind(c)\r\ngtk;gtk_widget_get_overflow;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"GtkOverflow gtk_widget_get_overflow (GtkWidget *widget);\";function gtk_widget_get_overflow(widget) bind(c)\r\ngtk;gtk_widget_get_pango_context;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"PangoContext *gtk_widget_get_pango_context (GtkWidget *widget);\";function gtk_widget_get_pango_context(widget) bind(c)\r\ngtk;gtk_widget_get_parent;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"GtkWidget * gtk_widget_get_parent (GtkWidget *widget);\";function gtk_widget_get_parent(widget) bind(c)\r\ngtk;gtk_widget_get_preferred_size;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_get_preferred_size (GtkWidget *widget, GtkRequisition *minimum_size, GtkRequisition *natural_size);\";subroutine gtk_widget_get_preferred_size(widget, minimum_size, natural_size) bind(c)\r\ngtk;gtk_widget_get_prev_sibling;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"GtkWidget * gtk_widget_get_prev_sibling (GtkWidget *widget);\";function gtk_widget_get_prev_sibling(widget) bind(c)\r\ngtk;gtk_widget_get_primary_clipboard;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"GdkClipboard *gtk_widget_get_primary_clipboard (GtkWidget *widget);\";function gtk_widget_get_primary_clipboard(widget) bind(c)\r\ngtk;gtk_widget_get_realized;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_get_realized (GtkWidget *widget);\";function gtk_widget_get_realized(widget) bind(c)\r\ngtk;gtk_widget_get_receives_default;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_get_receives_default (GtkWidget *widget);\";function gtk_widget_get_receives_default(widget) bind(c)\r\ngtk;gtk_widget_get_request_mode;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"GtkSizeRequestMode gtk_widget_get_request_mode (GtkWidget *widget);\";function gtk_widget_get_request_mode(widget) bind(c)\r\ngtk;gtk_widget_get_root;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"GtkRoot * gtk_widget_get_root (GtkWidget *widget);\";function gtk_widget_get_root(widget) bind(c)\r\ngtk;gtk_widget_get_scale_factor;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"int gtk_widget_get_scale_factor (GtkWidget *widget);\";function gtk_widget_get_scale_factor(widget) bind(c)\r\ngtk;gtk_widget_get_sensitive;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_get_sensitive (GtkWidget *widget);\";function gtk_widget_get_sensitive(widget) bind(c)\r\ngtk;gtk_widget_get_settings;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"GtkSettings* gtk_widget_get_settings (GtkWidget *widget);\";function gtk_widget_get_settings(widget) bind(c)\r\ngtk;gtk_widget_get_size;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"int gtk_widget_get_size (GtkWidget *widget, GtkOrientation orientation);\";function gtk_widget_get_size(widget, orientation) bind(c)\r\ngtk;gtk_widget_get_size_request;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_get_size_request (GtkWidget *widget, int *width, int *height);\";subroutine gtk_widget_get_size_request(widget, width, height) bind(c)\r\ngtk;gtk_widget_get_state_flags;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"GtkStateFlags gtk_widget_get_state_flags (GtkWidget *widget);\";function gtk_widget_get_state_flags(widget) bind(c)\r\ngtk;gtk_widget_get_style_context;GDK_DEPRECATED_IN_4_10;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"GtkStyleContext * gtk_widget_get_style_context (GtkWidget *widget);\";function gtk_widget_get_style_context(widget) bind(c)\r\ngtk;gtk_widget_get_template_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"GObject *gtk_widget_get_template_child (GtkWidget *widget, GType widget_type, const char *name);\";function gtk_widget_get_template_child(widget, widget_type, name) bind(c)\r\ngtk;gtk_widget_get_tooltip_markup;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"const char * gtk_widget_get_tooltip_markup (GtkWidget *widget);\";function gtk_widget_get_tooltip_markup(widget) bind(c)\r\ngtk;gtk_widget_get_tooltip_text;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"const char * gtk_widget_get_tooltip_text (GtkWidget *widget);\";function gtk_widget_get_tooltip_text(widget) bind(c)\r\ngtk;gtk_widget_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"GType gtk_widget_get_type (void) ;\";function gtk_widget_get_type() bind(c)\r\ngtk;gtk_widget_get_valign;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"GtkAlign gtk_widget_get_valign (GtkWidget *widget);\";function gtk_widget_get_valign(widget) bind(c)\r\ngtk;gtk_widget_get_vexpand;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_get_vexpand (GtkWidget *widget);\";function gtk_widget_get_vexpand(widget) bind(c)\r\ngtk;gtk_widget_get_vexpand_set;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_get_vexpand_set (GtkWidget *widget);\";function gtk_widget_get_vexpand_set(widget) bind(c)\r\ngtk;gtk_widget_get_visible;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_get_visible (GtkWidget *widget);\";function gtk_widget_get_visible(widget) bind(c)\r\ngtk;gtk_widget_get_width;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"int gtk_widget_get_width (GtkWidget *widget);\";function gtk_widget_get_width(widget) bind(c)\r\ngtk;gtk_widget_grab_focus;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_grab_focus (GtkWidget *widget);\";function gtk_widget_grab_focus(widget) bind(c)\r\ngtk;gtk_widget_has_css_class;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_has_css_class (GtkWidget *widget, const char *css_class);\";function gtk_widget_has_css_class(widget, css_class) bind(c)\r\ngtk;gtk_widget_has_default;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_has_default (GtkWidget *widget);\";function gtk_widget_has_default(widget) bind(c)\r\ngtk;gtk_widget_has_focus;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_has_focus (GtkWidget *widget);\";function gtk_widget_has_focus(widget) bind(c)\r\ngtk;gtk_widget_has_visible_focus;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_has_visible_focus (GtkWidget *widget);\";function gtk_widget_has_visible_focus(widget) bind(c)\r\ngtk;gtk_widget_hide;GDK_DEPRECATED_IN_4_10_FOR(gtk_widget_set_visible);gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_hide (GtkWidget *widget);\";subroutine gtk_widget_hide(widget) bind(c)\r\ngtk;gtk_widget_in_destruction;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_in_destruction (GtkWidget *widget);\";function gtk_widget_in_destruction(widget) bind(c)\r\ngtk;gtk_widget_init_template;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_init_template (GtkWidget *widget);\";subroutine gtk_widget_init_template(widget) bind(c)\r\ngtk;gtk_widget_insert_action_group;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_insert_action_group (GtkWidget *widget, const char *name, GActionGroup *group);\";subroutine gtk_widget_insert_action_group(widget, name, group) bind(c)\r\ngtk;gtk_widget_insert_after;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_insert_after (GtkWidget *widget, GtkWidget *parent, GtkWidget *previous_sibling);\";subroutine gtk_widget_insert_after(widget, parent, previous_sibling) bind(c)\r\ngtk;gtk_widget_insert_before;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_insert_before (GtkWidget *widget, GtkWidget *parent, GtkWidget *next_sibling);\";subroutine gtk_widget_insert_before(widget, parent, next_sibling) bind(c)\r\ngtk;gtk_widget_is_ancestor;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_is_ancestor (GtkWidget *widget, GtkWidget *ancestor);\";function gtk_widget_is_ancestor(widget, ancestor) bind(c)\r\ngtk;gtk_widget_is_drawable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_is_drawable (GtkWidget *widget);\";function gtk_widget_is_drawable(widget) bind(c)\r\ngtk;gtk_widget_is_focus;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_is_focus (GtkWidget *widget);\";function gtk_widget_is_focus(widget) bind(c)\r\ngtk;gtk_widget_is_sensitive;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_is_sensitive (GtkWidget *widget);\";function gtk_widget_is_sensitive(widget) bind(c)\r\ngtk;gtk_widget_is_visible;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_is_visible (GtkWidget *widget);\";function gtk_widget_is_visible(widget) bind(c)\r\ngtk;gtk_widget_keynav_failed;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_keynav_failed (GtkWidget *widget, GtkDirectionType direction);\";function gtk_widget_keynav_failed(widget, direction) bind(c)\r\ngtk;gtk_widget_list_mnemonic_labels;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"GList* gtk_widget_list_mnemonic_labels (GtkWidget *widget);\";function gtk_widget_list_mnemonic_labels(widget) bind(c)\r\ngtk;gtk_widget_map;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_map (GtkWidget *widget);\";subroutine gtk_widget_map(widget) bind(c)\r\ngtk;gtk_widget_measure;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_measure (GtkWidget *widget, GtkOrientation orientation, int for_size, int *minimum, int *natural, int *minimum_baseline, int *natural_baseline);\";subroutine gtk_widget_measure(widget, orientation, for_size, minimum, natural, minimum_baseline, natural_baseline) bind(c)\r\ngtk;gtk_widget_mnemonic_activate;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_mnemonic_activate (GtkWidget *widget, gboolean group_cycling);\";function gtk_widget_mnemonic_activate(widget, group_cycling) bind(c)\r\ngtk;gtk_widget_observe_children;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"GListModel * gtk_widget_observe_children (GtkWidget *widget);\";function gtk_widget_observe_children(widget) bind(c)\r\ngtk;gtk_widget_observe_controllers;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"GListModel * gtk_widget_observe_controllers (GtkWidget *widget);\";function gtk_widget_observe_controllers(widget) bind(c)\r\ngtk;gtk_widget_paintable_get_widget;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidgetpaintable.h;\"GtkWidget * gtk_widget_paintable_get_widget (GtkWidgetPaintable *self);\";function gtk_widget_paintable_get_widget(self) bind(c)\r\ngtk;gtk_widget_paintable_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidgetpaintable.h;\"GdkPaintable * gtk_widget_paintable_new (GtkWidget *widget);\";function gtk_widget_paintable_new(widget) bind(c)\r\ngtk;gtk_widget_paintable_set_widget;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidgetpaintable.h;\"void gtk_widget_paintable_set_widget (GtkWidgetPaintable *self, GtkWidget *widget);\";subroutine gtk_widget_paintable_set_widget(self, widget) bind(c)\r\ngtk;gtk_widget_pick;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"GtkWidget * gtk_widget_pick (GtkWidget *widget, double x, double y, GtkPickFlags flags);\";function gtk_widget_pick(widget, x, y, flags) bind(c)\r\ngtk;gtk_widget_queue_allocate;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_queue_allocate (GtkWidget *widget);\";subroutine gtk_widget_queue_allocate(widget) bind(c)\r\ngtk;gtk_widget_queue_draw;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_queue_draw (GtkWidget *widget);\";subroutine gtk_widget_queue_draw(widget) bind(c)\r\ngtk;gtk_widget_queue_resize;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_queue_resize (GtkWidget *widget);\";subroutine gtk_widget_queue_resize(widget) bind(c)\r\ngtk;gtk_widget_realize;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_realize (GtkWidget *widget);\";subroutine gtk_widget_realize(widget) bind(c)\r\ngtk;gtk_widget_remove_controller;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_remove_controller (GtkWidget *widget, GtkEventController *controller);\";subroutine gtk_widget_remove_controller(widget, controller) bind(c)\r\ngtk;gtk_widget_remove_css_class;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_remove_css_class (GtkWidget *widget, const char *css_class);\";subroutine gtk_widget_remove_css_class(widget, css_class) bind(c)\r\ngtk;gtk_widget_remove_mnemonic_label;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_remove_mnemonic_label (GtkWidget *widget, GtkWidget *label);\";subroutine gtk_widget_remove_mnemonic_label(widget, label) bind(c)\r\ngtk;gtk_widget_remove_tick_callback;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_remove_tick_callback (GtkWidget *widget, guint id);\";subroutine gtk_widget_remove_tick_callback(widget, id) bind(c)\r\ngtk;gtk_widget_set_can_focus;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_set_can_focus (GtkWidget *widget, gboolean can_focus);\";subroutine gtk_widget_set_can_focus(widget, can_focus) bind(c)\r\ngtk;gtk_widget_set_can_target;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_set_can_target (GtkWidget *widget, gboolean can_target);\";subroutine gtk_widget_set_can_target(widget, can_target) bind(c)\r\ngtk;gtk_widget_set_child_visible;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_set_child_visible (GtkWidget *widget, gboolean child_visible);\";subroutine gtk_widget_set_child_visible(widget, child_visible) bind(c)\r\ngtk;gtk_widget_set_css_classes;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_set_css_classes (GtkWidget *widget, const char **classes);\";subroutine gtk_widget_set_css_classes(widget, classes) bind(c)\r\ngtk;gtk_widget_set_cursor;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_set_cursor (GtkWidget *widget, GdkCursor *cursor);\";subroutine gtk_widget_set_cursor(widget, cursor) bind(c)\r\ngtk;gtk_widget_set_cursor_from_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_set_cursor_from_name (GtkWidget *widget, const char *name);\";subroutine gtk_widget_set_cursor_from_name(widget, name) bind(c)\r\ngtk;gtk_widget_set_default_direction;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_set_default_direction (GtkTextDirection dir);\";subroutine gtk_widget_set_default_direction(dir) bind(c)\r\ngtk;gtk_widget_set_direction;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_set_direction (GtkWidget *widget, GtkTextDirection dir);\";subroutine gtk_widget_set_direction(widget, dir) bind(c)\r\ngtk;gtk_widget_set_focus_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_set_focus_child (GtkWidget *widget, GtkWidget *child);\";subroutine gtk_widget_set_focus_child(widget, child) bind(c)\r\ngtk;gtk_widget_set_focus_on_click;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_set_focus_on_click (GtkWidget *widget, gboolean focus_on_click);\";subroutine gtk_widget_set_focus_on_click(widget, focus_on_click) bind(c)\r\ngtk;gtk_widget_set_focusable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_set_focusable (GtkWidget *widget, gboolean focusable);\";subroutine gtk_widget_set_focusable(widget, focusable) bind(c)\r\ngtk;gtk_widget_set_font_map;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_set_font_map (GtkWidget *widget, PangoFontMap *font_map);\";subroutine gtk_widget_set_font_map(widget, font_map) bind(c)\r\ngtk;gtk_widget_set_font_options;GDK_DEPRECATED_IN_4_16;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_set_font_options (GtkWidget *widget, const cairo_font_options_t *options);\";subroutine gtk_widget_set_font_options(widget, options) bind(c)\r\ngtk;gtk_widget_set_halign;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_set_halign (GtkWidget *widget, GtkAlign align);\";subroutine gtk_widget_set_halign(widget, align) bind(c)\r\ngtk;gtk_widget_set_has_tooltip;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_set_has_tooltip (GtkWidget *widget, gboolean has_tooltip);\";subroutine gtk_widget_set_has_tooltip(widget, has_tooltip) bind(c)\r\ngtk;gtk_widget_set_hexpand;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_set_hexpand (GtkWidget *widget, gboolean expand);\";subroutine gtk_widget_set_hexpand(widget, expand) bind(c)\r\ngtk;gtk_widget_set_hexpand_set;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_set_hexpand_set (GtkWidget *widget, gboolean set);\";subroutine gtk_widget_set_hexpand_set(widget, set) bind(c)\r\ngtk;gtk_widget_set_layout_manager;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_set_layout_manager (GtkWidget *widget, GtkLayoutManager *layout_manager);\";subroutine gtk_widget_set_layout_manager(widget, layout_manager) bind(c)\r\ngtk;gtk_widget_set_limit_events;GDK_AVAILABLE_IN_4_18;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_set_limit_events (GtkWidget *widget, gboolean limit_events);\";subroutine gtk_widget_set_limit_events(widget, limit_events) bind(c)\r\ngtk;gtk_widget_set_margin_bottom;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_set_margin_bottom (GtkWidget *widget, int margin);\";subroutine gtk_widget_set_margin_bottom(widget, margin) bind(c)\r\ngtk;gtk_widget_set_margin_end;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_set_margin_end (GtkWidget *widget, int margin);\";subroutine gtk_widget_set_margin_end(widget, margin) bind(c)\r\ngtk;gtk_widget_set_margin_start;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_set_margin_start (GtkWidget *widget, int margin);\";subroutine gtk_widget_set_margin_start(widget, margin) bind(c)\r\ngtk;gtk_widget_set_margin_top;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_set_margin_top (GtkWidget *widget, int margin);\";subroutine gtk_widget_set_margin_top(widget, margin) bind(c)\r\ngtk;gtk_widget_set_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_set_name (GtkWidget *widget, const char *name);\";subroutine gtk_widget_set_name(widget, name) bind(c)\r\ngtk;gtk_widget_set_opacity;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_set_opacity (GtkWidget *widget, double opacity);\";subroutine gtk_widget_set_opacity(widget, opacity) bind(c)\r\ngtk;gtk_widget_set_overflow;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_set_overflow (GtkWidget *widget, GtkOverflow overflow);\";subroutine gtk_widget_set_overflow(widget, overflow) bind(c)\r\ngtk;gtk_widget_set_parent;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_set_parent (GtkWidget *widget, GtkWidget *parent);\";subroutine gtk_widget_set_parent(widget, parent) bind(c)\r\ngtk;gtk_widget_set_receives_default;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_set_receives_default (GtkWidget *widget, gboolean receives_default);\";subroutine gtk_widget_set_receives_default(widget, receives_default) bind(c)\r\ngtk;gtk_widget_set_sensitive;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_set_sensitive (GtkWidget *widget, gboolean sensitive);\";subroutine gtk_widget_set_sensitive(widget, sensitive) bind(c)\r\ngtk;gtk_widget_set_size_request;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_set_size_request (GtkWidget *widget, int width, int height);\";subroutine gtk_widget_set_size_request(widget, width, height) bind(c)\r\ngtk;gtk_widget_set_state_flags;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_set_state_flags (GtkWidget *widget, GtkStateFlags flags, gboolean clear);\";subroutine gtk_widget_set_state_flags(widget, flags, clear) bind(c)\r\ngtk;gtk_widget_set_tooltip_markup;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_set_tooltip_markup (GtkWidget *widget, const char *markup);\";subroutine gtk_widget_set_tooltip_markup(widget, markup) bind(c)\r\ngtk;gtk_widget_set_tooltip_text;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_set_tooltip_text (GtkWidget *widget, const char *text);\";subroutine gtk_widget_set_tooltip_text(widget, text) bind(c)\r\ngtk;gtk_widget_set_valign;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_set_valign (GtkWidget *widget, GtkAlign align);\";subroutine gtk_widget_set_valign(widget, align) bind(c)\r\ngtk;gtk_widget_set_vexpand;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_set_vexpand (GtkWidget *widget, gboolean expand);\";subroutine gtk_widget_set_vexpand(widget, expand) bind(c)\r\ngtk;gtk_widget_set_vexpand_set;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_set_vexpand_set (GtkWidget *widget, gboolean set);\";subroutine gtk_widget_set_vexpand_set(widget, set) bind(c)\r\ngtk;gtk_widget_set_visible;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_set_visible (GtkWidget *widget, gboolean visible);\";subroutine gtk_widget_set_visible(widget, visible) bind(c)\r\ngtk;gtk_widget_should_layout;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_should_layout (GtkWidget *widget);\";function gtk_widget_should_layout(widget) bind(c)\r\ngtk;gtk_widget_show;GDK_DEPRECATED_IN_4_10_FOR(gtk_widget_set_visible or gtk_window_present);gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_show (GtkWidget *widget);\";subroutine gtk_widget_show(widget) bind(c)\r\ngtk;gtk_widget_size_allocate;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_size_allocate (GtkWidget *widget, const GtkAllocation *allocation, int baseline);\";subroutine gtk_widget_size_allocate(widget, allocation, baseline) bind(c)\r\ngtk;gtk_widget_snapshot_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_snapshot_child (GtkWidget *widget, GtkWidget *child, GtkSnapshot *snapshot);\";subroutine gtk_widget_snapshot_child(widget, child, snapshot) bind(c)\r\ngtk;gtk_widget_translate_coordinates;GDK_DEPRECATED_IN_4_12_FOR(gtk_widget_compute_point);gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"gboolean gtk_widget_translate_coordinates (GtkWidget *src_widget, GtkWidget *dest_widget, double src_x, double src_y, double *dest_x, double *dest_y);\";function gtk_widget_translate_coordinates(src_widget, dest_widget, src_x, src_y, dest_x, dest_y) bind(c)\r\ngtk;gtk_widget_trigger_tooltip_query;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_trigger_tooltip_query (GtkWidget *widget);\";subroutine gtk_widget_trigger_tooltip_query(widget) bind(c)\r\ngtk;gtk_widget_unmap;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_unmap (GtkWidget *widget);\";subroutine gtk_widget_unmap(widget) bind(c)\r\ngtk;gtk_widget_unparent;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_unparent (GtkWidget *widget);\";subroutine gtk_widget_unparent(widget) bind(c)\r\ngtk;gtk_widget_unrealize;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_unrealize (GtkWidget *widget);\";subroutine gtk_widget_unrealize(widget) bind(c)\r\ngtk;gtk_widget_unset_state_flags;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwidget.h;\"void gtk_widget_unset_state_flags (GtkWidget *widget, GtkStateFlags flags);\";subroutine gtk_widget_unset_state_flags(widget, flags) bind(c)\r\ngtk;gtk_window_close;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"void gtk_window_close (GtkWindow *window);\";subroutine gtk_window_close(window) bind(c)\r\ngtk;gtk_window_controls_get_decoration_layout;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindowcontrols.h;\"const char * gtk_window_controls_get_decoration_layout (GtkWindowControls *self);\";function gtk_window_controls_get_decoration_layout(self) bind(c)\r\ngtk;gtk_window_controls_get_empty;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindowcontrols.h;\"gboolean gtk_window_controls_get_empty (GtkWindowControls *self);\";function gtk_window_controls_get_empty(self) bind(c)\r\ngtk;gtk_window_controls_get_side;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindowcontrols.h;\"GtkPackType gtk_window_controls_get_side (GtkWindowControls *self);\";function gtk_window_controls_get_side(self) bind(c)\r\ngtk;gtk_window_controls_get_use_native_controls;GDK_AVAILABLE_IN_4_18;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindowcontrols.h;\"gboolean gtk_window_controls_get_use_native_controls (GtkWindowControls *self);\";function gtk_window_controls_get_use_native_controls(self) bind(c)\r\ngtk;gtk_window_controls_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindowcontrols.h;\"GtkWidget * gtk_window_controls_new (GtkPackType side);\";function gtk_window_controls_new(side) bind(c)\r\ngtk;gtk_window_controls_set_decoration_layout;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindowcontrols.h;\"void gtk_window_controls_set_decoration_layout (GtkWindowControls *self, const char *layout);\";subroutine gtk_window_controls_set_decoration_layout(self, layout) bind(c)\r\ngtk;gtk_window_controls_set_side;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindowcontrols.h;\"void gtk_window_controls_set_side (GtkWindowControls *self, GtkPackType side);\";subroutine gtk_window_controls_set_side(self, side) bind(c)\r\ngtk;gtk_window_controls_set_use_native_controls;GDK_AVAILABLE_IN_4_18;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindowcontrols.h;\"void gtk_window_controls_set_use_native_controls (GtkWindowControls *self, gboolean setting);\";subroutine gtk_window_controls_set_use_native_controls(self, setting) bind(c)\r\ngtk;gtk_window_destroy;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"void gtk_window_destroy (GtkWindow *window);\";subroutine gtk_window_destroy(window) bind(c)\r\ngtk;gtk_window_fullscreen;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"void gtk_window_fullscreen (GtkWindow *window);\";subroutine gtk_window_fullscreen(window) bind(c)\r\ngtk;gtk_window_fullscreen_on_monitor;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"void gtk_window_fullscreen_on_monitor (GtkWindow *window, GdkMonitor *monitor);\";subroutine gtk_window_fullscreen_on_monitor(window, monitor) bind(c)\r\ngtk;gtk_window_get_application;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"GtkApplication *gtk_window_get_application (GtkWindow *window);\";function gtk_window_get_application(window) bind(c)\r\ngtk;gtk_window_get_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"GtkWidget *gtk_window_get_child (GtkWindow *window);\";function gtk_window_get_child(window) bind(c)\r\ngtk;gtk_window_get_decorated;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"gboolean gtk_window_get_decorated (GtkWindow *window);\";function gtk_window_get_decorated(window) bind(c)\r\ngtk;gtk_window_get_default_icon_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"const char * gtk_window_get_default_icon_name (void);\";function gtk_window_get_default_icon_name() bind(c)\r\ngtk;gtk_window_get_default_size;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"void gtk_window_get_default_size (GtkWindow *window, int *width, int *height);\";subroutine gtk_window_get_default_size(window, width, height) bind(c)\r\ngtk;gtk_window_get_default_widget;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"GtkWidget *gtk_window_get_default_widget (GtkWindow *window);\";function gtk_window_get_default_widget(window) bind(c)\r\ngtk;gtk_window_get_deletable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"gboolean gtk_window_get_deletable (GtkWindow *window);\";function gtk_window_get_deletable(window) bind(c)\r\ngtk;gtk_window_get_destroy_with_parent;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"gboolean gtk_window_get_destroy_with_parent (GtkWindow *window);\";function gtk_window_get_destroy_with_parent(window) bind(c)\r\ngtk;gtk_window_get_focus;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"GtkWidget *gtk_window_get_focus (GtkWindow *window);\";function gtk_window_get_focus(window) bind(c)\r\ngtk;gtk_window_get_focus_visible;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"gboolean gtk_window_get_focus_visible (GtkWindow *window);\";function gtk_window_get_focus_visible(window) bind(c)\r\ngtk;gtk_window_get_gravity;;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"GtkWindowGravity gtk_window_get_gravity (GtkWindow *window);\";function gtk_window_get_gravity(window) bind(c)\r\ngtk;gtk_window_get_group;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"GtkWindowGroup *gtk_window_get_group (GtkWindow *window);\";function gtk_window_get_group(window) bind(c)\r\ngtk;gtk_window_get_handle_menubar_accel;GDK_AVAILABLE_IN_4_2;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"gboolean gtk_window_get_handle_menubar_accel (GtkWindow *window);\";function gtk_window_get_handle_menubar_accel(window) bind(c)\r\ngtk;gtk_window_get_hide_on_close;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"gboolean gtk_window_get_hide_on_close (GtkWindow *window);\";function gtk_window_get_hide_on_close(window) bind(c)\r\ngtk;gtk_window_get_icon_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"const char * gtk_window_get_icon_name (GtkWindow *window);\";function gtk_window_get_icon_name(window) bind(c)\r\ngtk;gtk_window_get_mnemonics_visible;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"gboolean gtk_window_get_mnemonics_visible (GtkWindow *window);\";function gtk_window_get_mnemonics_visible(window) bind(c)\r\ngtk;gtk_window_get_modal;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"gboolean gtk_window_get_modal (GtkWindow *window);\";function gtk_window_get_modal(window) bind(c)\r\ngtk;gtk_window_get_resizable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"gboolean gtk_window_get_resizable (GtkWindow *window);\";function gtk_window_get_resizable(window) bind(c)\r\ngtk;gtk_window_get_title;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"const char * gtk_window_get_title (GtkWindow *window);\";function gtk_window_get_title(window) bind(c)\r\ngtk;gtk_window_get_titlebar;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"GtkWidget *gtk_window_get_titlebar (GtkWindow *window);\";function gtk_window_get_titlebar(window) bind(c)\r\ngtk;gtk_window_get_toplevels;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"GListModel *gtk_window_get_toplevels (void);\";function gtk_window_get_toplevels() bind(c)\r\ngtk;gtk_window_get_transient_for;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"GtkWindow *gtk_window_get_transient_for (GtkWindow *window);\";function gtk_window_get_transient_for(window) bind(c)\r\ngtk;gtk_window_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"GType gtk_window_get_type (void) ;\";function gtk_window_get_type() bind(c)\r\ngtk;gtk_window_group_add_window;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindowgroup.h;\"void gtk_window_group_add_window (GtkWindowGroup *window_group, GtkWindow *window);\";subroutine gtk_window_group_add_window(window_group, window) bind(c)\r\ngtk;gtk_window_group_get_type;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindowgroup.h;\"GType gtk_window_group_get_type (void) ;\";function gtk_window_group_get_type() bind(c)\r\ngtk;gtk_window_group_list_windows;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindowgroup.h;\"GList * gtk_window_group_list_windows (GtkWindowGroup *window_group);\";function gtk_window_group_list_windows(window_group) bind(c)\r\ngtk;gtk_window_group_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindowgroup.h;\"GtkWindowGroup * gtk_window_group_new (void);\";function gtk_window_group_new() bind(c)\r\ngtk;gtk_window_group_remove_window;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindowgroup.h;\"void gtk_window_group_remove_window (GtkWindowGroup *window_group, GtkWindow *window);\";subroutine gtk_window_group_remove_window(window_group, window) bind(c)\r\ngtk;gtk_window_handle_get_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindowhandle.h;\"GtkWidget * gtk_window_handle_get_child (GtkWindowHandle *self);\";function gtk_window_handle_get_child(self) bind(c)\r\ngtk;gtk_window_handle_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindowhandle.h;\"GtkWidget * gtk_window_handle_new (void);\";function gtk_window_handle_new() bind(c)\r\ngtk;gtk_window_handle_set_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindowhandle.h;\"void gtk_window_handle_set_child (GtkWindowHandle *self, GtkWidget *child);\";subroutine gtk_window_handle_set_child(self, child) bind(c)\r\ngtk;gtk_window_has_group;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"gboolean gtk_window_has_group (GtkWindow *window);\";function gtk_window_has_group(window) bind(c)\r\ngtk;gtk_window_is_active;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"gboolean gtk_window_is_active (GtkWindow *window);\";function gtk_window_is_active(window) bind(c)\r\ngtk;gtk_window_is_fullscreen;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"gboolean gtk_window_is_fullscreen (GtkWindow *window);\";function gtk_window_is_fullscreen(window) bind(c)\r\ngtk;gtk_window_is_maximized;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"gboolean gtk_window_is_maximized (GtkWindow *window);\";function gtk_window_is_maximized(window) bind(c)\r\ngtk;gtk_window_is_suspended;GDK_AVAILABLE_IN_4_12;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"gboolean gtk_window_is_suspended (GtkWindow *window);\";function gtk_window_is_suspended(window) bind(c)\r\ngtk;gtk_window_list_toplevels;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"GList* gtk_window_list_toplevels (void);\";function gtk_window_list_toplevels() bind(c)\r\ngtk;gtk_window_maximize;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"void gtk_window_maximize (GtkWindow *window);\";subroutine gtk_window_maximize(window) bind(c)\r\ngtk;gtk_window_minimize;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"void gtk_window_minimize (GtkWindow *window);\";subroutine gtk_window_minimize(window) bind(c)\r\ngtk;gtk_window_new;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"GtkWidget* gtk_window_new (void);\";function gtk_window_new() bind(c)\r\ngtk;gtk_window_present;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"void gtk_window_present (GtkWindow *window);\";subroutine gtk_window_present(window) bind(c)\r\ngtk;gtk_window_present_with_time;GDK_DEPRECATED_IN_4_14_FOR(gtk_window_present);gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"void gtk_window_present_with_time (GtkWindow *window, guint32 timestamp);\";subroutine gtk_window_present_with_time(window, timestamp) bind(c)\r\ngtk;gtk_window_set_application;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"void gtk_window_set_application (GtkWindow *window, GtkApplication *application);\";subroutine gtk_window_set_application(window, application) bind(c)\r\ngtk;gtk_window_set_auto_startup_notification;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"void gtk_window_set_auto_startup_notification (gboolean setting);\";subroutine gtk_window_set_auto_startup_notification(setting) bind(c)\r\ngtk;gtk_window_set_child;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"void gtk_window_set_child (GtkWindow *window, GtkWidget *child);\";subroutine gtk_window_set_child(window, child) bind(c)\r\ngtk;gtk_window_set_decorated;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"void gtk_window_set_decorated (GtkWindow *window, gboolean setting);\";subroutine gtk_window_set_decorated(window, setting) bind(c)\r\ngtk;gtk_window_set_default_icon_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"void gtk_window_set_default_icon_name (const char *name);\";subroutine gtk_window_set_default_icon_name(name) bind(c)\r\ngtk;gtk_window_set_default_size;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"void gtk_window_set_default_size (GtkWindow *window, int width, int height);\";subroutine gtk_window_set_default_size(window, width, height) bind(c)\r\ngtk;gtk_window_set_default_widget;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"void gtk_window_set_default_widget (GtkWindow *window, GtkWidget *default_widget);\";subroutine gtk_window_set_default_widget(window, default_widget) bind(c)\r\ngtk;gtk_window_set_deletable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"void gtk_window_set_deletable (GtkWindow *window, gboolean setting);\";subroutine gtk_window_set_deletable(window, setting) bind(c)\r\ngtk;gtk_window_set_destroy_with_parent;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"void gtk_window_set_destroy_with_parent (GtkWindow *window, gboolean setting);\";subroutine gtk_window_set_destroy_with_parent(window, setting) bind(c)\r\ngtk;gtk_window_set_display;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"void gtk_window_set_display (GtkWindow *window, GdkDisplay *display);\";subroutine gtk_window_set_display(window, display) bind(c)\r\ngtk;gtk_window_set_focus;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"void gtk_window_set_focus (GtkWindow *window, GtkWidget *focus);\";subroutine gtk_window_set_focus(window, focus) bind(c)\r\ngtk;gtk_window_set_focus_visible;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"void gtk_window_set_focus_visible (GtkWindow *window, gboolean setting);\";subroutine gtk_window_set_focus_visible(window, setting) bind(c)\r\ngtk;gtk_window_set_gravity;GDK_AVAILABLE_IN_4_20;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"void gtk_window_set_gravity (GtkWindow *window, GtkWindowGravity gravity);\";subroutine gtk_window_set_gravity(window, gravity) bind(c)\r\ngtk;gtk_window_set_handle_menubar_accel;GDK_AVAILABLE_IN_4_2;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"void gtk_window_set_handle_menubar_accel (GtkWindow *window, gboolean handle_menubar_accel);\";subroutine gtk_window_set_handle_menubar_accel(window, handle_menubar_accel) bind(c)\r\ngtk;gtk_window_set_hide_on_close;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"void gtk_window_set_hide_on_close (GtkWindow *window, gboolean setting);\";subroutine gtk_window_set_hide_on_close(window, setting) bind(c)\r\ngtk;gtk_window_set_icon_name;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"void gtk_window_set_icon_name (GtkWindow *window, const char *name);\";subroutine gtk_window_set_icon_name(window, name) bind(c)\r\ngtk;gtk_window_set_interactive_debugging;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"void gtk_window_set_interactive_debugging (gboolean enable);\";subroutine gtk_window_set_interactive_debugging(enable) bind(c)\r\ngtk;gtk_window_set_mnemonics_visible;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"void gtk_window_set_mnemonics_visible (GtkWindow *window, gboolean setting);\";subroutine gtk_window_set_mnemonics_visible(window, setting) bind(c)\r\ngtk;gtk_window_set_modal;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"void gtk_window_set_modal (GtkWindow *window, gboolean modal);\";subroutine gtk_window_set_modal(window, modal) bind(c)\r\ngtk;gtk_window_set_resizable;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"void gtk_window_set_resizable (GtkWindow *window, gboolean resizable);\";subroutine gtk_window_set_resizable(window, resizable) bind(c)\r\ngtk;gtk_window_set_startup_id;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"void gtk_window_set_startup_id (GtkWindow *window, const char *startup_id);\";subroutine gtk_window_set_startup_id(window, startup_id) bind(c)\r\ngtk;gtk_window_set_title;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"void gtk_window_set_title (GtkWindow *window, const char *title);\";subroutine gtk_window_set_title(window, title) bind(c)\r\ngtk;gtk_window_set_titlebar;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"void gtk_window_set_titlebar (GtkWindow *window, GtkWidget *titlebar);\";subroutine gtk_window_set_titlebar(window, titlebar) bind(c)\r\ngtk;gtk_window_set_transient_for;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"void gtk_window_set_transient_for (GtkWindow *window, GtkWindow *parent);\";subroutine gtk_window_set_transient_for(window, parent) bind(c)\r\ngtk;gtk_window_unfullscreen;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"void gtk_window_unfullscreen (GtkWindow *window);\";subroutine gtk_window_unfullscreen(window) bind(c)\r\ngtk;gtk_window_unmaximize;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"void gtk_window_unmaximize (GtkWindow *window);\";subroutine gtk_window_unmaximize(window) bind(c)\r\ngtk;gtk_window_unminimize;GDK_AVAILABLE_IN_ALL;gtk-auto.in;/usr/include/gtk-4.0/gtk/gtkwindow.h;\"void gtk_window_unminimize (GtkWindow *window);\";subroutine gtk_window_unminimize(window) bind(c)\r\npango;pango_alignment_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-enum-types.h;\"GType pango_alignment_get_type (void) ;\";function pango_alignment_get_type() bind(c)\r\npango;pango_attr_allow_breaks_new;PANGO_AVAILABLE_IN_1_44;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attr_allow_breaks_new (gboolean allow_breaks);\";function pango_attr_allow_breaks_new(allow_breaks) bind(c)\r\npango;pango_attr_background_alpha_new;PANGO_AVAILABLE_IN_1_38;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attr_background_alpha_new (guint16 alpha);\";function pango_attr_background_alpha_new(alpha) bind(c)\r\npango;pango_attr_background_new;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attr_background_new (guint16 red, guint16 green, guint16 blue);\";function pango_attr_background_new(red, green, blue) bind(c)\r\npango;pango_attr_baseline_shift_new;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attr_baseline_shift_new (int shift);\";function pango_attr_baseline_shift_new(shift) bind(c)\r\npango;pango_attr_break;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-break.h;\"void pango_attr_break (const char *text, int length, PangoAttrList *attr_list, int offset, PangoLogAttr *attrs, int attrs_len);\";subroutine pango_attr_break(text, length, attr_list, offset, attrs, attrs_len) bind(c)\r\npango;pango_attr_fallback_new;PANGO_AVAILABLE_IN_1_4;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attr_fallback_new (gboolean enable_fallback);\";function pango_attr_fallback_new(enable_fallback) bind(c)\r\npango;pango_attr_family_new;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attr_family_new (const char *family);\";function pango_attr_family_new(family) bind(c)\r\npango;pango_attr_font_desc_new;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attr_font_desc_new (const PangoFontDescription *desc);\";function pango_attr_font_desc_new(desc) bind(c)\r\npango;pango_attr_font_features_new;PANGO_AVAILABLE_IN_1_38;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attr_font_features_new (const char *features);\";function pango_attr_font_features_new(features) bind(c)\r\npango;pango_attr_font_scale_new;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attr_font_scale_new (PangoFontScale scale);\";function pango_attr_font_scale_new(scale) bind(c)\r\npango;pango_attr_foreground_alpha_new;PANGO_AVAILABLE_IN_1_38;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attr_foreground_alpha_new (guint16 alpha);\";function pango_attr_foreground_alpha_new(alpha) bind(c)\r\npango;pango_attr_foreground_new;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attr_foreground_new (guint16 red, guint16 green, guint16 blue);\";function pango_attr_foreground_new(red, green, blue) bind(c)\r\npango;pango_attr_gravity_hint_new;PANGO_AVAILABLE_IN_1_16;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attr_gravity_hint_new (PangoGravityHint hint);\";function pango_attr_gravity_hint_new(hint) bind(c)\r\npango;pango_attr_gravity_new;PANGO_AVAILABLE_IN_1_16;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attr_gravity_new (PangoGravity gravity);\";function pango_attr_gravity_new(gravity) bind(c)\r\npango;pango_attr_insert_hyphens_new;PANGO_AVAILABLE_IN_1_44;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attr_insert_hyphens_new (gboolean insert_hyphens);\";function pango_attr_insert_hyphens_new(insert_hyphens) bind(c)\r\npango;pango_attr_iterator_copy;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttrIterator * pango_attr_iterator_copy (PangoAttrIterator *iterator);\";function pango_attr_iterator_copy(iterator) bind(c)\r\npango;pango_attr_iterator_destroy;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"void pango_attr_iterator_destroy (PangoAttrIterator *iterator);\";subroutine pango_attr_iterator_destroy(iterator) bind(c)\r\npango;pango_attr_iterator_get;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attr_iterator_get (PangoAttrIterator *iterator, PangoAttrType type);\";function pango_attr_iterator_get(iterator, type) bind(c)\r\npango;pango_attr_iterator_get_attrs;PANGO_AVAILABLE_IN_1_2;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"GSList * pango_attr_iterator_get_attrs (PangoAttrIterator *iterator);\";function pango_attr_iterator_get_attrs(iterator) bind(c)\r\npango;pango_attr_iterator_get_font;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"void pango_attr_iterator_get_font (PangoAttrIterator *iterator, PangoFontDescription *desc, PangoLanguage **language, GSList **extra_attrs);\";subroutine pango_attr_iterator_get_font(iterator, desc, language, extra_attrs) bind(c)\r\npango;pango_attr_iterator_get_type;PANGO_AVAILABLE_IN_1_44;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"GType pango_attr_iterator_get_type (void) ;\";function pango_attr_iterator_get_type() bind(c)\r\npango;pango_attr_iterator_next;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"gboolean pango_attr_iterator_next (PangoAttrIterator *iterator);\";function pango_attr_iterator_next(iterator) bind(c)\r\npango;pango_attr_iterator_range;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"void pango_attr_iterator_range (PangoAttrIterator *iterator, int *start, int *end);\";subroutine pango_attr_iterator_range(iterator, start, end) bind(c)\r\npango;pango_attr_language_new;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attr_language_new (PangoLanguage *language);\";function pango_attr_language_new(language) bind(c)\r\npango;pango_attr_letter_spacing_new;PANGO_AVAILABLE_IN_1_6;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attr_letter_spacing_new (int letter_spacing);\";function pango_attr_letter_spacing_new(letter_spacing) bind(c)\r\npango;pango_attr_line_height_new;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attr_line_height_new (double factor);\";function pango_attr_line_height_new(factor) bind(c)\r\npango;pango_attr_line_height_new_absolute;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attr_line_height_new_absolute (int height);\";function pango_attr_line_height_new_absolute(height) bind(c)\r\npango;pango_attr_list_change;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"void pango_attr_list_change (PangoAttrList *list, PangoAttribute *attr);\";subroutine pango_attr_list_change(list, attr) bind(c)\r\npango;pango_attr_list_copy;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttrList * pango_attr_list_copy (PangoAttrList *list);\";function pango_attr_list_copy(list) bind(c)\r\npango;pango_attr_list_equal;PANGO_AVAILABLE_IN_1_46;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"gboolean pango_attr_list_equal (PangoAttrList *list, PangoAttrList *other_list);\";function pango_attr_list_equal(list, other_list) bind(c)\r\npango;pango_attr_list_filter;PANGO_AVAILABLE_IN_1_2;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttrList * pango_attr_list_filter (PangoAttrList *list, PangoAttrFilterFunc func, gpointer data);\";function pango_attr_list_filter(list, func, data) bind(c)\r\npango;pango_attr_list_from_string;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttrList * pango_attr_list_from_string (const char *text);\";function pango_attr_list_from_string(text) bind(c)\r\npango;pango_attr_list_get_attributes;PANGO_AVAILABLE_IN_1_44;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"GSList * pango_attr_list_get_attributes (PangoAttrList *list);\";function pango_attr_list_get_attributes(list) bind(c)\r\npango;pango_attr_list_get_iterator;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttrIterator * pango_attr_list_get_iterator (PangoAttrList *list);\";function pango_attr_list_get_iterator(list) bind(c)\r\npango;pango_attr_list_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"GType pango_attr_list_get_type (void) ;\";function pango_attr_list_get_type() bind(c)\r\npango;pango_attr_list_insert;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"void pango_attr_list_insert (PangoAttrList *list, PangoAttribute *attr);\";subroutine pango_attr_list_insert(list, attr) bind(c)\r\npango;pango_attr_list_insert_before;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"void pango_attr_list_insert_before (PangoAttrList *list, PangoAttribute *attr);\";subroutine pango_attr_list_insert_before(list, attr) bind(c)\r\npango;pango_attr_list_new;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttrList * pango_attr_list_new (void);\";function pango_attr_list_new() bind(c)\r\npango;pango_attr_list_ref;PANGO_AVAILABLE_IN_1_10;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttrList * pango_attr_list_ref (PangoAttrList *list);\";function pango_attr_list_ref(list) bind(c)\r\npango;pango_attr_list_splice;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"void pango_attr_list_splice (PangoAttrList *list, PangoAttrList *other, int pos, int len);\";subroutine pango_attr_list_splice(list, other, pos, len) bind(c)\r\npango;pango_attr_list_to_string;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"char * pango_attr_list_to_string (PangoAttrList *list);\";function pango_attr_list_to_string(list) bind(c)\r\npango;pango_attr_list_unref;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"void pango_attr_list_unref (PangoAttrList *list);\";subroutine pango_attr_list_unref(list) bind(c)\r\npango;pango_attr_list_update;PANGO_AVAILABLE_IN_1_44;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"void pango_attr_list_update (PangoAttrList *list, int pos, int remove, int add);\";subroutine pango_attr_list_update(list, pos, remove, add) bind(c)\r\npango;pango_attr_overline_color_new;PANGO_AVAILABLE_IN_1_46;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attr_overline_color_new (guint16 red, guint16 green, guint16 blue);\";function pango_attr_overline_color_new(red, green, blue) bind(c)\r\npango;pango_attr_overline_new;PANGO_AVAILABLE_IN_1_46;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attr_overline_new (PangoOverline overline);\";function pango_attr_overline_new(overline) bind(c)\r\npango;pango_attr_rise_new;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attr_rise_new (int rise);\";function pango_attr_rise_new(rise) bind(c)\r\npango;pango_attr_scale_new;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attr_scale_new (double scale_factor);\";function pango_attr_scale_new(scale_factor) bind(c)\r\npango;pango_attr_sentence_new;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attr_sentence_new (void);\";function pango_attr_sentence_new() bind(c)\r\npango;pango_attr_shape_new;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attr_shape_new (const PangoRectangle *ink_rect, const PangoRectangle *logical_rect);\";function pango_attr_shape_new(ink_rect, logical_rect) bind(c)\r\npango;pango_attr_shape_new_with_data;PANGO_AVAILABLE_IN_1_8;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attr_shape_new_with_data (const PangoRectangle *ink_rect, const PangoRectangle *logical_rect, gpointer data, PangoAttrDataCopyFunc copy_func, GDestroyNotify destroy_func);\";function pango_attr_shape_new_with_data(ink_rect, logical_rect, data, copy_func, destroy_func) bind(c)\r\npango;pango_attr_show_new;PANGO_AVAILABLE_IN_1_44;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attr_show_new (PangoShowFlags flags);\";function pango_attr_show_new(flags) bind(c)\r\npango;pango_attr_size_new;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attr_size_new (int size);\";function pango_attr_size_new(size) bind(c)\r\npango;pango_attr_size_new_absolute;PANGO_AVAILABLE_IN_1_8;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attr_size_new_absolute (int size);\";function pango_attr_size_new_absolute(size) bind(c)\r\npango;pango_attr_stretch_new;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attr_stretch_new (PangoStretch stretch);\";function pango_attr_stretch_new(stretch) bind(c)\r\npango;pango_attr_strikethrough_color_new;PANGO_AVAILABLE_IN_1_8;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attr_strikethrough_color_new (guint16 red, guint16 green, guint16 blue);\";function pango_attr_strikethrough_color_new(red, green, blue) bind(c)\r\npango;pango_attr_strikethrough_new;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attr_strikethrough_new (gboolean strikethrough);\";function pango_attr_strikethrough_new(strikethrough) bind(c)\r\npango;pango_attr_style_new;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attr_style_new (PangoStyle style);\";function pango_attr_style_new(style) bind(c)\r\npango;pango_attr_text_transform_new;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attr_text_transform_new (PangoTextTransform transform);\";function pango_attr_text_transform_new(transform) bind(c)\r\npango;pango_attr_type_get_name;PANGO_AVAILABLE_IN_1_22;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"const char * pango_attr_type_get_name (PangoAttrType type) ;\";function pango_attr_type_get_name(type) bind(c)\r\npango;pango_attr_type_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-enum-types.h;\"GType pango_attr_type_get_type (void) ;\";function pango_attr_type_get_type() bind(c)\r\npango;pango_attr_type_register;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttrType pango_attr_type_register (const char *name);\";function pango_attr_type_register(name) bind(c)\r\npango;pango_attr_underline_color_new;PANGO_AVAILABLE_IN_1_8;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attr_underline_color_new (guint16 red, guint16 green, guint16 blue);\";function pango_attr_underline_color_new(red, green, blue) bind(c)\r\npango;pango_attr_underline_new;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attr_underline_new (PangoUnderline underline);\";function pango_attr_underline_new(underline) bind(c)\r\npango;pango_attr_variant_new;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attr_variant_new (PangoVariant variant);\";function pango_attr_variant_new(variant) bind(c)\r\npango;pango_attr_weight_new;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attr_weight_new (PangoWeight weight);\";function pango_attr_weight_new(weight) bind(c)\r\npango;pango_attr_word_new;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attr_word_new (void);\";function pango_attr_word_new() bind(c)\r\npango;pango_attribute_as_color;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttrColor * pango_attribute_as_color (PangoAttribute *attr);\";function pango_attribute_as_color(attr) bind(c)\r\npango;pango_attribute_as_float;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttrFloat * pango_attribute_as_float (PangoAttribute *attr);\";function pango_attribute_as_float(attr) bind(c)\r\npango;pango_attribute_as_font_desc;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttrFontDesc * pango_attribute_as_font_desc (PangoAttribute *attr);\";function pango_attribute_as_font_desc(attr) bind(c)\r\npango;pango_attribute_as_font_features;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttrFontFeatures * pango_attribute_as_font_features (PangoAttribute *attr);\";function pango_attribute_as_font_features(attr) bind(c)\r\npango;pango_attribute_as_int;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttrInt * pango_attribute_as_int (PangoAttribute *attr);\";function pango_attribute_as_int(attr) bind(c)\r\npango;pango_attribute_as_language;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttrLanguage * pango_attribute_as_language (PangoAttribute *attr);\";function pango_attribute_as_language(attr) bind(c)\r\npango;pango_attribute_as_shape;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttrShape * pango_attribute_as_shape (PangoAttribute *attr);\";function pango_attribute_as_shape(attr) bind(c)\r\npango;pango_attribute_as_size;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttrSize * pango_attribute_as_size (PangoAttribute *attr);\";function pango_attribute_as_size(attr) bind(c)\r\npango;pango_attribute_as_string;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttrString * pango_attribute_as_string (PangoAttribute *attr);\";function pango_attribute_as_string(attr) bind(c)\r\npango;pango_attribute_copy;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"PangoAttribute * pango_attribute_copy (const PangoAttribute *attr);\";function pango_attribute_copy(attr) bind(c)\r\npango;pango_attribute_destroy;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"void pango_attribute_destroy (PangoAttribute *attr);\";subroutine pango_attribute_destroy(attr) bind(c)\r\npango;pango_attribute_equal;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"gboolean pango_attribute_equal (const PangoAttribute *attr1, const PangoAttribute *attr2) ;\";function pango_attribute_equal(attr1, attr2) bind(c)\r\npango;pango_attribute_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"GType pango_attribute_get_type (void) ;\";function pango_attribute_get_type() bind(c)\r\npango;pango_attribute_init;PANGO_AVAILABLE_IN_1_20;pango-auto.f90;/usr/include/pango-1.0/pango/pango-attributes.h;\"void pango_attribute_init (PangoAttribute *attr, const PangoAttrClass *klass);\";subroutine pango_attribute_init(attr, klass) bind(c)\r\npango;pango_baseline_shift_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-enum-types.h;\"GType pango_baseline_shift_get_type (void) ;\";function pango_baseline_shift_get_type() bind(c)\r\npango;pango_bidi_type_for_unichar;PANGO_DEPRECATED_IN_1_44;pango-auto.f90;/usr/include/pango-1.0/pango/pango-bidi-type.h;\"PangoBidiType pango_bidi_type_for_unichar (gunichar ch) ;\";function pango_bidi_type_for_unichar(ch) bind(c)\r\npango;pango_bidi_type_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-enum-types.h;\"GType pango_bidi_type_get_type (void) ;\";function pango_bidi_type_get_type() bind(c)\r\npango;pango_break;PANGO_DEPRECATED_IN_1_44;pango-auto.f90;/usr/include/pango-1.0/pango/pango-break.h;\"void pango_break (const char *text, int length, PangoAnalysis *analysis, PangoLogAttr *attrs, int attrs_len);\";subroutine pango_break(text, length, analysis, attrs, attrs_len) bind(c)\r\npango;pango_cairo_context_get_font_options;PANGO_AVAILABLE_IN_1_10;pango-auto.f90;/usr/include/pango-1.0/pango/pangocairo.h;\"const cairo_font_options_t *pango_cairo_context_get_font_options (PangoContext *context);\";function pango_cairo_context_get_font_options(context) bind(c)\r\npango;pango_cairo_context_get_resolution;PANGO_AVAILABLE_IN_1_10;pango-auto.f90;/usr/include/pango-1.0/pango/pangocairo.h;\"double pango_cairo_context_get_resolution (PangoContext *context);\";function pango_cairo_context_get_resolution(context) bind(c)\r\npango;pango_cairo_context_get_shape_renderer;PANGO_AVAILABLE_IN_1_18;pango-auto.f90;/usr/include/pango-1.0/pango/pangocairo.h;\"PangoCairoShapeRendererFunc pango_cairo_context_get_shape_renderer (PangoContext *context, gpointer *data);\";function pango_cairo_context_get_shape_renderer(context, data) bind(c)\r\npango;pango_cairo_context_set_font_options;PANGO_AVAILABLE_IN_1_10;pango-auto.f90;/usr/include/pango-1.0/pango/pangocairo.h;\"void pango_cairo_context_set_font_options (PangoContext *context, const cairo_font_options_t *options);\";subroutine pango_cairo_context_set_font_options(context, options) bind(c)\r\npango;pango_cairo_context_set_resolution;PANGO_AVAILABLE_IN_1_10;pango-auto.f90;/usr/include/pango-1.0/pango/pangocairo.h;\"void pango_cairo_context_set_resolution (PangoContext *context, double dpi);\";subroutine pango_cairo_context_set_resolution(context, dpi) bind(c)\r\npango;pango_cairo_context_set_shape_renderer;PANGO_AVAILABLE_IN_1_18;pango-auto.f90;/usr/include/pango-1.0/pango/pangocairo.h;\"void pango_cairo_context_set_shape_renderer (PangoContext *context, PangoCairoShapeRendererFunc func, gpointer data, GDestroyNotify dnotify);\";subroutine pango_cairo_context_set_shape_renderer(context, func, data, dnotify) bind(c)\r\npango;pango_cairo_create_context;PANGO_AVAILABLE_IN_1_22;pango-auto.f90;/usr/include/pango-1.0/pango/pangocairo.h;\"PangoContext *pango_cairo_create_context (cairo_t *cr);\";function pango_cairo_create_context(cr) bind(c)\r\npango;pango_cairo_create_layout;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pangocairo.h;\"PangoLayout *pango_cairo_create_layout (cairo_t *cr);\";function pango_cairo_create_layout(cr) bind(c)\r\npango;pango_cairo_error_underline_path;PANGO_AVAILABLE_IN_1_14;pango-auto.f90;/usr/include/pango-1.0/pango/pangocairo.h;\"void pango_cairo_error_underline_path (cairo_t *cr, double x, double y, double width, double height);\";subroutine pango_cairo_error_underline_path(cr, x, y, width, height) bind(c)\r\npango;pango_cairo_font_get_scaled_font;PANGO_AVAILABLE_IN_1_18;pango-auto.f90;/usr/include/pango-1.0/pango/pangocairo.h;\"cairo_scaled_font_t *pango_cairo_font_get_scaled_font (PangoCairoFont *font);\";function pango_cairo_font_get_scaled_font(font) bind(c)\r\npango;pango_cairo_font_get_type;PANGO_AVAILABLE_IN_1_18;pango-auto.f90;/usr/include/pango-1.0/pango/pangocairo.h;\"GType pango_cairo_font_get_type (void) ;\";function pango_cairo_font_get_type() bind(c)\r\npango;pango_cairo_font_map_create_context;PANGO_DEPRECATED_IN_1_22_FOR(pango_font_map_create_context);pango-auto.f90;/usr/include/pango-1.0/pango/pangocairo.h;\"PangoContext *pango_cairo_font_map_create_context (PangoCairoFontMap *fontmap);\";function pango_cairo_font_map_create_context(fontmap) bind(c)\r\npango;pango_cairo_font_map_get_default;PANGO_AVAILABLE_IN_1_10;pango-auto.f90;/usr/include/pango-1.0/pango/pangocairo.h;\"PangoFontMap *pango_cairo_font_map_get_default (void);\";function pango_cairo_font_map_get_default() bind(c)\r\npango;pango_cairo_font_map_get_font_type;PANGO_AVAILABLE_IN_1_18;pango-auto.f90;/usr/include/pango-1.0/pango/pangocairo.h;\"cairo_font_type_t pango_cairo_font_map_get_font_type (PangoCairoFontMap *fontmap);\";function pango_cairo_font_map_get_font_type(fontmap) bind(c)\r\npango;pango_cairo_font_map_get_resolution;PANGO_AVAILABLE_IN_1_10;pango-auto.f90;/usr/include/pango-1.0/pango/pangocairo.h;\"double pango_cairo_font_map_get_resolution (PangoCairoFontMap *fontmap);\";function pango_cairo_font_map_get_resolution(fontmap) bind(c)\r\npango;pango_cairo_font_map_get_type;PANGO_AVAILABLE_IN_1_10;pango-auto.f90;/usr/include/pango-1.0/pango/pangocairo.h;\"GType pango_cairo_font_map_get_type (void) ;\";function pango_cairo_font_map_get_type() bind(c)\r\npango;pango_cairo_font_map_new;PANGO_AVAILABLE_IN_1_10;pango-auto.f90;/usr/include/pango-1.0/pango/pangocairo.h;\"PangoFontMap *pango_cairo_font_map_new (void);\";function pango_cairo_font_map_new() bind(c)\r\npango;pango_cairo_font_map_new_for_font_type;PANGO_AVAILABLE_IN_1_18;pango-auto.f90;/usr/include/pango-1.0/pango/pangocairo.h;\"PangoFontMap *pango_cairo_font_map_new_for_font_type (cairo_font_type_t fonttype);\";function pango_cairo_font_map_new_for_font_type(fonttype) bind(c)\r\npango;pango_cairo_font_map_set_default;PANGO_AVAILABLE_IN_1_22;pango-auto.f90;/usr/include/pango-1.0/pango/pangocairo.h;\"void pango_cairo_font_map_set_default (PangoCairoFontMap *fontmap);\";subroutine pango_cairo_font_map_set_default(fontmap) bind(c)\r\npango;pango_cairo_font_map_set_resolution;PANGO_AVAILABLE_IN_1_10;pango-auto.f90;/usr/include/pango-1.0/pango/pangocairo.h;\"void pango_cairo_font_map_set_resolution (PangoCairoFontMap *fontmap, double dpi);\";subroutine pango_cairo_font_map_set_resolution(fontmap, dpi) bind(c)\r\npango;pango_cairo_glyph_string_path;PANGO_AVAILABLE_IN_1_10;pango-auto.f90;/usr/include/pango-1.0/pango/pangocairo.h;\"void pango_cairo_glyph_string_path (cairo_t *cr, PangoFont *font, PangoGlyphString *glyphs);\";subroutine pango_cairo_glyph_string_path(cr, font, glyphs) bind(c)\r\npango;pango_cairo_layout_line_path;PANGO_AVAILABLE_IN_1_10;pango-auto.f90;/usr/include/pango-1.0/pango/pangocairo.h;\"void pango_cairo_layout_line_path (cairo_t *cr, PangoLayoutLine *line);\";subroutine pango_cairo_layout_line_path(cr, line) bind(c)\r\npango;pango_cairo_layout_path;PANGO_AVAILABLE_IN_1_10;pango-auto.f90;/usr/include/pango-1.0/pango/pangocairo.h;\"void pango_cairo_layout_path (cairo_t *cr, PangoLayout *layout);\";subroutine pango_cairo_layout_path(cr, layout) bind(c)\r\npango;pango_cairo_show_error_underline;PANGO_AVAILABLE_IN_1_14;pango-auto.f90;/usr/include/pango-1.0/pango/pangocairo.h;\"void pango_cairo_show_error_underline (cairo_t *cr, double x, double y, double width, double height);\";subroutine pango_cairo_show_error_underline(cr, x, y, width, height) bind(c)\r\npango;pango_cairo_show_glyph_item;PANGO_AVAILABLE_IN_1_22;pango-auto.f90;/usr/include/pango-1.0/pango/pangocairo.h;\"void pango_cairo_show_glyph_item (cairo_t *cr, const char *text, PangoGlyphItem *glyph_item);\";subroutine pango_cairo_show_glyph_item(cr, text, glyph_item) bind(c)\r\npango;pango_cairo_show_glyph_string;PANGO_AVAILABLE_IN_1_10;pango-auto.f90;/usr/include/pango-1.0/pango/pangocairo.h;\"void pango_cairo_show_glyph_string (cairo_t *cr, PangoFont *font, PangoGlyphString *glyphs);\";subroutine pango_cairo_show_glyph_string(cr, font, glyphs) bind(c)\r\npango;pango_cairo_show_layout;PANGO_AVAILABLE_IN_1_10;pango-auto.f90;/usr/include/pango-1.0/pango/pangocairo.h;\"void pango_cairo_show_layout (cairo_t *cr, PangoLayout *layout);\";subroutine pango_cairo_show_layout(cr, layout) bind(c)\r\npango;pango_cairo_show_layout_line;PANGO_AVAILABLE_IN_1_10;pango-auto.f90;/usr/include/pango-1.0/pango/pangocairo.h;\"void pango_cairo_show_layout_line (cairo_t *cr, PangoLayoutLine *line);\";subroutine pango_cairo_show_layout_line(cr, line) bind(c)\r\npango;pango_cairo_update_context;PANGO_AVAILABLE_IN_1_10;pango-auto.f90;/usr/include/pango-1.0/pango/pangocairo.h;\"void pango_cairo_update_context (cairo_t *cr, PangoContext *context);\";subroutine pango_cairo_update_context(cr, context) bind(c)\r\npango;pango_cairo_update_layout;PANGO_AVAILABLE_IN_1_10;pango-auto.f90;/usr/include/pango-1.0/pango/pangocairo.h;\"void pango_cairo_update_layout (cairo_t *cr, PangoLayout *layout);\";subroutine pango_cairo_update_layout(cr, layout) bind(c)\r\npango;pango_color_copy;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-color.h;\"PangoColor *pango_color_copy (const PangoColor *src);\";function pango_color_copy(src) bind(c)\r\npango;pango_color_free;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-color.h;\"void pango_color_free (PangoColor *color);\";subroutine pango_color_free(color) bind(c)\r\npango;pango_color_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-color.h;\"GType pango_color_get_type (void) ;\";function pango_color_get_type() bind(c)\r\npango;pango_color_parse;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-color.h;\"gboolean pango_color_parse (PangoColor *color, const char *spec);\";function pango_color_parse(color, spec) bind(c)\r\npango;pango_color_parse_with_alpha;PANGO_AVAILABLE_IN_1_46;pango-auto.f90;/usr/include/pango-1.0/pango/pango-color.h;\"gboolean pango_color_parse_with_alpha (PangoColor *color, guint16 *alpha, const char *spec);\";function pango_color_parse_with_alpha(color, alpha, spec) bind(c)\r\npango;pango_color_to_string;PANGO_AVAILABLE_IN_1_16;pango-auto.f90;/usr/include/pango-1.0/pango/pango-color.h;\"char *pango_color_to_string (const PangoColor *color);\";function pango_color_to_string(color) bind(c)\r\npango;pango_context_changed;PANGO_AVAILABLE_IN_1_32;pango-auto.f90;/usr/include/pango-1.0/pango/pango-context.h;\"void pango_context_changed (PangoContext *context);\";subroutine pango_context_changed(context) bind(c)\r\npango;pango_context_get_base_dir;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-context.h;\"PangoDirection pango_context_get_base_dir (PangoContext *context);\";function pango_context_get_base_dir(context) bind(c)\r\npango;pango_context_get_base_gravity;PANGO_AVAILABLE_IN_1_16;pango-auto.f90;/usr/include/pango-1.0/pango/pango-context.h;\"PangoGravity pango_context_get_base_gravity (PangoContext *context);\";function pango_context_get_base_gravity(context) bind(c)\r\npango;pango_context_get_font_description;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-context.h;\"PangoFontDescription * pango_context_get_font_description (PangoContext *context);\";function pango_context_get_font_description(context) bind(c)\r\npango;pango_context_get_font_map;PANGO_AVAILABLE_IN_1_6;pango-auto.f90;/usr/include/pango-1.0/pango/pango-context.h;\"PangoFontMap * pango_context_get_font_map (PangoContext *context);\";function pango_context_get_font_map(context) bind(c)\r\npango;pango_context_get_gravity;PANGO_AVAILABLE_IN_1_16;pango-auto.f90;/usr/include/pango-1.0/pango/pango-context.h;\"PangoGravity pango_context_get_gravity (PangoContext *context);\";function pango_context_get_gravity(context) bind(c)\r\npango;pango_context_get_gravity_hint;PANGO_AVAILABLE_IN_1_16;pango-auto.f90;/usr/include/pango-1.0/pango/pango-context.h;\"PangoGravityHint pango_context_get_gravity_hint (PangoContext *context);\";function pango_context_get_gravity_hint(context) bind(c)\r\npango;pango_context_get_language;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-context.h;\"PangoLanguage * pango_context_get_language (PangoContext *context);\";function pango_context_get_language(context) bind(c)\r\npango;pango_context_get_matrix;PANGO_AVAILABLE_IN_1_6;pango-auto.f90;/usr/include/pango-1.0/pango/pango-context.h;\"const PangoMatrix * pango_context_get_matrix (PangoContext *context);\";function pango_context_get_matrix(context) bind(c)\r\npango;pango_context_get_metrics;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-context.h;\"PangoFontMetrics * pango_context_get_metrics (PangoContext *context, const PangoFontDescription *desc, PangoLanguage *language);\";function pango_context_get_metrics(context, desc, language) bind(c)\r\npango;pango_context_get_round_glyph_positions;PANGO_AVAILABLE_IN_1_44;pango-auto.f90;/usr/include/pango-1.0/pango/pango-context.h;\"gboolean pango_context_get_round_glyph_positions (PangoContext *context);\";function pango_context_get_round_glyph_positions(context) bind(c)\r\npango;pango_context_get_serial;PANGO_AVAILABLE_IN_1_32;pango-auto.f90;/usr/include/pango-1.0/pango/pango-context.h;\"guint pango_context_get_serial (PangoContext *context);\";function pango_context_get_serial(context) bind(c)\r\npango;pango_context_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-context.h;\"GType pango_context_get_type (void) ;\";function pango_context_get_type() bind(c)\r\npango;pango_context_list_families;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-context.h;\"void pango_context_list_families (PangoContext *context, PangoFontFamily ***families, int *n_families);\";subroutine pango_context_list_families(context, families, n_families) bind(c)\r\npango;pango_context_load_font;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-context.h;\"PangoFont * pango_context_load_font (PangoContext *context, const PangoFontDescription *desc);\";function pango_context_load_font(context, desc) bind(c)\r\npango;pango_context_load_fontset;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-context.h;\"PangoFontset * pango_context_load_fontset (PangoContext *context, const PangoFontDescription *desc, PangoLanguage *language);\";function pango_context_load_fontset(context, desc, language) bind(c)\r\npango;pango_context_new;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-context.h;\"PangoContext * pango_context_new (void);\";function pango_context_new() bind(c)\r\npango;pango_context_set_base_dir;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-context.h;\"void pango_context_set_base_dir (PangoContext *context, PangoDirection direction);\";subroutine pango_context_set_base_dir(context, direction) bind(c)\r\npango;pango_context_set_base_gravity;PANGO_AVAILABLE_IN_1_16;pango-auto.f90;/usr/include/pango-1.0/pango/pango-context.h;\"void pango_context_set_base_gravity (PangoContext *context, PangoGravity gravity);\";subroutine pango_context_set_base_gravity(context, gravity) bind(c)\r\npango;pango_context_set_font_description;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-context.h;\"void pango_context_set_font_description (PangoContext *context, const PangoFontDescription *desc);\";subroutine pango_context_set_font_description(context, desc) bind(c)\r\npango;pango_context_set_font_map;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-context.h;\"void pango_context_set_font_map (PangoContext *context, PangoFontMap *font_map);\";subroutine pango_context_set_font_map(context, font_map) bind(c)\r\npango;pango_context_set_gravity_hint;PANGO_AVAILABLE_IN_1_16;pango-auto.f90;/usr/include/pango-1.0/pango/pango-context.h;\"void pango_context_set_gravity_hint (PangoContext *context, PangoGravityHint hint);\";subroutine pango_context_set_gravity_hint(context, hint) bind(c)\r\npango;pango_context_set_language;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-context.h;\"void pango_context_set_language (PangoContext *context, PangoLanguage *language);\";subroutine pango_context_set_language(context, language) bind(c)\r\npango;pango_context_set_matrix;PANGO_AVAILABLE_IN_1_6;pango-auto.f90;/usr/include/pango-1.0/pango/pango-context.h;\"void pango_context_set_matrix (PangoContext *context, const PangoMatrix *matrix);\";subroutine pango_context_set_matrix(context, matrix) bind(c)\r\npango;pango_context_set_round_glyph_positions;PANGO_AVAILABLE_IN_1_44;pango-auto.f90;/usr/include/pango-1.0/pango/pango-context.h;\"void pango_context_set_round_glyph_positions (PangoContext *context, gboolean round_positions);\";subroutine pango_context_set_round_glyph_positions(context, round_positions) bind(c)\r\npango;pango_coverage_copy;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-coverage.h;\"PangoCoverage * pango_coverage_copy (PangoCoverage *coverage);\";function pango_coverage_copy(coverage) bind(c)\r\npango;pango_coverage_from_bytes;PANGO_DEPRECATED_IN_1_44;pango-auto.f90;/usr/include/pango-1.0/pango/pango-coverage.h;\"PangoCoverage *pango_coverage_from_bytes (guchar *bytes, int n_bytes);\";function pango_coverage_from_bytes(bytes, n_bytes) bind(c)\r\npango;pango_coverage_get;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-coverage.h;\"PangoCoverageLevel pango_coverage_get (PangoCoverage *coverage, int index_);\";function pango_coverage_get(coverage, index_) bind(c)\r\npango;pango_coverage_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-coverage.h;\"GType pango_coverage_get_type (void) ;\";function pango_coverage_get_type() bind(c)\r\npango;pango_coverage_level_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-enum-types.h;\"GType pango_coverage_level_get_type (void) ;\";function pango_coverage_level_get_type() bind(c)\r\npango;pango_coverage_max;PANGO_DEPRECATED_IN_1_44;pango-auto.f90;/usr/include/pango-1.0/pango/pango-coverage.h;\"void pango_coverage_max (PangoCoverage *coverage, PangoCoverage *other);\";subroutine pango_coverage_max(coverage, other) bind(c)\r\npango;pango_coverage_new;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-coverage.h;\"PangoCoverage * pango_coverage_new (void);\";function pango_coverage_new() bind(c)\r\npango;pango_coverage_ref;PANGO_DEPRECATED_IN_1_52_FOR(g_object_ref);pango-auto.f90;/usr/include/pango-1.0/pango/pango-coverage.h;\"PangoCoverage * pango_coverage_ref (PangoCoverage *coverage);\";function pango_coverage_ref(coverage) bind(c)\r\npango;pango_coverage_set;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-coverage.h;\"void pango_coverage_set (PangoCoverage *coverage, int index_, PangoCoverageLevel level);\";subroutine pango_coverage_set(coverage, index_, level) bind(c)\r\npango;pango_coverage_to_bytes;PANGO_DEPRECATED_IN_1_44;pango-auto.f90;/usr/include/pango-1.0/pango/pango-coverage.h;\"void pango_coverage_to_bytes (PangoCoverage *coverage, guchar **bytes, int *n_bytes);\";subroutine pango_coverage_to_bytes(coverage, bytes, n_bytes) bind(c)\r\npango;pango_coverage_unref;PANGO_DEPRECATED_IN_1_52_FOR(g_object_unref);pango-auto.f90;/usr/include/pango-1.0/pango/pango-coverage.h;\"void pango_coverage_unref (PangoCoverage *coverage);\";subroutine pango_coverage_unref(coverage) bind(c)\r\npango;pango_default_break;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-break.h;\"void pango_default_break (const char *text, int length, PangoAnalysis *analysis, PangoLogAttr *attrs, int attrs_len);\";subroutine pango_default_break(text, length, analysis, attrs, attrs_len) bind(c)\r\npango;pango_direction_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-enum-types.h;\"GType pango_direction_get_type (void) ;\";function pango_direction_get_type() bind(c)\r\npango;pango_ellipsize_mode_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-enum-types.h;\"GType pango_ellipsize_mode_get_type (void) ;\";function pango_ellipsize_mode_get_type() bind(c)\r\npango;pango_engine_get_type;PANGO_DEPRECATED_IN_1_38;pango-auto.f90;/usr/include/pango-1.0/pango/pango-engine.h;\"GType pango_engine_get_type (void) ;\";function pango_engine_get_type() bind(c)\r\npango;pango_engine_lang_get_type;PANGO_DEPRECATED_IN_1_38;pango-auto.f90;/usr/include/pango-1.0/pango/pango-engine.h;\"GType pango_engine_lang_get_type (void) ;\";function pango_engine_lang_get_type() bind(c)\r\npango;pango_engine_shape_get_type;PANGO_DEPRECATED_IN_1_38;pango-auto.f90;/usr/include/pango-1.0/pango/pango-engine.h;\"GType pango_engine_shape_get_type (void) ;\";function pango_engine_shape_get_type() bind(c)\r\npango;pango_extents_to_pixels;PANGO_AVAILABLE_IN_1_16;pango-auto.f90;/usr/include/pango-1.0/pango/pango-types.h;\"void pango_extents_to_pixels (PangoRectangle *inclusive, PangoRectangle *nearest);\";subroutine pango_extents_to_pixels(inclusive, nearest) bind(c)\r\npango;pango_fc_decoder_get_charset;PANGO_AVAILABLE_IN_1_6;pango-auto.f90;/usr/include/pango-1.0/pango/pangofc-decoder.h;\"FcCharSet *pango_fc_decoder_get_charset (PangoFcDecoder *decoder, PangoFcFont *fcfont);\";function pango_fc_decoder_get_charset(decoder, fcfont) bind(c)\r\npango;pango_fc_decoder_get_glyph;PANGO_AVAILABLE_IN_1_6;pango-auto.f90;/usr/include/pango-1.0/pango/pangofc-decoder.h;\"PangoGlyph pango_fc_decoder_get_glyph (PangoFcDecoder *decoder, PangoFcFont *fcfont, guint32 wc);\";function pango_fc_decoder_get_glyph(decoder, fcfont, wc) bind(c)\r\npango;pango_fc_decoder_get_type;PANGO_AVAILABLE_IN_1_6;pango-auto.f90;/usr/include/pango-1.0/pango/pangofc-decoder.h;\"GType pango_fc_decoder_get_type (void) ;\";function pango_fc_decoder_get_type() bind(c)\r\npango;pango_fc_font_description_from_pattern;PANGO_AVAILABLE_IN_1_4;pango-auto.f90;/usr/include/pango-1.0/pango/pangofc-fontmap.h;\"PangoFontDescription *pango_fc_font_description_from_pattern (FcPattern *pattern, gboolean include_size);\";function pango_fc_font_description_from_pattern(pattern, include_size) bind(c)\r\npango;pango_fc_font_get_glyph;PANGO_AVAILABLE_IN_1_4;pango-auto.f90;/usr/include/pango-1.0/pango/pangofc-font.h;\"guint pango_fc_font_get_glyph (PangoFcFont *font, gunichar wc);\";function pango_fc_font_get_glyph(font, wc) bind(c)\r\npango;pango_fc_font_get_languages;;pango-auto.f90;/usr/include/pango-1.0/pango/pangofc-font.h;\"PangoLanguage ** pango_fc_font_get_languages (PangoFcFont *font);\";function pango_fc_font_get_languages(font) bind(c)\r\npango;pango_fc_font_get_pattern;PANGO_AVAILABLE_IN_1_48;pango-auto.f90;/usr/include/pango-1.0/pango/pangofc-font.h;\"FcPattern *pango_fc_font_get_pattern (PangoFcFont *font);\";function pango_fc_font_get_pattern(font) bind(c)\r\npango;pango_fc_font_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pangofc-font.h;\"GType pango_fc_font_get_type (void) ;\";function pango_fc_font_get_type() bind(c)\r\npango;pango_fc_font_get_unknown_glyph;PANGO_DEPRECATED_FOR(PANGO_GET_UNKNOWN_GLYPH);pango-auto.f90;/usr/include/pango-1.0/pango/pangofc-font.h;\"PangoGlyph pango_fc_font_get_unknown_glyph (PangoFcFont *font, gunichar wc);\";function pango_fc_font_get_unknown_glyph(font, wc) bind(c)\r\npango;pango_fc_font_has_char;PANGO_DEPRECATED_IN_1_44;pango-auto.f90;/usr/include/pango-1.0/pango/pangofc-font.h;\"gboolean pango_fc_font_has_char (PangoFcFont *font, gunichar wc);\";function pango_fc_font_has_char(font, wc) bind(c)\r\npango;pango_fc_font_kern_glyphs;PANGO_DEPRECATED_IN_1_32;pango-auto.f90;/usr/include/pango-1.0/pango/pangofc-font.h;\"void pango_fc_font_kern_glyphs (PangoFcFont *font, PangoGlyphString *glyphs);\";subroutine pango_fc_font_kern_glyphs(font, glyphs) bind(c)\r\npango;pango_fc_font_lock_face;PANGO_DEPRECATED_IN_1_44_FOR(pango_font_get_hb_font);pango-auto.f90;/usr/include/pango-1.0/pango/pangofc-font.h;\"FT_Face pango_fc_font_lock_face (PangoFcFont *font);\";function pango_fc_font_lock_face(font) bind(c)\r\npango;pango_fc_font_map_add_decoder_find_func;PANGO_AVAILABLE_IN_1_6;pango-auto.f90;/usr/include/pango-1.0/pango/pangofc-fontmap.h;\"void pango_fc_font_map_add_decoder_find_func (PangoFcFontMap *fcfontmap, PangoFcDecoderFindFunc findfunc, gpointer user_data, GDestroyNotify dnotify);\";subroutine pango_fc_font_map_add_decoder_find_func(fcfontmap, findfunc, user_data, dnotify) bind(c)\r\npango;pango_fc_font_map_cache_clear;PANGO_AVAILABLE_IN_1_4;pango-auto.f90;/usr/include/pango-1.0/pango/pangofc-fontmap.h;\"void pango_fc_font_map_cache_clear (PangoFcFontMap *fcfontmap);\";subroutine pango_fc_font_map_cache_clear(fcfontmap) bind(c)\r\npango;pango_fc_font_map_config_changed;;pango-auto.f90;/usr/include/pango-1.0/pango/pangofc-fontmap.h;\"void pango_fc_font_map_config_changed (PangoFcFontMap *fcfontmap);\";subroutine pango_fc_font_map_config_changed(fcfontmap) bind(c)\r\npango;pango_fc_font_map_create_context;PANGO_DEPRECATED_IN_1_22_FOR(pango_font_map_create_context);pango-auto.f90;/usr/include/pango-1.0/pango/pangofc-fontmap.h;\"PangoContext * pango_fc_font_map_create_context (PangoFcFontMap *fcfontmap);\";function pango_fc_font_map_create_context(fcfontmap) bind(c)\r\npango;pango_fc_font_map_find_decoder;PANGO_AVAILABLE_IN_1_26;pango-auto.f90;/usr/include/pango-1.0/pango/pangofc-fontmap.h;\"PangoFcDecoder *pango_fc_font_map_find_decoder (PangoFcFontMap *fcfontmap, FcPattern *pattern);\";function pango_fc_font_map_find_decoder(fcfontmap, pattern) bind(c)\r\npango;pango_fc_font_map_get_config;;pango-auto.f90;/usr/include/pango-1.0/pango/pangofc-fontmap.h;\"FcConfig * pango_fc_font_map_get_config (PangoFcFontMap *fcfontmap);\";function pango_fc_font_map_get_config(fcfontmap) bind(c)\r\npango;pango_fc_font_map_get_hb_face;PANGO_AVAILABLE_IN_1_44;pango-auto.f90;/usr/include/pango-1.0/pango/pangofc-fontmap.h;\"hb_face_t * pango_fc_font_map_get_hb_face (PangoFcFontMap *fcfontmap, PangoFcFont *fcfont);\";function pango_fc_font_map_get_hb_face(fcfontmap, fcfont) bind(c)\r\npango;pango_fc_font_map_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pangofc-fontmap.h;\"GType pango_fc_font_map_get_type (void) ;\";function pango_fc_font_map_get_type() bind(c)\r\npango;pango_fc_font_map_set_config;;pango-auto.f90;/usr/include/pango-1.0/pango/pangofc-fontmap.h;\"void pango_fc_font_map_set_config (PangoFcFontMap *fcfontmap, FcConfig *fcconfig);\";subroutine pango_fc_font_map_set_config(fcfontmap, fcconfig) bind(c)\r\npango;pango_fc_font_map_set_default_substitute;PANGO_AVAILABLE_IN_1_48;pango-auto.f90;/usr/include/pango-1.0/pango/pangofc-fontmap.h;\"void pango_fc_font_map_set_default_substitute (PangoFcFontMap *fontmap, PangoFcSubstituteFunc func, gpointer data, GDestroyNotify notify);\";subroutine pango_fc_font_map_set_default_substitute(fontmap, func, data, notify) bind(c)\r\npango;pango_fc_font_map_shutdown;PANGO_AVAILABLE_IN_1_4;pango-auto.f90;/usr/include/pango-1.0/pango/pangofc-fontmap.h;\"void pango_fc_font_map_shutdown (PangoFcFontMap *fcfontmap);\";subroutine pango_fc_font_map_shutdown(fcfontmap) bind(c)\r\npango;pango_fc_font_map_substitute_changed;PANGO_AVAILABLE_IN_1_48;pango-auto.f90;/usr/include/pango-1.0/pango/pangofc-fontmap.h;\"void pango_fc_font_map_substitute_changed (PangoFcFontMap *fontmap);\";subroutine pango_fc_font_map_substitute_changed(fontmap) bind(c)\r\npango;pango_fc_font_unlock_face;PANGO_DEPRECATED_IN_1_44_FOR(pango_font_get_hb_font);pango-auto.f90;/usr/include/pango-1.0/pango/pangofc-font.h;\"void pango_fc_font_unlock_face (PangoFcFont *font);\";subroutine pango_fc_font_unlock_face(font) bind(c)\r\npango;pango_find_base_dir;PANGO_DEPRECATED_IN_1_44;pango-auto.f90;/usr/include/pango-1.0/pango/pango-bidi-type.h;\"PangoDirection pango_find_base_dir (const gchar *text, gint length);\";function pango_find_base_dir(text, length) bind(c)\r\npango;pango_find_map;PANGO_DEPRECATED_IN_1_38;pango-auto.f90;/usr/include/pango-1.0/pango/pango-modules.h;\"PangoMap * pango_find_map (PangoLanguage *language, guint engine_type_id, guint render_type_id);\";function pango_find_map(language, engine_type_id, render_type_id) bind(c)\r\npango;pango_find_paragraph_boundary;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-utils.h;\"void pango_find_paragraph_boundary (const char *text, int length, int *paragraph_delimiter_index, int *next_paragraph_start);\";subroutine pango_find_paragraph_boundary(text, length, paragraph_delimiter_index, next_paragraph_start) bind(c)\r\npango;pango_font_color_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-enum-types.h;\"GType pango_font_color_get_type (void) ;\";function pango_font_color_get_type() bind(c)\r\npango;pango_font_describe;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"PangoFontDescription *pango_font_describe (PangoFont *font);\";function pango_font_describe(font) bind(c)\r\npango;pango_font_describe_with_absolute_size;PANGO_AVAILABLE_IN_1_14;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"PangoFontDescription *pango_font_describe_with_absolute_size (PangoFont *font);\";function pango_font_describe_with_absolute_size(font) bind(c)\r\npango;pango_font_description_better_match;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"gboolean pango_font_description_better_match (const PangoFontDescription *desc, const PangoFontDescription *old_match, const PangoFontDescription *new_match) ;\";function pango_font_description_better_match(desc, old_match, new_match) bind(c)\r\npango;pango_font_description_copy;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"PangoFontDescription *pango_font_description_copy (const PangoFontDescription *desc);\";function pango_font_description_copy(desc) bind(c)\r\npango;pango_font_description_copy_static;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"PangoFontDescription *pango_font_description_copy_static (const PangoFontDescription *desc);\";function pango_font_description_copy_static(desc) bind(c)\r\npango;pango_font_description_equal;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"gboolean pango_font_description_equal (const PangoFontDescription *desc1, const PangoFontDescription *desc2) ;\";function pango_font_description_equal(desc1, desc2) bind(c)\r\npango;pango_font_description_free;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"void pango_font_description_free (PangoFontDescription *desc);\";subroutine pango_font_description_free(desc) bind(c)\r\npango;pango_font_description_from_string;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"PangoFontDescription *pango_font_description_from_string (const char *str);\";function pango_font_description_from_string(str) bind(c)\r\npango;pango_font_description_get_color;PANGO_AVAILABLE_IN_1_57;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"PangoFontColor pango_font_description_get_color (const PangoFontDescription *desc);\";function pango_font_description_get_color(desc) bind(c)\r\npango;pango_font_description_get_family;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"const char *pango_font_description_get_family (const PangoFontDescription *desc) ;\";function pango_font_description_get_family(desc) bind(c)\r\npango;pango_font_description_get_features;PANGO_AVAILABLE_IN_1_42;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"const char *pango_font_description_get_features (const PangoFontDescription *desc) ;\";function pango_font_description_get_features(desc) bind(c)\r\npango;pango_font_description_get_gravity;PANGO_AVAILABLE_IN_1_16;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"PangoGravity pango_font_description_get_gravity (const PangoFontDescription *desc) ;\";function pango_font_description_get_gravity(desc) bind(c)\r\npango;pango_font_description_get_set_fields;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"PangoFontMask pango_font_description_get_set_fields (const PangoFontDescription *desc) ;\";function pango_font_description_get_set_fields(desc) bind(c)\r\npango;pango_font_description_get_size;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"gint pango_font_description_get_size (const PangoFontDescription *desc) ;\";function pango_font_description_get_size(desc) bind(c)\r\npango;pango_font_description_get_size_is_absolute;PANGO_AVAILABLE_IN_1_8;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"gboolean pango_font_description_get_size_is_absolute (const PangoFontDescription *desc) ;\";function pango_font_description_get_size_is_absolute(desc) bind(c)\r\npango;pango_font_description_get_stretch;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"PangoStretch pango_font_description_get_stretch (const PangoFontDescription *desc) ;\";function pango_font_description_get_stretch(desc) bind(c)\r\npango;pango_font_description_get_style;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"PangoStyle pango_font_description_get_style (const PangoFontDescription *desc) ;\";function pango_font_description_get_style(desc) bind(c)\r\npango;pango_font_description_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"GType pango_font_description_get_type (void) ;\";function pango_font_description_get_type() bind(c)\r\npango;pango_font_description_get_variant;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"PangoVariant pango_font_description_get_variant (const PangoFontDescription *desc) ;\";function pango_font_description_get_variant(desc) bind(c)\r\npango;pango_font_description_get_variations;PANGO_AVAILABLE_IN_1_42;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"const char *pango_font_description_get_variations (const PangoFontDescription *desc) ;\";function pango_font_description_get_variations(desc) bind(c)\r\npango;pango_font_description_get_weight;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"PangoWeight pango_font_description_get_weight (const PangoFontDescription *desc) ;\";function pango_font_description_get_weight(desc) bind(c)\r\npango;pango_font_description_hash;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"guint pango_font_description_hash (const PangoFontDescription *desc) ;\";function pango_font_description_hash(desc) bind(c)\r\npango;pango_font_description_merge;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"void pango_font_description_merge (PangoFontDescription *desc, const PangoFontDescription *desc_to_merge, gboolean replace_existing);\";subroutine pango_font_description_merge(desc, desc_to_merge, replace_existing) bind(c)\r\npango;pango_font_description_merge_static;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"void pango_font_description_merge_static (PangoFontDescription *desc, const PangoFontDescription *desc_to_merge, gboolean replace_existing);\";subroutine pango_font_description_merge_static(desc, desc_to_merge, replace_existing) bind(c)\r\npango;pango_font_description_new;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"PangoFontDescription *pango_font_description_new (void);\";function pango_font_description_new() bind(c)\r\npango;pango_font_description_set_absolute_size;PANGO_AVAILABLE_IN_1_8;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"void pango_font_description_set_absolute_size (PangoFontDescription *desc, double size);\";subroutine pango_font_description_set_absolute_size(desc, size) bind(c)\r\npango;pango_font_description_set_color;PANGO_AVAILABLE_IN_1_57;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"void pango_font_description_set_color (PangoFontDescription *desc, PangoFontColor color);\";subroutine pango_font_description_set_color(desc, color) bind(c)\r\npango;pango_font_description_set_family;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"void pango_font_description_set_family (PangoFontDescription *desc, const char *family);\";subroutine pango_font_description_set_family(desc, family) bind(c)\r\npango;pango_font_description_set_family_static;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"void pango_font_description_set_family_static (PangoFontDescription *desc, const char *family);\";subroutine pango_font_description_set_family_static(desc, family) bind(c)\r\npango;pango_font_description_set_features;PANGO_AVAILABLE_IN_1_56;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"void pango_font_description_set_features (PangoFontDescription *desc, const char *features);\";subroutine pango_font_description_set_features(desc, features) bind(c)\r\npango;pango_font_description_set_features_static;PANGO_AVAILABLE_IN_1_56;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"void pango_font_description_set_features_static (PangoFontDescription *desc, const char *features);\";subroutine pango_font_description_set_features_static(desc, features) bind(c)\r\npango;pango_font_description_set_gravity;PANGO_AVAILABLE_IN_1_16;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"void pango_font_description_set_gravity (PangoFontDescription *desc, PangoGravity gravity);\";subroutine pango_font_description_set_gravity(desc, gravity) bind(c)\r\npango;pango_font_description_set_size;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"void pango_font_description_set_size (PangoFontDescription *desc, gint size);\";subroutine pango_font_description_set_size(desc, size) bind(c)\r\npango;pango_font_description_set_stretch;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"void pango_font_description_set_stretch (PangoFontDescription *desc, PangoStretch stretch);\";subroutine pango_font_description_set_stretch(desc, stretch) bind(c)\r\npango;pango_font_description_set_style;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"void pango_font_description_set_style (PangoFontDescription *desc, PangoStyle style);\";subroutine pango_font_description_set_style(desc, style) bind(c)\r\npango;pango_font_description_set_variant;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"void pango_font_description_set_variant (PangoFontDescription *desc, PangoVariant variant);\";subroutine pango_font_description_set_variant(desc, variant) bind(c)\r\npango;pango_font_description_set_variations;PANGO_AVAILABLE_IN_1_42;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"void pango_font_description_set_variations (PangoFontDescription *desc, const char *variations);\";subroutine pango_font_description_set_variations(desc, variations) bind(c)\r\npango;pango_font_description_set_variations_static;PANGO_AVAILABLE_IN_1_42;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"void pango_font_description_set_variations_static (PangoFontDescription *desc, const char *variations);\";subroutine pango_font_description_set_variations_static(desc, variations) bind(c)\r\npango;pango_font_description_set_weight;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"void pango_font_description_set_weight (PangoFontDescription *desc, PangoWeight weight);\";subroutine pango_font_description_set_weight(desc, weight) bind(c)\r\npango;pango_font_description_to_filename;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"char * pango_font_description_to_filename (const PangoFontDescription *desc);\";function pango_font_description_to_filename(desc) bind(c)\r\npango;pango_font_description_to_string;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"char * pango_font_description_to_string (const PangoFontDescription *desc);\";function pango_font_description_to_string(desc) bind(c)\r\npango;pango_font_description_unset_fields;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"void pango_font_description_unset_fields (PangoFontDescription *desc, PangoFontMask to_unset);\";subroutine pango_font_description_unset_fields(desc, to_unset) bind(c)\r\npango;pango_font_descriptions_free;PANGO_DEPRECATED_IN_1_56;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"void pango_font_descriptions_free (PangoFontDescription **descs, int n_descs);\";subroutine pango_font_descriptions_free(descs, n_descs) bind(c)\r\npango;pango_font_deserialize;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"PangoFont * pango_font_deserialize (PangoContext *context, GBytes *bytes, GError **error);\";function pango_font_deserialize(context, bytes, error) bind(c)\r\npango;pango_font_face_describe;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"PangoFontDescription *pango_font_face_describe (PangoFontFace *face);\";function pango_font_face_describe(face) bind(c)\r\npango;pango_font_face_get_face_name;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"const char *pango_font_face_get_face_name (PangoFontFace *face) ;\";function pango_font_face_get_face_name(face) bind(c)\r\npango;pango_font_face_get_family;PANGO_AVAILABLE_IN_1_46;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"PangoFontFamily * pango_font_face_get_family (PangoFontFace *face);\";function pango_font_face_get_family(face) bind(c)\r\npango;pango_font_face_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"GType pango_font_face_get_type (void) ;\";function pango_font_face_get_type() bind(c)\r\npango;pango_font_face_is_synthesized;PANGO_AVAILABLE_IN_1_18;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"gboolean pango_font_face_is_synthesized (PangoFontFace *face) ;\";function pango_font_face_is_synthesized(face) bind(c)\r\npango;pango_font_face_list_sizes;PANGO_AVAILABLE_IN_1_4;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"void pango_font_face_list_sizes (PangoFontFace *face, int **sizes, int *n_sizes);\";subroutine pango_font_face_list_sizes(face, sizes, n_sizes) bind(c)\r\npango;pango_font_family_get_face;PANGO_AVAILABLE_IN_1_46;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"PangoFontFace *pango_font_family_get_face (PangoFontFamily *family, const char *name);\";function pango_font_family_get_face(family, name) bind(c)\r\npango;pango_font_family_get_name;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"const char *pango_font_family_get_name (PangoFontFamily *family) ;\";function pango_font_family_get_name(family) bind(c)\r\npango;pango_font_family_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"GType pango_font_family_get_type (void) ;\";function pango_font_family_get_type() bind(c)\r\npango;pango_font_family_is_monospace;PANGO_AVAILABLE_IN_1_4;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"gboolean pango_font_family_is_monospace (PangoFontFamily *family) ;\";function pango_font_family_is_monospace(family) bind(c)\r\npango;pango_font_family_is_variable;PANGO_AVAILABLE_IN_1_44;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"gboolean pango_font_family_is_variable (PangoFontFamily *family) ;\";function pango_font_family_is_variable(family) bind(c)\r\npango;pango_font_family_list_faces;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"void pango_font_family_list_faces (PangoFontFamily *family, PangoFontFace ***faces, int *n_faces);\";subroutine pango_font_family_list_faces(family, faces, n_faces) bind(c)\r\npango;pango_font_find_shaper;PANGO_DEPRECATED_IN_1_44;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"PangoEngineShape * pango_font_find_shaper (PangoFont *font, PangoLanguage *language, guint32 ch);\";function pango_font_find_shaper(font, language, ch) bind(c)\r\npango;pango_font_get_coverage;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"PangoCoverage * pango_font_get_coverage (PangoFont *font, PangoLanguage *language);\";function pango_font_get_coverage(font, language) bind(c)\r\npango;pango_font_get_face;PANGO_AVAILABLE_IN_1_46;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"PangoFontFace * pango_font_get_face (PangoFont *font);\";function pango_font_get_face(font) bind(c)\r\npango;pango_font_get_features;PANGO_AVAILABLE_IN_1_44;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"void pango_font_get_features (PangoFont *font, hb_feature_t *features, guint len, guint *num_features);\";subroutine pango_font_get_features(font, features, len, num_features) bind(c)\r\npango;pango_font_get_font_map;PANGO_AVAILABLE_IN_1_10;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"PangoFontMap *pango_font_get_font_map (PangoFont *font);\";function pango_font_get_font_map(font) bind(c)\r\npango;pango_font_get_glyph_extents;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"void pango_font_get_glyph_extents (PangoFont *font, PangoGlyph glyph, PangoRectangle *ink_rect, PangoRectangle *logical_rect);\";subroutine pango_font_get_glyph_extents(font, glyph, ink_rect, logical_rect) bind(c)\r\npango;pango_font_get_hb_font;PANGO_AVAILABLE_IN_1_44;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"hb_font_t * pango_font_get_hb_font (PangoFont *font);\";function pango_font_get_hb_font(font) bind(c)\r\npango;pango_font_get_languages;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"PangoLanguage ** pango_font_get_languages (PangoFont *font);\";function pango_font_get_languages(font) bind(c)\r\npango;pango_font_get_metrics;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"PangoFontMetrics * pango_font_get_metrics (PangoFont *font, PangoLanguage *language);\";function pango_font_get_metrics(font, language) bind(c)\r\npango;pango_font_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"GType pango_font_get_type (void) ;\";function pango_font_get_type() bind(c)\r\npango;pango_font_has_char;PANGO_AVAILABLE_IN_1_44;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"gboolean pango_font_has_char (PangoFont *font, gunichar wc);\";function pango_font_has_char(font, wc) bind(c)\r\npango;pango_font_map_add_font_file;PANGO_AVAILABLE_IN_1_56;pango-auto.f90;/usr/include/pango-1.0/pango/pango-fontmap.h;\"gboolean pango_font_map_add_font_file (PangoFontMap *fontmap, const char *filename, GError **error);\";function pango_font_map_add_font_file(fontmap, filename, error) bind(c)\r\npango;pango_font_map_changed;PANGO_AVAILABLE_IN_1_34;pango-auto.f90;/usr/include/pango-1.0/pango/pango-fontmap.h;\"void pango_font_map_changed (PangoFontMap *fontmap);\";subroutine pango_font_map_changed(fontmap) bind(c)\r\npango;pango_font_map_create_context;PANGO_AVAILABLE_IN_1_22;pango-auto.f90;/usr/include/pango-1.0/pango/pango-fontmap.h;\"PangoContext * pango_font_map_create_context (PangoFontMap *fontmap);\";function pango_font_map_create_context(fontmap) bind(c)\r\npango;pango_font_map_get_family;PANGO_AVAILABLE_IN_1_46;pango-auto.f90;/usr/include/pango-1.0/pango/pango-fontmap.h;\"PangoFontFamily *pango_font_map_get_family (PangoFontMap *fontmap, const char *name);\";function pango_font_map_get_family(fontmap, name) bind(c)\r\npango;pango_font_map_get_serial;PANGO_AVAILABLE_IN_1_32;pango-auto.f90;/usr/include/pango-1.0/pango/pango-fontmap.h;\"guint pango_font_map_get_serial (PangoFontMap *fontmap);\";function pango_font_map_get_serial(fontmap) bind(c)\r\npango;pango_font_map_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-fontmap.h;\"GType pango_font_map_get_type (void) ;\";function pango_font_map_get_type() bind(c)\r\npango;pango_font_map_list_families;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-fontmap.h;\"void pango_font_map_list_families (PangoFontMap *fontmap, PangoFontFamily ***families, int *n_families);\";subroutine pango_font_map_list_families(fontmap, families, n_families) bind(c)\r\npango;pango_font_map_load_font;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-fontmap.h;\"PangoFont * pango_font_map_load_font (PangoFontMap *fontmap, PangoContext *context, const PangoFontDescription *desc);\";function pango_font_map_load_font(fontmap, context, desc) bind(c)\r\npango;pango_font_map_load_fontset;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-fontmap.h;\"PangoFontset *pango_font_map_load_fontset (PangoFontMap *fontmap, PangoContext *context, const PangoFontDescription *desc, PangoLanguage *language);\";function pango_font_map_load_fontset(fontmap, context, desc, language) bind(c)\r\npango;pango_font_map_reload_font;PANGO_AVAILABLE_IN_1_52;pango-auto.f90;/usr/include/pango-1.0/pango/pango-fontmap.h;\"PangoFont * pango_font_map_reload_font (PangoFontMap *fontmap, PangoFont *font, double scale, PangoContext *context, const char *variations);\";function pango_font_map_reload_font(fontmap, font, scale, context, variations) bind(c)\r\npango;pango_font_mask_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-enum-types.h;\"GType pango_font_mask_get_type (void) ;\";function pango_font_mask_get_type() bind(c)\r\npango;pango_font_metrics_get_approximate_char_width;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"int pango_font_metrics_get_approximate_char_width (PangoFontMetrics *metrics) ;\";function pango_font_metrics_get_approximate_char_width(metrics) bind(c)\r\npango;pango_font_metrics_get_approximate_digit_width;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"int pango_font_metrics_get_approximate_digit_width (PangoFontMetrics *metrics) ;\";function pango_font_metrics_get_approximate_digit_width(metrics) bind(c)\r\npango;pango_font_metrics_get_ascent;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"int pango_font_metrics_get_ascent (PangoFontMetrics *metrics) ;\";function pango_font_metrics_get_ascent(metrics) bind(c)\r\npango;pango_font_metrics_get_descent;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"int pango_font_metrics_get_descent (PangoFontMetrics *metrics) ;\";function pango_font_metrics_get_descent(metrics) bind(c)\r\npango;pango_font_metrics_get_height;PANGO_AVAILABLE_IN_1_44;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"int pango_font_metrics_get_height (PangoFontMetrics *metrics) ;\";function pango_font_metrics_get_height(metrics) bind(c)\r\npango;pango_font_metrics_get_strikethrough_position;PANGO_AVAILABLE_IN_1_6;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"int pango_font_metrics_get_strikethrough_position (PangoFontMetrics *metrics) ;\";function pango_font_metrics_get_strikethrough_position(metrics) bind(c)\r\npango;pango_font_metrics_get_strikethrough_thickness;PANGO_AVAILABLE_IN_1_6;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"int pango_font_metrics_get_strikethrough_thickness (PangoFontMetrics *metrics) ;\";function pango_font_metrics_get_strikethrough_thickness(metrics) bind(c)\r\npango;pango_font_metrics_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"GType pango_font_metrics_get_type (void) ;\";function pango_font_metrics_get_type() bind(c)\r\npango;pango_font_metrics_get_underline_position;PANGO_AVAILABLE_IN_1_6;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"int pango_font_metrics_get_underline_position (PangoFontMetrics *metrics) ;\";function pango_font_metrics_get_underline_position(metrics) bind(c)\r\npango;pango_font_metrics_get_underline_thickness;PANGO_AVAILABLE_IN_1_6;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"int pango_font_metrics_get_underline_thickness (PangoFontMetrics *metrics) ;\";function pango_font_metrics_get_underline_thickness(metrics) bind(c)\r\npango;pango_font_metrics_ref;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"PangoFontMetrics *pango_font_metrics_ref (PangoFontMetrics *metrics);\";function pango_font_metrics_ref(metrics) bind(c)\r\npango;pango_font_metrics_unref;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"void pango_font_metrics_unref (PangoFontMetrics *metrics);\";subroutine pango_font_metrics_unref(metrics) bind(c)\r\npango;pango_font_scale_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-enum-types.h;\"GType pango_font_scale_get_type (void) ;\";function pango_font_scale_get_type() bind(c)\r\npango;pango_font_serialize;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-font.h;\"GBytes * pango_font_serialize (PangoFont *font);\";function pango_font_serialize(font) bind(c)\r\npango;pango_fontset_foreach;PANGO_AVAILABLE_IN_1_4;pango-auto.f90;/usr/include/pango-1.0/pango/pango-fontset.h;\"void pango_fontset_foreach (PangoFontset *fontset, PangoFontsetForeachFunc func, gpointer data);\";subroutine pango_fontset_foreach(fontset, func, data) bind(c)\r\npango;pango_fontset_get_font;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-fontset.h;\"PangoFont * pango_fontset_get_font (PangoFontset *fontset, guint wc);\";function pango_fontset_get_font(fontset, wc) bind(c)\r\npango;pango_fontset_get_metrics;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-fontset.h;\"PangoFontMetrics * pango_fontset_get_metrics (PangoFontset *fontset);\";function pango_fontset_get_metrics(fontset) bind(c)\r\npango;pango_fontset_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-fontset.h;\"GType pango_fontset_get_type (void) ;\";function pango_fontset_get_type() bind(c)\r\npango;pango_fontset_simple_append;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-fontset-simple.h;\"void pango_fontset_simple_append (PangoFontsetSimple *fontset, PangoFont *font);\";subroutine pango_fontset_simple_append(fontset, font) bind(c)\r\npango;pango_fontset_simple_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-fontset-simple.h;\"GType pango_fontset_simple_get_type (void) ;\";function pango_fontset_simple_get_type() bind(c)\r\npango;pango_fontset_simple_new;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-fontset-simple.h;\"PangoFontsetSimple * pango_fontset_simple_new (PangoLanguage *language);\";function pango_fontset_simple_new(language) bind(c)\r\npango;pango_fontset_simple_size;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-fontset-simple.h;\"int pango_fontset_simple_size (PangoFontsetSimple *fontset);\";function pango_fontset_simple_size(fontset) bind(c)\r\npango;pango_ft2_font_get_coverage;PANGO_DEPRECATED_FOR(pango_font_get_coverage);pango-auto.f90;/usr/include/pango-1.0/pango/pangoft2.h;\"PangoCoverage *pango_ft2_font_get_coverage (PangoFont *font, PangoLanguage *language);\";function pango_ft2_font_get_coverage(font, language) bind(c)\r\npango;pango_ft2_font_get_face;PANGO_DEPRECATED_FOR(pango_fc_font_lock_face);pango-auto.f90;/usr/include/pango-1.0/pango/pangoft2.h;\"FT_Face pango_ft2_font_get_face (PangoFont *font);\";function pango_ft2_font_get_face(font) bind(c)\r\npango;pango_ft2_font_get_kerning;PANGO_DEPRECATED_FOR(pango_fc_font_kern_glyphs);pango-auto.f90;/usr/include/pango-1.0/pango/pangoft2.h;\"int pango_ft2_font_get_kerning (PangoFont *font, PangoGlyph left, PangoGlyph right);\";function pango_ft2_font_get_kerning(font, left, right) bind(c)\r\npango;pango_ft2_font_map_create_context;PANGO_DEPRECATED_IN_1_22_FOR(pango_font_map_create_context);pango-auto.f90;/usr/include/pango-1.0/pango/pangoft2.h;\"PangoContext *pango_ft2_font_map_create_context (PangoFT2FontMap *fontmap);\";function pango_ft2_font_map_create_context(fontmap) bind(c)\r\npango;pango_ft2_font_map_for_display;PANGO_DEPRECATED_FOR(pango_ft2_font_map_new);pango-auto.f90;/usr/include/pango-1.0/pango/pangoft2.h;\"PangoFontMap *pango_ft2_font_map_for_display (void);\";function pango_ft2_font_map_for_display() bind(c)\r\npango;pango_ft2_font_map_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pangoft2.h;\"GType pango_ft2_font_map_get_type (void) ;\";function pango_ft2_font_map_get_type() bind(c)\r\npango;pango_ft2_font_map_new;PANGO_AVAILABLE_IN_1_2;pango-auto.f90;/usr/include/pango-1.0/pango/pangoft2.h;\"PangoFontMap *pango_ft2_font_map_new (void);\";function pango_ft2_font_map_new() bind(c)\r\npango;pango_ft2_font_map_set_default_substitute;PANGO_DEPRECATED_IN_1_48_FOR(pango_fc_font_map_set_default_substitute);pango-auto.f90;/usr/include/pango-1.0/pango/pangoft2.h;\"void pango_ft2_font_map_set_default_substitute (PangoFT2FontMap *fontmap, PangoFT2SubstituteFunc func, gpointer data, GDestroyNotify notify);\";subroutine pango_ft2_font_map_set_default_substitute(fontmap, func, data, notify) bind(c)\r\npango;pango_ft2_font_map_set_resolution;PANGO_AVAILABLE_IN_1_2;pango-auto.f90;/usr/include/pango-1.0/pango/pangoft2.h;\"void pango_ft2_font_map_set_resolution (PangoFT2FontMap *fontmap, double dpi_x, double dpi_y);\";subroutine pango_ft2_font_map_set_resolution(fontmap, dpi_x, dpi_y) bind(c)\r\npango;pango_ft2_font_map_substitute_changed;PANGO_DEPRECATED_IN_1_48_FOR(pango_fc_font_map_substitute_changed);pango-auto.f90;/usr/include/pango-1.0/pango/pangoft2.h;\"void pango_ft2_font_map_substitute_changed (PangoFT2FontMap *fontmap);\";subroutine pango_ft2_font_map_substitute_changed(fontmap) bind(c)\r\npango;pango_ft2_get_context;PANGO_DEPRECATED_FOR(pango_font_map_create_context);pango-auto.f90;/usr/include/pango-1.0/pango/pangoft2.h;\"PangoContext *pango_ft2_get_context (double dpi_x, double dpi_y);\";function pango_ft2_get_context(dpi_x, dpi_y) bind(c)\r\npango;pango_ft2_get_unknown_glyph;PANGO_DEPRECATED_FOR(PANGO_GET_UNKNOWN_GLYPH);pango-auto.f90;/usr/include/pango-1.0/pango/pangoft2.h;\"PangoGlyph pango_ft2_get_unknown_glyph (PangoFont *font);\";function pango_ft2_get_unknown_glyph(font) bind(c)\r\npango;pango_ft2_render;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pangoft2.h;\"void pango_ft2_render (FT_Bitmap *bitmap, PangoFont *font, PangoGlyphString *glyphs, gint x, gint y);\";subroutine pango_ft2_render(bitmap, font, glyphs, x, y) bind(c)\r\npango;pango_ft2_render_layout;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pangoft2.h;\"void pango_ft2_render_layout (FT_Bitmap *bitmap, PangoLayout *layout, int x, int y);\";subroutine pango_ft2_render_layout(bitmap, layout, x, y) bind(c)\r\npango;pango_ft2_render_layout_line;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pangoft2.h;\"void pango_ft2_render_layout_line (FT_Bitmap *bitmap, PangoLayoutLine *line, int x, int y);\";subroutine pango_ft2_render_layout_line(bitmap, line, x, y) bind(c)\r\npango;pango_ft2_render_layout_line_subpixel;PANGO_AVAILABLE_IN_1_6;pango-auto.f90;/usr/include/pango-1.0/pango/pangoft2.h;\"void pango_ft2_render_layout_line_subpixel (FT_Bitmap *bitmap, PangoLayoutLine *line, int x, int y);\";subroutine pango_ft2_render_layout_line_subpixel(bitmap, line, x, y) bind(c)\r\npango;pango_ft2_render_layout_subpixel;PANGO_AVAILABLE_IN_1_6;pango-auto.f90;/usr/include/pango-1.0/pango/pangoft2.h;\"void pango_ft2_render_layout_subpixel (FT_Bitmap *bitmap, PangoLayout *layout, int x, int y);\";subroutine pango_ft2_render_layout_subpixel(bitmap, layout, x, y) bind(c)\r\npango;pango_ft2_render_transformed;PANGO_AVAILABLE_IN_1_6;pango-auto.f90;/usr/include/pango-1.0/pango/pangoft2.h;\"void pango_ft2_render_transformed (FT_Bitmap *bitmap, const PangoMatrix *matrix, PangoFont *font, PangoGlyphString *glyphs, int x, int y);\";subroutine pango_ft2_render_transformed(bitmap, matrix, font, glyphs, x, y) bind(c)\r\npango;pango_ft2_shutdown_display;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pangoft2.h;\"void pango_ft2_shutdown_display (void);\";subroutine pango_ft2_shutdown_display() bind(c)\r\npango;pango_get_log_attrs;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-break.h;\"void pango_get_log_attrs (const char *text, int length, int level, PangoLanguage *language, PangoLogAttr *attrs, int attrs_len);\";subroutine pango_get_log_attrs(text, length, level, language, attrs, attrs_len) bind(c)\r\npango;pango_get_mirror_char;PANGO_DEPRECATED_IN_1_30_FOR(g_unichar_get_mirror_char);pango-auto.f90;/usr/include/pango-1.0/pango/pango-bidi-type.h;\"gboolean pango_get_mirror_char (gunichar ch, gunichar *mirrored_ch);\";function pango_get_mirror_char(ch, mirrored_ch) bind(c)\r\npango;pango_glyph_item_apply_attrs;PANGO_AVAILABLE_IN_1_2;pango-auto.f90;/usr/include/pango-1.0/pango/pango-glyph-item.h;\"GSList * pango_glyph_item_apply_attrs (PangoGlyphItem *glyph_item, const char *text, PangoAttrList *list);\";function pango_glyph_item_apply_attrs(glyph_item, text, list) bind(c)\r\npango;pango_glyph_item_copy;PANGO_AVAILABLE_IN_1_20;pango-auto.f90;/usr/include/pango-1.0/pango/pango-glyph-item.h;\"PangoGlyphItem *pango_glyph_item_copy (PangoGlyphItem *orig);\";function pango_glyph_item_copy(orig) bind(c)\r\npango;pango_glyph_item_free;PANGO_AVAILABLE_IN_1_6;pango-auto.f90;/usr/include/pango-1.0/pango/pango-glyph-item.h;\"void pango_glyph_item_free (PangoGlyphItem *glyph_item);\";subroutine pango_glyph_item_free(glyph_item) bind(c)\r\npango;pango_glyph_item_get_logical_widths;PANGO_AVAILABLE_IN_1_26;pango-auto.f90;/usr/include/pango-1.0/pango/pango-glyph-item.h;\"void pango_glyph_item_get_logical_widths (PangoGlyphItem *glyph_item, const char *text, int *logical_widths);\";subroutine pango_glyph_item_get_logical_widths(glyph_item, text, logical_widths) bind(c)\r\npango;pango_glyph_item_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-glyph-item.h;\"GType pango_glyph_item_get_type (void) ;\";function pango_glyph_item_get_type() bind(c)\r\npango;pango_glyph_item_iter_copy;PANGO_AVAILABLE_IN_1_22;pango-auto.f90;/usr/include/pango-1.0/pango/pango-glyph-item.h;\"PangoGlyphItemIter *pango_glyph_item_iter_copy (PangoGlyphItemIter *orig);\";function pango_glyph_item_iter_copy(orig) bind(c)\r\npango;pango_glyph_item_iter_free;PANGO_AVAILABLE_IN_1_22;pango-auto.f90;/usr/include/pango-1.0/pango/pango-glyph-item.h;\"void pango_glyph_item_iter_free (PangoGlyphItemIter *iter);\";subroutine pango_glyph_item_iter_free(iter) bind(c)\r\npango;pango_glyph_item_iter_get_type;PANGO_AVAILABLE_IN_1_22;pango-auto.f90;/usr/include/pango-1.0/pango/pango-glyph-item.h;\"GType pango_glyph_item_iter_get_type (void) ;\";function pango_glyph_item_iter_get_type() bind(c)\r\npango;pango_glyph_item_iter_init_end;PANGO_AVAILABLE_IN_1_22;pango-auto.f90;/usr/include/pango-1.0/pango/pango-glyph-item.h;\"gboolean pango_glyph_item_iter_init_end (PangoGlyphItemIter *iter, PangoGlyphItem *glyph_item, const char *text);\";function pango_glyph_item_iter_init_end(iter, glyph_item, text) bind(c)\r\npango;pango_glyph_item_iter_init_start;PANGO_AVAILABLE_IN_1_22;pango-auto.f90;/usr/include/pango-1.0/pango/pango-glyph-item.h;\"gboolean pango_glyph_item_iter_init_start (PangoGlyphItemIter *iter, PangoGlyphItem *glyph_item, const char *text);\";function pango_glyph_item_iter_init_start(iter, glyph_item, text) bind(c)\r\npango;pango_glyph_item_iter_next_cluster;PANGO_AVAILABLE_IN_1_22;pango-auto.f90;/usr/include/pango-1.0/pango/pango-glyph-item.h;\"gboolean pango_glyph_item_iter_next_cluster (PangoGlyphItemIter *iter);\";function pango_glyph_item_iter_next_cluster(iter) bind(c)\r\npango;pango_glyph_item_iter_prev_cluster;PANGO_AVAILABLE_IN_1_22;pango-auto.f90;/usr/include/pango-1.0/pango/pango-glyph-item.h;\"gboolean pango_glyph_item_iter_prev_cluster (PangoGlyphItemIter *iter);\";function pango_glyph_item_iter_prev_cluster(iter) bind(c)\r\npango;pango_glyph_item_letter_space;PANGO_AVAILABLE_IN_1_6;pango-auto.f90;/usr/include/pango-1.0/pango/pango-glyph-item.h;\"void pango_glyph_item_letter_space (PangoGlyphItem *glyph_item, const char *text, PangoLogAttr *log_attrs, int letter_spacing);\";subroutine pango_glyph_item_letter_space(glyph_item, text, log_attrs, letter_spacing) bind(c)\r\npango;pango_glyph_item_split;PANGO_AVAILABLE_IN_1_2;pango-auto.f90;/usr/include/pango-1.0/pango/pango-glyph-item.h;\"PangoGlyphItem *pango_glyph_item_split (PangoGlyphItem *orig, const char *text, int split_index);\";function pango_glyph_item_split(orig, text, split_index) bind(c)\r\npango;pango_glyph_string_copy;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-glyph.h;\"PangoGlyphString * pango_glyph_string_copy (PangoGlyphString *string);\";function pango_glyph_string_copy(string) bind(c)\r\npango;pango_glyph_string_extents;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-glyph.h;\"void pango_glyph_string_extents (PangoGlyphString *glyphs, PangoFont *font, PangoRectangle *ink_rect, PangoRectangle *logical_rect);\";subroutine pango_glyph_string_extents(glyphs, font, ink_rect, logical_rect) bind(c)\r\npango;pango_glyph_string_extents_range;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-glyph.h;\"void pango_glyph_string_extents_range (PangoGlyphString *glyphs, int start, int end, PangoFont *font, PangoRectangle *ink_rect, PangoRectangle *logical_rect);\";subroutine pango_glyph_string_extents_range(glyphs, start, end, font, ink_rect, logical_rect) bind(c)\r\npango;pango_glyph_string_free;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-glyph.h;\"void pango_glyph_string_free (PangoGlyphString *string);\";subroutine pango_glyph_string_free(string) bind(c)\r\npango;pango_glyph_string_get_logical_widths;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-glyph.h;\"void pango_glyph_string_get_logical_widths (PangoGlyphString *glyphs, const char *text, int length, int embedding_level, int *logical_widths);\";subroutine pango_glyph_string_get_logical_widths(glyphs, text, length, embedding_level, logical_widths) bind(c)\r\npango;pango_glyph_string_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-glyph.h;\"GType pango_glyph_string_get_type (void) ;\";function pango_glyph_string_get_type() bind(c)\r\npango;pango_glyph_string_get_width;PANGO_AVAILABLE_IN_1_14;pango-auto.f90;/usr/include/pango-1.0/pango/pango-glyph.h;\"int pango_glyph_string_get_width (PangoGlyphString *glyphs);\";function pango_glyph_string_get_width(glyphs) bind(c)\r\npango;pango_glyph_string_index_to_x;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-glyph.h;\"void pango_glyph_string_index_to_x (PangoGlyphString *glyphs, const char *text, int length, PangoAnalysis *analysis, int index_, gboolean trailing, int *x_pos);\";subroutine pango_glyph_string_index_to_x(glyphs, text, length, analysis, index_, trailing, x_pos) bind(c)\r\npango;pango_glyph_string_index_to_x_full;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-glyph.h;\"void pango_glyph_string_index_to_x_full (PangoGlyphString *glyphs, const char *text, int length, PangoAnalysis *analysis, PangoLogAttr *attrs, int index_, gboolean trailing, int *x_pos);\";subroutine pango_glyph_string_index_to_x_full(glyphs, text, length, analysis, attrs, index_, trailing, x_pos) bind(c)\r\npango;pango_glyph_string_new;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-glyph.h;\"PangoGlyphString * pango_glyph_string_new (void);\";function pango_glyph_string_new() bind(c)\r\npango;pango_glyph_string_set_size;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-glyph.h;\"void pango_glyph_string_set_size (PangoGlyphString *string, int new_len);\";subroutine pango_glyph_string_set_size(string, new_len) bind(c)\r\npango;pango_glyph_string_x_to_index;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-glyph.h;\"void pango_glyph_string_x_to_index (PangoGlyphString *glyphs, const char *text, int length, PangoAnalysis *analysis, int x_pos, int *index_, int *trailing);\";subroutine pango_glyph_string_x_to_index(glyphs, text, length, analysis, x_pos, index_, trailing) bind(c)\r\npango;pango_gravity_get_for_matrix;PANGO_AVAILABLE_IN_1_16;pango-auto.f90;/usr/include/pango-1.0/pango/pango-gravity.h;\"PangoGravity pango_gravity_get_for_matrix (const PangoMatrix *matrix) ;\";function pango_gravity_get_for_matrix(matrix) bind(c)\r\npango;pango_gravity_get_for_script;PANGO_AVAILABLE_IN_1_16;pango-auto.f90;/usr/include/pango-1.0/pango/pango-gravity.h;\"PangoGravity pango_gravity_get_for_script (PangoScript script, PangoGravity base_gravity, PangoGravityHint hint) ;\";function pango_gravity_get_for_script(script, base_gravity, hint) bind(c)\r\npango;pango_gravity_get_for_script_and_width;PANGO_AVAILABLE_IN_1_26;pango-auto.f90;/usr/include/pango-1.0/pango/pango-gravity.h;\"PangoGravity pango_gravity_get_for_script_and_width (PangoScript script, gboolean wide, PangoGravity base_gravity, PangoGravityHint hint) ;\";function pango_gravity_get_for_script_and_width(script, wide, base_gravity, hint) bind(c)\r\npango;pango_gravity_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-enum-types.h;\"GType pango_gravity_get_type (void) ;\";function pango_gravity_get_type() bind(c)\r\npango;pango_gravity_hint_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-enum-types.h;\"GType pango_gravity_hint_get_type (void) ;\";function pango_gravity_hint_get_type() bind(c)\r\npango;pango_gravity_to_rotation;PANGO_AVAILABLE_IN_1_16;pango-auto.f90;/usr/include/pango-1.0/pango/pango-gravity.h;\"double pango_gravity_to_rotation (PangoGravity gravity) ;\";function pango_gravity_to_rotation(gravity) bind(c)\r\npango;pango_is_zero_width;PANGO_AVAILABLE_IN_1_10;pango-auto.f90;/usr/include/pango-1.0/pango/pango-utils.h;\"gboolean pango_is_zero_width (gunichar ch) ;\";function pango_is_zero_width(ch) bind(c)\r\npango;pango_item_apply_attrs;PANGO_AVAILABLE_IN_1_44;pango-auto.f90;/usr/include/pango-1.0/pango/pango-item.h;\"void pango_item_apply_attrs (PangoItem *item, PangoAttrIterator *iter);\";subroutine pango_item_apply_attrs(item, iter) bind(c)\r\npango;pango_item_copy;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-item.h;\"PangoItem * pango_item_copy (PangoItem *item);\";function pango_item_copy(item) bind(c)\r\npango;pango_item_free;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-item.h;\"void pango_item_free (PangoItem *item);\";subroutine pango_item_free(item) bind(c)\r\npango;pango_item_get_char_offset;PANGO_AVAILABLE_IN_1_54;pango-auto.f90;/usr/include/pango-1.0/pango/pango-item.h;\"int pango_item_get_char_offset (PangoItem *item);\";function pango_item_get_char_offset(item) bind(c)\r\npango;pango_item_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-item.h;\"GType pango_item_get_type (void) ;\";function pango_item_get_type() bind(c)\r\npango;pango_item_new;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-item.h;\"PangoItem * pango_item_new (void);\";function pango_item_new() bind(c)\r\npango;pango_item_split;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-item.h;\"PangoItem * pango_item_split (PangoItem *orig, int split_index, int split_offset);\";function pango_item_split(orig, split_index, split_offset) bind(c)\r\npango;pango_itemize;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-item.h;\"GList * pango_itemize (PangoContext *context, const char *text, int start_index, int length, PangoAttrList *attrs, PangoAttrIterator *cached_iter);\";function pango_itemize(context, text, start_index, length, attrs, cached_iter) bind(c)\r\npango;pango_itemize_with_base_dir;PANGO_AVAILABLE_IN_1_4;pango-auto.f90;/usr/include/pango-1.0/pango/pango-item.h;\"GList * pango_itemize_with_base_dir (PangoContext *context, PangoDirection base_dir, const char *text, int start_index, int length, PangoAttrList *attrs, PangoAttrIterator *cached_iter);\";function pango_itemize_with_base_dir(context, base_dir, text, start_index, length, attrs, cached_iter) bind(c)\r\npango;pango_language_from_string;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-language.h;\"PangoLanguage * pango_language_from_string (const char *language);\";function pango_language_from_string(language) bind(c)\r\npango;pango_language_get_default;PANGO_AVAILABLE_IN_1_16;pango-auto.f90;/usr/include/pango-1.0/pango/pango-language.h;\"PangoLanguage * pango_language_get_default (void) ;\";function pango_language_get_default() bind(c)\r\npango;pango_language_get_preferred;PANGO_AVAILABLE_IN_1_48;pango-auto.f90;/usr/include/pango-1.0/pango/pango-language.h;\"PangoLanguage ** pango_language_get_preferred (void) ;\";function pango_language_get_preferred() bind(c)\r\npango;pango_language_get_sample_string;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-language.h;\"const char * pango_language_get_sample_string (PangoLanguage *language) ;\";function pango_language_get_sample_string(language) bind(c)\r\npango;pango_language_get_scripts;PANGO_AVAILABLE_IN_1_22;pango-auto.f90;/usr/include/pango-1.0/pango/pango-language.h;\"const PangoScript * pango_language_get_scripts (PangoLanguage *language, int *num_scripts);\";function pango_language_get_scripts(language, num_scripts) bind(c)\r\npango;pango_language_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-language.h;\"GType pango_language_get_type (void) ;\";function pango_language_get_type() bind(c)\r\npango;pango_language_includes_script;PANGO_AVAILABLE_IN_1_4;pango-auto.f90;/usr/include/pango-1.0/pango/pango-language.h;\"gboolean pango_language_includes_script (PangoLanguage *language, PangoScript script) ;\";function pango_language_includes_script(language, script) bind(c)\r\npango;pango_language_matches;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-language.h;\"gboolean pango_language_matches (PangoLanguage *language, const char *range_list) ;\";function pango_language_matches(language, range_list) bind(c)\r\npango;pango_language_to_string;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-language.h;\"const char * pango_language_to_string (PangoLanguage *language) ;\";function pango_language_to_string(language) bind(c)\r\npango;pango_layout_context_changed;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_context_changed (PangoLayout *layout);\";subroutine pango_layout_context_changed(layout) bind(c)\r\npango;pango_layout_copy;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"PangoLayout *pango_layout_copy (PangoLayout *src);\";function pango_layout_copy(src) bind(c)\r\npango;pango_layout_deserialize;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"PangoLayout * pango_layout_deserialize (PangoContext *context, GBytes *bytes, PangoLayoutDeserializeFlags flags, GError **error);\";function pango_layout_deserialize(context, bytes, flags, error) bind(c)\r\npango;pango_layout_deserialize_error_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-enum-types.h;\"GType pango_layout_deserialize_error_get_type (void) ;\";function pango_layout_deserialize_error_get_type() bind(c)\r\npango;pango_layout_deserialize_error_quark;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"GQuark pango_layout_deserialize_error_quark (void);\";function pango_layout_deserialize_error_quark() bind(c)\r\npango;pango_layout_deserialize_flags_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-enum-types.h;\"GType pango_layout_deserialize_flags_get_type (void) ;\";function pango_layout_deserialize_flags_get_type() bind(c)\r\npango;pango_layout_get_alignment;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"PangoAlignment pango_layout_get_alignment (PangoLayout *layout);\";function pango_layout_get_alignment(layout) bind(c)\r\npango;pango_layout_get_attributes;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"PangoAttrList *pango_layout_get_attributes (PangoLayout *layout);\";function pango_layout_get_attributes(layout) bind(c)\r\npango;pango_layout_get_auto_dir;PANGO_AVAILABLE_IN_1_4;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"gboolean pango_layout_get_auto_dir (PangoLayout *layout);\";function pango_layout_get_auto_dir(layout) bind(c)\r\npango;pango_layout_get_baseline;PANGO_AVAILABLE_IN_1_22;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"int pango_layout_get_baseline (PangoLayout *layout);\";function pango_layout_get_baseline(layout) bind(c)\r\npango;pango_layout_get_caret_pos;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_get_caret_pos (PangoLayout *layout, int index_, PangoRectangle *strong_pos, PangoRectangle *weak_pos);\";subroutine pango_layout_get_caret_pos(layout, index_, strong_pos, weak_pos) bind(c)\r\npango;pango_layout_get_character_count;PANGO_AVAILABLE_IN_1_30;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"gint pango_layout_get_character_count (PangoLayout *layout);\";function pango_layout_get_character_count(layout) bind(c)\r\npango;pango_layout_get_context;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"PangoContext *pango_layout_get_context (PangoLayout *layout);\";function pango_layout_get_context(layout) bind(c)\r\npango;pango_layout_get_cursor_pos;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_get_cursor_pos (PangoLayout *layout, int index_, PangoRectangle *strong_pos, PangoRectangle *weak_pos);\";subroutine pango_layout_get_cursor_pos(layout, index_, strong_pos, weak_pos) bind(c)\r\npango;pango_layout_get_direction;PANGO_AVAILABLE_IN_1_46;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"PangoDirection pango_layout_get_direction (PangoLayout *layout, int index);\";function pango_layout_get_direction(layout, index) bind(c)\r\npango;pango_layout_get_ellipsize;PANGO_AVAILABLE_IN_1_6;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"PangoEllipsizeMode pango_layout_get_ellipsize (PangoLayout *layout);\";function pango_layout_get_ellipsize(layout) bind(c)\r\npango;pango_layout_get_extents;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_get_extents (PangoLayout *layout, PangoRectangle *ink_rect, PangoRectangle *logical_rect);\";subroutine pango_layout_get_extents(layout, ink_rect, logical_rect) bind(c)\r\npango;pango_layout_get_font_description;PANGO_AVAILABLE_IN_1_8;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"const PangoFontDescription *pango_layout_get_font_description (PangoLayout *layout);\";function pango_layout_get_font_description(layout) bind(c)\r\npango;pango_layout_get_height;PANGO_AVAILABLE_IN_1_20;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"int pango_layout_get_height (PangoLayout *layout);\";function pango_layout_get_height(layout) bind(c)\r\npango;pango_layout_get_indent;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"int pango_layout_get_indent (PangoLayout *layout);\";function pango_layout_get_indent(layout) bind(c)\r\npango;pango_layout_get_iter;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"PangoLayoutIter *pango_layout_get_iter (PangoLayout *layout);\";function pango_layout_get_iter(layout) bind(c)\r\npango;pango_layout_get_justify;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"gboolean pango_layout_get_justify (PangoLayout *layout);\";function pango_layout_get_justify(layout) bind(c)\r\npango;pango_layout_get_justify_last_line;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"gboolean pango_layout_get_justify_last_line (PangoLayout *layout);\";function pango_layout_get_justify_last_line(layout) bind(c)\r\npango;pango_layout_get_line;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"PangoLayoutLine *pango_layout_get_line (PangoLayout *layout, int line);\";function pango_layout_get_line(layout, line) bind(c)\r\npango;pango_layout_get_line_count;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"int pango_layout_get_line_count (PangoLayout *layout);\";function pango_layout_get_line_count(layout) bind(c)\r\npango;pango_layout_get_line_readonly;PANGO_AVAILABLE_IN_1_16;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"PangoLayoutLine *pango_layout_get_line_readonly (PangoLayout *layout, int line);\";function pango_layout_get_line_readonly(layout, line) bind(c)\r\npango;pango_layout_get_line_spacing;PANGO_AVAILABLE_IN_1_44;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"float pango_layout_get_line_spacing (PangoLayout *layout);\";function pango_layout_get_line_spacing(layout) bind(c)\r\npango;pango_layout_get_lines;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"GSList * pango_layout_get_lines (PangoLayout *layout);\";function pango_layout_get_lines(layout) bind(c)\r\npango;pango_layout_get_lines_readonly;PANGO_AVAILABLE_IN_1_16;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"GSList * pango_layout_get_lines_readonly (PangoLayout *layout);\";function pango_layout_get_lines_readonly(layout) bind(c)\r\npango;pango_layout_get_log_attrs;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_get_log_attrs (PangoLayout *layout, PangoLogAttr **attrs, gint *n_attrs);\";subroutine pango_layout_get_log_attrs(layout, attrs, n_attrs) bind(c)\r\npango;pango_layout_get_log_attrs_readonly;PANGO_AVAILABLE_IN_1_30;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"const PangoLogAttr *pango_layout_get_log_attrs_readonly (PangoLayout *layout, gint *n_attrs);\";function pango_layout_get_log_attrs_readonly(layout, n_attrs) bind(c)\r\npango;pango_layout_get_pixel_extents;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_get_pixel_extents (PangoLayout *layout, PangoRectangle *ink_rect, PangoRectangle *logical_rect);\";subroutine pango_layout_get_pixel_extents(layout, ink_rect, logical_rect) bind(c)\r\npango;pango_layout_get_pixel_size;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_get_pixel_size (PangoLayout *layout, int *width, int *height);\";subroutine pango_layout_get_pixel_size(layout, width, height) bind(c)\r\npango;pango_layout_get_serial;PANGO_AVAILABLE_IN_1_32;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"guint pango_layout_get_serial (PangoLayout *layout);\";function pango_layout_get_serial(layout) bind(c)\r\npango;pango_layout_get_single_paragraph_mode;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"gboolean pango_layout_get_single_paragraph_mode (PangoLayout *layout);\";function pango_layout_get_single_paragraph_mode(layout) bind(c)\r\npango;pango_layout_get_size;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_get_size (PangoLayout *layout, int *width, int *height);\";subroutine pango_layout_get_size(layout, width, height) bind(c)\r\npango;pango_layout_get_spacing;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"int pango_layout_get_spacing (PangoLayout *layout);\";function pango_layout_get_spacing(layout) bind(c)\r\npango;pango_layout_get_tabs;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"PangoTabArray* pango_layout_get_tabs (PangoLayout *layout);\";function pango_layout_get_tabs(layout) bind(c)\r\npango;pango_layout_get_text;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"const char *pango_layout_get_text (PangoLayout *layout);\";function pango_layout_get_text(layout) bind(c)\r\npango;pango_layout_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"GType pango_layout_get_type (void) ;\";function pango_layout_get_type() bind(c)\r\npango;pango_layout_get_unknown_glyphs_count;PANGO_AVAILABLE_IN_1_16;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"int pango_layout_get_unknown_glyphs_count (PangoLayout *layout);\";function pango_layout_get_unknown_glyphs_count(layout) bind(c)\r\npango;pango_layout_get_width;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"int pango_layout_get_width (PangoLayout *layout);\";function pango_layout_get_width(layout) bind(c)\r\npango;pango_layout_get_wrap;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"PangoWrapMode pango_layout_get_wrap (PangoLayout *layout);\";function pango_layout_get_wrap(layout) bind(c)\r\npango;pango_layout_index_to_line_x;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_index_to_line_x (PangoLayout *layout, int index_, gboolean trailing, int *line, int *x_pos);\";subroutine pango_layout_index_to_line_x(layout, index_, trailing, line, x_pos) bind(c)\r\npango;pango_layout_index_to_pos;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_index_to_pos (PangoLayout *layout, int index_, PangoRectangle *pos);\";subroutine pango_layout_index_to_pos(layout, index_, pos) bind(c)\r\npango;pango_layout_is_ellipsized;PANGO_AVAILABLE_IN_1_16;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"gboolean pango_layout_is_ellipsized (PangoLayout *layout);\";function pango_layout_is_ellipsized(layout) bind(c)\r\npango;pango_layout_is_wrapped;PANGO_AVAILABLE_IN_1_16;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"gboolean pango_layout_is_wrapped (PangoLayout *layout);\";function pango_layout_is_wrapped(layout) bind(c)\r\npango;pango_layout_iter_at_last_line;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"gboolean pango_layout_iter_at_last_line (PangoLayoutIter *iter);\";function pango_layout_iter_at_last_line(iter) bind(c)\r\npango;pango_layout_iter_copy;PANGO_AVAILABLE_IN_1_20;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"PangoLayoutIter *pango_layout_iter_copy (PangoLayoutIter *iter);\";function pango_layout_iter_copy(iter) bind(c)\r\npango;pango_layout_iter_free;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_iter_free (PangoLayoutIter *iter);\";subroutine pango_layout_iter_free(iter) bind(c)\r\npango;pango_layout_iter_get_baseline;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"int pango_layout_iter_get_baseline (PangoLayoutIter *iter);\";function pango_layout_iter_get_baseline(iter) bind(c)\r\npango;pango_layout_iter_get_char_extents;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_iter_get_char_extents (PangoLayoutIter *iter, PangoRectangle *logical_rect);\";subroutine pango_layout_iter_get_char_extents(iter, logical_rect) bind(c)\r\npango;pango_layout_iter_get_cluster_extents;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_iter_get_cluster_extents (PangoLayoutIter *iter, PangoRectangle *ink_rect, PangoRectangle *logical_rect);\";subroutine pango_layout_iter_get_cluster_extents(iter, ink_rect, logical_rect) bind(c)\r\npango;pango_layout_iter_get_index;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"int pango_layout_iter_get_index (PangoLayoutIter *iter);\";function pango_layout_iter_get_index(iter) bind(c)\r\npango;pango_layout_iter_get_layout;PANGO_AVAILABLE_IN_1_20;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"PangoLayout *pango_layout_iter_get_layout (PangoLayoutIter *iter);\";function pango_layout_iter_get_layout(iter) bind(c)\r\npango;pango_layout_iter_get_layout_extents;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_iter_get_layout_extents (PangoLayoutIter *iter, PangoRectangle *ink_rect, PangoRectangle *logical_rect);\";subroutine pango_layout_iter_get_layout_extents(iter, ink_rect, logical_rect) bind(c)\r\npango;pango_layout_iter_get_line;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"PangoLayoutLine *pango_layout_iter_get_line (PangoLayoutIter *iter);\";function pango_layout_iter_get_line(iter) bind(c)\r\npango;pango_layout_iter_get_line_extents;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_iter_get_line_extents (PangoLayoutIter *iter, PangoRectangle *ink_rect, PangoRectangle *logical_rect);\";subroutine pango_layout_iter_get_line_extents(iter, ink_rect, logical_rect) bind(c)\r\npango;pango_layout_iter_get_line_readonly;PANGO_AVAILABLE_IN_1_16;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"PangoLayoutLine *pango_layout_iter_get_line_readonly (PangoLayoutIter *iter);\";function pango_layout_iter_get_line_readonly(iter) bind(c)\r\npango;pango_layout_iter_get_line_yrange;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_iter_get_line_yrange (PangoLayoutIter *iter, int *y0_, int *y1_);\";subroutine pango_layout_iter_get_line_yrange(iter, y0_, y1_) bind(c)\r\npango;pango_layout_iter_get_run;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"PangoLayoutRun *pango_layout_iter_get_run (PangoLayoutIter *iter);\";function pango_layout_iter_get_run(iter) bind(c)\r\npango;pango_layout_iter_get_run_baseline;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"int pango_layout_iter_get_run_baseline (PangoLayoutIter *iter);\";function pango_layout_iter_get_run_baseline(iter) bind(c)\r\npango;pango_layout_iter_get_run_extents;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_iter_get_run_extents (PangoLayoutIter *iter, PangoRectangle *ink_rect, PangoRectangle *logical_rect);\";subroutine pango_layout_iter_get_run_extents(iter, ink_rect, logical_rect) bind(c)\r\npango;pango_layout_iter_get_run_readonly;PANGO_AVAILABLE_IN_1_16;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"PangoLayoutRun *pango_layout_iter_get_run_readonly (PangoLayoutIter *iter);\";function pango_layout_iter_get_run_readonly(iter) bind(c)\r\npango;pango_layout_iter_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"GType pango_layout_iter_get_type (void) ;\";function pango_layout_iter_get_type() bind(c)\r\npango;pango_layout_iter_next_char;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"gboolean pango_layout_iter_next_char (PangoLayoutIter *iter);\";function pango_layout_iter_next_char(iter) bind(c)\r\npango;pango_layout_iter_next_cluster;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"gboolean pango_layout_iter_next_cluster (PangoLayoutIter *iter);\";function pango_layout_iter_next_cluster(iter) bind(c)\r\npango;pango_layout_iter_next_line;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"gboolean pango_layout_iter_next_line (PangoLayoutIter *iter);\";function pango_layout_iter_next_line(iter) bind(c)\r\npango;pango_layout_iter_next_run;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"gboolean pango_layout_iter_next_run (PangoLayoutIter *iter);\";function pango_layout_iter_next_run(iter) bind(c)\r\npango;pango_layout_line_get_extents;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_line_get_extents (PangoLayoutLine *line, PangoRectangle *ink_rect, PangoRectangle *logical_rect);\";subroutine pango_layout_line_get_extents(line, ink_rect, logical_rect) bind(c)\r\npango;pango_layout_line_get_height;PANGO_AVAILABLE_IN_1_44;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_line_get_height (PangoLayoutLine *line, int *height);\";subroutine pango_layout_line_get_height(line, height) bind(c)\r\npango;pango_layout_line_get_length;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"int pango_layout_line_get_length (PangoLayoutLine *line);\";function pango_layout_line_get_length(line) bind(c)\r\npango;pango_layout_line_get_pixel_extents;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_line_get_pixel_extents (PangoLayoutLine *layout_line, PangoRectangle *ink_rect, PangoRectangle *logical_rect);\";subroutine pango_layout_line_get_pixel_extents(layout_line, ink_rect, logical_rect) bind(c)\r\npango;pango_layout_line_get_resolved_direction;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"PangoDirection pango_layout_line_get_resolved_direction (PangoLayoutLine *line);\";function pango_layout_line_get_resolved_direction(line) bind(c)\r\npango;pango_layout_line_get_start_index;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"int pango_layout_line_get_start_index (PangoLayoutLine *line);\";function pango_layout_line_get_start_index(line) bind(c)\r\npango;pango_layout_line_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"GType pango_layout_line_get_type (void) ;\";function pango_layout_line_get_type() bind(c)\r\npango;pango_layout_line_get_x_ranges;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_line_get_x_ranges (PangoLayoutLine *line, int start_index, int end_index, int **ranges, int *n_ranges);\";subroutine pango_layout_line_get_x_ranges(line, start_index, end_index, ranges, n_ranges) bind(c)\r\npango;pango_layout_line_index_to_x;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_line_index_to_x (PangoLayoutLine *line, int index_, gboolean trailing, int *x_pos);\";subroutine pango_layout_line_index_to_x(line, index_, trailing, x_pos) bind(c)\r\npango;pango_layout_line_is_paragraph_start;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"gboolean pango_layout_line_is_paragraph_start (PangoLayoutLine *line);\";function pango_layout_line_is_paragraph_start(line) bind(c)\r\npango;pango_layout_line_ref;PANGO_AVAILABLE_IN_1_10;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"PangoLayoutLine *pango_layout_line_ref (PangoLayoutLine *line);\";function pango_layout_line_ref(line) bind(c)\r\npango;pango_layout_line_unref;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_line_unref (PangoLayoutLine *line);\";subroutine pango_layout_line_unref(line) bind(c)\r\npango;pango_layout_line_x_to_index;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"gboolean pango_layout_line_x_to_index (PangoLayoutLine *line, int x_pos, int *index_, int *trailing);\";function pango_layout_line_x_to_index(line, x_pos, index_, trailing) bind(c)\r\npango;pango_layout_move_cursor_visually;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_move_cursor_visually (PangoLayout *layout, gboolean strong, int old_index, int old_trailing, int direction, int *new_index, int *new_trailing);\";subroutine pango_layout_move_cursor_visually(layout, strong, old_index, old_trailing, direction, new_index, new_trailing) bind(c)\r\npango;pango_layout_new;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"PangoLayout *pango_layout_new (PangoContext *context);\";function pango_layout_new(context) bind(c)\r\npango;pango_layout_serialize;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"GBytes * pango_layout_serialize (PangoLayout *layout, PangoLayoutSerializeFlags flags);\";function pango_layout_serialize(layout, flags) bind(c)\r\npango;pango_layout_serialize_flags_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-enum-types.h;\"GType pango_layout_serialize_flags_get_type (void) ;\";function pango_layout_serialize_flags_get_type() bind(c)\r\npango;pango_layout_set_alignment;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_set_alignment (PangoLayout *layout, PangoAlignment alignment);\";subroutine pango_layout_set_alignment(layout, alignment) bind(c)\r\npango;pango_layout_set_attributes;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_set_attributes (PangoLayout *layout, PangoAttrList *attrs);\";subroutine pango_layout_set_attributes(layout, attrs) bind(c)\r\npango;pango_layout_set_auto_dir;PANGO_AVAILABLE_IN_1_4;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_set_auto_dir (PangoLayout *layout, gboolean auto_dir);\";subroutine pango_layout_set_auto_dir(layout, auto_dir) bind(c)\r\npango;pango_layout_set_ellipsize;PANGO_AVAILABLE_IN_1_6;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_set_ellipsize (PangoLayout *layout, PangoEllipsizeMode ellipsize);\";subroutine pango_layout_set_ellipsize(layout, ellipsize) bind(c)\r\npango;pango_layout_set_font_description;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_set_font_description (PangoLayout *layout, const PangoFontDescription *desc);\";subroutine pango_layout_set_font_description(layout, desc) bind(c)\r\npango;pango_layout_set_height;PANGO_AVAILABLE_IN_1_20;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_set_height (PangoLayout *layout, int height);\";subroutine pango_layout_set_height(layout, height) bind(c)\r\npango;pango_layout_set_indent;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_set_indent (PangoLayout *layout, int indent);\";subroutine pango_layout_set_indent(layout, indent) bind(c)\r\npango;pango_layout_set_justify;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_set_justify (PangoLayout *layout, gboolean justify);\";subroutine pango_layout_set_justify(layout, justify) bind(c)\r\npango;pango_layout_set_justify_last_line;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_set_justify_last_line (PangoLayout *layout, gboolean justify);\";subroutine pango_layout_set_justify_last_line(layout, justify) bind(c)\r\npango;pango_layout_set_line_spacing;PANGO_AVAILABLE_IN_1_44;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_set_line_spacing (PangoLayout *layout, float factor);\";subroutine pango_layout_set_line_spacing(layout, factor) bind(c)\r\npango;pango_layout_set_markup;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_set_markup (PangoLayout *layout, const char *markup, int length);\";subroutine pango_layout_set_markup(layout, markup, length) bind(c)\r\npango;pango_layout_set_markup_with_accel;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_set_markup_with_accel (PangoLayout *layout, const char *markup, int length, gunichar accel_marker, gunichar *accel_char);\";subroutine pango_layout_set_markup_with_accel(layout, markup, length, accel_marker, accel_char) bind(c)\r\npango;pango_layout_set_single_paragraph_mode;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_set_single_paragraph_mode (PangoLayout *layout, gboolean setting);\";subroutine pango_layout_set_single_paragraph_mode(layout, setting) bind(c)\r\npango;pango_layout_set_spacing;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_set_spacing (PangoLayout *layout, int spacing);\";subroutine pango_layout_set_spacing(layout, spacing) bind(c)\r\npango;pango_layout_set_tabs;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_set_tabs (PangoLayout *layout, PangoTabArray *tabs);\";subroutine pango_layout_set_tabs(layout, tabs) bind(c)\r\npango;pango_layout_set_text;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_set_text (PangoLayout *layout, const char *text, int length);\";subroutine pango_layout_set_text(layout, text, length) bind(c)\r\npango;pango_layout_set_width;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_set_width (PangoLayout *layout, int width);\";subroutine pango_layout_set_width(layout, width) bind(c)\r\npango;pango_layout_set_wrap;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"void pango_layout_set_wrap (PangoLayout *layout, PangoWrapMode wrap);\";subroutine pango_layout_set_wrap(layout, wrap) bind(c)\r\npango;pango_layout_write_to_file;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"gboolean pango_layout_write_to_file (PangoLayout *layout, PangoLayoutSerializeFlags flags, const char *filename, GError **error);\";function pango_layout_write_to_file(layout, flags, filename, error) bind(c)\r\npango;pango_layout_xy_to_index;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-layout.h;\"gboolean pango_layout_xy_to_index (PangoLayout *layout, int x, int y, int *index_, int *trailing);\";function pango_layout_xy_to_index(layout, x, y, index_, trailing) bind(c)\r\npango;pango_log2vis_get_embedding_levels;PANGO_AVAILABLE_IN_1_4;pango-auto.f90;/usr/include/pango-1.0/pango/pango-utils.h;\"guint8 * pango_log2vis_get_embedding_levels (const gchar *text, int length, PangoDirection *pbase_dir);\";function pango_log2vis_get_embedding_levels(text, length, pbase_dir) bind(c)\r\npango;pango_map_get_engine;PANGO_DEPRECATED_IN_1_38;pango-auto.f90;/usr/include/pango-1.0/pango/pango-modules.h;\"PangoEngine * pango_map_get_engine (PangoMap *map, PangoScript script);\";function pango_map_get_engine(map, script) bind(c)\r\npango;pango_map_get_engines;PANGO_DEPRECATED_IN_1_38;pango-auto.f90;/usr/include/pango-1.0/pango/pango-modules.h;\"void pango_map_get_engines (PangoMap *map, PangoScript script, GSList **exact_engines, GSList **fallback_engines);\";subroutine pango_map_get_engines(map, script, exact_engines, fallback_engines) bind(c)\r\npango;pango_markup_parser_finish;PANGO_AVAILABLE_IN_1_32;pango-auto.f90;/usr/include/pango-1.0/pango/pango-markup.h;\"gboolean pango_markup_parser_finish (GMarkupParseContext *context, PangoAttrList **attr_list, char **text, gunichar *accel_char, GError **error);\";function pango_markup_parser_finish(context, attr_list, text, accel_char, error) bind(c)\r\npango;pango_markup_parser_new;PANGO_AVAILABLE_IN_1_32;pango-auto.f90;/usr/include/pango-1.0/pango/pango-markup.h;\"GMarkupParseContext * pango_markup_parser_new (gunichar accel_marker);\";function pango_markup_parser_new(accel_marker) bind(c)\r\npango;pango_matrix_concat;PANGO_AVAILABLE_IN_1_6;pango-auto.f90;/usr/include/pango-1.0/pango/pango-matrix.h;\"void pango_matrix_concat (PangoMatrix *matrix, const PangoMatrix *new_matrix);\";subroutine pango_matrix_concat(matrix, new_matrix) bind(c)\r\npango;pango_matrix_copy;PANGO_AVAILABLE_IN_1_6;pango-auto.f90;/usr/include/pango-1.0/pango/pango-matrix.h;\"PangoMatrix *pango_matrix_copy (const PangoMatrix *matrix);\";function pango_matrix_copy(matrix) bind(c)\r\npango;pango_matrix_free;PANGO_AVAILABLE_IN_1_6;pango-auto.f90;/usr/include/pango-1.0/pango/pango-matrix.h;\"void pango_matrix_free (PangoMatrix *matrix);\";subroutine pango_matrix_free(matrix) bind(c)\r\npango;pango_matrix_get_font_scale_factor;PANGO_AVAILABLE_IN_1_12;pango-auto.f90;/usr/include/pango-1.0/pango/pango-matrix.h;\"double pango_matrix_get_font_scale_factor (const PangoMatrix *matrix) ;\";function pango_matrix_get_font_scale_factor(matrix) bind(c)\r\npango;pango_matrix_get_font_scale_factors;PANGO_AVAILABLE_IN_1_38;pango-auto.f90;/usr/include/pango-1.0/pango/pango-matrix.h;\"void pango_matrix_get_font_scale_factors (const PangoMatrix *matrix, double *xscale, double *yscale);\";subroutine pango_matrix_get_font_scale_factors(matrix, xscale, yscale) bind(c)\r\npango;pango_matrix_get_slant_ratio;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-matrix.h;\"double pango_matrix_get_slant_ratio (const PangoMatrix *matrix) ;\";function pango_matrix_get_slant_ratio(matrix) bind(c)\r\npango;pango_matrix_get_type;PANGO_AVAILABLE_IN_1_6;pango-auto.f90;/usr/include/pango-1.0/pango/pango-matrix.h;\"GType pango_matrix_get_type (void) ;\";function pango_matrix_get_type() bind(c)\r\npango;pango_matrix_rotate;PANGO_AVAILABLE_IN_1_6;pango-auto.f90;/usr/include/pango-1.0/pango/pango-matrix.h;\"void pango_matrix_rotate (PangoMatrix *matrix, double degrees);\";subroutine pango_matrix_rotate(matrix, degrees) bind(c)\r\npango;pango_matrix_scale;PANGO_AVAILABLE_IN_1_6;pango-auto.f90;/usr/include/pango-1.0/pango/pango-matrix.h;\"void pango_matrix_scale (PangoMatrix *matrix, double scale_x, double scale_y);\";subroutine pango_matrix_scale(matrix, scale_x, scale_y) bind(c)\r\npango;pango_matrix_transform_distance;PANGO_AVAILABLE_IN_1_16;pango-auto.f90;/usr/include/pango-1.0/pango/pango-matrix.h;\"void pango_matrix_transform_distance (const PangoMatrix *matrix, double *dx, double *dy);\";subroutine pango_matrix_transform_distance(matrix, dx, dy) bind(c)\r\npango;pango_matrix_transform_pixel_rectangle;PANGO_AVAILABLE_IN_1_16;pango-auto.f90;/usr/include/pango-1.0/pango/pango-matrix.h;\"void pango_matrix_transform_pixel_rectangle (const PangoMatrix *matrix, PangoRectangle *rect);\";subroutine pango_matrix_transform_pixel_rectangle(matrix, rect) bind(c)\r\npango;pango_matrix_transform_point;PANGO_AVAILABLE_IN_1_16;pango-auto.f90;/usr/include/pango-1.0/pango/pango-matrix.h;\"void pango_matrix_transform_point (const PangoMatrix *matrix, double *x, double *y);\";subroutine pango_matrix_transform_point(matrix, x, y) bind(c)\r\npango;pango_matrix_transform_rectangle;PANGO_AVAILABLE_IN_1_16;pango-auto.f90;/usr/include/pango-1.0/pango/pango-matrix.h;\"void pango_matrix_transform_rectangle (const PangoMatrix *matrix, PangoRectangle *rect);\";subroutine pango_matrix_transform_rectangle(matrix, rect) bind(c)\r\npango;pango_matrix_translate;PANGO_AVAILABLE_IN_1_6;pango-auto.f90;/usr/include/pango-1.0/pango/pango-matrix.h;\"void pango_matrix_translate (PangoMatrix *matrix, double tx, double ty);\";subroutine pango_matrix_translate(matrix, tx, ty) bind(c)\r\npango;pango_module_register;PANGO_DEPRECATED_IN_1_38;pango-auto.f90;/usr/include/pango-1.0/pango/pango-modules.h;\"void pango_module_register (PangoIncludedModule *module);\";subroutine pango_module_register(module) bind(c)\r\npango;pango_ot_buffer_add_glyph;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-ot.h;\"void pango_ot_buffer_add_glyph (PangoOTBuffer *buffer, guint glyph, guint properties, guint cluster);\";subroutine pango_ot_buffer_add_glyph(buffer, glyph, properties, cluster) bind(c)\r\npango;pango_ot_buffer_clear;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-ot.h;\"void pango_ot_buffer_clear (PangoOTBuffer *buffer);\";subroutine pango_ot_buffer_clear(buffer) bind(c)\r\npango;pango_ot_buffer_destroy;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-ot.h;\"void pango_ot_buffer_destroy (PangoOTBuffer *buffer);\";subroutine pango_ot_buffer_destroy(buffer) bind(c)\r\npango;pango_ot_buffer_get_glyphs;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-ot.h;\"void pango_ot_buffer_get_glyphs (const PangoOTBuffer *buffer, PangoOTGlyph **glyphs, int *n_glyphs);\";subroutine pango_ot_buffer_get_glyphs(buffer, glyphs, n_glyphs) bind(c)\r\npango;pango_ot_buffer_get_type;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-ot.h;\"GType pango_ot_buffer_get_type (void) ;\";function pango_ot_buffer_get_type() bind(c)\r\npango;pango_ot_buffer_new;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-ot.h;\"PangoOTBuffer *pango_ot_buffer_new (PangoFcFont *font);\";function pango_ot_buffer_new(font) bind(c)\r\npango;pango_ot_buffer_output;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-ot.h;\"void pango_ot_buffer_output (const PangoOTBuffer *buffer, PangoGlyphString *glyphs);\";subroutine pango_ot_buffer_output(buffer, glyphs) bind(c)\r\npango;pango_ot_buffer_set_rtl;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-ot.h;\"void pango_ot_buffer_set_rtl (PangoOTBuffer *buffer, gboolean rtl);\";subroutine pango_ot_buffer_set_rtl(buffer, rtl) bind(c)\r\npango;pango_ot_buffer_set_zero_width_marks;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-ot.h;\"void pango_ot_buffer_set_zero_width_marks (PangoOTBuffer *buffer, gboolean zero_width_marks);\";subroutine pango_ot_buffer_set_zero_width_marks(buffer, zero_width_marks) bind(c)\r\npango;pango_ot_info_find_feature;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-ot.h;\"gboolean pango_ot_info_find_feature (PangoOTInfo *info, PangoOTTableType table_type, PangoOTTag feature_tag, guint script_index, guint language_index, guint *feature_index);\";function pango_ot_info_find_feature(info, table_type, feature_tag, script_index, language_index, feature_index) bind(c)\r\npango;pango_ot_info_find_language;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-ot.h;\"gboolean pango_ot_info_find_language (PangoOTInfo *info, PangoOTTableType table_type, guint script_index, PangoOTTag language_tag, guint *language_index, guint *required_feature_index);\";function pango_ot_info_find_language(info, table_type, script_index, language_tag, language_index, required_feature_index) bind(c)\r\npango;pango_ot_info_find_script;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-ot.h;\"gboolean pango_ot_info_find_script (PangoOTInfo *info, PangoOTTableType table_type, PangoOTTag script_tag, guint *script_index);\";function pango_ot_info_find_script(info, table_type, script_tag, script_index) bind(c)\r\npango;pango_ot_info_get;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-ot.h;\"PangoOTInfo *pango_ot_info_get (FT_Face face);\";function pango_ot_info_get(face) bind(c)\r\npango;pango_ot_info_get_type;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-ot.h;\"GType pango_ot_info_get_type (void) ;\";function pango_ot_info_get_type() bind(c)\r\npango;pango_ot_info_list_features;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-ot.h;\"PangoOTTag *pango_ot_info_list_features (PangoOTInfo *info, PangoOTTableType table_type, PangoOTTag tag, guint script_index, guint language_index);\";function pango_ot_info_list_features(info, table_type, tag, script_index, language_index) bind(c)\r\npango;pango_ot_info_list_languages;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-ot.h;\"PangoOTTag *pango_ot_info_list_languages (PangoOTInfo *info, PangoOTTableType table_type, guint script_index, PangoOTTag language_tag);\";function pango_ot_info_list_languages(info, table_type, script_index, language_tag) bind(c)\r\npango;pango_ot_info_list_scripts;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-ot.h;\"PangoOTTag *pango_ot_info_list_scripts (PangoOTInfo *info, PangoOTTableType table_type);\";function pango_ot_info_list_scripts(info, table_type) bind(c)\r\npango;pango_ot_ruleset_add_feature;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-ot.h;\"void pango_ot_ruleset_add_feature (PangoOTRuleset *ruleset, PangoOTTableType table_type, guint feature_index, gulong property_bit);\";subroutine pango_ot_ruleset_add_feature(ruleset, table_type, feature_index, property_bit) bind(c)\r\npango;pango_ot_ruleset_description_copy;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-ot.h;\"PangoOTRulesetDescription *pango_ot_ruleset_description_copy (const PangoOTRulesetDescription *desc);\";function pango_ot_ruleset_description_copy(desc) bind(c)\r\npango;pango_ot_ruleset_description_equal;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-ot.h;\"gboolean pango_ot_ruleset_description_equal (const PangoOTRulesetDescription *desc1, const PangoOTRulesetDescription *desc2) ;\";function pango_ot_ruleset_description_equal(desc1, desc2) bind(c)\r\npango;pango_ot_ruleset_description_free;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-ot.h;\"void pango_ot_ruleset_description_free (PangoOTRulesetDescription *desc);\";subroutine pango_ot_ruleset_description_free(desc) bind(c)\r\npango;pango_ot_ruleset_description_get_type;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-ot.h;\"GType pango_ot_ruleset_description_get_type (void) ;\";function pango_ot_ruleset_description_get_type() bind(c)\r\npango;pango_ot_ruleset_description_hash;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-ot.h;\"guint pango_ot_ruleset_description_hash (const PangoOTRulesetDescription *desc) ;\";function pango_ot_ruleset_description_hash(desc) bind(c)\r\npango;pango_ot_ruleset_get_feature_count;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-ot.h;\"guint pango_ot_ruleset_get_feature_count (const PangoOTRuleset *ruleset, guint *n_gsub_features, guint *n_gpos_features);\";function pango_ot_ruleset_get_feature_count(ruleset, n_gsub_features, n_gpos_features) bind(c)\r\npango;pango_ot_ruleset_get_for_description;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-ot.h;\"const PangoOTRuleset *pango_ot_ruleset_get_for_description (PangoOTInfo *info, const PangoOTRulesetDescription *desc);\";function pango_ot_ruleset_get_for_description(info, desc) bind(c)\r\npango;pango_ot_ruleset_get_type;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-ot.h;\"GType pango_ot_ruleset_get_type (void) ;\";function pango_ot_ruleset_get_type() bind(c)\r\npango;pango_ot_ruleset_maybe_add_feature;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-ot.h;\"gboolean pango_ot_ruleset_maybe_add_feature (PangoOTRuleset *ruleset, PangoOTTableType table_type, PangoOTTag feature_tag, gulong property_bit);\";function pango_ot_ruleset_maybe_add_feature(ruleset, table_type, feature_tag, property_bit) bind(c)\r\npango;pango_ot_ruleset_maybe_add_features;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-ot.h;\"guint pango_ot_ruleset_maybe_add_features (PangoOTRuleset *ruleset, PangoOTTableType table_type, const PangoOTFeatureMap *features, guint n_features);\";function pango_ot_ruleset_maybe_add_features(ruleset, table_type, features, n_features) bind(c)\r\npango;pango_ot_ruleset_new;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-ot.h;\"PangoOTRuleset *pango_ot_ruleset_new (PangoOTInfo *info);\";function pango_ot_ruleset_new(info) bind(c)\r\npango;pango_ot_ruleset_new_for;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-ot.h;\"PangoOTRuleset *pango_ot_ruleset_new_for (PangoOTInfo *info, PangoScript script, PangoLanguage *language);\";function pango_ot_ruleset_new_for(info, script, language) bind(c)\r\npango;pango_ot_ruleset_new_from_description;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-ot.h;\"PangoOTRuleset *pango_ot_ruleset_new_from_description (PangoOTInfo *info, const PangoOTRulesetDescription *desc);\";function pango_ot_ruleset_new_from_description(info, desc) bind(c)\r\npango;pango_ot_ruleset_position;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-ot.h;\"void pango_ot_ruleset_position (const PangoOTRuleset *ruleset, PangoOTBuffer *buffer);\";subroutine pango_ot_ruleset_position(ruleset, buffer) bind(c)\r\npango;pango_ot_ruleset_substitute;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-ot.h;\"void pango_ot_ruleset_substitute (const PangoOTRuleset *ruleset, PangoOTBuffer *buffer);\";subroutine pango_ot_ruleset_substitute(ruleset, buffer) bind(c)\r\npango;pango_ot_tag_from_language;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-ot.h;\"PangoOTTag pango_ot_tag_from_language (PangoLanguage *language) ;\";function pango_ot_tag_from_language(language) bind(c)\r\npango;pango_ot_tag_from_script;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-ot.h;\"PangoOTTag pango_ot_tag_from_script (PangoScript script) ;\";function pango_ot_tag_from_script(script) bind(c)\r\npango;pango_ot_tag_to_language;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-ot.h;\"PangoLanguage *pango_ot_tag_to_language (PangoOTTag language_tag) ;\";function pango_ot_tag_to_language(language_tag) bind(c)\r\npango;pango_ot_tag_to_script;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-ot.h;\"PangoScript pango_ot_tag_to_script (PangoOTTag script_tag) ;\";function pango_ot_tag_to_script(script_tag) bind(c)\r\npango;pango_overline_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-enum-types.h;\"GType pango_overline_get_type (void) ;\";function pango_overline_get_type() bind(c)\r\npango;pango_parse_enum;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-utils.h;\"gboolean pango_parse_enum (GType type, const char *str, int *value, gboolean warn, char **possible_values);\";function pango_parse_enum(type, str, value, warn, possible_values) bind(c)\r\npango;pango_parse_markup;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-markup.h;\"gboolean pango_parse_markup (const char *markup_text, int length, gunichar accel_marker, PangoAttrList **attr_list, char **text, gunichar *accel_char, GError **error);\";function pango_parse_markup(markup_text, length, accel_marker, attr_list, text, accel_char, error) bind(c)\r\npango;pango_parse_stretch;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-utils.h;\"gboolean pango_parse_stretch (const char *str, PangoStretch *stretch, gboolean warn);\";function pango_parse_stretch(str, stretch, warn) bind(c)\r\npango;pango_parse_style;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-utils.h;\"gboolean pango_parse_style (const char *str, PangoStyle *style, gboolean warn);\";function pango_parse_style(str, style, warn) bind(c)\r\npango;pango_parse_variant;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-utils.h;\"gboolean pango_parse_variant (const char *str, PangoVariant *variant, gboolean warn);\";function pango_parse_variant(str, variant, warn) bind(c)\r\npango;pango_parse_weight;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-utils.h;\"gboolean pango_parse_weight (const char *str, PangoWeight *weight, gboolean warn);\";function pango_parse_weight(str, weight, warn) bind(c)\r\npango;pango_quantize_line_geometry;PANGO_AVAILABLE_IN_1_12;pango-auto.f90;/usr/include/pango-1.0/pango/pango-utils.h;\"void pango_quantize_line_geometry (int *thickness, int *position);\";subroutine pango_quantize_line_geometry(thickness, position) bind(c)\r\npango;pango_read_line;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-utils.h;\"gint pango_read_line (FILE *stream, GString *str);\";function pango_read_line(stream, str) bind(c)\r\npango;pango_render_part_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-enum-types.h;\"GType pango_render_part_get_type (void) ;\";function pango_render_part_get_type() bind(c)\r\npango;pango_renderer_activate;PANGO_AVAILABLE_IN_1_8;pango-auto.f90;/usr/include/pango-1.0/pango/pango-renderer.h;\"void pango_renderer_activate (PangoRenderer *renderer);\";subroutine pango_renderer_activate(renderer) bind(c)\r\npango;pango_renderer_deactivate;PANGO_AVAILABLE_IN_1_8;pango-auto.f90;/usr/include/pango-1.0/pango/pango-renderer.h;\"void pango_renderer_deactivate (PangoRenderer *renderer);\";subroutine pango_renderer_deactivate(renderer) bind(c)\r\npango;pango_renderer_draw_error_underline;PANGO_AVAILABLE_IN_1_8;pango-auto.f90;/usr/include/pango-1.0/pango/pango-renderer.h;\"void pango_renderer_draw_error_underline (PangoRenderer *renderer, int x, int y, int width, int height);\";subroutine pango_renderer_draw_error_underline(renderer, x, y, width, height) bind(c)\r\npango;pango_renderer_draw_glyph;PANGO_AVAILABLE_IN_1_8;pango-auto.f90;/usr/include/pango-1.0/pango/pango-renderer.h;\"void pango_renderer_draw_glyph (PangoRenderer *renderer, PangoFont *font, PangoGlyph glyph, double x, double y);\";subroutine pango_renderer_draw_glyph(renderer, font, glyph, x, y) bind(c)\r\npango;pango_renderer_draw_glyph_item;PANGO_AVAILABLE_IN_1_22;pango-auto.f90;/usr/include/pango-1.0/pango/pango-renderer.h;\"void pango_renderer_draw_glyph_item (PangoRenderer *renderer, const char *text, PangoGlyphItem *glyph_item, int x, int y);\";subroutine pango_renderer_draw_glyph_item(renderer, text, glyph_item, x, y) bind(c)\r\npango;pango_renderer_draw_glyphs;PANGO_AVAILABLE_IN_1_8;pango-auto.f90;/usr/include/pango-1.0/pango/pango-renderer.h;\"void pango_renderer_draw_glyphs (PangoRenderer *renderer, PangoFont *font, PangoGlyphString *glyphs, int x, int y);\";subroutine pango_renderer_draw_glyphs(renderer, font, glyphs, x, y) bind(c)\r\npango;pango_renderer_draw_layout;PANGO_AVAILABLE_IN_1_8;pango-auto.f90;/usr/include/pango-1.0/pango/pango-renderer.h;\"void pango_renderer_draw_layout (PangoRenderer *renderer, PangoLayout *layout, int x, int y);\";subroutine pango_renderer_draw_layout(renderer, layout, x, y) bind(c)\r\npango;pango_renderer_draw_layout_line;PANGO_AVAILABLE_IN_1_8;pango-auto.f90;/usr/include/pango-1.0/pango/pango-renderer.h;\"void pango_renderer_draw_layout_line (PangoRenderer *renderer, PangoLayoutLine *line, int x, int y);\";subroutine pango_renderer_draw_layout_line(renderer, line, x, y) bind(c)\r\npango;pango_renderer_draw_rectangle;PANGO_AVAILABLE_IN_1_8;pango-auto.f90;/usr/include/pango-1.0/pango/pango-renderer.h;\"void pango_renderer_draw_rectangle (PangoRenderer *renderer, PangoRenderPart part, int x, int y, int width, int height);\";subroutine pango_renderer_draw_rectangle(renderer, part, x, y, width, height) bind(c)\r\npango;pango_renderer_draw_trapezoid;PANGO_AVAILABLE_IN_1_8;pango-auto.f90;/usr/include/pango-1.0/pango/pango-renderer.h;\"void pango_renderer_draw_trapezoid (PangoRenderer *renderer, PangoRenderPart part, double y1_, double x11, double x21, double y2, double x12, double x22);\";subroutine pango_renderer_draw_trapezoid(renderer, part, y1_, x11, x21, y2, x12, x22) bind(c)\r\npango;pango_renderer_get_alpha;PANGO_AVAILABLE_IN_1_38;pango-auto.f90;/usr/include/pango-1.0/pango/pango-renderer.h;\"guint16 pango_renderer_get_alpha (PangoRenderer *renderer, PangoRenderPart part);\";function pango_renderer_get_alpha(renderer, part) bind(c)\r\npango;pango_renderer_get_color;PANGO_AVAILABLE_IN_1_8;pango-auto.f90;/usr/include/pango-1.0/pango/pango-renderer.h;\"PangoColor *pango_renderer_get_color (PangoRenderer *renderer, PangoRenderPart part);\";function pango_renderer_get_color(renderer, part) bind(c)\r\npango;pango_renderer_get_layout;PANGO_AVAILABLE_IN_1_20;pango-auto.f90;/usr/include/pango-1.0/pango/pango-renderer.h;\"PangoLayout *pango_renderer_get_layout (PangoRenderer *renderer);\";function pango_renderer_get_layout(renderer) bind(c)\r\npango;pango_renderer_get_layout_line;PANGO_AVAILABLE_IN_1_20;pango-auto.f90;/usr/include/pango-1.0/pango/pango-renderer.h;\"PangoLayoutLine *pango_renderer_get_layout_line (PangoRenderer *renderer);\";function pango_renderer_get_layout_line(renderer) bind(c)\r\npango;pango_renderer_get_matrix;PANGO_AVAILABLE_IN_1_8;pango-auto.f90;/usr/include/pango-1.0/pango/pango-renderer.h;\"const PangoMatrix *pango_renderer_get_matrix (PangoRenderer *renderer);\";function pango_renderer_get_matrix(renderer) bind(c)\r\npango;pango_renderer_get_type;PANGO_AVAILABLE_IN_1_8;pango-auto.f90;/usr/include/pango-1.0/pango/pango-renderer.h;\"GType pango_renderer_get_type (void) ;\";function pango_renderer_get_type() bind(c)\r\npango;pango_renderer_part_changed;PANGO_AVAILABLE_IN_1_8;pango-auto.f90;/usr/include/pango-1.0/pango/pango-renderer.h;\"void pango_renderer_part_changed (PangoRenderer *renderer, PangoRenderPart part);\";subroutine pango_renderer_part_changed(renderer, part) bind(c)\r\npango;pango_renderer_set_alpha;PANGO_AVAILABLE_IN_1_38;pango-auto.f90;/usr/include/pango-1.0/pango/pango-renderer.h;\"void pango_renderer_set_alpha (PangoRenderer *renderer, PangoRenderPart part, guint16 alpha);\";subroutine pango_renderer_set_alpha(renderer, part, alpha) bind(c)\r\npango;pango_renderer_set_color;PANGO_AVAILABLE_IN_1_8;pango-auto.f90;/usr/include/pango-1.0/pango/pango-renderer.h;\"void pango_renderer_set_color (PangoRenderer *renderer, PangoRenderPart part, const PangoColor *color);\";subroutine pango_renderer_set_color(renderer, part, color) bind(c)\r\npango;pango_renderer_set_matrix;PANGO_AVAILABLE_IN_1_8;pango-auto.f90;/usr/include/pango-1.0/pango/pango-renderer.h;\"void pango_renderer_set_matrix (PangoRenderer *renderer, const PangoMatrix *matrix);\";subroutine pango_renderer_set_matrix(renderer, matrix) bind(c)\r\npango;pango_reorder_items;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-item.h;\"GList * pango_reorder_items (GList *items);\";function pango_reorder_items(items) bind(c)\r\npango;pango_scan_int;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-utils.h;\"gboolean pango_scan_int (const char **pos, int *out);\";function pango_scan_int(pos, out) bind(c)\r\npango;pango_scan_string;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-utils.h;\"gboolean pango_scan_string (const char **pos, GString *out);\";function pango_scan_string(pos, out) bind(c)\r\npango;pango_scan_word;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-utils.h;\"gboolean pango_scan_word (const char **pos, GString *out);\";function pango_scan_word(pos, out) bind(c)\r\npango;pango_script_for_unichar;PANGO_DEPRECATED_IN_1_44_FOR(g_unichar_get_script);pango-auto.f90;/usr/include/pango-1.0/pango/pango-script.h;\"PangoScript pango_script_for_unichar (gunichar ch) ;\";function pango_script_for_unichar(ch) bind(c)\r\npango;pango_script_get_sample_language;PANGO_AVAILABLE_IN_1_4;pango-auto.f90;/usr/include/pango-1.0/pango/pango-script.h;\"PangoLanguage *pango_script_get_sample_language (PangoScript script) ;\";function pango_script_get_sample_language(script) bind(c)\r\npango;pango_script_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-enum-types.h;\"GType pango_script_get_type (void) ;\";function pango_script_get_type() bind(c)\r\npango;pango_script_iter_free;PANGO_AVAILABLE_IN_1_4;pango-auto.f90;/usr/include/pango-1.0/pango/pango-script.h;\"void pango_script_iter_free (PangoScriptIter *iter);\";subroutine pango_script_iter_free(iter) bind(c)\r\npango;pango_script_iter_get_range;PANGO_AVAILABLE_IN_1_4;pango-auto.f90;/usr/include/pango-1.0/pango/pango-script.h;\"void pango_script_iter_get_range (PangoScriptIter *iter, const char **start, const char **end, PangoScript *script);\";subroutine pango_script_iter_get_range(iter, start, end, script) bind(c)\r\npango;pango_script_iter_get_type;PANGO_AVAILABLE_IN_1_44;pango-auto.f90;/usr/include/pango-1.0/pango/pango-script.h;\"GType pango_script_iter_get_type (void) ;\";function pango_script_iter_get_type() bind(c)\r\npango;pango_script_iter_new;PANGO_AVAILABLE_IN_1_4;pango-auto.f90;/usr/include/pango-1.0/pango/pango-script.h;\"PangoScriptIter *pango_script_iter_new (const char *text, int length);\";function pango_script_iter_new(text, length) bind(c)\r\npango;pango_script_iter_next;PANGO_AVAILABLE_IN_1_4;pango-auto.f90;/usr/include/pango-1.0/pango/pango-script.h;\"gboolean pango_script_iter_next (PangoScriptIter *iter);\";function pango_script_iter_next(iter) bind(c)\r\npango;pango_shape;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-glyph.h;\"void pango_shape (const char *text, int length, const PangoAnalysis *analysis, PangoGlyphString *glyphs);\";subroutine pango_shape(text, length, analysis, glyphs) bind(c)\r\npango;pango_shape_flags_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-enum-types.h;\"GType pango_shape_flags_get_type (void) ;\";function pango_shape_flags_get_type() bind(c)\r\npango;pango_shape_full;PANGO_AVAILABLE_IN_1_32;pango-auto.f90;/usr/include/pango-1.0/pango/pango-glyph.h;\"void pango_shape_full (const char *item_text, int item_length, const char *paragraph_text, int paragraph_length, const PangoAnalysis *analysis, PangoGlyphString *glyphs);\";subroutine pango_shape_full(item_text, item_length, paragraph_text, paragraph_length, analysis, glyphs) bind(c)\r\npango;pango_shape_item;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-glyph.h;\"void pango_shape_item (PangoItem *item, const char *paragraph_text, int paragraph_length, PangoLogAttr *log_attrs, PangoGlyphString *glyphs, PangoShapeFlags flags);\";subroutine pango_shape_item(item, paragraph_text, paragraph_length, log_attrs, glyphs, flags) bind(c)\r\npango;pango_shape_with_flags;PANGO_AVAILABLE_IN_1_44;pango-auto.f90;/usr/include/pango-1.0/pango/pango-glyph.h;\"void pango_shape_with_flags (const char *item_text, int item_length, const char *paragraph_text, int paragraph_length, const PangoAnalysis *analysis, PangoGlyphString *glyphs, PangoShapeFlags flags);\";subroutine pango_shape_with_flags(item_text, item_length, paragraph_text, paragraph_length, analysis, glyphs, flags) bind(c)\r\npango;pango_show_flags_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-enum-types.h;\"GType pango_show_flags_get_type (void) ;\";function pango_show_flags_get_type() bind(c)\r\npango;pango_skip_space;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-utils.h;\"gboolean pango_skip_space (const char **pos);\";function pango_skip_space(pos) bind(c)\r\npango;pango_split_file_list;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-utils.h;\"char ** pango_split_file_list (const char *str);\";function pango_split_file_list(str) bind(c)\r\npango;pango_stretch_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-enum-types.h;\"GType pango_stretch_get_type (void) ;\";function pango_stretch_get_type() bind(c)\r\npango;pango_style_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-enum-types.h;\"GType pango_style_get_type (void) ;\";function pango_style_get_type() bind(c)\r\npango;pango_tab_align_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-enum-types.h;\"GType pango_tab_align_get_type (void) ;\";function pango_tab_align_get_type() bind(c)\r\npango;pango_tab_array_copy;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-tabs.h;\"PangoTabArray *pango_tab_array_copy (PangoTabArray *src);\";function pango_tab_array_copy(src) bind(c)\r\npango;pango_tab_array_free;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-tabs.h;\"void pango_tab_array_free (PangoTabArray *tab_array);\";subroutine pango_tab_array_free(tab_array) bind(c)\r\npango;pango_tab_array_from_string;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-tabs.h;\"PangoTabArray * pango_tab_array_from_string (const char *text);\";function pango_tab_array_from_string(text) bind(c)\r\npango;pango_tab_array_get_decimal_point;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-tabs.h;\"gunichar pango_tab_array_get_decimal_point (PangoTabArray *tab_array, int tab_index);\";function pango_tab_array_get_decimal_point(tab_array, tab_index) bind(c)\r\npango;pango_tab_array_get_positions_in_pixels;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-tabs.h;\"gboolean pango_tab_array_get_positions_in_pixels (PangoTabArray *tab_array);\";function pango_tab_array_get_positions_in_pixels(tab_array) bind(c)\r\npango;pango_tab_array_get_size;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-tabs.h;\"gint pango_tab_array_get_size (PangoTabArray *tab_array);\";function pango_tab_array_get_size(tab_array) bind(c)\r\npango;pango_tab_array_get_tab;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-tabs.h;\"void pango_tab_array_get_tab (PangoTabArray *tab_array, gint tab_index, PangoTabAlign *alignment, gint *location);\";subroutine pango_tab_array_get_tab(tab_array, tab_index, alignment, location) bind(c)\r\npango;pango_tab_array_get_tabs;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-tabs.h;\"void pango_tab_array_get_tabs (PangoTabArray *tab_array, PangoTabAlign **alignments, gint **locations);\";subroutine pango_tab_array_get_tabs(tab_array, alignments, locations) bind(c)\r\npango;pango_tab_array_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-tabs.h;\"GType pango_tab_array_get_type (void) ;\";function pango_tab_array_get_type() bind(c)\r\npango;pango_tab_array_new;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-tabs.h;\"PangoTabArray *pango_tab_array_new (gint initial_size, gboolean positions_in_pixels);\";function pango_tab_array_new(initial_size, positions_in_pixels) bind(c)\r\npango;pango_tab_array_resize;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-tabs.h;\"void pango_tab_array_resize (PangoTabArray *tab_array, gint new_size);\";subroutine pango_tab_array_resize(tab_array, new_size) bind(c)\r\npango;pango_tab_array_set_decimal_point;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-tabs.h;\"void pango_tab_array_set_decimal_point (PangoTabArray *tab_array, int tab_index, gunichar decimal_point);\";subroutine pango_tab_array_set_decimal_point(tab_array, tab_index, decimal_point) bind(c)\r\npango;pango_tab_array_set_positions_in_pixels;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-tabs.h;\"void pango_tab_array_set_positions_in_pixels (PangoTabArray *tab_array, gboolean positions_in_pixels);\";subroutine pango_tab_array_set_positions_in_pixels(tab_array, positions_in_pixels) bind(c)\r\npango;pango_tab_array_set_tab;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-tabs.h;\"void pango_tab_array_set_tab (PangoTabArray *tab_array, gint tab_index, PangoTabAlign alignment, gint location);\";subroutine pango_tab_array_set_tab(tab_array, tab_index, alignment, location) bind(c)\r\npango;pango_tab_array_sort;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-tabs.h;\"void pango_tab_array_sort (PangoTabArray *tab_array);\";subroutine pango_tab_array_sort(tab_array) bind(c)\r\npango;pango_tab_array_to_string;PANGO_AVAILABLE_IN_1_50;pango-auto.f90;/usr/include/pango-1.0/pango/pango-tabs.h;\"char * pango_tab_array_to_string (PangoTabArray *tab_array);\";function pango_tab_array_to_string(tab_array) bind(c)\r\npango;pango_tailor_break;PANGO_AVAILABLE_IN_1_44;pango-auto.f90;/usr/include/pango-1.0/pango/pango-break.h;\"void pango_tailor_break (const char *text, int length, PangoAnalysis *analysis, int offset, PangoLogAttr *attrs, int attrs_len);\";subroutine pango_tailor_break(text, length, analysis, offset, attrs, attrs_len) bind(c)\r\npango;pango_text_transform_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-enum-types.h;\"GType pango_text_transform_get_type (void) ;\";function pango_text_transform_get_type() bind(c)\r\npango;pango_trim_string;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pango-utils.h;\"char *pango_trim_string (const char *str);\";function pango_trim_string(str) bind(c)\r\npango;pango_underline_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-enum-types.h;\"GType pango_underline_get_type (void) ;\";function pango_underline_get_type() bind(c)\r\npango;pango_unichar_direction;PANGO_DEPRECATED_IN_1_44;pango-auto.f90;/usr/include/pango-1.0/pango/pango-bidi-type.h;\"PangoDirection pango_unichar_direction (gunichar ch) ;\";function pango_unichar_direction(ch) bind(c)\r\npango;pango_units_from_double;PANGO_AVAILABLE_IN_1_16;pango-auto.f90;/usr/include/pango-1.0/pango/pango-types.h;\"int pango_units_from_double (double d) ;\";function pango_units_from_double(d) bind(c)\r\npango;pango_units_to_double;PANGO_AVAILABLE_IN_1_16;pango-auto.f90;/usr/include/pango-1.0/pango/pango-types.h;\"double pango_units_to_double (int i) ;\";function pango_units_to_double(i) bind(c)\r\npango;pango_variant_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-enum-types.h;\"GType pango_variant_get_type (void) ;\";function pango_variant_get_type() bind(c)\r\npango;pango_version;PANGO_AVAILABLE_IN_1_16;pango-auto.f90;/usr/include/pango-1.0/pango/pango-utils.h;\"int pango_version (void) ;\";function pango_version() bind(c)\r\npango;pango_version_check;PANGO_AVAILABLE_IN_1_16;pango-auto.f90;/usr/include/pango-1.0/pango/pango-utils.h;\"const char * pango_version_check (int required_major, int required_minor, int required_micro) ;\";function pango_version_check(required_major, required_minor, required_micro) bind(c)\r\npango;pango_version_string;PANGO_AVAILABLE_IN_1_16;pango-auto.f90;/usr/include/pango-1.0/pango/pango-utils.h;\"const char * pango_version_string (void) ;\";function pango_version_string() bind(c)\r\npango;pango_weight_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-enum-types.h;\"GType pango_weight_get_type (void) ;\";function pango_weight_get_type() bind(c)\r\npango;pango_wrap_mode_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pango-enum-types.h;\"GType pango_wrap_mode_get_type (void) ;\";function pango_wrap_mode_get_type() bind(c)\r\npango;pango_xft_font_get_display;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pangoxft.h;\"Display * pango_xft_font_get_display (PangoFont *font);\";function pango_xft_font_get_display(font) bind(c)\r\npango;pango_xft_font_get_font;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pangoxft.h;\"XftFont * pango_xft_font_get_font (PangoFont *font);\";function pango_xft_font_get_font(font) bind(c)\r\npango;pango_xft_font_get_glyph;PANGO_DEPRECATED_FOR(pango_fc_font_get_glyph);pango-auto.f90;/usr/include/pango-1.0/pango/pangoxft.h;\"guint pango_xft_font_get_glyph (PangoFont *font, gunichar wc);\";function pango_xft_font_get_glyph(font, wc) bind(c)\r\npango;pango_xft_font_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pangoxft.h;\"GType pango_xft_font_get_type (void) ;\";function pango_xft_font_get_type() bind(c)\r\npango;pango_xft_font_get_unknown_glyph;PANGO_DEPRECATED_FOR(PANGO_GET_UNKNOWN_GLYPH);pango-auto.f90;/usr/include/pango-1.0/pango/pangoxft.h;\"PangoGlyph pango_xft_font_get_unknown_glyph (PangoFont *font, gunichar wc);\";function pango_xft_font_get_unknown_glyph(font, wc) bind(c)\r\npango;pango_xft_font_has_char;PANGO_DEPRECATED_FOR(pango_fc_font_has_char);pango-auto.f90;/usr/include/pango-1.0/pango/pangoxft.h;\"gboolean pango_xft_font_has_char (PangoFont *font, gunichar wc);\";function pango_xft_font_has_char(font, wc) bind(c)\r\npango;pango_xft_font_lock_face;PANGO_DEPRECATED_FOR(pango_fc_font_lock_face);pango-auto.f90;/usr/include/pango-1.0/pango/pangoxft.h;\"FT_Face pango_xft_font_lock_face (PangoFont *font);\";function pango_xft_font_lock_face(font) bind(c)\r\npango;pango_xft_font_map_get_type;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pangoxft.h;\"GType pango_xft_font_map_get_type (void) ;\";function pango_xft_font_map_get_type() bind(c)\r\npango;pango_xft_font_unlock_face;PANGO_DEPRECATED_FOR(pango_fc_font_unlock_face);pango-auto.f90;/usr/include/pango-1.0/pango/pangoxft.h;\"void pango_xft_font_unlock_face (PangoFont *font);\";subroutine pango_xft_font_unlock_face(font) bind(c)\r\npango;pango_xft_get_context;PANGO_DEPRECATED;pango-auto.f90;/usr/include/pango-1.0/pango/pangoxft.h;\"PangoContext *pango_xft_get_context (Display *display, int screen);\";function pango_xft_get_context(display, screen) bind(c)\r\npango;pango_xft_get_font_map;PANGO_AVAILABLE_IN_1_2;pango-auto.f90;/usr/include/pango-1.0/pango/pangoxft.h;\"PangoFontMap *pango_xft_get_font_map (Display *display, int screen);\";function pango_xft_get_font_map(display, screen) bind(c)\r\npango;pango_xft_picture_render;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pangoxft-render.h;\"void pango_xft_picture_render (Display *display, Picture src_picture, Picture dest_picture, PangoFont *font, PangoGlyphString *glyphs, gint x, gint y);\";subroutine pango_xft_picture_render(display, src_picture, dest_picture, font, glyphs, x, y) bind(c)\r\npango;pango_xft_render;PANGO_AVAILABLE_IN_ALL;pango-auto.f90;/usr/include/pango-1.0/pango/pangoxft-render.h;\"void pango_xft_render (XftDraw *draw, XftColor *color, PangoFont *font, PangoGlyphString *glyphs, gint x, gint y);\";subroutine pango_xft_render(draw, color, font, glyphs, x, y) bind(c)\r\npango;pango_xft_render_layout;PANGO_AVAILABLE_IN_1_8;pango-auto.f90;/usr/include/pango-1.0/pango/pangoxft-render.h;\"void pango_xft_render_layout (XftDraw *draw, XftColor *color, PangoLayout *layout, int x, int y);\";subroutine pango_xft_render_layout(draw, color, layout, x, y) bind(c)\r\npango;pango_xft_render_layout_line;PANGO_AVAILABLE_IN_1_8;pango-auto.f90;/usr/include/pango-1.0/pango/pangoxft-render.h;\"void pango_xft_render_layout_line (XftDraw *draw, XftColor *color, PangoLayoutLine *line, int x, int y);\";subroutine pango_xft_render_layout_line(draw, color, line, x, y) bind(c)\r\npango;pango_xft_render_transformed;PANGO_AVAILABLE_IN_1_8;pango-auto.f90;/usr/include/pango-1.0/pango/pangoxft-render.h;\"void pango_xft_render_transformed (XftDraw *draw, XftColor *color, PangoMatrix *matrix, PangoFont *font, PangoGlyphString *glyphs, int x, int y);\";subroutine pango_xft_render_transformed(draw, color, matrix, font, glyphs, x, y) bind(c)\r\npango;pango_xft_renderer_get_type;PANGO_AVAILABLE_IN_1_8;pango-auto.f90;/usr/include/pango-1.0/pango/pangoxft-render.h;\"GType pango_xft_renderer_get_type (void) ;\";function pango_xft_renderer_get_type() bind(c)\r\npango;pango_xft_renderer_new;PANGO_AVAILABLE_IN_1_8;pango-auto.f90;/usr/include/pango-1.0/pango/pangoxft-render.h;\"PangoRenderer *pango_xft_renderer_new (Display *display, int screen);\";function pango_xft_renderer_new(display, screen) bind(c)\r\npango;pango_xft_renderer_set_default_color;PANGO_AVAILABLE_IN_1_8;pango-auto.f90;/usr/include/pango-1.0/pango/pangoxft-render.h;\"void pango_xft_renderer_set_default_color (PangoXftRenderer *xftrenderer, PangoColor *default_color);\";subroutine pango_xft_renderer_set_default_color(xftrenderer, default_color) bind(c)\r\npango;pango_xft_renderer_set_draw;PANGO_AVAILABLE_IN_1_8;pango-auto.f90;/usr/include/pango-1.0/pango/pangoxft-render.h;\"void pango_xft_renderer_set_draw (PangoXftRenderer *xftrenderer, XftDraw *draw);\";subroutine pango_xft_renderer_set_draw(xftrenderer, draw) bind(c)\r\npango;pango_xft_set_default_substitute;PANGO_DEPRECATED_IN_1_48_FOR(pango_fc_font_map_set_default_substitute);pango-auto.f90;/usr/include/pango-1.0/pango/pangoxft.h;\"void pango_xft_set_default_substitute (Display *display, int screen, PangoXftSubstituteFunc func, gpointer data, GDestroyNotify notify);\";subroutine pango_xft_set_default_substitute(display, screen, func, data, notify) bind(c)\r\npango;pango_xft_shutdown_display;PANGO_AVAILABLE_IN_1_2;pango-auto.f90;/usr/include/pango-1.0/pango/pangoxft.h;\"void pango_xft_shutdown_display (Display *display, int screen);\";subroutine pango_xft_shutdown_display(display, screen) bind(c)\r\npango;pango_xft_substitute_changed;PANGO_DEPRECATED_IN_1_48_FOR(pango_fc_font_map_substitute_changed);pango-auto.f90;/usr/include/pango-1.0/pango/pangoxft.h;\"void pango_xft_substitute_changed (Display *display, int screen);\";subroutine pango_xft_substitute_changed(display, screen) bind(c)\r\npango;script_engine_create;PANGO_DEPRECATED_IN_1_38;pango-auto.f90;/usr/include/pango-1.0/pango/pango-engine.h;\"PangoEngine *script_engine_create (const char *id);\";function script_engine_create(id) bind(c)\r\npango;script_engine_exit;PANGO_DEPRECATED_IN_1_38;pango-auto.f90;/usr/include/pango-1.0/pango/pango-engine.h;\"void script_engine_exit (void);\";subroutine script_engine_exit() bind(c)\r\npango;script_engine_init;PANGO_DEPRECATED_IN_1_38;pango-auto.f90;/usr/include/pango-1.0/pango/pango-engine.h;\"void script_engine_init (GTypeModule *module);\";subroutine script_engine_init(module) bind(c)\r\npango;script_engine_list;PANGO_DEPRECATED_IN_1_38;pango-auto.f90;/usr/include/pango-1.0/pango/pango-engine.h;\"void script_engine_list (PangoEngineInfo **engines, int *n_engines);\";subroutine script_engine_list(engines, n_engines) bind(c)\r\nunix_print;gtk_enumerate_printers;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprinter.h;\"void gtk_enumerate_printers (GtkPrinterFunc func, gpointer data, GDestroyNotify destroy, gboolean wait);\";subroutine gtk_enumerate_printers(func, data, destroy, wait) bind(c)\r\nunix_print;gtk_page_setup_unix_dialog_get_page_setup;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkpagesetupunixdialog.h;\"GtkPageSetup * gtk_page_setup_unix_dialog_get_page_setup (GtkPageSetupUnixDialog *dialog);\";function gtk_page_setup_unix_dialog_get_page_setup(dialog) bind(c)\r\nunix_print;gtk_page_setup_unix_dialog_get_print_settings;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkpagesetupunixdialog.h;\"GtkPrintSettings *gtk_page_setup_unix_dialog_get_print_settings (GtkPageSetupUnixDialog *dialog);\";function gtk_page_setup_unix_dialog_get_print_settings(dialog) bind(c)\r\nunix_print;gtk_page_setup_unix_dialog_get_type;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkpagesetupunixdialog.h;\"GType gtk_page_setup_unix_dialog_get_type (void) ;\";function gtk_page_setup_unix_dialog_get_type() bind(c)\r\nunix_print;gtk_page_setup_unix_dialog_new;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkpagesetupunixdialog.h;\"GtkWidget * gtk_page_setup_unix_dialog_new (const char *title, GtkWindow *parent);\";function gtk_page_setup_unix_dialog_new(title, parent) bind(c)\r\nunix_print;gtk_page_setup_unix_dialog_set_page_setup;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkpagesetupunixdialog.h;\"void gtk_page_setup_unix_dialog_set_page_setup (GtkPageSetupUnixDialog *dialog, GtkPageSetup *page_setup);\";subroutine gtk_page_setup_unix_dialog_set_page_setup(dialog, page_setup) bind(c)\r\nunix_print;gtk_page_setup_unix_dialog_set_print_settings;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkpagesetupunixdialog.h;\"void gtk_page_setup_unix_dialog_set_print_settings (GtkPageSetupUnixDialog *dialog, GtkPrintSettings *print_settings);\";subroutine gtk_page_setup_unix_dialog_set_print_settings(dialog, print_settings) bind(c)\r\nunix_print;gtk_print_capabilities_get_type;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprinter.h;\"GType gtk_print_capabilities_get_type (void) ;\";function gtk_print_capabilities_get_type() bind(c)\r\nunix_print;gtk_print_job_get_collate;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintjob.h;\"gboolean gtk_print_job_get_collate (GtkPrintJob *job);\";function gtk_print_job_get_collate(job) bind(c)\r\nunix_print;gtk_print_job_get_n_up;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintjob.h;\"guint gtk_print_job_get_n_up (GtkPrintJob *job);\";function gtk_print_job_get_n_up(job) bind(c)\r\nunix_print;gtk_print_job_get_n_up_layout;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintjob.h;\"GtkNumberUpLayout gtk_print_job_get_n_up_layout (GtkPrintJob *job);\";function gtk_print_job_get_n_up_layout(job) bind(c)\r\nunix_print;gtk_print_job_get_num_copies;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintjob.h;\"int gtk_print_job_get_num_copies (GtkPrintJob *job);\";function gtk_print_job_get_num_copies(job) bind(c)\r\nunix_print;gtk_print_job_get_page_ranges;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintjob.h;\"GtkPageRange * gtk_print_job_get_page_ranges (GtkPrintJob *job, int *n_ranges);\";function gtk_print_job_get_page_ranges(job, n_ranges) bind(c)\r\nunix_print;gtk_print_job_get_page_set;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintjob.h;\"GtkPageSet gtk_print_job_get_page_set (GtkPrintJob *job);\";function gtk_print_job_get_page_set(job) bind(c)\r\nunix_print;gtk_print_job_get_pages;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintjob.h;\"GtkPrintPages gtk_print_job_get_pages (GtkPrintJob *job);\";function gtk_print_job_get_pages(job) bind(c)\r\nunix_print;gtk_print_job_get_printer;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintjob.h;\"GtkPrinter *gtk_print_job_get_printer (GtkPrintJob *job);\";function gtk_print_job_get_printer(job) bind(c)\r\nunix_print;gtk_print_job_get_reverse;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintjob.h;\"gboolean gtk_print_job_get_reverse (GtkPrintJob *job);\";function gtk_print_job_get_reverse(job) bind(c)\r\nunix_print;gtk_print_job_get_rotate;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintjob.h;\"gboolean gtk_print_job_get_rotate (GtkPrintJob *job);\";function gtk_print_job_get_rotate(job) bind(c)\r\nunix_print;gtk_print_job_get_scale;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintjob.h;\"double gtk_print_job_get_scale (GtkPrintJob *job);\";function gtk_print_job_get_scale(job) bind(c)\r\nunix_print;gtk_print_job_get_settings;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintjob.h;\"GtkPrintSettings *gtk_print_job_get_settings (GtkPrintJob *job);\";function gtk_print_job_get_settings(job) bind(c)\r\nunix_print;gtk_print_job_get_status;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintjob.h;\"GtkPrintStatus gtk_print_job_get_status (GtkPrintJob *job);\";function gtk_print_job_get_status(job) bind(c)\r\nunix_print;gtk_print_job_get_surface;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintjob.h;\"cairo_surface_t *gtk_print_job_get_surface (GtkPrintJob *job, GError **error);\";function gtk_print_job_get_surface(job, error) bind(c)\r\nunix_print;gtk_print_job_get_title;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintjob.h;\"const char * gtk_print_job_get_title (GtkPrintJob *job);\";function gtk_print_job_get_title(job) bind(c)\r\nunix_print;gtk_print_job_get_track_print_status;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintjob.h;\"gboolean gtk_print_job_get_track_print_status (GtkPrintJob *job);\";function gtk_print_job_get_track_print_status(job) bind(c)\r\nunix_print;gtk_print_job_get_type;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintjob.h;\"GType gtk_print_job_get_type (void) ;\";function gtk_print_job_get_type() bind(c)\r\nunix_print;gtk_print_job_new;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintjob.h;\"GtkPrintJob *gtk_print_job_new (const char *title, GtkPrinter *printer, GtkPrintSettings *settings, GtkPageSetup *page_setup);\";function gtk_print_job_new(title, printer, settings, page_setup) bind(c)\r\nunix_print;gtk_print_job_send;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintjob.h;\"void gtk_print_job_send (GtkPrintJob *job, GtkPrintJobCompleteFunc callback, gpointer user_data, GDestroyNotify dnotify);\";subroutine gtk_print_job_send(job, callback, user_data, dnotify) bind(c)\r\nunix_print;gtk_print_job_set_collate;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintjob.h;\"void gtk_print_job_set_collate (GtkPrintJob *job, gboolean collate);\";subroutine gtk_print_job_set_collate(job, collate) bind(c)\r\nunix_print;gtk_print_job_set_n_up;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintjob.h;\"void gtk_print_job_set_n_up (GtkPrintJob *job, guint n_up);\";subroutine gtk_print_job_set_n_up(job, n_up) bind(c)\r\nunix_print;gtk_print_job_set_n_up_layout;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintjob.h;\"void gtk_print_job_set_n_up_layout (GtkPrintJob *job, GtkNumberUpLayout layout);\";subroutine gtk_print_job_set_n_up_layout(job, layout) bind(c)\r\nunix_print;gtk_print_job_set_num_copies;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintjob.h;\"void gtk_print_job_set_num_copies (GtkPrintJob *job, int num_copies);\";subroutine gtk_print_job_set_num_copies(job, num_copies) bind(c)\r\nunix_print;gtk_print_job_set_page_ranges;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintjob.h;\"void gtk_print_job_set_page_ranges (GtkPrintJob *job, GtkPageRange *ranges, int n_ranges);\";subroutine gtk_print_job_set_page_ranges(job, ranges, n_ranges) bind(c)\r\nunix_print;gtk_print_job_set_page_set;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintjob.h;\"void gtk_print_job_set_page_set (GtkPrintJob *job, GtkPageSet page_set);\";subroutine gtk_print_job_set_page_set(job, page_set) bind(c)\r\nunix_print;gtk_print_job_set_pages;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintjob.h;\"void gtk_print_job_set_pages (GtkPrintJob *job, GtkPrintPages pages);\";subroutine gtk_print_job_set_pages(job, pages) bind(c)\r\nunix_print;gtk_print_job_set_reverse;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintjob.h;\"void gtk_print_job_set_reverse (GtkPrintJob *job, gboolean reverse);\";subroutine gtk_print_job_set_reverse(job, reverse) bind(c)\r\nunix_print;gtk_print_job_set_rotate;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintjob.h;\"void gtk_print_job_set_rotate (GtkPrintJob *job, gboolean rotate);\";subroutine gtk_print_job_set_rotate(job, rotate) bind(c)\r\nunix_print;gtk_print_job_set_scale;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintjob.h;\"void gtk_print_job_set_scale (GtkPrintJob *job, double scale);\";subroutine gtk_print_job_set_scale(job, scale) bind(c)\r\nunix_print;gtk_print_job_set_source_fd;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintjob.h;\"gboolean gtk_print_job_set_source_fd (GtkPrintJob *job, int fd, GError **error);\";function gtk_print_job_set_source_fd(job, fd, error) bind(c)\r\nunix_print;gtk_print_job_set_source_file;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintjob.h;\"gboolean gtk_print_job_set_source_file (GtkPrintJob *job, const char *filename, GError **error);\";function gtk_print_job_set_source_file(job, filename, error) bind(c)\r\nunix_print;gtk_print_job_set_track_print_status;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintjob.h;\"void gtk_print_job_set_track_print_status (GtkPrintJob *job, gboolean track_status);\";subroutine gtk_print_job_set_track_print_status(job, track_status) bind(c)\r\nunix_print;gtk_print_unix_dialog_add_custom_tab;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintunixdialog.h;\"void gtk_print_unix_dialog_add_custom_tab (GtkPrintUnixDialog *dialog, GtkWidget *child, GtkWidget *tab_label);\";subroutine gtk_print_unix_dialog_add_custom_tab(dialog, child, tab_label) bind(c)\r\nunix_print;gtk_print_unix_dialog_get_current_page;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintunixdialog.h;\"int gtk_print_unix_dialog_get_current_page (GtkPrintUnixDialog *dialog);\";function gtk_print_unix_dialog_get_current_page(dialog) bind(c)\r\nunix_print;gtk_print_unix_dialog_get_embed_page_setup;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintunixdialog.h;\"gboolean gtk_print_unix_dialog_get_embed_page_setup (GtkPrintUnixDialog *dialog);\";function gtk_print_unix_dialog_get_embed_page_setup(dialog) bind(c)\r\nunix_print;gtk_print_unix_dialog_get_has_selection;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintunixdialog.h;\"gboolean gtk_print_unix_dialog_get_has_selection (GtkPrintUnixDialog *dialog);\";function gtk_print_unix_dialog_get_has_selection(dialog) bind(c)\r\nunix_print;gtk_print_unix_dialog_get_manual_capabilities;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintunixdialog.h;\"GtkPrintCapabilities gtk_print_unix_dialog_get_manual_capabilities (GtkPrintUnixDialog *dialog);\";function gtk_print_unix_dialog_get_manual_capabilities(dialog) bind(c)\r\nunix_print;gtk_print_unix_dialog_get_page_setup;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintunixdialog.h;\"GtkPageSetup * gtk_print_unix_dialog_get_page_setup (GtkPrintUnixDialog *dialog);\";function gtk_print_unix_dialog_get_page_setup(dialog) bind(c)\r\nunix_print;gtk_print_unix_dialog_get_page_setup_set;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintunixdialog.h;\"gboolean gtk_print_unix_dialog_get_page_setup_set (GtkPrintUnixDialog *dialog);\";function gtk_print_unix_dialog_get_page_setup_set(dialog) bind(c)\r\nunix_print;gtk_print_unix_dialog_get_selected_printer;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintunixdialog.h;\"GtkPrinter * gtk_print_unix_dialog_get_selected_printer (GtkPrintUnixDialog *dialog);\";function gtk_print_unix_dialog_get_selected_printer(dialog) bind(c)\r\nunix_print;gtk_print_unix_dialog_get_settings;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintunixdialog.h;\"GtkPrintSettings * gtk_print_unix_dialog_get_settings (GtkPrintUnixDialog *dialog);\";function gtk_print_unix_dialog_get_settings(dialog) bind(c)\r\nunix_print;gtk_print_unix_dialog_get_support_selection;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintunixdialog.h;\"gboolean gtk_print_unix_dialog_get_support_selection (GtkPrintUnixDialog *dialog);\";function gtk_print_unix_dialog_get_support_selection(dialog) bind(c)\r\nunix_print;gtk_print_unix_dialog_get_type;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintunixdialog.h;\"GType gtk_print_unix_dialog_get_type (void) ;\";function gtk_print_unix_dialog_get_type() bind(c)\r\nunix_print;gtk_print_unix_dialog_new;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintunixdialog.h;\"GtkWidget * gtk_print_unix_dialog_new (const char *title, GtkWindow *parent);\";function gtk_print_unix_dialog_new(title, parent) bind(c)\r\nunix_print;gtk_print_unix_dialog_set_current_page;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintunixdialog.h;\"void gtk_print_unix_dialog_set_current_page (GtkPrintUnixDialog *dialog, int current_page);\";subroutine gtk_print_unix_dialog_set_current_page(dialog, current_page) bind(c)\r\nunix_print;gtk_print_unix_dialog_set_embed_page_setup;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintunixdialog.h;\"void gtk_print_unix_dialog_set_embed_page_setup (GtkPrintUnixDialog *dialog, gboolean embed);\";subroutine gtk_print_unix_dialog_set_embed_page_setup(dialog, embed) bind(c)\r\nunix_print;gtk_print_unix_dialog_set_has_selection;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintunixdialog.h;\"void gtk_print_unix_dialog_set_has_selection (GtkPrintUnixDialog *dialog, gboolean has_selection);\";subroutine gtk_print_unix_dialog_set_has_selection(dialog, has_selection) bind(c)\r\nunix_print;gtk_print_unix_dialog_set_manual_capabilities;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintunixdialog.h;\"void gtk_print_unix_dialog_set_manual_capabilities (GtkPrintUnixDialog *dialog, GtkPrintCapabilities capabilities);\";subroutine gtk_print_unix_dialog_set_manual_capabilities(dialog, capabilities) bind(c)\r\nunix_print;gtk_print_unix_dialog_set_page_setup;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintunixdialog.h;\"void gtk_print_unix_dialog_set_page_setup (GtkPrintUnixDialog *dialog, GtkPageSetup *page_setup);\";subroutine gtk_print_unix_dialog_set_page_setup(dialog, page_setup) bind(c)\r\nunix_print;gtk_print_unix_dialog_set_settings;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintunixdialog.h;\"void gtk_print_unix_dialog_set_settings (GtkPrintUnixDialog *dialog, GtkPrintSettings *settings);\";subroutine gtk_print_unix_dialog_set_settings(dialog, settings) bind(c)\r\nunix_print;gtk_print_unix_dialog_set_support_selection;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprintunixdialog.h;\"void gtk_print_unix_dialog_set_support_selection (GtkPrintUnixDialog *dialog, gboolean support_selection);\";subroutine gtk_print_unix_dialog_set_support_selection(dialog, support_selection) bind(c)\r\nunix_print;gtk_printer_accepts_pdf;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprinter.h;\"gboolean gtk_printer_accepts_pdf (GtkPrinter *printer);\";function gtk_printer_accepts_pdf(printer) bind(c)\r\nunix_print;gtk_printer_accepts_ps;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprinter.h;\"gboolean gtk_printer_accepts_ps (GtkPrinter *printer);\";function gtk_printer_accepts_ps(printer) bind(c)\r\nunix_print;gtk_printer_compare;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprinter.h;\"int gtk_printer_compare (GtkPrinter *a, GtkPrinter *b);\";function gtk_printer_compare(a, b) bind(c)\r\nunix_print;gtk_printer_get_backend;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprinter.h;\"GtkPrintBackend *gtk_printer_get_backend (GtkPrinter *printer);\";function gtk_printer_get_backend(printer) bind(c)\r\nunix_print;gtk_printer_get_capabilities;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprinter.h;\"GtkPrintCapabilities gtk_printer_get_capabilities (GtkPrinter *printer);\";function gtk_printer_get_capabilities(printer) bind(c)\r\nunix_print;gtk_printer_get_default_page_size;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprinter.h;\"GtkPageSetup *gtk_printer_get_default_page_size (GtkPrinter *printer);\";function gtk_printer_get_default_page_size(printer) bind(c)\r\nunix_print;gtk_printer_get_description;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprinter.h;\"const char * gtk_printer_get_description (GtkPrinter *printer);\";function gtk_printer_get_description(printer) bind(c)\r\nunix_print;gtk_printer_get_hard_margins;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprinter.h;\"gboolean gtk_printer_get_hard_margins (GtkPrinter *printer, double *top, double *bottom, double *left, double *right);\";function gtk_printer_get_hard_margins(printer, top, bottom, left, right) bind(c)\r\nunix_print;gtk_printer_get_hard_margins_for_paper_size;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprinter.h;\"gboolean gtk_printer_get_hard_margins_for_paper_size (GtkPrinter *printer, GtkPaperSize *paper_size, double *top, double *bottom, double *left, double *right);\";function gtk_printer_get_hard_margins_for_paper_size(printer, paper_size, top, bottom, left, right) bind(c)\r\nunix_print;gtk_printer_get_icon_name;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprinter.h;\"const char * gtk_printer_get_icon_name (GtkPrinter *printer);\";function gtk_printer_get_icon_name(printer) bind(c)\r\nunix_print;gtk_printer_get_job_count;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprinter.h;\"int gtk_printer_get_job_count (GtkPrinter *printer);\";function gtk_printer_get_job_count(printer) bind(c)\r\nunix_print;gtk_printer_get_location;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprinter.h;\"const char * gtk_printer_get_location (GtkPrinter *printer);\";function gtk_printer_get_location(printer) bind(c)\r\nunix_print;gtk_printer_get_name;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprinter.h;\"const char * gtk_printer_get_name (GtkPrinter *printer);\";function gtk_printer_get_name(printer) bind(c)\r\nunix_print;gtk_printer_get_state_message;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprinter.h;\"const char * gtk_printer_get_state_message (GtkPrinter *printer);\";function gtk_printer_get_state_message(printer) bind(c)\r\nunix_print;gtk_printer_get_type;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprinter.h;\"GType gtk_printer_get_type (void) ;\";function gtk_printer_get_type() bind(c)\r\nunix_print;gtk_printer_has_details;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprinter.h;\"gboolean gtk_printer_has_details (GtkPrinter *printer);\";function gtk_printer_has_details(printer) bind(c)\r\nunix_print;gtk_printer_is_accepting_jobs;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprinter.h;\"gboolean gtk_printer_is_accepting_jobs (GtkPrinter *printer);\";function gtk_printer_is_accepting_jobs(printer) bind(c)\r\nunix_print;gtk_printer_is_active;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprinter.h;\"gboolean gtk_printer_is_active (GtkPrinter *printer);\";function gtk_printer_is_active(printer) bind(c)\r\nunix_print;gtk_printer_is_default;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprinter.h;\"gboolean gtk_printer_is_default (GtkPrinter *printer);\";function gtk_printer_is_default(printer) bind(c)\r\nunix_print;gtk_printer_is_paused;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprinter.h;\"gboolean gtk_printer_is_paused (GtkPrinter *printer);\";function gtk_printer_is_paused(printer) bind(c)\r\nunix_print;gtk_printer_is_virtual;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprinter.h;\"gboolean gtk_printer_is_virtual (GtkPrinter *printer);\";function gtk_printer_is_virtual(printer) bind(c)\r\nunix_print;gtk_printer_list_papers;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprinter.h;\"GList *gtk_printer_list_papers (GtkPrinter *printer);\";function gtk_printer_list_papers(printer) bind(c)\r\nunix_print;gtk_printer_new;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprinter.h;\"GtkPrinter *gtk_printer_new (const char *name, GtkPrintBackend *backend, gboolean virtual_);\";function gtk_printer_new(name, backend, virtual_) bind(c)\r\nunix_print;gtk_printer_request_details;GDK_AVAILABLE_IN_ALL;unix-print-auto.f90;/usr/include/gtk-4.0/unix-print/gtk/print/gtkprinter.h;\"void gtk_printer_request_details (GtkPrinter *printer);\";subroutine gtk_printer_request_details(printer) bind(c)\r\n"
  },
  {
    "path": "src/gtk-fortran-modscan.man",
    "content": ".TH \"GTK-FORTRAN-MODSCAN\" \"1\" \"16 August 2012\" \"Function scanner for gtk-fortran\"\n.SH NAME\ngtk-@GTK@-fortran-modscan \\- scan one or more Fortran sources for GTK\nfunctions.\n.SH SYNOPSIS\n.B gtk\\-@GTK@\\-fortran-modscan\n.I [\\-\\-csv=CSVFILE] [\\-\\-enum=ENUMFILE] [\\-\\-out=OUTFILE] [\\-\\-[no]link] [INFILES]\n\n.SH DESCRIPTION\ngtk\\-@GTK@\\-fortran-modscan is a utility to find the GTK (and related\nlibrary) functions used in a Fortran program and generate appropriate\nUSE statements. Using the generated USE statements rather than the\nentire module(s) can produce a manyfold improvement in compilation\ntimes, and also any module files that use GTK will be many times\nsmaller. This version uses the function lists for GTK @GTK@ by\ndefault.\n\n.SH OPTIONS\n.IP \\-\\-csv=CSVFILE\nSpecify a list of functions other than the default.\n.IP \\-\\-enum=ENUMFILE\nSpecify a list of enumeration constants other than the default.\n.IP \\-\\-out=OUTFILE\nSpecify the output file for the generated USE statements (default is\ngtk-modules.txt)\n.IP \\-\\-[no]link\nSpecify whether to scan symbolic links (default is yes). This is only\napplicable when scanning all the files in a directory.\n\n.SH INPUTS\nThe inputs may be either a list of Fortran source files or a single\ndirectory. If no inputs are given then the current directory is\nused. If a directory (including the current) is specified, then only\nthose files that have an ending\n.B .f90, .f95, .f03\nor\n.B .f08\n(case insensitive) will be scanned.\n\n.SH AUTHORS\n\n.PP\nJames Tappin (jtappin at gmail dot com).\n.PP\n\n.SH LICENCE\n\n.PP\ngtk\\-@GTK@\\-fortran-modscan is free software and may be modified and\nredistributed under the terms of the GNU General Public Licence Version\n3.\n"
  },
  {
    "path": "src/gtk-fortran.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2021 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!------------------------------------------------------------------------------\n! The gtk-?-fortran command prints information about gtk-fortran.\n! Contributors: Vincent Magnin 2021-01-29\n! Last modifications: 2023-02-02\n!------------------------------------------------------------------------------\n\nmodule handlers_gtk_fortran\n  use, intrinsic :: iso_c_binding\n  use, intrinsic :: iso_fortran_env, only: compiler_version\n  use gtk, only: gtk_get_major_version, gtk_get_minor_version, &\n               & gtk_get_micro_version\n  use gtk_sup, only: c_f_string_copy_alloc\n  use g, only: g_get_prgname, g_get_os_info\n\n  implicit none\n\n  contains\n\n  subroutine activate(app, gdata) bind(c)\n    type(c_ptr), value, intent(in)  :: app, gdata\n    character(:), allocatable :: name_string, os_string\n    integer :: suffix_pos\n    type(c_ptr) :: ret\n\n    call c_f_string_copy_alloc(g_get_prgname(), name_string)\n    ! Removing the .exe suffix if the OS is Windows:\n    suffix_pos = index(name_string, \".exe\")\n    if (suffix_pos /= 0) name_string = name_string(1:suffix_pos-1)\n\n    ! That function may return NULL with some OS:\n    ret = g_get_os_info(\"PRETTY_NAME\"//c_null_char)\n    if (c_associated(ret)) then\n      call c_f_string_copy_alloc(ret, os_string)\n    else\n      os_string = \"?\"\n    end if\n\n    print '(2A)', name_string, \" (GTK @GTK_SEMANTIC_VERSION@ and GLib @GLIB_SEMANTIC_VERSION@)\"\n    print '(3A,I0,A1,I0,A1,I0)', \"Compiled with \"//compiler_version()//\" on \", os_string, &\n      & \", linked to GTK \", gtk_get_major_version(),\".\", gtk_get_minor_version(), \".\", gtk_get_micro_version()\n\n    print *\n    print '(A)', \"Licensed under GNU GPLv3 or later with the GCC Runtime Library &\n                 &Exception version 3.1\"\n    print '(A)', \"This is free software: you are free to change and redistribute it.\"\n    print '(A)', \"There is NO WARRANTY, to the extent permitted by law.\"\n    print *\n    print '(A)', \"Usage example:\"\n    print '(3A)', \"gfortran my_app.f90 $(pkg-config --cflags --libs \", TRIM(name_string), \")\"\n    print *\n    print '(A)', \"Documentation: https://github.com/vmagnin/gtk-fortran/wiki\"\n    print '(A)', \"Bug reports:   https://github.com/vmagnin/gtk-fortran/issues\"\n  end subroutine activate\nend module handlers_gtk_fortran\n\n\nprogram gtk_fortran\n  use gtk, only: gtk_application_new, g_signal_connect, G_APPLICATION_FLAGS_NONE\n  use g, only: g_application_run, g_object_unref\n  use handlers_gtk_fortran\n\n  implicit none\n  integer(c_int)     :: status\n  type(c_ptr)        :: app\n\n  app = gtk_application_new(\"gtk-fortran.command\"//c_null_char, &\n                            & G_APPLICATION_FLAGS_NONE)\n  call g_signal_connect(app, \"activate\"//c_null_char, c_funloc(activate), &\n                      & c_null_ptr)\n  status = g_application_run(app, 0_c_int, [c_null_ptr])\n  if (status /= 0) print '(A, I0)', \">>> GApplication error: \", status\n\n  call g_object_unref(app)\nend program gtk_fortran\n\n"
  },
  {
    "path": "src/gtk-fortran.pc.in",
    "content": "# The .pc file is generated by the build system which uses the .pc.in file\n# in gtk-fortran/src and replaces the @.*@ strings by their values.\n\n# Variables:\nlibname=@gtkfortranname@\nprefix=@prefix@\nexec_prefix=${prefix}\nlibdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@\nincludedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@/${libname}\n\n# Keywords:\nName: gtk-fortran\nDescription: A GTK / Fortran binding\nURL: https://github.com/vmagnin/gtk-fortran/wiki\nVersion: @version@\nRequires: @gtkname@\nCflags: @linkerflags@ -I${includedir}\nLibs: -L${libdir} -Wl,-rpath,${libdir} -l${libname}\n"
  },
  {
    "path": "src/gtk-fortran_funptr.csv",
    "content": "C type\r\nGAsyncReadyCallback\r\nGBaseFinalizeFunc\r\nGBaseInitFunc\r\nGBindingTransformFunc\r\nGBoxedCopyFunc\r\nGBoxedFreeFunc\r\nGBusAcquiredCallback\r\nGBusNameAcquiredCallback\r\nGBusNameAppearedCallback\r\nGBusNameLostCallback\r\nGBusNameVanishedCallback\r\nGCacheDestroyFunc\r\nGCacheDupFunc\r\nGCacheNewFunc\r\nGCallback\r\nGCancellableSourceFunc\r\nGChildWatchFunc\r\nGClassFinalizeFunc\r\nGClassInitFunc\r\nGClearHandleFunc\r\nGClosureMarshal\r\nGClosureNotify\r\nGCompareDataFunc\r\nGCompareFunc\r\nGCompletionFunc\r\nGCompletionStrncmpFunc\r\nGCopyFunc\r\nGDBusInterfaceGetPropertyFunc\r\nGDBusInterfaceMethodCallFunc\r\nGDBusInterfaceSetPropertyFunc\r\nGDBusMessageFilterFunction\r\nGDBusProxyTypeFunc\r\nGDBusSignalCallback\r\nGDBusSubtreeDispatchFunc\r\nGDataForeachFunc\r\nGDatagramBasedSourceFunc\r\nGDestroyNotify\r\nGDuplicateFunc\r\nGEqualFunc\r\nGEqualFuncFull\r\nGErrorClearFunc\r\nGErrorCopyFunc\r\nGErrorInitFunc\r\nGFileMeasureProgressCallback\r\nGFileProgressCallback\r\nGFileReadMoreCallback\r\nGFreeFunc\r\nGFunc\r\nGHFunc\r\nGHRFunc\r\nGHashFunc\r\nGHookCheckFunc\r\nGHookCheckMarshaller\r\nGHookCompareFunc\r\nGHookFinalizeFunc\r\nGHookFindFunc\r\nGHookFunc\r\nGHookMarshaller\r\nGIFFIClosureCallback\r\nGIOFunc\r\nGIOSchedulerJobFunc\r\nGIObjectInfoGetValueFunction\r\nGIObjectInfoRefFunction\r\nGIObjectInfoSetValueFunction\r\nGIObjectInfoUnrefFunction\r\nGInstanceInitFunc\r\nGInterfaceFinalizeFunc\r\nGInterfaceInitFunc\r\nGLogFunc\r\nGLogWriterFunc\r\nGModuleCheckInit\r\nGModuleUnload\r\nGNodeForeachFunc\r\nGNodeTraverseFunc\r\nGObjectFinalizeFunc\r\nGObjectGetPropertyFunc\r\nGObjectNotifyQueueDispatcher\r\nGObjectSetPropertyFunc\r\nGOptionArgFunc\r\nGOptionErrorFunc\r\nGOptionParseFunc\r\nGPollFunc\r\nGPollableSourceFunc\r\nGPrintFunc\r\nGReallocFunc\r\nGRegexEvalCallback\r\nGScannerMsgFunc\r\nGSequenceIterCompareFunc\r\nGSettingsBindGetMapping\r\nGSettingsBindSetMapping\r\nGSettingsGetMapping\r\nGSignalAccumulator\r\nGSignalEmissionHook\r\nGSimpleAsyncThreadFunc\r\nGSocketSourceFunc\r\nGSourceDisposeFunc\r\nGSourceDummyMarshal\r\nGSourceFunc\r\nGSourceFuncsCheckFunc\r\nGSourceFuncsDispatchFunc\r\nGSourceFuncsFinalizeFunc\r\nGSourceFuncsPrepareFunc\r\nGSourceOnceFunc\r\nGSpawnChildSetupFunc\r\nGTaskThreadFunc\r\nGTestDataFunc\r\nGTestFixtureFunc\r\nGTestFunc\r\nGTestLogFatalFunc\r\nGThreadFunc\r\nGToggleNotify\r\nGTranslateFunc\r\nGTraverseFunc\r\nGTraverseNodeFunc\r\nGTypeClassCacheFunc\r\nGTypeInterfaceCheckFunc\r\nGTypePluginCompleteInterfaceInfo\r\nGTypePluginCompleteTypeInfo\r\nGTypePluginUnuse\r\nGTypePluginUse\r\nGTypeValueCollectFunc\r\nGTypeValueCopyFunc\r\nGTypeValueFreeFunc\r\nGTypeValueInitFunc\r\nGTypeValueLCopyFunc\r\nGTypeValuePeekPointerFunc\r\nGUnixFDSourceFunc\r\nGVaClosureMarshal\r\nGValueTransform\r\nGVfsFileLookupFunc\r\nGVoidFunc\r\nGWeakNotify\r\nGdkContentDeserializeFunc\r\nGdkContentSerializeFunc\r\nGdkCursorGetTextureCallback\r\nGdkPixbufDestroyNotify\r\nGdkPixbufModuleBeginLoadFunc\r\nGdkPixbufModuleFillInfoFunc\r\nGdkPixbufModuleFillVtableFunc\r\nGdkPixbufModuleIncrementLoadFunc\r\nGdkPixbufModuleLoadAnimationFunc\r\nGdkPixbufModuleLoadFunc\r\nGdkPixbufModuleLoadXpmDataFunc\r\nGdkPixbufModulePreparedFunc\r\nGdkPixbufModuleSaveCallbackFunc\r\nGdkPixbufModuleSaveFunc\r\nGdkPixbufModuleSaveOptionSupportedFunc\r\nGdkPixbufModuleSizeFunc\r\nGdkPixbufModuleStopLoadFunc\r\nGdkPixbufModuleUpdatedFunc\r\nGdkPixbufSaveFunc\r\nGdkWaylandToplevelExported\r\nGskParseErrorFunc\r\nGskPathForeachFunc\r\nGskPathIntersectionFunc\r\nGtkAssistantPageFunc\r\nGtkCellAllocCallback\r\nGtkCellCallback\r\nGtkCellLayoutDataFunc\r\nGtkCustomAllocateFunc\r\nGtkCustomFilterFunc\r\nGtkCustomMeasureFunc\r\nGtkCustomRequestModeFunc\r\nGtkDrawingAreaDrawFunc\r\nGtkEntryCompletionMatchFunc\r\nGtkExpressionNotify\r\nGtkFlowBoxCreateWidgetFunc\r\nGtkFlowBoxFilterFunc\r\nGtkFlowBoxForeachFunc\r\nGtkFlowBoxSortFunc\r\nGtkFontFilterFunc\r\nGtkIconViewForeachFunc\r\nGtkListBoxCreateWidgetFunc\r\nGtkListBoxFilterFunc\r\nGtkListBoxForeachFunc\r\nGtkListBoxSortFunc\r\nGtkListBoxUpdateHeaderFunc\r\nGtkMapListModelMapFunc\r\nGtkMenuButtonCreatePopupFunc\r\nGtkPageSetupDoneFunc\r\nGtkPrintJobCompleteFunc\r\nGtkPrintSettingsFunc\r\nGtkPrinterFunc\r\nGtkScaleFormatValueFunc\r\nGtkShortcutFunc\r\nGtkTextBufferCommitNotify\r\nGtkTextCharPredicate\r\nGtkTextTagTableForeach\r\nGtkTickCallback\r\nGtkTreeCellDataFunc\r\nGtkTreeIterCompareFunc\r\nGtkTreeListModelCreateModelFunc\r\nGtkTreeModelFilterModifyFunc\r\nGtkTreeModelFilterVisibleFunc\r\nGtkTreeModelForeachFunc\r\nGtkTreeSelectionForeachFunc\r\nGtkTreeSelectionFunc\r\nGtkTreeViewColumnDropFunc\r\nGtkTreeViewMappingFunc\r\nGtkTreeViewRowSeparatorFunc\r\nGtkTreeViewSearchEqualFunc\r\nGtkWidgetActionActivateFunc\r\nPangoAttrDataCopyFunc\r\nPangoAttrFilterFunc\r\nPangoCairoShapeRendererFunc\r\nPangoFT2SubstituteFunc\r\nPangoFcDecoderFindFunc\r\nPangoFcSubstituteFunc\r\nPangoFontsetForeachFunc\r\nPangoXftSubstituteFunc\r\ncairo_destroy_func_t\r\ncairo_raster_source_acquire_func_t\r\ncairo_raster_source_copy_func_t\r\ncairo_raster_source_finish_func_t\r\ncairo_raster_source_release_func_t\r\ncairo_raster_source_snapshot_func_t\r\ncairo_read_func_t\r\ncairo_surface_observer_callback_t\r\ncairo_user_scaled_font_init_func_t\r\ncairo_user_scaled_font_render_glyph_func_t\r\ncairo_user_scaled_font_text_to_glyphs_func_t\r\ncairo_user_scaled_font_unicode_to_glyph_func_t\r\ncairo_write_func_t\r\ncsi_context_create_func_t\r\ncsi_copy_page_func_t\r\ncsi_create_source_image_t\r\ncsi_destroy_func_t\r\ncsi_show_page_func_t\r\ncsi_surface_create_func_t\r\n"
  },
  {
    "path": "src/gtk-fortran_types.csv",
    "content": "C type;Fortran type;Fortran KIND\r\nint;integer(c_int);c_int\r\ngint;integer(c_int);c_int\r\nguint;integer(c_int);c_int\r\nBool;integer(c_int);c_int\r\ngboolean;integer(c_int);c_int\r\nGPid;integer(c_int);c_int\r\ngint64;integer(c_int64_t);c_int64_t\r\ngoffset;integer(c_int64_t);c_int64_t\r\nguint64;integer(c_int64_t);c_int64_t\r\ngint32;integer(c_int32_t);c_int32_t\r\nguint32;integer(c_int32_t);c_int32_t\r\nuint32_t;integer(c_int32_t);c_int32_t\r\nGdkWChar;integer(c_int32_t);c_int32_t\r\nxcb_drawable_t;integer(c_int32_t);c_int32_t\r\nxcb_pixmap_t;integer(c_int32_t);c_int32_t\r\nuid_t;integer(c_int32_t);c_int32_t\r\ngint16;integer(c_int16_t);c_int16_t\r\nguint16;integer(c_int16_t);c_int16_t\r\ngint8;integer(c_int8_t);c_int8_t\r\nguint8;integer(c_int8_t);c_int8_t\r\nlong;integer(c_long);c_long\r\ngulong;integer(c_long);c_long\r\ntime_t;integer(c_long);c_long\r\nshort;integer(c_short);c_short\r\nboolean;logical(c_bool);c_bool\r\nchar;character(kind=c_char);c_char\r\ngchar;integer(kind=c_int8_t);c_int8_t\r\nguchar;integer(kind=c_int8_t);c_int8_t\r\nGStrv;type(c_ptr);c_ptr\r\nGVariant;;\r\nGVariantType;;\r\ndouble;real(c_double);c_double\r\ngdouble;real(c_double);c_double\r\nfloat;real(c_float);c_float\r\ngfloat;real(c_float);c_float\r\nsize_t;integer(c_size_t);c_size_t\r\ngsize;integer(c_size_t);c_size_t\r\ngssize;integer(c_size_t);c_size_t\r\nGType;integer(c_size_t);c_size_t\r\nva_list;type(c_ptr);c_ptr\r\nGdkAtom;type(c_ptr);c_ptr\r\nGC;type(c_ptr);c_ptr\r\nGIConv;type(c_ptr);c_ptr\r\nGSignalCMarshaller;type(c_ptr);c_ptr\r\nGTime;integer(c_int32_t);c_int32_t\r\nGQuark;integer(c_int32_t);c_int32_t\r\nFT_Face;type(c_ptr);c_ptr\r\nWindow;integer(c_long);c_long\r\nDrawable;integer(c_long);c_long\r\nFont;integer(c_long);c_long\r\nPixmap;integer(c_long);c_long\r\nCursor;integer(c_long);c_long\r\nColormap;integer(c_long);c_long\r\nGContext;integer(c_long);c_long\r\nAtom;integer(c_long);c_long\r\nPicture;integer(c_long);c_long\r\nXID;integer(c_long);c_long\r\nVisualID;integer(c_long);c_long\r\nTime;integer(c_long);c_long\r\nKeyCode;character(kind=c_char);c_char\r\nKeySym;integer(c_long);c_long\r\nGWin32OSType;integer(c_int);c_int\r\ncairo_bool_t;integer(c_int);c_int\r\nGDateYear;integer(c_int16_t);c_int16_t\r\nGDateDay;integer(c_int8_t);c_int8_t\r\nGTimeSpan;integer(c_int64_t);c_int64_t\r\nGRefString;character(kind=c_char);c_char\r\ngshort;integer(c_short);c_short\r\nglong;integer(c_long);c_long\r\ngrefcount;integer(c_int);c_int\r\ngatomicrefcount;integer(c_int);c_int\r\ngunichar;integer(c_int32_t);c_int32_t\r\ngunichar2;integer(c_int16_t);c_int16_t\r\ngchararray;integer(kind=c_int8_t);c_int8_t\r\nbool;integer(c_int);c_int\r\nPangoGlyphUnit;integer(c_int32_t);c_int32_t\r\nPangoOTTag;integer(c_int32_t);c_int32_t\r\nPangoGlyph;integer(c_int32_t);c_int32_t\r\nlong double;real(c_long_double);c_long_double\r\nunsigned long;integer(c_long);c_long\r\nunsigned short;integer(c_short);c_short\r\nunsigned int;integer(c_int);c_int\r\n"
  },
  {
    "path": "src/gtk-hl-assistant.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2012 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!------------------------------------------------------------------------------\n! Contributed by James Tappin\n! Last modifications: 2012-01-07, vmagnin 2020-06-05 (GTK 4 version)\n!                     2020-08-25\n!------------------------------------------------------------------------------\n!*\n! Assistant\nmodule gtk_hl_assistant\n  ! High-level interface to the GtkAssistant widget\n  !/\n\n  use, intrinsic :: iso_c_binding\n\n  ! Autogenerated use's\n\n  !********************************\n  ! Gtk modules for gtk-hl-assistant.f90\n  use gtk, only: gtk_assistant_append_page, gtk_assistant_get_current_page, &\n       & gtk_assistant_get_nth_page, gtk_assistant_insert_page, &\n       & gtk_assistant_new, gtk_assistant_set_forward_page_func, &\n       & gtk_assistant_set_page_complete, gtk_assistant_set_page_title, &\n       & gtk_assistant_set_page_type, &\n       & gtk_window_destroy, gtk_window_set_default_size, &\n       & gtk_window_set_icon_name, &\n       & gtk_window_set_title, gtk_window_set_transient_for, g_signal_connect, &\n       & TRUE, FALSE, GTK_ASSISTANT_PAGE_INTRO, GTK_ASSISTANT_PAGE_CONFIRM, &\n       & GTK_ASSISTANT_PAGE_SUMMARY, &\n       & gtk_widget_set_margin_start, gtk_widget_set_margin_end, &\n       & gtk_widget_set_margin_top, gtk_widget_set_margin_bottom\n\n  implicit none\n\ncontains\n  !+\n  function hl_gtk_assistant_new(title, destroy, delete_event, data_destroy, &\n       & data_delete_event, close, data_close, cancel, data_cancel, &\n       & border, wsize, parent, icon, icon_file, &\n       & icon_name, forward, data_forward) result(asstnt)\n\n    type(c_ptr) :: asstnt\n    character(kind=c_char), dimension(*), intent(in), optional :: title\n    type(c_funptr), optional :: destroy, delete_event, close, cancel\n    type(c_ptr), optional :: data_destroy, data_delete_event, data_close, &\n         & data_cancel\n    integer(c_int), optional, intent(in) :: border\n    integer(c_int), optional, intent(in), dimension(2) :: wsize\n    type(c_ptr), optional :: parent\n    type(c_ptr), intent(in), optional :: icon\n    character(kind=c_char), dimension(*), intent(in), optional :: icon_name, &\n         & icon_file\n    type(c_funptr), optional :: forward\n    type(c_ptr), optional, intent(in) :: data_forward\n\n    ! Higher level interface to make a GtkAssistant\n    !\n    ! TITLE |  String |  optional |  Title for the window\n    ! DESTROY |  c_funptr |  optional |  Callback for the \"destroy\" signal\n    ! DELETE_EVENT |  c_funptr |  optional |  Callback for the \"delete-event\" signal\n    ! CLOSE |  c_funptr |  optional |  Callback for when the assistant is completed\n    ! CANCEL |  c_funptr |  optional |  Callback for the Cancel operation.\n    ! DATA_DESTROY |  c_ptr |  optional |  Data to be passed to the destroy signal handler\n    ! DATA_DELETE_EVENT |  c_ptr |  optional |  Data to be passed to the delete_event signal handler\n    ! DATA_CLOSE |  c_ptr |  optional |  Data to be passed to the close signal\n    ! DATA_CANCEL |  c_ptr |  optional |  Data to be passed to the cancel signal.\n    ! BORDER |  integer |  optional |  Size of the window border\n    ! WSIZE |  integer(2) |  optional |  Size of the window\n    ! PARENT |  c_ptr |  optional |  An optional parent window for the new window.\n    ! ICON |  c_ptr |  optional  |  A GdkPixbuf containing the icon for the window.\n    ! ICON_FILE |  String  |  optional  |  A file from which to read the icon for the window.\n    ! ICON_NAME |  String  |  optional  |  The name of a standard icon to use for the window.\n    ! FORWARD |  c_funptr |  optional |  A function to handle paging.\n    ! DATA_FORWARD |  c_ptr |  optional |  Data for the paging function.\n    !\n    ! At most one way of setting the icon should be given, if more than one\n    ! is specified the priority is ICON, ICON_FILE, ICON_NAME.\n    !\n    ! If the CLOSE and/or CANCEL keys are not given then the DESTROY handler is\n    ! used if available, otherwise a default that just destroys the widget.\n    !-\n\n    asstnt = gtk_assistant_new()\n\n    if (present(title)) call gtk_window_set_title(asstnt, title)\n\n    if (present(border)) then\n      call gtk_widget_set_margin_start (asstnt, border)\n      call gtk_widget_set_margin_end (asstnt, border)\n      call gtk_widget_set_margin_top (asstnt, border)\n      call gtk_widget_set_margin_bottom (asstnt, border)\n    end if\n\n    if (present(wsize)) &\n         & call gtk_window_set_default_size(asstnt, wsize(1), wsize(2))\n\n    if (present(delete_event)) then\n       if (present(data_delete_event)) then\n          call g_signal_connect(asstnt, \"delete-event\"//C_NULL_CHAR, &\n               & delete_event, data_delete_event)\n       else\n          call g_signal_connect(asstnt, \"delete-event\"//C_NULL_CHAR, &\n               & delete_event)\n       end if\n    end if\n\n    if (present(destroy)) then\n       if (present(data_destroy)) then\n          call g_signal_connect(asstnt, \"destroy\"//C_NULL_CHAR, destroy, &\n               & data_destroy)\n       else\n          call g_signal_connect(asstnt, \"destroy\"//C_NULL_CHAR, destroy)\n       end if\n    end if\n\n    if (present(cancel)) then\n       if (present(data_cancel)) then\n          call g_signal_connect(asstnt, \"cancel\"//c_null_char, &\n               & cancel, data_cancel)\n       else\n          call g_signal_connect(asstnt, \"cancel\"//c_null_char, &\n               & cancel)\n       end if\n    else if (present(destroy)) then\n       if (present(data_destroy)) then\n          call g_signal_connect(asstnt, \"cancel\"//C_NULL_CHAR, destroy, &\n               & data_destroy)\n       else\n          call g_signal_connect(asstnt, \"cancel\"//C_NULL_CHAR, destroy)\n       end if\n    else\n       call g_signal_connect(asstnt, \"cancel\"//C_NULL_CHAR, &\n            & c_funloc(hl_gtk_assistant_destroy))\n    end if\n\n    if (present(close)) then\n       if (present(data_close)) then\n          call g_signal_connect(asstnt, \"close\"//c_null_char, &\n               & close, data_close)\n       else\n          call g_signal_connect(asstnt, \"close\"//c_null_char, &\n               & close)\n       end if\n    else if (present(destroy)) then\n       if (present(data_destroy)) then\n          call g_signal_connect(asstnt, \"close\"//C_NULL_CHAR, destroy, &\n               & data_destroy)\n       else\n          call g_signal_connect(asstnt, \"close\"//C_NULL_CHAR, destroy)\n       end if\n    else\n       call g_signal_connect(asstnt, \"close\"//C_NULL_CHAR, &\n            & c_funloc(hl_gtk_assistant_destroy))\n    end if\n\n    if (present(parent)) call gtk_window_set_transient_for(asstnt, parent)\n\n    if (present(icon)) then\n       print *, \"Removed from GTK 4: call gtk_window_set_icon(asstnt, icon)\"\n    else if (present(icon_file)) then\n       print *, \"Removed from GTK 4: icon_ok = gtk_window_set_icon_from_file (asstnt, icon_file, c_null_ptr)\"\n    else if (present(icon_name)) then\n       call gtk_window_set_icon_name(asstnt, icon_name)\n    end if\n\n    if (present(forward)) then\n       if (present(data_forward)) then\n          call gtk_assistant_set_forward_page_func(asstnt, forward, &\n               & data_forward, c_null_funptr)\n       else\n          call gtk_assistant_set_forward_page_func(asstnt, forward, &\n               & c_null_ptr, c_null_funptr)\n       end if\n    end if\n\n  end function hl_gtk_assistant_new\n\n  !+\n  subroutine hl_gtk_assistant_add_page(asstnt, page, type, page_title, &\n       & complete, position)\n\n    type(c_ptr), intent(in) :: asstnt, page\n    integer(c_int), intent(in) :: type\n    character(kind=c_char), dimension(*), intent(in), optional :: page_title\n    integer(c_int), intent(in), optional :: complete\n    integer(c_int), intent(in), optional :: position\n\n    ! Add a page to a GtkAssistant\n    !\n    ! ASSTNT |  c_ptr |  required |  The Assistant to which to add the page.\n    ! PAGE |  c_ptr |  required |  The widget to add to the assistant.\n    ! TYPE |  c_int |  required |  The type of page (from the GtkAssistantPageType enumeration).\n    ! PAGE_TITLE |  string |  optional |  A title for the page.\n    ! COMPLETE |  boolean |  optional |  Can the use advance? (Default FALSE, unless type is GTK_ASSISTANT_PAGE_INTRO, GTK_ASSISTANT_PAGE_CONFIRM, or GTK_ASSISTANT_PAGE_SUMMARY).\n    ! POSITION |  c_int |  optional |  The position of the page in the sequence (Append the page if omitted).\n    !\n    ! N.B. Supplying handlers for actions within the page is the responsibility\n    ! of the code creating the page. In particular, a page that is initially\n    ! flagged as incomplete must have an action that sets the complete flag.\n    !-\n\n    integer(c_int) :: idx\n\n    if (present(position)) then\n       idx = gtk_assistant_insert_page(asstnt, page, position)\n    else\n       idx = gtk_assistant_append_page(asstnt, page)\n    end if\n\n    call gtk_assistant_set_page_type(asstnt, page, type)\n\n    if (present(page_title)) &\n         & call gtk_assistant_set_page_title(asstnt, page, page_title)\n\n    if (present(complete)) then\n       call gtk_assistant_set_page_complete(asstnt, page, complete)\n    else if (type == GTK_ASSISTANT_PAGE_INTRO .or.&\n         & type == GTK_ASSISTANT_PAGE_SUMMARY .or.&\n         & type == GTK_ASSISTANT_PAGE_CONFIRM) then\n       call gtk_assistant_set_page_complete(asstnt, page, TRUE)\n    else\n       call gtk_assistant_set_page_complete(asstnt, page, FALSE)\n    end if\n\n  end subroutine hl_gtk_assistant_add_page\n\n  !+\n  function hl_gtk_assistant_get_current_page(asstnt, pageno) result(page)\n    type(c_ptr) :: page\n    type(c_ptr), intent(in) :: asstnt\n    integer(c_int), intent(out), optional :: pageno\n\n    ! Return the current page of an assistant.\n    !\n    ! ASSTNT |  c_ptr |  required |  The assistant to query\n    !\n    ! The returns the widget of the current page. To get the page\n    ! number only just use gtk_assistant_get_current_page,\n    !-\n\n    integer(c_int) :: ipage\n\n    ipage =  gtk_assistant_get_current_page(asstnt)\n    page = gtk_assistant_get_nth_page(asstnt, ipage)\n\n    if (present(pageno)) pageno = ipage\n\n  end function hl_gtk_assistant_get_current_page\n\n  !+\n  subroutine hl_gtk_assistant_set_page_complete(asstnt, state, &\n       & page, pageno)\n\n    type(c_ptr), intent(in) :: asstnt\n    integer(c_int), intent(in) :: state\n    type(c_ptr), intent(in), optional :: page\n    integer(c_int), intent(in), optional :: pageno\n\n    ! Set the completion state of a page of an assistant\n    !\n    ! ASSTNT |  c_ptr |  required |  The assistant with the page.\n    ! STATE |  boolean |  required |  The completion state.\n    ! PAGE |  c_ptr |  optional |  The page whose state is to be set.\n    ! PAGENO |  c_int |  optional |  The page number to set.\n    !\n    ! If neither PAGE nor PAGENO is given then the current page is used.\n    !-\n\n    type(c_ptr) :: cpage\n\n    if (present(page)) then\n       cpage = page\n    else if (present(pageno)) then\n       cpage = gtk_assistant_get_nth_page(asstnt, pageno)\n    else\n       cpage = hl_gtk_assistant_get_current_page(asstnt)\n    end if\n\n    call gtk_assistant_set_page_complete (asstnt, cpage, state)\n\n  end subroutine hl_gtk_assistant_set_page_complete\n\n  !+\n  subroutine hl_gtk_assistant_destroy(widget, data) bind(c)\n    type(c_ptr), value, intent(in) :: widget, data\n\n    call gtk_window_destroy(widget)\n  end subroutine hl_gtk_assistant_destroy\nend module gtk_hl_assistant\n"
  },
  {
    "path": "src/gtk-hl-button.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2011 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!-----------------------------------------------------------------\n! Contributed by James Tappin 2011-11-30\n! Last modification: vmagnin 2020-06-17 (GTK 4),\n! vmagnin 2020-12-20\n!-----------------------------------------------------------------\n\n\n!*\n! Buttons\nmodule gtk_hl_button\n  ! Convenience interfaces for regular buttons, checkboxes.\n  !/\n\n  use gtk_sup\n  use gtk_hl_misc\n  use, intrinsic :: iso_c_binding\n  ! autogenerated use's\n  use gtk, only: gtk_button_new, gtk_button_new_with_label,&\n       & gtk_check_button_new, gtk_check_button_new_with_label,&\n       & gtk_check_button_set_active, &\n       & gtk_toggle_button_set_active, gtk_button_get_child, &\n       & gtk_widget_set_sensitive, gtk_widget_set_tooltip_text, &\n       & gtk_label_new, gtk_label_set_markup, gtk_button_set_child, &\n       & gtk_button_set_label, gtk_toggle_button_new, &\n       & gtk_toggle_button_new_with_label, &\n       & TRUE, FALSE, g_signal_connect\n\n  use g, only: g_slist_length, g_slist_nth, g_slist_nth_data\n\n  implicit none\n\ncontains\n  !+\n  function hl_gtk_button_new(label, clicked, data, tooltip, sensitive, &\n       & is_markup) result(but)\n\n    type(c_ptr) :: but\n    character(kind=c_char), dimension(*), intent(in) :: label\n    type(c_funptr), optional :: clicked\n    type(c_ptr), optional :: data\n    character(kind=c_char), dimension(*), intent(in), optional :: tooltip\n    integer(c_int), intent(in), optional :: sensitive\n    integer(c_int), optional, intent(in) :: is_markup\n\n    ! Higher-level button\n    !\n    ! LABEL |  string |  required |  The label on the button\n    ! CLICKED |  c_funptr |  optional |  callback routine for the \"clicked\" signal\n    ! DATA |  c_ptr |  optional |  Data to be passed to the clicked callback\n    ! TOOLTIP |  string |  optional |  tooltip to be displayed when the pointer is held over the button.\n    ! SENSITIVE |  boolean |  optional |  Whether the widget should initially be sensitive or not.\n    ! IS_MARKUP |  boolean |  optional |  Set this to TRUE if the label contains Pango markup.\n    !-\n\n    type(c_ptr) :: label_w\n    logical :: markup\n\n    if (present(is_markup)) then\n       markup = c_f_logical(is_markup)\n    else\n       markup = .false.\n    end if\n\n    if(markup) then\n       but = gtk_button_new()\n       label_w=gtk_label_new(c_null_char)\n       call gtk_label_set_markup(label_w, label)\n       call gtk_button_set_child(but, label_w)\n    else\n       but=gtk_button_new_with_label(label)\n    end if\n\n    if (present(clicked)) then\n       if (present(data)) then\n          call g_signal_connect(but, \"clicked\"//C_NULL_CHAR, &\n               & clicked, data)\n       else\n          call g_signal_connect(but, \"clicked\"//C_NULL_CHAR, &\n               & clicked)\n       end if\n    end if\n\n    if (present(tooltip)) call gtk_widget_set_tooltip_text(but, tooltip)\n    if (present(sensitive)) &\n         & call gtk_widget_set_sensitive(but, sensitive)\n\n  end function hl_gtk_button_new\n\n  !+\n  subroutine hl_gtk_button_set_label(button, label, is_markup)\n    type(c_ptr), intent(in) :: button\n    character(kind=c_char), dimension(*), intent(in) :: label\n    integer(c_int), intent(in), optional :: is_markup\n\n    ! Set the label of a button, including using markup.\n    !\n    ! BUTTON |  c_ptr |  required |  The button to modify.\n    ! LABEL |  string |  required |  The new label for the button.\n    ! IS_MARKUP |  boolean |  optional |  Set this to TRUE if the label contains pango markup.\n    !-\n\n    logical :: markup\n    type(c_ptr) :: label_w\n\n    if (present(is_markup)) then\n       markup = c_f_logical(is_markup)\n    else\n       markup = .false.\n    end if\n\n    if (markup) then\n       label_w = gtk_button_get_child(button)\n       call gtk_label_set_markup(label_w, label)\n    else\n       call gtk_button_set_label(button, label)\n    end if\n  end subroutine hl_gtk_button_set_label\n\n  !+\n  function hl_gtk_check_button_new(label, toggled, data, tooltip, &\n       & initial_state, sensitive, is_markup, toggle) result(but)\n\n    type(c_ptr) :: but\n    character(kind=c_char), dimension(*), intent(in) :: label\n    type(c_funptr), optional :: toggled\n    type(c_ptr), optional :: data\n    character(kind=c_char), dimension(*), intent(in), optional :: tooltip\n    integer(c_int), intent(in), optional :: initial_state\n    integer(c_int), intent(in), optional :: sensitive, is_markup, toggle\n\n    ! Higher level check box.\n    !\n    ! LABEL |  string |  required |   The label on the button.\n    ! TOGGLED |  c_funptr |  optional |  Callback function for the \"toggled\" signal.\n    ! DATA |  c_ptr |  optional |  Data to pass to/from the toggled callback.\n    ! TOOLTIP |  string |  optional |  A tooltip for the check_button.\n    ! INITIAL_STATE |  integer |  optional |  set the initial state of the check_button.\n    ! SENSITIVE |  boolean |  optional |  Whether the widget should initially be sensitive or not.\n    ! IS_MARKUP |  boolean |  optional |  Set this to TRUE if the label contains Pango markup.\n    ! TOGGLE |  boolean |  optional |  Set this to TRUE to make a toggle button rather than a check button.\n    !-\n\n    type(c_ptr) :: label_w\n    logical :: markup\n    logical :: is_toggle\n\n\n    if (present(is_markup)) then\n       markup = c_f_logical(is_markup)\n    else\n       markup = .false.\n    end if\n    if (present(toggle)) then\n       is_toggle = c_f_logical(toggle)\n    else\n       is_toggle = .false.\n    end if\n\n    if(markup) then\n       if (is_toggle) then\n          but = gtk_toggle_button_new()\n       else\n          but = gtk_check_button_new()\n       end if\n       label_w=gtk_label_new(c_null_char)\n       call gtk_label_set_markup(label_w, label)\n       call gtk_button_set_child(but, label_w)\n    else\n       if (is_toggle) then\n          but = gtk_toggle_button_new_with_label(label)\n       else\n          but = gtk_check_button_new_with_label(label)\n       end if\n    end if\n\n    if (present(initial_state)) then\n       if (is_toggle) then\n          call gtk_toggle_button_set_active(but, initial_state)\n       else\n          call gtk_check_button_set_active(but, initial_state)\n       end if\n    end if\n\n    if (present(toggled)) then\n       if (present(data)) then\n          call g_signal_connect(but, \"toggled\"//c_null_char, toggled, data)\n       else\n          call g_signal_connect(but, \"toggled\"//c_null_char, toggled)\n       end if\n    end if\n\n    if (present(tooltip)) call gtk_widget_set_tooltip_text(but, tooltip)\n\n    if (present(sensitive)) &\n         & call gtk_widget_set_sensitive(but, sensitive)\n\n  end function hl_gtk_check_button_new\n\n  !+\n  subroutine hl_gtk_button_set_label_markup(but, label)\n    type(c_ptr) :: but\n    character(kind=c_char), dimension(*), intent(in) :: label\n\n    ! Set a markup label on a button\n    !\n    ! BUT |  c_ptr |  required |  The button to relabel\n    ! LABEL |  string |  required |  The string (with Pango markup) to apply.\n    !\n    ! Normally if the label does not need Pango markup, then\n    ! gtk_button_set_label can be used.\n    !-\n\n    call hl_gtk_bin_set_label_markup(but, label)\n\n  end subroutine hl_gtk_button_set_label_markup\nend module gtk_hl_button\n"
  },
  {
    "path": "src/gtk-hl-chooser.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2011 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!------------------------------------------------------------------------------\n! Contributed by James Tappin\n! Last modifications: 2012-12-31, vmagnin 2020-06-19 (GTK 4 version),\n!                     2023-08-07\n!------------------------------------------------------------------------------\n\n!*\n! File Choosers\nmodule gtk_hl_chooser\n  ! hl_gtk_file_chooser_new and _show implement a general chooser\n  ! dialogue via the file_chooser_widget (file_choose_dialog only has\n  ! variadic constructors).\n  !\n  ! Filters may be either patterns (e.g. '*.f90' or '2011*.lis') or mime types\n  ! (e.g. 'image/png' or 'text/*'). The constructors recognise the difference by\n  ! the presence or absence of a '/' character. Each filter is a\n  ! comma-separated list, which may contain any mixture of patterns and mime\n  ! types (e.g. '*.png,image/tiff,*.jpg'). If a name is not provided, then\n  ! the filter specification is used as the name.\n  !/\n\n  use gtk_sup\n  use, intrinsic :: iso_c_binding\n  use, intrinsic :: iso_fortran_env, only: error_unit\n\n  ! Auto generated use's\n  use g, only: g_list_model_get_n_items, g_list_model_get_item, &\n             & g_main_loop_new, g_main_loop_run, g_main_loop_quit, &\n             & g_file_new_for_path, g_file_get_path, g_object_unref\n  use gtk, only: gtk_box_append, gtk_dialog_add_button, &\n       & gtk_dialog_get_content_area, gtk_dialog_new, &\n       & gtk_entry_get_buffer, gtk_entry_buffer_set_text, &\n       & gtk_file_chooser_add_filter, &\n       & gtk_file_chooser_get_current_folder, &\n       & gtk_file_chooser_set_current_folder, &\n       & gtk_file_chooser_set_current_name, gtk_file_chooser_set_file, &\n       & gtk_file_chooser_set_select_multiple, &\n       & gtk_file_chooser_widget_new, gtk_file_chooser_get_files, &\n       & gtk_file_filter_add_mime_type, gtk_file_filter_add_pattern, &\n       & gtk_file_filter_new, gtk_file_filter_set_name, &\n       & gtk_window_destroy, gtk_widget_show, gtk_window_close, &\n       & gtk_window_set_default_size, gtk_window_set_destroy_with_parent, &\n       & gtk_window_set_modal, gtk_window_set_title, &\n       & gtk_window_set_transient_for, g_signal_connect, TRUE, FALSE, &\n       & GTK_RESPONSE_DELETE_EVENT, GTK_RESPONSE_CANCEL, GTK_RESPONSE_APPLY, &\n       & GTK_FILE_CHOOSER_ACTION_OPEN, GTK_FILE_CHOOSER_ACTION_SAVE, &\n       & GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER\n\n  ! Building the chooser uses a number of other high-level interfaces.\n\n  use gtk_hl_container\n  use gtk_hl_entry\n  use gtk_hl_button\n\n  implicit none\n  type(c_ptr) :: dialog_gmainloop\n  !+\n  type, bind(c) :: hl_gtk_chooser_info\n     type(c_ptr) :: chooser=C_NULL_PTR, chooser_sel_list=C_NULL_PTR\n     type(c_ptr) :: chooser_curdir=C_NULL_PTR, fentry=C_NULL_PTR\n     integer(c_int) :: iselect=0\n  end type hl_gtk_chooser_info\n\n  ! These items must be shared between the file chooser widget and its event\n  ! handler or the filter editor. They are passed to the signal handlers\n  ! via the user data argument. Even though it's never used in the C code,\n  ! it still has to be bind(c) otherwise c_loc() will croak on it.\n  !-\n\ncontains\n  !+\n  function hl_gtk_file_chooser_new(chooser_info, cdir, directory, create, &\n       & multiple, allow_uri, show_hidden, confirm_overwrite, title, &\n       & initial_dir, current, initial_file, filter, filter_name, parent, &\n       & all, wsize, edit_filters) result(dialog)\n\n    type(c_ptr) :: dialog\n    type(hl_gtk_chooser_info), intent(out), target :: chooser_info\n    character(len=*), intent(out), optional :: cdir\n    integer(c_int), intent(in), optional :: directory, create, multiple\n    integer(c_int), intent(in), optional :: allow_uri, show_hidden\n    integer(c_int), intent(in), optional :: confirm_overwrite\n    character(kind=c_char), dimension(*), intent(in), optional :: title, initial_dir, initial_file\n    integer(c_int), intent(in), optional :: current\n    character(len=*), dimension(:), intent(in), optional :: filter\n    character(len=*), dimension(:), intent(in), optional :: filter_name\n    type(c_ptr), intent(in), optional :: parent\n    integer(c_int), intent(in), optional :: all\n    integer(c_int), intent(in), dimension(2), optional :: wsize\n    integer(c_int), intent(in), optional :: edit_filters\n\n    ! Create a file chooser widget.\n    !\n    ! CHOOSER_INFO |  hl_gtk_chooser_info |  required |  IDs and flags of various subwidgets needed to process the dialog actions.\n    ! CDIR |  string |  optional |  The directory from which they were chosen.\n    ! DIRECTORY |  boolean |  optional |  Set to TRUE to select directories instead of files.\n    ! CREATE |  boolean |  optional |  Set to FALSE to prohibit creating new files.\n    ! MULTIPLE |  boolean |  optional |  Set to TRUE to allow the selection of multiple files.\n    ! ALLOW_URI | boolean |  optional | Set to TRUE to allow nonlocal selections. **Removed from GTK 4.**\n    ! SHOW_HIDDEN | boolean |  optional | Set to TRUE to show hidden files. **Removed from GTK 4.**\n    ! CONFIRM_OVERWRITE | boolean |  optional | Set to TRUE to request confirmation of an overwrite (only used if CREATE is TRUE). **Removed from GTK 4.**\n    ! TITLE |  string |  optional |  Title for the window.\n    ! INITIAL_DIR |  string |  optional |  Set the initial directory here instead of the current directory.\n    ! CURRENT |  boolean |  optional |  Use to force start in current directory.\n    ! INITIAL_FILE |  string |  optional |  Set the initial file selection.\n    ! FILTER |  string() |  optional |   The file selection filter. Elements may either be patterns or mime types. Each filter is a comma-separated list of patterns\n    ! FILTER_NAME |  string() |  optional |  Names for the filters\n    ! PARENT |  c_ptr |  optional |  Parent window for the dialogue.\n    ! ALL |  boolean |  optional |  Set to TRUE to add an all-files filter pattern\n    ! WSIZE |  c_int(2) |  optional |  Set the size for the dialog.\n    ! EDIT_FILTERS | boolean |  optional | Set to TRUE to proves an entry window to add extra filters. **Removed from GTK 4.**\n    !-\n\n    type(c_ptr) :: content, junk, gfilter\n    integer(c_int) :: icreate, idir, action, lval\n    integer(c_int) :: i, idx0, idx1\n\n    ! Create a modal dialogue\n    dialog = gtk_dialog_new()\n    call gtk_window_set_modal(dialog, TRUE)\n    if (present(title)) call gtk_window_set_title(dialog, title)\n    if (present(wsize)) then\n       call gtk_window_set_default_size(dialog, wsize(1),&\n            & wsize(2))\n    else\n       call gtk_window_set_default_size(dialog, 700_c_int, 500_c_int)\n    end if\n\n    if (present(parent)) then\n       call gtk_window_set_transient_for(dialog, parent)\n       call gtk_window_set_destroy_with_parent(dialog, TRUE)\n    end if\n\n    ! Attach the action buttonsa to the dialogue\n    junk = gtk_dialog_add_button(dialog, \"_Open\"//C_NULL_CHAR, GTK_RESPONSE_APPLY)\n    junk = gtk_dialog_add_button(dialog, \"_Cancel\"//C_NULL_CHAR, &\n         & GTK_RESPONSE_CANCEL)\n\n    ! Decode the action\n\n    if (present(create)) then\n       icreate = create\n    else\n       icreate = TRUE\n    end if\n\n    if (present(directory)) then\n       idir = directory\n    else\n       idir = FALSE\n    end if\n\n    if (idir == TRUE) then\n       action = GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER\n    else\n       if (icreate == TRUE) then\n          ! \"Indicates save mode. The file chooser will let the user pick\n          ! an existing file, or type in a new filename.\"\n          action = GTK_FILE_CHOOSER_ACTION_SAVE\n       else\n          action = GTK_FILE_CHOOSER_ACTION_OPEN\n       end if\n    end if\n\n    ! Create the chooser & put it in the content area\n    content = gtk_dialog_get_content_area(dialog)\n    ! https://developer.gnome.org/gtk4/unstable/GtkFileChooserWidget.html\n    chooser_info%chooser = gtk_file_chooser_widget_new(action)\n    call gtk_box_append(content, chooser_info%chooser)\n\n    ! Multiple selections\n    if (present(multiple)) then\n       lval = multiple\n    else\n       lval = FALSE\n    end if\n    call gtk_file_chooser_set_select_multiple(chooser_info%chooser, lval)\n\n    ! Hidden files\n    if (present(show_hidden)) then\n       print *, \"Removed from GTK 4: show_hidden\"\n       lval = show_hidden\n    else\n       lval = FALSE\n    end if\n\n    ! Confirm overwrite\n    if (icreate == TRUE) then\n       if (present(confirm_overwrite)) then\n          print *, \"Removed from GTK 4: confirm_overwrite\"\n          lval = confirm_overwrite\n       else\n          lval = FALSE\n       end if\n    end if\n\n    ! Initial directory (precedes file so if file contains a dir it\n    ! will overwrite)\n    if (present(initial_dir)) then\n       lval = gtk_file_chooser_set_current_folder(chooser_info%chooser, &\n            & g_file_new_for_path(initial_dir), c_null_ptr)\n    else if (present(current)) then\n       if (c_f_logical(current)) then\n            lval = gtk_file_chooser_set_current_folder(chooser_info%chooser, &\n            & g_file_new_for_path(\".\"//c_null_char), c_null_ptr)\n       end if\n    end if\n\n    ! Initial file\n\n    if (present(initial_file)) then\n       if (action == GTK_FILE_CHOOSER_ACTION_SAVE) then\n          call gtk_file_chooser_set_current_name(chooser_info%chooser, &\n               & initial_file)\n       else\n          lval = gtk_file_chooser_set_file(chooser_info%chooser, &\n               & g_file_new_for_path(initial_file), c_null_ptr)\n       end if\n    end if\n\n    ! Set up filters\n    if (present(filter)) then\n       do i = 1, size(filter)\n          gfilter = gtk_file_filter_new()\n\n          idx0 = 1\n          do\n             idx1 = index(filter(i)(idx0:),',')+idx0-2\n             if (idx1 < idx0) then\n                if (index(filter(i)(idx0:), '/') == 0) then\n                   call gtk_file_filter_add_pattern(gfilter, &\n                        & trim(adjustl(filter(i)(idx0:)))//c_null_char)\n                else\n                   call gtk_file_filter_add_mime_type(gfilter, &\n                        & trim(adjustl(filter(i)(idx0:)))//c_null_char)\n                end if\n                exit\n             else\n                if (index(filter(i)(idx0:idx1), '/') == 0) then\n                   call gtk_file_filter_add_pattern(gfilter, &\n                        & trim(adjustl(filter(i)(idx0:idx1)))//c_null_char)\n                else\n                   call gtk_file_filter_add_mime_type(gfilter, &\n                        & trim(adjustl(filter(i)(idx0:idx1)))//c_null_char)\n                end if\n                idx0=idx1+2\n             end if\n          end do\n          if (present(filter_name)) then\n             call gtk_file_filter_set_name(gfilter, &\n                  & trim(filter_name(i))//c_null_char)\n          else\n             call gtk_file_filter_set_name(gfilter, &\n                  & trim(filter(i))//c_null_char)\n          end if\n          call gtk_file_chooser_add_filter(chooser_info%chooser, gfilter)\n       end do\n       if (present(all)) then\n          if (all == TRUE) then\n             gfilter = gtk_file_filter_new()\n             call gtk_file_filter_add_pattern(gfilter, &\n                  & \"*\"//c_null_char)\n             call gtk_file_filter_set_name(gfilter, &\n                  \"All Files\"//c_null_char)\n             call gtk_file_chooser_add_filter(chooser_info%chooser, gfilter)\n          end if\n       end if\n    end if\n\n    ! Add an entry box for extra filters.\n    if (present(edit_filters)) then\n       if (edit_filters == TRUE) then\n          print *, \"Removed from GTK 4: edit_filters, gtk_file_chooser_set_extra_widget\"\n       end if\n    end if\n\n    call g_signal_connect(dialog, \"response\"//c_null_char, &\n         & c_funloc(hl_gtk_chooser_resp_cb), c_loc(chooser_info))\n\n  end function hl_gtk_file_chooser_new\n\n  !+\n  function hl_gtk_file_chooser_show(files, cdir, directory, create, &\n       & multiple, allow_uri, show_hidden, confirm_overwrite, title, &\n       & initial_dir, current, initial_file, filter, filter_name, parent, &\n       & all, wsize, edit_filters) result(isel)\n\n    integer(c_int) :: isel\n    character(len=*), dimension(:), intent(out), allocatable :: files\n    character(len=*), intent(out), optional :: cdir\n    integer(c_int), intent(in), optional :: directory, create, multiple\n    integer(c_int), intent(in), optional :: allow_uri, show_hidden\n    integer(c_int), intent(in), optional :: confirm_overwrite\n    character(kind=c_char), dimension(*), intent(in), optional :: title, initial_dir, initial_file\n    integer(c_int), intent(in), optional :: current\n    character(len=*), dimension(:), intent(in), optional :: filter\n    character(len=*), dimension(:), intent(in), optional :: filter_name\n    type(c_ptr), intent(in), optional :: parent\n    integer(c_int), intent(in), optional :: all\n    integer(c_int), intent(in), dimension(2), optional :: wsize\n    integer(c_int), intent(in), optional :: edit_filters\n\n    ! Create and show a file chooser widget.\n    !\n    ! FILES |  string() |  required |  The file or files selected.\n    ! CDIR |  string |  optional |  The directory from which they were chosen.\n    ! DIRECTORY |  boolean |  optional |  Set to TRUE to select directories instead of files.\n    ! CREATE |  boolean |  optional |  Set to FALSE to prohibit creating new files.\n    ! MULTIPLE |  boolean |  optional |  Set to TRUE to allow the selection of multiple files.\n    ! ALLOW_URI |  boolean |  optional |  Set to TRUE to allow nonlocal selections.\n    ! SHOW_HIDDEN | boolean |  optional | Set to TRUE to show hidden files. **Removed from GTK 4.**\n    ! CONFIRM_OVERWRITE | boolean |  optional | Set to TRUE to request confirmation of an overwrite (only used if CREATE is TRUE). **Removed from GTK 4.**\n    ! TITLE |  string |  optional |  Title for the window.\n    ! INITIAL_DIR |  string |  optional |  Set the initial directory here instead of the current directory.\n    ! CURRENT |  boolean |  optional |  Use to force start in current directory.\n    ! INITIAL_FILE |  string |  optional |  Set the initial file selection.\n    ! FILTER |  string() |  optional |   The file selection filter. Elements may either be patterns or mime types. Each filter is a comma-separated list of patterns\n    ! FILTER_NAME |  string() |  optional |  Names for the filters\n    ! PARENT |  c_ptr |  optional |  Parent window for the dialogue.\n    ! ALL |  boolean |  optional |  Set to TRUE to add an all-files filter pattern\n    ! WSIZE |  c_int(2) |  optional |  Set the size for the dialog.\n    ! EDIT_FILTERS | boolean |  optional | Set to TRUE to proves an entry window to add extra filters. **Removed from GTK 4.**\n    !\n    ! Returns TRUE if one or more files was selected, FALSE otherwise.\n    !-\n\n    type(c_ptr) :: dialog, g_file\n    type(hl_gtk_chooser_info) :: chooser_info\n    integer(c_int) :: i, nsel\n\n    dialog =  hl_gtk_file_chooser_new(chooser_info, cdir, directory, create, &\n         & multiple, allow_uri, show_hidden, confirm_overwrite, title, &\n         & initial_dir, current, initial_file, filter, filter_name, parent, &\n         & all, wsize, edit_filters)\n\n    call gtk_widget_show(dialog)\n\n    ! The callback function is defined in hl_gtk_file_chooser_new()\n    dialog_gmainloop = g_main_loop_new(c_null_ptr, FALSE)\n    call g_main_loop_run(dialog_gmainloop)\n\n    isel = chooser_info%iselect\n\n    if (chooser_info%iselect == TRUE) then\n       ! Number of selected files:\n       nsel = g_list_model_get_n_items(chooser_info%chooser_sel_list)\n       allocate(files(nsel))\n       ! Store the paths of selected files:\n       do i = 1, nsel\n          ! It's a list of GFiles:\n          g_file = g_list_model_get_item(chooser_info%chooser_sel_list, i-1_c_int)\n          call convert_c_string(g_file_get_path(g_file), files(i))\n          call g_object_unref(g_file)\n       end do\n       call g_object_unref(chooser_info%chooser_sel_list)\n\n       if (present(cdir)) call convert_c_string(g_file_get_path( &\n                                       & chooser_info%chooser_curdir), cdir)\n    end if\n\n    call gtk_window_close(dialog)\n  end function hl_gtk_file_chooser_show\n\n\n\n  !+\n  subroutine hl_gtk_chooser_resp_cb(dialog, response, gdata) bind(c)\n\n    type(c_ptr), value :: dialog\n    integer(c_int), value :: response\n    type(c_ptr), value :: gdata\n\n    ! Callback for the \"response\" signal of the chooser\n    !\n    ! DIALOG |  c_ptr |  required |  The dialog sending the response\n    ! RESPONSE |  c_int |  required |  The response code.\n    ! GDATA |  c_ptr |  required |  User data used to return a select/cancel value\n    !\n    ! The application developer should never need to use this routine directly.\n    !-\n\n    type(hl_gtk_chooser_info), pointer :: chooser_info\n\n    call c_f_pointer(gdata, chooser_info)\n\n    select case (response)\n    case (GTK_RESPONSE_DELETE_EVENT)\n       chooser_info%iselect = FALSE\n    case (GTK_RESPONSE_CANCEL)\n       chooser_info%iselect = FALSE\n    case (GTK_RESPONSE_APPLY)\n       chooser_info%iselect = TRUE\n       chooser_info%chooser_sel_list = &\n               & gtk_file_chooser_get_files(chooser_info%chooser)\n       chooser_info%chooser_curdir = &\n            & gtk_file_chooser_get_current_folder(chooser_info%chooser)\n    case default\n       chooser_info%iselect = FALSE\n       write(error_unit,*) &\n            & \"hl_gtk_chooser_resp_cb:: Invalid response received\", response\n    end select\n\n    call g_main_loop_quit(dialog_gmainloop)\n  end subroutine hl_gtk_chooser_resp_cb\n\n  !+\n  subroutine hl_gtk_chooser_filt_cb(widget, gdata) bind(c)\n\n    type(c_ptr), value :: widget\n    type(c_ptr), value :: gdata\n\n    ! Callback for the new filter entry.\n    !\n    ! WIDGET |  c_ptr |  required |  The widget sending the signal\n    ! GDATA |  c_ptr |  required |  User data used to return a select/cancel value\n    !\n    ! The application developer should never need to use this routine directly.\n    !-\n\n    type(hl_gtk_chooser_info), pointer :: chooser_info\n\n    character(len=60) :: filter\n    type(c_ptr) :: gfilter, buffer\n    integer :: idx0, idx1\n\n    call c_f_pointer(gdata, chooser_info)\n\n    call hl_gtk_entry_get_text(chooser_info%fentry, filter)\n    if (filter == \"\") return   ! No filter was given.\n\n    gfilter = gtk_file_filter_new()\n\n    idx0 = 1\n    do\n       idx1 = index(filter(idx0:),',')+idx0-2\n       if (idx1 < idx0) then\n          if (index(filter(idx0:), '/') == 0) then\n             call gtk_file_filter_add_pattern(gfilter, &\n                  & trim(adjustl(filter(idx0:)))//c_null_char)\n          else\n             call gtk_file_filter_add_mime_type(gfilter, &\n                  & trim(adjustl(filter(idx0:)))//c_null_char)\n          end if\n          exit\n       else\n          if (index(filter(idx0:idx1), '/') == 0) then\n             call gtk_file_filter_add_pattern(gfilter, &\n                  & trim(adjustl(filter(idx0:idx1)))//c_null_char)\n          else\n             call gtk_file_filter_add_mime_type(gfilter, &\n                  & trim(adjustl(filter(idx0:idx1)))//c_null_char)\n          end if\n          idx0=idx1+2\n       end if\n    end do\n    call gtk_file_filter_set_name(gfilter, &\n         & trim(filter)//c_null_char)\n\n    call gtk_file_chooser_add_filter(chooser_info%chooser, gfilter)\n\n    buffer = gtk_entry_get_buffer(chooser_info%fentry)\n    ! number of caracters = -1 for automatic length:\n    call gtk_entry_buffer_set_text (buffer, C_NULL_CHAR, -1)\n\n  end subroutine hl_gtk_chooser_filt_cb\nend module gtk_hl_chooser\n"
  },
  {
    "path": "src/gtk-hl-combobox.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2011 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!\n! Contributed by James Tappin\n! Last modification: 2011-11-21\n\n! --------------------------------------------------------\n! gtk-hl-combobox.f90\n! Generated: Tue Oct 29 17:12:20 2013 GMT\n! Generated for  GTK version: 3.10.0.\n! Generated for GLIB version: 2.38.0.\n! --------------------------------------------------------\n\n\n!*\n! ComboBox\nmodule gtk_hl_combobox\n  ! This interface implements the GtkComboBoxText widget for making a chooser.\n  ! While this has more limited capabilities than the full GtkComboBox, it\n  ! is adequate for the vast majority of uses.\n  !/\n\n  use gtk_sup\n  use, intrinsic :: iso_c_binding\n  ! Autogenerated use's\n  use gtk, only: gtk_combo_box_get_active, gtk_combo_box_new,&\n       & gtk_combo_box_set_active, &\n       & gtk_widget_set_sensitive, gtk_widget_set_tooltip_text,&\n       & gtk_combo_box_text_get_active_text, gtk_combo_box_text_new,&\n       & gtk_combo_box_text_new_with_entry, &\n       & gtk_combo_box_text_remove, &\n       & gtk_combo_box_text_append_text,&\n       & gtk_combo_box_text_insert_text,&\n       & gtk_combo_box_text_prepend_text,&\n       & gtk_combo_box_text_remove_all, &\n       & gtk_combo_box_get_model, gtk_tree_model_iter_n_children, &\n       & TRUE, FALSE, g_signal_connect\n\n  implicit none\n\n  interface hl_gtk_combo_box_delete\n     module procedure hl_gtk_combo_box_delete_single\n     module procedure hl_gtk_combo_box_delete_multi\n     module procedure hl_gtk_combo_box_delete_all\n  end interface hl_gtk_combo_box_delete\n\ncontains\n  !+\n  function hl_gtk_combo_box_new(has_entry, changed, data, initial_choices, &\n       & sensitive, tooltip, active) result(cbox)\n\n    type(c_ptr) :: cbox\n    integer(c_int), intent(in), optional :: has_entry\n    type(c_funptr), optional :: changed\n    type(c_ptr), intent(in), optional :: data\n    character(len=*), dimension(:), intent(in), optional :: initial_choices\n    integer(c_int), intent(in), optional :: sensitive\n    character(kind=c_char), dimension(*), optional, intent(in) :: tooltip\n    integer(c_int), optional, intent(in) :: active\n\n    ! Creator for the combobox.\n    !\n    ! HAS_ENTRY |  boolean |  optional |  Set to TRUE to add an entry field.\n    ! CHANGED |  c_funptr |  optional |  Callback routine for the \"changed\" signal.\n    ! DATA |  c_ptr |  optional |  User data for the changed callback.\n    ! INITIAL_CHOICES |  string() |  optional |  Initial list of choices.\n    ! SENSITIVE |  boolean |  optional |  Set to FALSE to make the widget start in an insensitive state.\n    ! TOOLTIP |  string |  optional |  A tooltip to display when the pointer is held over the widget.\n    ! ACTIVE |  c_int |  optional |  The initial active selection.\n    !-\n\n    integer(c_int) :: ientry\n    integer(c_int) :: i\n\n    if (present(has_entry)) then\n       ientry = has_entry\n    else\n       ientry = FALSE\n    end if\n\n    if (ientry == TRUE) then\n       cbox = gtk_combo_box_text_new_with_entry()\n    else\n       cbox = gtk_combo_box_text_new()\n    end if\n\n    if (present(initial_choices)) then\n       do i=1,size(initial_choices)\n          call gtk_combo_box_text_append_text(cbox, &\n               & trim(initial_choices(i))//C_NULL_CHAR)\n       end do\n    end if\n\n    if (present(active)) call gtk_combo_box_set_active(cbox, active)\n\n    if (present(changed)) then\n       if (present(data)) then\n          call g_signal_connect(cbox, \"changed\"//C_NULL_CHAR, changed, data)\n       else\n          call g_signal_connect(cbox, \"changed\"//C_NULL_CHAR, changed)\n       end if\n    end if\n\n    if (present(sensitive)) call gtk_widget_set_sensitive(cbox, sensitive)\n    if (present(tooltip)) call gtk_widget_set_tooltip_text(cbox, tooltip)\n  end function hl_gtk_combo_box_new\n\n  !+\n  subroutine hl_gtk_combo_box_add_text(cbox, text, index, at_start)\n\n    type(c_ptr), intent(in) :: cbox\n    character(kind=c_char), dimension(*), optional :: text\n    integer(c_int), intent(in), optional :: index\n    integer(c_int), intent(in), optional :: at_start\n\n    ! Add a new choice to a combo box.\n    !\n    ! CBOX |  c_ptr |  required |  The combo box to modify.\n    ! TEXT |  string |  required |  The text to add.\n    ! INDEX |  c_int |  optional |  The location at which to add the text.\n    ! AT_START |  boolean |  optional |  If set to TRUE and INDEX is not given then add the text at the start of the list.\n    !\n    ! If neither INDEX nor AT_START is present the text is appended.\n    !-\n\n    integer(c_int) :: prepend\n\n    if (present(index)) then\n       call gtk_combo_box_text_insert_text(cbox, index, text)\n    else\n       if (present(at_start)) then\n          prepend = at_start\n       else\n          prepend = FALSE\n       end if\n       if (prepend == TRUE) then\n          call gtk_combo_box_text_prepend_text(cbox, text)\n       else\n          call gtk_combo_box_text_append_text(cbox, text)\n       end if\n    end if\n  end subroutine hl_gtk_combo_box_add_text\n\n  !+\n  subroutine hl_gtk_combo_box_delete_single(cbox, index)\n\n    type(c_ptr), intent(in) :: cbox\n    integer(c_int), intent(in) :: index\n\n    ! Delete a line from a combo box\n    !\n    ! CBOX |  c_ptr |  required |  The combo box to update\n    ! INDEX |  c_int |  required |  The index of the choce to remove\n    !\n    ! Usually called via the generic hl_gtk_combo_box_delete interface.\n    !-\n\n    call gtk_combo_box_text_remove(cbox, index)\n\n  end subroutine hl_gtk_combo_box_delete_single\n\n  !+\n  subroutine hl_gtk_combo_box_delete_multi(cbox, index)\n\n    type(c_ptr), intent(in) :: cbox\n    integer(c_int), dimension(:), intent(in) :: index\n\n    ! Delete lines from a combo box\n    !\n    ! CBOX |  c_ptr |  required |  The combo box to update\n    ! INDEX |  c_int() |  required |  The index of the choce to remove\n    !\n    ! Usually called via the generic hl_gtk_combo_box_delete interface.\n    !-\n\n    integer(c_int) :: i\n\n    do i = size(index),1,-1\n       call gtk_combo_box_text_remove(cbox, index(i))\n    end do\n  end subroutine hl_gtk_combo_box_delete_multi\n\n  !+\n  subroutine hl_gtk_combo_box_delete_all(cbox)\n\n    type(c_ptr), intent(in) :: cbox\n\n    ! Delete all lines from a combo box\n    !\n    ! CBOX |  c_ptr |  required |  The combo box to update\n    !\n    ! Usually called via the generic hl_gtk_combo_box_delete interface.\n    !-\n\n    call gtk_combo_box_text_remove_all(cbox)\n\n  end subroutine hl_gtk_combo_box_delete_all\n  !+\n  function hl_gtk_combo_box_get_active(cbox, text, ftext) result(index)\n\n    integer(c_int) :: index\n    type(c_ptr), intent(in) :: cbox\n    type(c_ptr), intent(out), optional :: text\n    character(len=*), intent(out), optional :: ftext\n\n    ! Get the selection from a combo box\n    !\n    ! CBOX |  c_ptr |  required |  The combo box to query.\n    ! TEXT |  c_ptr |  optional |  C pointer to the text.\n    ! FTEXT |  fstring |  optional |  The string as a Fortran string.\n    !-\n\n    type(c_ptr), target :: ctext\n\n    index = gtk_combo_box_get_active(cbox)\n\n    if (present(text) .or. present(ftext)) then\n      ctext = gtk_combo_box_text_get_active_text(cbox)\n       ! This is a bit ugly\n       if (present(ftext)) &\n            & call convert_c_string(ctext, ftext)\n\n       if (present(text)) text=ctext\n    end if\n  end function hl_gtk_combo_box_get_active\n\n  !+\n  function hl_gtk_combo_box_n_entries(cbox) result(count)\n    integer(c_int) :: count\n    type(c_ptr), intent(in) :: cbox\n\n    ! Find the number of entries in a combo box.\n    !\n    ! CBOX |  c_ptr |  required |  The combo box to query.\n    !-\n\n    type(c_ptr) :: model\n\n    model = gtk_combo_box_get_model(cbox)\n    count = gtk_tree_model_iter_n_children (model, C_NULL_PTR)\n\n  end function hl_gtk_combo_box_n_entries\n\nend module gtk_hl_combobox\n"
  },
  {
    "path": "src/gtk-hl-container.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2011 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n! ----------------------------------------------------------------------\n! Contributed by James Tappin\n! Last modifications: 2012-07-09, vmagnin 2020-06-24 (GTK 4 version),\n!                     2020-08-25\n! ----------------------------------------------------------------------\n!*\n! Containers\nmodule gtk_hl_container\n  ! The high-level interface provides convenience interfaces for:\n  ! * Window, the gtk top-level window.\n  ! * Box, Horizontal and vertical boxes to pack widgets. This was added\n  !   because the gtk_box_pack_start_defaults procedure is removed from GTK3.x\n  ! * Table, a grid layout of widgets\n  !   Note that the weird convention where rows comes before columns in sizing\n  !   tables, but X before Y in adding widgets follows the convention of\n  !   GTK proper.\n  ! * Notebook, a tabbed container to pack widgets\n  ! * ScrolledWindow, a scrolled window into which to place another widget.\n  !/\n\n  use gtk_sup\n  use, intrinsic :: iso_c_binding\n  ! autogenerated use's\n  use gtk, only: gtk_label_new, &\n       & gtk_scrolled_window_set_child, gtk_box_append, &\n       & gtk_notebook_append_page, gtk_notebook_insert_page,&\n       & gtk_notebook_new, gtk_notebook_popup_disable,&\n       & gtk_notebook_popup_enable, gtk_notebook_prepend_page,&\n       & gtk_notebook_set_scrollable,&\n       & gtk_notebook_set_show_tabs, gtk_notebook_set_tab_detachable,&\n       & gtk_notebook_set_tab_pos, gtk_notebook_set_tab_reorderable,&\n       & gtk_grid_new, gtk_grid_set_row_homogeneous, &\n       & gtk_grid_set_column_homogeneous, gtk_grid_set_row_spacing, &\n       & gtk_grid_set_column_spacing, gtk_grid_attach, &\n       & gtk_widget_set_margin_start, gtk_widget_set_margin_end, &\n       & gtk_widget_set_margin_top, gtk_widget_set_margin_bottom, &\n       & gtk_widget_set_hexpand, gtk_widget_set_vexpand,  &\n       & gtk_widget_set_halign, gtk_widget_set_valign, &\n       & gtk_box_new, gtk_box_set_homogeneous, &\n       & gtk_widget_set_sensitive, &\n       & gtk_window_new, gtk_window_set_decorated,&\n       & gtk_window_set_default_size,&\n       & gtk_window_set_deletable, gtk_window_set_resizable,&\n       & gtk_window_set_title, gtk_window_set_transient_for, &\n       & gtk_window_set_icon_name, gtk_window_set_modal, &\n       & gtk_notebook_set_group_name, &\n       & gtk_scrolled_window_new, gtk_scrolled_window_set_policy, &\n       & gtk_widget_set_size_request, GTK_ALIGN_FILL, GTK_ALIGN_CENTER, &\n       & GTK_ORIENTATION_HORIZONTAL,  GTK_ORIENTATION_VERTICAL, &\n       & TRUE, FALSE, g_signal_connect, &\n       & GTK_POLICY_AUTOMATIC\n\n  use g, only: g_object_set_data, g_object_get_data, g_value_get_int\n\n  implicit none\n\ncontains\n  !+\n  function hl_gtk_application_new(app_id, activate, flags, data) result(app)\n    use, intrinsic :: iso_c_binding, only: c_ptr, c_funloc, c_null_char, c_null_ptr\n    use gtk, only: gtk_application_new, G_APPLICATION_FLAGS_NONE\n    use g, only: g_application_run, g_object_unref\n\n    type(c_ptr) :: app\n    character(kind=c_char), dimension(*), intent(in) :: app_id\n    type(c_funptr), intent(in) :: activate\n    integer(c_int), optional, intent(in) :: flags\n    type(c_ptr), optional, intent(in) :: data\n    integer(c_int) :: the_flags\n\n    ! Higher-level interface to make a GtkApplication\n    !\n    ! APP_ID |  C string |  compulsory |  name of the GtkApplication. must contain at least one point\n    ! ACTIVATE |  c_funptr |  compulsory |  Callback for the \"activate\" signal (defines the GUI)\n    ! FLAGS |  integer |  optional |  flags\n    ! DATA |  c_ptr |  optional |  Data to be passed to the \"activate\" callback function\n    !\n    !-\n\n    integer(c_int) :: status\n\n    if (present(flags)) then\n      the_flags = flags\n    else\n      the_flags = G_APPLICATION_FLAGS_NONE\n    end if\n\n    ! https://developer.gnome.org/gio/stable/GApplication.html#g-application-id-is-valid\n    app = gtk_application_new(app_id, the_flags)\n\n    if (present(data)) then\n      call g_signal_connect(app, \"activate\"//c_null_char, activate, data)\n    else\n      call g_signal_connect(app, \"activate\"//c_null_char, activate, c_null_ptr)\n    end if\n\n    ! Commandline arguments argc, argv are not passed.\n    ! https://developer.gnome.org/gio/stable/GApplication.html#g-application-run\n    status = g_application_run(app, 0_c_int, [c_null_ptr])\n\n    call g_object_unref(app)\n  end function hl_gtk_application_new\n\n\n  !+\n  function hl_gtk_window_new(title, destroy, delete_event, data_destroy, &\n       & data_delete_event, border, wsize, sensitive, resizable, decorated, &\n       & deletable, above, below, parent, icon, icon_file,&\n       & icon_name, modal) result(win)\n\n    type(c_ptr) :: win\n    character(kind=c_char), dimension(*), intent(in), optional :: title\n    type(c_funptr), optional :: destroy, delete_event\n    type(c_ptr), optional :: data_destroy, data_delete_event\n    integer(c_int), optional, intent(in) :: border\n    integer(c_int), optional, intent(in), dimension(2) :: wsize\n    integer(c_int), intent(in), optional :: sensitive, resizable, decorated\n    integer(c_int), intent(in), optional :: deletable, above, below\n    type(c_ptr), intent(in), optional :: parent\n    type(c_ptr), intent(in), optional :: icon\n    character(kind=c_char), dimension(*), intent(in), optional :: icon_name, &\n         & icon_file\n    integer(c_int), intent(in), optional :: modal\n\n    ! Higher-level interface to make a gtk_window\n    !\n    ! TITLE |  String |  optional |  Title for the window\n    ! DESTROY |  c_funptr |  optional |  Callback for the \"destroy\" signal\n    ! DELETE_EVENT |  c_funptr |  optional |  Callback for the \"delete-event\" signal. **Removed from GTK 4.**\n    ! DATA_DESTROY |  c_ptr |  optional |  Data to be passed to the destroy signal handler\n    ! DATA_DELETE_EVENT |  c_ptr |  optional |  Data to be passed to the delete_event signal handler\n    ! BORDER |  integer |  optional |  Size of the window border\n    ! WSIZE |  integer(2) |  optional |  Size of the window\n    ! SENSITIVE |  boolean |  optional |  Whether the widget should initially be sensitive or not.\n    ! RESIZABLE |  boolean |  optional |  Is the window resizable.\n    ! DECORATED |  boolean |  optional |  Set FALSE to disable window decorations.\n    ! DELETABLE |  boolean |  optional |  Set to FALSE to remove the \"delete\" button.\n    ! ABOVE | boolean |  optional | Set to TRUE to make the window stay on top of others. **Removed from GTK 4.**\n    ! BELOW | boolean |  optional | Set to TRUE to make the window stay below others. **Removed from GTK 4.**\n    ! PARENT |  c_ptr |  optional |  An optional parent window for the new window.\n    ! ICON |  c_ptr |  optional  |  A GdkPixbuf containing the icon for the window. **Removed from GTK 4.**\n    ! ICON_FILE |  String  |  optional  |  A file from which to read the icon for the window. **Removed from GTK 4.**\n    ! ICON_NAME |  String  |  optional  |  The name of a standard icon to use for the window.\n    ! MODAL |  boolean |  optional |  Set to true to make the window modal (only meaningful if PARENT is also set).\n    !\n    !-\n\n    win = gtk_window_new()\n    if (present(title)) call gtk_window_set_title(win, title)\n\n    if (present(border)) then\n      call gtk_widget_set_margin_start (win, border)\n      call gtk_widget_set_margin_end (win, border)\n      call gtk_widget_set_margin_top (win, border)\n      call gtk_widget_set_margin_bottom (win, border)\n    end if\n\n    if (present(wsize)) &\n         & call gtk_window_set_default_size(win, wsize(1), wsize(2))\n\n    if (present(delete_event)) then\n        print *, \"Removed from GTK 4: delete-event (use destroy event instead)\"\n    end if\n\n    if (present(destroy)) then\n       if (present(data_destroy)) then\n          call g_signal_connect(win, \"destroy\"//C_NULL_CHAR, destroy, &\n               & data_destroy)\n       else\n          call g_signal_connect(win, \"destroy\"//C_NULL_CHAR, destroy)\n       end if\n    end if\n\n    if (present(sensitive)) &\n         & call gtk_widget_set_sensitive(win, sensitive)\n\n    if (present(resizable)) &\n         & call gtk_window_set_resizable(win, resizable)\n    if (present(decorated)) &\n         & call gtk_window_set_decorated(win, decorated)\n    if (present(deletable)) &\n         & call gtk_window_set_deletable(win, deletable)\n\n    if (present(above)) print *, \"Removed from GTK 4: call gtk_window_set_keep_above(win, above)\"\n    if (present(below)) print *, \"Removed from GTK 4: call gtk_window_set_keep_below(win, below)\"\n\n    if (present(parent)) then\n       call gtk_window_set_transient_for(win, parent)\n       if (present(modal)) call gtk_window_set_modal(win, modal)\n    end if\n\n    if (present(icon)) then\n       print *, \"Removed from GTK 4: call gtk_window_set_icon(win, icon)\"\n       print *, \"=> use icon_name instead\"\n    else if (present(icon_file)) then\n       print *, \"Removed from GTK 4: icon_ok = gtk_window_set_icon_from_file (win, icon_file, c_null_ptr)\"\n       print *, \"=> use icon_name instead\"\n    else if (present(icon_name)) then\n       call gtk_window_set_icon_name(win, icon_name)\n    end if\n  end function hl_gtk_window_new\n\n  !+\n  function hl_gtk_box_new(horizontal, homogeneous, spacing) result(box)\n\n    type(c_ptr) :: box\n    integer(c_int), intent(in), optional :: horizontal, homogeneous\n    integer(c_int), intent(in), optional :: spacing\n\n    ! Generic packing box\n    !\n    ! HORIZONTAL |  boolean |  optional |  Set to TRUE to make a row box. FALSE or absent implies a column box.\n    ! HOMOGENEOUS |  boolean |  optional |  If set to TRUE then all children are the same size, FALSE or absent allows each widget to take its natural size.\n    ! SPACING |  c_int |  optional |  Set the space between children.\n    !-\n\n    integer(c_int) :: grid, space\n\n    if (present(homogeneous)) then\n       grid = homogeneous\n    else\n       grid=FALSE\n    end if\n\n    if (present(spacing)) then\n       space = spacing\n    else\n       space=0\n    end if\n\n    if (present(horizontal)) then\n       if (horizontal == TRUE) then\n          box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, space)\n          ! To keep track of the orientation inside the box object.\n          ! Just the string matters (not the value of the pointer).\n          call g_object_set_data (box, \"horizontal\"//c_null_char, box)\n       else\n          box = gtk_box_new(GTK_ORIENTATION_VERTICAL, space)\n          call g_object_set_data (box, \"vertical\"//c_null_char, box)\n       end if\n    else\n       box = gtk_box_new(GTK_ORIENTATION_VERTICAL, space)\n       call g_object_set_data (box, \"vertical\"//c_null_char, box)\n    end if\n\n    call gtk_box_set_homogeneous(box, grid)\n  end function hl_gtk_box_new\n\n  !+\n  subroutine hl_gtk_box_pack(box, child, expand, fill, padding, atend)\n\n    type(c_ptr), intent(in) :: box, child\n    integer(c_int), intent(in), optional :: expand, fill\n    integer(c_int), intent(in), optional :: padding\n    integer(c_int), intent(in), optional :: atend\n\n    ! Put a widget into a box\n    !\n    ! BOX |  c_ptr |  required |  The box into which to put the child\n    ! CHILD |  c_ptr |  required |  The child to pack\n    ! EXPAND |  boolean |  optional |  If TRUE then expand this child when filling the box, if FALSE don't, (Default TRUE)\n    ! FILL |  boolean |  optional |  If TRUE, then expand the widget when expanding, if FALSE, then put space round it. (Default TRUE, ignored if EXPAND==FALSE.\n    ! PADDING |  c_int |  optional |  Extra space to put around the child in the fill direction.\n    ! ATEND |  boolean |  optional |  If present and TRUE, then put the child at the end of the box rather than the start.\n    !-\n\n    integer(c_int) :: iexp, ifill, ipad, iend\n\n    if (present(expand)) then\n       iexp = expand\n    else\n       iexp = TRUE\n    end if\n    if (present(fill)) then\n       ifill = fill\n    else\n       ifill = TRUE\n    end if\n    if (present(padding)) then\n       ipad = padding\n    else\n       ipad = 0\n    end if\n    if (present(atend)) then\n       iend = atend\n    else\n       iend = FALSE\n    end if\n\n    ! We retrieve the orientation of the box:\n    if (c_associated(g_object_get_data(box, \"horizontal\"//c_null_char))) then\n      call gtk_widget_set_hexpand (child, iexp)\n      call gtk_widget_set_halign (child, ifill)\n    else\n      call gtk_widget_set_vexpand (child, iexp)\n      call gtk_widget_set_valign (child, ifill)\n    end if\n\n    call gtk_widget_set_margin_start (child, ipad)\n    call gtk_widget_set_margin_end (child, ipad)\n    call gtk_widget_set_margin_top (child, ipad)\n    call gtk_widget_set_margin_bottom (child, ipad)\n\n    call gtk_box_append(box, child)\n  end subroutine hl_gtk_box_pack\n\n  !+\n  function hl_gtk_table_new(nrows, ncols, homogeneous, row_spacing, &\n       & col_spacing, row_homogeneous, col_homogeneous) result(table)\n\n    type(c_ptr) :: table\n    integer(c_int), intent(in), optional :: nrows, ncols\n    integer(c_int), intent(in), optional :: homogeneous\n    integer(c_int), intent(in), optional :: row_spacing, col_spacing\n    integer(c_int), intent(in), optional :: row_homogeneous,&\n         & col_homogeneous\n\n    ! Utility interface to create a table container\n    !\n    ! NROWS |  c_int |  optional |  The initial number of rows.\n    ! NCOLS |  c_int |  optional |  The initial number of columns.\n    ! HOMOGENEOUS |  boolean |  optional |  Whether the cells all have the same size.\n    ! ROW_HOMOGENEOUS |  boolean |  optional |  Whether the rows all have the same size.\n    ! COL_HOMOGENEOUS |  boolean |  optional |  Whether the columns all have the same size.\n    ! ROW_SPACING |  c_int |  optional |  Spacing between rows.\n    ! COL_SPACING |  c_int |  optional |  Spacing between columns.\n    !\n    ! Note\n    ! This is implemented as a GtkTable for Gtk+2.x and as a GtkGrid for 3.x\n    ! For 2.x, the ROW and COL_HOMOGENEOUS settings are treated as HOMOGENOUS\n    ! except that if both are given and their values differ then homogenous is\n    ! not set.\n    ! For 3.x the ROW and COL settings take precedence over the common setting.\n    ! The NROWS and NCOLS arguments are ignored for  GTK 3.x\n    !-\n\n    integer(c_int) :: gridr, gridc\n    if (present(homogeneous)) then\n       gridr = homogeneous\n       gridc = homogeneous\n    else\n       gridr = FALSE\n       gridc = FALSE\n    end if\n    if (present(row_homogeneous)) gridr = row_homogeneous\n    if (present(col_homogeneous)) gridc = col_homogeneous\n    table = gtk_grid_new()\n    call gtk_grid_set_row_homogeneous(table, gridr)\n    call gtk_grid_set_column_homogeneous(table, gridc)\n    if (present(row_spacing)) &\n         & call gtk_grid_set_row_spacing(table, row_spacing)\n    if (present(col_spacing)) &\n         & call gtk_grid_set_column_spacing(table, col_spacing)\n\n  end function hl_gtk_table_new\n\n  !+\n  subroutine hl_gtk_table_attach(table, widget, ix, iy, xspan, yspan, &\n       & xpad, ypad, xopts, yopts)\n\n    type(c_ptr), intent(in) :: table, widget\n    integer(c_int), intent(in) :: ix, iy\n    integer(c_int), intent(in), optional :: xspan, yspan\n    integer(c_int), intent(in), optional :: xpad, ypad\n    integer(c_int), intent(in), optional :: xopts, yopts\n\n    ! Attach a widget to a table\n    !\n    ! TABLE |  c_ptr |  required |  The table to which to attach\n    ! WIDGET |  c_ptr |  required |  The widget to attach to the table\n    ! IX |  c_int |  required |  The cell number of the left edge of the widget\n    ! IY |  c_int |  required |  The cell number of the top edge of the widget.\n    ! XSPAN |  c_int |  optional |  How many cells to span in the X direction (1)\n    ! YSPAN |  c_int |  optional |  How many cells to span in the Y direction (1)\n    ! XPAD |  c_int |  optional |  Padding around the cell in the X direction\n    ! YPAD |  c_int |  optional |  Padding in the Y direction\n    ! XOPTS | c_int |  optional | X fill/expand options (from the GtkAttachOptions enumerator, or 0 for none). **Removed from GTK 4.**\n    ! YOPTS | c_int |  optional | Y fill/expand options. **Removed from GTK 4.**\n    !\n    ! N.B. GTK_SHRINK in the options is ignored in  GTK 3.x\n    !-\n\n    integer(c_int) :: ixsz, iysz\n    integer(c_int) :: ixexp, iyexp, ixfill, iyfill\n\n    if (present(xspan)) then\n       ixsz = xspan\n    else\n       ixsz = 1\n    end if\n    if (present(yspan)) then\n       iysz = yspan\n    else\n       iysz = 1\n    end if\n\n    if (present(xopts)) then\n       print *, \"Removed from GTK 4: GTK_EXPAND and GTK_FILL\"\n    else\n       ixexp = TRUE\n       ixfill = GTK_ALIGN_FILL\n    end if\n    if (present(yopts)) then\n       print *, \"Removed from GTK 4: GTK_EXPAND and GTK_FILL\"\n    else\n       iyexp = TRUE\n       iyfill = GTK_ALIGN_FILL\n    end if\n\n    call gtk_grid_attach(table, widget, ix, iy, ixsz, iysz)\n    if (present(xpad)) then\n       call gtk_widget_set_margin_start(widget, xpad)\n       call gtk_widget_set_margin_end(widget, xpad)\n    end if\n    if (present(ypad)) then\n       call gtk_widget_set_margin_top(widget, ypad)\n       call gtk_widget_set_margin_bottom(widget, ypad)\n    end if\n    call gtk_widget_set_hexpand (widget, ixexp)\n    call gtk_widget_set_vexpand (widget, iyexp)\n    call gtk_widget_set_halign (widget, ixfill)\n    call gtk_widget_set_valign (widget, iyfill)\n\n  end subroutine hl_gtk_table_attach\n\n  !+\n  subroutine hl_gtk_table_expand(table, ny, nx)\n\n    type(c_ptr), intent(in) :: table\n    integer(c_int), intent(in), optional :: ny, nx\n\n    ! Add rows and/or columns to a table\n    !\n    ! TABLE |  c_ptr |  required |  The table to enlarge\n    ! NY |  c_int |  optional |  How many rows to add\n    ! NX |  c_int |  optional |  How many columns to add\n    !\n    ! To set an absolute size, use gtk_table_resize\n    ! directly. Negative NX and/or NY will reduce the table.\n    ! For  GTK3.x this is a do-nothing routine.\n    !-\n\n  end subroutine hl_gtk_table_expand\n\n  !+\n  function hl_gtk_notebook_new(show_tabs, tab_position, popup, &\n       & scrollable, group, switch_page, data) result(nbook)\n\n    type(c_ptr) :: nbook\n    integer(c_int), intent(in), optional :: show_tabs\n    integer(c_int), intent(in), optional :: tab_position\n    integer(c_int), intent(in), optional :: popup, scrollable\n    character(kind=c_char), intent(in), optional, dimension(*), target :: group\n    type(c_funptr), optional :: switch_page\n    type(c_ptr), intent(in), optional :: data\n\n    ! Convenience function to create a notebook (tabbed) container\n    !\n    ! SHOW_TABS |  boolean |  optional |  Whether the tabs are visible\n    ! TAB_POSITION |  c_int |  optional |   Where the tabs are placed (from the GtkPositionType enumerator).\n    ! POPUP |  boolean |  optional |  Whether to have a popup tab selector.\n    ! SCROLLABLE |  boolean |  optional |  Whether the tabs are scrollable if there are too many to fit.\n    ! GROUP |  string |  optional |  A group name for the notebook (needed if you want to drag tabs from one book to another). **N.B.** For GTK+2, this probably has to be a variable to work.\n    ! SWITCH_PAGE |  c_funptr |  optional |  A callback to be called when the page selection is changed (signal switch-page). Note that this callback has 4 arguments; the notebook, the selected page, the index of that page and the user data.\n    ! DATA |  c_ptr |  optional |  Data to pass the the switch-page callback.\n    !-\n\n    nbook = gtk_notebook_new()\n\n    if (present(show_tabs)) &\n         & call gtk_notebook_set_show_tabs(nbook, show_tabs)\n\n    if (present(tab_position)) &\n         & call gtk_notebook_set_tab_pos(nbook, tab_position)\n\n    if (present(popup)) then\n       if (popup == FALSE) then\n          call gtk_notebook_popup_disable(nbook)\n       else\n          call gtk_notebook_popup_enable(nbook)\n       end if\n    end if\n\n    if (present(scrollable)) &\n         & call gtk_notebook_set_scrollable(nbook, scrollable)\n\n    if (present(group)) &\n         & call gtk_notebook_set_group_name(nbook, group)\n\n    if (present(switch_page)) then\n       if (present(data)) then\n          call g_signal_connect(nbook, \"switch-page\"//c_null_char, &\n               & switch_page, data)\n       else\n          call g_signal_connect(nbook, \"switch-page\"//c_null_char, &\n               & switch_page)\n       end if\n    end if\n\n  end function hl_gtk_notebook_new\n\n  !+\n  function hl_gtk_notebook_add_page(nbook, page, position, at_start, &\n       & reorderable, detachable, label) result(location)\n\n    integer(c_int) :: location\n    type(c_ptr), intent(in) :: nbook, page\n    integer(c_int), intent(in), optional :: position\n    integer(c_int), intent(in), optional :: at_start, reorderable, &\n         & detachable\n    character(kind=c_char), dimension(*), intent(in), optional :: label\n\n    ! Convenience function to add a page to a notebook.\n    !\n    ! NBOOK |  c_ptr |  required |  The book to which to add the page\n    ! PAGE |  c_ptr |  required |  The page to at to the book.\n    ! POSITION |  c_int |  optional |  The position at which to add the page.\n    ! AT_START |  boolean |  optional |  Set to TRUE to add at the start. (If neither AT_START nor POSITION is given the page is added at the end).\n    ! REORDERABLE |  boolean |  optional |  Whether the tab can be reordered by drag and drop\n    ! DETACHABLE |  boolean |  optional |  Whether the tab can be dragged to a different notebook (requires a group name for the notebooks).\n    ! LABEL |  string |  optional |  A label to show on the tab.\n    !\n    ! Returns the location at which the tab was added or -1 for failure.\n    !-\n\n    type(c_ptr) :: lwidget\n    integer(c_int) :: istart\n\n    if (present(label)) then\n       lwidget = gtk_label_new(label)\n    else\n       lwidget = C_NULL_PTR\n    end if\n\n    if (present(position)) then\n       location = gtk_notebook_insert_page(nbook, page, lwidget, position)\n    else\n       if (present(at_start)) then\n          istart = at_start\n       else\n          istart = FALSE\n       end if\n       if (istart == FALSE) then\n          location = gtk_notebook_append_page(nbook, page, lwidget)\n       else\n          location = gtk_notebook_prepend_page(nbook, page, lwidget)\n       end if\n    end if\n\n    if (location < 0) return\n\n    if (present(reorderable)) &\n         & call gtk_notebook_set_tab_reorderable(nbook, page, reorderable)\n\n    if (present(detachable)) &\n         & call gtk_notebook_set_tab_detachable(nbook, page, detachable)\n\n  end function hl_gtk_notebook_add_page\n\n  !+\n  function hl_gtk_scrolled_window_new(hpolicy, vpolicy, &\n       & hsize, vsize, hadjustment, vadjustment) result(win)\n\n    type(c_ptr) :: win\n    integer(c_int), intent(in), optional :: hpolicy, vpolicy\n    integer(c_int), intent(in), optional :: hsize, vsize\n    type(c_ptr), intent(in), optional :: hadjustment, vadjustment\n\n    ! Create a scrolled window, with convenient settings.\n    !\n    ! HPOLICY |  c_int |  optional |  Whether to show the horizontal scrollbar default- GTK_POLICY_AUTOMATIC, allowed- any GTK_POLICY_TYPE\n    ! VPOLICY |  c_int |  optional |  Whether to show the vertical scrollbar default- GTK_POLICY_AUTOMATIC, allowed- any GTK_POLICY_TYPE\n    ! HSIZE |  c_int |  optional |  The size of the window in the horizontal direction.\n    ! VSIZE |  c_int |  optional |  The size of the window in the vertical direction.\n    ! HADJUSTMENT |  c_ptr |  optional |  An adjustment widget to use in place of the automatically generated scrollbar in the horizontal direction. **Removed from GTK 4.**\n    ! VADJUSTMENT |  c_ptr |  optional |  An adjustment widget to use in place of the automatically generated scrollbar in the vertical direction. **Removed from GTK 4.**\n    !-\n\n    integer(c_int) :: hpol, vpol, hsz, vsz\n    logical :: have_size, have_policy\n\n    ! Set up the scroll bar policies.\n    have_policy = .false.\n    if (present(hpolicy)) then\n       hpol = hpolicy\n       have_policy = .true.\n    else\n       hpol = GTK_POLICY_AUTOMATIC\n    end if\n    if (present(vpolicy)) then\n       vpol = vpolicy\n       have_policy = .true.\n    else\n       vpol = GTK_POLICY_AUTOMATIC\n    end if\n\n    ! Set up the sizes\n    have_size = .false.\n    if (present(hsize)) then\n       hsz = hsize\n       have_size = .true.\n    else\n       hsz = -1\n    end if\n    if (present(vsize)) then\n       vsz = vsize\n       have_size = .true.\n    else\n       vsz = -1\n    end if\n\n    ! Set up the adjustments\n    if (present(hadjustment)) then\n       print *, \"Removed from GTK 4: hadjustment in gtk_scrolled_window_new()\"\n    end if\n    if (present(vadjustment)) then\n       print *, \"Removed from GTK 4: vadjustment in gtk_scrolled_window_new()\"\n    end if\n\n    win = gtk_scrolled_window_new()\n\n    if (have_policy) call gtk_scrolled_window_set_policy(win, hpol, vpol)\n    if (have_size) call gtk_widget_set_size_request(win, hsz, vsz)\n  end function hl_gtk_scrolled_window_new\n\n  !+\n  subroutine hl_gtk_scrolled_window_add(win, child, viewport)\n    type(c_ptr), intent(in) :: win, child\n    integer(c_int), intent(in), optional :: viewport\n\n    ! Add a widget to a scrolled window.\n    !\n    ! WIN |  c_ptr |  required |  The scrolled window.\n    ! CHILD |  c_ptr |  required |  The widget to insert.\n    ! VIEWPORT |  c_int |  optional |  Set this to true if the child widget requires a viewport between it and the scrolled window. Unfortunately I can't see a way to determine automatically whether this is needed.\n    !-\n\n    call gtk_scrolled_window_set_child(win, child)\n  end subroutine hl_gtk_scrolled_window_add\n\nend module gtk_hl_container\n"
  },
  {
    "path": "src/gtk-hl-dialog.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2011 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!------------------------------------------------------------------------------\n! Contributed by James Tappin\n! Last modifications: 2012-12-31, vmagnin 2025-05-05\n! https://developer.gnome.org/gtk4/stable/GtkDialog.html\n!------------------------------------------------------------------------------\n!*\n! Dialog\nmodule gtk_hl_dialog\n  ! The message dialogue provided is here because, the built-in message\n  ! dialogue GtkMessageDialog cannot be created without calling variadic\n  ! functions which are not compatible with Fortran, therefore this is\n  ! based around the plain GtkDialog family.\n  !\n  ! There are two functions provided, one; hl_gtk_message_dialog_new,\n  ! just creates a dialogue and the other; hl_gtk_message_dialog_show,\n  ! creates the dialogue and also displays it and returns the response.\n  ! Unless you need to add other non-standard buttons to the dialogue\n  ! it is easier to use  hl_gtk_message_dialog_show.\n  !/\n\n  use gtk_sup\n  use, intrinsic :: iso_c_binding\n\n  ! autogenerated use's\n  use gtk, only: g_signal_connect, &\n       & gtk_about_dialog_new, gtk_about_dialog_set_artists, &\n       & gtk_about_dialog_set_authors, gtk_about_dialog_set_comments, &\n       & gtk_about_dialog_set_copyright, gtk_about_dialog_set_documenters, &\n       & gtk_about_dialog_set_license, gtk_about_dialog_set_program_name, &\n       & gtk_about_dialog_set_translator_credits, &\n       & gtk_about_dialog_set_logo, &\n       & gtk_about_dialog_set_version, gtk_about_dialog_set_website, &\n       & gtk_about_dialog_set_website_label, gtk_box_append, &\n       & gtk_box_new, gtk_about_dialog_set_license_type, &\n       & gtk_dialog_add_button, gtk_dialog_get_content_area, gtk_dialog_new, &\n       & gtk_image_new_from_icon_name, gtk_label_new, &\n       & gtk_label_set_markup, gtk_window_destroy, gtk_widget_show, &\n       & gtk_window_set_destroy_with_parent, gtk_window_set_modal, &\n       & gtk_window_set_title, gtk_window_set_transient_for, TRUE, &\n       & GTK_RESPONSE_NONE, GTK_RESPONSE_OK, GTK_RESPONSE_CANCEL, &\n       & GTK_RESPONSE_CLOSE, GTK_RESPONSE_YES, GTK_RESPONSE_NO, &\n       & GTK_MESSAGE_INFO, GTK_MESSAGE_WARNING, &\n       & GTK_MESSAGE_QUESTION, GTK_MESSAGE_ERROR, GTK_MESSAGE_OTHER, &\n       & GTK_BUTTONS_NONE, GTK_BUTTONS_OK, GTK_BUTTONS_CLOSE, &\n       & GTK_ORIENTATION_HORIZONTAL,  GTK_ORIENTATION_VERTICAL, &\n       & GTK_LICENSE_GPL_3_0, &\n       & GTK_BUTTONS_CANCEL, GTK_BUTTONS_YES_NO, GTK_BUTTONS_OK_CANCEL, &\n       & GTK_RESPONSE_DELETE_EVENT, &\n       & gtk_image_set_icon_size, GTK_ICON_SIZE_LARGE\n\n  use g, only: g_main_loop_new, g_main_loop_run, g_main_loop_quit\n\n  implicit none\n  integer(c_int) :: dialog_response\n  type(c_ptr) :: dialog_gmainloop\n\ncontains\n\n  !+\n  function hl_gtk_message_dialog_new(message, button_set, title, type, &\n       & parent) result(dialog)\n\n    type(c_ptr) :: dialog\n    character(len=*), dimension(:), intent(in) :: message\n    integer(c_int), intent(in) :: button_set\n    character(kind=c_char), dimension(*), intent(in), optional :: title\n    integer(c_int), intent(in), optional :: type\n    type(c_ptr), intent(in), optional :: parent\n\n    ! A DIY version of the message dialogue, needed because both creators\n    ! for the built in one are variadic and so not callable from Fortran.\n    !\n    ! MESSAGE |  string(n) |  required |  The message to display. Since this is a string array, the C_NULL_CHAR terminations are provided internally\n    ! BUTTON_SET |  integer |  required |  The set of buttons to display\n    ! TITLE |  string |  optional |  Title for the window.\n    ! TYPE |  c_int |  optional |  Message type (a GTK_MESSAGE_ value)\n    ! PARENT |  c_ptr |  optional |  An optional parent for the dialogue.\n    !-\n\n    type(c_ptr) :: content, junk, hb, vb\n    integer :: i\n    integer(c_int) :: itype\n\n    ! Create the dialog window and make it modal.\n\n    dialog=gtk_dialog_new()\n    call gtk_window_set_modal(dialog, TRUE)\n    if (present(title)) call gtk_window_set_title(dialog, title)\n\n    if (present(parent)) then\n       call gtk_window_set_transient_for(dialog, parent)\n       call gtk_window_set_destroy_with_parent(dialog, TRUE)\n    end if\n\n    ! Get the content area and put the message in it.\n    content = gtk_dialog_get_content_area(dialog)\n    if (present(type)) then\n       itype = type\n    else if (button_set == GTK_BUTTONS_YES_NO) then\n       itype = GTK_MESSAGE_QUESTION\n    else\n       itype = GTK_MESSAGE_OTHER\n    end if\n\n    if (itype /= GTK_MESSAGE_OTHER) then\n       hb = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0_c_int)\n       call gtk_box_append(content, hb)\n\n       ! For the new icon names, replacing the GTK_STOCK, see:\n       ! https://developer.gnome.org/gtk3/stable/gtk3-Stock-Items.html\n       select case (itype)\n       case (GTK_MESSAGE_ERROR)\n          junk = gtk_image_new_from_icon_name(\"dialog-error\"//c_null_char)\n       case (GTK_MESSAGE_WARNING)\n          junk = gtk_image_new_from_icon_name(\"dialog-warning\"//c_null_char)\n       case (GTK_MESSAGE_INFO)\n          junk = gtk_image_new_from_icon_name(\"dialog-information\"//c_null_char)\n       case (GTK_MESSAGE_QUESTION)\n          junk = gtk_image_new_from_icon_name(\"dialog-question\"//c_null_char)\n       case default\n          junk=C_NULL_PTR\n       end select\n\n       if (c_associated(junk)) then\n         call gtk_image_set_icon_size (junk, GTK_ICON_SIZE_LARGE)\n         call gtk_box_append(hb, junk)\n       end if\n\n       vb = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0_c_int)\n       call gtk_box_append(hb, vb)\n    else\n       vb = content\n    end if\n\n    do i = 1, size(message)\n       if (i == 1) then\n          junk = gtk_label_new(c_null_char)\n          call gtk_label_set_markup(junk, '<b><big>'//trim(message(i))// &\n               & '</big></b>'//c_null_char)\n       else\n          junk = gtk_label_new(trim(message(i))//c_null_char)\n       end if\n       call gtk_box_append(vb, junk)\n    end do\n\n    select case (button_set)\n    case (GTK_BUTTONS_NONE)\n    case (GTK_BUTTONS_OK)\n       junk = gtk_dialog_add_button(dialog, \"_OK\"//C_NULL_CHAR, GTK_RESPONSE_OK)\n    case (GTK_BUTTONS_CLOSE)\n       junk = gtk_dialog_add_button(dialog, \"_Close\"//C_NULL_CHAR, &\n            & GTK_RESPONSE_CLOSE)\n    case (GTK_BUTTONS_CANCEL)\n       junk = gtk_dialog_add_button(dialog, \"_Cancel\"//C_NULL_CHAR, &\n            & GTK_RESPONSE_CANCEL)\n    case (GTK_BUTTONS_YES_NO)\n       junk = gtk_dialog_add_button(dialog, \"Yes\"//C_NULL_CHAR, GTK_RESPONSE_YES)\n       junk = gtk_dialog_add_button(dialog, \"No\"//C_NULL_CHAR, GTK_RESPONSE_NO)\n    case (GTK_BUTTONS_OK_CANCEL)\n       junk = gtk_dialog_add_button(dialog, \"_OK\"//C_NULL_CHAR, GTK_RESPONSE_OK)\n       junk = gtk_dialog_add_button(dialog, \"_Cancel\"//C_NULL_CHAR, &\n            & GTK_RESPONSE_CANCEL)\n    case default\n       call gtk_window_destroy(dialog)\n       dialog = c_null_ptr\n\n    end select\n\n  end function hl_gtk_message_dialog_new\n\n  !+\n  function hl_gtk_message_dialog_show(message, button_set, title, type, &\n       & parent) result(resp)\n\n    integer(c_int) :: resp\n    character(len=*), dimension(:), intent(in) :: message\n    integer(c_int), intent(in) :: button_set\n    character(kind=c_char), dimension(*), intent(in), optional :: title\n    integer(c_int), intent(in), optional :: type\n    type(c_ptr), intent(in), optional :: parent\n\n    ! A DIY version of the message dialogue, needed because both creators\n    ! for the built in one are variadic and so not callable from Fortran.\n    ! This version runs the dialog as well as creating it.\n    !\n    ! MESSAGE |  string(n) |  required |  The message to display. Since this is a string array, the C_NULL_CHAR terminations are provided internally\n    ! BUTTON_SET |  integer |  required |  The set of buttons to display\n    ! TITLE |  string |  optional |  Title for the window.\n    ! TYPE |  c_int |  optional |  Message type (a GTK_MESSAGE_ value)\n    ! PARENT |  c_ptr |  optional |  An optional parent for the dialogue.\n    !\n    ! This version returns a response code, not a widget pointer.\n    !-\n\n    type(c_ptr) :: dialog\n\n    dialog = hl_gtk_message_dialog_new(message, button_set, title, type, &\n         & parent)\n\n    if (c_associated(dialog)) then\n       call gtk_widget_show(dialog)\n       call g_signal_connect(dialog, \"response\"//c_null_char, &\n                                    & c_funloc(dialog_callback))\n       dialog_gmainloop = g_main_loop_new(c_null_ptr, FALSE)\n       call g_main_loop_run(dialog_gmainloop)\n       resp = dialog_response\n    else\n       resp = GTK_RESPONSE_NONE\n    end if\n  end function hl_gtk_message_dialog_show\n\n! https://developer.gnome.org/gtk4/stable/GtkDialog.html#GtkDialog-response\n  subroutine dialog_callback(dialog, response_id, user_data) bind(c)\n    type(c_ptr), value, intent(in) :: dialog, user_data\n    integer(c_int), value, intent(in) :: response_id\n\n    ! Global variable:\n    dialog_response = response_id\n\n    call gtk_window_destroy(dialog)\n    call g_main_loop_quit(dialog_gmainloop)\n  end subroutine dialog_callback\n\n  !+\n  function hl_gtk_about_dialog_new(name, license, license_type, &\n       & comments, authors, website, website_label, copyright, version, &\n       & documenters, translators, artists, logo, parent) result(about)\n    type(c_ptr) :: about\n    character(kind=c_char, len=*), intent(in), optional :: name\n    character(kind=c_char, len=*), intent(in), optional :: license\n    integer(c_int), intent(in), optional :: license_type\n    character(kind=c_char, len=*), intent(in), optional :: comments\n    character(len=*, kind=c_char), dimension(:), optional, target :: authors, &\n         & documenters, artists\n    character(kind=c_char, len=*), intent(in), optional :: website, &\n         & website_label, translators, copyright, version\n    type(c_ptr), intent(in), optional :: logo, parent\n\n    ! A convenience interface for about dialogues.\n    !\n    ! NAME |  string |  optional |  The name of the program etc.\n    ! LICENCE |  string |  optional |  The license for the program.\n    ! LICENCE_TYPE |  c_int |  optional |  Specify a license from the GtkLicence enumerator. (Only valid in  GTK 3.0 and later)\n    ! COMMENTS |  string |  optional |  A description of the program/library...\n    ! AUTHORS |  string() |  optional |  A list of the authors.\n    ! WEBSITE |  string |  optional |  The website.\n    ! WEBSITE_LABEL |  string |  optional |  A label to describe the website.\n    ! COPYRIGHT |  string |  optional |  The copyright message.\n    ! VERSION |  string |  optional |  The version of the program.\n    ! DOCUMENTERS |  string() |  optional |  The documentation authors.\n    ! TRANSLATORS |  string |  optional |  The translators (N.B. unlike the other credits, this is a single string).\n    ! ARTISTS |  string() |  optional |  The artists involved.\n    ! LOGO |  c_ptr |  optional |  A gdk_pixbuf with the project's logo.\n    ! PARENT |  c_ptr |  optional |  The parent widget of the window.\n    !-\n\n    character(kind=c_char), dimension(:), allocatable :: string\n    character(kind=c_char), pointer, dimension(:) :: credit\n    type(c_ptr), dimension(:), allocatable :: cptr\n    integer :: i\n\n    about = gtk_about_dialog_new()\n    call gtk_window_set_modal(about, TRUE)\n    if (present(parent)) call gtk_window_set_transient_for(about, parent)\n\n    if (present(logo)) call gtk_about_dialog_set_logo(about, logo)\n\n    if (present(name)) then\n       call convert_f_string(name, string)\n       call gtk_about_dialog_set_program_name(about, string)\n       deallocate(string)\n    end if\n\n    if (present(license)) then\n       call convert_f_string(license, string)\n       call gtk_about_dialog_set_license(about, string)\n       deallocate(string)\n    else if (present(license_type)) then\n       call gtk_about_dialog_set_license_type(about, license_type)\n    end if\n\n    if (present(comments)) then\n       call convert_f_string(comments, string)\n       call gtk_about_dialog_set_comments(about, string)\n       deallocate(string)\n    end if\n    if (present(website)) then\n       call convert_f_string(website, string)\n       call gtk_about_dialog_set_website(about, string)\n       deallocate(string)\n    end if\n    if (present(website_label)) then\n       call convert_f_string(website_label, string)\n       call gtk_about_dialog_set_website_label(about, string)\n       deallocate(string)\n    end if\n    if (present(translators)) then\n       call convert_f_string(translators, string)\n       call gtk_about_dialog_set_translator_credits(about, string)\n       deallocate(string)\n    end if\n    if (present(copyright)) then\n       call convert_f_string(copyright, string)\n       call gtk_about_dialog_set_copyright(about, string)\n       deallocate(string)\n    end if\n    if (present(version)) then\n       call convert_f_string(version, string)\n       call gtk_about_dialog_set_version(about, string)\n       deallocate(string)\n    end if\n\n    if (present(authors)) then\n       allocate(cptr(size(authors)+1))\n       do i = 1, size(authors)\n          call convert_f_string(authors(i), string)\n          allocate(credit(size(string)))\n          credit(:) = string(:)\n          cptr(i) = c_loc(credit(1))\n          nullify(credit)\n       end do\n       cptr(size(authors)+1) = c_null_ptr\n       call gtk_about_dialog_set_authors(about, cptr)\n       deallocate(cptr)\n    end if\n    if (present(documenters)) then\n       allocate(cptr(size(documenters)+1))\n       do i = 1, size(documenters)\n          call convert_f_string(documenters(i), string)\n          allocate(credit(size(string)))\n          credit(:) = string(:)\n          cptr(i) = c_loc(credit(1))\n          nullify(credit)\n       end do\n       cptr(size(documenters)+1) = c_null_ptr\n       call gtk_about_dialog_set_documenters(about, cptr)\n       deallocate(cptr)\n    end if\n    if (present(artists)) then\n       allocate(cptr(size(artists)+1))\n       do i = 1, size(artists)\n          call convert_f_string(artists(i), string)\n          allocate(credit(size(string)))\n          credit(:) = string(:)\n          cptr(i) = c_loc(credit(1))\n          nullify(credit)\n       end do\n       cptr(size(artists)+1) = c_null_ptr\n       call gtk_about_dialog_set_artists(about, cptr)\n       deallocate(cptr)\n    end if\n\n  end function hl_gtk_about_dialog_new\n\n  subroutine hl_gtk_about_dialog_show(name, license, license_type, &\n       & comments, authors, website, website_label, copyright, version, &\n       & documenters, translators, artists, logo, parent)\n\n    character(kind=c_char, len=*), intent(in), optional :: name\n    character(kind=c_char, len=*), intent(in), optional :: license\n    integer(c_int), intent(in), optional :: license_type\n    character(kind=c_char, len=*), intent(in), optional :: comments\n    character(len=*, kind=c_char), dimension(:), optional, target :: authors, &\n         & documenters, artists\n    character(kind=c_char, len=*), intent(in), optional :: website, &\n         & website_label, translators, copyright, version\n    type(c_ptr), intent(in), optional :: logo, parent\n\n    ! A convenience interface for about dialogues, displays the dialogue\n    ! as well as creating it.\n    ! The arguments are identical to hl_gtk_about_dialog_new.\n    !-\n\n    type(c_ptr) :: about\n\n    about = hl_gtk_about_dialog_new(name, license, license_type, &\n         & comments, authors, website, website_label, copyright, version, &\n         & documenters, translators, artists, logo, parent)\n\n    call gtk_widget_show(about)\n    call g_signal_connect(about, \"close-request\"//c_null_char, &\n                                    & c_funloc(dialog_callback))\n    dialog_gmainloop = g_main_loop_new(c_null_ptr, FALSE)\n    call g_main_loop_run(dialog_gmainloop)\n  end subroutine hl_gtk_about_dialog_show\n\n  !+\n  subroutine hl_gtk_about_dialog_gtk_fortran(parent)\n    type(c_ptr), intent(in), optional :: parent\n\n    ! A standard \"About\" dialogue for gtk-fortran\n    !\n    ! PARENT |  c_ptr |  optional |  A parent widget for the dialogue.\n    !-\n\n    call hl_gtk_about_dialog_show(name=\"Gtk-fortran\", &\n         & authors = [character(len=14) :: \"Jerry DeLisle\", &\n         & \"Vincent Magnin\", \"James Tappin\", \"Jens Hunger\", \"Kyle Horne\"], &\n         & license_type=GTK_LICENSE_GPL_3_0, &\n         & comments = &\n         &\"The gtk-fortran project aims to offer scientists programming \"//&\n         &\"in Fortran a cross-platform library to build Graphical User \"//&\n         &\"Interfaces (GUI).\"//c_new_line// &\n         &\"Gtk-fortran is a partial GTK / Fortran binding 100% written \"//&\n         &\"in Fortran, thanks to the ISO_C_BINDING module for \"//&\n         &\"interoperability between C and Fortran, which is a part of the \"//&\n         &\"Fortran 2003 standard. Gtk-Fortran also provides a number of \"//&\n         &\"'high-level' interfaces to common widgets.\"//&\n         &c_new_line//c_new_line// &\n         &\"GTK is a free software cross-platform graphical library \"//&\n         &\"available for Linux, Unix, Windows and MacOs X.\"//C_NULL_CHAR, &\n         & website=\"https://github.com/jerryd/gtk-fortran/wiki\"//C_NULL_CHAR,&\n         & parent=parent)\n\n  end subroutine hl_gtk_about_dialog_gtk_fortran\nend module gtk_hl_dialog\n"
  },
  {
    "path": "src/gtk-hl-entry.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2012 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n! ---------------------------------------------------------\n! Contributed by James Tappin (2012)\n! Last modification: vmagnin 2020-05-28 (GTK 4), 2020-10-21\n! ---------------------------------------------------------\n\n!*\n! Text Entry\nmodule gtk_hl_entry\n  ! Convenience functions for both single and multiple line text boxes.\n  !\n  ! The single line is just wrappers for the GtkEntry widget.\n  !\n  ! The multi line editor is based around the GtkTextView widget family.\n  ! The HL interface hides the text buffer from the user, except in some\n  ! callbacks where the signal is attached to the buffer not the view.\n  !\n  ! If you do need to access the text buffer directly it can be obtained with\n  ! the gtk_text_view_get_buffer function, or it can be returned via the\n  ! optional BUFFER argument to the constructor.\n  !/\n\n  use gtk_sup\n  use, intrinsic :: iso_c_binding\n  use, intrinsic :: iso_fortran_env, only: error_unit\n\n  ! auto-generated use's\n  use gtk, only: gtk_scrolled_window_set_child, gtk_editable_set_editable,&\n       & gtk_entry_buffer_get_text, gtk_entry_buffer_set_text, &\n       & gtk_entry_get_text_length, &\n       & gtk_entry_new, gtk_entry_get_buffer, &\n       & gtk_entry_set_activates_default, gtk_entry_set_max_length,&\n       & gtk_scrolled_window_new,&\n       & gtk_scrolled_window_set_policy, gtk_text_buffer_delete,&\n       & gtk_text_buffer_get_char_count, gtk_text_buffer_get_end_iter&\n       &, gtk_text_buffer_get_insert,&\n       & gtk_text_buffer_get_iter_at_line,&\n       & gtk_text_buffer_get_iter_at_line_offset,&\n       & gtk_text_buffer_get_iter_at_mark,&\n       & gtk_text_buffer_get_line_count, gtk_text_buffer_get_modified&\n       &, gtk_text_buffer_get_selection_bound,&\n       & gtk_text_buffer_get_selection_bounds,&\n       & gtk_text_buffer_get_start_iter, gtk_text_buffer_get_text,&\n       & gtk_text_buffer_insert, gtk_text_buffer_insert_at_cursor,&\n       & gtk_text_buffer_new, gtk_text_buffer_set_modified,&\n       & gtk_text_buffer_set_text, gtk_text_iter_forward_char,&\n       & gtk_text_iter_forward_chars, gtk_text_iter_forward_line,&\n       & gtk_text_iter_forward_lines, gtk_text_iter_get_line,&\n       & gtk_text_iter_get_line_offset, gtk_text_iter_get_offset,&\n       & gtk_text_view_get_buffer, gtk_text_view_new,&\n       & gtk_text_view_new_with_buffer, gtk_text_view_set_editable,&\n       & gtk_widget_set_sensitive, gtk_widget_set_size_request,&\n       & gtk_widget_set_tooltip_text, GTK_POLICY_AUTOMATIC, &\n       & TRUE, FALSE, g_signal_connect\n\n  implicit none\n\ncontains\n  !+\n  function hl_gtk_entry_new(len, editable, activate, data, tooltip, value, &\n       & sensitive, changed, data_changed, delete_text, data_delete_text, &\n       & insert_text, data_insert_text, focus_in_event, focus_out_event, &\n       & data_focus_in, data_focus_out, size) result(entry)\n\n    type(c_ptr) :: entry\n    integer(c_int), intent(in), optional :: len\n    integer(c_int), intent(in), optional :: editable\n    type(c_funptr), optional :: activate, focus_in_event, focus_out_event\n    type(c_ptr), optional :: data\n    character(kind=c_char), dimension(*), intent(in), optional :: tooltip, value\n    integer(c_int), intent(in), optional :: sensitive\n    type(c_funptr), optional :: changed, delete_text, insert_text\n    type(c_ptr), optional :: data_changed, data_delete_text, data_insert_text\n    type(c_ptr), optional :: data_focus_in, data_focus_out\n    integer(c_int), intent(in), optional :: size\n    type(c_ptr) :: buffer\n\n    ! Higher level text entry box\n    !\n    ! LEN |  integer |  optional |  The maximum length of the entry field.\n    ! EDITABLE |  boolean |  optional |  whether the entry box can be edited by the user\n    ! ACTIVATE |  c_funptr |  optional |  Callback function for the \"activate\" signal\n    ! DATA |  c_ptr |  optional |  Data to be passed to the activate callback (this is a plain DATA because the changed and other signals were added later.\n    ! TOOLTIP |  string |  optional |  tooltip to be displayed when the pointer is held over the button.\n    ! VALUE |  string |  optional |  An initial value for the entry box.\n    ! SENSITIVE |  boolean |  optional |  Whether the widget should initially be sensitive or not.\n    ! CHANGED |  c_funptr |  optional |  Callback for the \"changed\" signal.\n    ! DATA_CHANGED |  c_ptr |  optional |  Data to be passed to the changed callback.\n    ! DELETE_TEXT |  c_funptr |  optional |  Callback for the \"delete-text\" signal.\n    ! DATA_DELETE_TEXT |  c_ptr |  optional |  Data to be passed to the delete_text callback\n    ! INSERT_TEXT |  c_funptr |  optional |  Callback for the \"insert-text\" signal.\n    ! DATA_INSERT_TEXT |  c_ptr |  optional |  Data to be passed to the insert_text callback\n    ! FOCUS_OUT_EVENT |  c_funptr |  optional |  Callback for the \"focus-out-event\" signal, this is a GDK event rather than a GTK signal, so the call back is a function of 3 arguments returning gboolean.\n    ! DATA_FOCUS_OUT |  c_ptr |  optional |  Data to pass to the focus_out_event callback\n    ! FOCUS_IN_EVENT |  c_funptr |  optional |  Callback for the \"focus-in-event\" signal, this is a GDK event rather than a GTK signal, so the call back is a function of 3 arguments returning gboolean.\n    ! DATA_FOCUS_IN |  c_ptr |  optional |  Data to pass to the focus_in_event callback\n    ! SIZE |  integer  |  optional  |  The X-size request for the widget. Y is set to default (-1). Note that Gtk may make the widget bigger than this if expand/fill options in the packing require it.\n    !-\n\n    entry = gtk_entry_new()\n    call gtk_entry_set_activates_default(entry, TRUE)\n\n    if (present(len)) call gtk_entry_set_max_length(entry, len)\n    if (present(size)) call gtk_widget_set_size_request(entry, size, -1_c_int)\n\n    if (present(editable)) &\n         & call gtk_editable_set_editable(entry, editable)\n\n   if (present(value)) then\n     buffer = gtk_entry_get_buffer(entry)\n     ! number of caracters = -1 for automatic length:\n     call gtk_entry_buffer_set_text (buffer, value, -1)\n   end if\n\n    if (present(activate)) then\n       if (present(data)) then\n          call g_signal_connect(entry, &\n               & \"activate\"//C_NULL_CHAR, activate, data)\n       else\n          call g_signal_connect(entry, &\n               & \"activate\"//C_NULL_CHAR, activate)\n       end if\n    end if\n\n    if (present(changed)) then\n       if (present(data_changed)) then\n          call g_signal_connect(entry, \"changed\"//C_NULL_CHAR, changed, &\n               & data_changed)\n       else\n          call g_signal_connect(entry, \"changed\"//C_NULL_CHAR, changed)\n       end if\n    end if\n    if (present(delete_text)) then\n       if (present(data_delete_text)) then\n          call g_signal_connect(entry, \"delete-text\"//C_NULL_CHAR, &\n               & delete_text, data_delete_text)\n       else\n          call g_signal_connect(entry, \"delete-text\"//C_NULL_CHAR, delete_text)\n       end if\n    end if\n    if (present(insert_text)) then\n       if (present(data_insert_text)) then\n          call g_signal_connect(entry, \"insert-text\"//C_NULL_CHAR, &\n               & insert_text, data_insert_text)\n       else\n          call g_signal_connect(entry, \"insert-text\"//C_NULL_CHAR, insert_text)\n       end if\n    end if\n    if (present(focus_out_event)) then\n       if (present(data_focus_out)) then\n          call g_signal_connect(entry, &\n               & \"focus-out-event\"//C_NULL_CHAR, focus_out_event, &\n               & data_focus_out)\n       else\n          call g_signal_connect(entry, &\n               & \"focus-out-event\"//C_NULL_CHAR, focus_out_event)\n       end if\n    end if\n\n    if (present(focus_in_event)) then\n       if (present(data_focus_in)) then\n          call g_signal_connect(entry, &\n               & \"focus-in-event\"//C_NULL_CHAR, focus_in_event, data_focus_in)\n       else\n          call g_signal_connect(entry, &\n               & \"focus-in-event\"//C_NULL_CHAR, focus_in_event)\n       end if\n    end if\n\n    if (present(tooltip)) call gtk_widget_set_tooltip_text(entry, tooltip)\n\n    if (present(sensitive)) &\n         & call gtk_widget_set_sensitive(entry, sensitive)\n\n  end function hl_gtk_entry_new\n\n  !+\n  subroutine hl_gtk_entry_get_text(entry, text, status)\n\n    type(c_ptr), intent(in) :: entry\n    character(len=*), intent(out) :: text\n    integer(c_int), optional, intent(out) :: status\n\n    ! Return the text in an entry box as a fortran string.\n    !\n    ! ENTRY |  c_ptr |  required |  The text entry to read\n    ! TEXT |  f_string |  required |  The text read.\n    ! STATUS |  c_int |  optional |  Returns -1 if the string is truncated.\n    !\n    ! To return the text as a c-pointer use gtk_entry_get_text\n    !-\n\n    type(c_ptr) :: buffer\n    integer(c_int16_t) :: ntext\n    integer(c_int) :: istat\n    istat = 0\n\n    ntext = gtk_entry_get_text_length(entry)\n    if (ntext == 0) then\n       text=''\n       return\n    end if\n\n    buffer = gtk_entry_get_buffer(entry)\n    call c_f_string_copy(gtk_entry_buffer_get_text(buffer), text)\n\n    if (present(status)) status=istat\n  end subroutine hl_gtk_entry_get_text\n\n  !+\n  function hl_gtk_text_view_new(scroll, editable, changed, data_changed, &\n       & insert_text, data_insert_text, delete_range, data_delete_range, &\n       & initial_text, sensitive, tooltip, ssize, buffer, focus_in_event, &\n       & focus_out_event, data_focus_in, data_focus_out, hscroll_policy, &\n       & vscroll_policy) result(view)\n\n    type(c_ptr) :: view\n    type(c_ptr), intent(out), optional :: scroll\n    integer(c_int), intent(in), optional :: editable\n    type(c_funptr), optional :: changed, insert_text, delete_range\n    type(c_ptr), optional :: data_changed, data_insert_text, data_delete_range\n    character(kind=c_char, len=*), dimension(:), intent(in), &\n         & optional :: initial_text\n    integer(c_int), intent(in), optional :: sensitive\n    character(kind=c_char), dimension(*), optional :: tooltip\n    integer(c_int), dimension(:), optional :: ssize\n    type(c_ptr), intent(out), optional :: buffer\n    type(c_funptr), optional :: focus_in_event, focus_out_event\n    type(c_ptr), optional :: data_focus_in, data_focus_out\n    integer(c_int), intent(in), optional :: hscroll_policy, vscroll_policy\n\n    ! A multiline text edit widget\n    !\n    ! SCROLL |  c_ptr |  optional |  A scrolled window in which the text editor is placed. If it is present, then it must be used used for packing the widget into your application. If it is not used, then scroll bars will not be added if the text goes beyond the edge of the box.\n    ! EDITABLE |  boolean |  optional |  Set to FALSE to make a non-editable text box.\n    ! CHANGED |  c_funptr |  optional |  Callback for the \"activate\" signal.\n    ! DATA_CHANGED |  c_ptr |  optional |  User data to pass to/from the activate callback\n    ! INSERT_TEXT |  c_funptr |  optional |  Callback for the \"insert-text\" signal. This handler is attached to the text buffer not the text view.\n    ! DATA_INSERT_TEXT |  c_ptr |  optional |  User data for the insert-text callback.\n    ! DELETE_RANGE |  c_funptr |  optional |  Callback for the \"delete-range\" signal. This handler is attached to the text buffer not the text view.\n    ! DATA_DELETE_RANGE |  c_ptr |  optional |  User data for the delete-range callback.\n    ! INITIAL_TEXT |  string() |  optional |  Initial text to put in the text window.\n    ! SENSITIVE |  boolean |  optional |  Set to FALSE to make the widget start in an insensitive state.\n    ! TOOLTIP |  string |  optional |  A tooltip to display when the pointer is held over the widget.\n    ! SSIZE |  c_int(2) |  optional |  Size of the scroll widget.\n    ! BUFFER |  c_ptr |  optional |  Variable to return the buffer pointer\n    ! FOCUS_OUT_EVENT |  c_funptr |  optional |  Callback for the \"focus-out-event\" signal, this is a GDK event rather than a GTK signal, so the call back is a function of 3 arguments returning gboolean.\n    ! DATA_FOCUS_OUT |  c_ptr |  optional |  Data to pass to the focus_out_event callback\n    ! FOCUS_IN_EVENT |  c_funptr |  optional |  Callback for the \"focus-in-event\" signal, this is a GDK event rather than a GTK signal, so the call back is a function of 3 arguments returning gboolean.\n    ! DATA_FOCUS_IN |  c_ptr |  optional |  Data to pass to the focus_in_event callback\n    ! HSCROLL_POLICY |  int |  optional |  Horizontal scrolling policy for the containing scroll window (default AUTOMATIC).\n    ! VSCROLL_POLICY |  int |  optional |  Vertical scrolling policy for the containing scroll window (default AUTOMATIC).\n    !\n    ! NOTE -- The insert-text and delete-range callbacks take extra arguments.\n    ! They are called before the buffer is actually modified. The changed\n    ! callback is called after the change.\n    !-\n\n    type(c_ptr) :: tbuf\n    character(kind=c_char), dimension(:), allocatable :: text0\n    type(gtktextiter), target :: iter\n    integer(c_int) :: itextlen, hscroll, vscroll\n\n    tbuf = gtk_text_buffer_new(C_NULL_PTR)\n    view = gtk_text_view_new_with_buffer(tbuf)\n\n    if (present(scroll)) then\n       if (present(hscroll_policy)) then\n          hscroll = hscroll_policy\n       else\n          hscroll = GTK_POLICY_AUTOMATIC\n       end if\n       if (present(vscroll_policy)) then\n          vscroll = vscroll_policy\n       else\n          vscroll = GTK_POLICY_AUTOMATIC\n       end if\n       scroll = gtk_scrolled_window_new()\n       call gtk_scrolled_window_set_policy(scroll,  hscroll, vscroll)\n       if (present(ssize)) &\n            & call gtk_widget_set_size_request(scroll, ssize(1), ssize(2))\n       call gtk_scrolled_window_set_child(scroll, view)\n    else if (present(ssize)) then\n       call gtk_widget_set_size_request(view, ssize(1), ssize(2))\n    end if\n\n    if (present(editable)) then\n       call gtk_text_view_set_editable(view, editable)\n    else\n       call gtk_text_view_set_editable(view, TRUE)\n    end if\n\n    ! If there's an initial value, set it before binding the signals.\n    if (present(initial_text)) then\n       call gtk_text_buffer_get_start_iter(tbuf, c_loc(iter))\n      if (len(initial_text) > 1) then\n          call convert_f_string(initial_text, text0)\n           call gtk_text_buffer_insert(tbuf, c_loc(iter), text0, -1_c_int)\n          deallocate(text0)\n       else\n          if (initial_text(size(initial_text)) == c_null_char) then\n             itextlen = -1\n          else\n             itextlen = size(initial_text)\n          end if\n          call gtk_text_buffer_insert(tbuf, c_loc(iter), initial_text, &\n               & itextlen)\n       end if\n    end if\n\n    ! Attach the various signals\n    if (present(changed)) then\n       if (present(data_changed)) then\n          call g_signal_connect(tbuf, \"changed\"//c_null_char, changed, &\n               & data_changed)\n       else\n          call g_signal_connect(tbuf, \"changed\"//c_null_char, changed)\n       end if\n    end if\n    if (present(insert_text)) then\n       if (present(data_insert_text)) then\n          call g_signal_connect(tbuf, \"insert-text\"//c_null_char, insert_text, &\n               & data_insert_text)\n       else\n          call g_signal_connect(tbuf, \"insert-text\"//c_null_char, insert_text)\n       end if\n    end if\n    if (present(delete_range)) then\n       if (present(data_delete_range)) then\n          call g_signal_connect(tbuf, \"delete-range\"//c_null_char, delete_range, &\n               & data_delete_range)\n       else\n          call g_signal_connect(tbuf, \"delete-range\"//c_null_char, delete_range)\n       end if\n    end if\n\n    if (present(focus_out_event)) then\n       if (present(data_focus_out)) then\n          call g_signal_connect(view, &\n               & \"focus-out-event\"//C_NULL_CHAR, focus_out_event, data_focus_out)\n       else\n          call g_signal_connect(view, &\n               & \"focus-out-event\"//C_NULL_CHAR, focus_out_event)\n       end if\n    end if\n\n    if (present(focus_in_event)) then\n       if (present(data_focus_in)) then\n          call g_signal_connect(view, &\n               & \"focus-in-event\"//C_NULL_CHAR, focus_in_event, data_focus_in)\n       else\n          call g_signal_connect(view, &\n               & \"focus-in-event\"//C_NULL_CHAR, focus_in_event)\n       end if\n    end if\n\n    if (present(sensitive)) call gtk_widget_set_sensitive(view, sensitive)\n    if (present(tooltip)) call gtk_widget_set_tooltip_text(view, tooltip)\n    if (present(buffer)) buffer = tbuf\n\n  end function hl_gtk_text_view_new\n\n  !+\n  subroutine hl_gtk_text_view_insert(view, text, line, column, replace, &\n       & at_cursor, buffer)\n\n    type(c_ptr), intent(in) :: view\n    character(len=*), dimension(:), intent(in) :: text\n    integer(c_int), optional, intent(in) :: line, column\n    integer(c_int), optional, intent(in) :: replace, at_cursor\n    type(c_ptr), intent(in), optional :: buffer\n\n    ! Insert text to an text view\n    !\n    ! VIEW |  c_ptr |  required |  The text view into which to insert.\n    ! TEXT |  string() |  required |  The text to insert.\n    ! LINE |  c_int |  optional |  The line at which to insert (if omitted, then the text is appended).\n    ! COLUMN |  c_int |  optional |  The column as which to insert the text (If omitted, then insert at the start of the line).\n    ! REPLACE |  boolean |  optional |  If set to TRUE and LINE and COLUMN are omitted then replace the text in the buffer.\n    ! AT_CURSOR |  boolean |  optional |  Set to TRUE to insert the text at the cursor.\n    ! BUFFER |  c_ptr |  optional |  The text buffer in which to insert the text If this is given, then VIEW is ignored -- used in signal handlers attached to the buffer.\n    !-\n\n    type(c_ptr) :: tbuf\n    type(gtktextiter), target :: iter\n    integer(c_int) :: icol, irep, atc, found\n    character(kind=c_char), dimension(:), allocatable :: text0\n\n    if (present(buffer)) then\n       tbuf = buffer\n    else\n       tbuf= gtk_text_view_get_buffer(view)\n    end if\n\n    call convert_f_string(text, text0)\n\n    ! Check if we are going to insert at the cursor, and if so do so.\n    if (present(at_cursor)) then\n       atc = at_cursor\n    else\n       atc = FALSE\n    end if\n\n    if (atc == TRUE) then\n       call gtk_text_buffer_insert_at_cursor(tbuf, text0, -1_c_int)\n       deallocate(text0)\n       return\n    end if\n\n    if (present(line)) then\n       if (present(column)) then\n          icol = column\n       else\n          icol = 0\n       end if\n       if (present(replace)) then\n          call hl_gtk_text_view_delete(C_NULL_PTR, line=line, column=icol, &\n               & n_chars=size(text0, kind=c_int), buffer=tbuf)\n       end if\n       found=gtk_text_buffer_get_iter_at_line_offset(tbuf, c_loc(iter), &\n            & line, column)\n    else\n       if (present(replace)) then\n          irep = replace\n       else\n          irep = FALSE\n       end if\n       if (irep == TRUE) then\n          call gtk_text_buffer_set_text(tbuf, text0, -1_c_int)\n          deallocate(text0)\n          return\n       end if\n       call gtk_text_buffer_get_end_iter(tbuf, c_loc(iter))\n    end if\n\n    call gtk_text_buffer_insert(tbuf, c_loc(iter), text0, -1_c_int)\n    deallocate(text0)\n  end subroutine hl_gtk_text_view_insert\n\n  !+\n  subroutine hl_gtk_text_view_delete(view, line, column, n_chars, n_lines, &\n       & buffer)\n\n    type(c_ptr), intent(in) :: view\n    integer(c_int), intent(in), optional :: line, column, n_chars, n_lines\n    type(c_ptr), intent(in), optional :: buffer\n\n    ! Delete from a text view\n    !\n    ! VIEW |  c_ptr |  required |  The text view from which to delete.\n    ! LINE |  c_int |  optional |  The line at which to start the deletion\n    ! COLUMN |  c_int |  optional |  The column at which to start the deletion. required if N_CHARS is given. Ignored if N_LINES is given.\n    ! N_CHARS |  c_int |  optional |  How many characters to delete.\n    ! N_LINES |  c_int |  optional |  How many lines to delete.\n    ! BUFFER |  c_ptr |  optional |  The text buffer from which to delete. If this is given, then VIEW is ignored, used in signal handlers attached to the buffer.\n    !\n    ! If no location specifiers are given then the buffer is cleared\n    !-\n\n    type(c_ptr) :: tbuf\n    type(gtktextiter), target :: s_iter, e_iter\n    integer(c_int) :: isok, found\n\n    ! Input checking\n    if (present(n_chars) .and. present(n_lines)) then\n       write(error_unit, *) &\n            & \"hl_gtk_text_view_delete:: May not specify both N_CHARS and N_LINES\"\n       return\n    end if\n\n    if (present(n_chars) .and. .not. present(column)) then\n       write(error_unit, *) &\n            & \"hl_gtk_text_view_delete:: Character delete requires a start column\"\n       return\n    end if\n\n    ! Find the buffer\n\n    if (present(buffer)) then\n       tbuf = buffer\n    else\n       tbuf = gtk_text_view_get_buffer(view)\n    end if\n\n    if (present(n_chars)) then\n       found=gtk_text_buffer_get_iter_at_line_offset(tbuf, c_loc(s_iter), &\n            & line, column)\n       found=gtk_text_buffer_get_iter_at_line_offset(tbuf, c_loc(e_iter), &\n            & line, column)\n       isok = gtk_text_iter_forward_chars(c_loc(e_iter), n_chars)\n    else if (present(n_lines)) then\n       found=gtk_text_buffer_get_iter_at_line(tbuf, c_loc(s_iter), line)\n       found=gtk_text_buffer_get_iter_at_line(tbuf, c_loc(e_iter), line)\n       isok = gtk_text_iter_forward_lines(c_loc(e_iter), n_lines)\n    else\n       call gtk_text_buffer_get_start_iter(tbuf, c_loc(s_iter))\n       call gtk_text_buffer_get_end_iter(tbuf, c_loc(e_iter))\n    end if\n\n    call gtk_text_buffer_delete(tbuf, c_loc(s_iter), c_loc(e_iter))\n  end subroutine hl_gtk_text_view_delete\n\n  !+\n  subroutine hl_gtk_text_view_get_text(view, text, start_line, start_column, &\n       & end_line, end_column, hidden, buffer)\n\n    type(c_ptr), intent(in) :: view\n    character(len=*), dimension(:), allocatable, intent(out) :: text\n    integer(c_int), intent(in), optional :: start_column, start_line, &\n         & end_line, end_column\n    integer(c_int), intent(in), optional :: hidden\n    type(c_ptr), intent(in), optional :: buffer\n\n    ! Get text from s text view.\n    !\n    ! VIEW |  c_ptr |  required |  The text view to read.\n    ! TEXT |  string() |  required |  A variable to contain the output text.\n    ! START_LINE |  c_int |  optional |  The first line to read.\n    ! START_COLUMN |  c_int |  optional |  The column at which to start reading.\n    ! END_LINE |  c_int |  optional |  The last line to read.\n    ! END_COLUMN |  c_int |  optional |  The column at which to stop reading.\n    ! HIDDEN |  boolean |  optional |  If set to FALSE, then do not get hidden characters\n    ! BUFFER |  c_ptr |  optional |  The text buffer from which to read. If this is given, then VIEW is ignored, useful for signal handlers attached to the buffer.\n    !\n    ! Note the rules for selection.\n    !\n    ! * If no selection arguments are present, the whole text is returned.\n    ! * If either start_column or end_column is absent, but the matching line\n    ! is present, then selection is by line.\n    ! * If end_line is absent, but both columns are present, then the selection\n    ! is within start_line\n    ! * If neither start_line nor start_column is present, then the selection is\n    ! from the start of the buffer\n    ! * If neither end_line nor end_column is present, then the selection is\n    ! to the end of the buffer.\n    !-\n\n    type(c_ptr) :: tbuf, ctext0\n    character(kind=c_char), dimension(:), pointer :: ftext0\n    type(gtktextiter), target :: s_iter, e_iter\n    integer(c_int) :: ihid, found\n    integer :: nchars_r\n\n    if (present(buffer)) then\n       tbuf = buffer\n    else\n       tbuf = gtk_text_view_get_buffer(view)\n    end if\n\n    ! Fully specified\n    if (present(start_line) .and. present(start_column) .and. &\n         & present(end_line) .and. present(end_column)) then\n       found=gtk_text_buffer_get_iter_at_line_offset(tbuf, c_loc(s_iter), &\n            & start_line, start_column)\n       found=gtk_text_buffer_get_iter_at_line_offset(tbuf, c_loc(e_iter), &\n            & end_line, end_column)\n\n       ! Both columns only start line\n    else if (present(start_line) .and. present(start_column) .and. &\n         &  present(end_column)) then\n       found=gtk_text_buffer_get_iter_at_line_offset(tbuf, c_loc(s_iter), &\n            & start_line, start_column)\n       found=gtk_text_buffer_get_iter_at_line_offset(tbuf, c_loc(e_iter), &\n            & start_line, end_column)\n\n       ! Both lines, at least one column not given\n    else if (present(start_line) .and. present(start_column)) then\n       found=gtk_text_buffer_get_iter_at_line(tbuf, c_loc(s_iter), &\n            & start_line)\n       found=gtk_text_buffer_get_iter_at_line(tbuf, c_loc(e_iter), &\n            & end_line)\n\n       ! Fully specified start, no end\n    else if (present(start_line) .and. present(start_column)) then\n       found=gtk_text_buffer_get_iter_at_line_offset(tbuf, c_loc(s_iter), &\n            & start_line, start_column)\n       call gtk_text_buffer_get_end_iter(tbuf, c_loc(e_iter))\n\n       ! Start line only\n    else if (present(start_line)) then\n       found=gtk_text_buffer_get_iter_at_line(tbuf, c_loc(s_iter), &\n            & start_line)\n       call gtk_text_buffer_get_end_iter(tbuf, c_loc(e_iter))\n\n       ! Fully specified end, no start\n    else if (present(end_line) .and. present(end_column)) then\n       call gtk_text_buffer_get_start_iter(tbuf, c_loc(s_iter))\n       found=gtk_text_buffer_get_iter_at_line_offset(tbuf, c_loc(e_iter), &\n            & start_line, end_column)\n\n       ! End line only\n    else if (present(end_line)) then\n       call gtk_text_buffer_get_start_iter(tbuf, c_loc(s_iter))\n       found=gtk_text_buffer_get_iter_at_line(tbuf, c_loc(e_iter), &\n            & end_line)\n\n       ! Should only get here with nothing specified\n    else\n       call gtk_text_buffer_get_start_iter(tbuf, c_loc(s_iter))\n       call gtk_text_buffer_get_end_iter(tbuf, c_loc(e_iter))\n    end if\n\n    if (present(hidden)) then\n       ihid = hidden\n    else\n       ihid = TRUE\n    end if\n    ctext0 = gtk_text_buffer_get_text(tbuf, c_loc(s_iter), c_loc(e_iter), ihid)\n    nchars_r = int(gtk_text_iter_get_offset(c_loc(e_iter)) - &\n         & gtk_text_iter_get_offset(c_loc(s_iter))) + 1\n\n    call c_f_pointer(ctext0, ftext0, [ nchars_r ])\n    call convert_c_string(ftext0, text)\n\n  end subroutine hl_gtk_text_view_get_text\n\n  !+\n  function hl_gtk_text_view_get_cursor(view, buffer) result(ipos)\n\n    integer(c_int), dimension(3) :: ipos\n    type(c_ptr), intent(in) :: view\n    type(c_ptr), intent(in), optional :: buffer\n\n    ! Get the current cursor location\n    !\n    ! VIEW |  c_ptr |  required |  The text view to query\n    ! BUFFER |  c_ptr |  optional |  The buffer to query (if given, then VIEW is ignored).\n    !\n    ! Returns a 3-element array with the line, column and offset of the cursor\n    !-\n\n    type(c_ptr) :: tbuf, mark\n    type(gtktextiter), target :: iter\n\n    if (present(buffer)) then\n       tbuf = buffer\n    else\n       tbuf = gtk_text_view_get_buffer(view)\n    end if\n\n    mark = gtk_text_buffer_get_insert(tbuf)\n    call gtk_text_buffer_get_iter_at_mark(tbuf, c_loc(iter), mark)\n    ipos(1) = gtk_text_iter_get_line(c_loc(iter))\n    ipos(2) = gtk_text_iter_get_line_offset(c_loc(iter))\n    ipos(3) = gtk_text_iter_get_offset(c_loc(iter))\n  end function hl_gtk_text_view_get_cursor\n\n  !+\n  function hl_gtk_text_view_get_selection(view, s_start, s_end, buffer) &\n       & result(issel)\n\n    integer(c_int) :: issel\n    type(c_ptr), intent(in) :: view\n    integer(c_int), dimension(3), intent(out) :: s_start, s_end\n    type(c_ptr), intent(in), optional :: buffer\n\n    ! Get the selection range\n    !\n    ! VIEW |  c_ptr |  required |  The text view to query.\n    ! S_START |  c_int() |  required |  The start of the selection. (line, column, offset)\n    ! S_END |  c_int() |  required |  The end of the selection. (line, column, offset)\n    ! BUFFER |  c_ptr |  optional |  The text buffer to query. If present, then the view argument is ignored.\n    !\n    ! Returns TRUE if there is a selection, FALSE if there isn't\n    !-\n\n    type(c_ptr) :: tbuf\n    type(gtktextiter), target :: s_iter, e_iter\n\n    if (present(buffer)) then\n       tbuf = buffer\n    else\n       tbuf = gtk_text_view_get_buffer(view)\n    end if\n\n    issel = gtk_text_buffer_get_selection_bounds(tbuf, c_loc(s_iter), &\n         & c_loc(e_iter))\n\n    if (issel == FALSE) then ! No selection\n       s_start(:) = -1\n       s_end(:) = -1\n    else\n       s_start(1) = gtk_text_iter_get_line(c_loc(s_iter))\n       s_start(2) = gtk_text_iter_get_line_offset(c_loc(s_iter))\n       s_start(3) = gtk_text_iter_get_offset(c_loc(s_iter))\n       s_end(1) = gtk_text_iter_get_line(c_loc(e_iter))\n       s_end(2) = gtk_text_iter_get_line_offset(c_loc(e_iter))\n       s_end(3) = gtk_text_iter_get_offset(c_loc(e_iter))\n    end if\n  end function hl_gtk_text_view_get_selection\n\n  !+\n  function hl_gtk_text_view_get_modified(view) result(ismod)\n\n    integer(c_int) :: ismod\n    type(c_ptr), intent(in) :: view\n\n    ! Check if the buffer of a text view is modified\n    !\n    ! VIEW |  c_ptr |  required |  The text view to check.\n    !\n    ! N.B. No BUFFER argument is provided as gtk_text_buffer_get_modified\n    ! is just a single call\n    !-\n\n    type(c_ptr) :: tbuf\n\n    tbuf = gtk_text_view_get_buffer(view)\n    ismod = gtk_text_buffer_get_modified(tbuf)\n\n  end function hl_gtk_text_view_get_modified\n\n  !+\n  subroutine hl_gtk_text_view_set_modified(view, state)\n\n    type(c_ptr), intent(in) :: view\n    integer(c_int), intent(in) :: state\n\n    ! Set/clear the modified flag on the text buffer of a text view\n    !\n    ! VIEW |  c_ptr |  required |  The text view to set\n    ! STATE |  boolean |  required |  The state to set the flag to.\n    !-\n\n    type(c_ptr) :: tbuf\n\n    tbuf = gtk_text_view_get_buffer(view)\n    call gtk_text_buffer_set_modified(tbuf, state)\n\n  end subroutine hl_gtk_text_view_set_modified\n\n  !+\n  subroutine hl_gtk_text_view_get_info(view, nlines, nchars, ncline, buffer)\n\n    type(c_ptr), intent(in) :: view\n    integer(c_int), intent(out), optional :: nlines, nchars\n    integer(c_int), intent(out), optional, allocatable, dimension(:) :: ncline\n    type(c_ptr), intent(in), optional :: buffer\n\n    ! Get various useful information about a text view\n    !\n    ! VIEW |  c_ptr |  required |  The view to query\n    ! NLINES |  c_int |  optional |  Return the number of lines in the view\n    ! NCHARS |  c_int |  optional |  Return the number of characters in the view\n    ! NCLINE |  c_int() |  optional |  Return the nuber of characters in each line. Must be an allocatable array.\n    ! BUFFER |  c_ptr |  optional |  If present use this buffer and ignore the VIEW argument\n    !-\n\n    type(c_ptr) :: tbuf\n    type(gtktextiter), target :: i1, i2\n    integer(c_int) :: nl, found\n    integer(c_int) :: i\n    if (present(buffer)) then\n       tbuf = buffer\n    else\n       tbuf = gtk_text_view_get_buffer(view)\n    end if\n\n    if (present(nlines) .or. present(ncline)) &\n         &  nl = gtk_text_buffer_get_line_count(tbuf)\n    if (present(nlines)) nlines = nl\n\n    if (present(nchars)) &\n         & nchars = gtk_text_buffer_get_char_count(tbuf)\n\n    if (present(ncline)) then\n       allocate(ncline(nl))\n       call gtk_text_buffer_get_start_iter(tbuf, c_loc(i1))\n       do i = 1, nl-1\n          found=gtk_text_buffer_get_iter_at_line(tbuf, c_loc(i2), i)\n          ncline(i) = gtk_text_iter_get_offset(c_loc(i2)) - &\n               & gtk_text_iter_get_offset(c_loc(i1))-1\n          i1 = i2\n       end do\n       call gtk_text_buffer_get_end_iter(tbuf, c_loc(i2))\n       ncline(nl) = gtk_text_iter_get_offset(c_loc(i2)) - &\n               & gtk_text_iter_get_offset(c_loc(i1))\n    end if\n  end subroutine hl_gtk_text_view_get_info\nend module gtk_hl_entry\n"
  },
  {
    "path": "src/gtk-hl-infobar.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2012 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!------------------------------------------------------------------------------\n! Contributed by James Tappin\n! Last modification: 2012-08-30, vmagnin 2020-06-11 (GTK 4)\n\n!*\n! Infobar\nmodule gtk_hl_infobar\n  ! Convenience interface for the GtkInfoBar widget.\n  ! This is created because the routine for adding multiple buttons is\n  ! variadic, and setting the message involves several levels of indirection.\n  !/\n\n  use, intrinsic :: iso_c_binding\n  use gtk_sup\n  use g, only: g_object_set_data, g_object_get_data\n  use gtk, only: gtk_info_bar_add_child, gtk_info_bar_add_button, &\n       & gtk_info_bar_new, gtk_info_bar_get_revealed, &\n       & gtk_info_bar_set_revealed, &\n       & gtk_info_bar_set_default_response, gtk_info_bar_set_message_type, &\n       & gtk_info_bar_set_response_sensitive, gtk_label_new, &\n       & gtk_label_set_text, &\n       & gtk_widget_show, gtk_widget_hide, g_signal_connect, TRUE, FALSE\n\n  implicit none\n\ncontains\n  !+\n  function hl_gtk_info_bar_new(buttons, ids, response, data_response, close, &\n       & data_close, auto_show, type, default, horizontal, buttons_below) &\n       & result(infobar)\n    type(c_ptr) :: infobar\n    character(len=*,kind=c_char), dimension(:), intent(in), optional :: buttons\n    integer(c_int), dimension(:), intent(in), optional :: ids\n    type(c_funptr), optional :: response, close\n    type(c_ptr), intent(in), optional :: data_response, data_close\n    integer(c_int), intent(in), optional :: auto_show, type, default\n    integer(c_int), intent(in), optional :: horizontal, buttons_below\n\n    ! Create a new info bar.\n    !\n    ! BUTTONS |  f_string() |  optional |  The buttons to add to the\n    ! IDS |  c_int() |  optional |  The response IDs for the buttons. If buttons are specified and no IDS are given, then the button index is used.\n    ! RESPONSE |  c_funptr |  optional |  The handler for a button pressed (has an extra argument which is the button ID.\n    ! DATA_RESPONSE |  c_ptr |  optional |  User data to pass to the response handler.\n    ! CLOSE |  c_funptr |  optional |  The handler for closing the bar by a key action.\n    ! DATA_CLOSE |  c_ptr |  optional |  User data to pass to the close handler.\n    ! AUTO_SHOW |  boolean |  optional |  Whether the info bar should be displayed when its parent is shown. Default=FALSE.\n    ! TYPE |  c_int |  optional |  The initial message type.\n    ! DEFAULT |  c_int |  optional |  Set the initial default response ID.\n    ! HORIZONTAL | boolean |  optional | Set to TRUE to lay the buttons in a row rather than a column. **Removed from GTK 4.**\n    ! BUTTONS_BELOW |  boolean |  optional |  Set to TRUE to place the buttons below the message rather than to the right.\n    !-\n\n    integer(c_int) :: i, id\n    integer(c_int) :: no_auto\n    type(c_ptr) :: label, junk\n\n    infobar = gtk_info_bar_new()\n\n    label = gtk_label_new (c_null_char)\n    call gtk_info_bar_add_child (infobar, label)\n    ! To keep track of the label inside the infobar object:\n    call g_object_set_data (infobar, \"info_label\"//c_null_char, label)\n    call gtk_widget_show (label)\n\n    if (present(horizontal)) then\n       print *, \"Removed from GTK 4: GtkOrientable in GtkInfoBar\"\n    end if\n\n    if (present(buttons_below)) then\n       if (c_f_logical(buttons_below)) then\n         print *, \"Removed from GTK 4: GtkOrientable in GtkInfoBar\"\n       else\n         print *, \"Removed from GTK 4: GtkOrientable in GtkInfoBar\"\n       end if\n    end if\n\n    if (present(buttons)) then\n       do i = 1, size(buttons)\n          if (present(ids)) then\n             id = ids(i)\n          else\n             id = i-1\n          end if\n          junk = gtk_info_bar_add_button(infobar, &\n               & trim(buttons(i))//c_null_char, id)\n       end do\n    end if\n\n    if (present(response)) then\n       if (present(data_response)) then\n          call g_signal_connect(infobar, \"response\"//c_null_char, &\n               & response, data_response)\n       else\n          call g_signal_connect(infobar, \"response\"//c_null_char, &\n               & response)\n       end if\n    end if\n    if (present(close)) then\n       if (present(data_close)) then\n          call g_signal_connect(infobar, \"close\"//c_null_char, &\n               & close, data_close)\n       else\n          call g_signal_connect(infobar, \"close\"//c_null_char, &\n               & close)\n       end if\n    end if\n\n    if (present(auto_show)) then\n       no_auto = f_c_logical(auto_show /= FALSE)\n    else\n       no_auto = TRUE\n    end if\n    call gtk_info_bar_set_revealed(infobar, no_auto)\n    if (no_auto == TRUE) call gtk_widget_hide(infobar)\n\n    if (present(type)) &\n         & call gtk_info_bar_set_message_type(infobar,type)\n    if (present(default)) &\n         & call gtk_info_bar_set_default_response(infobar, default)\n\n  end function hl_gtk_info_bar_new\n\n  !+\n  subroutine hl_gtk_info_bar_message(infobar, message, type, default, &\n       & ids, state)\n    type(c_ptr), intent(in) :: infobar\n    character(kind=c_char), dimension(*), intent(in) :: message\n    integer(c_int), intent(in), optional :: type, default\n    integer(c_int), intent(in), optional, dimension(:) :: ids, state\n\n    ! Show a message in an infobar\n    !\n    ! INFOBAR |  c_ptr |  required |  The infobar to update.\n    ! MESSAGE |  c_str |  required |  The message to display.\n    ! TYPE |  c_int |  optional |  The severity level of the message.\n    ! DEFAULT |  c_int |  optional |  Set the default response ID.\n    ! IDS |  c_int() |  optional |  Response IDs whose sensitivity will be set.\n    ! STATE |  boolean() |  optional |  Sensitivity states of the IDS.\n    !\n    ! To set buttons to be sensitive or not, you must give BOTH ids\n    ! and state, and they must be the same length.\n    !-\n\n    type(c_ptr) :: label\n    integer :: i\n\n    ! We retrieve the label we have named \"info_label\" inside the infobar:\n    label = g_object_get_data (infobar, \"info_label\"//c_null_char)\n    call gtk_label_set_text(label, message)\n\n    if (present(type)) &\n         & call gtk_info_bar_set_message_type(infobar,type)\n    if (present(default)) &\n         & call gtk_info_bar_set_default_response(infobar, default)\n\n    if (present(ids) .and. present(state)) then\n       do i = 1, min(size(ids),size(state))\n          call gtk_info_bar_set_response_sensitive (infobar, ids(i), &\n               & state(i))\n       end do\n    end if\n\n    if (c_f_logical(gtk_info_bar_get_revealed(infobar))) &\n         & call gtk_widget_show(infobar)\n\n  end subroutine hl_gtk_info_bar_message\n\nend module gtk_hl_infobar\n"
  },
  {
    "path": "src/gtk-hl-misc.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2011 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!\n! Contributed by James Tappin, 2011\n! Last modification: vmagnin 2020-05-28 (GTK 4)\n\n\n!*\n! Misc utility functions\nmodule gtk_hl_misc\n  ! Assorted functions and subroutines that don't fit anywhere else.\n  !/\n\n  use gtk_sup\n\n  use, intrinsic :: iso_c_binding\n  use, intrinsic :: iso_fortran_env, only: error_unit\n\n  use gtk, only: gtk_label_set_markup, gtk_separator_new, &\n       & GTK_ORIENTATION_HORIZONTAL, GTK_ORIENTATION_VERTICAL, &\n       & TRUE, FALSE, gtk_widget_get_first_child\n\n  implicit none\n\ncontains\n\n!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n! GtkBin has been removed in GTK 4\n  !+\n  subroutine hl_gtk_bin_set_label_markup(widget, label)\n    type(c_ptr) :: widget\n    character(kind=c_char), dimension(*), intent(in) :: label\n\n    ! Add a markup label to a button or menu item.\n    !\n    ! WIDGET |  c_ptr |  required |  The widget to update.\n    ! LABEL |  string |  required |  The new label string.\n    !-\n\n    type(c_ptr) :: label_w\n\n    label_w = gtk_widget_get_first_child(widget)\n    if (.not. c_associated(label_w)) then\n       write(error_unit, *) &\n            & \"ERROR: hl_gtk_bin_set_label_markup: specified widget does not have a label\"\n       return\n    end if\n\n    call gtk_label_set_markup(label_w, label)\n\n  end subroutine hl_gtk_bin_set_label_markup\n\n  !+\n  function hl_gtk_separator_new(vertical) result(spacer)\n    type(c_ptr) :: spacer\n    integer(c_int), intent(in), optional :: vertical\n\n    ! A Version-independent separator.\n    !\n    ! HORIZONTAL |  boolean  |  optional  |  Set to TRUE to make a vertical separator.\n    !-\n\n    integer(c_int) :: direction\n\n    if (present(vertical)) then\n       if (c_f_logical(vertical)) then\n          direction = GTK_ORIENTATION_VERTICAL\n       else\n          direction = GTK_ORIENTATION_HORIZONTAL\n       end if\n    else\n       direction = GTK_ORIENTATION_HORIZONTAL\n    end if\n    spacer = gtk_separator_new(direction)\n\n  end function hl_gtk_separator_new\nend module gtk_hl_misc\n"
  },
  {
    "path": "src/gtk-hl-progress.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2011 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!------------------------------------------------------------------------------\n! Contributed by James Tappin\n! Last modification: 2011-11-21, vmagnin 2020-06-25, 2025-05-27\n!------------------------------------------------------------------------------\n\n!*\n! Progress Bar\nmodule gtk_hl_progress\n  ! Implements the GtkProgressBar widget. Includes the facility to\n  ! make a bar display \"n of m\" as well as the usual fraction.\n  !/\n\n  use gtk_sup\n  use, intrinsic :: iso_c_binding\n  ! Autogenerated use's\n  use gtk, only: gtk_orientable_set_orientation, gtk_progress_bar_new, &\n       & gtk_progress_bar_pulse, gtk_progress_bar_set_fraction,&\n       & gtk_progress_bar_set_pulse_step,&\n       & gtk_progress_bar_set_text, &\n       & gtk_progress_bar_set_show_text, &\n       & gtk_progress_bar_set_inverted, &\n       & GTK_ORIENTATION_VERTICAL,  GTK_ORIENTATION_HORIZONTAL, &\n       & TRUE, FALSE\n\n  implicit none\n\n  ! A progress bar value can be given as a fraction or m of n\n  interface hl_gtk_progress_bar_set\n     module procedure  hl_gtk_progress_bar_set_f\n     module procedure  hl_gtk_progress_bar_set_ii\n  end interface hl_gtk_progress_bar_set\n\ncontains\n\n  !+\n  function hl_gtk_progress_bar_new(vertical, reversed, step) result(bar)\n\n    type(c_ptr) :: bar\n    integer(c_int), optional :: vertical, reversed\n    real(c_double), optional :: step\n\n    ! Intializer for a progress bar\n    !\n    ! VERTICAL |  boolean |  optional |  The orientation of the bar.\n    ! REVERSED |  boolean |  optional |  Whether the direction of the bar should be reversed.\n    ! STEP |  double |  optional |  The fractional step to advance when pulsing the bar\n    !-\n\n    bar = gtk_progress_bar_new()\n\n    if (present(vertical)) then\n       if (vertical == TRUE) then\n          call gtk_orientable_set_orientation (bar, &\n               & GTK_ORIENTATION_VERTICAL)\n       else\n          call gtk_orientable_set_orientation (bar, &\n               & GTK_ORIENTATION_HORIZONTAL)\n       end if\n    end if\n\n    if (present(reversed)) call gtk_progress_bar_set_inverted(bar, reversed)\n\n    if (present(step)) &\n         & call gtk_progress_bar_set_pulse_step(bar, step)\n\n  end function hl_gtk_progress_bar_new\n\n  !+\n  subroutine hl_gtk_progress_bar_set_f(bar, val, string, text)\n\n    type(c_ptr) :: bar\n    real(c_double), optional :: val\n    integer(c_int), optional :: string\n    character(len=*), intent(in), optional:: text\n\n    ! Set the value of a progress bar (fraction or pulse)\n    !\n    ! BAR |  c_ptr |  required |  The bar to set\n    ! VAL |  double |  optional |  The value to set. If absent, the bar is pulsed\n    ! STRING |  boolean |  optional |  Whether to put a string on the bar.\n    ! TEXT |  string |  optional |  Text to put in the bar, (overrides STRING)\n    !\n    ! This routine is normally accessed via the generic interface\n    ! hl_gtk_progress_bar_set\n    !-\n\n    character(len=50) :: sval\n\n    ! If no value given pulse the bar\n    if (.not. present(val)) then\n       call gtk_progress_bar_pulse(bar)\n    else\n       ! Determine the fraction to fill & fill it\n       call gtk_progress_bar_set_fraction(bar, val)\n    end if\n\n    ! If annotation is needed, add it.\n    if (present(text)) then\n       call gtk_progress_bar_set_text (bar, text//c_null_char)\n       call gtk_progress_bar_set_show_text(bar, TRUE)\n    else if (present(string)) then\n       if (string == FALSE .or. .not. present(val)) return\n       ! Otherwise we display a percentage\n       write(sval, \"(F5.1,'%')\") val*100._c_double\n\n       call gtk_progress_bar_set_text (bar, trim(sval)//c_null_char)\n       call gtk_progress_bar_set_show_text(bar, TRUE)\n    else\n       call gtk_progress_bar_set_show_text(bar, FALSE)\n    end if\n  end subroutine hl_gtk_progress_bar_set_f\n\n  !+\n  subroutine hl_gtk_progress_bar_set_ii(bar, val, maxv, string, text)\n\n    type(c_ptr) :: bar\n    integer(c_int) :: val, maxv\n    integer(c_int), optional :: string\n    character(len=*), intent(in), optional:: text\n\n    ! Set the value of a progress bar (n of m)\n    !\n    ! BAR |  c_ptr |  required |  The bar to set\n    ! VAL |  int |  required |  The value to set.\n    ! MAXV |  int |  required |  The maximum value for the bar\n    ! STRING |  boolean |  optional |  Whether to put a string on the bar.\n    ! TEXT |  string |  optional |  Text to put in the bar, (overrides STRING)\n    !\n    ! This routine is normally accessed via the generic interface\n    ! hl_gtk_progress_bar_set\n    !-\n\n    real(c_double) :: frac\n    character(len=50) :: sval\n\n    frac = real(val,c_double)/real(maxv,c_double)\n    call gtk_progress_bar_set_fraction(bar, frac)\n\n    ! If annotation is needed, add it.\n    if (present(text)) then\n       call gtk_progress_bar_set_text (bar, text//c_null_char)\n       call gtk_progress_bar_set_show_text(bar, TRUE)\n    else if (present(string)) then\n       if (string == FALSE) return\n       ! Otherwise we display n or m\n       write(sval, \"(I0,' of ',I0)\") val, maxv\n       call gtk_progress_bar_set_text (bar, trim(sval)//c_null_char)\n       call gtk_progress_bar_set_show_text(bar, TRUE)\n    else\n       call gtk_progress_bar_set_show_text(bar, FALSE)\n    end if\n  end subroutine hl_gtk_progress_bar_set_ii\nend module gtk_hl_progress\n\n"
  },
  {
    "path": "src/gtk-hl-spin-slider.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2011 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n! ---------------------------------------------------------\n! Contributed by James Tappin\n! Last modification: 2012-18-09\n! Last modification: vmagnin (GTK 4) 2020-07-15, 2025-05-27\n! ---------------------------------------------------------\n\n!*\n! Sliders and Spin buttons\nmodule gtk_hl_spin_slider\n  ! GTK sliders and spin buttons use floating point values, the HL interface\n  ! implements an automatic interface selection between a floating point or\n  ! an integer slider.\n  !\n  ! Although they belong to completely different widget families in GTK, the\n  ! interfaces are very similar, which is why they are grouped together here.\n  !/\n\n  use gtk_sup\n  use, intrinsic :: iso_c_binding\n  ! Autogenerated use's\n  use gtk, only:  gtk_range_get_value, gtk_range_set_value,&\n       & gtk_scale_new_with_range,&\n       & gtk_scale_set_digits, gtk_scale_set_draw_value,&\n       & gtk_spin_button_get_value, gtk_spin_button_new,&\n       & gtk_spin_button_new_with_range, gtk_spin_button_set_digits,&\n       & gtk_spin_button_set_numeric, gtk_spin_button_set_value,&\n       & gtk_spin_button_set_wrap, gtk_widget_set_sensitive,&\n       & gtk_widget_set_size_request, gtk_widget_set_tooltip_text, &\n       & gtk_spin_button_get_adjustment, gtk_adjustment_get_lower, &\n       & gtk_adjustment_get_upper, gtk_range_get_adjustment, &\n       & gtk_spin_button_set_range, gtk_range_set_range, &\n       & gtk_range_set_increments, gtk_spin_button_set_increments, &\n       & GTK_ORIENTATION_HORIZONTAL,  GTK_ORIENTATION_VERTICAL, &\n       & TRUE, FALSE, g_signal_connect\n\n  implicit none\n\n  ! A slider or a spin button can use integers or floats for its settings.\n  interface hl_gtk_slider_new\n     module procedure hl_gtk_slider_flt_new\n     module procedure hl_gtk_slider_int_new\n  end interface hl_gtk_slider_new\n  interface hl_gtk_slider_set_value\n     module procedure hl_gtk_slider_set_flt\n     module procedure hl_gtk_slider_set_int\n  end interface hl_gtk_slider_set_value\n\n  interface hl_gtk_spin_button_new\n     module procedure hl_gtk_spin_button_flt_new\n     module procedure hl_gtk_spin_button_int_new\n  end interface hl_gtk_spin_button_new\n  interface hl_gtk_spin_button_set_value\n     module procedure hl_gtk_spin_button_set_flt\n     module procedure hl_gtk_spin_button_set_int\n  end interface hl_gtk_spin_button_set_value\n\ncontains\n\n  !+\n  function hl_gtk_slider_flt_new(vmin, vmax, step, vertical, initial_value, &\n       & value_changed, data, digits, sensitive, tooltip, draw, length) &\n       & result(slider)\n\n    type(c_ptr) :: slider\n    real(c_double), intent(in) :: vmin, vmax, step\n    integer(c_int), intent(in), optional :: vertical\n    real(c_double), intent(in), optional :: initial_value\n    type(c_funptr), optional :: value_changed\n    type(c_ptr), optional :: data\n    integer(c_int), optional, intent(in) :: digits\n    integer(c_int), optional, intent(in) :: sensitive\n    character(len=*), intent(in), optional:: tooltip\n    integer(c_int), intent(in), optional :: draw\n    integer(c_int), intent(in), optional :: length\n\n    ! Floating point version of a slider\n    !\n    ! VMIN |  c_double |  required |  The minimum value for the slider\n    ! VMAX |  c_double |  required |  The maximum value for the slider\n    ! STEP |  c_double |  required |  The step for the slider.\n    ! VERTICAL |  boolean |  optional |  if TRUE then a vertical slider is created if FALSE or absent, then a horizontal silder is created.\n    ! INITIAL_VALUE |  c_double |  optional |  Set the intial value of the slider\n    ! VALUE_CHANGED |  c_funptr |  optional |  Callback function for the \"value-changed\" signal.\n    ! DATA |  c_ptr |  optional |  User data to pass the the value_changed callback.\n    ! DIGITS |  c_int |  optional |  Number of decimal places to show.\n    ! SENSITIVE |  boolean |  optional |  Whether the widget is created in the sensitive state.\n    ! TOOLTIP |  string |  optional |  A tooltip to display.\n    ! DRAW |  boolean |  optional |  Set to FALSE to suppress writing the value.\n    ! LENGTH |  c_int |  optional |  Set the length of the slider in pixels\n    !\n    ! This routine is usually called via its generic interface\n    ! hl_gtk_slider_new\n    !-\n\n    integer(c_int) :: isvertical, idraw\n\n    ! Create the slider\n    if (present(vertical)) then\n       isvertical = vertical\n    else\n       isvertical = FALSE\n    end if\n    if (isvertical == TRUE) then\n       slider = gtk_scale_new_with_range(GTK_ORIENTATION_VERTICAL, &\n            & vmin, vmax, step)\n       if (present(length)) &\n            & call gtk_widget_set_size_request(slider, -1_c_int, length)\n    else\n       slider = gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL, &\n            & vmin, vmax, step)\n       if (present(length)) &\n            & call gtk_widget_set_size_request(slider, length, -1_c_int)\n    end if\n\n    ! Formatting\n    if (present(draw)) then\n       idraw = draw\n    else\n       idraw = TRUE\n    end if\n    call gtk_scale_set_draw_value(slider, idraw)\n    if (present(digits)) call gtk_scale_set_digits(slider, digits)\n\n    ! Initial value\n    if (present(initial_value)) call gtk_range_set_value(slider, initial_value)\n\n    ! Callback connection\n    if (present(value_changed)) then\n       if (present(data)) then\n          call g_signal_connect(slider, \"value-changed\"//c_null_char, &\n               & value_changed, data)\n       else\n          call g_signal_connect(slider, \"value-changed\"//c_null_char, &\n               & value_changed)\n       end if\n    end if\n\n    if (present(tooltip)) call gtk_widget_set_tooltip_text(slider, &\n         & trim(tooltip)//c_null_char)\n\n    if (present(sensitive)) &\n         & call gtk_widget_set_sensitive(slider, sensitive)\n  end function hl_gtk_slider_flt_new\n\n  !+\n  function hl_gtk_slider_int_new(imin, imax, vertical, initial_value, &\n       & value_changed, data, sensitive, tooltip, draw, length) result(slider)\n\n    type(c_ptr) :: slider\n    integer(c_int), intent(in) :: imin, imax\n    integer(c_int), intent(in), optional :: vertical\n    integer(c_int), intent(in), optional :: initial_value\n    type(c_funptr), optional :: value_changed\n    type(c_ptr), optional :: data\n    integer(c_int), optional, intent(in) :: sensitive\n    character(len=*), intent(in), optional:: tooltip ! NB the C-type confuses generic interfaces.\n    integer(c_int), intent(in), optional :: draw\n    integer(c_int), intent(in), optional :: length\n\n    ! Integer version of a slider\n    !\n    ! IMIN |  c_int |  required |  The minimum value for the slider\n    ! IMAX |  c_int |  required |  The maximum value for the slider\n    ! VERTICAL |  boolean |  optional |  if TRUE then a vertical slider is created if FALSE or absent, then a horizontal silder is created.\n    ! INITIAL_VALUE |  c_int |  optional |  Set the intial value of the slider\n    ! VALUE_CHANGED |  c_funptr |  optional |  Callback function for the \"value-changed\" signal.\n    ! DATA |  c_ptr |  optional |  User data to pass the the value_changed callback.\n    ! SENSITIVE |  boolean |  optional |  Whether the widget is created in the sensitive state.\n    ! TOOLTIP |  string |  optional |  A tooltip to display.\n    ! DRAW |  boolean |  optional |  Set to FALSE to suppress writing the value.\n    ! LENGTH |  c_int |  optional |  Set the length of the slider in pixels\n    !\n    ! This routine is usually called via its generic interface\n    ! hl_gtk_slider_new\n    !-\n\n    if (present(initial_value)) then\n       slider = hl_gtk_slider_flt_new(real(imin, c_double), &\n         & real(imax, c_double), 1.0_c_double, &\n         & vertical=vertical, initial_value=real(initial_value, c_double), &\n         & value_changed=value_changed, data=data, sensitive=sensitive, &\n         & tooltip=tooltip, draw=draw, length=length)\n    else\n       slider = hl_gtk_slider_flt_new(real(imin, c_double), &\n         & real(imax, c_double), 1.0_c_double, &\n         & vertical=vertical, &\n         & value_changed=value_changed, data=data, sensitive=sensitive, &\n         & tooltip=tooltip, draw=draw, length=length)\n    end if\n  end function hl_gtk_slider_int_new\n\n  !+\n  function hl_gtk_slider_get_value(slider) result(val)\n\n    real(c_double) :: val\n    type(c_ptr) :: slider\n\n    ! Get the value of a slider\n    !\n    ! SLIDER |  c_ptr |  required |  The slider to read.\n    !\n    ! Note even for an integer slider we get a float value but there's\n    ! no problem letting Fortran do the truncation\n    !-\n\n    val = gtk_range_get_value(slider)\n  end function hl_gtk_slider_get_value\n\n  !+\n  subroutine hl_gtk_slider_set_flt(slider, val)\n\n    type(c_ptr), intent(in) :: slider\n    real(c_double), intent(in) :: val\n\n    ! Set a floating point value for a slider\n    !\n    ! SLIDER |  c_ptr |  required |  The slider to set.\n    ! VAL |  c_double |  required |  The value to set.\n    !\n    ! This is usually accessed via the generic interface\n    ! hl_gtk_slider_set_value. Note that since GTK implements all sliders\n    ! a doubles, either type of value may be used to set any slider.\n    !-\n\n    call gtk_range_set_value(slider, val)\n  end subroutine hl_gtk_slider_set_flt\n\n  !+\n  subroutine hl_gtk_slider_set_int(slider, val)\n\n    type(c_ptr), intent(in) :: slider\n    integer(c_int), intent(in) :: val\n\n    ! Set an integer value for a slider\n    !\n    ! SLIDER |  c_ptr |  required |  The slider to set.\n    ! VAL |  c_int |  required |  The value to set.\n    !\n    ! This is usually accessed via the generic interface\n    ! hl_gtk_slider_set_value. Note that since GTK implements all sliders\n    ! a doubles, either type of value may be used to set any slider.\n    !-\n\n    call gtk_range_set_value(slider, real(val, c_double))\n  end subroutine hl_gtk_slider_set_int\n\n  !+\n  subroutine hl_gtk_slider_set_range(slider, lower, upper, step, digits)\n    type(c_ptr), intent(in) :: slider\n    real(c_double), intent(in), optional :: lower, upper, step\n    integer(c_int), intent(in), optional :: digits\n\n    ! Adjust the bounds of a slider\n    !\n    ! SLIDER |  c_ptr |  required |  The slider to modify\n    ! LOWER |  c_double |  optional |  The new lower bound\n    ! UPPER |  c_double |  optional |  The new uppper bound\n    ! STEP |  c_double |  optional |  The new step size.\n    ! DIGITS |  c_int |  optional |  The new number of decimals.\n    !\n    ! **Note** This routine is not a generic interface as\n    ! overloading requires that the interface be distinguishable by its\n    ! required arguments, and it seems less annoying to have to convert to\n    ! doubles or use a separate call than to specify an unchanged bound.\n    !-\n\n    type(c_ptr) :: adjustment\n    real(c_double) :: nlower, nupper\n\n    if (present(upper) .or. present(lower)) then\n\n       adjustment = gtk_range_get_adjustment(slider)\n       if (present(lower)) then\n          nlower = lower\n       else\n          nlower = gtk_adjustment_get_lower(adjustment)\n       end if\n\n       if (present(upper)) then\n          nupper = upper\n       else\n          nupper = gtk_adjustment_get_upper(adjustment)\n       end if\n\n       call gtk_range_set_range(slider, nlower, nupper)\n    end if\n\n    if (present(step)) &\n         & call gtk_range_set_increments(slider, step, 10._c_double*step)\n    if (present(digits)) call gtk_scale_set_digits(slider, digits)\n\n  end subroutine hl_gtk_slider_set_range\n\n  !+\n  subroutine hl_gtk_slider_set_range_int(slider, lower, upper)\n    type(c_ptr), intent(in) :: slider\n    integer(c_int), intent(in), optional :: lower, upper\n\n    ! Adjust the bounds of a slider, integer values\n    !\n    ! SLIDER |  c_ptr |  required |  The slider to modify\n    ! LOWER |  c_int |  optional |  The new lower bound\n    ! UPPER |  c_int |  optional |  The new uppper bound\n    !\n    ! **Note** This routine is not a generic interface as\n    ! overloading requires that the interface be distinguishable by its\n    ! required arguments, and it seems less annoying to use a separate\n    ! call than to specify an unchanged bound.\n    !-\n\n    type(c_ptr) :: adjustment\n    real(c_double) :: nlower, nupper\n\n    ! Check it's not a do-nothing\n    if (.not. (present(upper) .or. present(lower))) return\n\n    adjustment = gtk_range_get_adjustment(slider)\n    if (present(lower)) then\n       nlower = real(lower, c_double)\n    else\n       nlower = gtk_adjustment_get_lower(adjustment)\n    end if\n\n    if (present(upper)) then\n       nupper = real(upper, c_double)\n    else\n       nupper = gtk_adjustment_get_upper(adjustment)\n    end if\n\n    call gtk_range_set_range(slider, nlower, nupper)\n\n  end subroutine hl_gtk_slider_set_range_int\n\n  !+\n  function hl_gtk_spin_button_flt_new(vmin, vmax, step, initial_value, &\n       & value_changed, data, digits, sensitive, tooltip, wrap, &\n       & focus_in_event, focus_out_event, data_focus_in, data_focus_out) &\n       & result(spin_button)\n\n    type(c_ptr) :: spin_button\n    real(c_double), intent(in) :: vmin, vmax, step\n    real(c_double), intent(in), optional :: initial_value\n    type(c_funptr), optional :: value_changed\n    type(c_ptr), optional :: data\n    integer(c_int), optional, intent(in) :: digits\n    integer(c_int), optional, intent(in) :: sensitive\n    character(len=*), intent(in), optional:: tooltip ! NB the C-type confuses generic interfaces.\n    integer(c_int), intent(in), optional :: wrap\n    type(c_funptr), optional :: focus_in_event, focus_out_event\n    type(c_ptr), optional :: data_focus_in, data_focus_out\n\n    ! Floating point version of a spin_button\n    !\n    ! VMIN |  c_double |  required |  The minimum value for the spin_button\n    ! VMAX |  c_double |  required |  The maximum value for the spin_button\n    ! STEP |  c_double |  required |  The step for the spin_button.\n    ! INITIAL_VALUE |  c_double |  optional |  Set the intial value of the spin_button\n    ! VALUE_CHANGED |  c_funptr |  optional |  Callback function for the \"value-changed\" signal.\n    ! DATA |  c_ptr |  optional |  User data to pass the the value_changed callback.\n    ! DIGITS |  c_int |  optional |  Number of decimal places to show.\n    ! SENSITIVE |  boolean |  optional |  Whether the widget is created in the sensitive state.\n    ! TOOLTIP |  string |  optional |  A tooltip to display.\n    ! WRAP |  boolean |  optional |  If set to TRUE then wrap around if limit is exceeded\n    ! FOCUS_OUT_EVENT |  c_funptr |  optional |  Callback for the \"focus-out-event\" signal, this is a GDK event rather than a GTK signal, so the call back is a function of 3 arguments returning gboolean.\n    ! DATA_FOCUS_OUT |  c_ptr |  optional |  Data to pass to the focus_out_event callback\n    ! FOCUS_IN_EVENT |  c_funptr |  optional |  Callback for the \"focus-in-event\" signal, this is a GDK event rather than a GTK signal, so the call back is a function of 3 arguments returning gboolean.\n    ! DATA_FOCUS_IN |  c_ptr |  optional |  Data to pass to the focus_in_event callback\n    !\n    ! This routine is usually called via its generic interface\n    ! hl_gtk_spin_button_new\n    !-\n\n    ! Create the spin_button\n    spin_button = gtk_spin_button_new_with_range(vmin, vmax, step)\n\n    ! Formatting\n    call gtk_spin_button_set_numeric(spin_button, TRUE)\n    if (present(digits)) call gtk_spin_button_set_digits(spin_button, digits)\n    if (present(wrap)) call gtk_spin_button_set_wrap(spin_button, wrap)\n\n    ! Initial value\n    if (present(initial_value)) &\n         & call gtk_spin_button_set_value(spin_button, initial_value)\n\n    ! Callback connection\n    if (present(value_changed)) then\n       if (present(data)) then\n          call g_signal_connect(spin_button, \"value-changed\"//c_null_char,&\n               & value_changed,  data)\n       else\n          call g_signal_connect(spin_button, \"value-changed\"//c_null_char ,&\n               & value_changed)\n       end if\n    end if\n    if (present(focus_out_event)) then\n       if (present(data_focus_out)) then\n          call g_signal_connect(spin_button, &\n               & \"focus-out-event\"//C_NULL_CHAR, focus_out_event,&\n               &  data_focus_out)\n       else\n          call g_signal_connect(spin_button, &\n               & \"focus-out-event\"//C_NULL_CHAR, focus_out_event)\n       end if\n    end if\n\n    if (present(focus_in_event)) then\n       if (present(data_focus_in)) then\n          call g_signal_connect(spin_button, &\n               & \"focus-in-event\"//C_NULL_CHAR, focus_in_event, data_focus_in)\n       else\n          call g_signal_connect(spin_button, &\n               & \"focus-in-event\"//C_NULL_CHAR, focus_in_event)\n       end if\n    end if\n\n    if (present(tooltip)) call gtk_widget_set_tooltip_text(spin_button, &\n         & trim(tooltip)//c_null_char)\n\n    if (present(sensitive)) &\n         & call gtk_widget_set_sensitive(spin_button, sensitive)\n  end function hl_gtk_spin_button_flt_new\n\n  !+\n  function hl_gtk_spin_button_int_new(imin, imax, initial_value, &\n       & value_changed, data, sensitive, tooltip, wrap, &\n       & focus_in_event, focus_out_event, data_focus_in, data_focus_out) &\n       & result(spin_button)\n\n    type(c_ptr) :: spin_button\n    integer(c_int), intent(in) :: imin, imax\n    integer(c_int), intent(in), optional :: initial_value\n    type(c_funptr), optional :: value_changed\n    type(c_ptr), optional :: data\n    integer(c_int), optional, intent(in) :: sensitive\n    character(len=*), intent(in), optional:: tooltip ! NB the C-type confuses generic interfaces.\n    integer(c_int), intent(in), optional :: wrap\n    type(c_funptr), optional :: focus_in_event, focus_out_event\n    type(c_ptr), optional :: data_focus_in, data_focus_out\n\n    ! Integer version of a spin_button\n    !\n    ! IMIN |  c_int |  required |  The minimum value for the spin_button\n    ! IMAX |  c_int |  required |  The maximum value for the spin_button\n    ! INITIAL_VALUE |  c_int |  optional |  Set the intial value of the spin_button\n    ! VALUE_CHANGED |  c_funptr |  optional |  Callback function for the \"value-changed\" signal.\n    ! DATA |  c_ptr |  optional |  User data to pass the the value_changed callback.\n    ! SENSITIVE |  boolean |  optional |  Whether the widget is created in the sensitive state.\n    ! TOOLTIP |  string |  optional |  A tooltip to display.\n    ! WRAP |  boolean |  optional |  If set to TRUE then wrap around if limit is exceeded\n    ! FOCUS_OUT_EVENT |  c_funptr |  optional |  Callback for the \"focus-out-event\" signal, this is a GDK event rather than a GTK signal, so the call back is a function of 3 arguments returning gboolean.\n    ! DATA_FOCUS_OUT |  c_ptr |  optional |  Data to pass to the focus_out_event callback\n    ! FOCUS_IN_EVENT |  c_funptr |  optional |  Callback for the \"focus-in-event\" signal, this is a GDK event rather than a GTK signal, so the call back is a function of 3 arguments returning gboolean.\n    ! DATA_FOCUS_IN |  c_ptr |  optional |  Data to pass to the focus_in_event callback\n    !\n    ! This routine is usually called via its generic interface\n    ! hl_gtk_spin_button_new\n    !-\n\n    ! Create the spin_button\n    if (present(initial_value))  then\n       spin_button = hl_gtk_spin_button_flt_new(real(imin, c_double), &\n            & real(imax, c_double), 1.0_c_double, &\n            & value_changed=value_changed, &\n            & initial_value=real(initial_value, c_double), &\n            & data=data, sensitive=sensitive, tooltip=tooltip, &\n            & wrap=wrap, focus_out_event=focus_out_event, &\n            & data_focus_out=data_focus_out, focus_in_event=focus_in_event, &\n            & data_focus_in=data_focus_in)\n    else\n       spin_button = hl_gtk_spin_button_flt_new(real(imin, c_double), &\n            & real(imax, c_double), 1.0_c_double, &\n            & value_changed=value_changed, &\n            & data=data, sensitive=sensitive, tooltip=tooltip, &\n            & wrap=wrap, focus_out_event=focus_out_event, &\n            & data_focus_out=data_focus_out, focus_in_event=focus_in_event, &\n            & data_focus_in=data_focus_in)\n    end if\n\n  end function hl_gtk_spin_button_int_new\n\n  !+\n  function hl_gtk_spin_button_get_value(spin_button) result(val)\n\n    real(c_double) :: val\n    type(c_ptr) :: spin_button\n\n    ! Get the value of a spin_button\n    !\n    ! SPIN_BUTTON |  c_ptr |  required |  The spin_button to read.\n    !\n    ! Note even for an integer spin_button we get a float value but there's\n    ! no problem letting Fortran do the truncation\n    !-\n\n    val = gtk_spin_button_get_value(spin_button)\n  end function hl_gtk_spin_button_get_value\n\n  !+\n  subroutine hl_gtk_spin_button_set_flt(spin_button, val)\n\n    type(c_ptr), intent(in) :: spin_button\n    real(c_double), intent(in) :: val\n\n    ! Set a floating point value for a spin_button\n    !\n    ! SPIN_BUTTON |  c_ptr |  required |  The spin_button to set.\n    ! VAL |  c_double |  required |  The value to set.\n    !\n    ! This is usually accessed via the generic interface\n    ! hl_gtk_spin_button_set_value. Note that since  GTK implements\n    ! all spin buttons as double either type may be used for any button.\n    !-\n\n    call gtk_spin_button_set_value(spin_button, val)\n  end subroutine hl_gtk_spin_button_set_flt\n\n  !+\n  subroutine hl_gtk_spin_button_set_int(spin_button, val)\n\n    type(c_ptr), intent(in) :: spin_button\n    integer(c_int), intent(in) :: val\n\n    ! Set an integer value for a spin_button\n    !\n    ! SPIN_BUTTON |  c_ptr |  required |  The spin_button to set.\n    ! VAL |  c_int |  required |  The value to set.\n    !\n    ! This is usually accessed via the generic interface\n    ! hl_gtk_spin_button_set_value. Note that since  GTK implements\n    ! all spin buttons as double either type may be used for any button.\n    !-\n\n    call gtk_spin_button_set_value(spin_button, real(val, c_double))\n  end subroutine hl_gtk_spin_button_set_int\n\n  !+\n  subroutine hl_gtk_spin_button_set_range(spin_button, lower, upper, &\n       & step, digits)\n    type(c_ptr), intent(in) :: spin_button\n    real(c_double), intent(in), optional :: lower, upper, step\n    integer(c_int), intent(in), optional :: digits\n\n    ! Adjust the bounds of a spin box\n    !\n    ! SLIDER |  c_ptr |  required |  The slider to modify\n    ! LOWER |  c_double |  optional |  The new lower bound\n    ! UPPER |  c_double |  optional |  The new uppper bound\n    ! STEP |  c_double |  optional |  The new step size.\n    ! DIGITS |  c_int |  optional |  The new number of decimals.\n    !\n    ! **Note** This routine is not a generic interface as\n    ! overloading requires that the interface be distinguishable by its\n    ! required arguments, and it seems less annoying to have to convert to\n    ! doubles or use a separate call than to specify an unchanged bound.\n    !-\n\n    type(c_ptr) :: adjustment\n    real(c_double) :: nlower, nupper\n\n    if (present(upper) .or. present(lower)) then\n       adjustment = gtk_spin_button_get_adjustment(spin_button)\n\n       if (present(lower)) then\n          nlower = lower\n       else\n          nlower = gtk_adjustment_get_lower(adjustment)\n       end if\n\n       if (present(upper)) then\n          nupper = upper\n       else\n          nupper = gtk_adjustment_get_upper(adjustment)\n       end if\n\n       call gtk_spin_button_set_range(spin_button, nlower, nupper)\n    end if\n    if (present(step)) call gtk_spin_button_set_increments(spin_button,&\n         &  step, 10._c_double*step)\n\n    if (present(digits)) call gtk_spin_button_set_digits(spin_button, digits)\n\n  end subroutine hl_gtk_spin_button_set_range\n\n  !+\n  subroutine hl_gtk_spin_button_set_range_int(spin_button, lower, upper)\n    type(c_ptr), intent(in) :: spin_button\n    integer(c_int), intent(in), optional :: lower, upper\n\n    ! Adjust the bounds of a spin box, integer values\n    !\n    ! SLIDER |  c_ptr |  required |  The slider to modify\n    ! LOWER |  c_int |  optional |  The new lower bound\n    ! UPPER |  c_int |  optional |  The new uppper bound\n    !\n    ! **Note** This routine is not a generic interface as\n    ! overloading requires that the interface be distinguishable by its\n    ! required arguments, and it seems less annoying to use a separate\n    ! call than to specify an unchanged bound.\n    !-\n\n    type(c_ptr) :: adjustment\n    real(c_double) :: nlower, nupper\n\n    ! Check it's not a do-nothing\n    if (.not. (present(upper) .or. present(lower))) return\n\n    adjustment = gtk_spin_button_get_adjustment(spin_button)\n\n    if (present(lower)) then\n       nlower = real(lower, c_double)\n    else\n       nlower = gtk_adjustment_get_lower(adjustment)\n    end if\n\n    if (present(upper)) then\n       nupper = real(upper, c_double)\n    else\n       nupper = gtk_adjustment_get_upper(adjustment)\n    end if\n\n    call gtk_spin_button_set_range(spin_button, nlower, nupper)\n\n  end subroutine hl_gtk_spin_button_set_range_int\nend module gtk_hl_spin_slider\n"
  },
  {
    "path": "src/gtk-hl-tree.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2011 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!-----------------------------------------------------------\n! Contributed by James Tappin\n! Last modification: 2012-07-30, vmagnin 2020-08-25 (GTK 4)\n!-----------------------------------------------------------\n\n!*\n! Lists and Trees\nmodule gtk_hl_tree\n  ! These functions attempt to hide some of the complexity of the GtkTreeView\n  ! system of widgets and object, while still allowing the main functionality\n  ! to be accessed. Most possible renderers are supported (spinner is not).\n  !\n  ! There are three types of list and tree supported.\n  !\n  ! 1. listn; A multi-column flat list.\n  ! 2. list1; A single-column flat list, that allows only string values.\n  !    (This is now implemented by calls to the corresponding listn routines).\n  !    Editability is not available for list1.\n  ! 3. tree; A tree view (similar to listn but with child rows).\n  !/\n\n  use gtk_sup\n  use gtk_hl_container\n  use, intrinsic :: iso_c_binding\n  use, intrinsic :: iso_fortran_env, only: error_unit\n\n  ! Auto generated use's\n  use gtk, only: gtk_cell_layout_get_cells,&\n       & gtk_cell_renderer_set_alignment,&\n       & gtk_cell_renderer_set_padding, gtk_cell_renderer_text_new,&\n       & gtk_list_store_append,&\n       & gtk_list_store_clear, gtk_list_store_insert,&\n       & gtk_list_store_move_after, gtk_list_store_move_before,&\n       & gtk_list_store_newv, gtk_list_store_remove,&\n       & gtk_list_store_reorder, gtk_list_store_set_value,&\n       & gtk_list_store_swap, gtk_scrolled_window_new,&\n       & gtk_scrolled_window_set_policy,&\n       & gtk_scrolled_window_set_child,&\n       & gtk_tree_model_get_column_type, gtk_tree_model_get_iter,&\n       & gtk_tree_model_get_iter_first, gtk_tree_model_get_value,&\n       & gtk_tree_model_iter_children, gtk_tree_model_iter_n_children,&\n       & gtk_tree_model_iter_next, gtk_tree_model_iter_nth_child,&\n       & gtk_tree_model_iter_parent, gtk_tree_path_free,&\n       & gtk_tree_model_get_string_from_iter, &\n       & gtk_tree_model_get_iter_from_string, &\n       & gtk_tree_path_get_depth, gtk_tree_path_get_indices,&\n       & gtk_tree_path_get_indices_with_depth,&\n       & gtk_tree_selection_get_selected,&\n       & gtk_tree_selection_get_selected_rows,&\n       & gtk_tree_selection_select_iter, gtk_tree_selection_set_mode,&\n       & gtk_tree_selection_unselect_all, gtk_tree_store_append,&\n       & gtk_tree_store_clear, gtk_tree_store_insert,&\n       & gtk_tree_store_insert_before, gtk_tree_store_newv,&\n       & gtk_tree_store_prepend, gtk_tree_store_remove,&\n       & gtk_tree_store_set_value, gtk_tree_view_append_column,&\n       & gtk_tree_view_column_add_attribute, gtk_tree_view_column_new,&\n       & gtk_tree_view_column_pack_start,&\n       & gtk_tree_view_column_set_cell_data_func,&\n       & gtk_tree_view_column_set_fixed_width,&\n       & gtk_tree_view_column_set_resizable,&\n       & gtk_tree_view_column_set_sizing,&\n       & gtk_tree_view_column_set_sort_column_id,&\n       & gtk_tree_view_column_set_sort_indicator,&\n       & gtk_tree_view_column_set_title, gtk_tree_view_get_column,&\n       & gtk_tree_view_get_model, gtk_tree_view_get_selection,&\n       & gtk_tree_view_new, gtk_tree_view_new_with_model,&\n       & gtk_tree_model_get_type, &\n       & gtk_widget_set_sensitive, gtk_widget_set_size_request,&\n       & gtk_widget_set_tooltip_text, &\n       & gtk_adjustment_set_lower, gtk_adjustment_set_upper, &\n       & gtk_adjustment_set_step_increment, gtk_adjustment_new, &\n       & gtk_adjustment_set_page_increment, gtk_adjustment_set_value, &\n       & gtk_cell_renderer_toggle_new, gtk_cell_renderer_spin_new, &\n       & gtk_cell_renderer_toggle_get_active, gtk_cell_renderer_progress_new, &\n       & gtk_cell_renderer_set_fixed_size, gtk_cell_renderer_pixbuf_new, &\n       & gtk_cell_renderer_combo_new, gtk_combo_box_set_active, &\n       & gtk_cell_renderer_toggle_set_radio, &\n       & GTK_POLICY_AUTOMATIC, GTK_TREE_VIEW_COLUMN_FIXED, &\n       & GTK_SELECTION_MULTIPLE, &\n       & TRUE, FALSE, g_signal_connect\n\n  use g, only: g_list_foreach, g_list_free, g_list_length, g_list_nth,&\n       & g_list_nth_data, g_object_get_data, g_object_set_data,&\n       & g_object_set_property, g_value_get_boolean, &\n       & g_value_get_schar, g_value_set_schar, &\n       & g_value_get_double, g_value_get_float, g_value_get_int,&\n       & g_value_get_int64, g_value_get_long, g_value_get_string,&\n       & g_value_get_uchar, g_value_get_uint, g_value_get_uint64,&\n       & g_value_get_ulong, g_value_init, g_value_set_boolean,&\n       & g_value_set_double, g_value_set_float,&\n       & g_value_set_int, g_value_set_int64, g_value_set_long,&\n       & g_value_set_string, g_value_set_uchar, g_value_set_uint,&\n       & g_value_set_uint64, g_value_set_ulong, g_value_unset, &\n       & g_object_get_property, g_value_get_object, g_value_set_object, &\n       & g_value_take_object, g_object_ref\n\n  use gdk_pixbuf, only: gdk_pixbuf_get_type\n\n  implicit none\n\n  ! Interfaces to give suitable names to procedures that are\n  ! identical between lists and trees. (Yes I know this is the\n  ! reverse of how the construct is usually meant to be used).\n\n  interface hl_gtk_listn_set_cell_data_func\n     module procedure hl_gtk_list_tree_set_cell_data_func\n  end interface hl_gtk_listn_set_cell_data_func\n  interface hl_gtk_tree_set_cell_data_func\n     module procedure hl_gtk_list_tree_set_cell_data_func\n  end interface hl_gtk_tree_set_cell_data_func\n\n  interface hl_gtk_listn_config_spin\n     module procedure hl_gtk_list_tree_config_spin\n  end interface hl_gtk_listn_config_spin\n  interface hl_gtk_tree_config_spin\n     module procedure hl_gtk_list_tree_config_spin\n  end interface hl_gtk_tree_config_spin\n\n  interface hl_gtk_listn_config_combo\n     module procedure hl_gtk_list_tree_combo_model_config\n  end interface hl_gtk_listn_config_combo\n  interface hl_gtk_tree_config_combo\n     module procedure hl_gtk_list_tree_combo_model_config\n  end interface hl_gtk_tree_config_combo\n\n  interface hl_gtk_listn_combo_set_model\n     module procedure  hl_gtk_list_tree_combo_model_attach\n  end interface hl_gtk_listn_combo_set_model\n  interface hl_gtk_tree_combo_set_model\n     module procedure  hl_gtk_list_tree_combo_model_attach\n  end interface hl_gtk_tree_combo_set_model\n\n\n  ! Renderer types (convenience constants)\n\n  character(len=10), parameter :: hl_gtk_cell_text = 'text'\n  character(len=10), parameter :: hl_gtk_cell_toggle = 'toggle'\n  character(len=10), parameter :: hl_gtk_cell_radio = 'radio'\n  character(len=10), parameter :: hl_gtk_cell_combo = 'combo'\n  character(len=10), parameter :: hl_gtk_cell_spin  = 'spin'\n  character(len=10), parameter :: hl_gtk_cell_pixbuf = 'pixbuf'\n  character(len=10), parameter :: hl_gtk_cell_progress = 'progress'\n  character(len=10), parameter :: hl_gtk_cell_spinner = 'spinner'\n\n  ! Make the code-saver routines private\n  private :: hl_gtk_list_tree_add_column, hl_gtk_list_tree_set_gvalue, &\n       & hl_gtk_list_tree_get_gvalue, hl_gtk_list_tree_set_cell_data_func, &\n       & hl_gtk_list_tree_type_adjust, hl_gtk_list_tree_config_spin, &\n       & hl_gtk_list_tree_combo_model_attach, &\n       & hl_gtk_list_tree_combo_model_config\n\ncontains\n  !+\n  function hl_gtk_listn_new(scroll, ncols, types, changed, data, multiple,&\n       & width, titles, height, swidth, align, ixpad, iypad, renderers, &\n       & sensitive, tooltip, sortable, editable, colnos, edited, &\n       & data_edited, edited_text, data_edited_text, toggled,&\n       & data_toggled, edited_spin, data_edited_spin, &\n       & edited_combo, data_edited_combo, changed_combo, data_changed_combo,&\n       & toggled_radio, data_toggled_radio,  &\n       & hscroll_policy, vscroll_policy) result(list)\n\n    type(c_ptr) :: list\n    type(c_ptr), intent(out), optional :: scroll\n    integer(c_int), intent(in), optional :: ncols\n    integer(type_kind), dimension(:), intent(in), optional :: types\n    type(c_funptr), optional :: changed\n    type(c_ptr), intent(in), optional :: data\n    integer(c_int), intent(in), optional :: multiple\n    integer(c_int), intent(in), optional, dimension(:) :: width\n    character(len=*), dimension(:), intent(in), optional :: titles, renderers\n    integer(c_int), intent(in), optional :: height, swidth\n    real(c_float), intent(in), optional, dimension(:) :: align\n    integer(c_int), intent(in), optional, dimension(:) :: ixpad, iypad\n    integer(c_int), intent(in), optional :: sensitive\n    character(kind=c_char), dimension(*), intent(in), optional :: tooltip\n    integer(c_int), intent(in), optional, dimension(:) :: sortable, editable\n    type(c_funptr), optional :: edited, edited_text, toggled, edited_spin, &\n         & edited_combo, changed_combo, toggled_radio\n    type(c_ptr), optional, intent(in) :: data_edited, data_edited_text, &\n         & data_toggled, data_edited_spin, data_edited_combo, &\n         & data_changed_combo, data_toggled_radio\n    integer(c_int), dimension(:), allocatable, intent(out), optional, target :: colnos\n    integer(c_int), intent(in), optional :: hscroll_policy, vscroll_policy\n\n    ! Make a multi column list\n    !\n    ! SCROLL |  c_ptr |  optional |  A scrollable widget containing the list. (If present, then this is used to pack the list)\n    ! NCOLS |  c_int |  optional |  The number of columns.\n    ! TYPES |  GType() |  optional |  The types for each column.\n    ! CHANGED |  c_funptr |  optional |  Callback function for the \"changed\" signal to the associated selection object.\n    ! DATA |  c_ptr |  optional |  Data to be passed to/from the callback.\n    ! MULTIPLE |  boolean |  optional |  Whether multiple selections are allowed.\n    ! WIDTH |  integer() |  optional |  The width of the displayed columns.\n    ! TITLES |  string() |  optional |  Titles for the visible columns.\n    ! HEIGHT |  c_int |  optional |  The height of the display (this is actually the height of the scroll box).\n    ! SWIDTH |  c_int |  Optional |  The width for the scroll box\n    ! ALIGN |  c_float() |  optional |  The alignment of the columns\n    ! IXPAD |  c_int() |  optional |  The X-padding around the cells.\n    ! IYPAD |  c_int() |  optional |  The Y-Padding around the cells.\n    ! RENDERERS |  f_string() |  optional |  List of renderer types.\n    ! SENSITIVE |  boolean |  optional |  Whether the widget is intially sensitive.\n    ! TOOLTIP |  string |  optional |  Tooltip for the widget\n    ! SORTABLE |  boolean() |  optional |  Set whether the list can be sorted on that column.\n    ! EDITABLE |  boolean() |  optional |  Set whether the column can be edited.\n    ! EDITED |  c_funptr |  optional |  An alternative callback for the \"edited\" signal on edited cells. N.B. Only a single callback can be set if different actions are needed for different columns, you must use the column number inside the callback. See hl_gtk_listn_edit_cb for how to access the column numbers. Used for all \"text\" dereived renderers unless overridden by specific callbacks.\n    ! DATA_EDITED |  c_ptr |  optional |  Data to pass to the edited callback.\n    ! EDITED_TEXT |  c_funptr |  optional |  An alternative callback for text renderers (not applied to derived renderers).\n    ! DATA_EDITED_TEXT |  c_ptr |  optional |  Data to pass to the edited_text  callback.\n    ! EDITED_SPIN |  c_funptr |  optional |  An alternative callback for spin button.\n    ! DATA_EDITED_SPIN |  c_ptr |  optional |  Data to pass to the edited_spin  callback.\n    ! EDITED_COMBO |  c_funptr |  optional |  An alternative callback for the \"edited\" signal from a combo cell\n    ! DATA_EDITED_COMBO |  c_ptr |  optional |  Data to pass to the edited_combo  callback.\n    ! TOGGLED |  c_funptr |  optional |  An alternative callback for the \"toggled\" signal from toggle renderers.\n    ! DATA_TOGGLED |  c_ptr |  optional |  Data to pass to the toggled callback.\n    ! TOGGLED_RADIO |  c_funptr |  optional |  An alternative callback for the \"toggled\" signal from radio toggle renderers.\n    ! DATA_TOGGLED_RADIO |  c_ptr |  optional |  Data to pass to the toggled callback for radio toggle renderers\n    ! CHANGED_COMBO |  c_funptr |  optional |  Callback for the \"changed\" signal from a combo cell. This is not actually all that useful as the edited signal will be emitted as soon as focus leaves the combo.\n    ! DATA_CHANGED_COMBO |  c_ptr |  optional |  Data to pass to the changed callback.\n    ! HSCROLL_POLICY |  int |  optional |  Horizontal scrolling policy for the containing scroll window (default AUTOMATIC).\n    ! VSCROLL_POLICY |  int |  optional |  Vertical scrolling policy for the containing scroll window (default AUTOMATIC).\n    !\n    ! At least one of the array arguments or NCOLS must be given.\n    ! If TYPES is not given, then strings are assumed.\n    !\n    ! The following types of renderer are implemented.\n    !\n    ! * \"text\" (hl_gtk_cell_text) A standard text box (can also have\n    ! \t\tnumeric types.)\n    ! * \"toggle\" (hl_gtk_cell_toggle) A toggle button (always\n    ! \t\tG_TYPE_BOOLEAN).\n    ! * \"radio\" (hl_gtk_cell_radio) A toggle button with radio button\n    ! \t\trenderering. As far as I can see it is the programmer's\n    ! \t\tresponsibility to deal with the exclusivity--there does not\n    ! \t\tappear to be an equivalent of the group for normal\n    ! \t\tradio buttons.\n    ! * \"combo\" (hl_gtk_cell_combo) A combo box--the default model supports\n    ! \t\tstrings only but user-defined models are possible.\n    ! * \"spin\" (hl_gtk_cell_spin) A spin button. Always of type G_TYPE_DOUBLE.\n    ! * \"pixbuf\" (hl_gtk_cell_pixbuf) A gdk_pixbuf. Always of type\n    ! \t\tgdk_pixbuf_get_type()\n    ! * \"progress\" (hl_gtk_cell_progress) A progress bar. Always of type\n    ! \t\tG_TYPE_INT, not editable.\n    ! * The spinner type is not (yet) implemented.\n    !-\n\n    integer(c_int) :: ncols_all, i, hscroll, vscroll\n    integer(type_kind), dimension(:), allocatable, target :: types_all\n\n    type(c_ptr) :: model, select\n\n    ! Warn if the obsolete COLNOS argument is present\n    if (present(colnos)) write(error_unit, *) \"hl_gtk_listn_new: \"//&\n         & \"The COLNOS argument is no longer needed.\"\n\n    ! First find how many columns there are.\n\n    if (present(ncols)) then\n       ncols_all = ncols\n    else if (present(types)) then\n       ncols_all = size(types)\n    else if (present(titles)) then\n       ncols_all = size(titles)\n    else if (present(align)) then\n       ncols_all = size(align)\n    else if (present(width)) then\n       ncols_all = size(width)\n    else if (present(sortable)) then\n       ncols_all = size(sortable)\n    else if (present(ixpad)) then\n       ncols_all = size(ixpad)\n    else if (present(iypad)) then\n       ncols_all = size(iypad)\n    else if (present(editable)) then\n       ncols_all = size(editable)\n    else if (present(renderers)) then\n       ncols_all = size(renderers)\n    else\n       write(error_unit,*) &\n            & \"hl_gtk_listn_new: Cannot determine the number of columns\"\n       list = C_NULL_PTR\n       scroll=C_NULL_PTR\n       return\n    end if\n\n    ! Now determine the column types.\n    allocate(types_all(ncols_all))\n    if (present(types)) then\n       types_all = types\n    else\n       types_all(:) = G_TYPE_STRING\n    end if\n    if (present(renderers)) &\n         & call hl_gtk_list_tree_type_adjust(types_all, renderers)\n\n    ! Create the storage model and the list.\n    model = gtk_list_store_newv(ncols_all, c_loc(types_all))\n    list = gtk_tree_view_new_with_model(model)\n\n    if (present(scroll)) then\n       if (present(hscroll_policy)) then\n          hscroll = hscroll_policy\n       else\n          hscroll = GTK_POLICY_AUTOMATIC\n       end if\n       if (present(vscroll_policy)) then\n          vscroll = vscroll_policy\n       else\n          vscroll = GTK_POLICY_AUTOMATIC\n       end if\n\n       ! Pack the list in the scroll box\n       scroll = gtk_scrolled_window_new()\n       call gtk_scrolled_window_set_policy(scroll, hscroll, &\n            & vscroll)\n       call gtk_scrolled_window_set_child(scroll, list)\n\n       if (present(height) .and. present(swidth)) then\n          call gtk_widget_set_size_request(scroll,swidth,height)\n       else if (present(height)) then\n          call gtk_widget_set_size_request(scroll,-1_c_int,height)\n       else if (present(swidth)) then\n          call gtk_widget_set_size_request(scroll,swidth,1_c_int)\n       end if\n    else\n       if (present(height) .and. present(swidth)) then\n          call gtk_widget_set_size_request(list,swidth,height)\n       else if (present(height)) then\n          call gtk_widget_set_size_request(list,-1_c_int,height)\n       else if (present(swidth)) then\n          call gtk_widget_set_size_request(list,swidth,1_c_int)\n       end if\n    end if\n\n    ! Now the visible columns\n    do i = 1, ncols_all\n       call hl_gtk_list_tree_add_column(i, list, .true., type=types_all(i), &\n            & editable=editable, &\n            & ixpad=ixpad, iypad=iypad, align=align, titles=titles, &\n            & sortable=sortable, width=width, &\n            & renderers=renderers, edited=edited, data_edited=data_edited, &\n            & edited_text=edited_text, data_edited_text=data_edited_text, &\n            & edited_spin=edited_spin, data_edited_spin=data_edited_spin, &\n            & toggled=toggled, data_toggled=data_toggled, &\n            & edited_combo=edited_combo, data_edited_combo=data_edited_combo, &\n            & changed_combo=changed_combo, &\n            & data_changed_combo=data_changed_combo, &\n            & toggled_radio=toggled_radio, &\n            & data_toggled_radio=data_toggled_radio)\n\n    end do\n\n    ! The event handler is attached to the selection object, as is\n    ! the multiple selection property.\n\n    select = gtk_tree_view_get_selection(list)\n\n    if (present(multiple)) then\n       if (multiple == TRUE) &\n            & call gtk_tree_selection_set_mode(select, GTK_SELECTION_MULTIPLE)\n    end if\n\n    if (present(changed)) then\n       if (present(data)) then\n          call g_signal_connect(select, \"changed\"//c_null_char, &\n               & changed, data)\n       else\n          call g_signal_connect(select, \"changed\"//c_null_char, changed)\n       end if\n    end if\n\n    if (present(tooltip)) call gtk_widget_set_tooltip_text(list, tooltip)\n\n    if (present(sensitive)) &\n         & call gtk_widget_set_sensitive(list, sensitive)\n\n    deallocate(types_all)\n  end function hl_gtk_listn_new\n\n  !+\n  subroutine hl_gtk_listn_ins(list, row, count)\n\n    type(c_ptr), intent(in) :: list\n    integer(c_int), intent(in), optional :: row, count\n\n    ! Insert a row into a tabular list.\n    !\n    ! LIST |  c_ptr |  required |  The list into which to insert the row.\n    ! ROW |  c_int |  optional |  The row BEFORE which to insert the row (append if absent)\n    ! COUNT |  c_int |  optional |  How many rows to add (default 1)\n    !-\n\n    type(c_ptr) :: store\n    type(gtktreeiter), target :: iter\n    integer(c_int) :: i, n\n\n    ! Get the ListStore\n    store = gtk_tree_view_get_model(list)\n\n    if (present(count)) then\n       n = count\n    else\n       n = 1\n    end if\n\n    ! Insert the row(s)\n    if (present(row)) then\n       do i = 1, n\n          call gtk_list_store_insert(store, c_loc(iter), row)\n       end do\n    else\n       do i = 1, n\n          call gtk_list_store_append(store, c_loc(iter))\n       end do\n    end if\n  end subroutine hl_gtk_listn_ins\n\n  !+\n  subroutine hl_gtk_listn_rem(list, row)\n\n    type(c_ptr), intent(in) :: list\n    integer(c_int), optional, intent(in) :: row\n\n    ! Remove a row or clear a list\n    !\n    ! LIST |  c_ptr |  required |  The list to modify\n    ! ROW |  integer |  optional |  The row to remove, if absent clear the list\n    !-\n\n    integer(c_int) :: valid\n    type(c_ptr) :: store\n    type(gtktreeiter), target :: iter\n\n    ! Get list store\n    store = gtk_tree_view_get_model(list)\n\n    ! If 2 arguments, then remove a row\n    if (present(row)) then\n       valid = gtk_tree_model_iter_nth_child(store, c_loc(iter), &\n            & C_NULL_PTR, row)\n       if (valid==FALSE) return\n\n       valid = gtk_list_store_remove(store, c_loc(iter))\n\n    else   ! 1 argument clear the whole list\n       call gtk_list_store_clear(store)\n    end if\n  end subroutine hl_gtk_listn_rem\n\n  !+\n  function hl_gtk_listn_get_selections(list, indices, selection) result(count)\n\n    integer(c_int) :: count\n    type(c_ptr), intent(in) :: list\n    integer(c_int), dimension(:), allocatable, target, &\n         & intent(out), optional :: indices\n    type(c_ptr), optional :: selection\n\n    ! Get the indices of the selected rows\n    !\n    ! LIST |  c_ptr |  required |  The list whose selections are to be found.\n    ! INDICES |  integer |  optional |  An allocatable array to return the list of selections. (If count = 0 it will not be allocated). If this argument is not given, then the number of selected rows is returned.\n    ! SELECTION |  c_ptr |  optional |  A selection. If this is given then LIST is ignored. This is most often used in the callback routine for the changed signal when that needs to find which element(s) are selected.\n    !\n    ! Returns the number of selections.\n    !-\n\n    type(c_ptr) :: slist, vselection\n    integer(c_int) :: i\n    type(c_ptr) :: cindex\n    integer(c_int), pointer :: findex\n\n    if (present(selection)) then\n       vselection = selection\n    else\n       vselection = gtk_tree_view_get_selection(list)\n    end if\n\n    slist = gtk_tree_selection_get_selected_rows(vselection, &\n         & c_null_ptr)\n\n    ! If no selections, then set the count to 0 and return\n    if (.not. c_associated(slist)) then\n       count=0\n       return\n    end if\n\n    ! Determine how many rows are selected. Then if no output list was\n    ! supplied, return, otherwise go on and make a list.\n    count = g_list_length(slist)\n    if (.not. present(indices)) return\n\n    allocate(indices(count))\n\n    ! For each of the elements in the selection list, find its index\n    ! from the hidden first column\n    do i = 1, count\n       cindex = gtk_tree_path_get_indices(g_list_nth_data(slist, i-1_c_int))\n       call c_f_pointer(cindex, findex)\n       indices(i) = findex\n    end do\n\n    ! Free the selection list.\n    call g_list_foreach(slist, c_funloc(gtk_tree_path_free), C_NULL_PTR)\n    call g_list_free(slist)\n\n  end function hl_gtk_listn_get_selections\n\n\n  !+\n  subroutine  hl_gtk_listn_set_selection(list, row)\n\n    type(c_ptr), intent(in) :: list\n    integer(c_int), intent(in), optional :: row\n\n    ! Set the selected row in a list (single row only).\n    !\n    ! LIST |  c_ptr |  required |  The list to work on.\n    ! ROW |  c_int |  optional |  The row to select (absent or less than 0 is  clear selection)\n    !-\n\n    type(c_ptr) :: selection, store\n    type(gtktreeiter), target :: iter\n    integer(c_int) :: valid\n\n    ! Get list store and selection\n    store = gtk_tree_view_get_model(list)\n    selection = gtk_tree_view_get_selection(list)\n\n    if (.not. present(row)) then\n       call gtk_tree_selection_unselect_all(selection)\n    else if (row < 0) then\n       call gtk_tree_selection_unselect_all(selection)\n    else\n       valid = gtk_tree_model_iter_nth_child(store, c_loc(iter), &\n            & C_NULL_PTR, row)\n       if (valid == FALSE) return\n       call gtk_tree_selection_select_iter(selection, c_loc(iter))\n    end if\n  end subroutine hl_gtk_listn_set_selection\n\n  !+\n  subroutine hl_gtk_listn_set_cell(list, row, col, &\n       & svalue, fvalue, dvalue, ivalue, lvalue, l64value, logvalue, &\n       & i8value, pbvalue)\n\n    type(c_ptr), intent(in) :: list\n    integer(c_int), intent(in) :: row, col\n    character(len=*), intent(in), optional :: svalue\n    real(c_float), intent(in), optional :: fvalue\n    real(c_double), intent(in), optional :: dvalue\n    integer(c_int), intent(in), optional :: ivalue\n    integer(c_long), intent(in), optional :: lvalue\n    integer(c_int64_t), intent(in), optional :: l64value\n    logical, intent(in), optional :: logvalue\n    integer(c_int8_t), intent(in), optional :: i8value\n    type(c_ptr), intent(in), optional :: pbvalue\n\n    ! Set the value of a cell.\n    !\n    ! LIST |  c_ptr |  required |  The list containing the cell.\n    ! ROW |  c_int |  required |  The row of the cell\n    ! COL |  c_int |  required |  The column of the cell.\n    ! SVALUE |  string |  optional |  A string value for the cell.\n    ! FVALUE |  float |  optional |  A single precision FP value for the cell.\n    ! DVALUE |  double |  optional |  A double precision FP value for the cell.\n    ! IVALUE |  c_int |  optional |  A normal integer value for the cell.\n    ! LVALUE |  c_long |  optional |  A long integer value for the cell.\n    ! L64VALUE |  c_int64_t |  optional |  A 64-bit integer value for the cell.\n    ! LOGVALUE |  logical |  optional |  A logical value for the cell.\n    ! I8VALUE |  int8_t |  optional |  An 8-bit integer value for the cell.\n    ! PBVALUE |  c_ptr |  optional |  A pixbuf pointer value for the cell.\n    !\n    ! Note that reasonable conversions are made between types.\n    !-\n\n    integer(type_kind) :: ctype\n    type(c_ptr) :: store, val\n    integer(c_int) :: valid\n    type(gtktreeiter), target :: iter\n    type(gvalue), target :: value\n\n    ! Get list store\n    store = gtk_tree_view_get_model(list)\n\n    ! Find the type for the requested column\n    ctype = gtk_tree_model_get_column_type(store, col)\n\n    ! Get the iterator of the row\n    valid = gtk_tree_model_iter_nth_child(store, c_loc(iter), C_NULL_PTR, row)\n    if (valid == FALSE) return\n\n    ! Set up the GValue to the right type.\n    val = c_loc(value)\n\n    call hl_gtk_list_tree_set_gvalue(val, ctype, svalue=svalue, fvalue=fvalue, &\n         & dvalue=dvalue, ivalue=ivalue, lvalue=lvalue, l64value=l64value, &\n         & logvalue=logvalue, i8value=i8value, pbvalue=pbvalue)\n\n    call gtk_list_store_set_value(store, c_loc(iter), col, val)\n\n  end subroutine hl_gtk_listn_set_cell\n\n  !+\n  subroutine hl_gtk_listn_get_cell(list, row, col, &\n       & svalue, fvalue, dvalue, ivalue, lvalue, l64value, logvalue, &\n       & i8value, pbvalue)\n\n    type(c_ptr), intent(in) :: list\n    integer(c_int), intent(in) :: row, col\n    character(len=*), intent(out), optional :: svalue\n    real(c_float), intent(out), optional :: fvalue\n    real(c_double), intent(out), optional :: dvalue\n    integer(c_int), intent(out), optional :: ivalue\n    integer(c_long), intent(out), optional :: lvalue\n    integer(c_int64_t), intent(out), optional :: l64value\n    logical, intent(out), optional :: logvalue\n    integer(c_int8_t), intent(out), optional :: i8value\n    type(c_ptr), intent(out), optional :: pbvalue\n\n    ! Retrieve the value of a cell.\n    !\n    ! LIST |  c_ptr |  required |  The list containing the cell.\n    ! ROW |  c_int |  required |  The row of the cell\n    ! COL |  c_int |  required |  The column of the cell.\n    ! SVALUE |  string |  optional |  A string value from the cell.\n    ! FVALUE |  float |  optional |  A single precision FP value from the cell.\n    ! DVALUE |  double |  optional |  A double precision FP value from the cell.\n    ! IVALUE |  c_int |  optional |  A normal integer value from the cell.\n    ! LVALUE |  c_long |  optional |  A long integer value from the cell.\n    ! L64VALUE |  c_int64_t |  optional |  A 64-bit integer value from the cell.\n    ! LOGVALUE |  logical  |  optional |  A logical value from the cell.\n    ! I8VALUE |  int8_t |  optional |  An 8-bit integer value from the cell.\n    ! PBVALUE |  c_ptr |  optional |  A pixbuf pointer from the cell.\n    !\n    ! Note that a similar conversion system to the set_cell routine\n    ! except that strings can only be returned to SVALUE.\n    !-\n\n    integer(type_kind) :: ctype\n    type(c_ptr) :: store, val\n    integer(c_int) :: valid\n    type(gtktreeiter), target :: iter\n    type(gvalue), target :: value\n\n    ! Get list store\n    store = gtk_tree_view_get_model(list)\n\n    ! Find the type for the requested column\n    ctype = gtk_tree_model_get_column_type(store, col)\n\n    ! Get the iterator of the row\n    valid = gtk_tree_model_iter_nth_child(store, c_loc(iter), C_NULL_PTR, row)\n    if (valid == FALSE) return\n\n    ! Set up the GValue pointer (for convenience) gtk_tree_model_get_value\n    ! does the initialization.\n    val = c_loc(value)\n\n    ! Get the GValue of the cell.\n    call gtk_tree_model_get_value(store, c_loc(iter), col, val)\n\n    call hl_gtk_list_tree_get_gvalue(val, ctype, &\n         & svalue=svalue, fvalue=fvalue, dvalue=dvalue, ivalue=ivalue, &\n         & lvalue=lvalue, l64value=l64value, logvalue=logvalue, &\n         & i8value=i8value, pbvalue=pbvalue)\n\n  end subroutine hl_gtk_listn_get_cell\n\n  !+\n  subroutine hl_gtk_listn_move_row(list, row1, row2, after)\n\n    type(c_ptr), intent(in) :: list\n    integer(c_int), intent(in) :: row1\n    integer(c_int), intent(in), optional :: row2\n    integer(c_int), intent(in), optional :: after\n\n    ! Move a row in a list to a new location\n    !\n    ! LIST |  c_ptr |  required |  The list to work on.\n    ! ROW1 |  c_int |  required |  The index of the row to move.\n    ! ROW2 |  c_int |  optional |  The location before which to place the row. (If omitted, then move to start (or end if AFTER is TRUE)).\n    ! AFTER |  boolean |  optional |   Set this to TRUE to put the row after the location instead of before.\n    !-\n\n    type(c_ptr) :: store\n    type(gtktreeiter), target :: iter1, iter2\n    integer(c_int) :: isafter\n    integer(c_int) :: valid\n\n    if (present(after)) then\n       isafter = after\n    else\n       isafter = FALSE\n    end if\n\n    ! Get list store\n    store = gtk_tree_view_get_model(list)\n\n    ! Get the iterator of the row to move\n    valid = gtk_tree_model_iter_nth_child(store, c_loc(iter1), &\n         & C_NULL_PTR, row1)\n    if (valid == FALSE) return\n    ! And of the target location\n    if (present(row2)) then\n       valid = gtk_tree_model_iter_nth_child(store, c_loc(iter2), &\n            & C_NULL_PTR, row2)\n       if (valid == FALSE) return\n    end if\n\n    ! Move it\n    if (isafter == TRUE) then\n       if (present(row2)) then\n          call gtk_list_store_move_after(store, c_loc(iter1), c_loc(iter2))\n       else\n          call gtk_list_store_move_before(store, c_loc(iter1), C_NULL_PTR)\n       end if\n    else\n       if (present(row2)) then\n          call gtk_list_store_move_before(store, c_loc(iter1), c_loc(iter2))\n       else\n          call gtk_list_store_move_after(store, c_loc(iter1), C_NULL_PTR)\n       end if\n    end if\n  end subroutine hl_gtk_listn_move_row\n\n  !+\n  subroutine hl_gtk_listn_swap_rows(list, row1, row2)\n\n    type(c_ptr), intent(in) :: list\n    integer(c_int), intent(in) :: row1, row2\n\n    ! Move a row in a list to a new location\n    !\n    ! LIST |  c_ptr |  required |  The list to work on.\n    ! ROW1 |  c_int |  required |  The index of the first row to move.\n    ! ROW2 |  c_int |  required |  The index of the second row to move\n    !-\n\n    type(c_ptr) :: store\n    type(gtktreeiter), target :: iter1, iter2\n    integer(c_int) :: valid\n\n    ! Get list store\n    store = gtk_tree_view_get_model(list)\n\n    ! Get the iterator of the first row to move\n    valid = gtk_tree_model_iter_nth_child(store, c_loc(iter1), &\n         & C_NULL_PTR, row1)\n    if (valid == FALSE) return\n    ! And of the second\n    valid = gtk_tree_model_iter_nth_child(store, c_loc(iter2), &\n         & C_NULL_PTR, row2)\n    if (valid == FALSE) return\n\n    ! Exchange the rows\n    call gtk_list_store_swap(store, c_loc(iter1), c_loc(iter2))\n\n  end subroutine hl_gtk_listn_swap_rows\n\n  !+\n  subroutine hl_gtk_listn_reorder(list, indices)\n\n    type(c_ptr), intent(in) :: list\n    integer(c_int), intent(in), dimension(:) :: indices\n\n    ! Move a row in a list to a new location\n    !\n    ! LIST |  c_ptr |  required |  The list to work on.\n    ! INDICES |  c_int() |  required |  The sorting array. The ith element contains the old location of the new (i-1)th row.\n    !-\n\n    type(c_ptr) :: store\n    integer(c_int), dimension(:), allocatable, target :: idx\n\n    allocate(idx(size(indices)))\n    idx = indices\n\n    ! Get list store\n    store = gtk_tree_view_get_model(list)\n\n    ! Reorder the list\n    call gtk_list_store_reorder(store, c_loc(idx))\n\n    deallocate(idx)\n\n  end subroutine hl_gtk_listn_reorder\n\n  !+\n  function hl_gtk_listn_get_n_rows(list) result(nrows)\n\n    integer(c_int) :: nrows\n    type(c_ptr), intent(in) :: list\n\n    ! Return the number of rows in a list.\n    !\n    ! LIST |  c_ptr |  required |  the list to query\n    !-\n\n    type(c_ptr) :: store\n\n    ! Get list store\n    store = gtk_tree_view_get_model(list)\n\n    ! Find how many rows\n    nrows = gtk_tree_model_iter_n_children(store, C_NULL_PTR)\n\n  end function hl_gtk_listn_get_n_rows\n\n  !+\n  function hl_gtk_list1_new(scroll, width, changed, data, multiple, &\n       & sensitive, tooltip, title, height) result(list)\n\n    type(c_ptr) :: list\n    type(c_ptr), intent(out), optional :: scroll\n    integer(c_int), intent(in), optional :: width\n    type(c_funptr), intent(in), optional :: changed\n    type(c_ptr), intent(in), optional :: data\n    integer(c_int), intent(in),  optional :: multiple, sensitive\n    character(kind=c_char), dimension(*), intent(in), optional :: tooltip\n    character(len=*), intent(in), optional :: title\n    integer(c_int), intent(in), optional :: height\n\n    ! A single column selectable list based on the GTK Tree View\n    !\n    ! SCROLL |  c_ptr |  optional |  A scroll box that will contain the list (used for packing etc.)\n    ! WIDTH |  integer |  optional |  The width of the displayed column.\n    ! CHANGED |  c_funptr |  optional |  Callback function for the \"changed\" signal to the associated selection object.\n    ! DATA |  c_ptr |  optional |  Data to be passed to/from the callback.\n    ! MULTIPLE |  boolean |  optional |  Whether multiple selections are allowed.\n    ! SENSITIVE |  boolean |  optional |  Whether the widget is intially sensitive.\n    ! TOOLTIP |  string |  optional |  Tooltip for the widget\n    ! TITLE |  string |  optional |  Title for the visible column.\n    ! HEIGHT |  integer |  optional |  The height of the display (this is actually the height of the scroll box).\n    !\n    ! If other options (e.g. sortable columns or editable cells are needed,\n    ! the use hl_gtk_listn_new with 1 column).\n    !-\n\n    integer(type_kind), target, dimension(1) :: types\n\n    ! Create list storage with 2 colums (one is a dummy, to provide an index)\n\n    types = [ G_TYPE_STRING ]\n\n    ! This slightly clunky if /else cascade is needed because the attempt to convert\n    ! an unset scalar argument to an array causes a segfault.\n    if (present(title) .and. present(width)) then\n       list = hl_gtk_listn_new(scroll, ncols=1_c_int, types=types, &\n            & changed=changed, &\n            & data=data, multiple=multiple, sensitive=sensitive, &\n            & tooltip=tooltip, width=[width], titles=[title], height=height)\n    else if (present(title)) then\n       list = hl_gtk_listn_new(scroll, ncols=1_c_int, types=types, &\n            & changed=changed, &\n            & data=data, multiple=multiple, sensitive=sensitive, &\n            & tooltip=tooltip, titles=[title], height=height)\n    else if (present(width)) then\n       list = hl_gtk_listn_new(scroll, ncols=1_c_int, types=types, &\n            & changed=changed, &\n            & data=data, multiple=multiple, sensitive=sensitive, &\n            & tooltip=tooltip, width=[width], height=height)\n    else\n       list = hl_gtk_listn_new(scroll, ncols=1_c_int, types=types, &\n            & changed=changed, &\n            & data=data, multiple=multiple, sensitive=sensitive, &\n            & tooltip=tooltip, height=height)\n    end if\n  end function hl_gtk_list1_new\n\n  !+\n  subroutine hl_gtk_list1_ins(list, text, row)\n\n    type(c_ptr), intent(in) :: list\n    character(kind=c_char, len=*), intent(in), optional :: text\n    integer(c_int), intent(in), optional :: row\n\n    ! Insert a row into a list\n    !\n    ! LIST |  c_ptr |  required |  The list to insert to.\n    ! TEXT |  string |  optional |  The text to insert.\n    ! ROW |  integer |  optional |  The row at which to insert the text (omit to append)\n    !-\n\n    integer(c_int) :: irow\n    type(c_ptr) :: store\n\n    call hl_gtk_listn_ins(list, row)\n    if (.not. present(text)) return\n\n    if (present(row)) then\n       irow = row\n    else\n       store = gtk_tree_view_get_model(list)\n       irow=gtk_tree_model_iter_n_children (store, C_NULL_PTR)-1\n    end if\n\n    call hl_gtk_listn_set_cell(list, irow, 0_c_int, svalue=text)\n\n  end subroutine hl_gtk_list1_ins\n\n  !+\n  subroutine hl_gtk_list1_rem(list, row)\n\n    type(c_ptr), intent(in) :: list\n    integer(c_int), optional, intent(in) :: row\n\n    ! Remove a row or clear a list\n    !\n    ! LIST |  c_ptr |  required |  The list to modify\n    ! ROW |  integer |  optional |  The row to remove, if absent clear the list\n    !-\n\n    call hl_gtk_listn_rem(list, row)\n\n  end subroutine hl_gtk_list1_rem\n\n  !+\n  function hl_gtk_list1_get_selections(list, indices, selection) result(count)\n\n    integer(c_int) :: count\n    type(c_ptr), intent(in) :: list\n    integer(c_int), dimension(:), allocatable, target, &\n         & intent(out), optional :: indices\n    type(c_ptr), optional :: selection\n\n    ! Get the indices of the selected rows\n    !\n    ! LIST |  c_ptr |  required |  The list whose selections are to be found.\n    ! INDICES |  integer |  optional |  An allocatable array to return the list of selections. (If count = 0 it will not be allocated). If this argument is not given, then the number of selected rows is returned.\n    ! SELECTION |  c_ptr |  optional |  A selection. If this is given then LIST is ignored. This is most often used in the callback routine for the changed signal when that needs to find which element(s) are selected.\n    !\n    ! Returns the number of selections.\n    !-\n\n    count = hl_gtk_listn_get_selections(list, indices, selection)\n\n  end function hl_gtk_list1_get_selections\n\n  !+\n  subroutine  hl_gtk_list1_set_selection(list, row)\n    type(c_ptr), intent(in) :: list\n    integer(c_int), intent(in), optional :: row\n\n    ! Set the selected row in a list (single row only)\n    !\n    ! LIST |  c_ptr |  required |  The list to work on.\n    ! ROW |  c_int |  optional |  The row to select (absent or < 0 is clear selection)\n    !-\n\n    call hl_gtk_listn_set_selection(list, row)\n\n  end subroutine hl_gtk_list1_set_selection\n\n  !+\n  subroutine hl_gtk_list1_set_cell(list, row, svalue)\n    type(c_ptr), intent(in) :: list\n    integer(c_int), intent(in) :: row\n    character(len=*), intent(in) :: svalue\n\n    ! Set a cell in a single column list\n    !\n    ! LIST |  c_ptr |  required |  The list containing the cell.\n    ! ROW |  c_int |  required |  The row of the cell\n    ! SVALUE |  string |  required |  A string value for the cell.\n    !-\n\n    call hl_gtk_listn_set_cell(list, row, 0_c_int, svalue=svalue)\n\n  end subroutine hl_gtk_list1_set_cell\n\n  !+\n  subroutine hl_gtk_list1_get_cell(list, row, svalue)\n    type(c_ptr), intent(in) :: list\n    integer(c_int), intent(in) :: row\n    character(len=*), intent(out) :: svalue\n\n    ! Set a cell in a single column list\n    !\n    ! LIST |  c_ptr |  required |  The list containing the cell.\n    ! ROW |  c_int |  required |  The row of the cell\n    ! SVALUE |  string |  required |  A string value from the cell.\n    !-\n\n    call hl_gtk_listn_get_cell(list, row, 0_c_int, svalue=svalue)\n\n  end subroutine hl_gtk_list1_get_cell\n\n  !+\n  subroutine hl_gtk_list1_move_row(list, row1, row2, after)\n    type(c_ptr), intent(in) :: list\n    integer(c_int), intent(in) :: row1\n    integer(c_int), intent(in), optional :: row2\n    integer(c_int), intent(in), optional :: after\n\n    ! Move a row in a list to a new location\n    !\n    ! LIST |  c_ptr |  required |  The list to work on.\n    ! ROW1 |  c_int |  required |  The index of the row to move.\n    ! ROW2 |  c_int |  optional |  The location before which to place the row.\n    ! AFTER |  boolean |  optional |   Set this to TRUE to put the row after the location instead of before.\n    !-\n\n    call hl_gtk_listn_move_row(list, row1, row2, after)\n\n  end subroutine hl_gtk_list1_move_row\n\n  !+\n  subroutine hl_gtk_list1_swap_rows(list, row1, row2)\n    type(c_ptr), intent(in) :: list\n    integer(c_int), intent(in) :: row1, row2\n\n    ! Move a row in a list to a new location\n    !\n    ! LIST |  c_ptr |  required |  The list to work on.\n    ! ROW1 |  c_int |  required |  The index of the first row to move.\n    ! ROW2 |  c_int |  required |  The index of the second row to move\n    !-\n\n    call hl_gtk_listn_swap_rows(list, row1, row2)\n\n  end subroutine hl_gtk_list1_swap_rows\n\n  !+\n  subroutine hl_gtk_list1_reorder(list, indices)\n    type(c_ptr), intent(in) :: list\n    integer(c_int), intent(in), dimension(:), target :: indices\n\n    ! Move a row in a list to a new location\n    !\n    ! LIST |  c_ptr |  required |  The list to work on.\n    ! INDICES |  c_int() |  required |  The sorting array. The ith element contains the old location of the new (i-1)th row.\n    !-\n\n    call hl_gtk_listn_reorder(list, indices)\n\n  end subroutine hl_gtk_list1_reorder\n\n  !+\n  function hl_gtk_list1_get_n_rows(list) result(nrows)\n\n    integer(c_int) :: nrows\n    type(c_ptr), intent(in) :: list\n\n    ! Return the number of rows in a list.\n    !\n    ! LIST |  c_ptr |  required |  the list to query\n    !-\n\n    nrows=hl_gtk_listn_get_n_rows(list)\n  end function hl_gtk_list1_get_n_rows\n\n  !+\n  subroutine hl_gtk_list1_set_cell_data_func(list, func, &\n       & data, destroy_notify)\n\n    type(c_ptr), intent(in) :: list\n    type(c_funptr), optional :: func\n    type(c_ptr), optional :: data\n    type(c_funptr), optional :: destroy_notify\n\n    ! Add a custom rendering function to a column of a list\n    !\n    ! LIST |  c_ptr |  required |  The list to which to apply the rendering function\n    ! FUNC |  c_funptr |  optional |  The function (actually subroutine) to do the rendering (see GtkTreeCellDataFunc, for details). Omit or set to C_NULL_FUNPTR to remove a function.\n    ! DATA |  c_ptr |  optional |  User data to pass to the function.\n    ! DESTROY_NOTIFY |  c_funptr |  optional |  A destroy notify subroutine.\n    !-\n\n    call hl_gtk_listn_set_cell_data_func(list, 0_c_int, func, &\n         & data, destroy_notify)\n  end subroutine hl_gtk_list1_set_cell_data_func\n\n  !+\n  function hl_gtk_tree_new(scroll, ncols, types, changed, data, multiple,&\n       & width, titles, height, swidth, align, ixpad, iypad, renderers, &\n       & sensitive, tooltip, sortable, editable, colnos, edited, data_edited, &\n       & edited_text, data_edited_text, toggled, data_toggled, &\n       & edited_spin, data_edited_spin, &\n       & edited_combo, data_edited_combo, changed_combo, data_changed_combo, &\n       & toggled_radio, data_toggled_radio,  &\n       & hscroll_policy, vscroll_policy) result(tree)\n\n    type(c_ptr) :: tree\n    type(c_ptr), intent(out), optional :: scroll\n    integer(c_int), intent(in), optional :: ncols\n    integer(type_kind), dimension(:), intent(in), optional :: types\n    type(c_funptr), optional :: changed\n    type(c_ptr), intent(in), optional :: data\n    integer(c_int), intent(in), optional :: multiple\n    integer(c_int), intent(in), optional, dimension(:) :: width\n    character(len=*), dimension(:), intent(in), optional :: titles, renderers\n    integer(c_int), intent(in), optional :: height, swidth\n    real(c_float), intent(in), optional, dimension(:) :: align\n    integer(c_int), intent(in), optional, dimension(:) :: ixpad, iypad\n    integer(c_int), intent(in), optional :: sensitive\n    character(kind=c_char), dimension(*), intent(in), optional :: tooltip\n    integer(c_int), intent(in), optional, dimension(:) :: sortable, editable\n    integer(c_int), dimension(:), allocatable, intent(out), optional, target :: colnos\n    type(c_funptr), optional :: edited, edited_text, toggled, edited_spin, &\n         & edited_combo, changed_combo, toggled_radio\n    type(c_ptr), optional, intent(in) :: data_edited, data_edited_text,&\n         & data_toggled, data_edited_spin, data_edited_combo, &\n         & data_changed_combo, data_toggled_radio\n    integer(c_int), intent(in), optional :: hscroll_policy, vscroll_policy\n\n    ! Make a tree view\n    !\n    ! SCROLL |  c_ptr |  optional |  A scrollable widget to contain the tree. (This is used to pack the tree)\n    ! NCOLS |  c_int |  optional |  The number of columns.\n    ! TYPES |  GType() |  optional |  The types for each column.\n    ! CHANGED |  c_funptr |  optional |  Callback function for the \"changed\" signal to the associated selection object.\n    ! DATA |  c_ptr |  optional |  Data to be passed to/from the callback.\n    ! MULTIPLE |  boolean |  optional |  Whether multiple selections are allowed.\n    ! WIDTH |  integer() |  optional |  The width of the displayed columns.\n    ! TITLES |  string() |  optional |  Titles for the visible columns.\n    ! HEIGHT |  c_int |  optional |  The height of the display (this is actually the height of the scroll box).\n    ! SWIDTH |  c_int |  Optional |  The width for the scroll box\n    ! ALIGN |  c_float() |  optional |  The alignment of the columns\n    ! IXPAD |  c_int() |  optional |  The X-padding around the cells.\n    ! IYPAD |  c_int() |  optional |  The Y-Padding around the cells.\n    ! RENDERERS | f_string() | List of renderer types.\n    ! SENSITIVE |  boolean |  optional |  Whether the widget is intially sensitive.\n    ! TOOLTIP |  string |  optional |  Tooltip for the widget\n    ! SORTABLE |  boolean() |  optional |  Set whether the tree can be sorted on that column.\n    ! EDITABLE |  boolean() |  optional |  Set whether the column can be edited.\n    ! EDITED |  f_funptr |  optional |  An alternative callback for the \"edited\" signal on edited cells. N.B. Only a single callback can be set if different actions are needed for different columns, you must use the column number inside the callback.\n    ! DATA_EDITED |  c_ptr |  optional |  Data to pass to the edited callback.\n    ! EDITED_TEXT |  c_funptr |  optional |  An alternative callback for text renderers (not applied to derived renderers).\n    ! DATA_EDITED_TEXT |  c_ptr |  optional |  Data to pass to the edited_text  callback.\n    ! EDITED_SPIN |  c_funptr |  optional |  An alternative callback for spin button.\n    ! DATA_EDITED_SPIN |  c_ptr |  optional |  Data to pass to the edited_spin  callback.\n    ! EDITED_COMBO |  c_funptr |  optional |  An alternative callback for the \"edited\" signal from a combo cell\n    ! DATA_EDITED_COMBO |  c_ptr |  optional |  Data to pass to the edited_combo  callback.\n    ! TOGGLED |  c_funptr |  optional |  An alternative callback for the \"toggled\" signal from toggle renderers.\n    ! DATA_TOGGLED |  c_ptr |  optional |  Data to pass to the toggled callback.\n    ! TOGGLED_RADIO |  c_funptr |  optional |  An alternative callback for the \"toggled\" signal from radio toggle renderers.\n    ! DATA_TOGGLED_RADIO |  c_ptr |  optional |  Data to pass to the toggled callback for radio toggle renderers\n    ! CHANGED_COMBO |  c_funptr |  optional |  Callback for the \"changed\" signal from a combo cell. This is not actually all that useful as the edited signal will be emitted as soon as focus leaves the combo.\n    ! DATA_CHANGED_COMBO |  c_ptr |  optional |  Data to pass to the changed callback.\n    ! HSCROLL_POLICY |  int |  optional |  Horizontal scrolling policy for the containing scroll window (default AUTOMATIC).\n    ! VSCROLL_POLICY |  int |  optional |  Vertical scrolling policy for the containing scroll window (default AUTOMATIC).\n    !\n    ! At least one of the array arguments or NCOLS must be given.\n    ! If TYPES is not given, then strings are assumed.\n    !\n    ! For renderer types see HL_GTK_LISTN_NEW.\n    !-\n\n    integer(c_int) :: ncols_all, i, hscroll, vscroll\n    integer(type_kind), dimension(:), allocatable, target :: types_all\n\n    type(c_ptr) :: model, select\n\n    ! Warn if the obsolete COLNOS argument is present\n    if (present(colnos)) write(error_unit, *) \"hl_gtk_tree_new: \"//&\n         & \"The COLNOS argument is no longer needed.\"\n\n    ! First find how many columns there are.\n\n    if (present(ncols)) then\n       ncols_all = ncols\n    else if (present(types)) then\n       ncols_all = size(types)\n    else if (present(titles)) then\n       ncols_all = size(titles)\n    else if (present(align)) then\n       ncols_all = size(align)\n    else if (present(width)) then\n       ncols_all = size(width)\n    else if (present(sortable)) then\n       ncols_all = size(sortable)\n    else if (present(ixpad)) then\n       ncols_all = size(ixpad)\n    else if (present(iypad)) then\n       ncols_all = size(iypad)\n    else if (present(editable)) then\n       ncols_all = size(editable)\n    else if (present(renderers)) then\n       ncols_all = size(renderers)\n    else\n       write(error_unit,*) &\n            & \"hl_gtk_tree_new: Cannot determine the number of columns\"\n       tree = C_NULL_PTR\n       scroll=C_NULL_PTR\n       return\n    end if\n\n    ! Now determine the column types.\n    allocate(types_all(ncols_all))\n    if (present(types)) then\n       types_all = types\n    else\n       types_all(:) = G_TYPE_STRING\n    end if\n    if (present(renderers)) &\n         & call hl_gtk_list_tree_type_adjust(types_all, renderers)\n\n\n    ! Create the storage model\n    model = gtk_tree_store_newv(ncols_all, c_loc(types_all))\n    tree = gtk_tree_view_new_with_model(model)\n\n    if (present(scroll)) then\n       if (present(hscroll_policy)) then\n          hscroll = hscroll_policy\n       else\n          hscroll = GTK_POLICY_AUTOMATIC\n       end if\n       if (present(vscroll_policy)) then\n          vscroll = vscroll_policy\n       else\n          vscroll = GTK_POLICY_AUTOMATIC\n       end if\n\n\n       ! Pack the tree in the scroll box\n       scroll = gtk_scrolled_window_new()\n       call gtk_scrolled_window_set_policy(scroll, hscroll, vscroll)\n\n       call gtk_scrolled_window_set_child(scroll, tree)\n\n       if (present(height) .and. present(swidth)) then\n          call gtk_widget_set_size_request(scroll,swidth,height)\n       else if (present(height)) then\n          call gtk_widget_set_size_request(scroll,-1_c_int,height)\n       else if (present(swidth)) then\n          call gtk_widget_set_size_request(scroll,swidth,-1_c_int)\n       end if\n    else\n       if (present(height) .and. present(swidth)) then\n          call gtk_widget_set_size_request(tree,swidth,height)\n       else if (present(height)) then\n          call gtk_widget_set_size_request(tree,-1_c_int,height)\n       else if (present(swidth)) then\n          call gtk_widget_set_size_request(tree,swidth,-1_c_int)\n       end if\n    end if\n\n    ! Set up the columns\n    do i = 1, ncols_all\n       call hl_gtk_list_tree_add_column(i, tree, .false., type=types_all(i), &\n            & editable=editable, &\n            & ixpad=ixpad, iypad=iypad, align=align, titles=titles, &\n            & sortable=sortable, width=width, &\n            & renderers=renderers, edited=edited, data_edited=data_edited, &\n            & edited_text=edited_text, data_edited_text=data_edited_text, &\n            & edited_spin=edited_spin, data_edited_spin=data_edited_spin, &\n            & toggled=toggled, data_toggled=data_toggled, &\n            & edited_combo=edited_combo, data_edited_combo=data_edited_combo, &\n            & changed_combo=changed_combo, &\n            & data_changed_combo=data_changed_combo, &\n            & toggled_radio=toggled_radio, &\n            & data_toggled_radio=data_toggled_radio)\n    end do\n\n    ! The event handler is attached to the selection object, as is\n    ! the multiple selection property.\n\n    select = gtk_tree_view_get_selection(tree)\n\n    if (present(multiple)) then\n       if (multiple == TRUE) &\n            & call gtk_tree_selection_set_mode(select, GTK_SELECTION_MULTIPLE)\n    end if\n\n    if (present(changed)) then\n       if (present(data)) then\n          call g_signal_connect(select, \"changed\"//c_null_char, changed, data)\n       else\n          call g_signal_connect(select, \"changed\"//c_null_char, changed)\n       end if\n    end if\n\n    if (present(tooltip)) call gtk_widget_set_tooltip_text(tree, tooltip)\n\n    if (present(sensitive)) &\n         & call gtk_widget_set_sensitive(tree, sensitive)\n\n    deallocate(types_all)\n  end function hl_gtk_tree_new\n\n  !+\n  subroutine hl_gtk_tree_ins(tree, row, absrow, count)\n\n    type(c_ptr), intent(in) :: tree\n    integer(c_int), intent(in), optional, dimension(:) :: row\n    integer(c_int), intent(in), optional :: absrow, count\n\n    ! Insert a row into a tabular tree.\n    !\n    ! TREE |  c_ptr |  required |  The tree into which to insert the row.\n    ! ROW |  c_int() |  optional |  The row BEFORE which to insert the row (append if an element is -1) For example; to put a new row after all other children of the second child of the fifth top-level row use [ 4, 1, -1 ].\n    ! ABSROW |  c_int |  optional |  The row BEFORE which to insert the new row treating the tree as a flat list.\n    ! COUNT |  c_int |  optional |  How many rows to add (default 1)\n    !-\n\n    type(c_ptr) :: store\n    type(gtktreeiter), target :: iter1, iter2\n    integer(c_int) :: valid\n    integer :: i, ndep, n\n\n    if (present(count)) then\n       n = count\n    else\n       n = 1\n    end if\n\n    ! Get the TreeStore\n    store = gtk_tree_view_get_model(tree)\n\n    ! Insert the row (we don't use the \"scanner\" here because of the\n    ! special case of -1 for append at a level).\n\n    if (present(row)) then\n       ndep = size(row)\n       if (ndep == 1) then\n          if (row(1) < 0) then\n             do i = 1, n\n                call gtk_tree_store_append(store, c_loc(iter1), C_NULL_PTR)\n             end do\n          else\n             do i = 1, n\n                call gtk_tree_store_insert(store, c_loc(iter1), C_NULL_PTR, &\n                     & row(1))\n             end do\n          end if\n       else\n          do i = 1, size(row)-1\n             if (i == 1) then\n                valid=gtk_tree_model_iter_nth_child(store, c_loc(iter1), &\n                     & C_NULL_PTR, row(1))\n             else\n                valid=gtk_tree_model_iter_nth_child(store, c_loc(iter1), &\n                     & c_loc(iter2), row(i))\n             end if\n             if (valid == FALSE) then\n                write(error_unit,*) \"hl_gtk_tree_ins:: \"//&\n                     & \"Row description does not point to an insertable location\"\n                return\n             end if\n             iter2 = iter1\n          end do\n          call clear_gtktreeiter(iter1)\n          if (row(ndep) < 0) then\n             do i = 1, n\n                call gtk_tree_store_append(store, c_loc(iter1), c_loc(iter2))\n             end do\n          else\n             do i = 1, n\n                call gtk_tree_store_insert(store, c_loc(iter1), &\n                     & c_loc(iter2), row(ndep))\n             end do\n          end if\n       end if\n    else if (present(absrow)) then\n       if (absrow < 0) then\n          do i = 1, n\n             call gtk_tree_store_append(store, c_loc(iter1), C_NULL_PTR)\n          end do\n       else if (absrow == 0) then\n          do i = 1, n\n             call gtk_tree_store_prepend(store, c_loc(iter1), C_NULL_PTR)\n          end do\n       else\n          valid = hl_gtk_tree_abs_iter(tree, iter1, absrow)\n          if (valid == FALSE) then\n             write(error_unit,*) \"hl_gtk_tree_ins:: \"//&\n                  & \"Row description does not point to an insertable location\"\n             return\n          end if\n          do i = 1, n\n             call clear_gtktreeiter(iter2)\n             call gtk_tree_store_insert_before(store, c_loc(iter2), &\n                  & C_NULL_PTR, c_loc(iter1))\n          end do\n       end if\n    end if\n  end subroutine hl_gtk_tree_ins\n\n  !+\n  function hl_gtk_tree_abs_iter(tree, iter, index, model) result(valid)\n\n    integer(c_int) :: valid\n    type(c_ptr), intent(in) :: tree\n    type(gtktreeiter), intent(out), target :: iter\n    integer(c_int), intent(in) :: index\n    type(c_ptr), intent(in), optional :: model\n\n    ! Get the indexth iterator of a tree (treating it as a flat list)\n    !\n    ! TREE |  c_ptr |  required |  The tree to traverse\n    ! ITER |  gtktreeiter |  required |  The iterator found\n    ! INDEX |  c_int |  required |   The location to be identified\n    ! MODEL |  c_ptr |  optional |  The tree model (if this is given then TREE is ignored)\n    !\n    ! Returns TRUE if the search was successful, FALSE otherwise (not usually\n    ! called directly by applications).\n    !-\n\n    type(gtktreeiter), target :: iter2\n    integer(c_int) :: irow\n    type(c_ptr) :: store\n\n    ! Get the TreeStore\n    if (present(model)) then\n       store = model\n    else\n       store = gtk_tree_view_get_model(tree)\n    end if\n\n    irow=0\n    ! Get the first iterator\n    valid = gtk_tree_model_get_iter_first(store, c_loc(iter))\n    if (valid==FALSE .or. index == 0) return\n    do\n       valid = gtk_tree_model_iter_children(store, c_loc(iter2), c_loc(iter))\n       if (valid == FALSE) then  ! no children\n          valid = gtk_tree_model_iter_next(store, c_loc(iter))\n          if (valid == FALSE) then ! no later sibling\n             valid = gtk_tree_model_iter_parent(store, c_loc(iter2),&\n                  & c_loc(iter))\n             if (valid == FALSE) return ! back to the top level\n             iter=iter2\n          else\n             irow = irow+1\n             if (irow == index) return\n          end if\n       else\n          irow = irow+1\n          iter = iter2\n          if (irow == index) return\n       end if\n    end do\n  end function hl_gtk_tree_abs_iter\n\n  !+\n  function hl_gtk_tree_row_iter(tree, iter, row, model) result(valid)\n\n    type(gtktreeiter), target :: iter\n    type(c_ptr), intent(in) :: tree\n    integer(c_int), intent(in), dimension(:) :: row\n    type(c_ptr), intent(in), optional :: model\n\n    ! Get the iterator for a given row of the tree\n    !\n    ! TREE |  c_ptr |  required |  The tree to traverse\n    ! ITER |  gtktreeiter |  required |  The iterator found\n    ! ROW |  c_int() |  required |  The row specifier\n    ! MODEL |  c_ptr |  optional |  The tree model (if this is given then TREE is ignored)\n    !-\n\n    type(gtktreeiter), target :: iter2\n    integer :: i, ndep\n    type(c_ptr) :: store\n    integer(c_int) :: valid\n\n    ! Get the TreeStore\n    if (present(model)) then\n       store = model\n    else\n       store = gtk_tree_view_get_model(tree)\n    end if\n\n    ndep = size(row)\n    valid = gtk_tree_model_iter_nth_child(store, c_loc(iter), &\n         & C_NULL_PTR, row(1))\n\n    if (ndep == 1) return\n    do i = 2, size(row)\n       iter2 = iter\n       valid=gtk_tree_model_iter_nth_child(store, c_loc(iter), &\n            & c_loc(iter2), row(i))\n       if (valid == FALSE) return   ! Invalid specifier\n    end do\n  end function hl_gtk_tree_row_iter\n\n  !+\n  subroutine hl_gtk_tree_rem(tree, row, absrow)\n\n    type(c_ptr), intent(in) :: tree\n    integer(c_int), optional, intent(in), dimension(:) :: row\n    integer(c_int), intent(in), optional :: absrow\n\n    ! Remove a row or clear a tree\n    !\n    ! TREE |  c_ptr |  required |  The tree to modify\n    ! ROW |  integer() |  optional |  The row to remove, if absent clear the tree\n    ! ABSROW |  c_int |  optional |  The row to remove, treating the tree as a flat list.\n    !-\n\n    integer(c_int) :: valid\n    type(c_ptr) :: store\n    type(gtktreeiter), target :: iter\n\n    ! Get tree store\n    store = gtk_tree_view_get_model(tree)\n\n    ! If 2 arguments, then remove a row\n    if (present(row)) then\n       valid = hl_gtk_tree_row_iter(tree, iter, row)\n    else if (present(absrow)) then\n       valid = hl_gtk_tree_abs_iter(tree, iter, absrow)\n    else\n       call gtk_tree_store_clear(store)\n       return\n    end if\n    if (valid == FALSE) then\n       write(error_unit,*) \"hl_gtk_tree_rem: Specified row does not exist\"\n       return\n    end if\n\n    valid = gtk_tree_store_remove(store, c_loc(iter))\n  end subroutine hl_gtk_tree_rem\n\n  !+\n  function hl_gtk_tree_get_selections(tree, indices, depths, &\n       & selection) result(count)\n\n    integer(c_int) :: count\n    type(c_ptr), intent(in) :: tree\n    integer(c_int), dimension(:,:), allocatable, target, &\n         & intent(out), optional :: indices\n    integer(c_int), dimension(:), allocatable, target, &\n         & intent(out), optional :: depths\n    type(c_ptr), intent(in), optional :: selection\n\n    ! Get the indices of the selected rows\n    !\n    ! TREE |  c_ptr |  required |  The tree whose selections are to be found.\n    ! INDICES |  c_int(,) |  optional |  An allocatable array to return the tree of selections. (If count = 0 it will not be allocated). If this argument is not given, then the number of selected rows is returned.\n    ! DEPTHS |  c_int() |  optional |  An allocatable array to return the depth of each selection. (Strictly the last meaningful element of each row of INDICES).\n    ! SELECTION |  c_ptr |  optional |  A selection. If this is given then TREE is ignored. This is most often used in the callback routine for the changed signal when that needs to find which element(s) are selected.\n    !\n    ! Returns the number of selections.\n    !-\n\n    type(c_ptr) :: slist, vselection\n    integer(c_int) :: i\n    integer(c_int) :: maxdepth\n    integer(c_int), dimension(:), pointer :: idxl\n    integer(c_int), target :: dep\n    type(c_ptr) :: idxlc\n\n    if (present(selection)) then\n       vselection = selection\n    else\n       vselection = gtk_tree_view_get_selection(tree)\n    end if\n\n    slist = gtk_tree_selection_get_selected_rows(vselection, &\n         & c_null_ptr)\n\n    ! If no selections, then set the count to 0 and return\n    if (.not. c_associated(slist)) then\n       count=0\n       return\n    end if\n\n    ! Determine how many rows are selected. Then if no output list was\n    ! supplied, return, otherwise go on and make a list.\n    count = g_list_length(slist)\n    if (.not. present(indices)) return\n\n    ! For each of the elements in the selection list, find its index\n    ! from the hidden first column\n    maxdepth = 0\n    do i = 1, count\n       maxdepth = max(maxdepth, &\n            & gtk_tree_path_get_depth(g_list_nth_data(slist, i-1_c_int)))\n    end do\n\n    allocate(indices(maxdepth,count))\n    if (present(depths)) allocate(depths(count))\n\n    do i = 1, count\n       idxlc = gtk_tree_path_get_indices_with_depth( &\n            & g_list_nth_data(slist, i-1_c_int), &\n            & c_loc(dep))\n       call c_f_pointer(idxlc, idxl, [ int(dep) ] )\n       indices(:dep,i) = idxl\n       if (present(depths)) depths(i) = dep\n    end do\n\n    ! Free the selection list.\n    call g_list_foreach(slist, c_funloc(gtk_tree_path_free), C_NULL_PTR)\n    call g_list_free(slist)\n\n  end function hl_gtk_tree_get_selections\n\n  !+\n  subroutine hl_gtk_tree_set_cell(tree, row, col, absrow, &\n       & svalue, fvalue, dvalue, ivalue, lvalue, l64value, &\n       & logvalue, i8value, pbvalue)\n\n    type(c_ptr), intent(in) :: tree\n    integer(c_int), intent(in), optional :: absrow, col\n    integer(c_int), intent(in), optional, dimension(:) :: row\n    character(len=*), intent(in), optional :: svalue\n    real(c_float), intent(in), optional :: fvalue\n    real(c_double), intent(in), optional :: dvalue\n    integer(c_int), intent(in), optional :: ivalue\n    integer(c_long), intent(in), optional :: lvalue\n    integer(c_int64_t), intent(in), optional :: l64value\n    logical, intent(in), optional :: logvalue\n    integer(c_int8_t), intent(in), optional :: i8value\n    type(c_ptr), intent(in), optional :: pbvalue\n\n    ! Set the value of a cell.\n    !\n    ! TREE |  c_ptr |  required |  The tree containing the cell.\n    ! ROW |  c_int() |  optional |  The row of the cell\n    ! COL |  c_int |  optional |  The column of the cell, (Only optional to allow format similar to the LISTs).\n    ! ABSROW |  c_int |  optional |  The row, treating the tree as a flat list.\n    ! SVALUE |  string |  optional |  A string value for the cell.\n    ! FVALUE |  float |  optional |  A single precision FP value for the cell.\n    ! DVALUE |  double |  optional |  A double precision FP value for the cell.\n    ! IVALUE |  c_int |  optional |  A normal integer value for the cell.\n    ! LVALUE |  c_long |  optional |  A long integer value for the cell.\n    ! L64VALUE |  c_int64_t |  optional |  A 64-bit integer value for the cell.\n    ! LOGVALUE |  logical |  optional |  A logical value for the cell.\n    ! I8VALUE |  int8_t |  optional |  An 8-bit integer value for the cell.\n    ! PBVALUE |  c_ptr |  optional |  A pixbuf pointer value for the cell.\n    !\n    ! Note that reasonable conversions are made between types.\n    !-\n\n    integer(type_kind) :: ctype\n    type(c_ptr) :: store, val\n    integer(c_int) :: valid, icol\n    type(gtktreeiter), target :: iter\n    type(gvalue), target :: value\n\n    ! Get tree store\n    store = gtk_tree_view_get_model(tree)\n\n    if (present(col)) then\n       icol=col\n    else\n       icol=0\n    end if\n\n    ! Find the type for the requested column\n    ctype = gtk_tree_model_get_column_type(store, icol)\n\n    ! Get the iterator of the row\n    if (present(row)) then\n       valid = hl_gtk_tree_row_iter(C_NULL_PTR, iter, row, model=store)\n    else if (present(absrow)) then\n       valid = hl_gtk_tree_abs_iter(C_NULL_PTR, iter, absrow, model=store)\n    else\n       valid=FALSE\n       return\n    end if\n\n    if (valid == FALSE) return\n\n    ! Set up the GValue to the right type.\n    val = c_loc(value)\n\n    call hl_gtk_list_tree_set_gvalue(val, ctype, svalue=svalue, fvalue=fvalue, &\n         & dvalue=dvalue, ivalue=ivalue, lvalue=lvalue, l64value=l64value, &\n         & logvalue=logvalue, i8value=i8value, pbvalue=pbvalue)\n\n    call gtk_tree_store_set_value(store, c_loc(iter), icol, val)\n\n  end subroutine hl_gtk_tree_set_cell\n\n  !+\n  subroutine hl_gtk_tree_get_cell(tree, row, col, absrow, &\n       & svalue, fvalue, dvalue, ivalue, lvalue, l64value, logvalue, &\n       & i8value, pbvalue)\n\n    type(c_ptr), intent(in) :: tree\n    integer(c_int), intent(in), optional :: absrow, col\n    integer(c_int), intent(in), optional, dimension(:) :: row\n    character(len=*), intent(out), optional :: svalue\n    real(c_float), intent(out), optional :: fvalue\n    real(c_double), intent(out), optional :: dvalue\n    integer(c_int), intent(out), optional :: ivalue\n    integer(c_long), intent(out), optional :: lvalue\n    integer(c_int64_t), intent(out), optional :: l64value\n    logical, intent(out), optional :: logvalue\n    integer(c_int8_t), intent(out), optional :: i8value\n    type(c_ptr), intent(out), optional :: pbvalue\n\n    ! Retrieve the value of a cell.\n    !\n    ! TREE |  c_ptr |  required |  The tree containing the cell.\n    ! ROW |  c_int() |  optional |  The row of the cell\n    ! COL |  c_int |  optional |  The column of the cell. (Only optional to allow format similar to the LISTs i.e. tree, row, column).\n    ! ABSROW |  c_int |  optional |  The row of the cell, treating the tree as a flat list.\n    ! SVALUE |  string |  optional |  A string value from the cell.\n    ! FVALUE |  float |  optional |  A single precision FP value from the cell.\n    ! DVALUE |  double |  optional |  A double precision FP value from the cell.\n    ! IVALUE |  c_int |  optional |  A normal integer value from the cell.\n    ! LVALUE |  c_long |  optional |  A long integer value from the cell.\n    ! L64VALUE |  c_int64_t |  optional |  A 64-bit integer value from the cell.\n    ! LOGVALUE |  logical  |  optional |  A logical value from the cell.\n    ! I8VALUE |  int8_t |  optional |  An 8-bit integer value from the cell.\n    ! PBVALUE |  c_ptr |  optional |  A pixbuf pointer from the cell.\n    !\n    ! Note that a similar conversion system to the set_cell routine\n    ! except that strings can only be returned to SVALUE.\n    !-\n\n    integer(type_kind) :: ctype\n    type(c_ptr) :: store, val\n    integer(c_int) :: valid, icol\n    type(gtktreeiter), target :: iter\n    type(gvalue), target :: value\n\n    if (present(col)) then\n       icol=col\n    else\n       icol=0\n    end if\n\n    ! Get tree store\n    store = gtk_tree_view_get_model(tree)\n\n    ! Find the type for the requested column\n    ctype = gtk_tree_model_get_column_type(store, icol)\n\n    ! Get the iterator of the row\n    if (present(row)) then\n       valid = hl_gtk_tree_row_iter(C_NULL_PTR, iter, row, model=store)\n    else if (present(absrow)) then\n       valid = hl_gtk_tree_abs_iter(C_NULL_PTR, iter, absrow, model=store)\n    else\n       valid = FALSE\n    end if\n    if (valid == FALSE) return\n\n    ! Set up the GValue pointer (for convenience) gtk_tree_model_get_value\n    ! does the initialization.\n    val = c_loc(value)\n\n    ! Get the GValue of the cell.\n    call gtk_tree_model_get_value(store, c_loc(iter), icol, val)\n\n    ! Now extract the value to a useful form according to the type\n    ! of cell.\n    call hl_gtk_list_tree_get_gvalue(val, ctype, &\n         & svalue=svalue, fvalue=fvalue, dvalue=dvalue, ivalue=ivalue, &\n         & lvalue=lvalue, l64value=l64value, logvalue=logvalue, &\n         & i8value=i8value, pbvalue=pbvalue)\n\n  end subroutine hl_gtk_tree_get_cell\n\n  !+\n  subroutine hl_gtk_listn_combo_set_select(view, row, colno, selection)\n    type(c_ptr), intent(in) :: view\n    integer(c_int), intent(in) :: row, colno, selection\n\n    ! Set the selected item in a combo cell renderer.\n    !\n    ! VIEW |  c_ptr |  required |  The list view containing the cell.\n    ! ROW |  int |  required |  The row number of the cell\n    ! COLNO |  int |  required |  The column number with the cell\n    ! SELECTION |  int |  required |  The element of the combo to set.\n    !-\n\n    type(c_ptr) :: store, pstring, col, rlist, renderer, pmodel, model\n    type(gvalue), target :: stringv, modelv\n    type(gtktreeiter), target :: viter, citer\n    integer(c_int) :: valid\n\n    ! Get list store\n    store = gtk_tree_view_get_model(view)\n\n    ! Get the iterator of the row\n    call clear_gtktreeiter(viter)\n    valid = gtk_tree_model_iter_nth_child(store, c_loc(viter), C_NULL_PTR, row)\n    if (.not. c_f_logical(valid)) return\n\n    ! Find the renderer for the column\n    col = gtk_tree_view_get_column(view, colno)\n    rlist = gtk_cell_layout_get_cells(col)\n    renderer = g_list_nth_data(rlist, 0_c_int)\n    call g_list_free(rlist)\n\n    ! Find the model for the combobox\n    pmodel = c_loc(modelv)\n    pmodel = g_value_init(pmodel, gtk_tree_model_get_type())\n    call g_object_get_property(renderer, \"model\"//c_null_char, pmodel)\n    model = g_value_get_object(pmodel)\n\n    call clear_gtktreeiter(citer)\n    valid = gtk_tree_model_iter_nth_child(model, c_loc(citer), &\n         & c_null_ptr, selection)\n    if (c_f_logical(valid)) then\n       pstring = c_loc(stringv)\n       pstring = g_value_init(pstring, G_TYPE_STRING)\n       call g_value_unset(pstring)\n       call gtk_tree_model_get_value(model, c_loc(citer), 0_c_int, pstring)\n       call gtk_list_store_set_value(store, c_loc(viter), colno, pstring)\n    end if\n  end subroutine hl_gtk_listn_combo_set_select\n  !+\n  subroutine hl_gtk_tree_combo_set_select(view, row, colno, absrow, selection)\n    type(c_ptr), intent(in) :: view\n    integer(c_int), dimension(:), intent(in), optional :: row\n    integer(c_int), intent(in), optional ::  colno, absrow, selection\n\n    ! Set the selected item in a combo cell renderer.\n    !\n    ! VIEW |  c_ptr |  required |  The list view containing the cell.\n    ! ROW |  int() |  optional |  The row number of the cell\n    ! COLNO |  int |  optional |  The column number with the cell (Only optional to allow format similar to the LISTs).\n    ! ABSROW |  c_int |  optional |  The row, treating the tree as a flat list.\n    ! SELECTION |  int |  required |  The element of the combo to set.\n    !-\n\n    type(c_ptr) :: store, pstring, col, rlist, renderer, pmodel, model\n    type(gvalue), target :: modelv\n    type(gtktreeiter), target :: viter, citer\n    integer(c_int) :: valid\n\n    ! Get list store\n    store = gtk_tree_view_get_model(view)\n\n    ! Get the iterator of the row\n    if (present(row)) then\n       valid = hl_gtk_tree_row_iter(C_NULL_PTR, viter, row, model=store)\n    else if (present(absrow)) then\n       valid = hl_gtk_tree_abs_iter(C_NULL_PTR, viter, absrow, model=store)\n    else\n       valid=FALSE\n    end if\n    if (.not. c_f_logical(valid)) return\n\n    ! Find the renderer for the column\n    col = gtk_tree_view_get_column(view, colno)\n    rlist = gtk_cell_layout_get_cells(col)\n    renderer = g_list_nth_data(rlist, 0_c_int)\n    call g_list_free(rlist)\n\n    ! Find the model for the combobox\n    pmodel = c_loc(modelv)\n    pmodel = g_value_init(pmodel, gtk_tree_model_get_type())\n    call g_object_get_property(renderer, \"model\"//c_null_char, pmodel)\n    model = g_value_get_object(pmodel)\n\n    call clear_gtktreeiter(citer)\n    valid = gtk_tree_model_iter_nth_child(model, c_loc(citer), &\n         & c_null_ptr, selection)\n    if (c_f_logical(valid)) then\n       call g_value_unset(pstring)\n       pstring = g_value_init(pstring, G_TYPE_STRING)\n       call gtk_tree_model_get_value(model, c_loc(citer), 0_c_int, pstring)\n       call gtk_list_store_set_value(store, c_loc(viter), colno, pstring)\n    end if\n  end subroutine hl_gtk_tree_combo_set_select\n\n  ! ================================================================\n  ! Default Callback routines for editable cells in lists & trees\n  !=================================================================\n\n  !+\n  subroutine hl_gtk_listn_edit_cb(renderer, path, text, gdata) bind(c)\n    type(c_ptr), value :: renderer, path, text, gdata\n    ! Default callback for list cell edited.\n    !\n    ! RENDERER |  c_ptr |  required |  The renderer which sent the signal\n    ! PATH |  c_ptr |  required |  The path at which to insert\n    ! TEXT |  c_ptr |  required |  The text to insert\n    ! GDATA |  c_ptr |  required |  User data, Not used.\n    !\n    ! The column number is passed via the \"column-number\" gobject data value.\n    ! The treeview containing the cell is passed via the \"view\" gobject\n    ! data value.\n    ! The row number is passed as a string in the PATH argument.\n    ! This routine is not normally called by the application developer.\n    !-\n\n    character(len=200) :: fpath, ftext\n    integer(c_int) :: irow\n    integer(c_int), pointer :: icol\n    type(c_ptr) :: pcol, list\n\n    call convert_c_string(path, fpath)\n    read(fpath, *) irow\n    pcol = g_object_get_data(renderer, \"column-number\"//c_null_char)\n    call c_f_pointer(pcol, icol)\n    call convert_c_string(text, ftext)\n    list = g_object_get_data(renderer, \"view\"//c_null_char)\n    call hl_gtk_listn_set_cell(list, irow, icol, &\n         & svalue=trim(ftext))\n  end subroutine hl_gtk_listn_edit_cb\n\n  !+\n  subroutine hl_gtk_listn_toggle_cb(renderer, path, gdata) bind(c)\n    type(c_ptr), value :: renderer, path, gdata\n\n    ! Default call back for a toggle button in a list\n    !\n    ! RENDERER |  c_ptr |  required |  The renderer which sent the signal\n    ! PATH |  c_ptr |  required |  The path at which to insert\n    ! GDATA |  c_ptr |  required |  User data, Not used.\n    !\n    ! The column number is passed via the \"column-number\" gobject data value.\n    ! The treeview containing the cell is passed via the \"view\" gobject\n    ! data value.\n    ! The row number is passed as a string in the PATH argument.\n    ! This routine is not normally called by the application developer.\n    !-\n    character(len=200) :: fpath\n    integer(c_int) :: irow\n    integer(c_int), pointer :: icol\n    type(c_ptr) :: pcol, list\n    logical :: state\n\n    call convert_c_string(path, fpath)\n    read(fpath, *) irow\n\n    pcol = g_object_get_data(renderer, \"column-number\"//c_null_char)\n    call c_f_pointer(pcol, icol)\n\n    list = g_object_get_data(renderer, \"view\"//c_null_char)\n    state = c_f_logical(gtk_cell_renderer_toggle_get_active(renderer))\n    call hl_gtk_listn_set_cell(list, irow, icol, &\n         & logvalue= .not. state)\n  end subroutine hl_gtk_listn_toggle_cb\n\n  !+\n  subroutine hl_gtk_listn_rtoggle_cb(renderer, path, gdata) bind(c)\n    type(c_ptr), value :: renderer, path, gdata\n\n    ! Default callback for a toggle button in a list\n    !\n    ! RENDERER |  c_ptr |  required |  The renderer which sent the signal\n    ! PATH |  c_ptr |  required |  The path at which to insert\n    ! GDATA |  c_ptr |  required |  User data, Not used.\n    !\n    ! The column number is passed via the \"column-number\" gobject data value.\n    ! The treeview containing the cell is passed via the \"view\" gobject\n    ! data value.\n    ! The row number is passed as a string in the PATH argument.\n    ! This routine is not normally called by the application developer.\n    !-\n    character(len=200) :: fpath\n    integer(c_int) :: irow\n    integer(c_int), pointer :: icol\n    integer(c_int) :: i\n    type(c_ptr) :: pcol, list\n    logical :: state\n    integer(c_int) :: nrows\n\n    call convert_c_string(path, fpath)\n    read(fpath, *) irow\n\n    pcol = g_object_get_data(renderer, \"column-number\"//c_null_char)\n    call c_f_pointer(pcol, icol)\n\n    list = g_object_get_data(renderer, \"view\"//c_null_char)\n    state = c_f_logical(gtk_cell_renderer_toggle_get_active(renderer))\n    if (state) return ! Don't act on an unset\n\n    ! Find the first iterator\n    nrows = gtk_tree_model_iter_n_children (gtk_tree_view_get_model(list), &\n         & c_null_ptr)\n    do i = 0,nrows-1\n       call hl_gtk_listn_set_cell(list, i, icol, &\n            & logvalue= i == irow)\n    end do\n  end subroutine hl_gtk_listn_rtoggle_cb\n\n  !+\n  subroutine hl_gtk_tree_edit_cb(renderer, path, text, gdata) bind(c)\n    type(c_ptr), value :: renderer, path, text, gdata\n\n    ! Default callback for tree cell edited.\n    !\n    ! RENDERER |  c_ptr |  required |  The renderer which sent the signal\n    ! PATH |  c_ptr |  required |  The path at which to insert\n    ! TEXT |  c_ptr |  required |  The text to insert\n    ! GDATA |  c_ptr |  required |  User data, not used.\n    !\n    ! The column number is passed via the \"column-number\" gobject data value.\n    ! The treeview containing the cell is passed via the \"view\" gobject\n    ! data value.\n    ! The row number is passed as a string in the PATH argument.\n    !\n    ! This routine is not normally called by the application developer.\n    !-\n\n    character(len=200) :: fpath, ftext\n    integer(c_int), allocatable, dimension(:) :: irow\n    integer(c_int), pointer :: icol\n    integer :: i, n\n    type(c_ptr) :: tree, pcol\n\n    call convert_c_string(path, fpath)\n    pcol = g_object_get_data(renderer, \"column-number\"//c_null_char)\n    call c_f_pointer(pcol, icol)\n    call convert_c_string(text, ftext)\n\n    n = 0\n    do i = 1, len_trim(fpath)\n       if (fpath(i:i) == \":\") then\n          n = n+1\n          fpath(i:i) = ' '   ! : is not a separator for a Fortran read\n       end if\n    end do\n    allocate(irow(n+1))\n    read(fpath, *) irow\n    tree = g_object_get_data(renderer, \"view\"//c_null_char)\n\n    call hl_gtk_tree_set_cell(tree, irow, icol, &\n         & svalue=trim(ftext))\n\n    deallocate(irow)\n  end subroutine hl_gtk_tree_edit_cb\n\n  !+\n  subroutine hl_gtk_tree_toggle_cb(renderer, path, gdata) bind(c)\n    type(c_ptr), value :: renderer, path, gdata\n\n    ! Default call back for a toggle button in a tree\n    !\n    ! RENDERER |  c_ptr |  required |  The renderer which sent the signal\n    ! PATH |  c_ptr |  required |  The path at which to insert\n    ! GDATA |  c_ptr |  required |  User data, Not used.\n    !\n    ! The column number is passed via the \"column-number\" gobject data value.\n    ! The treeview containing the cell is passed via the \"view\" gobject\n    ! data value.\n    ! The row number is passed as a string in the PATH argument.\n    ! This routine is not normally called by the application developer.\n    !-\n    character(len=200) :: fpath\n    integer(c_int), allocatable, dimension(:) :: irow\n    integer(c_int), pointer :: icol\n    integer :: i, n\n    type(c_ptr) :: pcol, tree\n    logical :: state\n\n    call convert_c_string(path, fpath)\n    n = 0\n    do i = 1, len_trim(fpath)\n       if (fpath(i:i) == \":\") then\n          n = n+1\n          fpath(i:i) = ' '   ! : is not a separator for a Fortran read\n       end if\n    end do\n    allocate(irow(n+1))\n    read(fpath, *) irow\n\n    pcol = g_object_get_data(renderer, \"column-number\"//c_null_char)\n    call c_f_pointer(pcol, icol)\n\n    tree = g_object_get_data(renderer, \"view\"//c_null_char)\n\n    state = c_f_logical(gtk_cell_renderer_toggle_get_active(renderer))\n    call hl_gtk_tree_set_cell(tree, irow, icol, &\n         & logvalue= .not. state)\n  end subroutine hl_gtk_tree_toggle_cb\n  !+\n  subroutine hl_gtk_tree_rtoggle_cb(renderer, path, gdata) bind(c)\n    type(c_ptr), value :: renderer, path, gdata\n\n    ! Default call back for a toggle button in a tree with the radio\n    ! option set.\n    !\n    ! RENDERER |  c_ptr |  required |  The renderer which sent the signal\n    ! PATH |  c_ptr |  required |  The path at which to insert\n    ! GDATA |  c_ptr |  required |  User data, Not used.\n    !\n    ! The column number is passed via the \"column-number\" gobject data value.\n    ! The treeview containing the cell is passed via the \"view\" gobject\n    ! data value.\n    ! The row number is passed as a string in the PATH argument.\n    ! This routine is not normally called by the application developer.\n    ! The routine clears the settings on all buttons at the same level as\n    ! the button that was pressed.\n    !-\n    character(len=200) :: fpath\n    integer(c_int), allocatable, dimension(:) :: irow, jrow\n    integer(c_int), pointer :: icol\n    integer :: i, n\n    type(c_ptr) :: pcol, tree, ipath, tree_model\n    logical :: state\n    type(gtktreeiter), target :: iter, piter\n    integer(c_int) :: valid\n\n    call convert_c_string(path, fpath)\n    n = 0\n    do i = 1, len_trim(fpath)\n       if (fpath(i:i) == \":\") then\n          n = n+1\n          fpath(i:i) = ' '   ! : is not a separator for a Fortran read\n       end if\n    end do\n    allocate(irow(n+1))\n    read(fpath, *) irow\n\n    pcol = g_object_get_data(renderer, \"column-number\"//c_null_char)\n    call c_f_pointer(pcol, icol)\n\n    tree = g_object_get_data(renderer, \"view\"//c_null_char)\n    tree_model = gtk_tree_view_get_model(tree)\n\n    state = c_f_logical(gtk_cell_renderer_toggle_get_active(renderer))\n    if (state) return ! Don't act on a release of a selected toggle\n\n    ! Clear all the siblings of the chosen\n    valid = gtk_tree_model_get_iter_from_string(tree_model, c_loc(iter), fpath)\n    valid = gtk_tree_model_iter_parent (tree_model, c_loc(piter), c_loc(iter))\n    call clear_gtktreeiter(iter)\n    if (c_f_logical(valid)) then\n       valid = gtk_tree_model_iter_children (tree_model, c_loc(iter),&\n            & c_loc(piter))\n    else\n       valid = gtk_tree_model_iter_children (tree_model, c_loc(iter),&\n            & c_null_ptr)\n    end if\n\n    do\n       ipath = gtk_tree_model_get_string_from_iter (tree_model, c_loc(iter))\n       call convert_c_string(ipath, fpath)\n       n = 0\n       do i = 1, len_trim(fpath)\n          if (fpath(i:i) == \":\") then\n             n = n+1\n             fpath(i:i) = ' '   ! : is not a separator for a Fortran read\n          end if\n       end do\n       allocate(jrow(n+1))\n       read(fpath, *) jrow\n       call hl_gtk_tree_set_cell(tree, jrow, icol, logvalue=.false.)\n       deallocate(jrow)\n       valid = gtk_tree_model_iter_next (tree_model, c_loc(iter))\n       if (.not. c_f_logical(valid)) exit\n    end do\n    call hl_gtk_tree_set_cell(tree, irow, icol, &\n         & logvalue= .true.)\n  end subroutine hl_gtk_tree_rtoggle_cb\n\n\n  ! ================================================================\n  ! The routines from here to the end are, private subroutines that\n  ! are used to prevent excessive code duplication between lists\n  ! and trees.\n  ! ================================================================\n\n  !+\n  subroutine hl_gtk_list_tree_set_cell_data_func(list, colno, func, &\n       & data, destroy_notify)\n\n    type(c_ptr), intent(in) :: list\n    integer(c_int), intent(in) :: colno\n    type(c_funptr), optional :: func\n    type(c_ptr), optional :: data\n    type(c_funptr), optional :: destroy_notify\n\n    ! Add a custom rendering function to a column of a list or tree\n    !\n    ! LIST |  c_ptr |  required |  The list to which to apply the rendering function\n    ! COLNO |  c_int |  required |  The column index to which to apply it.\n    ! FUNC |  c_funptr |  optional |  The function (actually subroutine) to do the rendering (see GtkTreeCellDataFunc, for details). Omit or set to C_NULL_FUNPTR to remove a function.\n    ! DATA |  c_ptr |  optional |  User data to pass to the function.\n    ! DESTROY_NOTIFY |  c_funptr |  optional |  A destroy notify subroutine.\n    !\n    ! This routine is always accessed by one of the interfaces,\n    ! hl_gtk_tree_set_cell_data_func or hl_gtk_listn_set_cell_data_func.\n    !-\n\n    type(c_funptr) :: funpass, destpass\n    type(c_ptr) :: datapass\n\n    type(c_ptr) :: col, renderer, rlist\n\n    if (present(func)) then\n       funpass = func\n    else\n       funpass = C_NULL_FUNPTR\n    end if\n\n    if (present(data)) then\n       datapass = data\n    else\n       datapass = C_NULL_PTR\n    end if\n\n    if (present(destroy_notify)) then\n       destpass = destroy_notify\n    else\n       destpass = C_NULL_FUNPTR\n    end if\n\n    col = gtk_tree_view_get_column(list, colno)\n    rlist = gtk_cell_layout_get_cells(col)\n    renderer = g_list_nth_data(rlist, 0_c_int)\n    call g_list_free(rlist)\n\n    call gtk_tree_view_column_set_cell_data_func(col, renderer,&\n         & funpass, datapass, destpass)\n\n  end subroutine hl_gtk_list_tree_set_cell_data_func\n\n  !+\n  subroutine hl_gtk_list_tree_add_column(icol, view, is_list, type, &\n       & editable, ixpad, iypad, align, titles, sortable, width,&\n       & renderers, edited, data_edited, edited_text, data_edited_text, &\n       & toggled, data_toggled, edited_spin, data_edited_spin, edited_combo, &\n       & data_edited_combo, changed_combo, data_changed_combo, toggled_radio, &\n       & data_toggled_radio)\n    integer(c_int), intent(in) :: icol\n    type(c_ptr), intent(in), target :: view\n    logical, intent(in) :: is_list\n    integer(type_kind), intent(in) :: type\n    integer(c_int), dimension(:), optional, intent(in) :: editable, &\n         & ixpad, iypad, sortable, width\n    real(c_float), intent(in), optional, dimension(:) :: align\n    character(len=*), dimension(:), intent(in), optional :: titles, renderers\n    type(c_funptr), optional :: edited, edited_text, toggled, edited_spin, &\n         & edited_combo, changed_combo, toggled_radio\n    type(c_ptr), optional, intent(in) :: data_edited, data_edited_text, &\n         & data_toggled, data_edited_spin, data_edited_combo, &\n         & data_changed_combo, data_toggled_radio\n\n    ! Add a column to a list or tree view. (private)\n    !\n    ! ICOL |  int |  required |  The column number\n    ! VIEW |  c_ptr |  required |  The list or tree view to modify\n    ! IS_LIST |  logical |  required |  .true. for a list, .false. for a tree.\n    !\n    ! The optional arguments are identical to the corresponding arguments in\n    ! hl_gtk_listn_new and hl_gtk_tree_new.\n    !\n    ! This routine is not called by the application developer, but exists to\n    ! reduce code duplication.\n    !-\n\n    type(c_ptr) :: renderer, column\n    integer(c_int), pointer :: coldat\n    type(gvalue), target :: isedit, adjval, crate\n    type(c_ptr) :: pisedit, padjval, pcrate\n    integer(c_int) :: nc\n    character(len=20) :: render_id\n    character(len=16) :: editable_property\n    type(c_ptr) :: adjust\n\n    if (present(renderers)) then\n       render_id = renderers(icol)\n    else\n       render_id = hl_gtk_cell_text\n    end if\n\n    select case (render_id)\n    case(hl_gtk_cell_text)\n       renderer = gtk_cell_renderer_text_new()\n       editable_property = \"editable\"//c_null_char\n\n    case(hl_gtk_cell_toggle)\n       renderer = gtk_cell_renderer_toggle_new()\n       editable_property = \"activatable\"//c_null_char\n\n    case(hl_gtk_cell_radio)\n       renderer = gtk_cell_renderer_toggle_new()\n       call gtk_cell_renderer_toggle_set_radio(renderer, TRUE)\n       editable_property = \"activatable\"//c_null_char\n\n    case(hl_gtk_cell_spin)\n       renderer = gtk_cell_renderer_spin_new()\n       ! We make the adjustment with default parameters, these can be\n       ! adjusted with hl_gtk_listn_config_spin or hl_gtk_tree_config_spin.\n       adjust = gtk_adjustment_new(0._c_double, 0._c_double, 1._c_double, &\n            & 0.01_c_double, 0.1_c_double, 0._c_double)\n       padjval = c_loc(adjval)\n       padjval = g_value_init(padjval, G_TYPE_OBJECT)\n       call g_value_take_object(padjval, adjust)\n       call g_object_set_property(renderer, \"adjustment\"//c_null_char, &\n            & padjval)\n       editable_property = \"editable\"//c_null_char\n\n       pcrate = c_loc(crate)\n       pcrate = g_value_init(pcrate, G_TYPE_DOUBLE)\n       call g_value_set_double(pcrate, 1.0_c_double)\n       call g_object_set_property(renderer, \"climb-rate\"//c_null_char, &\n            & pcrate)\n\n    case(hl_gtk_cell_progress)\n       renderer = gtk_cell_renderer_progress_new()\n       editable_property = \"\"\n\n    case(hl_gtk_cell_pixbuf)\n       renderer = gtk_cell_renderer_pixbuf_new()\n       editable_property = \"\"\n\n    case(hl_gtk_cell_combo)\n       renderer = gtk_cell_renderer_combo_new()\n       call hl_gtk_list_tree_combo_model_attach(renderer)\n       editable_property = \"editable\"//c_null_char\n\n    case(hl_gtk_cell_spinner)\n       write(error_unit, *) \"hl_gtk_list_tree_add_column: \"//&\n            & \"Renderer type \",trim(render_id),\" not yet implemented\"\n       return\n\n    case default\n       write(error_unit, *) \"hl_gtk_list_tree_add_column: \"//&\n            & \"Renderer type \",trim(render_id),\" is not valid.\"\n       return\n    end select\n\n    if (present(ixpad) .and. present(iypad)) then\n       call gtk_cell_renderer_set_padding(renderer, &\n            & ixpad(icol), iypad(icol))\n    else if (present(ixpad)) then\n       call gtk_cell_renderer_set_padding(renderer, &\n            & ixpad(icol), 0_c_int)\n    else if (present(iypad)) then\n       call gtk_cell_renderer_set_padding(renderer, &\n            & 0_c_int, iypad(icol))\n    end if\n\n    if (present(editable) .and. editable_property /= '') then\n       pisedit = c_loc(isedit)\n       pisedit = g_value_init(pisedit, G_TYPE_BOOLEAN)\n       call g_value_set_boolean(pisedit, editable(icol))\n       call g_object_set_property(renderer, editable_property, pisedit)\n\n       if (editable(icol) == TRUE) then\n          allocate(coldat)\n          coldat = icol-1\n          call g_object_set_data(renderer, \"column-number\"//c_null_char, &\n               & c_loc(coldat))\n\n          call g_object_set_data(renderer, \"view\"//c_null_char, view)\n\n          select case (render_id)\n          case (hl_gtk_cell_text)\n             if (present(edited_text)) then\n                if (present(data_edited_text)) then\n                   call g_signal_connect(renderer, \"edited\"//c_null_char, &\n                        & edited_text, data_edited_text)\n                else\n                   call g_signal_connect(renderer, \"edited\"//c_null_char, &\n                        & edited_text)\n                end if\n             else if (present(edited)) then\n                if (present(data_edited)) then\n                   call g_signal_connect(renderer, \"edited\"//c_null_char, &\n                        & edited, data_edited)\n                else\n                   call g_signal_connect(renderer, \"edited\"//c_null_char, &\n                        & edited)\n                end if\n             else if (is_list) then\n                call g_signal_connect(renderer, \"edited\"//c_null_char, &\n                     & c_funloc(hl_gtk_listn_edit_cb))\n             else\n                call g_signal_connect(renderer, \"edited\"//c_null_char, &\n                     & c_funloc(hl_gtk_tree_edit_cb))\n             endif\n\n          case (hl_gtk_cell_toggle)\n             if (present(toggled)) then\n                if (present(data_toggled)) then\n                   call g_signal_connect(renderer, \"toggled\"//c_null_char, &\n                        & toggled, data_toggled)\n                else\n                   call g_signal_connect(renderer, \"toggled\"//c_null_char, &\n                        & toggled)\n                end if\n             else if (is_list) then\n                call g_signal_connect(renderer, \"toggled\"//c_null_char, &\n                     & c_funloc(hl_gtk_listn_toggle_cb))\n             else\n                call g_signal_connect(renderer, \"toggled\"//c_null_char, &\n                     & c_funloc(hl_gtk_tree_toggle_cb))\n             end if\n\n          case (hl_gtk_cell_radio)\n             if (present(toggled_radio)) then\n                if (present(data_toggled_radio)) then\n                   call g_signal_connect(renderer, \"toggled\"//c_null_char, &\n                        & toggled_radio, data_toggled_radio)\n                else\n                   call g_signal_connect(renderer, \"toggled\"//c_null_char, &\n                        & toggled_radio)\n                end if\n             else if (is_list) then\n                call g_signal_connect(renderer, \"toggled\"//c_null_char, &\n                     & c_funloc(hl_gtk_listn_rtoggle_cb))\n             else\n                call g_signal_connect(renderer, \"toggled\"//c_null_char, &\n                     & c_funloc(hl_gtk_tree_rtoggle_cb))\n             end if\n\n          case (hl_gtk_cell_spin)\n             if (present(edited_spin)) then\n                if (present(data_edited_spin)) then\n                   call g_signal_connect(renderer, \"edited\"//c_null_char, &\n                        & edited_spin, data_edited_spin)\n                else\n                   call g_signal_connect(renderer, \"edited\"//c_null_char, &\n                        & edited_spin)\n                end if\n             else if (present(edited)) then\n                if (present(data_edited)) then\n                   call g_signal_connect(renderer, \"edited\"//c_null_char, &\n                        & edited, data_edited)\n                else\n                   call g_signal_connect(renderer, \"edited\"//c_null_char, &\n                        & edited)\n                end if\n             else if (is_list) then\n                call g_signal_connect(renderer, \"edited\"//c_null_char, &\n                     & c_funloc(hl_gtk_listn_edit_cb))\n             else\n                call g_signal_connect(renderer, \"edited\"//c_null_char, &\n                     & c_funloc(hl_gtk_tree_edit_cb))\n             endif\n\n          case(hl_gtk_cell_combo)\n             if (present(edited_combo)) then\n                if (present(data_edited_combo)) then\n                   call g_signal_connect(renderer, \"edited\"//c_null_char, &\n                        & edited_combo, data_edited_combo)\n                else\n                   call g_signal_connect(renderer, \"edited\"//c_null_char, &\n                        & edited_combo)\n                end if\n             else if (present(edited)) then\n                if (present(data_edited)) then\n                   call g_signal_connect(renderer, \"edited\"//c_null_char, &\n                        & edited, data_edited)\n                else\n                   call g_signal_connect(renderer, \"edited\"//c_null_char, &\n                        & edited)\n                end if\n             else if (is_list) then\n                call g_signal_connect(renderer, \"edited\"//c_null_char, &\n                     & c_funloc(hl_gtk_listn_edit_cb))\n             else\n                call g_signal_connect(renderer, \"edited\"//c_null_char, &\n                     & c_funloc(hl_gtk_tree_edit_cb))\n             endif\n             if (present(changed_combo)) then\n                if (present(data_changed_combo)) then\n                   call g_signal_connect(renderer, \"changed\"//c_null_char, &\n                        & changed_combo, data_changed_combo)\n                else\n                   call g_signal_connect(renderer, \"changed\"//c_null_char, &\n                        & changed_combo)\n                end if\n             end if\n\n          case(hl_gtk_cell_pixbuf, hl_gtk_cell_progress, hl_gtk_cell_spinner)\n             write(error_unit,*) \"hl_gtk_list_tree_add_column: \"//&\n                  & \"Column type \", trim(render_id), &\n                  & \"cannot be editable.\"\n\n          case default\n             write(error_unit,*) \"Invalid renderer type\"\n          end select\n       end if\n    end if\n\n    if (present(align)) then\n       call gtk_cell_renderer_set_alignment(renderer, align(icol), 0.)\n    else if (type == G_TYPE_STRING) then\n       call gtk_cell_renderer_set_alignment(renderer, 0., 0.)\n    else\n       call gtk_cell_renderer_set_alignment(renderer, 1., 0.)\n    end if\n\n    column = gtk_tree_view_column_new()\n    call gtk_tree_view_column_pack_start(column, renderer, FALSE)\n\n    if (present(titles)) call gtk_tree_view_column_set_title(column, &\n         &trim(titles(icol))//c_null_char)\n\n    select case (render_id)\n    case(hl_gtk_cell_text, hl_gtk_cell_spin)\n       call gtk_tree_view_column_add_attribute(column, renderer, &\n            & \"text\"//C_NULL_CHAR, icol-1_c_int)\n    case(hl_gtk_cell_toggle, hl_gtk_cell_radio)\n       call gtk_tree_view_column_add_attribute(column, renderer, &\n            & \"active\"//C_NULL_CHAR, icol-1_c_int)\n    case(hl_gtk_cell_progress)\n       call gtk_tree_view_column_add_attribute(column, renderer, &\n            & \"value\"//c_null_char, icol-1_c_int)\n       call gtk_tree_view_column_add_attribute(column, renderer, &\n            & \"text\"//C_NULL_CHAR, icol-1_c_int)\n    case(hl_gtk_cell_pixbuf)\n       call gtk_tree_view_column_add_attribute(column, renderer, &\n            & \"pixbuf\"//c_null_char, icol-1_c_int)\n    case(hl_gtk_cell_combo)\n       call gtk_tree_view_column_add_attribute(column, renderer, &\n            & \"text\"//c_null_char, icol-1_c_int)\n    end select\n\n    nc = gtk_tree_view_append_column(view, column)\n    if (present(sortable)) then\n       if (sortable(icol) == TRUE) then\n          call gtk_tree_view_column_set_sort_column_id(column, icol-1_c_int)\n          call gtk_tree_view_column_set_sort_indicator(column, TRUE)\n       end if\n    end if\n    if (present(width)) then\n       if (width(icol) > 0) then\n          call gtk_tree_view_column_set_sizing (column, &\n               & GTK_TREE_VIEW_COLUMN_FIXED)\n          call gtk_tree_view_column_set_fixed_width(column, width(icol))\n          call gtk_cell_renderer_set_fixed_size(renderer, width(icol), &\n               & -1_c_int)\n       end if\n    end if\n    call gtk_tree_view_column_set_resizable(column,TRUE)\n\n  end subroutine hl_gtk_list_tree_add_column\n\n  !+\n  subroutine hl_gtk_list_tree_set_gvalue(val, ctype, svalue, fvalue, dvalue, &\n       & ivalue, lvalue, l64value, logvalue, i8value, pbvalue)\n    type(c_ptr), intent(inout) :: val\n    integer(type_kind) :: ctype\n    character(len=*), intent(in), optional :: svalue\n    real(c_float), intent(in), optional :: fvalue\n    real(c_double), intent(in), optional :: dvalue\n    integer(c_int), intent(in), optional :: ivalue\n    integer(c_long), intent(in), optional :: lvalue\n    integer(c_int64_t), intent(in), optional :: l64value\n    logical, intent(in), optional :: logvalue\n    integer(c_int8_t), intent(in), optional :: i8value\n    type(c_ptr), intent(in), optional :: pbvalue\n\n    ! Set a gvalue to the appropriate type and value to set a list or\n    ! tree cell. (private)\n    !\n    ! VAL |  c_ptr |  required |  The C address of the gvalue.\n    ! CTYPE |  int(kind_type)  |  required |  The type of the cell.\n    !\n    ! The optional arguments are the same as for the set_cell routines.\n    !-\n\n    character(len=120) :: sconv\n    integer(c_int) :: iconv\n    integer(c_long) :: lconv\n    integer(c_int64_t) :: l64conv\n    real(c_float) :: fconv\n    real(c_double) :: dconv\n    integer :: ios\n\n    val = g_value_init(val, ctype)\n\n    ! Select according to the cell type\n    select case(ctype)\n    case(G_TYPE_CHAR)\n       if (present(svalue)) then\n          call g_value_set_schar(val, int(ichar(svalue(1:1)), c_int8_t))\n       else if (present(i8value)) then\n          call g_value_set_schar(val, i8value)\n       else if (present(ivalue)) then\n          call g_value_set_schar(val, int(ivalue, c_int8_t))\n       else if (present(lvalue)) then\n          call g_value_set_schar(val, int(lvalue, c_int8_t))\n       else if (present(l64value)) then\n          call g_value_set_schar(val, int(l64value, c_int8_t))\n       else\n          write(error_unit,*) \"hl_gtk_list_tree_set_gvalue:: \"//&\n               & \"Cannot make a 'char' type from given value(s)\"\n          return\n       end if\n    case(G_TYPE_UCHAR)\n       if (present(svalue)) then\n          call g_value_set_uchar(val, int(ichar(svalue(1:1)), c_int8_t))\n       else if (present(i8value)) then\n          call g_value_set_uchar(val, int(i8value, c_int8_t))\n       else if (present(ivalue)) then\n          call g_value_set_uchar(val, int(ivalue, c_int8_t))\n       else if (present(lvalue)) then\n          call g_value_set_uchar(val, int(lvalue, c_int8_t))\n       else if (present(l64value)) then\n          call g_value_set_uchar(val, int(l64value, c_int8_t))\n       else\n          write(error_unit,*) \"hl_gtk_list_tree_set_gvalue:: \"//&\n               & \"Cannot make a 'uchar' type from given value(s)\"\n          return\n       end if\n\n    case (G_TYPE_INT)\n       if (present(ivalue)) then\n          call g_value_set_int(val, ivalue)\n       else if (present(lvalue)) then\n          call g_value_set_int(val, int(lvalue, c_int))\n       else if (present(l64value)) then\n          call g_value_set_int(val, int(l64value, c_int))\n       else if (present(i8value)) then\n          call g_value_set_int(val, int(i8value, c_int))\n       else if (present(svalue)) then\n          read(svalue,*,iostat=ios) iconv\n          if (ios /= 0) then\n             write(error_unit,*) \"hl_gtk_list_tree_set_gvalue:: \"// &\n                  & \"Failed to convert string to 'int'\"\n             return\n          end if\n          call g_value_set_int(val, iconv)\n       else\n          write(error_unit,*) \"hl_gtk_list_tree_set_gvalue:: \"// &\n               & \"Cannot make an 'int' type from given value(s)\"\n          return\n       end if\n    case (G_TYPE_UINT)\n       if (present(ivalue)) then\n          call g_value_set_uint(val, ivalue)\n       else if (present(lvalue)) then\n          call g_value_set_uint(val, int(lvalue, c_int))\n       else if (present(l64value)) then\n          call g_value_set_uint(val, int(l64value, c_int))\n       else if (present(i8value)) then\n          call g_value_set_uint(val, int(i8value, c_int))\n       else if (present(svalue)) then\n          read(svalue,*,iostat=ios) iconv\n          if (ios /= 0) then\n             write(error_unit,*) \"hl_gtk_list_tree_set_gvalue:: \"//&\n                  & \"Failed to convert string to 'uint'\"\n             return\n          end if\n          call g_value_set_uint(val, iconv)\n       else\n          write(error_unit,*) \"hl_gtk_list_tree_set_gvalue:: \"// &\n               & \"Cannot make an 'uint' type from given value(s)\"\n          return\n       end if\n    case (G_TYPE_BOOLEAN)\n       if (present(logvalue)) then\n          call g_value_set_boolean(val, f_c_logical(logvalue))\n       else if (present(i8value)) then\n          call g_value_set_boolean(val, int(i8value, c_int))\n       else if (present(ivalue)) then\n          call g_value_set_boolean(val, ivalue)\n       else if (present(lvalue)) then\n          call g_value_set_boolean(val, int(lvalue, c_int))\n       else if (present(l64value)) then\n          call g_value_set_boolean(val, int(l64value, c_int))\n       else if (present(svalue)) then\n          if (svalue=='T' .or. svalue=='t' .or. svalue=='TRUE' .or. &\n               & svalue=='true' .or. svalue=='True' .or. svalue=='Y' &\n               & .or. svalue=='y' .or. svalue=='YES' .or. svalue=='yes' &\n               & .or. svalue=='Yes' .or. svalue=='.TRUE.' .or. &\n               & svalue=='.true.') then\n             call g_value_set_boolean(val, TRUE)\n          else if (svalue=='F' .or. svalue=='f' .or. svalue=='FALSE' .or. &\n               & svalue=='false' .or. svalue=='False' .or. svalue=='N' .or. &\n               & svalue=='n' .or. svalue=='NO' .or. svalue=='no' .or. &\n               & svalue=='No' .or. svalue=='.FALSE.' .or. &\n               & svalue=='.false.') then\n             call g_value_set_boolean(val, FALSE)\n          else\n             read(svalue,*,iostat=ios) iconv\n             if (ios /= 0) then\n                write(error_unit,*) \"hl_gtk_list_tree_set_gvalue:: \"//&\n                     & \"Failed to convert string to 'int'\"\n                return\n             end if\n             call g_value_set_boolean(val, iconv)\n          end if\n       else\n          write(error_unit,*) \"hl_gtk_list_tree_set_gvalue:: \"// &\n               & \"Cannot make an 'int' type from given value(s)\"\n          return\n       end if\n\n    case (G_TYPE_LONG)\n       if (present(lvalue)) then\n          call g_value_set_long(val, lvalue)\n       else if (present(l64value)) then\n          call g_value_set_long(val, int(l64value, c_long))\n       else if (present(ivalue)) then\n          call g_value_set_long(val, int(ivalue, c_long))\n       else if (present(i8value)) then\n          call g_value_set_long(val, int(i8value, c_long))\n       else if (present(svalue)) then\n          read(svalue,*,iostat=ios) lconv\n          if (ios /= 0) then\n             write(error_unit,*) \"hl_gtk_list_tree_set_gvalue:: \"//&\n                  & \"Failed to convert string to 'long'\"\n             return\n          end if\n          call g_value_set_long(val, lconv)\n       else\n          write(error_unit,*) \"hl_gtk_list_tree_set_gvalue:: \"//&\n               & \"Cannot make a 'long' type from given value(s)\"\n          return\n       end if\n    case (G_TYPE_ULONG)\n       if (present(lvalue)) then\n          call g_value_set_ulong(val, lvalue)\n       else if (present(l64value)) then\n          call g_value_set_ulong(val, int(l64value, c_long))\n       else if (present(ivalue)) then\n          call g_value_set_ulong(val, int(ivalue, c_long))\n       else if (present(i8value)) then\n          call g_value_set_ulong(val, int(i8value, c_long))\n       else if (present(svalue)) then\n          read(svalue,*,iostat=ios) lconv\n          if (ios /= 0) then\n             write(error_unit,*) \"hl_gtk_list_tree_set_gvalue:: \"//&\n                  & \"Failed to convert string to 'long'\"\n             return\n          end if\n          call g_value_set_ulong(val, lconv)\n       else\n          write(error_unit,*) \"hl_gtk_list_tree_set_gvalue:: \"//&\n               & \"Cannot make a 'ulong' type from given value(s)\"\n          return\n       end if\n\n    case (G_TYPE_INT64)\n       if (present(l64value)) then\n          call g_value_set_int64(val, l64value)\n       else if (present(lvalue)) then\n          call g_value_set_int64(val, int(lvalue, c_int64_t))\n       else if (present(ivalue)) then\n          call g_value_set_int64(val, int(ivalue, c_int64_t))\n       else if (present(i8value)) then\n          call g_value_set_int64(val, int(i8value, c_int64_t))\n       else if (present(svalue)) then\n          read(svalue,*,iostat=ios) l64conv\n          if (ios /= 0) then\n             write(error_unit,*) \"hl_gtk_list_tree_set_gvalue:: \"//&\n                  & \"Failed to convert string to 'int64'\"\n             return\n          end if\n          call g_value_set_int64(val, l64conv)\n       else\n          write(error_unit,*) \"hl_gtk_list_tree_set_gvalue:: \"//&\n               & \"Cannot make an 'int64' type from given value(s)\"\n          return\n       end if\n    case (G_TYPE_UINT64)\n       if (present(l64value)) then\n          call g_value_set_uint64(val, l64value)\n       else if (present(lvalue)) then\n          call g_value_set_uint64(val, int(lvalue, c_int64_t))\n       else if (present(ivalue)) then\n          call g_value_set_uint64(val, int(ivalue, c_int64_t))\n       else if (present(i8value)) then\n          call g_value_set_uint64(val, int(i8value, c_int64_t))\n       else if (present(svalue)) then\n          read(svalue,*,iostat=ios) l64conv\n          if (ios /= 0) then\n             write(error_unit,*) \"hl_gtk_list_tree_set_gvalue:: \"//&\n                  & \"Failed to convert string to 'int64'\"\n             return\n          end if\n          call g_value_set_uint64(val, l64conv)\n       else\n          write(error_unit,*) \"hl_gtk_list_tree_set_gvalue:: \"//&\n               & \"Cannot make an 'int64' type from given value(s)\"\n          return\n       end if\n\n    case(G_TYPE_FLOAT)\n       if (present(fvalue)) then\n          call g_value_set_float(val, fvalue)\n       else if (present(dvalue)) then\n          call g_value_set_float(val, real(dvalue, c_float))\n       else if (present(svalue)) then\n          read(svalue,*,iostat=ios) fconv\n          if (ios /= 0) then\n             write(error_unit,*) \"hl_gtk_list_tree_set_gvalue:: \"//&\n                  & \"Failed to convert string to 'float'\"\n             return\n          end if\n          call g_value_set_float(val, fconv)\n       else\n          write(error_unit,*) \"hl_gtk_list_tree_set_gvalue:: \"//&\n               & \"Cannot make a 'float' type from given value(s)\"\n          return\n       end if\n\n    case(G_TYPE_DOUBLE)\n       if (present(dvalue)) then\n          call g_value_set_double(val, dvalue)\n       else if (present(fvalue)) then\n          call g_value_set_double(val, real(fvalue, c_double))\n       else if (present(svalue)) then\n          read(svalue,*,iostat=ios) dconv\n          if (ios /= 0) then\n             write(error_unit,*) \"hl_gtk_list_tree_set_gvalue:: \"//&\n                  & \"Failed to convert string to 'double'\"\n             return\n          end if\n          call g_value_set_double(val, dconv)\n       else\n          write(error_unit,*) \"hl_gtk_list_tree_set_gvalue:: \"//&\n               & \"Cannot make a 'double' type from given value(s)\"\n          return\n       end if\n\n    case (G_TYPE_STRING)\n       if (present(svalue)) then\n          call g_value_set_string(val, trim(svalue)//c_null_char)\n       else\n          if (present(ivalue)) then\n             write(sconv,*) ivalue\n          else if (present(i8value)) then\n             write(sconv,*) i8value\n          else if (present(lvalue)) then\n             write(sconv,*) lvalue\n          else if (present(l64value)) then\n             write(sconv,*) l64value\n          else if (present(fvalue)) then\n             write(sconv,*) fvalue\n          else if (present(dvalue)) then\n             write(sconv,*) dvalue\n          else if (present(logvalue)) then\n             write(sconv,*) logvalue\n          else\n             write(error_unit,*) \"hl_gtk_list_tree_set_gvalue:: \"//&\n                  & \"Cannot make a 'string' type from given value(s)\"\n             return\n          end if\n          call g_value_set_string(val, trim(sconv)//c_null_char)\n       end if\n\n\n    case default\n       if  (ctype == gdk_pixbuf_get_type()) then\n          if (present(pbvalue)) then\n             call g_value_set_object(val, pbvalue)\n          else\n             write(error_unit,*) \"hl_gtk_list_tree_set_gvalue:: \"//&\n                  & \"Cannot make a 'pixbuf' type from given value(s)\"\n             return\n          end if\n       else\n          write(error_unit,*)  \"hl_gtk_list_tree_set_gvalue:: \"//&\n               & \"Cell type \",ctype,\" is unknown\"\n          return\n       end if\n    end select\n  end subroutine hl_gtk_list_tree_set_gvalue\n\n  !+\n  subroutine hl_gtk_list_tree_get_gvalue(val, ctype, &\n       & svalue, fvalue, dvalue, ivalue, lvalue, l64value, logvalue, &\n       & i8value, pbvalue)\n    type(c_ptr), intent(in) :: val\n    integer(type_kind), intent(in) :: ctype\n    character(len=*), intent(out), optional :: svalue\n    real(c_float), intent(out), optional :: fvalue\n    real(c_double), intent(out), optional :: dvalue\n    integer(c_int), intent(out), optional :: ivalue\n    integer(c_long), intent(out), optional :: lvalue\n    integer(c_int64_t), intent(out), optional :: l64value\n    logical, intent(out), optional :: logvalue\n    integer(c_int8_t), intent(out), optional :: i8value\n    type(c_ptr), intent(out), optional :: pbvalue\n\n    ! Get the contents of a Gvalue (private)\n    !\n    ! VAL |  c_ptr |  required |  The GValue\n    ! CTYPE |  int(type_kind) |  required |  The type of value it contains.\n    !\n    ! The output arguments are identical to the get_cell routines.\n    !-\n\n    type(c_ptr) ::  cstr\n\n    select case(ctype)\n    case(G_TYPE_CHAR)\n       if (present(i8value)) then\n          ivalue = g_value_get_schar(val)\n       else if (present(svalue)) then\n          svalue(1:1) = char(g_value_get_schar(val))\n       else if (present(ivalue)) then\n          ivalue = int(g_value_get_schar(val), c_int)\n       else if (present(lvalue)) then\n          lvalue = int(g_value_get_schar(val), c_long)\n       else if (present(l64value)) then\n          l64value = int(g_value_get_schar(val), c_int64_t)\n       else\n          write(error_unit,*) \"hl_gtk_list_tree_get_gvalue:: \"//&\n               & \"Cannot return 'char' type to any available output\"\n          return\n       end if\n    case(G_TYPE_UCHAR)\n       if (present(i8value)) then\n          i8value = g_value_get_uchar(val)\n       else if (present(svalue)) then\n          svalue(1:1)= char(g_value_get_uchar(val))\n       else if (present(ivalue)) then\n          ivalue = int(g_value_get_uchar(val), c_int)\n       else if (present(lvalue)) then\n          lvalue = int(g_value_get_uchar(val), c_long)\n       else if (present(l64value)) then\n          l64value = int(g_value_get_uchar(val), c_int64_t)\n       else\n          write(error_unit,*) \"hl_gtk_list_tree_get_gvalue:: \"// &\n               & \"Cannot return 'uchar' type to any available output\"\n          return\n       end if\n\n    case (G_TYPE_INT)\n       if (present(ivalue)) then\n          ivalue = g_value_get_int(val)\n       else if (present(lvalue)) then\n          lvalue = int(g_value_get_int(val), c_long)\n       else if (present(l64value)) then\n          l64value = int(g_value_get_int(val), c_int64_t)\n       else if (present(i8value)) then\n          i8value = int(g_value_get_int(val), c_int8_t)\n       else if (present(svalue)) then\n          write(svalue,*) g_value_get_int(val)\n       else\n          write(error_unit,*) \"hl_gtk_list_tree_get_gvalue:: \"//&\n               & \"Cannot return 'int' type to any available output\"\n          return\n       end if\n    case (G_TYPE_UINT)\n       if (present(ivalue)) then\n          ivalue = g_value_get_uint(val)\n       else if (present(lvalue)) then\n          lvalue = int(g_value_get_uint(val), c_long)\n       else if (present(l64value)) then\n          l64value = int(g_value_get_uint(val), c_int64_t)\n       else if (present(i8value)) then\n          i8value = int(g_value_get_uint(val), c_int8_t)\n       else if (present(svalue)) then\n          write(svalue,*) g_value_get_uint(val)\n       else\n          write(error_unit,*) \"hl_gtk_list_tree_get_gvalue:: \"//&\n               & \"Cannot return 'int' type to any available output\"\n          return\n       end if\n    case (G_TYPE_BOOLEAN)\n       if (present(logvalue)) then\n          logvalue = c_f_logical(g_value_get_boolean(val))\n       else if (present(i8value)) then\n          i8value = int(g_value_get_boolean(val), c_int8_t)\n       else if (present(ivalue)) then\n          ivalue = g_value_get_boolean(val)\n       else if (present(lvalue)) then\n          lvalue = int(g_value_get_boolean(val), c_long)\n       else if (present(l64value)) then\n          l64value = int(g_value_get_boolean(val), c_int64_t)\n       else if (present(svalue)) then\n          if (g_value_get_boolean(val) == TRUE) then\n             svalue = 'True'\n          else\n             svalue='False'\n          end if\n       else\n          write(error_unit,*) \"hl_gtk_list_tree_get_gvalue:: \"//&\n               & \"Cannot return 'bool' type to any available output\"\n          return\n       end if\n\n    case (G_TYPE_LONG)\n       if (present(lvalue)) then\n          lvalue = g_value_get_long(val)\n       else if (present(l64value)) then\n          l64value = int(g_value_get_long(val), c_int64_t)\n       else if (present(ivalue)) then\n          ivalue = int(g_value_get_long(val), c_int)\n       else if (present(i8value)) then\n          i8value = int(g_value_get_long(val), c_int8_t)\n       else if (present(svalue)) then\n          write(svalue,*) g_value_get_long(val)\n       else\n          write(error_unit,*) \"hl_gtk_list_tree_get_gvalue:: \"//&\n               & \"Cannot return 'long' type to any available output\"\n          return\n       end if\n    case (G_TYPE_ULONG)\n       if (present(lvalue)) then\n          lvalue = g_value_get_ulong(val)\n       else if (present(l64value)) then\n          l64value = int(g_value_get_ulong(val), c_int64_t)\n       else if (present(ivalue)) then\n          ivalue = int(g_value_get_ulong(val), c_int)\n       else if (present(i8value)) then\n          i8value = int(g_value_get_ulong(val), c_int8_t)\n       else if (present(svalue)) then\n          write(svalue,*) g_value_get_ulong(val)\n       else\n          write(error_unit,*) \"hl_gtk_list_tree_get_gvalue:: \"//&\n               & \"Cannot return 'long' type to any available output\"\n          return\n       end if\n\n    case (G_TYPE_INT64)\n       if (present(l64value)) then\n          l64value = g_value_get_int64(val)\n       else if (present(lvalue)) then\n          lvalue = int(g_value_get_int64(val), c_long)\n       else if (present(ivalue)) then\n          ivalue = int(g_value_get_int64(val), c_int)\n       else if (present(i8value)) then\n          i8value = int(g_value_get_int64(val), c_int8_t)\n       else if (present(svalue)) then\n          write (svalue,*) g_value_get_int64(val)\n       else\n          write(error_unit,*) \"hl_gtk_list_tree_get_gvalue:: \"//&\n               & \"Cannot return 'int64' type to any available output\"\n          return\n       end if\n    case (G_TYPE_UINT64)\n       if (present(l64value)) then\n          l64value = g_value_get_uint64(val)\n       else if (present(lvalue)) then\n          lvalue = int(g_value_get_uint64(val), c_long)\n       else if (present(ivalue)) then\n          ivalue = int(g_value_get_uint64(val), c_int)\n       else if (present(i8value)) then\n          i8value = int(g_value_get_uint64(val), c_int8_t)\n       else if (present(svalue)) then\n          write(svalue,*) g_value_get_uint64(val)\n       else\n          write(error_unit,*) \"hl_gtk_list_tree_get_gvalue:: \"//&\n               & \"Cannot return 'int64' type to any available output\"\n          return\n       end if\n\n    case(G_TYPE_FLOAT)\n       if (present(fvalue)) then\n          fvalue = g_value_get_float(val)\n       else if (present(dvalue)) then\n          dvalue = real(g_value_get_float(val), c_double)\n       else if (present(svalue)) then\n          write(svalue,*) g_value_get_float(val)\n       else\n          write(error_unit,*) \"hl_gtk_list_tree_get_gvalue:: \"//&\n               & \"Cannot return 'float' type to any available output\"\n          return\n       end if\n\n    case(G_TYPE_DOUBLE)\n       if (present(dvalue)) then\n          dvalue = g_value_get_double(val)\n       else if (present(fvalue)) then\n          fvalue = real(g_value_get_double(val), c_float)\n       else if (present(svalue)) then\n          write(svalue,*) g_value_get_double(val)\n       else\n          write(error_unit,*) \"hl_gtk_list_tree_get_gvalue:: \"//&\n               & \"Cannot return 'double' type to any available output\"\n          return\n       end if\n\n    case (G_TYPE_STRING)\n       if (present(svalue)) then\n          cstr = g_value_get_string(val)\n          call convert_c_string(cstr, svalue)\n       else\n          write(error_unit,*) \"hl_gtk_list_tree_get_gvalue:: \"//&\n               & \"Cannot return 'string' type to any available output\"\n       end if\n\n    case default\n       if (ctype == gdk_pixbuf_get_type()) then\n          if (present(pbvalue)) then\n             pbvalue = g_value_get_object(val)\n          else\n             write(error_unit,*) \"hl_gtk_list_tree_get_gvalue:: \"//&\n                  & \"Cannot return 'object' type to any available output\"\n          end if\n       else\n          write(error_unit,*)  \"hl_gtk_list_tree_get_gvalue:: \"//&\n               & \"Cell type \",ctype,\" is unknown\"\n          return\n       end if\n    end select\n  end subroutine hl_gtk_list_tree_get_gvalue\n\n  !+\n  subroutine hl_gtk_list_tree_type_adjust(types, renderers)\n    integer(type_kind), dimension(:), intent(inout) :: types\n    character(len=*), dimension(:), intent(in) :: renderers\n\n    ! Ensure that the types are appropriate to the renderers.\n    !\n    ! TYPES |  type_kind |  required |  The list of types (updated as needed)\n    ! RENDERERS |  f_string() |  required |  The list of renderers.\n    !-\n\n    integer :: i, n\n\n    n = size(types)\n\n    do i = 1, n\n       select case(renderers(i))\n       case(hl_gtk_cell_text)\n          if (types(i) == G_TYPE_OBJECT .or. &\n               & types(i) == gdk_pixbuf_get_type()) types(i) = G_TYPE_STRING\n       case(hl_gtk_cell_toggle, hl_gtk_cell_radio)\n          types(i) = G_TYPE_BOOLEAN\n       case(hl_gtk_cell_pixbuf)\n          types(i) = gdk_pixbuf_get_type()\n       case(hl_gtk_cell_spin)\n          types(i) = G_TYPE_DOUBLE\n       case(hl_gtk_cell_progress)\n          types(i) = G_TYPE_INT\n       end select\n    end do\n  end subroutine hl_gtk_list_tree_type_adjust\n\n  !+\n  subroutine hl_gtk_list_tree_config_spin(view, colno, vmin, vmax, &\n       & step, bigstep, value, digits, rate)\n    type(c_ptr), intent(in) :: view\n    integer(c_int), intent(in) :: colno\n    real(c_double), intent(in), optional :: vmin, vmax, step, &\n         & bigstep, value\n    integer(c_int), intent(in), optional :: digits\n    real(c_double), intent(in), optional :: rate\n\n    ! Set up a spin button in a list or tree.\n    !\n    ! VIEW |  c_ptr |  required |  The treeview containing the spin button.\n    ! COLNO |  int |  required |  The column with the spin button.\n    ! MIN |  double |  optional |  The minimum value for the spin button\n    ! MAX |  double |  optional |  The maximum value for the spin button.\n    ! STEP |  double |  optional |  The step size for the spin button.\n    ! BIGSTEP |  double |  optional |  The \"jump\" size for the spin button (not actually very useful).\n    ! VALUE |  double |  optional |  The value for the spin button.\n    ! DIGITS |  int |  optional |  How many digits to show.\n    ! RATE |  double |  optional |  The climb rate.\n    !\n    ! This routine is always called through the interfaces,\n    ! hl_gtk_listn_config_spin or  hl_gtk_tree_config_spin\n    !-\n\n    type(c_ptr) :: col, rlist, renderer, adjust, padjv\n    type(gvalue), target :: adjv\n\n    padjv=c_loc(adjv)\n\n    ! Extract the renderer\n    col = gtk_tree_view_get_column(view, colno)\n    rlist = gtk_cell_layout_get_cells(col)\n    renderer = g_list_nth_data(rlist, 0_c_int)\n    call g_list_free(rlist)\n\n    ! Get the adjustment from the renderer.\n    padjv = g_value_init(padjv, G_TYPE_OBJECT)\n    call g_object_get_property(renderer, \"adjustment\"//c_null_char, &\n         & padjv)\n    adjust = g_value_get_object(padjv)\n    adjust = g_object_ref(adjust)\n    if (present(vmin)) call gtk_adjustment_set_lower(adjust, vmin)\n    if (present(vmax)) call gtk_adjustment_set_upper(adjust, vmax)\n    if (present(step)) call gtk_adjustment_set_step_increment(adjust, step)\n    if (present(bigstep)) &\n         & call gtk_adjustment_set_page_increment(adjust, bigstep)\n    if (present(value)) call gtk_adjustment_set_value(adjust, value)\n\n    call g_value_unset(padjv)\n\n    if (present(digits)) then\n       padjv = g_value_init(padjv, G_TYPE_UINT)\n       call g_value_set_uint(padjv, digits)\n       call g_object_set_property(renderer, \"digits\"//c_null_char, &\n            & padjv)\n       call g_value_unset(padjv)\n    end if\n    if (present(rate)) then\n       padjv = g_value_init(padjv, G_TYPE_DOUBLE)\n       call g_value_set_double(padjv, rate)\n       call g_object_set_property(renderer, \"climb-rate\"//c_null_char, &\n            & padjv)\n       call g_value_unset(padjv)\n    end if\n  end subroutine hl_gtk_list_tree_config_spin\n\n  !+\n  subroutine hl_gtk_list_tree_combo_model_attach(renderer, cmodel, colno)\n    type(c_ptr), intent(in) :: renderer\n    type(c_ptr), intent(in), optional :: cmodel\n    integer(c_int), optional, intent(in) :: colno\n\n    ! Create a tree model suitable for a GtkCellRendererCombo and attach\n    ! it to the renderer.\n    !\n    ! RENDERER |  c_ptr |  required |  The renderer to which the model will be attached.\n    ! CMODEL |  c_ptr |  optional |  A custom model for the combobox\n    ! COLNO |  int |  optional |  Which column of the custom model contains the text.\n    !\n    ! This routine is automatically called by the list/tree constructor if needed.\n    ! To explicitly set a different model, use one of its aliases\n    ! hl_gtk_listn_combo_set_model or hl_gtk_tree_combo_set_model.\n    ! The default model is a 1-column list with the strings (indices can\n    ! be obtained from the PATH argument in the edited hander.\n    !-\n\n    integer(c_int), parameter :: ncols=1\n    integer(type_kind), dimension(ncols), target :: coltypes = &\n         & [G_TYPE_STRING]\n    type(gvalue), target :: modelv, columnv\n    type(c_ptr) :: pmodel, pcolumn, model\n    integer(c_int) :: icol\n\n    ! Create the model\n    if (present(cmodel)) then\n       model = cmodel\n       if (present(colno)) then\n          icol = colno\n       else\n          icol = 0\n       end if\n    else\n       model = gtk_list_store_newv(ncols, c_loc(coltypes))\n       icol = 0\n    end if\n\n    ! Attach it to the renderer.\n    pmodel = c_loc(modelv)\n    pmodel = g_value_init(pmodel, gtk_tree_model_get_type())\n    call g_value_set_object(pmodel, model)\n    call g_object_set_property(renderer, \"model\"//c_null_char, pmodel)\n\n    ! Tell the renderer that the text is in column 0\n    pcolumn = c_loc(columnv)\n    pcolumn = g_value_init(pcolumn, G_TYPE_INT)\n    call g_value_set_int(pcolumn, icol)\n    call g_object_set_property(renderer, \"text-column\"//c_null_char, &\n         & pcolumn)\n  end subroutine hl_gtk_list_tree_combo_model_attach\n\n  !+\n  subroutine  hl_gtk_list_tree_combo_model_config(view, colno, vals, &\n       & append, has_entry)\n    type(c_ptr), intent(in) :: view\n    integer(c_int), intent(in) :: colno\n    character(len=*), intent(in), dimension(:), optional :: vals\n    integer(c_int), intent(in), optional :: append, has_entry\n\n    ! Set the strings in the combo model.\n    !\n    ! VIEW |  c_ptr |  required |  The tree view that contains the combo cell renderer.\n    ! COLNO |  c_int |  required |  The column number of the combo renderer.\n    ! VALS |  f_string() |  required |  The strings for the combo box.\n    ! APPEND |  c_int |  optional |  Set to TRUE to add the strings to those already present, otherwise the strings are replaced.\n    ! HAS_ENTRY |  c_int |  optional |  Set to TRUE to add an entry field to the combo. Set to FALSE to remove an entry field.\n    !\n    ! This routine is always accessed by its aliases hl_gtk_tree_config_combo\n    ! or hl_gtk_listn_config_combo\n    !-\n\n    type(c_ptr) :: col, rlist, renderer\n    type(gvalue), target :: modelv, stringv, entryv\n    type(c_ptr) :: pmodel, model, pstring, pentry\n    logical :: iappend\n    integer(c_int) :: nvals, i, valid\n    type(gtktreeiter), target :: iter\n\n    if (present(append)) then\n       iappend = c_f_logical(append)\n    else\n       iappend = .false.\n    end if\n\n    ! Find the renderer for the column\n    col = gtk_tree_view_get_column(view, colno)\n    rlist = gtk_cell_layout_get_cells(col)\n    renderer = g_list_nth_data(rlist, 0_c_int)\n    call g_list_free(rlist)\n\n    ! Find the model for the combobox\n    pmodel = c_loc(modelv)\n    pmodel = g_value_init(pmodel, gtk_tree_model_get_type())\n    call g_object_get_property(renderer, \"model\"//c_null_char, pmodel)\n    model = g_value_get_object(pmodel)\n\n    pstring = c_loc(stringv)\n    pstring = g_value_init(pstring, G_TYPE_STRING)\n\n    if (present(vals)) then\n       if (iappend) then\n          nvals = gtk_tree_model_iter_n_children(model, c_null_ptr)\n          valid = gtk_tree_model_iter_nth_child(model, c_loc(iter), &\n               & c_null_ptr, nvals-1_c_int)\n          do i = 1, size(vals)\n             call clear_gtktreeiter(iter)\n             call gtk_list_store_append(model, c_loc(iter))\n             call g_value_set_string(pstring, trim(vals(i))//c_null_char)\n             call gtk_list_store_set_value(model, c_loc(iter), 0_c_int, pstring)\n          end do\n       else\n          call gtk_list_store_clear(model)\n          do i = 1, size(vals)\n             call clear_gtktreeiter(iter)\n             call gtk_list_store_append(model, c_loc(iter))\n             call g_value_set_string(pstring, trim(vals(i))//c_null_char)\n             call gtk_list_store_set_value(model, c_loc(iter), 0_c_int, pstring)\n          end do\n       end if\n    end if\n\n    if (present(has_entry)) then\n       pentry = c_loc(entryv)\n       pentry = g_value_init(pentry, G_TYPE_BOOLEAN)\n       call g_value_set_boolean(pentry, has_entry)\n       call g_object_set_property(renderer, \"has-entry\"//c_null_char, pentry)\n    end if\n\n  end subroutine hl_gtk_list_tree_combo_model_config\nend module gtk_hl_tree\n"
  },
  {
    "path": "src/gtk-hl.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2011 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!\n! Contributed by James Tappin (2011)\n! Last modifications: vmagnin 2020-06-18\n\nmodule gtk_hl\n  !*\n  ! High Level GTK Fortran interfaces\n  !\n  ! A collection of procedures to implement higher level creators for\n  ! the gtk-fortran widgets. Some settings and operations are also\n  ! provided for the more intricate widgets.\n  !\n  ! Many ideas in this module were taken from the pilib gtk<->fortran\n  ! interface.\n  !/\n\n  use gtk_hl_container\n  use gtk_hl_button\n  use gtk_hl_entry\n  use gtk_hl_tree\n  use gtk_hl_progress\n  use gtk_hl_dialog\n  use gtk_hl_chooser\n  use gtk_hl_spin_slider\n  use gtk_hl_combobox\n  use gtk_hl_infobar\n  use gtk_hl_assistant\n\n  use gtk_hl_misc\n\nend module gtk_hl\n"
  },
  {
    "path": "src/gtk-sup.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2011 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public\n! License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!------------------------------------------------------------------------------\n! Contributed by James Tappin, Ian Harvey (IanH0073)\n! Last modifications: vmagnin+IanH0073 2019-02-21, vmagnin 2020-06-08 (GTK 4),\n!   jtappin 2023-09-22, florianober 2025-03-27, vmagnin 2025-05-25\n!------------------------------------------------------------------------------\n!*\n! Supplementary material\n!\n! This module contains some supplementary material useful for writing GTK\n! programs in Fortran.  The functions are not listed in the\n! gtk-fortran-index.csv file, either because they are not (currenty) extracted\n! by the automatic tools, or because they are just convenient functions\n! added here.\nmodule gtk_sup\n  ! Currently it contains:\n  !\n  ! * GTYPE: Definitions of the integer length and the values for each type.\n  ! * GtkTreeIter: Type definition, and its clear procedure.\n  ! * GValue: Pseudo type definition, and its clear procedure.\n  ! * GtkTextIter: Type definition.\n  ! * GError: Type definition.\n  ! * Interfaces for string conversions.\n  ! * Boolean conversion routines.\n  ! * Miscellaneous functions.\n  !\n  !/\n\n  use, intrinsic :: iso_c_binding\n  use gtk, only: TRUE, FALSE\n\n  implicit none\n\n  public :: clear_gtktreeiter, clear_gvalue, c_f_string_chars, c_f_string_ptr,&\n          & c_f_string_copy_alloc, c_f_string_copy, &\n          & convert_c_string_scalar, convert_c_string_array, &\n          & convert_c_string_scalar_cptr, convert_c_string_array_cptr, &\n          & convert_f_string_a, convert_f_string_s, &\n          & c_f_logical, f_c_logical4, &\n          & f_c_logical1, is_UNIX_OS, fmt_date, copy_file\n\n  !============================================================================\n  !+\n  ! Gtype\n  ! The various Gtype definitions from the gtype.h file.\n  !-\n\n  ! Gtype definitions\n  integer, parameter :: type_kind = c_size_t\n  integer(c_int), parameter :: g_type_fundamental_shift=2\n  integer(type_kind), parameter :: G_TYPE_INVALID = &\n       & ishft(0_type_kind, g_type_fundamental_shift)\n  integer(type_kind), parameter :: G_TYPE_NONE = &\n       & ishft(1_type_kind, g_type_fundamental_shift)\n  integer(type_kind), parameter :: G_TYPE_INTERFACE = &\n       & ishft(2_type_kind, g_type_fundamental_shift)\n  integer(type_kind), parameter :: G_TYPE_CHAR = &\n       & ishft(3_type_kind, g_type_fundamental_shift)\n  integer(type_kind), parameter :: G_TYPE_UCHAR = &\n       & ishft(4_type_kind, g_type_fundamental_shift)\n  integer(type_kind), parameter :: G_TYPE_BOOLEAN = &\n       & ishft(5_type_kind, g_type_fundamental_shift)\n  integer(type_kind), parameter :: G_TYPE_INT = &\n       & ishft(6_type_kind, g_type_fundamental_shift)\n  integer(type_kind), parameter :: G_TYPE_UINT = &\n       & ishft(7_type_kind, g_type_fundamental_shift)\n  integer(type_kind), parameter :: G_TYPE_LONG = &\n       & ishft(8_type_kind, g_type_fundamental_shift)\n  integer(type_kind), parameter :: G_TYPE_ULONG = &\n       & ishft(9_type_kind, g_type_fundamental_shift)\n  integer(type_kind), parameter :: G_TYPE_INT64 = &\n       & ishft(10_type_kind, g_type_fundamental_shift)\n  integer(type_kind), parameter :: G_TYPE_UINT64 = &\n       & ishft(11_type_kind, g_type_fundamental_shift)\n  integer(type_kind), parameter :: G_TYPE_ENUM = &\n       & ishft(12_type_kind, g_type_fundamental_shift)\n  integer(type_kind), parameter :: G_TYPE_FLAGS = &\n       & ishft(13_type_kind, g_type_fundamental_shift)\n  integer(type_kind), parameter :: G_TYPE_FLOAT = &\n       & ishft(14_type_kind, g_type_fundamental_shift)\n  integer(type_kind), parameter :: G_TYPE_DOUBLE = &\n       & ishft(15_type_kind, g_type_fundamental_shift)\n  integer(type_kind), parameter :: G_TYPE_STRING = &\n       & ishft(16_type_kind, g_type_fundamental_shift)\n  integer(type_kind), parameter :: G_TYPE_POINTER = &\n       & ishft(17_type_kind, g_type_fundamental_shift)\n  integer(type_kind), parameter :: G_TYPE_BOXED = &\n       & ishft(18_type_kind, g_type_fundamental_shift)\n  integer(type_kind), parameter :: G_TYPE_PARAM = &\n       & ishft(19_type_kind, g_type_fundamental_shift)\n  integer(type_kind), parameter :: G_TYPE_OBJECT = &\n       & ishft(20_type_kind, g_type_fundamental_shift)\n  integer(type_kind), parameter :: G_TYPE_VARIANT = &\n       & ishft(21_type_kind, g_type_fundamental_shift)\n\n  !============================================================================\n  !+\n  ! Iterators and Gvalues\n  ! These structures are always allocated in the calling program, rather\n  ! than being declared as pointers and leaving GTK to allocate them.\n  !\n  ! * GtkTreeIter, Iterator for TreeView widgets\n  ! * GtkTextIter, Iterator for TextView widgets\n  ! * GValue, A value container.\n  !-\n\n  ! Define a GtkTreeIter (this has to be pre-allocated in the calls)\n  type, bind(c) :: gtktreeiter\n     integer(c_int) :: intv = 0\n     type(c_ptr) :: p0 = C_NULL_PTR, p1 = C_NULL_PTR, p2 = C_NULL_PTR\n  end type gtktreeiter\n\n  !+\n  ! Define a spacemaker for GValue. It's 24 bytes on 64 bit, thus\n  ! three 64-bit integers. On 32 bits, it uses only 20 bytes over the 24.\n  ! A GValue is an opaque structure:\n  ! https://docs.gtk.org/gobject/struct.Value.html\n  !-\n  type, bind(c) :: gvalue\n      integer(kind=c_int64_t), dimension(3) :: i64 = [0, 0, 0]\n  end type gvalue\n\n  ! Define a GtkTextIter (this has to be pre-allocated in the calls)\n  type, bind(c) :: gtktextiter\n     type(c_ptr)    :: d1, d2\n     integer(c_int) :: d3, d4, d5, d6, d7, d8\n     type(c_ptr)    :: d9, d10\n     integer(c_int) :: d11, d12, d13\n     type(c_ptr)    :: d14\n  end type gtktextiter\n\n  !+\n  ! GError\n  ! GError is a transparent structure that returns error information.\n  !-\n  type, bind(c) :: gerror\n     integer(c_int32_t) :: domain\n     integer(c_int) :: code\n     type(c_ptr) :: message    ! A C pointer to the error message.\n  end type gerror\n\n  !============================================================================\n  ! Interfaces for conversions\n  ! Some are available with two names:\n  ! convert_c_string = c_f_string\n  !============================================================================\n  interface c_f_string\n     module procedure convert_c_string_scalar\n     module procedure convert_c_string_array\n     module procedure convert_c_string_scalar_cptr\n     module procedure convert_c_string_array_cptr\n  end interface c_f_string\n\n  interface convert_c_string\n     module procedure convert_c_string_scalar\n     module procedure convert_c_string_array\n     module procedure convert_c_string_scalar_cptr\n     module procedure convert_c_string_array_cptr\n  end interface convert_c_string\n\n  interface convert_f_string\n     module procedure convert_f_string_a\n     module procedure convert_f_string_aa\n     module procedure convert_f_string_s\n  end interface convert_f_string\n\n  ! Interfaces for logical conversion\n  interface f_c_logical\n     module procedure f_c_logical4\n     module procedure f_c_logical1\n  end interface f_c_logical\n\n  ! String conversion routines below lazily use the C standard library function\n  ! strlen(). If this is not available for some bizarre reason, then a\n  ! simple index of the null character will suffice.\n  ! Contributed by Ian Harvey, 2014.\n  interface\n    function strlen(str) bind(c, name='strlen')\n      import :: c_size_t, c_ptr\n      implicit none\n      type(c_ptr), intent(in), value :: str\n      integer(c_size_t) :: strlen\n    end function strlen\n  end interface\n\ncontains\n  !============================================================================\n  ! These 2 clear_ routines are only needed of you need to re-initialize\n  ! the types. The definitions include the initial setting to zero or NULL.\n  !============================================================================\n\n  !+\n  subroutine clear_gtktreeiter(iter)\n    type(gtktreeiter), intent(inout) :: iter\n\n    ! Clear a tree iterator\n    !\n    ! ITER |  gtktreeiter |  required |  The iterator to clear\n    !-\n\n    iter%intv = 0\n    iter%p0   = C_NULL_PTR\n    iter%p1   = C_NULL_PTR\n    iter%p2   = C_NULL_PTR\n  end subroutine clear_gtktreeiter\n\n  !+\n  subroutine clear_gvalue(gval)\n    type(gvalue), intent(inout) :: gval\n\n    ! Clear a GValue\n    !\n    ! GVAL |  gvalue |  required |  The GValue to clear.\n    !-\n    gval%i64 = [0, 0, 0]\n  end subroutine clear_gvalue\n\n  !============================================================================\n  ! Some string conversion routines\n  !============================================================================\n  !+\n  subroutine c_f_string_copy_alloc(the_ptr, f_string)\n    type(c_ptr), intent(in) :: the_ptr\n    character(:), intent(out), allocatable :: f_string\n    character(kind=c_char), pointer :: f_array(:)\n    integer :: i\n\n    ! Create a default character deferred length allocatable copy of the\n    ! value of a C string. This function should be preferred to\n    ! c_f_string_copy() when using a Fortran>=2008 compiler. An advantage is\n    ! that the trim() function will generally not be needed.\n    !\n    ! THE_PTR |  string |  required |   The C string to be converted.\n    ! F_STRING |  f_string |  required |  A Scalar Fortran string.\n    !\n    !-\n    ! Contributed by Ian Harvey, 2014\n\n    call c_f_pointer(the_ptr, f_array, [strlen(the_ptr)])\n    allocate(character(size(f_array)) :: f_string)\n\n    do concurrent (i = 1:size(f_array))\n      f_string(i:i) = f_array(i)\n    end do\n  end subroutine c_f_string_copy_alloc\n\n  !+\n  subroutine c_f_string_copy(the_ptr, f_string, status)\n    type(c_ptr), intent(in) :: the_ptr\n    character(*), intent(out) :: f_string\n    integer, intent(out), optional :: status\n    character(kind=c_char), pointer :: f_array(:)\n    integer :: i\n\n    ! Create a default character fixed length copy of the value of a C string.\n    !\n    ! THE_PTR |  string |  required |   The C string to be converted.\n    ! F_STRING |  f_string |  required |  A Scalar Fortran string.\n    ! STATUS |  integer |  optional |  Is set to -1 if the Fortran string is too short.\n    !\n    ! If the Fortran string is too short, the C string is truncated.\n    !-\n\n    call c_f_pointer(the_ptr, f_array, [strlen(the_ptr)])\n\n    do i = 1, size(f_array)\n      if (i > len(f_string)) then\n        if (present(status)) status = -1\n        return\n      end if\n\n      f_string(i:i) = f_array(i)\n    end do\n\n    ! i here is size(f_array) + 1. Define the remainder of f_string:\n    f_string(i:) = ''\n\n    if (present(status)) status = 0\n  end subroutine c_f_string_copy\n\n  !+\n  subroutine c_f_string_chars(c_string, f_string)\n    character(len=1, kind=C_char), intent(in) :: c_string(*)\n    character(len=*), intent(out) :: f_string\n    integer :: i\n\n    ! Copy a C string, passed as a char-array reference, to a Fortran string.\n    ! String routine from C_interface_module by Joseph M. Krahn:\n    ! http://fortranwiki.org/fortran/show/c_interface_module\n    !\n    ! C_STRING |  chars array |  required |   The C chars array to be converted.\n    ! F_STRING |  f_string |  required |  A Scalar Fortran string.\n    !\n    !-\n\n    i = 1\n    do while (c_string(i) /= c_null_char .and. i <= len(f_string))\n      f_string(i:i) = c_string(i)\n      i = i + 1\n    end do\n\n    if (i < len(f_string)) f_string(i:) = ' '\n  end subroutine c_f_string_chars\n\n  !+\n  subroutine c_f_string_ptr(c_string, f_string)\n    type(C_ptr), intent(in) :: c_string\n    character(len=*), intent(out) :: f_string\n    character(len=1, kind=C_char), dimension(:), pointer :: p_chars\n    integer :: i\n\n    ! Copy a C string, passed by pointer, to a Fortran string.\n    ! If the C pointer is NULL, the Fortran string is blanked.\n    ! c_string must be NUL terminated, or at least as long as f_string.\n    ! If c_string is longer, it is truncated. Otherwise, f_string is\n    ! blank-padded at the end.\n    !\n    ! C_STRING |  string |  required |   The C string to be converted.\n    ! F_STRING |  f_string |  required |  A Scalar Fortran string.\n    !\n    !-\n\n    if (.not. c_associated(c_string)) then\n      f_string = ' '\n    else\n      call c_f_pointer(c_string, p_chars, [huge(0)])\n\n      i = 1\n      do while (p_chars(i) /= c_null_char .and. i <= len(f_string))\n        f_string(i:i) = p_chars(i)\n        i = i + 1\n      end do\n\n      if (i < len(f_string)) f_string(i:) = ' '\n    end if\n  end subroutine c_f_string_ptr\n\n  !============================\n  ! convert_c_string interface\n  !============================\n  !+\n  subroutine convert_c_string_scalar(textptr, f_string, status)\n    character(kind=c_char), dimension(:), intent(in) :: textptr\n    character(len=*), intent(out) :: f_string\n    integer(c_int), intent(out), optional :: status\n\n    ! Convert a null-terminated C-string to a Fortran string\n    !\n    ! TEXTPTR |  string |  required |   The C string to be converted.\n    ! F_STRING |  f_string |  required |  A Scalar Fortran string.\n    ! STATUS |  integer |  optional |  Is set to -1 if the Fortran string is too short.\n    !\n    ! Usually called via the convert_c_string generic interface.\n    !-\n    ! Contributed by jtappin and Ian Harvey.\n\n    integer :: i\n\n    do i = 1, size(textptr)\n      if (textptr(i) == c_null_char) exit\n      if (i > len(f_string)) then\n        if (present(status)) status = -1  ! Output string not long enough\n        return\n      end if\n      f_string(i:i) = textptr(i)\n    end do\n\n    f_string(i:) = ''\n\n    if (present(status)) status = 0\n  end subroutine convert_c_string_scalar\n\n  !+\n  subroutine convert_c_string_array(textptr, f_string, status)\n    character(kind=c_char), dimension(:), intent(in) :: textptr\n    character(len=*), intent(out), dimension(:), allocatable :: f_string\n    integer, intent(out), optional :: status\n\n    ! Convert a null-terminated LF-separated C-string into a Fortran\n    ! string array\n    !\n    ! TEXTPTR |  string |  required |   The C string to be converted.\n    ! F_STRING |  f_string() |  required |  A Fortran string array.\n    ! STATUS |  integer |  optional |  Is set to -1 if the Fortran string is too short for any line.\n    !\n    ! Usually called via the convert_c_string generic interface.\n    !-\n\n    integer :: i, j, ii, count\n\n    count = 1\n    i = 1\n    do\n       if (i > size(textptr)) exit\n       if (textptr(i) == c_null_char) exit\n       if (textptr(i) == c_new_line) count = count+1\n       i = i + 1\n    end do\n    allocate(f_string(count))\n\n    if (present(status)) status = 0\n    ii = 1\n    do j = 1, count\n       f_string(j) = \"\"\n       do i = 1, len(f_string)\n          if (ii > size(textptr)) then\n             if (j < count .and. present(status)) status = -1\n             return\n          end if\n\n          if (textptr(ii) == c_null_char) return\n          if (textptr(ii) == c_new_line) then\n             ii = ii + 1\n             exit\n          end if\n          f_string(j)(i:i) = textptr(ii)\n          ii = ii + 1\n       end do\n       if (i > len(f_string) .and. present(status)) &\n            & status = -1  ! Output string not long enough\n    end do\n  end subroutine convert_c_string_array\n\n  !+\n  subroutine convert_c_string_scalar_cptr(ctext, f_string, status)\n    type(c_ptr), intent(in) :: ctext\n    character(len=*), intent(out) :: f_string\n    integer, intent(out), optional :: status\n\n    ! Convert a null-terminated C-string to a Fortran string\n    !\n    ! CTEXT |  c_ptr |  required |   A C poiner to string to be converted.\n    ! F_STRING |  f_string |  required |  A Scalar Fortran string.\n    ! STATUS |  integer |  optional |  Is set to -1 if the Fortran string is too short.\n    !\n    ! Usually called via the convert_c_string generic interface.\n    !-\n    ! Contributed by jtappin and Ian Harvey.\n\n    integer :: i\n    character(kind=c_char), dimension(:), pointer :: textptr\n\n    call c_f_pointer(ctext, textptr, [ strlen(ctext) ])\n\n    do i = 1, size(textptr)\n      if (i > len(f_string)) then\n        if (present(status)) status = -1  ! Output string not long enough\n        return\n      end if\n      f_string(i:i)=textptr(i)\n    end do\n\n    f_string(i:) = ''\n    if (present(status)) status = 0\n  end subroutine convert_c_string_scalar_cptr\n\n  !+\n  subroutine convert_c_string_array_cptr(ctext, f_string, status)\n    type(c_ptr), intent(in) :: ctext\n    character(len=*), intent(out), dimension(:), allocatable :: f_string\n    integer, intent(out), optional :: status\n\n    ! Convert a null-terminated LF-separated C-string into a Fortran\n    ! string array\n    !\n    ! CTEXT |  c_ptr |  required |   A C poiner to string to be converted.\n    ! F_STRING |  f_string() |  required |  A  Fortran string. array\n    ! STATUS |  integer |  optional |  Is set to -1 if the Fortran string is too short for any of the lines.\n    !\n    ! Usually called via the convert_c_string generic interface.\n    !-\n\n    integer :: i, j, ii, count\n    character(kind=c_char), dimension(:), pointer :: textptr\n\n    call c_f_pointer(ctext, textptr, [ strlen(ctext) ])\n    ! count = COUNT(textptr == c_new_line)\n    count = 1\n    i = 1\n    do\n       if (i > size(textptr)) exit\n       if (textptr(i) == c_new_line) count = count + 1\n       i = i + 1\n    end do\n    allocate(f_string(count))\n\n    if (present(status)) status = 0\n\n    ii = 1\n    do j = 1, count\n       f_string(j) = \"\"\n       do i = 1, len(f_string)\n          if (ii > size(textptr)) then\n             return\n          end if\n\n          if (textptr(ii) == c_new_line) then\n             ii = ii + 1\n             exit\n          end if\n          f_string(j)(i:i) = textptr(ii)\n          ii = ii + 1\n       end do\n       if (i > len(f_string) .and. present(status)) &\n            & status = -1  ! Output string not long enough\n    end do\n  end subroutine convert_c_string_array_cptr\n\n  !============================\n  ! convert_f_string interface\n  !============================\n  !+\n  subroutine convert_f_string_a(f_string, textptr, length)\n    character(len=*), intent(in), dimension(:) :: f_string\n    character(kind=c_char), dimension(:), intent(out), allocatable :: textptr\n    integer(c_int), intent(out), optional :: length\n\n    ! Convert a Fortran string array into a null-terminated, LF_separated\n    ! C-string\n    !\n    ! F_STRING |  f_string |  required |  The Fortran string to convert\n    ! TEXTPR |  string |  required |  A C type string, (allocatable).\n    ! LENGTH |  c_int |  optional |  The length of the generated C string.\n    !-\n\n    integer :: lcstr, i, j, ii, nfstr\n    integer, dimension(:), allocatable :: lfstr\n\n    nfstr = size(f_string)\n    allocate(lfstr(nfstr))\n    lfstr = len_trim(f_string)\n\n    lcstr = sum(lfstr)\n    do i = 1, nfstr-1\n       if (lfstr(i) == 0) then\n          lcstr = lcstr + 1\n       else if (f_string(i)(lfstr(i):lfstr(i)) /= c_null_char .and. &\n            & f_string(i)(lfstr(i):lfstr(i)) /= c_new_line) then\n          lcstr = lcstr + 1\n       end if\n    end do\n    if (lfstr(nfstr) == 0) then\n       lcstr = lcstr + 1\n    else if (f_string(nfstr)(lfstr(nfstr):lfstr(nfstr)) /= c_null_char) then\n       lcstr = lcstr + 1\n    end if\n\n    allocate(textptr(lcstr))\n    if (present(length)) length = lcstr\n\n    ii = 1\n    do i = 1, nfstr\n       do j = 1, lfstr(i)\n          if (j == lfstr(i) .and. &\n               & (f_string(i)(j:j) == c_null_char .or. &\n               & (f_string(i)(j:j) == c_new_line .and. i /= nfstr))) exit\n          textptr(ii) = f_string(i)(j:j)\n          ii = ii + 1\n       end do\n       if (i < nfstr) then\n          textptr(ii) = c_new_line\n       else\n          textptr(ii) = c_null_char\n       end if\n       ii = ii + 1\n    end do\n  end subroutine convert_f_string_a\n  \n  !+\n  subroutine convert_f_string_aa(f_string, textptr, length)\n    character(len=*), intent(in), dimension(:) :: f_string\n    character(kind=c_char), dimension(:,:), intent(out), &\n         & allocatable :: textptr\n    integer(kind=c_int), intent(out), optional, &\n         & dimension(:), allocatable :: length\n\n    ! Convert a fortran string array into an array of null-terminated\n    ! C strings. \n    !\n    ! F_STRING: f_string: required: The fortran string to convert\n    ! TEXTPR: string: required: A C type string, (allocatable) 2-D\n    ! \tfortran array.\n    ! LENGTH: c_int: optional: An allocatable integer array to return\n    ! the lengths of the strings.\t\n    !-\n\n    integer :: lcstr, i, j, nfstr\n    integer, dimension(:), allocatable :: lfstr\n\n    nfstr = size(f_string)\n    allocate(lfstr(nfstr))\n    lfstr = len_trim(f_string)\n    lcstr = maxval(lfstr)+1    ! Add 1 for the NULL terminator on the\n    ! longest element\n\n    allocate(textptr(lcstr,nfstr))\n    if (present(length)) then\n       allocate(length(nfstr))\n       length = lfstr\n    end if\n\n    do i = 1, nfstr\n       do j = 1, lfstr(i)\n          textptr(j,i) = f_string(i)(j:j)\n       end do\n       textptr(j,i) = c_null_char\n    end do\n  end subroutine convert_f_string_aa\n  \n\n  !+\n  subroutine convert_f_string_s(f_string, textptr, length)\n    character(len=*), intent(in) :: f_string\n    character(kind=c_char), dimension(:), intent(out), allocatable :: textptr\n    integer(c_int), intent(out), optional :: length\n\n    ! Convert a Fortran string into a null-terminated C-string\n    !\n    ! F_STRING |  f_string |  required |  The Fortran string to convert\n    ! TEXTPR |  string |  required |  A C type string, (allocatable).\n    ! LENGTH |  c_int |  optional |  The length of the generated C string.\n    !-\n\n    integer :: lcstr, j\n    logical :: add_null\n\n    lcstr = len_trim(f_string)\n    if (lcstr == 0) then\n       lcstr = lcstr + 1\n       add_null = .true.\n    else if (f_string(lcstr:lcstr) /= c_null_char) then\n       lcstr = lcstr + 1\n       add_null = .true.\n    else\n       add_null = .false.\n    end if\n\n    allocate(textptr(lcstr))\n    if (present(length)) length = lcstr\n\n    do j = 1, len_trim(f_string)\n       textptr(j) = f_string(j:j)\n    end do\n\n    if (add_null) textptr(lcstr) = c_null_char\n  end subroutine convert_f_string_s\n\n  !============================================================================\n  ! Boolean conversion routines\n  ! f_c_logical interface is available for logical(1) and logical(4)\n  !============================================================================\n  !+\n  function c_f_logical(cbool)\n    logical :: c_f_logical\n    integer(c_int), intent(in) :: cbool\n\n    ! Convert a gboolean to a Fortran logical\n    !\n    ! CBOOL |  boolean |  required |  The Gboolean to convert.\n    !-\n\n    if (cbool == FALSE) then\n       c_f_logical = .false.\n    else\n       c_f_logical = .true.\n    end if\n  end function c_f_logical\n\n  !+\n  function f_c_logical4(flog)\n    integer(c_int) :: f_c_logical4\n    logical, intent(in) :: flog\n\n    ! Convert a Fortran default logical to a gboolean\n    !\n    ! FLOG |  logical |  required |  The Fortran logical to convert.\n    !\n    ! Usually accessed via the generic f_c_logical interface\n    !-\n\n    if (flog) then\n       f_c_logical4 = TRUE\n    else\n       f_c_logical4 = FALSE\n    end if\n  end function f_c_logical4\n\n  !+\n  function f_c_logical1(flog)\n    integer(c_int) :: f_c_logical1\n    logical(1), intent(in) :: flog\n\n    ! Convert a Fortran 1-byte logical to a gboolean\n    !\n    ! FLOG |  logical*1 |  required |  The Fortran logical to convert.\n    !\n    ! Usually accessed via the generic f_c_logical interface\n    !-\n\n    if (flog) then\n       f_c_logical1 = TRUE\n    else\n       f_c_logical1 = FALSE\n    end if\n  end function f_c_logical1\n\n  !============================================================================\n  ! Miscellaneous\n  !============================================================================\n\n  !+\n  function is_UNIX_OS()\n    use g, only: g_get_current_dir\n\n    logical :: is_UNIX_OS\n    character(:), allocatable :: path\n\n    ! Returns .true. if the OS is of the UNIX type. On a Windows system, it\n    ! will return .false. because an absolute path can not begin by a slash.\n    !-\n\n    call c_f_string_copy_alloc(g_get_current_dir(), path)\n\n    if (path(1:1) == \"/\") then\n        is_UNIX_OS = .true.\n    else\n        is_UNIX_OS = .false.\n    endif\n  end function is_UNIX_OS\n\n  !+\n  function fmt_date()\n    character(29) :: fmt_date\n    character(8)  :: date\n    character(10) :: time\n    character(5)  :: zone\n\n    ! Returns date, time and timezone in a string without spaces,\n    ! for example: 2022-05-06T15:58:43.790+02:00\n    !-\n    ! Contributed by IanH0073 (issue #81)\n\n    call date_and_time(date, time, zone)\n    fmt_date = date(1:4) // '-' // date(5:6) // '-' // date(7:8)  &\n            // 'T' // time(1:2) // ':' // time(3:4) // ':' // time(5:10)  &\n            // zone(1:3) // ':' // zone(4:5)\n  end function fmt_date\n\n  ! A function to copy a text file\n  ! Used especially in sketcher/gtkf-sketcher.f90\n  subroutine copy_file(source, destination)\n    character(*), intent(in) :: source\n    character(*), intent(in) :: destination\n    character(len=256, kind=c_char) :: line\n    integer :: status_read, input, output\n\n    open(newunit=output, file=destination, action='write')\n    open(newunit=input,  file=source, action='read')\n    do\n      read(input, '(A)', iostat=status_read) line\n      if ( status_read /= 0 ) exit\n      write(output, '(A)') line(1:len_trim(line))\n    enddo\n    close(input)\n    close(output)\n  end subroutine copy_file\n\nend module gtk_sup\n"
  },
  {
    "path": "src/gtk.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2011 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!\n! Contributed by Vincent Magnin, Jerry DeLisle, \"jtappin\" and Tobias Burnus, 2011-01-23\n! Last modification: 2022-09-29, 2023-03-10\n!\n! This module is needed for every gtk-fortran application. The gtkenums-auto.in\n! and gtk-auto.in files are automatically included.\nmodule gtk\n  use, intrinsic :: iso_c_binding\n  implicit none\n  public :: FALSE, TRUE, gtk_init, function_g_signal_connect, &\n            & g_signal_connect, function_g_signal_connect_swapped, &\n            & g_signal_connect_swapped\n\n  !**************************************************************************\n  ! The enums automatically generated by cfwrapper.py are included here:\n  include \"gtkenums-auto.in\"\n  !**************************************************************************\n\n  interface\n    ! In GTK 4, the gtk_init() and gtk_init_check() functions no longer\n    ! accept commandline arguments:\n    !   void gtk_init (void);\n    ! https://developer.gnome.org/gtk4/stable/gtk4-General.html#gtk-init\n    ! https://developer.gnome.org/gtk4/3.98/ch31s02.html#id-1.6.4.4.36\n    subroutine gtk_init() bind(c)\n      implicit none\n    end subroutine\n\n    !**************************************************************************\n    ! The interfaces automatically generated by cfwrapper.py are included here:\n    include \"gtk-auto.in\"\n    !**************************************************************************\n  end interface\n\n  ! We define the GLib FALSE and TRUE constants, which type is\n  ! gboolean, which is gint, which corresponds to the standard C int.\n  ! FALSE is defined as 0, all non-zero values in C evaluate to \"true\".\n  ! https://developer.gnome.org/glib/stable/glib-Basic-Types.html#gboolean\n  ! https://developer.gnome.org/glib/stable/glib-Basic-Types.html#gint\n  ! https://developer.gnome.org/glib/stable/glib-Standard-Macros.html#TRUE:CAPS\n  integer(c_int), parameter   :: FALSE = 0\n  integer(c_int), parameter   :: TRUE = 1\n\ncontains\n  ! For convenience, /usr/include/glib-2.0/gobject/gsignal.h defines a macro based\n  ! on the g_signal_connect_data() function:\n  ! #define g_signal_connect(instance, detailed_signal, c_handler, data) \\\n  !  g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, (GConnectFlags) 0)\n  ! It returns the handler ID, of type #gulong (always greater than 0 for successful connections).\n  ! https://developer.gnome.org/gobject/stable/gobject-Signals.html#g-signal-connect\n  ! Historically, in gtk-fortran g_signal_connect() was declared as a subroutine, because the handler_id\n  ! returned by the GLib function is usually never used. Here we define both a g_signal_connect()\n  ! function and a subroutine. You will generally use the subroutine in your programs.\n\n  function function_g_signal_connect (instance, detailed_signal, c_handler, data0) result(handler_id)\n    use g, only: g_signal_connect_data\n\n    type(c_ptr), intent(in)             :: instance\n    character(kind=c_char), intent(in)  :: detailed_signal(*)\n    type(c_funptr), intent(in)          :: c_handler\n    type(c_ptr), optional, intent(in)   :: data0\n    integer(c_long)                     :: handler_id\n\n    if (present(data0)) then\n      handler_id =  g_signal_connect_data (instance, detailed_signal, &\n                     & c_handler, data0, c_null_funptr, 0_c_int)\n    else\n      handler_id =  g_signal_connect_data (instance, detailed_signal, &\n                     & c_handler, c_null_ptr, c_null_funptr, 0_c_int)\n    end if\n  end function function_g_signal_connect\n\n  subroutine g_signal_connect (instance, detailed_signal, c_handler, data0)\n    type(c_ptr), intent(in)             :: instance\n    character(kind=c_char), intent(in)  :: detailed_signal(*)\n    type(c_funptr), intent(in)          :: c_handler\n    type(c_ptr), optional, intent(in)   :: data0\n    integer(c_long)                     :: handler_id\n\n    handler_id = function_g_signal_connect (instance, detailed_signal, c_handler, data0)\n  end subroutine g_signal_connect\n\n  ! #define g_signal_connect_swapped(instance, detailed_signal, c_handler, data) \\\n  !  g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, G_CONNECT_SWAPPED)\n  ! The instance on which the signal is emitted and data will be swapped when calling the handler.\n  ! https://developer.gnome.org/gobject/stable/gobject-Signals.html#g-signal-connect-swapped\n  ! We define both a g_signal_connect() function and a subroutine.\n  ! You will generally use the subroutine in your programs.\n\n  function function_g_signal_connect_swapped (instance, detailed_signal, c_handler, data0) result(handler_id)\n    use g, only: g_signal_connect_data\n\n    type(c_ptr), intent(in)             :: instance\n    character(kind=c_char), intent(in)  :: detailed_signal(*)\n    type(c_funptr), intent(in)          :: c_handler\n    type(c_ptr), intent(in)             :: data0\n    integer(c_long)                     :: handler_id\n\n    handler_id =  g_signal_connect_data (instance, detailed_signal, &\n                     & c_handler, data0, c_null_funptr, G_CONNECT_SWAPPED)\n  end function function_g_signal_connect_swapped\n\n  subroutine g_signal_connect_swapped (instance, detailed_signal, c_handler, data0)\n    type(c_ptr), intent(in)             :: instance\n    character(kind=c_char), intent(in)  :: detailed_signal(*)\n    type(c_funptr), intent(in)          :: c_handler\n    type(c_ptr), intent(in)             :: data0\n    integer(c_long)                     :: handler_id\n\n    handler_id = function_g_signal_connect_swapped (instance, detailed_signal, c_handler, data0)\n  end subroutine g_signal_connect_swapped\n\nend module gtk\n"
  },
  {
    "path": "src/gtkenums-auto.in",
    "content": "! Do not modify this file automatically generated by cfwrapper.py using:\n! gtk-fortran 4.9.0, GTK 4.20.2, GLib 2.86.1, Fedora 43 x86_64\n! This file is part of the gtk-fortran library, distributed under\n! GNU General Public License version 3.\n\n! cairo-deprecated.h\n! cairo-features.h\n! cairo-ft.h\nenum, bind(c)    !cairo_ft_synthesize_t\n  enumerator :: CAIRO_FT_SYNTHESIZE_BOLD = ISHFTC(1, 0)\n  enumerator :: CAIRO_FT_SYNTHESIZE_OBLIQUE = ISHFTC(1, 1)\nend enum\n\n! cairo-pdf.h\nenum, bind(c)    !cairo_pdf_version_t\n  enumerator :: CAIRO_PDF_VERSION_1_4\n  enumerator :: CAIRO_PDF_VERSION_1_5\n  enumerator :: CAIRO_PDF_VERSION_1_6\n  enumerator :: CAIRO_PDF_VERSION_1_7\nend enum\n\nenum, bind(c)    !cairo_pdf_outline_flags_t\n  enumerator :: CAIRO_PDF_OUTLINE_FLAG_OPEN = INT(z'1')\n  enumerator :: CAIRO_PDF_OUTLINE_FLAG_BOLD = INT(z'2')\n  enumerator :: CAIRO_PDF_OUTLINE_FLAG_ITALIC = INT(z'4')\nend enum\n\nenum, bind(c)    !cairo_pdf_metadata_t\n  enumerator :: CAIRO_PDF_METADATA_TITLE\n  enumerator :: CAIRO_PDF_METADATA_AUTHOR\n  enumerator :: CAIRO_PDF_METADATA_SUBJECT\n  enumerator :: CAIRO_PDF_METADATA_KEYWORDS\n  enumerator :: CAIRO_PDF_METADATA_CREATOR\n  enumerator :: CAIRO_PDF_METADATA_CREATE_DATE\n  enumerator :: CAIRO_PDF_METADATA_MOD_DATE\nend enum\n\n! cairo-ps.h\nenum, bind(c)    !cairo_ps_level_t\n  enumerator :: CAIRO_PS_LEVEL_2\n  enumerator :: CAIRO_PS_LEVEL_3\nend enum\n\n! cairo-script-interpreter.h\n! cairo-script.h\nenum, bind(c)    !cairo_script_mode_t\n  enumerator :: CAIRO_SCRIPT_MODE_ASCII\n  enumerator :: CAIRO_SCRIPT_MODE_BINARY\nend enum\n\n! cairo-svg.h\nenum, bind(c)    !cairo_svg_version_t\n  enumerator :: CAIRO_SVG_VERSION_1_1\n  enumerator :: CAIRO_SVG_VERSION_1_2\nend enum\n\nenum, bind(c)    !cairo_svg_unit_t\n  enumerator :: CAIRO_SVG_UNIT_USER = 0\n  enumerator :: CAIRO_SVG_UNIT_EM\n  enumerator :: CAIRO_SVG_UNIT_EX\n  enumerator :: CAIRO_SVG_UNIT_PX\n  enumerator :: CAIRO_SVG_UNIT_IN\n  enumerator :: CAIRO_SVG_UNIT_CM\n  enumerator :: CAIRO_SVG_UNIT_MM\n  enumerator :: CAIRO_SVG_UNIT_PT\n  enumerator :: CAIRO_SVG_UNIT_PC\n  enumerator :: CAIRO_SVG_UNIT_PERCENT\nend enum\n\n! cairo-tee.h\n! cairo-version.h\n! cairo-xcb.h\n! cairo-xlib-xrender.h\n! cairo-xlib.h\n! cairo.h\nenum, bind(c)    !cairo_status_t\n  enumerator :: CAIRO_STATUS_SUCCESS = 0\n  enumerator :: CAIRO_STATUS_NO_MEMORY\n  enumerator :: CAIRO_STATUS_INVALID_RESTORE\n  enumerator :: CAIRO_STATUS_INVALID_POP_GROUP\n  enumerator :: CAIRO_STATUS_NO_CURRENT_POINT\n  enumerator :: CAIRO_STATUS_INVALID_MATRIX\n  enumerator :: CAIRO_STATUS_INVALID_STATUS\n  enumerator :: CAIRO_STATUS_NULL_POINTER\n  enumerator :: CAIRO_STATUS_INVALID_STRING\n  enumerator :: CAIRO_STATUS_INVALID_PATH_DATA\n  enumerator :: CAIRO_STATUS_READ_ERROR\n  enumerator :: CAIRO_STATUS_WRITE_ERROR\n  enumerator :: CAIRO_STATUS_SURFACE_FINISHED\n  enumerator :: CAIRO_STATUS_SURFACE_TYPE_MISMATCH\n  enumerator :: CAIRO_STATUS_PATTERN_TYPE_MISMATCH\n  enumerator :: CAIRO_STATUS_INVALID_CONTENT\n  enumerator :: CAIRO_STATUS_INVALID_FORMAT\n  enumerator :: CAIRO_STATUS_INVALID_VISUAL\n  enumerator :: CAIRO_STATUS_FILE_NOT_FOUND\n  enumerator :: CAIRO_STATUS_INVALID_DASH\n  enumerator :: CAIRO_STATUS_INVALID_DSC_COMMENT\n  enumerator :: CAIRO_STATUS_INVALID_INDEX\n  enumerator :: CAIRO_STATUS_CLIP_NOT_REPRESENTABLE\n  enumerator :: CAIRO_STATUS_TEMP_FILE_ERROR\n  enumerator :: CAIRO_STATUS_INVALID_STRIDE\n  enumerator :: CAIRO_STATUS_FONT_TYPE_MISMATCH\n  enumerator :: CAIRO_STATUS_USER_FONT_IMMUTABLE\n  enumerator :: CAIRO_STATUS_USER_FONT_ERROR\n  enumerator :: CAIRO_STATUS_NEGATIVE_COUNT\n  enumerator :: CAIRO_STATUS_INVALID_CLUSTERS\n  enumerator :: CAIRO_STATUS_INVALID_SLANT\n  enumerator :: CAIRO_STATUS_INVALID_WEIGHT\n  enumerator :: CAIRO_STATUS_INVALID_SIZE\n  enumerator :: CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED\n  enumerator :: CAIRO_STATUS_DEVICE_TYPE_MISMATCH\n  enumerator :: CAIRO_STATUS_DEVICE_ERROR\n  enumerator :: CAIRO_STATUS_INVALID_MESH_CONSTRUCTION\n  enumerator :: CAIRO_STATUS_DEVICE_FINISHED\n  enumerator :: CAIRO_STATUS_JBIG2_GLOBAL_MISSING\n  enumerator :: CAIRO_STATUS_PNG_ERROR\n  enumerator :: CAIRO_STATUS_FREETYPE_ERROR\n  enumerator :: CAIRO_STATUS_WIN32_GDI_ERROR\n  enumerator :: CAIRO_STATUS_TAG_ERROR\n  enumerator :: CAIRO_STATUS_DWRITE_ERROR\n  enumerator :: CAIRO_STATUS_SVG_FONT_ERROR\n  enumerator :: CAIRO_STATUS_LAST_STATUS\nend enum\n\nenum, bind(c)    !cairo_content_t\n  enumerator :: CAIRO_CONTENT_COLOR = INT(z'1000')\n  enumerator :: CAIRO_CONTENT_ALPHA = INT(z'2000')\n  enumerator :: CAIRO_CONTENT_COLOR_ALPHA = INT(z'3000')\nend enum\n\nenum, bind(c)    !cairo_format_t\n  enumerator :: CAIRO_FORMAT_INVALID = -1\n  enumerator :: CAIRO_FORMAT_ARGB32 = 0\n  enumerator :: CAIRO_FORMAT_RGB24 = 1\n  enumerator :: CAIRO_FORMAT_A8 = 2\n  enumerator :: CAIRO_FORMAT_A1 = 3\n  enumerator :: CAIRO_FORMAT_RGB16_565 = 4\n  enumerator :: CAIRO_FORMAT_RGB30 = 5\n  enumerator :: CAIRO_FORMAT_RGB96F = 6\n  enumerator :: CAIRO_FORMAT_RGBA128F = 7\nend enum\n\nenum, bind(c)    !cairo_dither_t\n  enumerator :: CAIRO_DITHER_NONE\n  enumerator :: CAIRO_DITHER_DEFAULT\n  enumerator :: CAIRO_DITHER_FAST\n  enumerator :: CAIRO_DITHER_GOOD\n  enumerator :: CAIRO_DITHER_BEST\nend enum\n\nenum, bind(c)    !cairo_operator_t\n  enumerator :: CAIRO_OPERATOR_CLEAR\n  enumerator :: CAIRO_OPERATOR_SOURCE\n  enumerator :: CAIRO_OPERATOR_OVER\n  enumerator :: CAIRO_OPERATOR_IN\n  enumerator :: CAIRO_OPERATOR_OUT\n  enumerator :: CAIRO_OPERATOR_ATOP\n  enumerator :: CAIRO_OPERATOR_DEST\n  enumerator :: CAIRO_OPERATOR_DEST_OVER\n  enumerator :: CAIRO_OPERATOR_DEST_IN\n  enumerator :: CAIRO_OPERATOR_DEST_OUT\n  enumerator :: CAIRO_OPERATOR_DEST_ATOP\n  enumerator :: CAIRO_OPERATOR_XOR\n  enumerator :: CAIRO_OPERATOR_ADD\n  enumerator :: CAIRO_OPERATOR_SATURATE\n  enumerator :: CAIRO_OPERATOR_MULTIPLY\n  enumerator :: CAIRO_OPERATOR_SCREEN\n  enumerator :: CAIRO_OPERATOR_OVERLAY\n  enumerator :: CAIRO_OPERATOR_DARKEN\n  enumerator :: CAIRO_OPERATOR_LIGHTEN\n  enumerator :: CAIRO_OPERATOR_COLOR_DODGE\n  enumerator :: CAIRO_OPERATOR_COLOR_BURN\n  enumerator :: CAIRO_OPERATOR_HARD_LIGHT\n  enumerator :: CAIRO_OPERATOR_SOFT_LIGHT\n  enumerator :: CAIRO_OPERATOR_DIFFERENCE\n  enumerator :: CAIRO_OPERATOR_EXCLUSION\n  enumerator :: CAIRO_OPERATOR_HSL_HUE\n  enumerator :: CAIRO_OPERATOR_HSL_SATURATION\n  enumerator :: CAIRO_OPERATOR_HSL_COLOR\n  enumerator :: CAIRO_OPERATOR_HSL_LUMINOSITY\nend enum\n\nenum, bind(c)    !cairo_antialias_t\n  enumerator :: CAIRO_ANTIALIAS_DEFAULT\n  enumerator :: CAIRO_ANTIALIAS_NONE\n  enumerator :: CAIRO_ANTIALIAS_GRAY\n  enumerator :: CAIRO_ANTIALIAS_SUBPIXEL\n  enumerator :: CAIRO_ANTIALIAS_FAST\n  enumerator :: CAIRO_ANTIALIAS_GOOD\n  enumerator :: CAIRO_ANTIALIAS_BEST\nend enum\n\nenum, bind(c)    !cairo_fill_rule_t\n  enumerator :: CAIRO_FILL_RULE_WINDING\n  enumerator :: CAIRO_FILL_RULE_EVEN_ODD\nend enum\n\nenum, bind(c)    !cairo_line_cap_t\n  enumerator :: CAIRO_LINE_CAP_BUTT\n  enumerator :: CAIRO_LINE_CAP_ROUND\n  enumerator :: CAIRO_LINE_CAP_SQUARE\nend enum\n\nenum, bind(c)    !cairo_line_join_t\n  enumerator :: CAIRO_LINE_JOIN_MITER\n  enumerator :: CAIRO_LINE_JOIN_ROUND\n  enumerator :: CAIRO_LINE_JOIN_BEVEL\nend enum\n\nenum, bind(c)    !cairo_text_cluster_flags_t\n  enumerator :: CAIRO_TEXT_CLUSTER_FLAG_BACKWARD = INT(z'00000001')\nend enum\n\nenum, bind(c)    !cairo_font_slant_t\n  enumerator :: CAIRO_FONT_SLANT_NORMAL\n  enumerator :: CAIRO_FONT_SLANT_ITALIC\n  enumerator :: CAIRO_FONT_SLANT_OBLIQUE\nend enum\n\nenum, bind(c)    !cairo_font_weight_t\n  enumerator :: CAIRO_FONT_WEIGHT_NORMAL\n  enumerator :: CAIRO_FONT_WEIGHT_BOLD\nend enum\n\nenum, bind(c)    !cairo_subpixel_order_t\n  enumerator :: CAIRO_SUBPIXEL_ORDER_DEFAULT\n  enumerator :: CAIRO_SUBPIXEL_ORDER_RGB\n  enumerator :: CAIRO_SUBPIXEL_ORDER_BGR\n  enumerator :: CAIRO_SUBPIXEL_ORDER_VRGB\n  enumerator :: CAIRO_SUBPIXEL_ORDER_VBGR\nend enum\n\nenum, bind(c)    !cairo_hint_style_t\n  enumerator :: CAIRO_HINT_STYLE_DEFAULT\n  enumerator :: CAIRO_HINT_STYLE_NONE\n  enumerator :: CAIRO_HINT_STYLE_SLIGHT\n  enumerator :: CAIRO_HINT_STYLE_MEDIUM\n  enumerator :: CAIRO_HINT_STYLE_FULL\nend enum\n\nenum, bind(c)    !cairo_hint_metrics_t\n  enumerator :: CAIRO_HINT_METRICS_DEFAULT\n  enumerator :: CAIRO_HINT_METRICS_OFF\n  enumerator :: CAIRO_HINT_METRICS_ON\nend enum\n\nenum, bind(c)    !cairo_color_mode_t\n  enumerator :: CAIRO_COLOR_MODE_DEFAULT\n  enumerator :: CAIRO_COLOR_MODE_NO_COLOR\n  enumerator :: CAIRO_COLOR_MODE_COLOR\nend enum\n\nenum, bind(c)    !cairo_font_type_t\n  enumerator :: CAIRO_FONT_TYPE_TOY\n  enumerator :: CAIRO_FONT_TYPE_FT\n  enumerator :: CAIRO_FONT_TYPE_WIN32\n  enumerator :: CAIRO_FONT_TYPE_QUARTZ\n  enumerator :: CAIRO_FONT_TYPE_USER\n  enumerator :: CAIRO_FONT_TYPE_DWRITE\nend enum\n\nenum, bind(c)    !cairo_path_data_type_t\n  enumerator :: CAIRO_PATH_MOVE_TO\n  enumerator :: CAIRO_PATH_LINE_TO\n  enumerator :: CAIRO_PATH_CURVE_TO\n  enumerator :: CAIRO_PATH_CLOSE_PATH\nend enum\n\nenum, bind(c)    !cairo_device_type_t\n  enumerator :: CAIRO_DEVICE_TYPE_DRM\n  enumerator :: CAIRO_DEVICE_TYPE_GL\n  enumerator :: CAIRO_DEVICE_TYPE_SCRIPT\n  enumerator :: CAIRO_DEVICE_TYPE_XCB\n  enumerator :: CAIRO_DEVICE_TYPE_XLIB\n  enumerator :: CAIRO_DEVICE_TYPE_XML\n  enumerator :: CAIRO_DEVICE_TYPE_COGL\n  enumerator :: CAIRO_DEVICE_TYPE_WIN32\n  enumerator :: CAIRO_DEVICE_TYPE_INVALID = -1\nend enum\n\nenum, bind(c)    !cairo_surface_observer_mode_t\n  enumerator :: CAIRO_SURFACE_OBSERVER_NORMAL = 0\n  enumerator :: CAIRO_SURFACE_OBSERVER_RECORD_OPERATIONS = INT(z'1')\nend enum\n\nenum, bind(c)    !cairo_surface_type_t\n  enumerator :: CAIRO_SURFACE_TYPE_IMAGE\n  enumerator :: CAIRO_SURFACE_TYPE_PDF\n  enumerator :: CAIRO_SURFACE_TYPE_PS\n  enumerator :: CAIRO_SURFACE_TYPE_XLIB\n  enumerator :: CAIRO_SURFACE_TYPE_XCB\n  enumerator :: CAIRO_SURFACE_TYPE_GLITZ\n  enumerator :: CAIRO_SURFACE_TYPE_QUARTZ\n  enumerator :: CAIRO_SURFACE_TYPE_WIN32\n  enumerator :: CAIRO_SURFACE_TYPE_BEOS\n  enumerator :: CAIRO_SURFACE_TYPE_DIRECTFB\n  enumerator :: CAIRO_SURFACE_TYPE_SVG\n  enumerator :: CAIRO_SURFACE_TYPE_OS2\n  enumerator :: CAIRO_SURFACE_TYPE_WIN32_PRINTING\n  enumerator :: CAIRO_SURFACE_TYPE_QUARTZ_IMAGE\n  enumerator :: CAIRO_SURFACE_TYPE_SCRIPT\n  enumerator :: CAIRO_SURFACE_TYPE_QT\n  enumerator :: CAIRO_SURFACE_TYPE_RECORDING\n  enumerator :: CAIRO_SURFACE_TYPE_VG\n  enumerator :: CAIRO_SURFACE_TYPE_GL\n  enumerator :: CAIRO_SURFACE_TYPE_DRM\n  enumerator :: CAIRO_SURFACE_TYPE_TEE\n  enumerator :: CAIRO_SURFACE_TYPE_XML\n  enumerator :: CAIRO_SURFACE_TYPE_SKIA\n  enumerator :: CAIRO_SURFACE_TYPE_SUBSURFACE\n  enumerator :: CAIRO_SURFACE_TYPE_COGL\nend enum\n\nenum, bind(c)    !cairo_pattern_type_t\n  enumerator :: CAIRO_PATTERN_TYPE_SOLID\n  enumerator :: CAIRO_PATTERN_TYPE_SURFACE\n  enumerator :: CAIRO_PATTERN_TYPE_LINEAR\n  enumerator :: CAIRO_PATTERN_TYPE_RADIAL\n  enumerator :: CAIRO_PATTERN_TYPE_MESH\n  enumerator :: CAIRO_PATTERN_TYPE_RASTER_SOURCE\nend enum\n\nenum, bind(c)    !cairo_extend_t\n  enumerator :: CAIRO_EXTEND_NONE\n  enumerator :: CAIRO_EXTEND_REPEAT\n  enumerator :: CAIRO_EXTEND_REFLECT\n  enumerator :: CAIRO_EXTEND_PAD\nend enum\n\nenum, bind(c)    !cairo_filter_t\n  enumerator :: CAIRO_FILTER_FAST\n  enumerator :: CAIRO_FILTER_GOOD\n  enumerator :: CAIRO_FILTER_BEST\n  enumerator :: CAIRO_FILTER_NEAREST\n  enumerator :: CAIRO_FILTER_BILINEAR\n  enumerator :: CAIRO_FILTER_GAUSSIAN\nend enum\n\nenum, bind(c)    !cairo_region_overlap_t\n  enumerator :: CAIRO_REGION_OVERLAP_IN\n  enumerator :: CAIRO_REGION_OVERLAP_OUT\n  enumerator :: CAIRO_REGION_OVERLAP_PART\nend enum\n\n! cairo-gobject.h\n! gdk-pixbuf-animation.h\n! gdk-pixbuf-core.h\nenum, bind(c)    !GdkPixbufAlphaMode\n  enumerator :: GDK_PIXBUF_ALPHA_BILEVEL\n  enumerator :: GDK_PIXBUF_ALPHA_FULL\nend enum\n\nenum, bind(c)    !GdkColorspace\n  enumerator :: GDK_COLORSPACE_RGB\nend enum\n\nenum, bind(c)    !GdkPixbufError\n  enumerator :: GDK_PIXBUF_ERROR_CORRUPT_IMAGE\n  enumerator :: GDK_PIXBUF_ERROR_INSUFFICIENT_MEMORY\n  enumerator :: GDK_PIXBUF_ERROR_BAD_OPTION\n  enumerator :: GDK_PIXBUF_ERROR_UNKNOWN_TYPE\n  enumerator :: GDK_PIXBUF_ERROR_UNSUPPORTED_OPERATION\n  enumerator :: GDK_PIXBUF_ERROR_FAILED\n  enumerator :: GDK_PIXBUF_ERROR_INCOMPLETE_ANIMATION\nend enum\n\n! gdk-pixbuf-enum-types.h\n! gdk-pixbuf-features.h\n! gdk-pixbuf-io.h\nenum, bind(c)    !GdkPixbufFormatFlags\n  enumerator :: GDK_PIXBUF_FORMAT_WRITABLE = ISHFTC(1, 0)\n  enumerator :: GDK_PIXBUF_FORMAT_SCALABLE = ISHFTC(1, 1)\n  enumerator :: GDK_PIXBUF_FORMAT_THREADSAFE = ISHFTC(1, 2)\nend enum\n\n! gdk-pixbuf-loader.h\n! gdk-pixbuf-macros.h\n! gdk-pixbuf-marshal.h\n! gdk-pixbuf-simple-anim.h\n! gdk-pixbuf-transform.h\nenum, bind(c)    !GdkInterpType\n  enumerator :: GDK_INTERP_NEAREST\n  enumerator :: GDK_INTERP_TILES\n  enumerator :: GDK_INTERP_BILINEAR\n  enumerator :: GDK_INTERP_HYPER\nend enum\n\nenum, bind(c)    !GdkPixbufRotation\n  enumerator :: GDK_PIXBUF_ROTATE_NONE = 0\n  enumerator :: GDK_PIXBUF_ROTATE_COUNTERCLOCKWISE = 90\n  enumerator :: GDK_PIXBUF_ROTATE_UPSIDEDOWN = 180\n  enumerator :: GDK_PIXBUF_ROTATE_CLOCKWISE = 270\nend enum\n\n! gdk-pixbuf.h\n! gdk-pixdata.h\nenum, bind(c)    !GdkPixdataDumpType\n  enumerator :: GDK_PIXDATA_DUMP_PIXDATA_STREAM = 0\n  enumerator :: GDK_PIXDATA_DUMP_PIXDATA_STRUCT = 1\n  enumerator :: GDK_PIXDATA_DUMP_MACROS = 2\n  enumerator :: GDK_PIXDATA_DUMP_GTYPES = 0\n  enumerator :: GDK_PIXDATA_DUMP_CTYPES = ISHFTC(1, 8)\n  enumerator :: GDK_PIXDATA_DUMP_STATIC = ISHFTC(1, 9)\n  enumerator :: GDK_PIXDATA_DUMP_CONST = ISHFTC(1, 10)\n  enumerator :: GDK_PIXDATA_DUMP_RLE_DECODER = ISHFTC(1, 16)\nend enum\n\n! glib-object.h\n! glib-unix.h\nenum, bind(c)    !GUnixPipeEnd\n  enumerator :: G_UNIX_PIPE_END_READ = 0\n  enumerator :: G_UNIX_PIPE_END_WRITE = 1\nend enum\n\n! glib.h\n! gmodule.h\nenum, bind(c)    !GModuleFlags\n  enumerator :: G_MODULE_BIND_LAZY = ISHFTC(1, 0)\n  enumerator :: G_MODULE_BIND_LOCAL = ISHFTC(1, 1)\n  enumerator :: G_MODULE_BIND_MASK = INT(z'03')\nend enum\n\n! gaction.h\n! gactiongroup.h\n! gactiongroupexporter.h\n! gactionmap.h\n! gappinfo.h\n! gapplication.h\n! gapplicationcommandline.h\n! gasyncinitable.h\n! gasyncresult.h\n! gbufferedinputstream.h\n! gbufferedoutputstream.h\n! gbytesicon.h\n! gcancellable.h\n! gcharsetconverter.h\n! gcontenttype.h\n! gconverter.h\n! gconverterinputstream.h\n! gconverteroutputstream.h\n! gcredentials.h\n! gdatagrambased.h\n! gdatainputstream.h\n! gdataoutputstream.h\n! gdbusactiongroup.h\n! gdbusaddress.h\n! gdbusauthobserver.h\n! gdbusconnection.h\n! gdbuserror.h\n! gdbusinterface.h\n! gdbusinterfaceskeleton.h\n! gdbusintrospection.h\n! gdbusmenumodel.h\n! gdbusmessage.h\n! gdbusmethodinvocation.h\n! gdbusnameowning.h\n! gdbusnamewatching.h\n! gdbusobject.h\n! gdbusobjectmanager.h\n! gdbusobjectmanagerclient.h\n! gdbusobjectmanagerserver.h\n! gdbusobjectproxy.h\n! gdbusobjectskeleton.h\n! gdbusproxy.h\n! gdbusserver.h\n! gdbusutils.h\n! gdebugcontroller.h\n! gdebugcontrollerdbus.h\n! gdrive.h\n! gdtlsclientconnection.h\n! gdtlsconnection.h\n! gdtlsserverconnection.h\n! gemblem.h\n! gemblemedicon.h\n! gfile.h\n! gfileattribute.h\n! gfileenumerator.h\n! gfileicon.h\n! gfileinfo.h\n! gfileinputstream.h\n! gfileiostream.h\n! gfilemonitor.h\n! gfilenamecompleter.h\n! gfileoutputstream.h\n! gfilterinputstream.h\n! gfilteroutputstream.h\n! gicon.h\n! ginetaddress.h\n! ginetaddressmask.h\n! ginetsocketaddress.h\n! ginitable.h\n! ginputstream.h\n! gio-autocleanups.h\n! gio-visibility.h\n! gio.h\n! gioenums.h\nenum, bind(c)    !GAppInfoCreateFlags\n  enumerator :: G_APP_INFO_CREATE_NONE = 0\n  enumerator :: G_APP_INFO_CREATE_NEEDS_TERMINAL = ISHFTC(1, 0)\n  enumerator :: G_APP_INFO_CREATE_SUPPORTS_URIS = ISHFTC(1, 1)\n  enumerator :: G_APP_INFO_CREATE_SUPPORTS_STARTUP_NOTIFICATION = ISHFTC(1, 2)\nend enum\n\nenum, bind(c)    !GConverterFlags\n  enumerator :: G_CONVERTER_NO_FLAGS = 0\n  enumerator :: G_CONVERTER_INPUT_AT_END = ISHFTC(1, 0)\n  enumerator :: G_CONVERTER_FLUSH = ISHFTC(1, 1)\nend enum\n\nenum, bind(c)    !GConverterResult\n  enumerator :: G_CONVERTER_ERROR = 0\n  enumerator :: G_CONVERTER_CONVERTED = 1\n  enumerator :: G_CONVERTER_FINISHED = 2\n  enumerator :: G_CONVERTER_FLUSHED = 3\nend enum\n\nenum, bind(c)    !GDataStreamByteOrder\n  enumerator :: G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN\n  enumerator :: G_DATA_STREAM_BYTE_ORDER_LITTLE_ENDIAN\n  enumerator :: G_DATA_STREAM_BYTE_ORDER_HOST_ENDIAN\nend enum\n\nenum, bind(c)    !GDataStreamNewlineType\n  enumerator :: G_DATA_STREAM_NEWLINE_TYPE_LF\n  enumerator :: G_DATA_STREAM_NEWLINE_TYPE_CR\n  enumerator :: G_DATA_STREAM_NEWLINE_TYPE_CR_LF\n  enumerator :: G_DATA_STREAM_NEWLINE_TYPE_ANY\nend enum\n\nenum, bind(c)    !GFileAttributeType\n  enumerator :: G_FILE_ATTRIBUTE_TYPE_INVALID = 0\n  enumerator :: G_FILE_ATTRIBUTE_TYPE_STRING\n  enumerator :: G_FILE_ATTRIBUTE_TYPE_BYTE_STRING\n  enumerator :: G_FILE_ATTRIBUTE_TYPE_BOOLEAN\n  enumerator :: G_FILE_ATTRIBUTE_TYPE_UINT32\n  enumerator :: G_FILE_ATTRIBUTE_TYPE_INT32\n  enumerator :: G_FILE_ATTRIBUTE_TYPE_UINT64\n  enumerator :: G_FILE_ATTRIBUTE_TYPE_INT64\n  enumerator :: G_FILE_ATTRIBUTE_TYPE_OBJECT\n  enumerator :: G_FILE_ATTRIBUTE_TYPE_STRINGV\nend enum\n\nenum, bind(c)    !GFileAttributeInfoFlags\n  enumerator :: G_FILE_ATTRIBUTE_INFO_NONE = 0\n  enumerator :: G_FILE_ATTRIBUTE_INFO_COPY_WITH_FILE = ISHFTC(1, 0)\n  enumerator :: G_FILE_ATTRIBUTE_INFO_COPY_WHEN_MOVED = ISHFTC(1, 1)\nend enum\n\nenum, bind(c)    !GFileAttributeStatus\n  enumerator :: G_FILE_ATTRIBUTE_STATUS_UNSET = 0\n  enumerator :: G_FILE_ATTRIBUTE_STATUS_SET\n  enumerator :: G_FILE_ATTRIBUTE_STATUS_ERROR_SETTING\nend enum\n\nenum, bind(c)    !GFileQueryInfoFlags\n  enumerator :: G_FILE_QUERY_INFO_NONE = 0\n  enumerator :: G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS = ISHFTC(1, 0)\nend enum\n\nenum, bind(c)    !GFileCreateFlags\n  enumerator :: G_FILE_CREATE_NONE = 0\n  enumerator :: G_FILE_CREATE_PRIVATE = ISHFTC(1, 0)\n  enumerator :: G_FILE_CREATE_REPLACE_DESTINATION = ISHFTC(1, 1)\nend enum\n\nenum, bind(c)    !GFileMeasureFlags\n  enumerator :: G_FILE_MEASURE_NONE = 0\n  enumerator :: G_FILE_MEASURE_REPORT_ANY_ERROR = ISHFTC(1, 1)\n  enumerator :: G_FILE_MEASURE_APPARENT_SIZE = ISHFTC(1, 2)\n  enumerator :: G_FILE_MEASURE_NO_XDEV = ISHFTC(1, 3)\nend enum\n\nenum, bind(c)    !GMountMountFlags\n  enumerator :: G_MOUNT_MOUNT_NONE = 0\nend enum\n\nenum, bind(c)    !GMountUnmountFlags\n  enumerator :: G_MOUNT_UNMOUNT_NONE = 0\n  enumerator :: G_MOUNT_UNMOUNT_FORCE = ISHFTC(1, 0)\nend enum\n\nenum, bind(c)    !GDriveStartFlags\n  enumerator :: G_DRIVE_START_NONE = 0\nend enum\n\nenum, bind(c)    !GDriveStartStopType\n  enumerator :: G_DRIVE_START_STOP_TYPE_UNKNOWN\n  enumerator :: G_DRIVE_START_STOP_TYPE_SHUTDOWN\n  enumerator :: G_DRIVE_START_STOP_TYPE_NETWORK\n  enumerator :: G_DRIVE_START_STOP_TYPE_MULTIDISK\n  enumerator :: G_DRIVE_START_STOP_TYPE_PASSWORD\nend enum\n\nenum, bind(c)    !GFileCopyFlags\n  enumerator :: G_FILE_COPY_NONE = 0\n  enumerator :: G_FILE_COPY_OVERWRITE = ISHFTC(1, 0)\n  enumerator :: G_FILE_COPY_BACKUP = ISHFTC(1, 1)\n  enumerator :: G_FILE_COPY_NOFOLLOW_SYMLINKS = ISHFTC(1, 2)\n  enumerator :: G_FILE_COPY_ALL_METADATA = ISHFTC(1, 3)\n  enumerator :: G_FILE_COPY_NO_FALLBACK_FOR_MOVE = ISHFTC(1, 4)\n  enumerator :: G_FILE_COPY_TARGET_DEFAULT_PERMS = ISHFTC(1, 5)\n  enumerator :: G_FILE_COPY_TARGET_DEFAULT_MODIFIED_TIME  = ISHFTC(1, 6)\nend enum\n\nenum, bind(c)    !GFileMonitorFlags\n  enumerator :: G_FILE_MONITOR_NONE = 0\n  enumerator :: G_FILE_MONITOR_WATCH_MOUNTS = ISHFTC(1, 0)\n  enumerator :: G_FILE_MONITOR_SEND_MOVED = ISHFTC(1, 1)\n  enumerator :: G_FILE_MONITOR_WATCH_HARD_LINKS = ISHFTC(1, 2)\n  enumerator :: G_FILE_MONITOR_WATCH_MOVES = ISHFTC(1, 3)\nend enum\n\nenum, bind(c)    !GFileType\n  enumerator :: G_FILE_TYPE_UNKNOWN = 0\n  enumerator :: G_FILE_TYPE_REGULAR\n  enumerator :: G_FILE_TYPE_DIRECTORY\n  enumerator :: G_FILE_TYPE_SYMBOLIC_LINK\n  enumerator :: G_FILE_TYPE_SPECIAL\n  enumerator :: G_FILE_TYPE_SHORTCUT\n  enumerator :: G_FILE_TYPE_MOUNTABLE\nend enum\n\nenum, bind(c)    !GFilesystemPreviewType\n  enumerator :: G_FILESYSTEM_PREVIEW_TYPE_IF_ALWAYS = 0\n  enumerator :: G_FILESYSTEM_PREVIEW_TYPE_IF_LOCAL\n  enumerator :: G_FILESYSTEM_PREVIEW_TYPE_NEVER\nend enum\n\nenum, bind(c)    !GFileMonitorEvent\n  enumerator :: G_FILE_MONITOR_EVENT_CHANGED\n  enumerator :: G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT\n  enumerator :: G_FILE_MONITOR_EVENT_DELETED\n  enumerator :: G_FILE_MONITOR_EVENT_CREATED\n  enumerator :: G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED\n  enumerator :: G_FILE_MONITOR_EVENT_PRE_UNMOUNT\n  enumerator :: G_FILE_MONITOR_EVENT_UNMOUNTED\n  enumerator :: G_FILE_MONITOR_EVENT_MOVED\n  enumerator :: G_FILE_MONITOR_EVENT_RENAMED\n  enumerator :: G_FILE_MONITOR_EVENT_MOVED_IN\n  enumerator :: G_FILE_MONITOR_EVENT_MOVED_OUT\nend enum\n\nenum, bind(c)    !GIOErrorEnum\n  enumerator :: G_IO_ERROR_FAILED\n  enumerator :: G_IO_ERROR_NOT_FOUND\n  enumerator :: G_IO_ERROR_EXISTS\n  enumerator :: G_IO_ERROR_IS_DIRECTORY\n  enumerator :: G_IO_ERROR_NOT_DIRECTORY\n  enumerator :: G_IO_ERROR_NOT_EMPTY\n  enumerator :: G_IO_ERROR_NOT_REGULAR_FILE\n  enumerator :: G_IO_ERROR_NOT_SYMBOLIC_LINK\n  enumerator :: G_IO_ERROR_NOT_MOUNTABLE_FILE\n  enumerator :: G_IO_ERROR_FILENAME_TOO_LONG\n  enumerator :: G_IO_ERROR_INVALID_FILENAME\n  enumerator :: G_IO_ERROR_TOO_MANY_LINKS\n  enumerator :: G_IO_ERROR_NO_SPACE\n  enumerator :: G_IO_ERROR_INVALID_ARGUMENT\n  enumerator :: G_IO_ERROR_PERMISSION_DENIED\n  enumerator :: G_IO_ERROR_NOT_SUPPORTED\n  enumerator :: G_IO_ERROR_NOT_MOUNTED\n  enumerator :: G_IO_ERROR_ALREADY_MOUNTED\n  enumerator :: G_IO_ERROR_CLOSED\n  enumerator :: G_IO_ERROR_CANCELLED\n  enumerator :: G_IO_ERROR_PENDING\n  enumerator :: G_IO_ERROR_READ_ONLY\n  enumerator :: G_IO_ERROR_CANT_CREATE_BACKUP\n  enumerator :: G_IO_ERROR_WRONG_ETAG\n  enumerator :: G_IO_ERROR_TIMED_OUT\n  enumerator :: G_IO_ERROR_WOULD_RECURSE\n  enumerator :: G_IO_ERROR_BUSY\n  enumerator :: G_IO_ERROR_WOULD_BLOCK\n  enumerator :: G_IO_ERROR_HOST_NOT_FOUND\n  enumerator :: G_IO_ERROR_WOULD_MERGE\n  enumerator :: G_IO_ERROR_FAILED_HANDLED\n  enumerator :: G_IO_ERROR_TOO_MANY_OPEN_FILES\n  enumerator :: G_IO_ERROR_NOT_INITIALIZED\n  enumerator :: G_IO_ERROR_ADDRESS_IN_USE\n  enumerator :: G_IO_ERROR_PARTIAL_INPUT\n  enumerator :: G_IO_ERROR_INVALID_DATA\n  enumerator :: G_IO_ERROR_DBUS_ERROR\n  enumerator :: G_IO_ERROR_HOST_UNREACHABLE\n  enumerator :: G_IO_ERROR_NETWORK_UNREACHABLE\n  enumerator :: G_IO_ERROR_CONNECTION_REFUSED\n  enumerator :: G_IO_ERROR_PROXY_FAILED\n  enumerator :: G_IO_ERROR_PROXY_AUTH_FAILED\n  enumerator :: G_IO_ERROR_PROXY_NEED_AUTH\n  enumerator :: G_IO_ERROR_PROXY_NOT_ALLOWED\n  enumerator :: G_IO_ERROR_BROKEN_PIPE\n  enumerator :: G_IO_ERROR_CONNECTION_CLOSED = G_IO_ERROR_BROKEN_PIPE\n  enumerator :: G_IO_ERROR_NOT_CONNECTED\n  enumerator :: G_IO_ERROR_MESSAGE_TOO_LARGE\n  enumerator :: G_IO_ERROR_NO_SUCH_DEVICE\n  enumerator :: G_IO_ERROR_DESTINATION_UNSET\nend enum\n\nenum, bind(c)    !GAskPasswordFlags\n  enumerator :: G_ASK_PASSWORD_NEED_PASSWORD = ISHFTC(1, 0)\n  enumerator :: G_ASK_PASSWORD_NEED_USERNAME = ISHFTC(1, 1)\n  enumerator :: G_ASK_PASSWORD_NEED_DOMAIN = ISHFTC(1, 2)\n  enumerator :: G_ASK_PASSWORD_SAVING_SUPPORTED = ISHFTC(1, 3)\n  enumerator :: G_ASK_PASSWORD_ANONYMOUS_SUPPORTED = ISHFTC(1, 4)\n  enumerator :: G_ASK_PASSWORD_TCRYPT = ISHFTC(1, 5)\nend enum\n\nenum, bind(c)    !GPasswordSave\n  enumerator :: G_PASSWORD_SAVE_NEVER\n  enumerator :: G_PASSWORD_SAVE_FOR_SESSION\n  enumerator :: G_PASSWORD_SAVE_PERMANENTLY\nend enum\n\nenum, bind(c)    !GMountOperationResult\n  enumerator :: G_MOUNT_OPERATION_HANDLED\n  enumerator :: G_MOUNT_OPERATION_ABORTED\n  enumerator :: G_MOUNT_OPERATION_UNHANDLED\nend enum\n\nenum, bind(c)    !GOutputStreamSpliceFlags\n  enumerator :: G_OUTPUT_STREAM_SPLICE_NONE = 0\n  enumerator :: G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE = ISHFTC(1, 0)\n  enumerator :: G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET = ISHFTC(1, 1)\nend enum\n\nenum, bind(c)    !GIOStreamSpliceFlags\n  enumerator :: G_IO_STREAM_SPLICE_NONE = 0\n  enumerator :: G_IO_STREAM_SPLICE_CLOSE_STREAM1 = ISHFTC(1, 0)\n  enumerator :: G_IO_STREAM_SPLICE_CLOSE_STREAM2 = ISHFTC(1, 1)\n  enumerator :: G_IO_STREAM_SPLICE_WAIT_FOR_BOTH = ISHFTC(1, 2)\nend enum\n\nenum, bind(c)    !GEmblemOrigin\n  enumerator :: G_EMBLEM_ORIGIN_UNKNOWN\n  enumerator :: G_EMBLEM_ORIGIN_DEVICE\n  enumerator :: G_EMBLEM_ORIGIN_LIVEMETADATA\n  enumerator :: G_EMBLEM_ORIGIN_TAG\nend enum\n\nenum, bind(c)    !GResolverError\n  enumerator :: G_RESOLVER_ERROR_NOT_FOUND\n  enumerator :: G_RESOLVER_ERROR_TEMPORARY_FAILURE\n  enumerator :: G_RESOLVER_ERROR_INTERNAL\nend enum\n\nenum, bind(c)    !GResolverRecordType\n  enumerator :: G_RESOLVER_RECORD_SRV = 1\n  enumerator :: G_RESOLVER_RECORD_MX\n  enumerator :: G_RESOLVER_RECORD_TXT\n  enumerator :: G_RESOLVER_RECORD_SOA\n  enumerator :: G_RESOLVER_RECORD_NS\nend enum\n\nenum, bind(c)    !GResourceError\n  enumerator :: G_RESOURCE_ERROR_NOT_FOUND\n  enumerator :: G_RESOURCE_ERROR_INTERNAL\nend enum\n\nenum, bind(c)    !GResourceFlags\n  enumerator :: G_RESOURCE_FLAGS_NONE = 0\n  enumerator :: G_RESOURCE_FLAGS_COMPRESSED = ISHFTC(1, 0)\nend enum\n\nenum, bind(c)    !GResourceLookupFlags\n  enumerator :: G_RESOURCE_LOOKUP_FLAGS_NONE = 0\nend enum\n\nenum, bind(c)    !GSocketType\n  enumerator :: G_SOCKET_TYPE_INVALID\n  enumerator :: G_SOCKET_TYPE_STREAM\n  enumerator :: G_SOCKET_TYPE_DATAGRAM\n  enumerator :: G_SOCKET_TYPE_SEQPACKET\nend enum\n\nenum, bind(c)    !GSocketProtocol\n  enumerator :: G_SOCKET_PROTOCOL_UNKNOWN = -1\n  enumerator :: G_SOCKET_PROTOCOL_DEFAULT = 0\n  enumerator :: G_SOCKET_PROTOCOL_TCP = 6\n  enumerator :: G_SOCKET_PROTOCOL_UDP = 17\n  enumerator :: G_SOCKET_PROTOCOL_SCTP = 132\nend enum\n\nenum, bind(c)    !GZlibCompressorFormat\n  enumerator :: G_ZLIB_COMPRESSOR_FORMAT_ZLIB\n  enumerator :: G_ZLIB_COMPRESSOR_FORMAT_GZIP\n  enumerator :: G_ZLIB_COMPRESSOR_FORMAT_RAW\nend enum\n\nenum, bind(c)    !GUnixSocketAddressType\n  enumerator :: G_UNIX_SOCKET_ADDRESS_INVALID\n  enumerator :: G_UNIX_SOCKET_ADDRESS_ANONYMOUS\n  enumerator :: G_UNIX_SOCKET_ADDRESS_PATH\n  enumerator :: G_UNIX_SOCKET_ADDRESS_ABSTRACT\n  enumerator :: G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED\nend enum\n\nenum, bind(c)    !GBusType\n  enumerator :: G_BUS_TYPE_STARTER = -1\n  enumerator :: G_BUS_TYPE_NONE = 0\n  enumerator :: G_BUS_TYPE_SYSTEM = 1\n  enumerator :: G_BUS_TYPE_SESSION = 2\nend enum\n\nenum, bind(c)    !GBusNameOwnerFlags\n  enumerator :: G_BUS_NAME_OWNER_FLAGS_NONE = 0\n  enumerator :: G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT = ISHFTC(1, 0)\n  enumerator :: G_BUS_NAME_OWNER_FLAGS_REPLACE = ISHFTC(1, 1)\n  enumerator :: G_BUS_NAME_OWNER_FLAGS_DO_NOT_QUEUE = ISHFTC(1, 2)\nend enum\n\nenum, bind(c)    !GBusNameWatcherFlags\n  enumerator :: G_BUS_NAME_WATCHER_FLAGS_NONE = 0\n  enumerator :: G_BUS_NAME_WATCHER_FLAGS_AUTO_START = ISHFTC(1, 0)\nend enum\n\nenum, bind(c)    !GDBusProxyFlags\n  enumerator :: G_DBUS_PROXY_FLAGS_NONE = 0\n  enumerator :: G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES = ISHFTC(1, 0)\n  enumerator :: G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS = ISHFTC(1, 1)\n  enumerator :: G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START = ISHFTC(1, 2)\n  enumerator :: G_DBUS_PROXY_FLAGS_GET_INVALIDATED_PROPERTIES = ISHFTC(1, 3)\n  enumerator :: G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START_AT_CONSTRUCTION =&\n& ISHFTC(1, 4)\n  enumerator :: G_DBUS_PROXY_FLAGS_NO_MATCH_RULE  = ISHFTC(1, 5)\nend enum\n\nenum, bind(c)    !GDBusError\n  enumerator :: G_DBUS_ERROR_FAILED\n  enumerator :: G_DBUS_ERROR_NO_MEMORY\n  enumerator :: G_DBUS_ERROR_SERVICE_UNKNOWN\n  enumerator :: G_DBUS_ERROR_NAME_HAS_NO_OWNER\n  enumerator :: G_DBUS_ERROR_NO_REPLY\n  enumerator :: G_DBUS_ERROR_IO_ERROR\n  enumerator :: G_DBUS_ERROR_BAD_ADDRESS\n  enumerator :: G_DBUS_ERROR_NOT_SUPPORTED\n  enumerator :: G_DBUS_ERROR_LIMITS_EXCEEDED\n  enumerator :: G_DBUS_ERROR_ACCESS_DENIED\n  enumerator :: G_DBUS_ERROR_AUTH_FAILED\n  enumerator :: G_DBUS_ERROR_NO_SERVER\n  enumerator :: G_DBUS_ERROR_TIMEOUT\n  enumerator :: G_DBUS_ERROR_NO_NETWORK\n  enumerator :: G_DBUS_ERROR_ADDRESS_IN_USE\n  enumerator :: G_DBUS_ERROR_DISCONNECTED\n  enumerator :: G_DBUS_ERROR_INVALID_ARGS\n  enumerator :: G_DBUS_ERROR_FILE_NOT_FOUND\n  enumerator :: G_DBUS_ERROR_FILE_EXISTS\n  enumerator :: G_DBUS_ERROR_UNKNOWN_METHOD\n  enumerator :: G_DBUS_ERROR_TIMED_OUT\n  enumerator :: G_DBUS_ERROR_MATCH_RULE_NOT_FOUND\n  enumerator :: G_DBUS_ERROR_MATCH_RULE_INVALID\n  enumerator :: G_DBUS_ERROR_SPAWN_EXEC_FAILED\n  enumerator :: G_DBUS_ERROR_SPAWN_FORK_FAILED\n  enumerator :: G_DBUS_ERROR_SPAWN_CHILD_EXITED\n  enumerator :: G_DBUS_ERROR_SPAWN_CHILD_SIGNALED\n  enumerator :: G_DBUS_ERROR_SPAWN_FAILED\n  enumerator :: G_DBUS_ERROR_SPAWN_SETUP_FAILED\n  enumerator :: G_DBUS_ERROR_SPAWN_CONFIG_INVALID\n  enumerator :: G_DBUS_ERROR_SPAWN_SERVICE_INVALID\n  enumerator :: G_DBUS_ERROR_SPAWN_SERVICE_NOT_FOUND\n  enumerator :: G_DBUS_ERROR_SPAWN_PERMISSIONS_INVALID\n  enumerator :: G_DBUS_ERROR_SPAWN_FILE_INVALID\n  enumerator :: G_DBUS_ERROR_SPAWN_NO_MEMORY\n  enumerator :: G_DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN\n  enumerator :: G_DBUS_ERROR_INVALID_SIGNATURE\n  enumerator :: G_DBUS_ERROR_INVALID_FILE_CONTENT\n  enumerator :: G_DBUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN\n  enumerator :: G_DBUS_ERROR_ADT_AUDIT_DATA_UNKNOWN\n  enumerator :: G_DBUS_ERROR_OBJECT_PATH_IN_USE\n  enumerator :: G_DBUS_ERROR_UNKNOWN_OBJECT\n  enumerator :: G_DBUS_ERROR_UNKNOWN_INTERFACE\n  enumerator :: G_DBUS_ERROR_UNKNOWN_PROPERTY\n  enumerator :: G_DBUS_ERROR_PROPERTY_READ_ONLY\nend enum\n\nenum, bind(c)    !GDBusConnectionFlags\n  enumerator :: G_DBUS_CONNECTION_FLAGS_NONE = 0\n  enumerator :: G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT = ISHFTC(1, 0)\n  enumerator :: G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER = ISHFTC(1, 1)\n  enumerator :: G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS =&\n& ISHFTC(1, 2)\n  enumerator :: G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION = ISHFTC(1, 3)\n  enumerator :: G_DBUS_CONNECTION_FLAGS_DELAY_MESSAGE_PROCESSING = ISHFTC(1, 4)\n  enumerator :: G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER  =&\n& ISHFTC(1, 5)\n  enumerator :: G_DBUS_CONNECTION_FLAGS_CROSS_NAMESPACE  = ISHFTC(1, 6)\nend enum\n\nenum, bind(c)    !GDBusCapabilityFlags\n  enumerator :: G_DBUS_CAPABILITY_FLAGS_NONE = 0\n  enumerator :: G_DBUS_CAPABILITY_FLAGS_UNIX_FD_PASSING = ISHFTC(1, 0)\nend enum\n\nenum, bind(c)    !GDBusCallFlags\n  enumerator :: G_DBUS_CALL_FLAGS_NONE = 0\n  enumerator :: G_DBUS_CALL_FLAGS_NO_AUTO_START = ISHFTC(1, 0)\n  enumerator :: G_DBUS_CALL_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION = ISHFTC(1,&\n& 1)\nend enum\n\nenum, bind(c)    !GDBusMessageType\n  enumerator :: G_DBUS_MESSAGE_TYPE_INVALID\n  enumerator :: G_DBUS_MESSAGE_TYPE_METHOD_CALL\n  enumerator :: G_DBUS_MESSAGE_TYPE_METHOD_RETURN\n  enumerator :: G_DBUS_MESSAGE_TYPE_ERROR\n  enumerator :: G_DBUS_MESSAGE_TYPE_SIGNAL\nend enum\n\nenum, bind(c)    !GDBusMessageFlags\n  enumerator :: G_DBUS_MESSAGE_FLAGS_NONE = 0\n  enumerator :: G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED = ISHFTC(1, 0)\n  enumerator :: G_DBUS_MESSAGE_FLAGS_NO_AUTO_START = ISHFTC(1, 1)\n  enumerator :: G_DBUS_MESSAGE_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION =&\n& ISHFTC(1, 2)\nend enum\n\nenum, bind(c)    !GDBusMessageHeaderField\n  enumerator :: G_DBUS_MESSAGE_HEADER_FIELD_INVALID\n  enumerator :: G_DBUS_MESSAGE_HEADER_FIELD_PATH\n  enumerator :: G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE\n  enumerator :: G_DBUS_MESSAGE_HEADER_FIELD_MEMBER\n  enumerator :: G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME\n  enumerator :: G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL\n  enumerator :: G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION\n  enumerator :: G_DBUS_MESSAGE_HEADER_FIELD_SENDER\n  enumerator :: G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE\n  enumerator :: G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS\nend enum\n\nenum, bind(c)    !GDBusPropertyInfoFlags\n  enumerator :: G_DBUS_PROPERTY_INFO_FLAGS_NONE = 0\n  enumerator :: G_DBUS_PROPERTY_INFO_FLAGS_READABLE = ISHFTC(1, 0)\n  enumerator :: G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE = ISHFTC(1, 1)\nend enum\n\nenum, bind(c)    !GDBusSubtreeFlags\n  enumerator :: G_DBUS_SUBTREE_FLAGS_NONE = 0\n  enumerator :: G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES = ISHFTC(1,&\n& 0)\nend enum\n\nenum, bind(c)    !GDBusServerFlags\n  enumerator :: G_DBUS_SERVER_FLAGS_NONE = 0\n  enumerator :: G_DBUS_SERVER_FLAGS_RUN_IN_THREAD = ISHFTC(1, 0)\n  enumerator :: G_DBUS_SERVER_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS = ISHFTC(1,&\n& 1)\n  enumerator :: G_DBUS_SERVER_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER  =&\n& ISHFTC(1, 2)\nend enum\n\nenum, bind(c)    !GDBusSignalFlags\n  enumerator :: G_DBUS_SIGNAL_FLAGS_NONE = 0\n  enumerator :: G_DBUS_SIGNAL_FLAGS_NO_MATCH_RULE = ISHFTC(1, 0)\n  enumerator :: G_DBUS_SIGNAL_FLAGS_MATCH_ARG0_NAMESPACE = ISHFTC(1, 1)\n  enumerator :: G_DBUS_SIGNAL_FLAGS_MATCH_ARG0_PATH = ISHFTC(1, 2)\nend enum\n\nenum, bind(c)    !GDBusSendMessageFlags\n  enumerator :: G_DBUS_SEND_MESSAGE_FLAGS_NONE = 0\n  enumerator :: G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL = ISHFTC(1, 0)\nend enum\n\nenum, bind(c)    !GCredentialsType\n  enumerator :: G_CREDENTIALS_TYPE_INVALID\n  enumerator :: G_CREDENTIALS_TYPE_LINUX_UCRED\n  enumerator :: G_CREDENTIALS_TYPE_FREEBSD_CMSGCRED\n  enumerator :: G_CREDENTIALS_TYPE_OPENBSD_SOCKPEERCRED\n  enumerator :: G_CREDENTIALS_TYPE_SOLARIS_UCRED\n  enumerator :: G_CREDENTIALS_TYPE_NETBSD_UNPCBID\n  enumerator :: G_CREDENTIALS_TYPE_APPLE_XUCRED\n  enumerator :: G_CREDENTIALS_TYPE_WIN32_PID\nend enum\n\nenum, bind(c)    !GDBusMessageByteOrder\n  enumerator :: G_DBUS_MESSAGE_BYTE_ORDER_BIG_ENDIAN = iachar('B')\n  enumerator :: G_DBUS_MESSAGE_BYTE_ORDER_LITTLE_ENDIAN = iachar('l')\nend enum\n\nenum, bind(c)    !GApplicationFlags\n  enumerator :: G_APPLICATION_FLAGS_NONE\n  enumerator :: G_APPLICATION_DEFAULT_FLAGS  = 0\n  enumerator :: G_APPLICATION_IS_SERVICE = ISHFTC(1, 0)\n  enumerator :: G_APPLICATION_IS_LAUNCHER = ISHFTC(1, 1)\n  enumerator :: G_APPLICATION_HANDLES_OPEN = ISHFTC(1, 2)\n  enumerator :: G_APPLICATION_HANDLES_COMMAND_LINE = ISHFTC(1, 3)\n  enumerator :: G_APPLICATION_SEND_ENVIRONMENT = ISHFTC(1, 4)\n  enumerator :: G_APPLICATION_NON_UNIQUE = ISHFTC(1, 5)\n  enumerator :: G_APPLICATION_CAN_OVERRIDE_APP_ID = ISHFTC(1, 6)\n  enumerator :: G_APPLICATION_ALLOW_REPLACEMENT = ISHFTC(1, 7)\n  enumerator :: G_APPLICATION_REPLACE = ISHFTC(1, 8)\nend enum\n\nenum, bind(c)    !GTlsError\n  enumerator :: G_TLS_ERROR_UNAVAILABLE\n  enumerator :: G_TLS_ERROR_MISC\n  enumerator :: G_TLS_ERROR_BAD_CERTIFICATE\n  enumerator :: G_TLS_ERROR_NOT_TLS\n  enumerator :: G_TLS_ERROR_HANDSHAKE\n  enumerator :: G_TLS_ERROR_CERTIFICATE_REQUIRED\n  enumerator :: G_TLS_ERROR_EOF\n  enumerator :: G_TLS_ERROR_INAPPROPRIATE_FALLBACK\n  enumerator :: G_TLS_ERROR_BAD_CERTIFICATE_PASSWORD\nend enum\n\nenum, bind(c)    !GTlsCertificateFlags\n  enumerator :: G_TLS_CERTIFICATE_NO_FLAGS  = 0\n  enumerator :: G_TLS_CERTIFICATE_UNKNOWN_CA = ISHFTC(1, 0)\n  enumerator :: G_TLS_CERTIFICATE_BAD_IDENTITY = ISHFTC(1, 1)\n  enumerator :: G_TLS_CERTIFICATE_NOT_ACTIVATED = ISHFTC(1, 2)\n  enumerator :: G_TLS_CERTIFICATE_EXPIRED = ISHFTC(1, 3)\n  enumerator :: G_TLS_CERTIFICATE_REVOKED = ISHFTC(1, 4)\n  enumerator :: G_TLS_CERTIFICATE_INSECURE = ISHFTC(1, 5)\n  enumerator :: G_TLS_CERTIFICATE_GENERIC_ERROR = ISHFTC(1, 6)\n  enumerator :: G_TLS_CERTIFICATE_VALIDATE_ALL = INT(z'007f')\nend enum\n\nenum, bind(c)    !GTlsAuthenticationMode\n  enumerator :: G_TLS_AUTHENTICATION_NONE\n  enumerator :: G_TLS_AUTHENTICATION_REQUESTED\n  enumerator :: G_TLS_AUTHENTICATION_REQUIRED\nend enum\n\nenum, bind(c)    !GTlsChannelBindingType\n  enumerator :: G_TLS_CHANNEL_BINDING_TLS_UNIQUE\n  enumerator :: G_TLS_CHANNEL_BINDING_TLS_SERVER_END_POINT\n  enumerator :: G_TLS_CHANNEL_BINDING_TLS_EXPORTER\nend enum\n\nenum, bind(c)    !GTlsChannelBindingError\n  enumerator :: G_TLS_CHANNEL_BINDING_ERROR_NOT_IMPLEMENTED\n  enumerator :: G_TLS_CHANNEL_BINDING_ERROR_INVALID_STATE\n  enumerator :: G_TLS_CHANNEL_BINDING_ERROR_NOT_AVAILABLE\n  enumerator :: G_TLS_CHANNEL_BINDING_ERROR_NOT_SUPPORTED\n  enumerator :: G_TLS_CHANNEL_BINDING_ERROR_GENERAL_ERROR\nend enum\n\nenum, bind(c)    !GTlsRehandshakeMode\n  enumerator :: G_TLS_REHANDSHAKE_NEVER\n  enumerator :: G_TLS_REHANDSHAKE_SAFELY\n  enumerator :: G_TLS_REHANDSHAKE_UNSAFELY\nend enum\n\nenum, bind(c)    !GTlsPasswordFlags\n  enumerator :: G_TLS_PASSWORD_NONE = 0\n  enumerator :: G_TLS_PASSWORD_RETRY = ISHFTC(1, 1)\n  enumerator :: G_TLS_PASSWORD_MANY_TRIES = ISHFTC(1, 2)\n  enumerator :: G_TLS_PASSWORD_FINAL_TRY = ISHFTC(1, 3)\n  enumerator :: G_TLS_PASSWORD_PKCS11_USER = ISHFTC(1, 4)\n  enumerator :: G_TLS_PASSWORD_PKCS11_SECURITY_OFFICER = ISHFTC(1, 5)\n  enumerator :: G_TLS_PASSWORD_PKCS11_CONTEXT_SPECIFIC = ISHFTC(1, 6)\nend enum\n\nenum, bind(c)    !GTlsInteractionResult\n  enumerator :: G_TLS_INTERACTION_UNHANDLED\n  enumerator :: G_TLS_INTERACTION_HANDLED\n  enumerator :: G_TLS_INTERACTION_FAILED\nend enum\n\nenum, bind(c)    !GDBusObjectManagerClientFlags\n  enumerator :: G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_NONE = 0\n  enumerator :: G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_DO_NOT_AUTO_START =&\n& ISHFTC(1, 0)\nend enum\n\nenum, bind(c)    !GTlsDatabaseVerifyFlags\n  enumerator :: G_TLS_DATABASE_VERIFY_NONE = 0\nend enum\n\nenum, bind(c)    !GTlsDatabaseLookupFlags\n  enumerator :: G_TLS_DATABASE_LOOKUP_NONE = 0\n  enumerator :: G_TLS_DATABASE_LOOKUP_KEYPAIR = 1\nend enum\n\nenum, bind(c)    !GTlsCertificateRequestFlags\n  enumerator :: G_TLS_CERTIFICATE_REQUEST_NONE = 0\nend enum\n\nenum, bind(c)    !GTlsProtocolVersion\n  enumerator :: G_TLS_PROTOCOL_VERSION_UNKNOWN = 0\n  enumerator :: G_TLS_PROTOCOL_VERSION_SSL_3_0 = 1\n  enumerator :: G_TLS_PROTOCOL_VERSION_TLS_1_0 = 2\n  enumerator :: G_TLS_PROTOCOL_VERSION_TLS_1_1 = 3\n  enumerator :: G_TLS_PROTOCOL_VERSION_TLS_1_2 = 4\n  enumerator :: G_TLS_PROTOCOL_VERSION_TLS_1_3 = 5\n  enumerator :: G_TLS_PROTOCOL_VERSION_DTLS_1_0 = 201\n  enumerator :: G_TLS_PROTOCOL_VERSION_DTLS_1_2 = 202\nend enum\n\nenum, bind(c)    !GIOModuleScopeFlags\n  enumerator :: G_IO_MODULE_SCOPE_NONE\n  enumerator :: G_IO_MODULE_SCOPE_BLOCK_DUPLICATES\nend enum\n\nenum, bind(c)    !GSocketClientEvent\n  enumerator :: G_SOCKET_CLIENT_RESOLVING\n  enumerator :: G_SOCKET_CLIENT_RESOLVED\n  enumerator :: G_SOCKET_CLIENT_CONNECTING\n  enumerator :: G_SOCKET_CLIENT_CONNECTED\n  enumerator :: G_SOCKET_CLIENT_PROXY_NEGOTIATING\n  enumerator :: G_SOCKET_CLIENT_PROXY_NEGOTIATED\n  enumerator :: G_SOCKET_CLIENT_TLS_HANDSHAKING\n  enumerator :: G_SOCKET_CLIENT_TLS_HANDSHAKED\n  enumerator :: G_SOCKET_CLIENT_COMPLETE\nend enum\n\nenum, bind(c)    !GSocketListenerEvent\n  enumerator :: G_SOCKET_LISTENER_BINDING\n  enumerator :: G_SOCKET_LISTENER_BOUND\n  enumerator :: G_SOCKET_LISTENER_LISTENING\n  enumerator :: G_SOCKET_LISTENER_LISTENED\nend enum\n\nenum, bind(c)    !GTestDBusFlags\n  enumerator :: G_TEST_DBUS_NONE = 0\nend enum\n\nenum, bind(c)    !GSubprocessFlags\n  enumerator :: G_SUBPROCESS_FLAGS_NONE = 0\n  enumerator :: G_SUBPROCESS_FLAGS_STDIN_PIPE = ISHFTC(1, 0)\n  enumerator :: G_SUBPROCESS_FLAGS_STDIN_INHERIT = ISHFTC(1, 1)\n  enumerator :: G_SUBPROCESS_FLAGS_STDOUT_PIPE = ISHFTC(1, 2)\n  enumerator :: G_SUBPROCESS_FLAGS_STDOUT_SILENCE = ISHFTC(1, 3)\n  enumerator :: G_SUBPROCESS_FLAGS_STDERR_PIPE = ISHFTC(1, 4)\n  enumerator :: G_SUBPROCESS_FLAGS_STDERR_SILENCE = ISHFTC(1, 5)\n  enumerator :: G_SUBPROCESS_FLAGS_STDERR_MERGE = ISHFTC(1, 6)\n  enumerator :: G_SUBPROCESS_FLAGS_INHERIT_FDS = ISHFTC(1, 7)\n  enumerator :: G_SUBPROCESS_FLAGS_SEARCH_PATH_FROM_ENVP = ISHFTC(1, 8)\nend enum\n\nenum, bind(c)    !GNotificationPriority\n  enumerator :: G_NOTIFICATION_PRIORITY_NORMAL\n  enumerator :: G_NOTIFICATION_PRIORITY_LOW\n  enumerator :: G_NOTIFICATION_PRIORITY_HIGH\n  enumerator :: G_NOTIFICATION_PRIORITY_URGENT\nend enum\n\nenum, bind(c)    !GNetworkConnectivity\n  enumerator :: G_NETWORK_CONNECTIVITY_LOCAL = 1\n  enumerator :: G_NETWORK_CONNECTIVITY_LIMITED = 2\n  enumerator :: G_NETWORK_CONNECTIVITY_PORTAL = 3\n  enumerator :: G_NETWORK_CONNECTIVITY_FULL = 4\nend enum\n\nenum, bind(c)    !GPollableReturn\n  enumerator :: G_POLLABLE_RETURN_FAILED = 0\n  enumerator :: G_POLLABLE_RETURN_OK = 1\n  enumerator :: G_POLLABLE_RETURN_WOULD_BLOCK = -G_IO_ERROR_WOULD_BLOCK\nend enum\n\nenum, bind(c)    !GMemoryMonitorWarningLevel\n  enumerator :: G_MEMORY_MONITOR_WARNING_LEVEL_LOW = 50\n  enumerator :: G_MEMORY_MONITOR_WARNING_LEVEL_MEDIUM = 100\n  enumerator :: G_MEMORY_MONITOR_WARNING_LEVEL_CRITICAL = 255\nend enum\n\n! gioenumtypes.h\n! gioerror.h\n! giomodule.h\n! gioscheduler.h\n! giostream.h\n! giotypes.h\n! glistmodel.h\n! gliststore.h\n! gloadableicon.h\n! gmemoryinputstream.h\n! gmemorymonitor.h\n! gmemoryoutputstream.h\n! gmenu.h\n! gmenuexporter.h\n! gmenumodel.h\n! gmount.h\n! gmountoperation.h\n! gnativesocketaddress.h\n! gnativevolumemonitor.h\n! gnetworkaddress.h\n! gnetworking.h\n! gnetworkmonitor.h\n! gnetworkservice.h\n! gnotification.h\n! goutputstream.h\n! gpermission.h\n! gpollableinputstream.h\n! gpollableoutputstream.h\n! gpollableutils.h\n! gpowerprofilemonitor.h\n! gpropertyaction.h\n! gproxy.h\n! gproxyaddress.h\n! gproxyaddressenumerator.h\n! gproxyresolver.h\n! gremoteactiongroup.h\n! gresolver.h\nenum, bind(c)    !GResolverNameLookupFlags\n  enumerator :: G_RESOLVER_NAME_LOOKUP_FLAGS_DEFAULT = 0\n  enumerator :: G_RESOLVER_NAME_LOOKUP_FLAGS_IPV4_ONLY = ISHFTC(1, 0)\n  enumerator :: G_RESOLVER_NAME_LOOKUP_FLAGS_IPV6_ONLY = ISHFTC(1, 1)\nend enum\n\n! gresource.h\n! gseekable.h\n! gsettings.h\nenum, bind(c)    !GSettingsBindFlags\n  enumerator :: G_SETTINGS_BIND_DEFAULT\n  enumerator :: G_SETTINGS_BIND_GET = ISHFTC(1, 0)\n  enumerator :: G_SETTINGS_BIND_SET = ISHFTC(1, 1)\n  enumerator :: G_SETTINGS_BIND_NO_SENSITIVITY = ISHFTC(1, 2)\n  enumerator :: G_SETTINGS_BIND_GET_NO_CHANGES = ISHFTC(1, 3)\n  enumerator :: G_SETTINGS_BIND_INVERT_BOOLEAN = ISHFTC(1, 4)\nend enum\n\n! gsettingsbackend.h\n! gsettingsschema.h\n! gsimpleaction.h\n! gsimpleactiongroup.h\n! gsimpleasyncresult.h\n! gsimpleiostream.h\n! gsimplepermission.h\n! gsimpleproxyresolver.h\n! gsocket.h\n! gsocketaddress.h\n! gsocketaddressenumerator.h\n! gsocketclient.h\n! gsocketconnectable.h\n! gsocketconnection.h\n! gsocketcontrolmessage.h\n! gsocketlistener.h\n! gsocketservice.h\n! gsrvtarget.h\n! gsubprocess.h\n! gsubprocesslauncher.h\n! gtask.h\n! gtcpconnection.h\n! gtcpwrapperconnection.h\n! gtestdbus.h\n! gthemedicon.h\n! gthreadedsocketservice.h\n! gtlsbackend.h\n! gtlscertificate.h\n! gtlsclientconnection.h\n! gtlsconnection.h\n! gtlsdatabase.h\n! gtlsfiledatabase.h\n! gtlsinteraction.h\n! gtlspassword.h\n! gtlsserverconnection.h\n! gunixconnection.h\n! gunixcredentialsmessage.h\n! gunixfdlist.h\n! gunixsocketaddress.h\n! gvfs.h\n! gvolume.h\n! gvolumemonitor.h\n! gzlibcompressor.h\n! gzlibdecompressor.h\n! gi-visibility.h\n! giarginfo.h\n! gibaseinfo.h\n! gicallableinfo.h\n! gicallbackinfo.h\n! giconstantinfo.h\n! gienuminfo.h\n! gifieldinfo.h\n! giflagsinfo.h\n! gifunctioninfo.h\nenum, bind(c)    !GIInvokeError\n  enumerator :: GI_INVOKE_ERROR_FAILED\n  enumerator :: GI_INVOKE_ERROR_SYMBOL_NOT_FOUND\n  enumerator :: GI_INVOKE_ERROR_ARGUMENT_MISMATCH\nend enum\n\n! giinterfaceinfo.h\n! giobjectinfo.h\n! gipropertyinfo.h\n! giregisteredtypeinfo.h\n! girepository-autocleanups.h\n! girepository.h\nenum, bind(c)    !GIRepositoryLoadFlags\n  enumerator :: GI_REPOSITORY_LOAD_FLAG_NONE = 0\n  enumerator :: GI_REPOSITORY_LOAD_FLAG_LAZY = ISHFTC(1, 0)\nend enum\n\nenum, bind(c)    !GIRepositoryError\n  enumerator :: GI_REPOSITORY_ERROR_TYPELIB_NOT_FOUND\n  enumerator :: GI_REPOSITORY_ERROR_NAMESPACE_MISMATCH\n  enumerator :: GI_REPOSITORY_ERROR_NAMESPACE_VERSION_CONFLICT\n  enumerator :: GI_REPOSITORY_ERROR_LIBRARY_NOT_FOUND\nend enum\n\n! girffi.h\n! gisignalinfo.h\n! gistructinfo.h\n! gitypeinfo.h\n! gitypelib.h\n! gitypes.h\nenum, bind(c)    !GITransfer\n  enumerator :: GI_TRANSFER_NOTHING\n  enumerator :: GI_TRANSFER_CONTAINER\n  enumerator :: GI_TRANSFER_EVERYTHING\nend enum\n\nenum, bind(c)    !GIDirection\n  enumerator :: GI_DIRECTION_IN\n  enumerator :: GI_DIRECTION_OUT\n  enumerator :: GI_DIRECTION_INOUT\nend enum\n\nenum, bind(c)    !GIScopeType\n  enumerator :: GI_SCOPE_TYPE_INVALID\n  enumerator :: GI_SCOPE_TYPE_CALL\n  enumerator :: GI_SCOPE_TYPE_ASYNC\n  enumerator :: GI_SCOPE_TYPE_NOTIFIED\n  enumerator :: GI_SCOPE_TYPE_FOREVER\nend enum\n\nenum, bind(c)    !GITypeTag\n  enumerator :: GI_TYPE_TAG_VOID = 0\n  enumerator :: GI_TYPE_TAG_BOOLEAN = 1\n  enumerator :: GI_TYPE_TAG_INT8 = 2\n  enumerator :: GI_TYPE_TAG_UINT8 = 3\n  enumerator :: GI_TYPE_TAG_INT16 = 4\n  enumerator :: GI_TYPE_TAG_UINT16 = 5\n  enumerator :: GI_TYPE_TAG_INT32 = 6\n  enumerator :: GI_TYPE_TAG_UINT32 = 7\n  enumerator :: GI_TYPE_TAG_INT64 = 8\n  enumerator :: GI_TYPE_TAG_UINT64 = 9\n  enumerator :: GI_TYPE_TAG_FLOAT = 10\n  enumerator :: GI_TYPE_TAG_DOUBLE = 11\n  enumerator :: GI_TYPE_TAG_GTYPE = 12\n  enumerator :: GI_TYPE_TAG_UTF8 = 13\n  enumerator :: GI_TYPE_TAG_FILENAME = 14\n  enumerator :: GI_TYPE_TAG_ARRAY = 15\n  enumerator :: GI_TYPE_TAG_INTERFACE = 16\n  enumerator :: GI_TYPE_TAG_GLIST = 17\n  enumerator :: GI_TYPE_TAG_GSLIST = 18\n  enumerator :: GI_TYPE_TAG_GHASH = 19\n  enumerator :: GI_TYPE_TAG_ERROR = 20\n  enumerator :: GI_TYPE_TAG_UNICHAR = 21\n\nend enum\n\nenum, bind(c)    !GIArrayType\n  enumerator :: GI_ARRAY_TYPE_C\n  enumerator :: GI_ARRAY_TYPE_ARRAY\n  enumerator :: GI_ARRAY_TYPE_PTR_ARRAY\n  enumerator :: GI_ARRAY_TYPE_BYTE_ARRAY\nend enum\n\nenum, bind(c)    !GIFieldInfoFlags\n  enumerator :: GI_FIELD_INFO_FLAGS_NONE  = 0\n  enumerator :: GI_FIELD_IS_READABLE = ISHFTC(1, 0)\n  enumerator :: GI_FIELD_IS_WRITABLE = ISHFTC(1, 1)\nend enum\n\nenum, bind(c)    !GIVFuncInfoFlags\n  enumerator :: GI_VFUNC_INFO_FLAGS_NONE  = 0\n  enumerator :: GI_VFUNC_MUST_CHAIN_UP = ISHFTC(1, 0)\n  enumerator :: GI_VFUNC_MUST_OVERRIDE = ISHFTC(1, 1)\n  enumerator :: GI_VFUNC_MUST_NOT_OVERRIDE = ISHFTC(1, 2)\nend enum\n\nenum, bind(c)    !GIFunctionInfoFlags\n  enumerator :: GI_FUNCTION_INFO_FLAGS_NONE  = 0\n  enumerator :: GI_FUNCTION_IS_METHOD = ISHFTC(1, 0)\n  enumerator :: GI_FUNCTION_IS_CONSTRUCTOR = ISHFTC(1, 1)\n  enumerator :: GI_FUNCTION_IS_GETTER = ISHFTC(1, 2)\n  enumerator :: GI_FUNCTION_IS_SETTER = ISHFTC(1, 3)\n  enumerator :: GI_FUNCTION_WRAPS_VFUNC = ISHFTC(1, 4)\n  enumerator :: GI_FUNCTION_IS_ASYNC = ISHFTC(1, 5)\nend enum\n\n! giunioninfo.h\n! giunresolvedinfo.h\n! givalueinfo.h\n! givfuncinfo.h\n! galloca.h\n! garray.h\n! gasyncqueue.h\n! gatomic.h\n! gbacktrace.h\n! gbase64.h\n! gbitlock.h\n! gbookmarkfile.h\nenum, bind(c)    !GBookmarkFileError\n  enumerator :: G_BOOKMARK_FILE_ERROR_INVALID_URI\n  enumerator :: G_BOOKMARK_FILE_ERROR_INVALID_VALUE\n  enumerator :: G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED\n  enumerator :: G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND\n  enumerator :: G_BOOKMARK_FILE_ERROR_READ\n  enumerator :: G_BOOKMARK_FILE_ERROR_UNKNOWN_ENCODING\n  enumerator :: G_BOOKMARK_FILE_ERROR_WRITE\n  enumerator :: G_BOOKMARK_FILE_ERROR_FILE_NOT_FOUND\nend enum\n\n! gbytes.h\n! gcharset.h\n! gchecksum.h\nenum, bind(c)    !GChecksumType\n  enumerator :: G_CHECKSUM_MD5\n  enumerator :: G_CHECKSUM_SHA1\n  enumerator :: G_CHECKSUM_SHA256\n  enumerator :: G_CHECKSUM_SHA512\n  enumerator :: G_CHECKSUM_SHA384\nend enum\n\n! gconvert.h\nenum, bind(c)    !GConvertError\n  enumerator :: G_CONVERT_ERROR_NO_CONVERSION\n  enumerator :: G_CONVERT_ERROR_ILLEGAL_SEQUENCE\n  enumerator :: G_CONVERT_ERROR_FAILED\n  enumerator :: G_CONVERT_ERROR_PARTIAL_INPUT\n  enumerator :: G_CONVERT_ERROR_BAD_URI\n  enumerator :: G_CONVERT_ERROR_NOT_ABSOLUTE_PATH\n  enumerator :: G_CONVERT_ERROR_NO_MEMORY\n  enumerator :: G_CONVERT_ERROR_EMBEDDED_NUL\nend enum\n\n! gdataset.h\n! gdate.h\nenum, bind(c)    !GDateDMY\n  enumerator :: G_DATE_DAY = 0\n  enumerator :: G_DATE_MONTH = 1\n  enumerator :: G_DATE_YEAR = 2\nend enum\n\nenum, bind(c)    !GDateWeekday\n  enumerator :: G_DATE_BAD_WEEKDAY = 0\n  enumerator :: G_DATE_MONDAY = 1\n  enumerator :: G_DATE_TUESDAY = 2\n  enumerator :: G_DATE_WEDNESDAY = 3\n  enumerator :: G_DATE_THURSDAY = 4\n  enumerator :: G_DATE_FRIDAY = 5\n  enumerator :: G_DATE_SATURDAY = 6\n  enumerator :: G_DATE_SUNDAY = 7\nend enum\n\nenum, bind(c)    !GDateMonth\n  enumerator :: G_DATE_BAD_MONTH = 0\n  enumerator :: G_DATE_JANUARY = 1\n  enumerator :: G_DATE_FEBRUARY = 2\n  enumerator :: G_DATE_MARCH = 3\n  enumerator :: G_DATE_APRIL = 4\n  enumerator :: G_DATE_MAY = 5\n  enumerator :: G_DATE_JUNE = 6\n  enumerator :: G_DATE_JULY = 7\n  enumerator :: G_DATE_AUGUST = 8\n  enumerator :: G_DATE_SEPTEMBER = 9\n  enumerator :: G_DATE_OCTOBER = 10\n  enumerator :: G_DATE_NOVEMBER = 11\n  enumerator :: G_DATE_DECEMBER = 12\nend enum\n\n! gdatetime.h\n! gdir.h\n! genviron.h\n! gerror.h\n! gfileutils.h\nenum, bind(c)    !GFileError\n  enumerator :: G_FILE_ERROR_EXIST\n  enumerator :: G_FILE_ERROR_ISDIR\n  enumerator :: G_FILE_ERROR_ACCES\n  enumerator :: G_FILE_ERROR_NAMETOOLONG\n  enumerator :: G_FILE_ERROR_NOENT\n  enumerator :: G_FILE_ERROR_NOTDIR\n  enumerator :: G_FILE_ERROR_NXIO\n  enumerator :: G_FILE_ERROR_NODEV\n  enumerator :: G_FILE_ERROR_ROFS\n  enumerator :: G_FILE_ERROR_TXTBSY\n  enumerator :: G_FILE_ERROR_FAULT\n  enumerator :: G_FILE_ERROR_LOOP\n  enumerator :: G_FILE_ERROR_NOSPC\n  enumerator :: G_FILE_ERROR_NOMEM\n  enumerator :: G_FILE_ERROR_MFILE\n  enumerator :: G_FILE_ERROR_NFILE\n  enumerator :: G_FILE_ERROR_BADF\n  enumerator :: G_FILE_ERROR_INVAL\n  enumerator :: G_FILE_ERROR_PIPE\n  enumerator :: G_FILE_ERROR_AGAIN\n  enumerator :: G_FILE_ERROR_INTR\n  enumerator :: G_FILE_ERROR_IO\n  enumerator :: G_FILE_ERROR_PERM\n  enumerator :: G_FILE_ERROR_NOSYS\n  enumerator :: G_FILE_ERROR_FAILED\nend enum\n\nenum, bind(c)    !GFileTest\n  enumerator :: G_FILE_TEST_IS_REGULAR = ISHFTC(1, 0)\n  enumerator :: G_FILE_TEST_IS_SYMLINK = ISHFTC(1, 1)\n  enumerator :: G_FILE_TEST_IS_DIR = ISHFTC(1, 2)\n  enumerator :: G_FILE_TEST_IS_EXECUTABLE = ISHFTC(1, 3)\n  enumerator :: G_FILE_TEST_EXISTS = ISHFTC(1, 4)\nend enum\n\n! ggettext.h\n! ghash.h\n! ghmac.h\n! ghook.h\nenum, bind(c)    !GHookFlagMask\n  enumerator :: G_HOOK_FLAG_ACTIVE = ISHFTC(1, 0)\n  enumerator :: G_HOOK_FLAG_IN_CALL = ISHFTC(1, 1)\n  enumerator :: G_HOOK_FLAG_MASK = INT(z'0f')\nend enum\n\n! ghostutils.h\n! gi18n-lib.h\n! gi18n.h\n! giochannel.h\nenum, bind(c)    !GIOError\n  enumerator :: G_IO_ERROR_NONE\n  enumerator :: G_IO_ERROR_AGAIN\n  enumerator :: G_IO_ERROR_INVAL\n  enumerator :: G_IO_ERROR_UNKNOWN\nend enum\n\nenum, bind(c)    !GIOChannelError\n  enumerator :: G_IO_CHANNEL_ERROR_FBIG\n  enumerator :: G_IO_CHANNEL_ERROR_INVAL\n  enumerator :: G_IO_CHANNEL_ERROR_IO\n  enumerator :: G_IO_CHANNEL_ERROR_ISDIR\n  enumerator :: G_IO_CHANNEL_ERROR_NOSPC\n  enumerator :: G_IO_CHANNEL_ERROR_NXIO\n  enumerator :: G_IO_CHANNEL_ERROR_OVERFLOW\n  enumerator :: G_IO_CHANNEL_ERROR_PIPE\n  enumerator :: G_IO_CHANNEL_ERROR_FAILED\nend enum\n\nenum, bind(c)    !GIOStatus\n  enumerator :: G_IO_STATUS_ERROR\n  enumerator :: G_IO_STATUS_NORMAL\n  enumerator :: G_IO_STATUS_EOF\n  enumerator :: G_IO_STATUS_AGAIN\nend enum\n\nenum, bind(c)    !GSeekType\n  enumerator :: G_SEEK_CUR\n  enumerator :: G_SEEK_SET\n  enumerator :: G_SEEK_END\nend enum\n\nenum, bind(c)    !GIOFlags\n  enumerator :: G_IO_FLAG_NONE  = 0\n  enumerator :: G_IO_FLAG_APPEND = ISHFTC(1, 0)\n  enumerator :: G_IO_FLAG_NONBLOCK = ISHFTC(1, 1)\n  enumerator :: G_IO_FLAG_IS_READABLE = ISHFTC(1, 2)\n  enumerator :: G_IO_FLAG_IS_WRITABLE = ISHFTC(1, 3)\n  enumerator :: G_IO_FLAG_IS_WRITEABLE = ISHFTC(1, 3)\n  enumerator :: G_IO_FLAG_IS_SEEKABLE = ISHFTC(1, 4)\n  enumerator :: G_IO_FLAG_MASK = ISHFTC(1, 5) - 1\n  enumerator :: G_IO_FLAG_GET_MASK = G_IO_FLAG_MASK\n  enumerator :: G_IO_FLAG_SET_MASK = ior(G_IO_FLAG_APPEND , G_IO_FLAG_NONBLOCK)\nend enum\n\n! gkeyfile.h\nenum, bind(c)    !GKeyFileError\n  enumerator :: G_KEY_FILE_ERROR_UNKNOWN_ENCODING\n  enumerator :: G_KEY_FILE_ERROR_PARSE\n  enumerator :: G_KEY_FILE_ERROR_NOT_FOUND\n  enumerator :: G_KEY_FILE_ERROR_KEY_NOT_FOUND\n  enumerator :: G_KEY_FILE_ERROR_GROUP_NOT_FOUND\n  enumerator :: G_KEY_FILE_ERROR_INVALID_VALUE\nend enum\n\nenum, bind(c)    !GKeyFileFlags\n  enumerator :: G_KEY_FILE_NONE = 0\n  enumerator :: G_KEY_FILE_KEEP_COMMENTS = ISHFTC(1, 0)\n  enumerator :: G_KEY_FILE_KEEP_TRANSLATIONS = ISHFTC(1, 1)\nend enum\n\n! glib-autocleanups.h\n! glib-typeof.h\n! glib-visibility.h\n! glist.h\n! gmacros.h\n! gmain.h\nenum, bind(c)    !GMainContextFlags\n  enumerator :: G_MAIN_CONTEXT_FLAGS_NONE = 0\n  enumerator :: G_MAIN_CONTEXT_FLAGS_OWNERLESS_POLLING = 1\nend enum\n\n! gmappedfile.h\n! gmarkup.h\nenum, bind(c)    !GMarkupError\n  enumerator :: G_MARKUP_ERROR_BAD_UTF8\n  enumerator :: G_MARKUP_ERROR_EMPTY\n  enumerator :: G_MARKUP_ERROR_PARSE\n  enumerator :: G_MARKUP_ERROR_UNKNOWN_ELEMENT\n  enumerator :: G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE\n  enumerator :: G_MARKUP_ERROR_INVALID_CONTENT\n  enumerator :: G_MARKUP_ERROR_MISSING_ATTRIBUTE\nend enum\n\nenum, bind(c)    !GMarkupParseFlags\n  enumerator :: G_MARKUP_DEFAULT_FLAGS  = 0\n  enumerator :: G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG = ISHFTC(1, 0)\n  enumerator :: G_MARKUP_TREAT_CDATA_AS_TEXT = ISHFTC(1, 1)\n  enumerator :: G_MARKUP_PREFIX_ERROR_POSITION = ISHFTC(1, 2)\n  enumerator :: G_MARKUP_IGNORE_QUALIFIED = ISHFTC(1, 3)\nend enum\n\nenum, bind(c)    !GMarkupCollectType\n  enumerator :: G_MARKUP_COLLECT_INVALID\n  enumerator :: G_MARKUP_COLLECT_STRING\n  enumerator :: G_MARKUP_COLLECT_STRDUP\n  enumerator :: G_MARKUP_COLLECT_BOOLEAN\n  enumerator :: G_MARKUP_COLLECT_TRISTATE\n  enumerator :: G_MARKUP_COLLECT_OPTIONAL = ISHFTC(1, 16)\nend enum\n\n! gmem.h\n! gmessages.h\nenum, bind(c)    !GLogLevelFlags\n  enumerator :: G_LOG_FLAG_RECURSION = ISHFTC(1, 0)\n  enumerator :: G_LOG_FLAG_FATAL = ISHFTC(1, 1)\n  enumerator :: G_LOG_LEVEL_ERROR = ISHFTC(1, 2)\n  enumerator :: G_LOG_LEVEL_CRITICAL = ISHFTC(1, 3)\n  enumerator :: G_LOG_LEVEL_WARNING = ISHFTC(1, 4)\n  enumerator :: G_LOG_LEVEL_MESSAGE = ISHFTC(1, 5)\n  enumerator :: G_LOG_LEVEL_INFO = ISHFTC(1, 6)\n  enumerator :: G_LOG_LEVEL_DEBUG = ISHFTC(1, 7)\n  enumerator :: G_LOG_LEVEL_MASK = ior(not(G_LOG_FLAG_RECURSION) ,&\n& G_LOG_FLAG_FATAL)\nend enum\n\nenum, bind(c)    !GLogWriterOutput\n  enumerator :: G_LOG_WRITER_HANDLED = 1\n  enumerator :: G_LOG_WRITER_UNHANDLED = 0\nend enum\n\n! gnode.h\nenum, bind(c)    !GTraverseFlags\n  enumerator :: G_TRAVERSE_LEAVES = ISHFTC(1, 0)\n  enumerator :: G_TRAVERSE_NON_LEAVES = ISHFTC(1, 1)\n  enumerator :: G_TRAVERSE_ALL = ior(G_TRAVERSE_LEAVES , G_TRAVERSE_NON_LEAVES)\n  enumerator :: G_TRAVERSE_MASK = INT(z'03')\n  enumerator :: G_TRAVERSE_LEAFS = G_TRAVERSE_LEAVES\n  enumerator :: G_TRAVERSE_NON_LEAFS = G_TRAVERSE_NON_LEAVES\nend enum\n\nenum, bind(c)    !GTraverseType\n  enumerator :: G_IN_ORDER\n  enumerator :: G_PRE_ORDER\n  enumerator :: G_POST_ORDER\n  enumerator :: G_LEVEL_ORDER\nend enum\n\n! goption.h\nenum, bind(c)    !GOptionFlags\n  enumerator :: G_OPTION_FLAG_NONE = 0\n  enumerator :: G_OPTION_FLAG_HIDDEN = ISHFTC(1, 0)\n  enumerator :: G_OPTION_FLAG_IN_MAIN = ISHFTC(1, 1)\n  enumerator :: G_OPTION_FLAG_REVERSE = ISHFTC(1, 2)\n  enumerator :: G_OPTION_FLAG_NO_ARG = ISHFTC(1, 3)\n  enumerator :: G_OPTION_FLAG_FILENAME = ISHFTC(1, 4)\n  enumerator :: G_OPTION_FLAG_OPTIONAL_ARG = ISHFTC(1, 5)\n  enumerator :: G_OPTION_FLAG_NOALIAS = ISHFTC(1, 6)\n  enumerator :: G_OPTION_FLAG_DEPRECATED  = ISHFTC(1, 7)\nend enum\n\nenum, bind(c)    !GOptionArg\n  enumerator :: G_OPTION_ARG_NONE\n  enumerator :: G_OPTION_ARG_STRING\n  enumerator :: G_OPTION_ARG_INT\n  enumerator :: G_OPTION_ARG_CALLBACK\n  enumerator :: G_OPTION_ARG_FILENAME\n  enumerator :: G_OPTION_ARG_STRING_ARRAY\n  enumerator :: G_OPTION_ARG_FILENAME_ARRAY\n  enumerator :: G_OPTION_ARG_DOUBLE\n  enumerator :: G_OPTION_ARG_INT64\nend enum\n\nenum, bind(c)    !GOptionError\n  enumerator :: G_OPTION_ERROR_UNKNOWN_OPTION\n  enumerator :: G_OPTION_ERROR_BAD_VALUE\n  enumerator :: G_OPTION_ERROR_FAILED\nend enum\n\n! gpathbuf.h\n! gpattern.h\n! gpoll.h\n! gprimes.h\n! gprintf.h\n! gqsort.h\n! gquark.h\n! gqueue.h\n! grand.h\n! grcbox.h\n! grefcount.h\n! grefstring.h\n! gregex.h\nenum, bind(c)    !GRegexError\n  enumerator :: G_REGEX_ERROR_COMPILE\n  enumerator :: G_REGEX_ERROR_OPTIMIZE\n  enumerator :: G_REGEX_ERROR_REPLACE\n  enumerator :: G_REGEX_ERROR_MATCH\n  enumerator :: G_REGEX_ERROR_INTERNAL\n  enumerator :: G_REGEX_ERROR_STRAY_BACKSLASH = 101\n  enumerator :: G_REGEX_ERROR_MISSING_CONTROL_CHAR = 102\n  enumerator :: G_REGEX_ERROR_UNRECOGNIZED_ESCAPE = 103\n  enumerator :: G_REGEX_ERROR_QUANTIFIERS_OUT_OF_ORDER = 104\n  enumerator :: G_REGEX_ERROR_QUANTIFIER_TOO_BIG = 105\n  enumerator :: G_REGEX_ERROR_UNTERMINATED_CHARACTER_CLASS = 106\n  enumerator :: G_REGEX_ERROR_INVALID_ESCAPE_IN_CHARACTER_CLASS = 107\n  enumerator :: G_REGEX_ERROR_RANGE_OUT_OF_ORDER = 108\n  enumerator :: G_REGEX_ERROR_NOTHING_TO_REPEAT = 109\n  enumerator :: G_REGEX_ERROR_UNRECOGNIZED_CHARACTER = 112\n  enumerator :: G_REGEX_ERROR_POSIX_NAMED_CLASS_OUTSIDE_CLASS = 113\n  enumerator :: G_REGEX_ERROR_UNMATCHED_PARENTHESIS = 114\n  enumerator :: G_REGEX_ERROR_INEXISTENT_SUBPATTERN_REFERENCE = 115\n  enumerator :: G_REGEX_ERROR_UNTERMINATED_COMMENT = 118\n  enumerator :: G_REGEX_ERROR_EXPRESSION_TOO_LARGE = 120\n  enumerator :: G_REGEX_ERROR_MEMORY_ERROR = 121\n  enumerator :: G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND = 125\n  enumerator :: G_REGEX_ERROR_MALFORMED_CONDITION = 126\n  enumerator :: G_REGEX_ERROR_TOO_MANY_CONDITIONAL_BRANCHES = 127\n  enumerator :: G_REGEX_ERROR_ASSERTION_EXPECTED = 128\n  enumerator :: G_REGEX_ERROR_UNKNOWN_POSIX_CLASS_NAME = 130\n  enumerator :: G_REGEX_ERROR_POSIX_COLLATING_ELEMENTS_NOT_SUPPORTED = 131\n  enumerator :: G_REGEX_ERROR_HEX_CODE_TOO_LARGE = 134\n  enumerator :: G_REGEX_ERROR_INVALID_CONDITION = 135\n  enumerator :: G_REGEX_ERROR_SINGLE_BYTE_MATCH_IN_LOOKBEHIND = 136\n  enumerator :: G_REGEX_ERROR_INFINITE_LOOP = 140\n  enumerator :: G_REGEX_ERROR_MISSING_SUBPATTERN_NAME_TERMINATOR = 142\n  enumerator :: G_REGEX_ERROR_DUPLICATE_SUBPATTERN_NAME = 143\n  enumerator :: G_REGEX_ERROR_MALFORMED_PROPERTY = 146\n  enumerator :: G_REGEX_ERROR_UNKNOWN_PROPERTY = 147\n  enumerator :: G_REGEX_ERROR_SUBPATTERN_NAME_TOO_LONG = 148\n  enumerator :: G_REGEX_ERROR_TOO_MANY_SUBPATTERNS = 149\n  enumerator :: G_REGEX_ERROR_INVALID_OCTAL_VALUE = 151\n  enumerator :: G_REGEX_ERROR_TOO_MANY_BRANCHES_IN_DEFINE = 154\n  enumerator :: G_REGEX_ERROR_DEFINE_REPETION = 155\n  enumerator :: G_REGEX_ERROR_INCONSISTENT_NEWLINE_OPTIONS = 156\n  enumerator :: G_REGEX_ERROR_MISSING_BACK_REFERENCE = 157\n  enumerator :: G_REGEX_ERROR_INVALID_RELATIVE_REFERENCE = 158\n  enumerator :: G_REGEX_ERROR_BACKTRACKING_CONTROL_VERB_ARGUMENT_FORBIDDEN =&\n& 159\n  enumerator :: G_REGEX_ERROR_UNKNOWN_BACKTRACKING_CONTROL_VERB = 160\n  enumerator :: G_REGEX_ERROR_NUMBER_TOO_BIG = 161\n  enumerator :: G_REGEX_ERROR_MISSING_SUBPATTERN_NAME = 162\n  enumerator :: G_REGEX_ERROR_MISSING_DIGIT = 163\n  enumerator :: G_REGEX_ERROR_INVALID_DATA_CHARACTER = 164\n  enumerator :: G_REGEX_ERROR_EXTRA_SUBPATTERN_NAME = 165\n  enumerator :: G_REGEX_ERROR_BACKTRACKING_CONTROL_VERB_ARGUMENT_REQUIRED = 166\n  enumerator :: G_REGEX_ERROR_INVALID_CONTROL_CHAR = 168\n  enumerator :: G_REGEX_ERROR_MISSING_NAME = 169\n  enumerator :: G_REGEX_ERROR_NOT_SUPPORTED_IN_CLASS = 171\n  enumerator :: G_REGEX_ERROR_TOO_MANY_FORWARD_REFERENCES = 172\n  enumerator :: G_REGEX_ERROR_NAME_TOO_LONG = 175\n  enumerator :: G_REGEX_ERROR_CHARACTER_VALUE_TOO_LARGE = 176\nend enum\n\nenum, bind(c)    !GRegexCompileFlags\n  enumerator :: G_REGEX_DEFAULT  = 0\n  enumerator :: G_REGEX_CASELESS = ISHFTC(1, 0)\n  enumerator :: G_REGEX_MULTILINE = ISHFTC(1, 1)\n  enumerator :: G_REGEX_DOTALL = ISHFTC(1, 2)\n  enumerator :: G_REGEX_EXTENDED = ISHFTC(1, 3)\n  enumerator :: G_REGEX_ANCHORED = ISHFTC(1, 4)\n  enumerator :: G_REGEX_DOLLAR_ENDONLY = ISHFTC(1, 5)\n  enumerator :: G_REGEX_UNGREEDY = ISHFTC(1, 9)\n  enumerator :: G_REGEX_RAW = ISHFTC(1, 11)\n  enumerator :: G_REGEX_NO_AUTO_CAPTURE = ISHFTC(1, 12)\n  enumerator :: G_REGEX_OPTIMIZE = ISHFTC(1, 13)\n  enumerator :: G_REGEX_FIRSTLINE = ISHFTC(1, 18)\n  enumerator :: G_REGEX_DUPNAMES = ISHFTC(1, 19)\n  enumerator :: G_REGEX_NEWLINE_CR = ISHFTC(1, 20)\n  enumerator :: G_REGEX_NEWLINE_LF = ISHFTC(1, 21)\n  enumerator :: G_REGEX_NEWLINE_CRLF = ior(G_REGEX_NEWLINE_CR ,&\n& G_REGEX_NEWLINE_LF)\n  enumerator :: G_REGEX_NEWLINE_ANYCRLF = ior(G_REGEX_NEWLINE_CR , ISHFTC(1,&\n& 22))\n  enumerator :: G_REGEX_BSR_ANYCRLF = ISHFTC(1, 23)\n  enumerator :: G_REGEX_JAVASCRIPT_COMPAT = ISHFTC(1, 25)\nend enum\n\nenum, bind(c)    !GRegexMatchFlags\n  enumerator :: G_REGEX_MATCH_DEFAULT  = 0\n  enumerator :: G_REGEX_MATCH_ANCHORED = ISHFTC(1, 4)\n  enumerator :: G_REGEX_MATCH_NOTBOL = ISHFTC(1, 7)\n  enumerator :: G_REGEX_MATCH_NOTEOL = ISHFTC(1, 8)\n  enumerator :: G_REGEX_MATCH_NOTEMPTY = ISHFTC(1, 10)\n  enumerator :: G_REGEX_MATCH_PARTIAL = ISHFTC(1, 15)\n  enumerator :: G_REGEX_MATCH_NEWLINE_CR = ISHFTC(1, 20)\n  enumerator :: G_REGEX_MATCH_NEWLINE_LF = ISHFTC(1, 21)\n  enumerator :: G_REGEX_MATCH_NEWLINE_CRLF = ior(G_REGEX_MATCH_NEWLINE_CR ,&\n& G_REGEX_MATCH_NEWLINE_LF)\n  enumerator :: G_REGEX_MATCH_NEWLINE_ANY = ISHFTC(1, 22)\n  enumerator :: G_REGEX_MATCH_NEWLINE_ANYCRLF = ior(G_REGEX_MATCH_NEWLINE_CR ,&\n& G_REGEX_MATCH_NEWLINE_ANY)\n  enumerator :: G_REGEX_MATCH_BSR_ANYCRLF = ISHFTC(1, 23)\n  enumerator :: G_REGEX_MATCH_BSR_ANY = ISHFTC(1, 24)\n  enumerator :: G_REGEX_MATCH_PARTIAL_SOFT = G_REGEX_MATCH_PARTIAL\n  enumerator :: G_REGEX_MATCH_PARTIAL_HARD = ISHFTC(1, 27)\n  enumerator :: G_REGEX_MATCH_NOTEMPTY_ATSTART = ISHFTC(1, 28)\nend enum\n\n! gscanner.h\nenum, bind(c)    !GErrorType\n  enumerator :: G_ERR_UNKNOWN\n  enumerator :: G_ERR_UNEXP_EOF\n  enumerator :: G_ERR_UNEXP_EOF_IN_STRING\n  enumerator :: G_ERR_UNEXP_EOF_IN_COMMENT\n  enumerator :: G_ERR_NON_DIGIT_IN_CONST\n  enumerator :: G_ERR_DIGIT_RADIX\n  enumerator :: G_ERR_FLOAT_RADIX\n  enumerator :: G_ERR_FLOAT_MALFORMED\nend enum\n\nenum, bind(c)    !GTokenType\n  enumerator :: G_TOKEN_EOF = 0\n  enumerator :: G_TOKEN_LEFT_PAREN = iachar('(')\n  enumerator :: G_TOKEN_RIGHT_PAREN = iachar(')')\n  enumerator :: G_TOKEN_LEFT_CURLY = iachar('{')\n  enumerator :: G_TOKEN_RIGHT_CURLY = iachar('}')\n  enumerator :: G_TOKEN_LEFT_BRACE = iachar('[')\n  enumerator :: G_TOKEN_RIGHT_BRACE = iachar(']')\n  enumerator :: G_TOKEN_EQUAL_SIGN = iachar('=')\n  enumerator :: G_TOKEN_COMMA = iachar(',')\n  enumerator :: G_TOKEN_NONE = 256\n  enumerator :: G_TOKEN_ERROR\n  enumerator :: G_TOKEN_CHAR\n  enumerator :: G_TOKEN_BINARY\n  enumerator :: G_TOKEN_OCTAL\n  enumerator :: G_TOKEN_INT\n  enumerator :: G_TOKEN_HEX\n  enumerator :: G_TOKEN_FLOAT\n  enumerator :: G_TOKEN_STRING\n  enumerator :: G_TOKEN_SYMBOL\n  enumerator :: G_TOKEN_IDENTIFIER\n  enumerator :: G_TOKEN_IDENTIFIER_NULL\n  enumerator :: G_TOKEN_COMMENT_SINGLE\n  enumerator :: G_TOKEN_COMMENT_MULTI\n  enumerator :: G_TOKEN_LAST\nend enum\n\n! gsequence.h\n! gshell.h\nenum, bind(c)    !GShellError\n  enumerator :: G_SHELL_ERROR_BAD_QUOTING\n  enumerator :: G_SHELL_ERROR_EMPTY_STRING\n  enumerator :: G_SHELL_ERROR_FAILED\nend enum\n\n! gslice.h\nenum, bind(c)    !GSliceConfig\n  enumerator :: G_SLICE_CONFIG_ALWAYS_MALLOC = 1\n  enumerator :: G_SLICE_CONFIG_BYPASS_MAGAZINES\n  enumerator :: G_SLICE_CONFIG_WORKING_SET_MSECS\n  enumerator :: G_SLICE_CONFIG_COLOR_INCREMENT\n  enumerator :: G_SLICE_CONFIG_CHUNK_SIZES\n  enumerator :: G_SLICE_CONFIG_CONTENTION_COUNTER\nend enum\n\n! gslist.h\n! gspawn.h\nenum, bind(c)    !GSpawnError\n  enumerator :: G_SPAWN_ERROR_FORK\n  enumerator :: G_SPAWN_ERROR_READ\n  enumerator :: G_SPAWN_ERROR_CHDIR\n  enumerator :: G_SPAWN_ERROR_ACCES\n  enumerator :: G_SPAWN_ERROR_PERM\n  enumerator :: G_SPAWN_ERROR_TOO_BIG\n  enumerator :: G_SPAWN_ERROR_2BIG = G_SPAWN_ERROR_TOO_BIG\n  enumerator :: G_SPAWN_ERROR_NOEXEC\n  enumerator :: G_SPAWN_ERROR_NAMETOOLONG\n  enumerator :: G_SPAWN_ERROR_NOENT\n  enumerator :: G_SPAWN_ERROR_NOMEM\n  enumerator :: G_SPAWN_ERROR_NOTDIR\n  enumerator :: G_SPAWN_ERROR_LOOP\n  enumerator :: G_SPAWN_ERROR_TXTBUSY\n  enumerator :: G_SPAWN_ERROR_IO\n  enumerator :: G_SPAWN_ERROR_NFILE\n  enumerator :: G_SPAWN_ERROR_MFILE\n  enumerator :: G_SPAWN_ERROR_INVAL\n  enumerator :: G_SPAWN_ERROR_ISDIR\n  enumerator :: G_SPAWN_ERROR_LIBBAD\n  enumerator :: G_SPAWN_ERROR_FAILED\nend enum\n\nenum, bind(c)    !GSpawnFlags\n  enumerator :: G_SPAWN_DEFAULT = 0\n  enumerator :: G_SPAWN_LEAVE_DESCRIPTORS_OPEN = ISHFTC(1, 0)\n  enumerator :: G_SPAWN_DO_NOT_REAP_CHILD = ISHFTC(1, 1)\n  enumerator :: G_SPAWN_SEARCH_PATH = ISHFTC(1, 2)\n  enumerator :: G_SPAWN_STDOUT_TO_DEV_NULL = ISHFTC(1, 3)\n  enumerator :: G_SPAWN_STDERR_TO_DEV_NULL = ISHFTC(1, 4)\n  enumerator :: G_SPAWN_CHILD_INHERITS_STDIN = ISHFTC(1, 5)\n  enumerator :: G_SPAWN_FILE_AND_ARGV_ZERO = ISHFTC(1, 6)\n  enumerator :: G_SPAWN_SEARCH_PATH_FROM_ENVP = ISHFTC(1, 7)\n  enumerator :: G_SPAWN_CLOEXEC_PIPES = ISHFTC(1, 8)\n  enumerator :: G_SPAWN_CHILD_INHERITS_STDOUT = ISHFTC(1, 9)\n  enumerator :: G_SPAWN_CHILD_INHERITS_STDERR = ISHFTC(1, 10)\n  enumerator :: G_SPAWN_STDIN_FROM_DEV_NULL = ISHFTC(1, 11)\nend enum\n\n! gstdio.h\n! gstrfuncs.h\nenum, bind(c)    !GAsciiType\n  enumerator :: G_ASCII_ALNUM = ISHFTC(1, 0)\n  enumerator :: G_ASCII_ALPHA = ISHFTC(1, 1)\n  enumerator :: G_ASCII_CNTRL = ISHFTC(1, 2)\n  enumerator :: G_ASCII_DIGIT = ISHFTC(1, 3)\n  enumerator :: G_ASCII_GRAPH = ISHFTC(1, 4)\n  enumerator :: G_ASCII_LOWER = ISHFTC(1, 5)\n  enumerator :: G_ASCII_PRINT = ISHFTC(1, 6)\n  enumerator :: G_ASCII_PUNCT = ISHFTC(1, 7)\n  enumerator :: G_ASCII_SPACE = ISHFTC(1, 8)\n  enumerator :: G_ASCII_UPPER = ISHFTC(1, 9)\n  enumerator :: G_ASCII_XDIGIT = ISHFTC(1, 10)\nend enum\n\nenum, bind(c)    !GNumberParserError\n  enumerator :: G_NUMBER_PARSER_ERROR_INVALID\n  enumerator :: G_NUMBER_PARSER_ERROR_OUT_OF_BOUNDS\nend enum\n\n! gstring.h\n! gstringchunk.h\n! gstrvbuilder.h\n! gtestutils.h\nenum, bind(c)    !GTestTrapFlags\n  enumerator :: G_TEST_TRAP_DEFAULT  = 0\n  enumerator :: G_TEST_TRAP_SILENCE_STDOUT = ISHFTC(1, 7)\n  enumerator :: G_TEST_TRAP_SILENCE_STDERR = ISHFTC(1, 8)\n  enumerator :: G_TEST_TRAP_INHERIT_STDIN = ISHFTC(1, 9)\nend enum\n\nenum, bind(c)    !GTestSubprocessFlags\n  enumerator :: G_TEST_SUBPROCESS_DEFAULT  = 0\n  enumerator :: G_TEST_SUBPROCESS_INHERIT_STDIN = ISHFTC(1, 0)\n  enumerator :: G_TEST_SUBPROCESS_INHERIT_STDOUT = ISHFTC(1, 1)\n  enumerator :: G_TEST_SUBPROCESS_INHERIT_STDERR = ISHFTC(1, 2)\nend enum\n\nenum, bind(c)    !GTestResult\n  enumerator :: G_TEST_RUN_SUCCESS\n  enumerator :: G_TEST_RUN_SKIPPED\n  enumerator :: G_TEST_RUN_FAILURE\n  enumerator :: G_TEST_RUN_INCOMPLETE\nend enum\n\nenum, bind(c)    !GTestLogType\n  enumerator :: G_TEST_LOG_NONE\n  enumerator :: G_TEST_LOG_ERROR\n  enumerator :: G_TEST_LOG_START_BINARY\n  enumerator :: G_TEST_LOG_LIST_CASE\n  enumerator :: G_TEST_LOG_SKIP_CASE\n  enumerator :: G_TEST_LOG_START_CASE\n  enumerator :: G_TEST_LOG_STOP_CASE\n  enumerator :: G_TEST_LOG_MIN_RESULT\n  enumerator :: G_TEST_LOG_MAX_RESULT\n  enumerator :: G_TEST_LOG_MESSAGE\n  enumerator :: G_TEST_LOG_START_SUITE\n  enumerator :: G_TEST_LOG_STOP_SUITE\nend enum\n\nenum, bind(c)    !GTestFileType\n  enumerator :: G_TEST_DIST\n  enumerator :: G_TEST_BUILT\nend enum\n\n! gthread.h\nenum, bind(c)    !GThreadError\n  enumerator :: G_THREAD_ERROR_AGAIN\nend enum\n\nenum, bind(c)    !GOnceStatus\n  enumerator :: G_ONCE_STATUS_NOTCALLED\n  enumerator :: G_ONCE_STATUS_PROGRESS\n  enumerator :: G_ONCE_STATUS_READY\nend enum\n\n! gthreadpool.h\n! gtimer.h\n! gtimezone.h\nenum, bind(c)    !GTimeType\n  enumerator :: G_TIME_TYPE_STANDARD\n  enumerator :: G_TIME_TYPE_DAYLIGHT\n  enumerator :: G_TIME_TYPE_UNIVERSAL\nend enum\n\n! gtrashstack.h\n! gtree.h\n! gtypes.h\n! gunicode.h\nenum, bind(c)    !GUnicodeType\n  enumerator :: G_UNICODE_CONTROL\n  enumerator :: G_UNICODE_FORMAT\n  enumerator :: G_UNICODE_UNASSIGNED\n  enumerator :: G_UNICODE_PRIVATE_USE\n  enumerator :: G_UNICODE_SURROGATE\n  enumerator :: G_UNICODE_LOWERCASE_LETTER\n  enumerator :: G_UNICODE_MODIFIER_LETTER\n  enumerator :: G_UNICODE_OTHER_LETTER\n  enumerator :: G_UNICODE_TITLECASE_LETTER\n  enumerator :: G_UNICODE_UPPERCASE_LETTER\n  enumerator :: G_UNICODE_SPACING_MARK\n  enumerator :: G_UNICODE_ENCLOSING_MARK\n  enumerator :: G_UNICODE_NON_SPACING_MARK\n  enumerator :: G_UNICODE_DECIMAL_NUMBER\n  enumerator :: G_UNICODE_LETTER_NUMBER\n  enumerator :: G_UNICODE_OTHER_NUMBER\n  enumerator :: G_UNICODE_CONNECT_PUNCTUATION\n  enumerator :: G_UNICODE_DASH_PUNCTUATION\n  enumerator :: G_UNICODE_CLOSE_PUNCTUATION\n  enumerator :: G_UNICODE_FINAL_PUNCTUATION\n  enumerator :: G_UNICODE_INITIAL_PUNCTUATION\n  enumerator :: G_UNICODE_OTHER_PUNCTUATION\n  enumerator :: G_UNICODE_OPEN_PUNCTUATION\n  enumerator :: G_UNICODE_CURRENCY_SYMBOL\n  enumerator :: G_UNICODE_MODIFIER_SYMBOL\n  enumerator :: G_UNICODE_MATH_SYMBOL\n  enumerator :: G_UNICODE_OTHER_SYMBOL\n  enumerator :: G_UNICODE_LINE_SEPARATOR\n  enumerator :: G_UNICODE_PARAGRAPH_SEPARATOR\n  enumerator :: G_UNICODE_SPACE_SEPARATOR\nend enum\n\nenum, bind(c)    !GUnicodeBreakType\n  enumerator :: G_UNICODE_BREAK_MANDATORY\n  enumerator :: G_UNICODE_BREAK_CARRIAGE_RETURN\n  enumerator :: G_UNICODE_BREAK_LINE_FEED\n  enumerator :: G_UNICODE_BREAK_COMBINING_MARK\n  enumerator :: G_UNICODE_BREAK_SURROGATE\n  enumerator :: G_UNICODE_BREAK_ZERO_WIDTH_SPACE\n  enumerator :: G_UNICODE_BREAK_INSEPARABLE\n  enumerator :: G_UNICODE_BREAK_NON_BREAKING_GLUE\n  enumerator :: G_UNICODE_BREAK_CONTINGENT\n  enumerator :: G_UNICODE_BREAK_SPACE\n  enumerator :: G_UNICODE_BREAK_AFTER\n  enumerator :: G_UNICODE_BREAK_BEFORE\n  enumerator :: G_UNICODE_BREAK_BEFORE_AND_AFTER\n  enumerator :: G_UNICODE_BREAK_HYPHEN\n  enumerator :: G_UNICODE_BREAK_NON_STARTER\n  enumerator :: G_UNICODE_BREAK_OPEN_PUNCTUATION\n  enumerator :: G_UNICODE_BREAK_CLOSE_PUNCTUATION\n  enumerator :: G_UNICODE_BREAK_QUOTATION\n  enumerator :: G_UNICODE_BREAK_EXCLAMATION\n  enumerator :: G_UNICODE_BREAK_IDEOGRAPHIC\n  enumerator :: G_UNICODE_BREAK_NUMERIC\n  enumerator :: G_UNICODE_BREAK_INFIX_SEPARATOR\n  enumerator :: G_UNICODE_BREAK_SYMBOL\n  enumerator :: G_UNICODE_BREAK_ALPHABETIC\n  enumerator :: G_UNICODE_BREAK_PREFIX\n  enumerator :: G_UNICODE_BREAK_POSTFIX\n  enumerator :: G_UNICODE_BREAK_COMPLEX_CONTEXT\n  enumerator :: G_UNICODE_BREAK_AMBIGUOUS\n  enumerator :: G_UNICODE_BREAK_UNKNOWN\n  enumerator :: G_UNICODE_BREAK_NEXT_LINE\n  enumerator :: G_UNICODE_BREAK_WORD_JOINER\n  enumerator :: G_UNICODE_BREAK_HANGUL_L_JAMO\n  enumerator :: G_UNICODE_BREAK_HANGUL_V_JAMO\n  enumerator :: G_UNICODE_BREAK_HANGUL_T_JAMO\n  enumerator :: G_UNICODE_BREAK_HANGUL_LV_SYLLABLE\n  enumerator :: G_UNICODE_BREAK_HANGUL_LVT_SYLLABLE\n  enumerator :: G_UNICODE_BREAK_CLOSE_PARANTHESIS\n  enumerator :: G_UNICODE_BREAK_CLOSE_PARENTHESIS  =&\n& G_UNICODE_BREAK_CLOSE_PARANTHESIS\n  enumerator :: G_UNICODE_BREAK_CONDITIONAL_JAPANESE_STARTER\n  enumerator :: G_UNICODE_BREAK_HEBREW_LETTER\n  enumerator :: G_UNICODE_BREAK_REGIONAL_INDICATOR\n  enumerator :: G_UNICODE_BREAK_EMOJI_BASE\n  enumerator :: G_UNICODE_BREAK_EMOJI_MODIFIER\n  enumerator :: G_UNICODE_BREAK_ZERO_WIDTH_JOINER\n  enumerator :: G_UNICODE_BREAK_AKSARA\n  enumerator :: G_UNICODE_BREAK_AKSARA_PRE_BASE\n  enumerator :: G_UNICODE_BREAK_AKSARA_START\n  enumerator :: G_UNICODE_BREAK_VIRAMA_FINAL\n  enumerator :: G_UNICODE_BREAK_VIRAMA\nend enum\n\nenum, bind(c)    !GUnicodeScript\n  enumerator :: G_UNICODE_SCRIPT_INVALID_CODE = -1\n  enumerator :: G_UNICODE_SCRIPT_COMMON = 0\n  enumerator :: G_UNICODE_SCRIPT_INHERITED\n  enumerator :: G_UNICODE_SCRIPT_ARABIC\n  enumerator :: G_UNICODE_SCRIPT_ARMENIAN\n  enumerator :: G_UNICODE_SCRIPT_BENGALI\n  enumerator :: G_UNICODE_SCRIPT_BOPOMOFO\n  enumerator :: G_UNICODE_SCRIPT_CHEROKEE\n  enumerator :: G_UNICODE_SCRIPT_COPTIC\n  enumerator :: G_UNICODE_SCRIPT_CYRILLIC\n  enumerator :: G_UNICODE_SCRIPT_DESERET\n  enumerator :: G_UNICODE_SCRIPT_DEVANAGARI\n  enumerator :: G_UNICODE_SCRIPT_ETHIOPIC\n  enumerator :: G_UNICODE_SCRIPT_GEORGIAN\n  enumerator :: G_UNICODE_SCRIPT_GOTHIC\n  enumerator :: G_UNICODE_SCRIPT_GREEK\n  enumerator :: G_UNICODE_SCRIPT_GUJARATI\n  enumerator :: G_UNICODE_SCRIPT_GURMUKHI\n  enumerator :: G_UNICODE_SCRIPT_HAN\n  enumerator :: G_UNICODE_SCRIPT_HANGUL\n  enumerator :: G_UNICODE_SCRIPT_HEBREW\n  enumerator :: G_UNICODE_SCRIPT_HIRAGANA\n  enumerator :: G_UNICODE_SCRIPT_KANNADA\n  enumerator :: G_UNICODE_SCRIPT_KATAKANA\n  enumerator :: G_UNICODE_SCRIPT_KHMER\n  enumerator :: G_UNICODE_SCRIPT_LAO\n  enumerator :: G_UNICODE_SCRIPT_LATIN\n  enumerator :: G_UNICODE_SCRIPT_MALAYALAM\n  enumerator :: G_UNICODE_SCRIPT_MONGOLIAN\n  enumerator :: G_UNICODE_SCRIPT_MYANMAR\n  enumerator :: G_UNICODE_SCRIPT_OGHAM\n  enumerator :: G_UNICODE_SCRIPT_OLD_ITALIC\n  enumerator :: G_UNICODE_SCRIPT_ORIYA\n  enumerator :: G_UNICODE_SCRIPT_RUNIC\n  enumerator :: G_UNICODE_SCRIPT_SINHALA\n  enumerator :: G_UNICODE_SCRIPT_SYRIAC\n  enumerator :: G_UNICODE_SCRIPT_TAMIL\n  enumerator :: G_UNICODE_SCRIPT_TELUGU\n  enumerator :: G_UNICODE_SCRIPT_THAANA\n  enumerator :: G_UNICODE_SCRIPT_THAI\n  enumerator :: G_UNICODE_SCRIPT_TIBETAN\n  enumerator :: G_UNICODE_SCRIPT_CANADIAN_ABORIGINAL\n  enumerator :: G_UNICODE_SCRIPT_YI\n  enumerator :: G_UNICODE_SCRIPT_TAGALOG\n  enumerator :: G_UNICODE_SCRIPT_HANUNOO\n  enumerator :: G_UNICODE_SCRIPT_BUHID\n  enumerator :: G_UNICODE_SCRIPT_TAGBANWA\n  enumerator :: G_UNICODE_SCRIPT_BRAILLE\n  enumerator :: G_UNICODE_SCRIPT_CYPRIOT\n  enumerator :: G_UNICODE_SCRIPT_LIMBU\n  enumerator :: G_UNICODE_SCRIPT_OSMANYA\n  enumerator :: G_UNICODE_SCRIPT_SHAVIAN\n  enumerator :: G_UNICODE_SCRIPT_LINEAR_B\n  enumerator :: G_UNICODE_SCRIPT_TAI_LE\n  enumerator :: G_UNICODE_SCRIPT_UGARITIC\n  enumerator :: G_UNICODE_SCRIPT_NEW_TAI_LUE\n  enumerator :: G_UNICODE_SCRIPT_BUGINESE\n  enumerator :: G_UNICODE_SCRIPT_GLAGOLITIC\n  enumerator :: G_UNICODE_SCRIPT_TIFINAGH\n  enumerator :: G_UNICODE_SCRIPT_SYLOTI_NAGRI\n  enumerator :: G_UNICODE_SCRIPT_OLD_PERSIAN\n  enumerator :: G_UNICODE_SCRIPT_KHAROSHTHI\n  enumerator :: G_UNICODE_SCRIPT_UNKNOWN\n  enumerator :: G_UNICODE_SCRIPT_BALINESE\n  enumerator :: G_UNICODE_SCRIPT_CUNEIFORM\n  enumerator :: G_UNICODE_SCRIPT_PHOENICIAN\n  enumerator :: G_UNICODE_SCRIPT_PHAGS_PA\n  enumerator :: G_UNICODE_SCRIPT_NKO\n  enumerator :: G_UNICODE_SCRIPT_KAYAH_LI\n  enumerator :: G_UNICODE_SCRIPT_LEPCHA\n  enumerator :: G_UNICODE_SCRIPT_REJANG\n  enumerator :: G_UNICODE_SCRIPT_SUNDANESE\n  enumerator :: G_UNICODE_SCRIPT_SAURASHTRA\n  enumerator :: G_UNICODE_SCRIPT_CHAM\n  enumerator :: G_UNICODE_SCRIPT_OL_CHIKI\n  enumerator :: G_UNICODE_SCRIPT_VAI\n  enumerator :: G_UNICODE_SCRIPT_CARIAN\n  enumerator :: G_UNICODE_SCRIPT_LYCIAN\n  enumerator :: G_UNICODE_SCRIPT_LYDIAN\n  enumerator :: G_UNICODE_SCRIPT_AVESTAN\n  enumerator :: G_UNICODE_SCRIPT_BAMUM\n  enumerator :: G_UNICODE_SCRIPT_EGYPTIAN_HIEROGLYPHS\n  enumerator :: G_UNICODE_SCRIPT_IMPERIAL_ARAMAIC\n  enumerator :: G_UNICODE_SCRIPT_INSCRIPTIONAL_PAHLAVI\n  enumerator :: G_UNICODE_SCRIPT_INSCRIPTIONAL_PARTHIAN\n  enumerator :: G_UNICODE_SCRIPT_JAVANESE\n  enumerator :: G_UNICODE_SCRIPT_KAITHI\n  enumerator :: G_UNICODE_SCRIPT_LISU\n  enumerator :: G_UNICODE_SCRIPT_MEETEI_MAYEK\n  enumerator :: G_UNICODE_SCRIPT_OLD_SOUTH_ARABIAN\n  enumerator :: G_UNICODE_SCRIPT_OLD_TURKIC\n  enumerator :: G_UNICODE_SCRIPT_SAMARITAN\n  enumerator :: G_UNICODE_SCRIPT_TAI_THAM\n  enumerator :: G_UNICODE_SCRIPT_TAI_VIET\n  enumerator :: G_UNICODE_SCRIPT_BATAK\n  enumerator :: G_UNICODE_SCRIPT_BRAHMI\n  enumerator :: G_UNICODE_SCRIPT_MANDAIC\n  enumerator :: G_UNICODE_SCRIPT_CHAKMA\n  enumerator :: G_UNICODE_SCRIPT_MEROITIC_CURSIVE\n  enumerator :: G_UNICODE_SCRIPT_MEROITIC_HIEROGLYPHS\n  enumerator :: G_UNICODE_SCRIPT_MIAO\n  enumerator :: G_UNICODE_SCRIPT_SHARADA\n  enumerator :: G_UNICODE_SCRIPT_SORA_SOMPENG\n  enumerator :: G_UNICODE_SCRIPT_TAKRI\n  enumerator :: G_UNICODE_SCRIPT_BASSA_VAH\n  enumerator :: G_UNICODE_SCRIPT_CAUCASIAN_ALBANIAN\n  enumerator :: G_UNICODE_SCRIPT_DUPLOYAN\n  enumerator :: G_UNICODE_SCRIPT_ELBASAN\n  enumerator :: G_UNICODE_SCRIPT_GRANTHA\n  enumerator :: G_UNICODE_SCRIPT_KHOJKI\n  enumerator :: G_UNICODE_SCRIPT_KHUDAWADI\n  enumerator :: G_UNICODE_SCRIPT_LINEAR_A\n  enumerator :: G_UNICODE_SCRIPT_MAHAJANI\n  enumerator :: G_UNICODE_SCRIPT_MANICHAEAN\n  enumerator :: G_UNICODE_SCRIPT_MENDE_KIKAKUI\n  enumerator :: G_UNICODE_SCRIPT_MODI\n  enumerator :: G_UNICODE_SCRIPT_MRO\n  enumerator :: G_UNICODE_SCRIPT_NABATAEAN\n  enumerator :: G_UNICODE_SCRIPT_OLD_NORTH_ARABIAN\n  enumerator :: G_UNICODE_SCRIPT_OLD_PERMIC\n  enumerator :: G_UNICODE_SCRIPT_PAHAWH_HMONG\n  enumerator :: G_UNICODE_SCRIPT_PALMYRENE\n  enumerator :: G_UNICODE_SCRIPT_PAU_CIN_HAU\n  enumerator :: G_UNICODE_SCRIPT_PSALTER_PAHLAVI\n  enumerator :: G_UNICODE_SCRIPT_SIDDHAM\n  enumerator :: G_UNICODE_SCRIPT_TIRHUTA\n  enumerator :: G_UNICODE_SCRIPT_WARANG_CITI\n  enumerator :: G_UNICODE_SCRIPT_AHOM\n  enumerator :: G_UNICODE_SCRIPT_ANATOLIAN_HIEROGLYPHS\n  enumerator :: G_UNICODE_SCRIPT_HATRAN\n  enumerator :: G_UNICODE_SCRIPT_MULTANI\n  enumerator :: G_UNICODE_SCRIPT_OLD_HUNGARIAN\n  enumerator :: G_UNICODE_SCRIPT_SIGNWRITING\n  enumerator :: G_UNICODE_SCRIPT_ADLAM\n  enumerator :: G_UNICODE_SCRIPT_BHAIKSUKI\n  enumerator :: G_UNICODE_SCRIPT_MARCHEN\n  enumerator :: G_UNICODE_SCRIPT_NEWA\n  enumerator :: G_UNICODE_SCRIPT_OSAGE\n  enumerator :: G_UNICODE_SCRIPT_TANGUT\n  enumerator :: G_UNICODE_SCRIPT_MASARAM_GONDI\n  enumerator :: G_UNICODE_SCRIPT_NUSHU\n  enumerator :: G_UNICODE_SCRIPT_SOYOMBO\n  enumerator :: G_UNICODE_SCRIPT_ZANABAZAR_SQUARE\n  enumerator :: G_UNICODE_SCRIPT_DOGRA\n  enumerator :: G_UNICODE_SCRIPT_GUNJALA_GONDI\n  enumerator :: G_UNICODE_SCRIPT_HANIFI_ROHINGYA\n  enumerator :: G_UNICODE_SCRIPT_MAKASAR\n  enumerator :: G_UNICODE_SCRIPT_MEDEFAIDRIN\n  enumerator :: G_UNICODE_SCRIPT_OLD_SOGDIAN\n  enumerator :: G_UNICODE_SCRIPT_SOGDIAN\n  enumerator :: G_UNICODE_SCRIPT_ELYMAIC\n  enumerator :: G_UNICODE_SCRIPT_NANDINAGARI\n  enumerator :: G_UNICODE_SCRIPT_NYIAKENG_PUACHUE_HMONG\n  enumerator :: G_UNICODE_SCRIPT_WANCHO\n  enumerator :: G_UNICODE_SCRIPT_CHORASMIAN\n  enumerator :: G_UNICODE_SCRIPT_DIVES_AKURU\n  enumerator :: G_UNICODE_SCRIPT_KHITAN_SMALL_SCRIPT\n  enumerator :: G_UNICODE_SCRIPT_YEZIDI\n  enumerator :: G_UNICODE_SCRIPT_CYPRO_MINOAN\n  enumerator :: G_UNICODE_SCRIPT_OLD_UYGHUR\n  enumerator :: G_UNICODE_SCRIPT_TANGSA\n  enumerator :: G_UNICODE_SCRIPT_TOTO\n  enumerator :: G_UNICODE_SCRIPT_VITHKUQI\n  enumerator :: G_UNICODE_SCRIPT_MATH\n  enumerator :: G_UNICODE_SCRIPT_KAWI\n  enumerator :: G_UNICODE_SCRIPT_NAG_MUNDARI\n  enumerator :: G_UNICODE_SCRIPT_TODHRI\n  enumerator :: G_UNICODE_SCRIPT_GARAY\n  enumerator :: G_UNICODE_SCRIPT_TULU_TIGALARI\n  enumerator :: G_UNICODE_SCRIPT_SUNUWAR\n  enumerator :: G_UNICODE_SCRIPT_GURUNG_KHEMA\n  enumerator :: G_UNICODE_SCRIPT_KIRAT_RAI\n  enumerator :: G_UNICODE_SCRIPT_OL_ONAL\nend enum\n\nenum, bind(c)    !GNormalizeMode\n  enumerator :: G_NORMALIZE_DEFAULT\n  enumerator :: G_NORMALIZE_NFD = G_NORMALIZE_DEFAULT\n  enumerator :: G_NORMALIZE_DEFAULT_COMPOSE\n  enumerator :: G_NORMALIZE_NFC = G_NORMALIZE_DEFAULT_COMPOSE\n  enumerator :: G_NORMALIZE_ALL\n  enumerator :: G_NORMALIZE_NFKD = G_NORMALIZE_ALL\n  enumerator :: G_NORMALIZE_ALL_COMPOSE\n  enumerator :: G_NORMALIZE_NFKC = G_NORMALIZE_ALL_COMPOSE\nend enum\n\n! guri.h\nenum, bind(c)    !GUriFlags\n  enumerator :: G_URI_FLAGS_NONE = 0\n  enumerator :: G_URI_FLAGS_PARSE_RELAXED = ISHFTC(1, 0)\n  enumerator :: G_URI_FLAGS_HAS_PASSWORD = ISHFTC(1, 1)\n  enumerator :: G_URI_FLAGS_HAS_AUTH_PARAMS = ISHFTC(1, 2)\n  enumerator :: G_URI_FLAGS_ENCODED = ISHFTC(1, 3)\n  enumerator :: G_URI_FLAGS_NON_DNS = ISHFTC(1, 4)\n  enumerator :: G_URI_FLAGS_ENCODED_QUERY = ISHFTC(1, 5)\n  enumerator :: G_URI_FLAGS_ENCODED_PATH = ISHFTC(1, 6)\n  enumerator :: G_URI_FLAGS_ENCODED_FRAGMENT = ISHFTC(1, 7)\n  enumerator :: G_URI_FLAGS_SCHEME_NORMALIZE  = ISHFTC(1, 8)\nend enum\n\nenum, bind(c)    !GUriHideFlags\n  enumerator :: G_URI_HIDE_NONE = 0\n  enumerator :: G_URI_HIDE_USERINFO = ISHFTC(1, 0)\n  enumerator :: G_URI_HIDE_PASSWORD = ISHFTC(1, 1)\n  enumerator :: G_URI_HIDE_AUTH_PARAMS = ISHFTC(1, 2)\n  enumerator :: G_URI_HIDE_QUERY = ISHFTC(1, 3)\n  enumerator :: G_URI_HIDE_FRAGMENT = ISHFTC(1, 4)\nend enum\n\nenum, bind(c)    !GUriParamsFlags\n  enumerator :: G_URI_PARAMS_NONE = 0\n  enumerator :: G_URI_PARAMS_CASE_INSENSITIVE = ISHFTC(1, 0)\n  enumerator :: G_URI_PARAMS_WWW_FORM = ISHFTC(1, 1)\n  enumerator :: G_URI_PARAMS_PARSE_RELAXED = ISHFTC(1, 2)\nend enum\n\nenum, bind(c)    !GUriError\n  enumerator :: G_URI_ERROR_FAILED\n  enumerator :: G_URI_ERROR_BAD_SCHEME\n  enumerator :: G_URI_ERROR_BAD_USER\n  enumerator :: G_URI_ERROR_BAD_PASSWORD\n  enumerator :: G_URI_ERROR_BAD_AUTH_PARAMS\n  enumerator :: G_URI_ERROR_BAD_HOST\n  enumerator :: G_URI_ERROR_BAD_PORT\n  enumerator :: G_URI_ERROR_BAD_PATH\n  enumerator :: G_URI_ERROR_BAD_QUERY\n  enumerator :: G_URI_ERROR_BAD_FRAGMENT\nend enum\n\n! gutils.h\nenum, bind(c)    !GUserDirectory\n  enumerator :: G_USER_DIRECTORY_DESKTOP\n  enumerator :: G_USER_DIRECTORY_DOCUMENTS\n  enumerator :: G_USER_DIRECTORY_DOWNLOAD\n  enumerator :: G_USER_DIRECTORY_MUSIC\n  enumerator :: G_USER_DIRECTORY_PICTURES\n  enumerator :: G_USER_DIRECTORY_PUBLIC_SHARE\n  enumerator :: G_USER_DIRECTORY_TEMPLATES\n  enumerator :: G_USER_DIRECTORY_VIDEOS\n  enumerator :: G_USER_N_DIRECTORIES\nend enum\n\nenum, bind(c)    !GFormatSizeFlags\n  enumerator :: G_FORMAT_SIZE_DEFAULT = 0\n  enumerator :: G_FORMAT_SIZE_LONG_FORMAT = ISHFTC(1, 0)\n  enumerator :: G_FORMAT_SIZE_IEC_UNITS = ISHFTC(1, 1)\n  enumerator :: G_FORMAT_SIZE_BITS = ISHFTC(1, 2)\n  enumerator :: G_FORMAT_SIZE_ONLY_VALUE  = ISHFTC(1, 3)\n  enumerator :: G_FORMAT_SIZE_ONLY_UNIT  = ISHFTC(1, 4)\nend enum\n\n! guuid.h\n! gvariant.h\nenum, bind(c)    !GVariantClass\n  enumerator :: G_VARIANT_CLASS_BOOLEAN = iachar('b')\n  enumerator :: G_VARIANT_CLASS_BYTE = iachar('y')\n  enumerator :: G_VARIANT_CLASS_INT16 = iachar('n')\n  enumerator :: G_VARIANT_CLASS_UINT16 = iachar('q')\n  enumerator :: G_VARIANT_CLASS_INT32 = iachar('i')\n  enumerator :: G_VARIANT_CLASS_UINT32 = iachar('u')\n  enumerator :: G_VARIANT_CLASS_INT64 = iachar('x')\n  enumerator :: G_VARIANT_CLASS_UINT64 = iachar('t')\n  enumerator :: G_VARIANT_CLASS_HANDLE = iachar('h')\n  enumerator :: G_VARIANT_CLASS_DOUBLE = iachar('d')\n  enumerator :: G_VARIANT_CLASS_STRING = iachar('s')\n  enumerator :: G_VARIANT_CLASS_OBJECT_PATH = iachar('o')\n  enumerator :: G_VARIANT_CLASS_SIGNATURE = iachar('g')\n  enumerator :: G_VARIANT_CLASS_VARIANT = iachar('v')\n  enumerator :: G_VARIANT_CLASS_MAYBE = iachar('m')\n  enumerator :: G_VARIANT_CLASS_ARRAY = iachar('a')\n  enumerator :: G_VARIANT_CLASS_TUPLE = iachar('(')\n  enumerator :: G_VARIANT_CLASS_DICT_ENTRY = iachar('{')\nend enum\n\nenum, bind(c)    !GVariantParseError\n  enumerator :: G_VARIANT_PARSE_ERROR_FAILED\n  enumerator :: G_VARIANT_PARSE_ERROR_BASIC_TYPE_EXPECTED\n  enumerator :: G_VARIANT_PARSE_ERROR_CANNOT_INFER_TYPE\n  enumerator :: G_VARIANT_PARSE_ERROR_DEFINITE_TYPE_EXPECTED\n  enumerator :: G_VARIANT_PARSE_ERROR_INPUT_NOT_AT_END\n  enumerator :: G_VARIANT_PARSE_ERROR_INVALID_CHARACTER\n  enumerator :: G_VARIANT_PARSE_ERROR_INVALID_FORMAT_STRING\n  enumerator :: G_VARIANT_PARSE_ERROR_INVALID_OBJECT_PATH\n  enumerator :: G_VARIANT_PARSE_ERROR_INVALID_SIGNATURE\n  enumerator :: G_VARIANT_PARSE_ERROR_INVALID_TYPE_STRING\n  enumerator :: G_VARIANT_PARSE_ERROR_NO_COMMON_TYPE\n  enumerator :: G_VARIANT_PARSE_ERROR_NUMBER_OUT_OF_RANGE\n  enumerator :: G_VARIANT_PARSE_ERROR_NUMBER_TOO_BIG\n  enumerator :: G_VARIANT_PARSE_ERROR_TYPE_ERROR\n  enumerator :: G_VARIANT_PARSE_ERROR_UNEXPECTED_TOKEN\n  enumerator :: G_VARIANT_PARSE_ERROR_UNKNOWN_KEYWORD\n  enumerator :: G_VARIANT_PARSE_ERROR_UNTERMINATED_STRING_CONSTANT\n  enumerator :: G_VARIANT_PARSE_ERROR_VALUE_EXPECTED\n  enumerator :: G_VARIANT_PARSE_ERROR_RECURSION\nend enum\n\n! gvarianttype.h\n! gversion.h\n! gversionmacros.h\n! gallocator.h\n! gcache.h\n! gcompletion.h\n! gmain.h\n! grel.h\n! gthread.h\nenum, bind(c)    !GThreadPriority\n  enumerator :: G_THREAD_PRIORITY_LOW\n  enumerator :: G_THREAD_PRIORITY_NORMAL\n  enumerator :: G_THREAD_PRIORITY_HIGH\n  enumerator :: G_THREAD_PRIORITY_URGENT\nend enum\n\n! gmodule-visibility.h\n! gbinding.h\nenum, bind(c)    !GBindingFlags\n  enumerator :: G_BINDING_DEFAULT = 0\n  enumerator :: G_BINDING_BIDIRECTIONAL = ISHFTC(1, 0)\n  enumerator :: G_BINDING_SYNC_CREATE = ISHFTC(1, 1)\n  enumerator :: G_BINDING_INVERT_BOOLEAN = ISHFTC(1, 2)\nend enum\n\n! gbindinggroup.h\n! gboxed.h\n! gclosure.h\n! genums.h\n! glib-enumtypes.h\n! glib-types.h\n! gmarshal.h\n! gobject-autocleanups.h\n! gobject-visibility.h\n! gobject.h\n! gparam.h\nenum, bind(c)    !GParamFlags\n  enumerator :: G_PARAM_READABLE = ISHFTC(1, 0)\n  enumerator :: G_PARAM_WRITABLE = ISHFTC(1, 1)\n  enumerator :: G_PARAM_READWRITE = ior(G_PARAM_READABLE , G_PARAM_WRITABLE)\n  enumerator :: G_PARAM_CONSTRUCT = ISHFTC(1, 2)\n  enumerator :: G_PARAM_CONSTRUCT_ONLY = ISHFTC(1, 3)\n  enumerator :: G_PARAM_LAX_VALIDATION = ISHFTC(1, 4)\n  enumerator :: G_PARAM_STATIC_NAME = ISHFTC(1, 5)\n  enumerator :: G_PARAM_PRIVATE = G_PARAM_STATIC_NAME\n  enumerator :: G_PARAM_STATIC_NICK = ISHFTC(1, 6)\n  enumerator :: G_PARAM_STATIC_BLURB = ISHFTC(1, 7)\n  enumerator :: G_PARAM_EXPLICIT_NOTIFY = ISHFTC(1, 30)\n\nend enum\n\n! gparamspecs.h\n! gsignal.h\nenum, bind(c)    !GSignalFlags\n  enumerator :: G_SIGNAL_RUN_FIRST = ISHFTC(1, 0)\n  enumerator :: G_SIGNAL_RUN_LAST = ISHFTC(1, 1)\n  enumerator :: G_SIGNAL_RUN_CLEANUP = ISHFTC(1, 2)\n  enumerator :: G_SIGNAL_NO_RECURSE = ISHFTC(1, 3)\n  enumerator :: G_SIGNAL_DETAILED = ISHFTC(1, 4)\n  enumerator :: G_SIGNAL_ACTION = ISHFTC(1, 5)\n  enumerator :: G_SIGNAL_NO_HOOKS = ISHFTC(1, 6)\n  enumerator :: G_SIGNAL_MUST_COLLECT = ISHFTC(1, 7)\n  enumerator :: G_SIGNAL_DEPRECATED = ISHFTC(1, 8)\n  enumerator :: G_SIGNAL_ACCUMULATOR_FIRST_RUN = ISHFTC(1, 17)\nend enum\n\nenum, bind(c)    !GConnectFlags\n  enumerator :: G_CONNECT_DEFAULT  = 0\n  enumerator :: G_CONNECT_AFTER = ISHFTC(1, 0)\n  enumerator :: G_CONNECT_SWAPPED = ISHFTC(1, 1)\nend enum\n\nenum, bind(c)    !GSignalMatchType\n  enumerator :: G_SIGNAL_MATCH_ID = ISHFTC(1, 0)\n  enumerator :: G_SIGNAL_MATCH_DETAIL = ISHFTC(1, 1)\n  enumerator :: G_SIGNAL_MATCH_CLOSURE = ISHFTC(1, 2)\n  enumerator :: G_SIGNAL_MATCH_FUNC = ISHFTC(1, 3)\n  enumerator :: G_SIGNAL_MATCH_DATA = ISHFTC(1, 4)\n  enumerator :: G_SIGNAL_MATCH_UNBLOCKED = ISHFTC(1, 5)\nend enum\n\n! gsignalgroup.h\n! gsourceclosure.h\n! gtype.h\nenum, bind(c)    !GTypeDebugFlags\n  enumerator :: G_TYPE_DEBUG_NONE = 0\n  enumerator :: G_TYPE_DEBUG_OBJECTS = ISHFTC(1, 0)\n  enumerator :: G_TYPE_DEBUG_SIGNALS = ISHFTC(1, 1)\n  enumerator :: G_TYPE_DEBUG_INSTANCE_COUNT = ISHFTC(1, 2)\n  enumerator :: G_TYPE_DEBUG_MASK = INT(z'07')\nend enum\n\nenum, bind(c)    !GTypeFundamentalFlags\n  enumerator :: G_TYPE_FLAG_CLASSED = ISHFTC(1, 0)\n  enumerator :: G_TYPE_FLAG_INSTANTIATABLE = ISHFTC(1, 1)\n  enumerator :: G_TYPE_FLAG_DERIVABLE = ISHFTC(1, 2)\n  enumerator :: G_TYPE_FLAG_DEEP_DERIVABLE = ISHFTC(1, 3)\nend enum\n\nenum, bind(c)    !GTypeFlags\n  enumerator :: G_TYPE_FLAG_NONE  = 0\n  enumerator :: G_TYPE_FLAG_ABSTRACT = ISHFTC(1, 4)\n  enumerator :: G_TYPE_FLAG_VALUE_ABSTRACT = ISHFTC(1, 5)\n  enumerator :: G_TYPE_FLAG_FINAL  = ISHFTC(1, 6)\n  enumerator :: G_TYPE_FLAG_DEPRECATED  = ISHFTC(1, 7)\nend enum\n\n! gtypemodule.h\n! gtypeplugin.h\n! gvalue.h\n! gvaluearray.h\n! gvaluecollector.h\n! gvaluetypes.h\n! gdk.h\n! gdkapplaunchcontext.h\n! gdkcairo.h\n! gdkcairocontext.h\n! gdkcicpparams.h\nenum, bind(c)    !GdkCicpRange\n  enumerator :: GDK_CICP_RANGE_NARROW\n  enumerator :: GDK_CICP_RANGE_FULL\nend enum\n\n! gdkclipboard.h\n! gdkcolorstate.h\n! gdkconfig.h\n! gdkcontentdeserializer.h\n! gdkcontentformats.h\n! gdkcontentprovider.h\n! gdkcontentproviderimpl.h\n! gdkcontentserializer.h\n! gdkcursor.h\n! gdkdevice.h\nenum, bind(c)    !GdkInputSource\n  enumerator :: GDK_SOURCE_MOUSE\n  enumerator :: GDK_SOURCE_PEN\n  enumerator :: GDK_SOURCE_KEYBOARD\n  enumerator :: GDK_SOURCE_TOUCHSCREEN\n  enumerator :: GDK_SOURCE_TOUCHPAD\n  enumerator :: GDK_SOURCE_TRACKPOINT\n  enumerator :: GDK_SOURCE_TABLET_PAD\nend enum\n\n! gdkdevicepad.h\nenum, bind(c)    !GdkDevicePadFeature\n  enumerator :: GDK_DEVICE_PAD_FEATURE_BUTTON\n  enumerator :: GDK_DEVICE_PAD_FEATURE_RING\n  enumerator :: GDK_DEVICE_PAD_FEATURE_STRIP\nend enum\n\n! gdkdevicetool.h\nenum, bind(c)    !GdkDeviceToolType\n  enumerator :: GDK_DEVICE_TOOL_TYPE_UNKNOWN\n  enumerator :: GDK_DEVICE_TOOL_TYPE_PEN\n  enumerator :: GDK_DEVICE_TOOL_TYPE_ERASER\n  enumerator :: GDK_DEVICE_TOOL_TYPE_BRUSH\n  enumerator :: GDK_DEVICE_TOOL_TYPE_PENCIL\n  enumerator :: GDK_DEVICE_TOOL_TYPE_AIRBRUSH\n  enumerator :: GDK_DEVICE_TOOL_TYPE_MOUSE\n  enumerator :: GDK_DEVICE_TOOL_TYPE_LENS\nend enum\n\n! gdkdisplay.h\n! gdkdisplaymanager.h\n! gdkdmabufformats.h\n! gdkdmabuftexture.h\n! gdkdmabuftexturebuilder.h\n! gdkdrag.h\nenum, bind(c)    !GdkDragCancelReason\n  enumerator :: GDK_DRAG_CANCEL_NO_TARGET\n  enumerator :: GDK_DRAG_CANCEL_USER_CANCELLED\n  enumerator :: GDK_DRAG_CANCEL_ERROR\nend enum\n\n! gdkdragsurface.h\n! gdkdragsurfacesize.h\n! gdkdrawcontext.h\n! gdkdrop.h\n! gdkenums.h\nenum, bind(c)    !GdkGLAPI\n  enumerator :: GDK_GL_API_GL = ISHFTC(1, 0)\n  enumerator :: GDK_GL_API_GLES = ISHFTC(1, 1)\nend enum\n\nenum, bind(c)    !GdkGravity\n  enumerator :: GDK_GRAVITY_NORTH_WEST = 1\n  enumerator :: GDK_GRAVITY_NORTH\n  enumerator :: GDK_GRAVITY_NORTH_EAST\n  enumerator :: GDK_GRAVITY_WEST\n  enumerator :: GDK_GRAVITY_CENTER\n  enumerator :: GDK_GRAVITY_EAST\n  enumerator :: GDK_GRAVITY_SOUTH_WEST\n  enumerator :: GDK_GRAVITY_SOUTH\n  enumerator :: GDK_GRAVITY_SOUTH_EAST\n  enumerator :: GDK_GRAVITY_STATIC\nend enum\n\nenum, bind(c)    !GdkModifierType\n  enumerator :: GDK_NO_MODIFIER_MASK  = 0\n  enumerator :: GDK_SHIFT_MASK = ISHFTC(1, 0)\n  enumerator :: GDK_LOCK_MASK = ISHFTC(1, 1)\n  enumerator :: GDK_CONTROL_MASK = ISHFTC(1, 2)\n  enumerator :: GDK_ALT_MASK = ISHFTC(1, 3)\n  enumerator :: GDK_BUTTON1_MASK = ISHFTC(1, 8)\n  enumerator :: GDK_BUTTON2_MASK = ISHFTC(1, 9)\n  enumerator :: GDK_BUTTON3_MASK = ISHFTC(1, 10)\n  enumerator :: GDK_BUTTON4_MASK = ISHFTC(1, 11)\n  enumerator :: GDK_BUTTON5_MASK = ISHFTC(1, 12)\n  enumerator :: GDK_SUPER_MASK = ISHFTC(1, 26)\n  enumerator :: GDK_HYPER_MASK = ISHFTC(1, 27)\n  enumerator :: GDK_META_MASK = ISHFTC(1, 28)\nend enum\n\nenum, bind(c)    !GdkDmabufError\n  enumerator :: GDK_DMABUF_ERROR_NOT_AVAILABLE\n  enumerator :: GDK_DMABUF_ERROR_UNSUPPORTED_FORMAT\n  enumerator :: GDK_DMABUF_ERROR_CREATION_FAILED\nend enum\n\nenum, bind(c)    !GdkGLError\n  enumerator :: GDK_GL_ERROR_NOT_AVAILABLE\n  enumerator :: GDK_GL_ERROR_UNSUPPORTED_FORMAT\n  enumerator :: GDK_GL_ERROR_UNSUPPORTED_PROFILE\n  enumerator :: GDK_GL_ERROR_COMPILATION_FAILED\n  enumerator :: GDK_GL_ERROR_LINK_FAILED\nend enum\n\nenum, bind(c)    !GdkVulkanError\n  enumerator :: GDK_VULKAN_ERROR_UNSUPPORTED\n  enumerator :: GDK_VULKAN_ERROR_NOT_AVAILABLE\nend enum\n\nenum, bind(c)    !GdkAxisUse\n  enumerator :: GDK_AXIS_IGNORE\n  enumerator :: GDK_AXIS_X\n  enumerator :: GDK_AXIS_Y\n  enumerator :: GDK_AXIS_DELTA_X\n  enumerator :: GDK_AXIS_DELTA_Y\n  enumerator :: GDK_AXIS_PRESSURE\n  enumerator :: GDK_AXIS_XTILT\n  enumerator :: GDK_AXIS_YTILT\n  enumerator :: GDK_AXIS_WHEEL\n  enumerator :: GDK_AXIS_DISTANCE\n  enumerator :: GDK_AXIS_ROTATION\n  enumerator :: GDK_AXIS_SLIDER\n  enumerator :: GDK_AXIS_LAST\nend enum\n\nenum, bind(c)    !GdkDragAction\n  enumerator :: GDK_ACTION_NONE  = 0\n  enumerator :: GDK_ACTION_COPY = ISHFTC(1, 0)\n  enumerator :: GDK_ACTION_MOVE = ISHFTC(1, 1)\n  enumerator :: GDK_ACTION_LINK = ISHFTC(1, 2)\n  enumerator :: GDK_ACTION_ASK = ISHFTC(1, 3)\nend enum\n\nenum, bind(c)    !GdkScrollRelativeDirection\n  enumerator :: GDK_SCROLL_RELATIVE_DIRECTION_IDENTICAL\n  enumerator :: GDK_SCROLL_RELATIVE_DIRECTION_INVERTED\n  enumerator :: GDK_SCROLL_RELATIVE_DIRECTION_UNKNOWN\nend enum\n\nenum, bind(c)    !GdkMemoryFormat\n  enumerator :: GDK_MEMORY_B8G8R8A8_PREMULTIPLIED\n  enumerator :: GDK_MEMORY_A8R8G8B8_PREMULTIPLIED\n  enumerator :: GDK_MEMORY_R8G8B8A8_PREMULTIPLIED\n  enumerator :: GDK_MEMORY_B8G8R8A8\n  enumerator :: GDK_MEMORY_A8R8G8B8\n  enumerator :: GDK_MEMORY_R8G8B8A8\n  enumerator :: GDK_MEMORY_A8B8G8R8\n  enumerator :: GDK_MEMORY_R8G8B8\n  enumerator :: GDK_MEMORY_B8G8R8\n  enumerator :: GDK_MEMORY_R16G16B16\n  enumerator :: GDK_MEMORY_R16G16B16A16_PREMULTIPLIED\n  enumerator :: GDK_MEMORY_R16G16B16A16\n  enumerator :: GDK_MEMORY_R16G16B16_FLOAT\n  enumerator :: GDK_MEMORY_R16G16B16A16_FLOAT_PREMULTIPLIED\n  enumerator :: GDK_MEMORY_R16G16B16A16_FLOAT\n  enumerator :: GDK_MEMORY_R32G32B32_FLOAT\n  enumerator :: GDK_MEMORY_R32G32B32A32_FLOAT_PREMULTIPLIED\n  enumerator :: GDK_MEMORY_R32G32B32A32_FLOAT\n  enumerator :: GDK_MEMORY_G8A8_PREMULTIPLIED\n  enumerator :: GDK_MEMORY_G8A8\n  enumerator :: GDK_MEMORY_G8\n  enumerator :: GDK_MEMORY_G16A16_PREMULTIPLIED\n  enumerator :: GDK_MEMORY_G16A16\n  enumerator :: GDK_MEMORY_G16\n  enumerator :: GDK_MEMORY_A8\n  enumerator :: GDK_MEMORY_A16\n  enumerator :: GDK_MEMORY_A16_FLOAT\n  enumerator :: GDK_MEMORY_A32_FLOAT\n  enumerator :: GDK_MEMORY_A8B8G8R8_PREMULTIPLIED\n  enumerator :: GDK_MEMORY_B8G8R8X8\n  enumerator :: GDK_MEMORY_X8R8G8B8\n  enumerator :: GDK_MEMORY_R8G8B8X8\n  enumerator :: GDK_MEMORY_X8B8G8R8\n  enumerator :: GDK_MEMORY_G8_B8R8_420\n  enumerator :: GDK_MEMORY_G8_R8B8_420\n  enumerator :: GDK_MEMORY_G8_B8R8_422\n  enumerator :: GDK_MEMORY_G8_R8B8_422\n  enumerator :: GDK_MEMORY_G8_B8R8_444\n  enumerator :: GDK_MEMORY_G8_R8B8_444\n  enumerator :: GDK_MEMORY_G10X6_B10X6R10X6_420\n  enumerator :: GDK_MEMORY_G12X4_B12X4R12X4_420\n  enumerator :: GDK_MEMORY_G16_B16R16_420\n  enumerator :: GDK_MEMORY_G8_B8_R8_410\n  enumerator :: GDK_MEMORY_G8_R8_B8_410\n  enumerator :: GDK_MEMORY_G8_B8_R8_411\n  enumerator :: GDK_MEMORY_G8_R8_B8_411\n  enumerator :: GDK_MEMORY_G8_B8_R8_420\n  enumerator :: GDK_MEMORY_G8_R8_B8_420\n  enumerator :: GDK_MEMORY_G8_B8_R8_422\n  enumerator :: GDK_MEMORY_G8_R8_B8_422\n  enumerator :: GDK_MEMORY_G8_B8_R8_444\n  enumerator :: GDK_MEMORY_G8_R8_B8_444\n  enumerator :: GDK_MEMORY_G8B8G8R8_422\n  enumerator :: GDK_MEMORY_G8R8G8B8_422\n  enumerator :: GDK_MEMORY_R8G8B8G8_422\n  enumerator :: GDK_MEMORY_B8G8R8G8_422\n  enumerator :: GDK_MEMORY_X6G10_X6B10_X6R10_420\n  enumerator :: GDK_MEMORY_X6G10_X6B10_X6R10_422\n  enumerator :: GDK_MEMORY_X6G10_X6B10_X6R10_444\n  enumerator :: GDK_MEMORY_X4G12_X4B12_X4R12_420\n  enumerator :: GDK_MEMORY_X4G12_X4B12_X4R12_422\n  enumerator :: GDK_MEMORY_X4G12_X4B12_X4R12_444\n  enumerator :: GDK_MEMORY_G16_B16_R16_420\n  enumerator :: GDK_MEMORY_G16_B16_R16_422\n  enumerator :: GDK_MEMORY_G16_B16_R16_444\n  enumerator :: GDK_MEMORY_N_FORMATS\nend enum\n\n! gdkenumtypes.h\n! gdkevents.h\nenum, bind(c)    !GdkEventType\n  enumerator :: GDK_DELETE\n  enumerator :: GDK_MOTION_NOTIFY\n  enumerator :: GDK_BUTTON_PRESS\n  enumerator :: GDK_BUTTON_RELEASE\n  enumerator :: GDK_KEY_PRESS\n  enumerator :: GDK_KEY_RELEASE\n  enumerator :: GDK_ENTER_NOTIFY\n  enumerator :: GDK_LEAVE_NOTIFY\n  enumerator :: GDK_FOCUS_CHANGE\n  enumerator :: GDK_PROXIMITY_IN\n  enumerator :: GDK_PROXIMITY_OUT\n  enumerator :: GDK_DRAG_ENTER\n  enumerator :: GDK_DRAG_LEAVE\n  enumerator :: GDK_DRAG_MOTION_F\n  enumerator :: GDK_DROP_START\n  enumerator :: GDK_SCROLL\n  enumerator :: GDK_GRAB_BROKEN\n  enumerator :: GDK_TOUCH_BEGIN\n  enumerator :: GDK_TOUCH_UPDATE\n  enumerator :: GDK_TOUCH_END\n  enumerator :: GDK_TOUCH_CANCEL\n  enumerator :: GDK_TOUCHPAD_SWIPE\n  enumerator :: GDK_TOUCHPAD_PINCH\n  enumerator :: GDK_PAD_BUTTON_PRESS\n  enumerator :: GDK_PAD_BUTTON_RELEASE\n  enumerator :: GDK_PAD_RING\n  enumerator :: GDK_PAD_STRIP\n  enumerator :: GDK_PAD_GROUP_MODE\n  enumerator :: GDK_TOUCHPAD_HOLD\n  enumerator :: GDK_PAD_DIAL\n  enumerator :: GDK_EVENT_LAST\nend enum\n\nenum, bind(c)    !GdkTouchpadGesturePhase\n  enumerator :: GDK_TOUCHPAD_GESTURE_PHASE_BEGIN\n  enumerator :: GDK_TOUCHPAD_GESTURE_PHASE_UPDATE\n  enumerator :: GDK_TOUCHPAD_GESTURE_PHASE_END\n  enumerator :: GDK_TOUCHPAD_GESTURE_PHASE_CANCEL\nend enum\n\nenum, bind(c)    !GdkScrollDirection\n  enumerator :: GDK_SCROLL_UP\n  enumerator :: GDK_SCROLL_DOWN\n  enumerator :: GDK_SCROLL_LEFT\n  enumerator :: GDK_SCROLL_RIGHT\n  enumerator :: GDK_SCROLL_SMOOTH\nend enum\n\nenum, bind(c)    !GdkScrollUnit\n  enumerator :: GDK_SCROLL_UNIT_WHEEL\n  enumerator :: GDK_SCROLL_UNIT_SURFACE\nend enum\n\nenum, bind(c)    !GdkNotifyType\n  enumerator :: GDK_NOTIFY_ANCESTOR = 0\n  enumerator :: GDK_NOTIFY_VIRTUAL = 1\n  enumerator :: GDK_NOTIFY_INFERIOR = 2\n  enumerator :: GDK_NOTIFY_NONLINEAR = 3\n  enumerator :: GDK_NOTIFY_NONLINEAR_VIRTUAL = 4\n  enumerator :: GDK_NOTIFY_UNKNOWN = 5\nend enum\n\nenum, bind(c)    !GdkCrossingMode\n  enumerator :: GDK_CROSSING_NORMAL\n  enumerator :: GDK_CROSSING_GRAB\n  enumerator :: GDK_CROSSING_UNGRAB\n  enumerator :: GDK_CROSSING_GTK_GRAB\n  enumerator :: GDK_CROSSING_GTK_UNGRAB\n  enumerator :: GDK_CROSSING_STATE_CHANGED\n  enumerator :: GDK_CROSSING_TOUCH_BEGIN\n  enumerator :: GDK_CROSSING_TOUCH_END\n  enumerator :: GDK_CROSSING_DEVICE_SWITCH\nend enum\n\nenum, bind(c)    !GdkKeyMatch\n  enumerator :: GDK_KEY_MATCH_NONE\n  enumerator :: GDK_KEY_MATCH_PARTIAL\n  enumerator :: GDK_KEY_MATCH_EXACT\nend enum\n\n! gdkframeclock.h\nenum, bind(c)    !GdkFrameClockPhase\n  enumerator :: GDK_FRAME_CLOCK_PHASE_NONE = 0\n  enumerator :: GDK_FRAME_CLOCK_PHASE_FLUSH_EVENTS = ISHFTC(1, 0)\n  enumerator :: GDK_FRAME_CLOCK_PHASE_BEFORE_PAINT = ISHFTC(1, 1)\n  enumerator :: GDK_FRAME_CLOCK_PHASE_UPDATE = ISHFTC(1, 2)\n  enumerator :: GDK_FRAME_CLOCK_PHASE_LAYOUT = ISHFTC(1, 3)\n  enumerator :: GDK_FRAME_CLOCK_PHASE_PAINT = ISHFTC(1, 4)\n  enumerator :: GDK_FRAME_CLOCK_PHASE_RESUME_EVENTS = ISHFTC(1, 5)\n  enumerator :: GDK_FRAME_CLOCK_PHASE_AFTER_PAINT = ISHFTC(1, 6)\nend enum\n\n! gdkframetimings.h\n! gdkglcontext.h\n! gdkgltexture.h\n! gdkgltexturebuilder.h\n! gdkkeys.h\n! gdkkeysyms.h\n! gdkmemorytexture.h\n! gdkmemorytexturebuilder.h\n! gdkmonitor.h\nenum, bind(c)    !GdkSubpixelLayout\n  enumerator :: GDK_SUBPIXEL_LAYOUT_UNKNOWN\n  enumerator :: GDK_SUBPIXEL_LAYOUT_NONE\n  enumerator :: GDK_SUBPIXEL_LAYOUT_HORIZONTAL_RGB\n  enumerator :: GDK_SUBPIXEL_LAYOUT_HORIZONTAL_BGR\n  enumerator :: GDK_SUBPIXEL_LAYOUT_VERTICAL_RGB\n  enumerator :: GDK_SUBPIXEL_LAYOUT_VERTICAL_BGR\nend enum\n\n! gdkpaintable.h\nenum, bind(c)    !GdkPaintableFlags\n  enumerator :: GDK_PAINTABLE_STATIC_SIZE = ISHFTC(1, 0)\n  enumerator :: GDK_PAINTABLE_STATIC_CONTENTS = ISHFTC(1, 1)\nend enum\n\n! gdkpango.h\n! gdkpopup.h\n! gdkpopuplayout.h\nenum, bind(c)    !GdkAnchorHints\n  enumerator :: GDK_ANCHOR_FLIP_X = ISHFTC(1, 0)\n  enumerator :: GDK_ANCHOR_FLIP_Y = ISHFTC(1, 1)\n  enumerator :: GDK_ANCHOR_SLIDE_X = ISHFTC(1, 2)\n  enumerator :: GDK_ANCHOR_SLIDE_Y = ISHFTC(1, 3)\n  enumerator :: GDK_ANCHOR_RESIZE_X = ISHFTC(1, 4)\n  enumerator :: GDK_ANCHOR_RESIZE_Y = ISHFTC(1, 5)\n  enumerator :: GDK_ANCHOR_FLIP = ior(GDK_ANCHOR_FLIP_X , GDK_ANCHOR_FLIP_Y)\n  enumerator :: GDK_ANCHOR_SLIDE = ior(GDK_ANCHOR_SLIDE_X , GDK_ANCHOR_SLIDE_Y)\n  enumerator :: GDK_ANCHOR_RESIZE = ior(GDK_ANCHOR_RESIZE_X ,&\n& GDK_ANCHOR_RESIZE_Y)\nend enum\n\n! gdkrectangle.h\n! gdkrgba.h\n! gdkseat.h\n! gdksnapshot.h\n! gdksurface.h\n! gdktexture.h\nenum, bind(c)    !GdkTextureError\n  enumerator :: GDK_TEXTURE_ERROR_TOO_LARGE\n  enumerator :: GDK_TEXTURE_ERROR_CORRUPT_IMAGE\n  enumerator :: GDK_TEXTURE_ERROR_UNSUPPORTED_CONTENT\n  enumerator :: GDK_TEXTURE_ERROR_UNSUPPORTED_FORMAT\nend enum\n\n! gdktexturedownloader.h\n! gdktoplevel.h\nenum, bind(c)    !GdkSurfaceEdge\n  enumerator :: GDK_SURFACE_EDGE_NORTH_WEST\n  enumerator :: GDK_SURFACE_EDGE_NORTH\n  enumerator :: GDK_SURFACE_EDGE_NORTH_EAST\n  enumerator :: GDK_SURFACE_EDGE_WEST\n  enumerator :: GDK_SURFACE_EDGE_EAST\n  enumerator :: GDK_SURFACE_EDGE_SOUTH_WEST\n  enumerator :: GDK_SURFACE_EDGE_SOUTH\n  enumerator :: GDK_SURFACE_EDGE_SOUTH_EAST\nend enum\n\nenum, bind(c)    !GdkFullscreenMode\n  enumerator :: GDK_FULLSCREEN_ON_CURRENT_MONITOR\n  enumerator :: GDK_FULLSCREEN_ON_ALL_MONITORS\nend enum\n\nenum, bind(c)    !GdkToplevelState\n  enumerator :: GDK_TOPLEVEL_STATE_MINIMIZED = ISHFTC(1, 0)\n  enumerator :: GDK_TOPLEVEL_STATE_MAXIMIZED = ISHFTC(1, 1)\n  enumerator :: GDK_TOPLEVEL_STATE_STICKY = ISHFTC(1, 2)\n  enumerator :: GDK_TOPLEVEL_STATE_FULLSCREEN = ISHFTC(1, 3)\n  enumerator :: GDK_TOPLEVEL_STATE_ABOVE = ISHFTC(1, 4)\n  enumerator :: GDK_TOPLEVEL_STATE_BELOW = ISHFTC(1, 5)\n  enumerator :: GDK_TOPLEVEL_STATE_FOCUSED = ISHFTC(1, 6)\n  enumerator :: GDK_TOPLEVEL_STATE_TILED = ISHFTC(1, 7)\n  enumerator :: GDK_TOPLEVEL_STATE_TOP_TILED = ISHFTC(1, 8)\n  enumerator :: GDK_TOPLEVEL_STATE_TOP_RESIZABLE = ISHFTC(1, 9)\n  enumerator :: GDK_TOPLEVEL_STATE_RIGHT_TILED = ISHFTC(1, 10)\n  enumerator :: GDK_TOPLEVEL_STATE_RIGHT_RESIZABLE = ISHFTC(1, 11)\n  enumerator :: GDK_TOPLEVEL_STATE_BOTTOM_TILED = ISHFTC(1, 12)\n  enumerator :: GDK_TOPLEVEL_STATE_BOTTOM_RESIZABLE = ISHFTC(1, 13)\n  enumerator :: GDK_TOPLEVEL_STATE_LEFT_TILED = ISHFTC(1, 14)\n  enumerator :: GDK_TOPLEVEL_STATE_LEFT_RESIZABLE = ISHFTC(1, 15)\n  enumerator :: GDK_TOPLEVEL_STATE_SUSPENDED = ISHFTC(1, 16)\nend enum\n\nenum, bind(c)    !GdkTitlebarGesture\n  enumerator :: GDK_TITLEBAR_GESTURE_DOUBLE_CLICK = 1\n  enumerator :: GDK_TITLEBAR_GESTURE_RIGHT_CLICK = 2\n  enumerator :: GDK_TITLEBAR_GESTURE_MIDDLE_CLICK = 3\nend enum\n\nenum, bind(c)    !GdkToplevelCapabilities\n  enumerator :: GDK_TOPLEVEL_CAPABILITIES_EDGE_CONSTRAINTS = ISHFTC(1, 0)\n  enumerator :: GDK_TOPLEVEL_CAPABILITIES_INHIBIT_SHORTCUTS = ISHFTC(1, 1)\n  enumerator :: GDK_TOPLEVEL_CAPABILITIES_TITLEBAR_GESTURES = ISHFTC(1, 2)\n  enumerator :: GDK_TOPLEVEL_CAPABILITIES_WINDOW_MENU = ISHFTC(1, 3)\n  enumerator :: GDK_TOPLEVEL_CAPABILITIES_MAXIMIZE = ISHFTC(1, 4)\n  enumerator :: GDK_TOPLEVEL_CAPABILITIES_FULLSCREEN = ISHFTC(1, 5)\n  enumerator :: GDK_TOPLEVEL_CAPABILITIES_MINIMIZE = ISHFTC(1, 6)\n  enumerator :: GDK_TOPLEVEL_CAPABILITIES_LOWER = ISHFTC(1, 7)\nend enum\n\n! gdktoplevellayout.h\n! gdktoplevelsize.h\n! gdktypes.h\n! gdkvulkancontext.h\n! gdkbroadway.h\n! gdkbroadwaycursor.h\n! gdkbroadwaydisplay.h\n! gdkbroadwaymonitor.h\n! gdkbroadwaysurface.h\n! gdkpixbuf.h\n! gdk-visibility.h\n! gdkversionmacros.h\n! gdkwayland.h\n! gdkwaylanddevice.h\n! gdkwaylanddisplay.h\n! gdkwaylandglcontext.h\n! gdkwaylandmonitor.h\n! gdkwaylandpopup.h\n! gdkwaylandseat.h\n! gdkwaylandsurface.h\n! gdkwaylandtoplevel.h\n! gdkx-autocleanups.h\n! gdkx.h\n! gdkx11applaunchcontext.h\n! gdkx11device-xi2.h\nenum, bind(c)    !GdkX11DeviceType\n  enumerator :: GDK_X11_DEVICE_TYPE_LOGICAL\n  enumerator :: GDK_X11_DEVICE_TYPE_PHYSICAL\n  enumerator :: GDK_X11_DEVICE_TYPE_FLOATING\nend enum\n\n! gdkx11device.h\n! gdkx11devicemanager-xi2.h\n! gdkx11devicemanager.h\n! gdkx11display.h\n! gdkx11dnd.h\n! gdkx11glcontext.h\n! gdkx11monitor.h\n! gdkx11property.h\n! gdkx11screen.h\n! gdkx11selection.h\n! gdkx11surface.h\n! gdkx11utils.h\n! gsk.h\n! gskcairorenderer.h\n! gskcomponenttransfer.h\n! gskenums.h\nenum, bind(c)    !GskRenderNodeType\n  enumerator :: GSK_NOT_A_RENDER_NODE = 0\n  enumerator :: GSK_CONTAINER_NODE\n  enumerator :: GSK_CAIRO_NODE\n  enumerator :: GSK_COLOR_NODE\n  enumerator :: GSK_LINEAR_GRADIENT_NODE\n  enumerator :: GSK_REPEATING_LINEAR_GRADIENT_NODE\n  enumerator :: GSK_RADIAL_GRADIENT_NODE\n  enumerator :: GSK_REPEATING_RADIAL_GRADIENT_NODE\n  enumerator :: GSK_CONIC_GRADIENT_NODE\n  enumerator :: GSK_BORDER_NODE\n  enumerator :: GSK_TEXTURE_NODE\n  enumerator :: GSK_INSET_SHADOW_NODE\n  enumerator :: GSK_OUTSET_SHADOW_NODE\n  enumerator :: GSK_TRANSFORM_NODE\n  enumerator :: GSK_OPACITY_NODE\n  enumerator :: GSK_COLOR_MATRIX_NODE\n  enumerator :: GSK_REPEAT_NODE\n  enumerator :: GSK_CLIP_NODE\n  enumerator :: GSK_ROUNDED_CLIP_NODE\n  enumerator :: GSK_SHADOW_NODE\n  enumerator :: GSK_BLEND_NODE\n  enumerator :: GSK_CROSS_FADE_NODE\n  enumerator :: GSK_TEXT_NODE\n  enumerator :: GSK_BLUR_NODE\n  enumerator :: GSK_DEBUG_NODE\n  enumerator :: GSK_GL_SHADER_NODE\n  enumerator :: GSK_TEXTURE_SCALE_NODE\n  enumerator :: GSK_MASK_NODE\n  enumerator :: GSK_FILL_NODE\n  enumerator :: GSK_STROKE_NODE\n  enumerator :: GSK_SUBSURFACE_NODE\n  enumerator :: GSK_COMPONENT_TRANSFER_NODE\nend enum\n\nenum, bind(c)    !GskScalingFilter\n  enumerator :: GSK_SCALING_FILTER_LINEAR\n  enumerator :: GSK_SCALING_FILTER_NEAREST\n  enumerator :: GSK_SCALING_FILTER_TRILINEAR\nend enum\n\nenum, bind(c)    !GskBlendMode\n  enumerator :: GSK_BLEND_MODE_DEFAULT = 0\n  enumerator :: GSK_BLEND_MODE_MULTIPLY\n  enumerator :: GSK_BLEND_MODE_SCREEN\n  enumerator :: GSK_BLEND_MODE_OVERLAY\n  enumerator :: GSK_BLEND_MODE_DARKEN\n  enumerator :: GSK_BLEND_MODE_LIGHTEN\n  enumerator :: GSK_BLEND_MODE_COLOR_DODGE\n  enumerator :: GSK_BLEND_MODE_COLOR_BURN\n  enumerator :: GSK_BLEND_MODE_HARD_LIGHT\n  enumerator :: GSK_BLEND_MODE_SOFT_LIGHT\n  enumerator :: GSK_BLEND_MODE_DIFFERENCE\n  enumerator :: GSK_BLEND_MODE_EXCLUSION\n  enumerator :: GSK_BLEND_MODE_COLOR\n  enumerator :: GSK_BLEND_MODE_HUE\n  enumerator :: GSK_BLEND_MODE_SATURATION\n  enumerator :: GSK_BLEND_MODE_LUMINOSITY\nend enum\n\nenum, bind(c)    !GskCorner\n  enumerator :: GSK_CORNER_TOP_LEFT\n  enumerator :: GSK_CORNER_TOP_RIGHT\n  enumerator :: GSK_CORNER_BOTTOM_RIGHT\n  enumerator :: GSK_CORNER_BOTTOM_LEFT\nend enum\n\nenum, bind(c)    !GskFillRule\n  enumerator :: GSK_FILL_RULE_WINDING\n  enumerator :: GSK_FILL_RULE_EVEN_ODD\nend enum\n\nenum, bind(c)    !GskLineCap\n  enumerator :: GSK_LINE_CAP_BUTT\n  enumerator :: GSK_LINE_CAP_ROUND\n  enumerator :: GSK_LINE_CAP_SQUARE\nend enum\n\nenum, bind(c)    !GskLineJoin\n  enumerator :: GSK_LINE_JOIN_MITER\n  enumerator :: GSK_LINE_JOIN_ROUND\n  enumerator :: GSK_LINE_JOIN_BEVEL\nend enum\n\nenum, bind(c)    !GskPathOperation\n  enumerator :: GSK_PATH_MOVE\n  enumerator :: GSK_PATH_CLOSE\n  enumerator :: GSK_PATH_LINE\n  enumerator :: GSK_PATH_QUAD\n  enumerator :: GSK_PATH_CUBIC\n  enumerator :: GSK_PATH_CONIC\nend enum\n\nenum, bind(c)    !GskPathDirection\n  enumerator :: GSK_PATH_FROM_START\n  enumerator :: GSK_PATH_TO_START\n  enumerator :: GSK_PATH_TO_END\n  enumerator :: GSK_PATH_FROM_END\nend enum\n\nenum, bind(c)    !GskSerializationError\n  enumerator :: GSK_SERIALIZATION_UNSUPPORTED_FORMAT\n  enumerator :: GSK_SERIALIZATION_UNSUPPORTED_VERSION\n  enumerator :: GSK_SERIALIZATION_INVALID_DATA\nend enum\n\nenum, bind(c)    !GskTransformCategory\n  enumerator :: GSK_TRANSFORM_CATEGORY_UNKNOWN\n  enumerator :: GSK_TRANSFORM_CATEGORY_ANY\n  enumerator :: GSK_TRANSFORM_CATEGORY_3D\n  enumerator :: GSK_TRANSFORM_CATEGORY_2D\n  enumerator :: GSK_TRANSFORM_CATEGORY_2D_AFFINE\n  enumerator :: GSK_TRANSFORM_CATEGORY_2D_TRANSLATE\n  enumerator :: GSK_TRANSFORM_CATEGORY_IDENTITY\nend enum\n\nenum, bind(c)    !GskGLUniformType\n  enumerator :: GSK_GL_UNIFORM_TYPE_NONE\n  enumerator :: GSK_GL_UNIFORM_TYPE_FLOAT\n  enumerator :: GSK_GL_UNIFORM_TYPE_INT\n  enumerator :: GSK_GL_UNIFORM_TYPE_UINT\n  enumerator :: GSK_GL_UNIFORM_TYPE_BOOL\n  enumerator :: GSK_GL_UNIFORM_TYPE_VEC2\n  enumerator :: GSK_GL_UNIFORM_TYPE_VEC3\n  enumerator :: GSK_GL_UNIFORM_TYPE_VEC4\nend enum\n\nenum, bind(c)    !GskMaskMode\n  enumerator :: GSK_MASK_MODE_ALPHA\n  enumerator :: GSK_MASK_MODE_INVERTED_ALPHA\n  enumerator :: GSK_MASK_MODE_LUMINANCE\n  enumerator :: GSK_MASK_MODE_INVERTED_LUMINANCE\nend enum\n\n! gskenumtypes.h\n! gskglshader.h\n! gskpath.h\nenum, bind(c)    !GskPathForeachFlags\n  enumerator :: GSK_PATH_FOREACH_ALLOW_ONLY_LINES = 0\n  enumerator :: GSK_PATH_FOREACH_ALLOW_QUAD = ISHFTC(1, 0)\n  enumerator :: GSK_PATH_FOREACH_ALLOW_CUBIC = ISHFTC(1, 1)\n  enumerator :: GSK_PATH_FOREACH_ALLOW_CONIC = ISHFTC(1, 2)\nend enum\n\nenum, bind(c)    !GskPathIntersection\n  enumerator :: GSK_PATH_INTERSECTION_NONE\n  enumerator :: GSK_PATH_INTERSECTION_NORMAL\n  enumerator :: GSK_PATH_INTERSECTION_START\n  enumerator :: GSK_PATH_INTERSECTION_END\nend enum\n\n! gskpathbuilder.h\n! gskpathmeasure.h\n! gskpathpoint.h\n! gskrenderer.h\n! gskrendernode.h\n! gskroundedrect.h\n! gskstroke.h\n! gsktransform.h\n! gsktypes.h\n! gskbroadwayrenderer.h\n! gskglrenderer.h\n! gskglrenderer.h\n! gskvulkanrenderer.h\n! gtk.h\n! gtkaboutdialog.h\nenum, bind(c)    !GtkLicense\n  enumerator :: GTK_LICENSE_UNKNOWN\n  enumerator :: GTK_LICENSE_CUSTOM\n  enumerator :: GTK_LICENSE_GPL_2_0\n  enumerator :: GTK_LICENSE_GPL_3_0\n  enumerator :: GTK_LICENSE_LGPL_2_1\n  enumerator :: GTK_LICENSE_LGPL_3_0\n  enumerator :: GTK_LICENSE_BSD\n  enumerator :: GTK_LICENSE_MIT_X11\n  enumerator :: GTK_LICENSE_ARTISTIC\n  enumerator :: GTK_LICENSE_GPL_2_0_ONLY\n  enumerator :: GTK_LICENSE_GPL_3_0_ONLY\n  enumerator :: GTK_LICENSE_LGPL_2_1_ONLY\n  enumerator :: GTK_LICENSE_LGPL_3_0_ONLY\n  enumerator :: GTK_LICENSE_AGPL_3_0\n  enumerator :: GTK_LICENSE_AGPL_3_0_ONLY\n  enumerator :: GTK_LICENSE_BSD_3\n  enumerator :: GTK_LICENSE_APACHE_2_0\n  enumerator :: GTK_LICENSE_MPL_2_0\n  enumerator :: GTK_LICENSE_0BSD\nend enum\n\n! gtkaccelgroup.h\n! gtkaccessible.h\nenum, bind(c)    !GtkAccessiblePlatformState\n  enumerator :: GTK_ACCESSIBLE_PLATFORM_STATE_FOCUSABLE\n  enumerator :: GTK_ACCESSIBLE_PLATFORM_STATE_FOCUSED\n  enumerator :: GTK_ACCESSIBLE_PLATFORM_STATE_ACTIVE\nend enum\n\n! gtkaccessiblerange.h\n! gtkaccessibletext.h\nenum, bind(c)    !GtkAccessibleTextGranularity\n  enumerator :: GTK_ACCESSIBLE_TEXT_GRANULARITY_CHARACTER\n  enumerator :: GTK_ACCESSIBLE_TEXT_GRANULARITY_WORD\n  enumerator :: GTK_ACCESSIBLE_TEXT_GRANULARITY_SENTENCE\n  enumerator :: GTK_ACCESSIBLE_TEXT_GRANULARITY_LINE\n  enumerator :: GTK_ACCESSIBLE_TEXT_GRANULARITY_PARAGRAPH\nend enum\n\nenum, bind(c)    !GtkAccessibleTextContentChange\n  enumerator :: GTK_ACCESSIBLE_TEXT_CONTENT_CHANGE_INSERT\n  enumerator :: GTK_ACCESSIBLE_TEXT_CONTENT_CHANGE_REMOVE\nend enum\n\n! gtkactionable.h\n! gtkactionbar.h\n! gtkadjustment.h\n! gtkalertdialog.h\n! gtkapplication.h\nenum, bind(c)    !GtkApplicationInhibitFlags\n  enumerator :: GTK_APPLICATION_INHIBIT_LOGOUT = ISHFTC(1, 0)\n  enumerator :: GTK_APPLICATION_INHIBIT_SWITCH = ISHFTC(1, 1)\n  enumerator :: GTK_APPLICATION_INHIBIT_SUSPEND = ISHFTC(1, 2)\n  enumerator :: GTK_APPLICATION_INHIBIT_IDLE = ISHFTC(1, 3)\nend enum\n\n! gtkapplicationwindow.h\n! gtkaspectframe.h\n! gtkatcontext.h\n! gtkbinlayout.h\n! gtkbitset.h\n! gtkbookmarklist.h\n! gtkboolfilter.h\n! gtkborder.h\n! gtkbox.h\n! gtkboxlayout.h\n! gtkbuildable.h\n! gtkbuilder.h\nenum, bind(c)    !GtkBuilderError\n  enumerator :: GTK_BUILDER_ERROR_INVALID_TYPE_FUNCTION\n  enumerator :: GTK_BUILDER_ERROR_UNHANDLED_TAG\n  enumerator :: GTK_BUILDER_ERROR_MISSING_ATTRIBUTE\n  enumerator :: GTK_BUILDER_ERROR_INVALID_ATTRIBUTE\n  enumerator :: GTK_BUILDER_ERROR_INVALID_TAG\n  enumerator :: GTK_BUILDER_ERROR_MISSING_PROPERTY_VALUE\n  enumerator :: GTK_BUILDER_ERROR_INVALID_VALUE\n  enumerator :: GTK_BUILDER_ERROR_VERSION_MISMATCH\n  enumerator :: GTK_BUILDER_ERROR_DUPLICATE_ID\n  enumerator :: GTK_BUILDER_ERROR_OBJECT_TYPE_REFUSED\n  enumerator :: GTK_BUILDER_ERROR_TEMPLATE_MISMATCH\n  enumerator :: GTK_BUILDER_ERROR_INVALID_PROPERTY\n  enumerator :: GTK_BUILDER_ERROR_INVALID_SIGNAL\n  enumerator :: GTK_BUILDER_ERROR_INVALID_ID\n  enumerator :: GTK_BUILDER_ERROR_INVALID_FUNCTION\nend enum\n\n! gtkbuilderlistitemfactory.h\n! gtkbuilderscope.h\nenum, bind(c)    !GtkBuilderClosureFlags\n  enumerator :: GTK_BUILDER_CLOSURE_SWAPPED = ISHFTC(1, 0)\nend enum\n\n! gtkbutton.h\n! gtkcalendar.h\n! gtkcenterbox.h\n! gtkcenterlayout.h\n! gtkcheckbutton.h\n! gtkcolordialog.h\n! gtkcolordialogbutton.h\n! gtkcolorutils.h\n! gtkcolumnview.h\n! gtkcolumnviewcell.h\n! gtkcolumnviewcolumn.h\n! gtkcolumnviewrow.h\n! gtkcolumnviewsorter.h\n! gtkconfig.h\n! gtkconstraint.h\n! gtkconstraintguide.h\n! gtkconstraintlayout.h\n! gtkcssprovider.h\n! gtkcustomfilter.h\n! gtkcustomlayout.h\n! gtkcustomsorter.h\n! gtkdebug.h\nenum, bind(c)    !GtkDebugFlags\n  enumerator :: GTK_DEBUG_TEXT = ISHFTC(1, 0)\n  enumerator :: GTK_DEBUG_TREE = ISHFTC(1, 1)\n  enumerator :: GTK_DEBUG_KEYBINDINGS = ISHFTC(1, 2)\n  enumerator :: GTK_DEBUG_MODULES = ISHFTC(1, 3)\n  enumerator :: GTK_DEBUG_GEOMETRY = ISHFTC(1, 4)\n  enumerator :: GTK_DEBUG_ICONTHEME = ISHFTC(1, 5)\n  enumerator :: GTK_DEBUG_PRINTING = ISHFTC(1, 6)\n  enumerator :: GTK_DEBUG_BUILDER_TRACE = ISHFTC(1, 7)\n  enumerator :: GTK_DEBUG_SIZE_REQUEST = ISHFTC(1, 8)\n  enumerator :: GTK_DEBUG_NO_CSS_CACHE = ISHFTC(1, 9)\n  enumerator :: GTK_DEBUG_INTERACTIVE = ISHFTC(1, 10)\n  enumerator :: GTK_DEBUG_TOUCHSCREEN = ISHFTC(1, 11)\n  enumerator :: GTK_DEBUG_ACTIONS = ISHFTC(1, 12)\n  enumerator :: GTK_DEBUG_LAYOUT = ISHFTC(1, 13)\n  enumerator :: GTK_DEBUG_SNAPSHOT = ISHFTC(1, 14)\n  enumerator :: GTK_DEBUG_CONSTRAINTS = ISHFTC(1, 15)\n  enumerator :: GTK_DEBUG_BUILDER_OBJECTS = ISHFTC(1, 16)\n  enumerator :: GTK_DEBUG_A11Y = ISHFTC(1, 17)\n  enumerator :: GTK_DEBUG_ICONFALLBACK = ISHFTC(1, 18)\n  enumerator :: GTK_DEBUG_INVERT_TEXT_DIR = ISHFTC(1, 19)\n  enumerator :: GTK_DEBUG_CSS = ISHFTC(1, 20)\n  enumerator :: GTK_DEBUG_BUILDER = ISHFTC(1, 21)\nend enum\n\n! gtkdialogerror.h\nenum, bind(c)    !GtkDialogError\n  enumerator :: GTK_DIALOG_ERROR_FAILED\n  enumerator :: GTK_DIALOG_ERROR_CANCELLED\n  enumerator :: GTK_DIALOG_ERROR_DISMISSED\nend enum\n\n! gtkdirectorylist.h\n! gtkdragicon.h\n! gtkdragsource.h\n! gtkdrawingarea.h\n! gtkdropcontrollermotion.h\n! gtkdropdown.h\n! gtkdroptarget.h\n! gtkdroptargetasync.h\n! gtkeditable.h\nenum, bind(c)    !GtkEditableProperties\n  enumerator :: GTK_EDITABLE_PROP_TEXT\n  enumerator :: GTK_EDITABLE_PROP_CURSOR_POSITION\n  enumerator :: GTK_EDITABLE_PROP_SELECTION_BOUND\n  enumerator :: GTK_EDITABLE_PROP_EDITABLE\n  enumerator :: GTK_EDITABLE_PROP_WIDTH_CHARS\n  enumerator :: GTK_EDITABLE_PROP_MAX_WIDTH_CHARS\n  enumerator :: GTK_EDITABLE_PROP_XALIGN\n  enumerator :: GTK_EDITABLE_PROP_ENABLE_UNDO\n  enumerator :: GTK_EDITABLE_NUM_PROPERTIES\nend enum\n\n! gtkeditablelabel.h\n! gtkemojichooser.h\n! gtkentry.h\nenum, bind(c)    !GtkEntryIconPosition\n  enumerator :: GTK_ENTRY_ICON_PRIMARY\n  enumerator :: GTK_ENTRY_ICON_SECONDARY\nend enum\n\n! gtkentrybuffer.h\n! gtkenums.h\nenum, bind(c)    !GtkAlign\n  enumerator :: GTK_ALIGN_FILL\n  enumerator :: GTK_ALIGN_START\n  enumerator :: GTK_ALIGN_END\n  enumerator :: GTK_ALIGN_CENTER\n  enumerator :: GTK_ALIGN_BASELINE_FILL\n  enumerator :: GTK_ALIGN_BASELINE = GTK_ALIGN_CENTER + 1\n  enumerator :: GTK_ALIGN_BASELINE_CENTER\nend enum\n\nenum, bind(c)    !GtkArrowType\n  enumerator :: GTK_ARROW_UP\n  enumerator :: GTK_ARROW_DOWN\n  enumerator :: GTK_ARROW_LEFT\n  enumerator :: GTK_ARROW_RIGHT\n  enumerator :: GTK_ARROW_NONE\nend enum\n\nenum, bind(c)    !GtkBaselinePosition\n  enumerator :: GTK_BASELINE_POSITION_TOP\n  enumerator :: GTK_BASELINE_POSITION_CENTER\n  enumerator :: GTK_BASELINE_POSITION_BOTTOM\nend enum\n\nenum, bind(c)    !GtkContentFit\n  enumerator :: GTK_CONTENT_FIT_FILL\n  enumerator :: GTK_CONTENT_FIT_CONTAIN\n  enumerator :: GTK_CONTENT_FIT_COVER\n  enumerator :: GTK_CONTENT_FIT_SCALE_DOWN\nend enum\n\nenum, bind(c)    !GtkDeleteType\n  enumerator :: GTK_DELETE_CHARS\n  enumerator :: GTK_DELETE_WORD_ENDS\n  enumerator :: GTK_DELETE_WORDS\n  enumerator :: GTK_DELETE_DISPLAY_LINES\n  enumerator :: GTK_DELETE_DISPLAY_LINE_ENDS\n  enumerator :: GTK_DELETE_PARAGRAPH_ENDS\n  enumerator :: GTK_DELETE_PARAGRAPHS\n  enumerator :: GTK_DELETE_WHITESPACE\nend enum\n\nenum, bind(c)    !GtkDirectionType\n  enumerator :: GTK_DIR_TAB_FORWARD\n  enumerator :: GTK_DIR_TAB_BACKWARD\n  enumerator :: GTK_DIR_UP\n  enumerator :: GTK_DIR_DOWN\n  enumerator :: GTK_DIR_LEFT\n  enumerator :: GTK_DIR_RIGHT\nend enum\n\nenum, bind(c)    !GtkIconSize\n  enumerator :: GTK_ICON_SIZE_INHERIT\n  enumerator :: GTK_ICON_SIZE_NORMAL\n  enumerator :: GTK_ICON_SIZE_LARGE\nend enum\n\nenum, bind(c)    !GtkSensitivityType\n  enumerator :: GTK_SENSITIVITY_AUTO\n  enumerator :: GTK_SENSITIVITY_ON\n  enumerator :: GTK_SENSITIVITY_OFF\nend enum\n\nenum, bind(c)    !GtkTextDirection\n  enumerator :: GTK_TEXT_DIR_NONE\n  enumerator :: GTK_TEXT_DIR_LTR\n  enumerator :: GTK_TEXT_DIR_RTL\nend enum\n\nenum, bind(c)    !GtkJustification\n  enumerator :: GTK_JUSTIFY_LEFT\n  enumerator :: GTK_JUSTIFY_RIGHT\n  enumerator :: GTK_JUSTIFY_CENTER\n  enumerator :: GTK_JUSTIFY_FILL\nend enum\n\nenum, bind(c)    !GtkListTabBehavior\n  enumerator :: GTK_LIST_TAB_ALL\n  enumerator :: GTK_LIST_TAB_ITEM\n  enumerator :: GTK_LIST_TAB_CELL\nend enum\n\nenum, bind(c)    !GtkListScrollFlags\n  enumerator :: GTK_LIST_SCROLL_NONE = 0\n  enumerator :: GTK_LIST_SCROLL_FOCUS = ISHFTC(1, 0)\n  enumerator :: GTK_LIST_SCROLL_SELECT = ISHFTC(1, 1)\nend enum\n\nenum, bind(c)    !GtkMessageType\n  enumerator :: GTK_MESSAGE_INFO\n  enumerator :: GTK_MESSAGE_WARNING\n  enumerator :: GTK_MESSAGE_QUESTION\n  enumerator :: GTK_MESSAGE_ERROR\n  enumerator :: GTK_MESSAGE_OTHER\nend enum\n\nenum, bind(c)    !GtkMovementStep\n  enumerator :: GTK_MOVEMENT_LOGICAL_POSITIONS\n  enumerator :: GTK_MOVEMENT_VISUAL_POSITIONS\n  enumerator :: GTK_MOVEMENT_WORDS\n  enumerator :: GTK_MOVEMENT_DISPLAY_LINES\n  enumerator :: GTK_MOVEMENT_DISPLAY_LINE_ENDS\n  enumerator :: GTK_MOVEMENT_PARAGRAPHS\n  enumerator :: GTK_MOVEMENT_PARAGRAPH_ENDS\n  enumerator :: GTK_MOVEMENT_PAGES\n  enumerator :: GTK_MOVEMENT_BUFFER_ENDS\n  enumerator :: GTK_MOVEMENT_HORIZONTAL_PAGES\nend enum\n\nenum, bind(c)    !GtkNaturalWrapMode\n  enumerator :: GTK_NATURAL_WRAP_INHERIT\n  enumerator :: GTK_NATURAL_WRAP_NONE\n  enumerator :: GTK_NATURAL_WRAP_WORD\nend enum\n\nenum, bind(c)    !GtkScrollStep\n  enumerator :: GTK_SCROLL_STEPS\n  enumerator :: GTK_SCROLL_PAGES\n  enumerator :: GTK_SCROLL_ENDS\n  enumerator :: GTK_SCROLL_HORIZONTAL_STEPS\n  enumerator :: GTK_SCROLL_HORIZONTAL_PAGES\n  enumerator :: GTK_SCROLL_HORIZONTAL_ENDS\nend enum\n\nenum, bind(c)    !GtkOrientation\n  enumerator :: GTK_ORIENTATION_HORIZONTAL\n  enumerator :: GTK_ORIENTATION_VERTICAL\nend enum\n\nenum, bind(c)    !GtkOverflow\n  enumerator :: GTK_OVERFLOW_VISIBLE\n  enumerator :: GTK_OVERFLOW_HIDDEN\nend enum\n\nenum, bind(c)    !GtkPackType\n  enumerator :: GTK_PACK_START\n  enumerator :: GTK_PACK_END\nend enum\n\nenum, bind(c)    !GtkPositionType\n  enumerator :: GTK_POS_LEFT\n  enumerator :: GTK_POS_RIGHT\n  enumerator :: GTK_POS_TOP\n  enumerator :: GTK_POS_BOTTOM\nend enum\n\nenum, bind(c)    !GtkScrollType\n  enumerator :: GTK_SCROLL_NONE\n  enumerator :: GTK_SCROLL_JUMP\n  enumerator :: GTK_SCROLL_STEP_BACKWARD\n  enumerator :: GTK_SCROLL_STEP_FORWARD\n  enumerator :: GTK_SCROLL_PAGE_BACKWARD\n  enumerator :: GTK_SCROLL_PAGE_FORWARD\n  enumerator :: GTK_SCROLL_STEP_UP\n  enumerator :: GTK_SCROLL_STEP_DOWN\n  enumerator :: GTK_SCROLL_PAGE_UP\n  enumerator :: GTK_SCROLL_PAGE_DOWN\n  enumerator :: GTK_SCROLL_STEP_LEFT\n  enumerator :: GTK_SCROLL_STEP_RIGHT\n  enumerator :: GTK_SCROLL_PAGE_LEFT\n  enumerator :: GTK_SCROLL_PAGE_RIGHT\n  enumerator :: GTK_SCROLL_START\n  enumerator :: GTK_SCROLL_END\nend enum\n\nenum, bind(c)    !GtkSelectionMode\n  enumerator :: GTK_SELECTION_NONE\n  enumerator :: GTK_SELECTION_SINGLE\n  enumerator :: GTK_SELECTION_BROWSE\n  enumerator :: GTK_SELECTION_MULTIPLE\nend enum\n\nenum, bind(c)    !GtkWrapMode\n  enumerator :: GTK_WRAP_NONE\n  enumerator :: GTK_WRAP_CHAR\n  enumerator :: GTK_WRAP_WORD\n  enumerator :: GTK_WRAP_WORD_CHAR\nend enum\n\nenum, bind(c)    !GtkSortType\n  enumerator :: GTK_SORT_ASCENDING\n  enumerator :: GTK_SORT_DESCENDING\nend enum\n\nenum, bind(c)    !GtkPrintPages\n  enumerator :: GTK_PRINT_PAGES_ALL\n  enumerator :: GTK_PRINT_PAGES_CURRENT\n  enumerator :: GTK_PRINT_PAGES_RANGES\n  enumerator :: GTK_PRINT_PAGES_SELECTION\nend enum\n\nenum, bind(c)    !GtkPageSet\n  enumerator :: GTK_PAGE_SET_ALL\n  enumerator :: GTK_PAGE_SET_EVEN\n  enumerator :: GTK_PAGE_SET_ODD\nend enum\n\nenum, bind(c)    !GtkNumberUpLayout\n  enumerator :: GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_TOP_TO_BOTTOM\n  enumerator :: GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_BOTTOM_TO_TOP\n  enumerator :: GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_TOP_TO_BOTTOM\n  enumerator :: GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_BOTTOM_TO_TOP\n  enumerator :: GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_LEFT_TO_RIGHT\n  enumerator :: GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_RIGHT_TO_LEFT\n  enumerator :: GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_LEFT_TO_RIGHT\n  enumerator :: GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_RIGHT_TO_LEFT\nend enum\n\nenum, bind(c)    !GtkOrdering\n  enumerator :: GTK_ORDERING_SMALLER = -1\n  enumerator :: GTK_ORDERING_EQUAL = 0\n  enumerator :: GTK_ORDERING_LARGER = 1\nend enum\n\nenum, bind(c)    !GtkPageOrientation\n  enumerator :: GTK_PAGE_ORIENTATION_PORTRAIT\n  enumerator :: GTK_PAGE_ORIENTATION_LANDSCAPE\n  enumerator :: GTK_PAGE_ORIENTATION_REVERSE_PORTRAIT\n  enumerator :: GTK_PAGE_ORIENTATION_REVERSE_LANDSCAPE\nend enum\n\nenum, bind(c)    !GtkPrintQuality\n  enumerator :: GTK_PRINT_QUALITY_LOW\n  enumerator :: GTK_PRINT_QUALITY_NORMAL\n  enumerator :: GTK_PRINT_QUALITY_HIGH\n  enumerator :: GTK_PRINT_QUALITY_DRAFT\nend enum\n\nenum, bind(c)    !GtkPrintDuplex\n  enumerator :: GTK_PRINT_DUPLEX_SIMPLEX\n  enumerator :: GTK_PRINT_DUPLEX_HORIZONTAL\n  enumerator :: GTK_PRINT_DUPLEX_VERTICAL\nend enum\n\nenum, bind(c)    !GtkUnit\n  enumerator :: GTK_UNIT_NONE\n  enumerator :: GTK_UNIT_POINTS\n  enumerator :: GTK_UNIT_INCH\n  enumerator :: GTK_UNIT_MM\nend enum\n\nenum, bind(c)    !GtkTreeViewGridLines\n  enumerator :: GTK_TREE_VIEW_GRID_LINES_NONE\n  enumerator :: GTK_TREE_VIEW_GRID_LINES_HORIZONTAL\n  enumerator :: GTK_TREE_VIEW_GRID_LINES_VERTICAL\n  enumerator :: GTK_TREE_VIEW_GRID_LINES_BOTH\nend enum\n\nenum, bind(c)    !GtkSizeGroupMode\n  enumerator :: GTK_SIZE_GROUP_NONE\n  enumerator :: GTK_SIZE_GROUP_HORIZONTAL\n  enumerator :: GTK_SIZE_GROUP_VERTICAL\n  enumerator :: GTK_SIZE_GROUP_BOTH\nend enum\n\nenum, bind(c)    !GtkSizeRequestMode\n  enumerator :: GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH = 0\n  enumerator :: GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT\n  enumerator :: GTK_SIZE_REQUEST_CONSTANT_SIZE\nend enum\n\nenum, bind(c)    !GtkScrollablePolicy\n  enumerator :: GTK_SCROLL_MINIMUM = 0\n  enumerator :: GTK_SCROLL_NATURAL\nend enum\n\nenum, bind(c)    !GtkStateFlags\n  enumerator :: GTK_STATE_FLAG_NORMAL = 0\n  enumerator :: GTK_STATE_FLAG_ACTIVE = ISHFTC(1, 0)\n  enumerator :: GTK_STATE_FLAG_PRELIGHT = ISHFTC(1, 1)\n  enumerator :: GTK_STATE_FLAG_SELECTED = ISHFTC(1, 2)\n  enumerator :: GTK_STATE_FLAG_INSENSITIVE = ISHFTC(1, 3)\n  enumerator :: GTK_STATE_FLAG_INCONSISTENT = ISHFTC(1, 4)\n  enumerator :: GTK_STATE_FLAG_FOCUSED = ISHFTC(1, 5)\n  enumerator :: GTK_STATE_FLAG_BACKDROP = ISHFTC(1, 6)\n  enumerator :: GTK_STATE_FLAG_DIR_LTR = ISHFTC(1, 7)\n  enumerator :: GTK_STATE_FLAG_DIR_RTL = ISHFTC(1, 8)\n  enumerator :: GTK_STATE_FLAG_LINK = ISHFTC(1, 9)\n  enumerator :: GTK_STATE_FLAG_VISITED = ISHFTC(1, 10)\n  enumerator :: GTK_STATE_FLAG_CHECKED = ISHFTC(1, 11)\n  enumerator :: GTK_STATE_FLAG_DROP_ACTIVE = ISHFTC(1, 12)\n  enumerator :: GTK_STATE_FLAG_FOCUS_VISIBLE = ISHFTC(1, 13)\n  enumerator :: GTK_STATE_FLAG_FOCUS_WITHIN = ISHFTC(1, 14)\nend enum\n\nenum, bind(c)    !GtkBorderStyle\n  enumerator :: GTK_BORDER_STYLE_NONE\n  enumerator :: GTK_BORDER_STYLE_HIDDEN\n  enumerator :: GTK_BORDER_STYLE_SOLID\n  enumerator :: GTK_BORDER_STYLE_INSET\n  enumerator :: GTK_BORDER_STYLE_OUTSET\n  enumerator :: GTK_BORDER_STYLE_DOTTED\n  enumerator :: GTK_BORDER_STYLE_DASHED\n  enumerator :: GTK_BORDER_STYLE_DOUBLE\n  enumerator :: GTK_BORDER_STYLE_GROOVE\n  enumerator :: GTK_BORDER_STYLE_RIDGE\nend enum\n\nenum, bind(c)    !GtkLevelBarMode\n  enumerator :: GTK_LEVEL_BAR_MODE_CONTINUOUS\n  enumerator :: GTK_LEVEL_BAR_MODE_DISCRETE\nend enum\n\nenum, bind(c)    !GtkInputPurpose\n  enumerator :: GTK_INPUT_PURPOSE_FREE_FORM\n  enumerator :: GTK_INPUT_PURPOSE_ALPHA\n  enumerator :: GTK_INPUT_PURPOSE_DIGITS\n  enumerator :: GTK_INPUT_PURPOSE_NUMBER\n  enumerator :: GTK_INPUT_PURPOSE_PHONE\n  enumerator :: GTK_INPUT_PURPOSE_URL\n  enumerator :: GTK_INPUT_PURPOSE_EMAIL\n  enumerator :: GTK_INPUT_PURPOSE_NAME\n  enumerator :: GTK_INPUT_PURPOSE_PASSWORD\n  enumerator :: GTK_INPUT_PURPOSE_PIN\n  enumerator :: GTK_INPUT_PURPOSE_TERMINAL\nend enum\n\nenum, bind(c)    !GtkInputHints\n  enumerator :: GTK_INPUT_HINT_NONE = 0\n  enumerator :: GTK_INPUT_HINT_SPELLCHECK = ISHFTC(1, 0)\n  enumerator :: GTK_INPUT_HINT_NO_SPELLCHECK = ISHFTC(1, 1)\n  enumerator :: GTK_INPUT_HINT_WORD_COMPLETION = ISHFTC(1, 2)\n  enumerator :: GTK_INPUT_HINT_LOWERCASE = ISHFTC(1, 3)\n  enumerator :: GTK_INPUT_HINT_UPPERCASE_CHARS = ISHFTC(1, 4)\n  enumerator :: GTK_INPUT_HINT_UPPERCASE_WORDS = ISHFTC(1, 5)\n  enumerator :: GTK_INPUT_HINT_UPPERCASE_SENTENCES = ISHFTC(1, 6)\n  enumerator :: GTK_INPUT_HINT_INHIBIT_OSK = ISHFTC(1, 7)\n  enumerator :: GTK_INPUT_HINT_VERTICAL_WRITING = ISHFTC(1, 8)\n  enumerator :: GTK_INPUT_HINT_EMOJI = ISHFTC(1, 9)\n  enumerator :: GTK_INPUT_HINT_NO_EMOJI = ISHFTC(1, 10)\n  enumerator :: GTK_INPUT_HINT_PRIVATE = ISHFTC(1, 11)\nend enum\n\nenum, bind(c)    !GtkPropagationPhase\n  enumerator :: GTK_PHASE_NONE\n  enumerator :: GTK_PHASE_CAPTURE\n  enumerator :: GTK_PHASE_BUBBLE\n  enumerator :: GTK_PHASE_TARGET\nend enum\n\nenum, bind(c)    !GtkPropagationLimit\n  enumerator :: GTK_LIMIT_NONE\n  enumerator :: GTK_LIMIT_SAME_NATIVE\nend enum\n\nenum, bind(c)    !GtkEventSequenceState\n  enumerator :: GTK_EVENT_SEQUENCE_NONE\n  enumerator :: GTK_EVENT_SEQUENCE_CLAIMED\n  enumerator :: GTK_EVENT_SEQUENCE_DENIED\nend enum\n\nenum, bind(c)    !GtkPanDirection\n  enumerator :: GTK_PAN_DIRECTION_LEFT\n  enumerator :: GTK_PAN_DIRECTION_RIGHT\n  enumerator :: GTK_PAN_DIRECTION_UP\n  enumerator :: GTK_PAN_DIRECTION_DOWN\nend enum\n\nenum, bind(c)    !GtkShortcutScope\n  enumerator :: GTK_SHORTCUT_SCOPE_LOCAL\n  enumerator :: GTK_SHORTCUT_SCOPE_MANAGED\n  enumerator :: GTK_SHORTCUT_SCOPE_GLOBAL\nend enum\n\nenum, bind(c)    !GtkPickFlags\n  enumerator :: GTK_PICK_DEFAULT = 0\n  enumerator :: GTK_PICK_INSENSITIVE = ISHFTC(1, 0)\n  enumerator :: GTK_PICK_NON_TARGETABLE = ISHFTC(1, 1)\nend enum\n\nenum, bind(c)    !GtkConstraintRelation\n  enumerator :: GTK_CONSTRAINT_RELATION_LE = -1\n  enumerator :: GTK_CONSTRAINT_RELATION_EQ = 0\n  enumerator :: GTK_CONSTRAINT_RELATION_GE = 1\nend enum\n\nenum, bind(c)    !GtkConstraintStrength\n  enumerator :: GTK_CONSTRAINT_STRENGTH_REQUIRED = 1001001000\n  enumerator :: GTK_CONSTRAINT_STRENGTH_STRONG = 1000000000\n  enumerator :: GTK_CONSTRAINT_STRENGTH_MEDIUM = 1000\n  enumerator :: GTK_CONSTRAINT_STRENGTH_WEAK = 1\nend enum\n\nenum, bind(c)    !GtkConstraintAttribute\n  enumerator :: GTK_CONSTRAINT_ATTRIBUTE_NONE\n  enumerator :: GTK_CONSTRAINT_ATTRIBUTE_LEFT\n  enumerator :: GTK_CONSTRAINT_ATTRIBUTE_RIGHT\n  enumerator :: GTK_CONSTRAINT_ATTRIBUTE_TOP\n  enumerator :: GTK_CONSTRAINT_ATTRIBUTE_BOTTOM\n  enumerator :: GTK_CONSTRAINT_ATTRIBUTE_START\n  enumerator :: GTK_CONSTRAINT_ATTRIBUTE_END\n  enumerator :: GTK_CONSTRAINT_ATTRIBUTE_WIDTH\n  enumerator :: GTK_CONSTRAINT_ATTRIBUTE_HEIGHT\n  enumerator :: GTK_CONSTRAINT_ATTRIBUTE_CENTER_X\n  enumerator :: GTK_CONSTRAINT_ATTRIBUTE_CENTER_Y\n  enumerator :: GTK_CONSTRAINT_ATTRIBUTE_BASELINE\nend enum\n\nenum, bind(c)    !GtkConstraintVflParserError\n  enumerator :: GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_SYMBOL\n  enumerator :: GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_ATTRIBUTE\n  enumerator :: GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_VIEW\n  enumerator :: GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_METRIC\n  enumerator :: GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_PRIORITY\n  enumerator :: GTK_CONSTRAINT_VFL_PARSER_ERROR_INVALID_RELATION\nend enum\n\nenum, bind(c)    !GtkSystemSetting\n  enumerator :: GTK_SYSTEM_SETTING_DPI\n  enumerator :: GTK_SYSTEM_SETTING_FONT_NAME\n  enumerator :: GTK_SYSTEM_SETTING_FONT_CONFIG\n  enumerator :: GTK_SYSTEM_SETTING_DISPLAY\n  enumerator :: GTK_SYSTEM_SETTING_ICON_THEME\nend enum\n\nenum, bind(c)    !GtkSymbolicColor\n  enumerator :: GTK_SYMBOLIC_COLOR_FOREGROUND = 0\n  enumerator :: GTK_SYMBOLIC_COLOR_ERROR = 1\n  enumerator :: GTK_SYMBOLIC_COLOR_WARNING = 2\n  enumerator :: GTK_SYMBOLIC_COLOR_SUCCESS = 3\nend enum\n\nenum, bind(c)    !GtkAccessibleRole\n  enumerator :: GTK_ACCESSIBLE_ROLE_ALERT\n  enumerator :: GTK_ACCESSIBLE_ROLE_ALERT_DIALOG\n  enumerator :: GTK_ACCESSIBLE_ROLE_BANNER\n  enumerator :: GTK_ACCESSIBLE_ROLE_BUTTON\n  enumerator :: GTK_ACCESSIBLE_ROLE_CAPTION\n  enumerator :: GTK_ACCESSIBLE_ROLE_CELL\n  enumerator :: GTK_ACCESSIBLE_ROLE_CHECKBOX\n  enumerator :: GTK_ACCESSIBLE_ROLE_COLUMN_HEADER\n  enumerator :: GTK_ACCESSIBLE_ROLE_COMBO_BOX\n  enumerator :: GTK_ACCESSIBLE_ROLE_COMMAND\n  enumerator :: GTK_ACCESSIBLE_ROLE_COMPOSITE\n  enumerator :: GTK_ACCESSIBLE_ROLE_DIALOG\n  enumerator :: GTK_ACCESSIBLE_ROLE_DOCUMENT\n  enumerator :: GTK_ACCESSIBLE_ROLE_FEED\n  enumerator :: GTK_ACCESSIBLE_ROLE_FORM\n  enumerator :: GTK_ACCESSIBLE_ROLE_GENERIC\n  enumerator :: GTK_ACCESSIBLE_ROLE_GRID\n  enumerator :: GTK_ACCESSIBLE_ROLE_GRID_CELL\n  enumerator :: GTK_ACCESSIBLE_ROLE_GROUP\n  enumerator :: GTK_ACCESSIBLE_ROLE_HEADING\n  enumerator :: GTK_ACCESSIBLE_ROLE_IMG\n  enumerator :: GTK_ACCESSIBLE_ROLE_INPUT\n  enumerator :: GTK_ACCESSIBLE_ROLE_LABEL\n  enumerator :: GTK_ACCESSIBLE_ROLE_LANDMARK\n  enumerator :: GTK_ACCESSIBLE_ROLE_LEGEND\n  enumerator :: GTK_ACCESSIBLE_ROLE_LINK\n  enumerator :: GTK_ACCESSIBLE_ROLE_LIST\n  enumerator :: GTK_ACCESSIBLE_ROLE_LIST_BOX\n  enumerator :: GTK_ACCESSIBLE_ROLE_LIST_ITEM\n  enumerator :: GTK_ACCESSIBLE_ROLE_LOG\n  enumerator :: GTK_ACCESSIBLE_ROLE_MAIN\n  enumerator :: GTK_ACCESSIBLE_ROLE_MARQUEE\n  enumerator :: GTK_ACCESSIBLE_ROLE_MATH\n  enumerator :: GTK_ACCESSIBLE_ROLE_METER\n  enumerator :: GTK_ACCESSIBLE_ROLE_MENU\n  enumerator :: GTK_ACCESSIBLE_ROLE_MENU_BAR\n  enumerator :: GTK_ACCESSIBLE_ROLE_MENU_ITEM\n  enumerator :: GTK_ACCESSIBLE_ROLE_MENU_ITEM_CHECKBOX\n  enumerator :: GTK_ACCESSIBLE_ROLE_MENU_ITEM_RADIO\n  enumerator :: GTK_ACCESSIBLE_ROLE_NAVIGATION\n  enumerator :: GTK_ACCESSIBLE_ROLE_NONE\n  enumerator :: GTK_ACCESSIBLE_ROLE_NOTE\n  enumerator :: GTK_ACCESSIBLE_ROLE_OPTION\n  enumerator :: GTK_ACCESSIBLE_ROLE_PRESENTATION\n  enumerator :: GTK_ACCESSIBLE_ROLE_PROGRESS_BAR\n  enumerator :: GTK_ACCESSIBLE_ROLE_RADIO\n  enumerator :: GTK_ACCESSIBLE_ROLE_RADIO_GROUP\n  enumerator :: GTK_ACCESSIBLE_ROLE_RANGE\n  enumerator :: GTK_ACCESSIBLE_ROLE_REGION\n  enumerator :: GTK_ACCESSIBLE_ROLE_ROW\n  enumerator :: GTK_ACCESSIBLE_ROLE_ROW_GROUP\n  enumerator :: GTK_ACCESSIBLE_ROLE_ROW_HEADER\n  enumerator :: GTK_ACCESSIBLE_ROLE_SCROLLBAR\n  enumerator :: GTK_ACCESSIBLE_ROLE_SEARCH\n  enumerator :: GTK_ACCESSIBLE_ROLE_SEARCH_BOX\n  enumerator :: GTK_ACCESSIBLE_ROLE_SECTION\n  enumerator :: GTK_ACCESSIBLE_ROLE_SECTION_HEAD\n  enumerator :: GTK_ACCESSIBLE_ROLE_SELECT\n  enumerator :: GTK_ACCESSIBLE_ROLE_SEPARATOR\n  enumerator :: GTK_ACCESSIBLE_ROLE_SLIDER\n  enumerator :: GTK_ACCESSIBLE_ROLE_SPIN_BUTTON\n  enumerator :: GTK_ACCESSIBLE_ROLE_STATUS\n  enumerator :: GTK_ACCESSIBLE_ROLE_STRUCTURE\n  enumerator :: GTK_ACCESSIBLE_ROLE_SWITCH\n  enumerator :: GTK_ACCESSIBLE_ROLE_TAB\n  enumerator :: GTK_ACCESSIBLE_ROLE_TABLE\n  enumerator :: GTK_ACCESSIBLE_ROLE_TAB_LIST\n  enumerator :: GTK_ACCESSIBLE_ROLE_TAB_PANEL\n  enumerator :: GTK_ACCESSIBLE_ROLE_TEXT_BOX\n  enumerator :: GTK_ACCESSIBLE_ROLE_TIME\n  enumerator :: GTK_ACCESSIBLE_ROLE_TIMER\n  enumerator :: GTK_ACCESSIBLE_ROLE_TOOLBAR\n  enumerator :: GTK_ACCESSIBLE_ROLE_TOOLTIP\n  enumerator :: GTK_ACCESSIBLE_ROLE_TREE\n  enumerator :: GTK_ACCESSIBLE_ROLE_TREE_GRID\n  enumerator :: GTK_ACCESSIBLE_ROLE_TREE_ITEM\n  enumerator :: GTK_ACCESSIBLE_ROLE_WIDGET\n  enumerator :: GTK_ACCESSIBLE_ROLE_WINDOW\n  enumerator :: GTK_ACCESSIBLE_ROLE_TOGGLE_BUTTON\n  enumerator :: GTK_ACCESSIBLE_ROLE_APPLICATION\n  enumerator :: GTK_ACCESSIBLE_ROLE_PARAGRAPH\n  enumerator :: GTK_ACCESSIBLE_ROLE_BLOCK_QUOTE\n  enumerator :: GTK_ACCESSIBLE_ROLE_ARTICLE\n  enumerator :: GTK_ACCESSIBLE_ROLE_COMMENT\n  enumerator :: GTK_ACCESSIBLE_ROLE_TERMINAL\nend enum\n\nenum, bind(c)    !GtkAccessibleState\n  enumerator :: GTK_ACCESSIBLE_STATE_BUSY\n  enumerator :: GTK_ACCESSIBLE_STATE_CHECKED\n  enumerator :: GTK_ACCESSIBLE_STATE_DISABLED\n  enumerator :: GTK_ACCESSIBLE_STATE_EXPANDED\n  enumerator :: GTK_ACCESSIBLE_STATE_HIDDEN\n  enumerator :: GTK_ACCESSIBLE_STATE_INVALID\n  enumerator :: GTK_ACCESSIBLE_STATE_PRESSED\n  enumerator :: GTK_ACCESSIBLE_STATE_SELECTED\n  enumerator :: GTK_ACCESSIBLE_STATE_VISITED\nend enum\n\nenum, bind(c)    !GtkAccessibleProperty\n  enumerator :: GTK_ACCESSIBLE_PROPERTY_AUTOCOMPLETE\n  enumerator :: GTK_ACCESSIBLE_PROPERTY_DESCRIPTION\n  enumerator :: GTK_ACCESSIBLE_PROPERTY_HAS_POPUP\n  enumerator :: GTK_ACCESSIBLE_PROPERTY_KEY_SHORTCUTS\n  enumerator :: GTK_ACCESSIBLE_PROPERTY_LABEL\n  enumerator :: GTK_ACCESSIBLE_PROPERTY_LEVEL\n  enumerator :: GTK_ACCESSIBLE_PROPERTY_MODAL\n  enumerator :: GTK_ACCESSIBLE_PROPERTY_MULTI_LINE\n  enumerator :: GTK_ACCESSIBLE_PROPERTY_MULTI_SELECTABLE\n  enumerator :: GTK_ACCESSIBLE_PROPERTY_ORIENTATION\n  enumerator :: GTK_ACCESSIBLE_PROPERTY_PLACEHOLDER\n  enumerator :: GTK_ACCESSIBLE_PROPERTY_READ_ONLY\n  enumerator :: GTK_ACCESSIBLE_PROPERTY_REQUIRED\n  enumerator :: GTK_ACCESSIBLE_PROPERTY_ROLE_DESCRIPTION\n  enumerator :: GTK_ACCESSIBLE_PROPERTY_SORT\n  enumerator :: GTK_ACCESSIBLE_PROPERTY_VALUE_MAX\n  enumerator :: GTK_ACCESSIBLE_PROPERTY_VALUE_MIN\n  enumerator :: GTK_ACCESSIBLE_PROPERTY_VALUE_NOW\n  enumerator :: GTK_ACCESSIBLE_PROPERTY_VALUE_TEXT\n  enumerator :: GTK_ACCESSIBLE_PROPERTY_HELP_TEXT\nend enum\n\nenum, bind(c)    !GtkAccessibleRelation\n  enumerator :: GTK_ACCESSIBLE_RELATION_ACTIVE_DESCENDANT\n  enumerator :: GTK_ACCESSIBLE_RELATION_COL_COUNT\n  enumerator :: GTK_ACCESSIBLE_RELATION_COL_INDEX\n  enumerator :: GTK_ACCESSIBLE_RELATION_COL_INDEX_TEXT\n  enumerator :: GTK_ACCESSIBLE_RELATION_COL_SPAN\n  enumerator :: GTK_ACCESSIBLE_RELATION_CONTROLS\n  enumerator :: GTK_ACCESSIBLE_RELATION_DESCRIBED_BY\n  enumerator :: GTK_ACCESSIBLE_RELATION_DETAILS\n  enumerator :: GTK_ACCESSIBLE_RELATION_ERROR_MESSAGE\n  enumerator :: GTK_ACCESSIBLE_RELATION_FLOW_TO\n  enumerator :: GTK_ACCESSIBLE_RELATION_LABELLED_BY\n  enumerator :: GTK_ACCESSIBLE_RELATION_OWNS\n  enumerator :: GTK_ACCESSIBLE_RELATION_POS_IN_SET\n  enumerator :: GTK_ACCESSIBLE_RELATION_ROW_COUNT\n  enumerator :: GTK_ACCESSIBLE_RELATION_ROW_INDEX\n  enumerator :: GTK_ACCESSIBLE_RELATION_ROW_INDEX_TEXT\n  enumerator :: GTK_ACCESSIBLE_RELATION_ROW_SPAN\n  enumerator :: GTK_ACCESSIBLE_RELATION_SET_SIZE\n  enumerator :: GTK_ACCESSIBLE_RELATION_LABEL_FOR\n  enumerator :: GTK_ACCESSIBLE_RELATION_DESCRIPTION_FOR\n  enumerator :: GTK_ACCESSIBLE_RELATION_CONTROLLED_BY\n  enumerator :: GTK_ACCESSIBLE_RELATION_DETAILS_FOR\n  enumerator :: GTK_ACCESSIBLE_RELATION_ERROR_MESSAGE_FOR\n  enumerator :: GTK_ACCESSIBLE_RELATION_FLOW_FROM\nend enum\n\nenum, bind(c)    !GtkAccessibleTristate\n  enumerator :: GTK_ACCESSIBLE_TRISTATE_FALSE\n  enumerator :: GTK_ACCESSIBLE_TRISTATE_TRUE\n  enumerator :: GTK_ACCESSIBLE_TRISTATE_MIXED\nend enum\n\nenum, bind(c)    !GtkAccessibleInvalidState\n  enumerator :: GTK_ACCESSIBLE_INVALID_FALSE\n  enumerator :: GTK_ACCESSIBLE_INVALID_TRUE\n  enumerator :: GTK_ACCESSIBLE_INVALID_GRAMMAR\n  enumerator :: GTK_ACCESSIBLE_INVALID_SPELLING\nend enum\n\nenum, bind(c)    !GtkAccessibleAutocomplete\n  enumerator :: GTK_ACCESSIBLE_AUTOCOMPLETE_NONE\n  enumerator :: GTK_ACCESSIBLE_AUTOCOMPLETE_INLINE\n  enumerator :: GTK_ACCESSIBLE_AUTOCOMPLETE_LIST\n  enumerator :: GTK_ACCESSIBLE_AUTOCOMPLETE_BOTH\nend enum\n\nenum, bind(c)    !GtkAccessibleSort\n  enumerator :: GTK_ACCESSIBLE_SORT_NONE\n  enumerator :: GTK_ACCESSIBLE_SORT_ASCENDING\n  enumerator :: GTK_ACCESSIBLE_SORT_DESCENDING\n  enumerator :: GTK_ACCESSIBLE_SORT_OTHER\nend enum\n\nenum, bind(c)    !GtkAccessibleAnnouncementPriority\n  enumerator :: GTK_ACCESSIBLE_ANNOUNCEMENT_PRIORITY_LOW\n  enumerator :: GTK_ACCESSIBLE_ANNOUNCEMENT_PRIORITY_MEDIUM\n  enumerator :: GTK_ACCESSIBLE_ANNOUNCEMENT_PRIORITY_HIGH\nend enum\n\nenum, bind(c)    !GtkPopoverMenuFlags\n  enumerator :: GTK_POPOVER_MENU_SLIDING = 0\n  enumerator :: GTK_POPOVER_MENU_NESTED = ISHFTC(1, 0)\nend enum\n\nenum, bind(c)    !GtkFontRendering\n  enumerator :: GTK_FONT_RENDERING_AUTOMATIC\n  enumerator :: GTK_FONT_RENDERING_MANUAL\nend enum\n\nenum, bind(c)    !GtkTextBufferNotifyFlags\n  enumerator :: GTK_TEXT_BUFFER_NOTIFY_BEFORE_INSERT = ISHFTC(1, 0)\n  enumerator :: GTK_TEXT_BUFFER_NOTIFY_AFTER_INSERT = ISHFTC(1, 1)\n  enumerator :: GTK_TEXT_BUFFER_NOTIFY_BEFORE_DELETE = ISHFTC(1, 2)\n  enumerator :: GTK_TEXT_BUFFER_NOTIFY_AFTER_DELETE = ISHFTC(1, 3)\nend enum\n\nenum, bind(c)    !GtkInterfaceColorScheme\n  enumerator :: GTK_INTERFACE_COLOR_SCHEME_UNSUPPORTED\n  enumerator :: GTK_INTERFACE_COLOR_SCHEME_DEFAULT\n  enumerator :: GTK_INTERFACE_COLOR_SCHEME_DARK\n  enumerator :: GTK_INTERFACE_COLOR_SCHEME_LIGHT\nend enum\n\nenum, bind(c)    !GtkInterfaceContrast\n  enumerator :: GTK_INTERFACE_CONTRAST_UNSUPPORTED\n  enumerator :: GTK_INTERFACE_CONTRAST_NO_PREFERENCE\n  enumerator :: GTK_INTERFACE_CONTRAST_MORE\n  enumerator :: GTK_INTERFACE_CONTRAST_LESS\nend enum\n\n! gtkeventcontroller.h\n! gtkeventcontrollerfocus.h\n! gtkeventcontrollerkey.h\n! gtkeventcontrollerlegacy.h\n! gtkeventcontrollermotion.h\n! gtkeventcontrollerscroll.h\nenum, bind(c)    !GtkEventControllerScrollFlags\n  enumerator :: GTK_EVENT_CONTROLLER_SCROLL_NONE = 0\n  enumerator :: GTK_EVENT_CONTROLLER_SCROLL_VERTICAL = ISHFTC(1, 0)\n  enumerator :: GTK_EVENT_CONTROLLER_SCROLL_HORIZONTAL = ISHFTC(1, 1)\n  enumerator :: GTK_EVENT_CONTROLLER_SCROLL_DISCRETE = ISHFTC(1, 2)\n  enumerator :: GTK_EVENT_CONTROLLER_SCROLL_KINETIC = ISHFTC(1, 3)\n  enumerator :: GTK_EVENT_CONTROLLER_SCROLL_PHYSICAL_DIRECTION = ISHFTC(1, 4)\n  enumerator :: GTK_EVENT_CONTROLLER_SCROLL_BOTH_AXES =&\n& ior(GTK_EVENT_CONTROLLER_SCROLL_VERTICAL ,&\n& GTK_EVENT_CONTROLLER_SCROLL_HORIZONTAL)\nend enum\n\n! gtkexpander.h\n! gtkexpression.h\n! gtkfiledialog.h\n! gtkfilefilter.h\n! gtkfilelauncher.h\n! gtkfilter.h\nenum, bind(c)    !GtkFilterMatch\n  enumerator :: GTK_FILTER_MATCH_SOME = 0\n  enumerator :: GTK_FILTER_MATCH_NONE\n  enumerator :: GTK_FILTER_MATCH_ALL\nend enum\n\nenum, bind(c)    !GtkFilterChange\n  enumerator :: GTK_FILTER_CHANGE_DIFFERENT = 0\n  enumerator :: GTK_FILTER_CHANGE_LESS_STRICT\n  enumerator :: GTK_FILTER_CHANGE_MORE_STRICT\n  enumerator :: GTK_FILTER_CHANGE_DIFFERENT_REWATCH\n  enumerator :: GTK_FILTER_CHANGE_LESS_STRICT_REWATCH\n  enumerator :: GTK_FILTER_CHANGE_MORE_STRICT_REWATCH\nend enum\n\n! gtkfilterlistmodel.h\n! gtkfixed.h\n! gtkfixedlayout.h\n! gtkflattenlistmodel.h\n! gtkflowbox.h\n! gtkfontdialog.h\n! gtkfontdialogbutton.h\nenum, bind(c)    !GtkFontLevel\n  enumerator :: GTK_FONT_LEVEL_FAMILY\n  enumerator :: GTK_FONT_LEVEL_FACE\n  enumerator :: GTK_FONT_LEVEL_FONT\n  enumerator :: GTK_FONT_LEVEL_FEATURES\nend enum\n\n! gtkframe.h\n! gtkgesture.h\n! gtkgestureclick.h\n! gtkgesturedrag.h\n! gtkgesturelongpress.h\n! gtkgesturepan.h\n! gtkgesturerotate.h\n! gtkgesturesingle.h\n! gtkgesturestylus.h\n! gtkgestureswipe.h\n! gtkgesturezoom.h\n! gtkglarea.h\n! gtkgraphicsoffload.h\nenum, bind(c)    !GtkGraphicsOffloadEnabled\n  enumerator :: GTK_GRAPHICS_OFFLOAD_ENABLED\n  enumerator :: GTK_GRAPHICS_OFFLOAD_DISABLED\nend enum\n\n! gtkgrid.h\n! gtkgridlayout.h\n! gtkgridview.h\n! gtkheaderbar.h\n! gtkiconpaintable.h\n! gtkicontheme.h\nenum, bind(c)    !GtkIconLookupFlags\n  enumerator :: GTK_ICON_LOOKUP_NONE  = 0\n  enumerator :: GTK_ICON_LOOKUP_FORCE_REGULAR = ISHFTC(1, 0)\n  enumerator :: GTK_ICON_LOOKUP_FORCE_SYMBOLIC = ISHFTC(1, 1)\n  enumerator :: GTK_ICON_LOOKUP_PRELOAD = ISHFTC(1, 2)\nend enum\n\nenum, bind(c)    !GtkIconThemeError\n  enumerator :: GTK_ICON_THEME_NOT_FOUND\n  enumerator :: GTK_ICON_THEME_FAILED\nend enum\n\n! gtkimage.h\nenum, bind(c)    !GtkImageType\n  enumerator :: GTK_IMAGE_EMPTY\n  enumerator :: GTK_IMAGE_ICON_NAME\n  enumerator :: GTK_IMAGE_GICON\n  enumerator :: GTK_IMAGE_PAINTABLE\nend enum\n\n! gtkimcontext.h\n! gtkimcontextsimple.h\n! gtkimmodule.h\n! gtkimmulticontext.h\n! gtkinscription.h\nenum, bind(c)    !GtkInscriptionOverflow\n  enumerator :: GTK_INSCRIPTION_OVERFLOW_CLIP\n  enumerator :: GTK_INSCRIPTION_OVERFLOW_ELLIPSIZE_START\n  enumerator :: GTK_INSCRIPTION_OVERFLOW_ELLIPSIZE_MIDDLE\n  enumerator :: GTK_INSCRIPTION_OVERFLOW_ELLIPSIZE_END\nend enum\n\n! gtklabel.h\n! gtklayoutchild.h\n! gtklayoutmanager.h\n! gtklevelbar.h\n! gtklinkbutton.h\n! gtklistbase.h\n! gtklistbox.h\n! gtklistheader.h\n! gtklistitem.h\n! gtklistitemfactory.h\n! gtklistview.h\n! gtkmain.h\n! gtkmaplistmodel.h\n! gtkmediacontrols.h\n! gtkmediafile.h\n! gtkmediastream.h\n! gtkmenubutton.h\n! gtkmountoperation.h\n! gtkmultifilter.h\n! gtkmultiselection.h\n! gtkmultisorter.h\n! gtknative.h\n! gtknativedialog.h\n! gtknoselection.h\n! gtknotebook.h\nenum, bind(c)    !GtkNotebookTab\n  enumerator :: GTK_NOTEBOOK_TAB_FIRST\n  enumerator :: GTK_NOTEBOOK_TAB_LAST\nend enum\n\n! gtknumericsorter.h\n! gtkorientable.h\n! gtkoverlay.h\n! gtkoverlaylayout.h\n! gtkpadcontroller.h\nenum, bind(c)    !GtkPadActionType\n  enumerator :: GTK_PAD_ACTION_BUTTON\n  enumerator :: GTK_PAD_ACTION_RING\n  enumerator :: GTK_PAD_ACTION_STRIP\n  enumerator :: GTK_PAD_ACTION_DIAL\nend enum\n\n! gtkpaned.h\n! gtkpasswordentry.h\n! gtkpasswordentrybuffer.h\n! gtkpicture.h\n! gtkpopover.h\n! gtkpopovermenu.h\n! gtkpopovermenubar.h\n! gtkprintdialog.h\n! gtkprogressbar.h\n! gtkrange.h\n! gtkrecentmanager.h\nenum, bind(c)    !GtkRecentManagerError\n  enumerator :: GTK_RECENT_MANAGER_ERROR_NOT_FOUND\n  enumerator :: GTK_RECENT_MANAGER_ERROR_INVALID_URI\n  enumerator :: GTK_RECENT_MANAGER_ERROR_INVALID_ENCODING\n  enumerator :: GTK_RECENT_MANAGER_ERROR_NOT_REGISTERED\n  enumerator :: GTK_RECENT_MANAGER_ERROR_READ\n  enumerator :: GTK_RECENT_MANAGER_ERROR_WRITE\n  enumerator :: GTK_RECENT_MANAGER_ERROR_UNKNOWN\nend enum\n\n! gtkrevealer.h\nenum, bind(c)    !GtkRevealerTransitionType\n  enumerator :: GTK_REVEALER_TRANSITION_TYPE_NONE\n  enumerator :: GTK_REVEALER_TRANSITION_TYPE_CROSSFADE\n  enumerator :: GTK_REVEALER_TRANSITION_TYPE_SLIDE_RIGHT\n  enumerator :: GTK_REVEALER_TRANSITION_TYPE_SLIDE_LEFT\n  enumerator :: GTK_REVEALER_TRANSITION_TYPE_SLIDE_UP\n  enumerator :: GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN\n  enumerator :: GTK_REVEALER_TRANSITION_TYPE_SWING_RIGHT\n  enumerator :: GTK_REVEALER_TRANSITION_TYPE_SWING_LEFT\n  enumerator :: GTK_REVEALER_TRANSITION_TYPE_SWING_UP\n  enumerator :: GTK_REVEALER_TRANSITION_TYPE_SWING_DOWN\nend enum\n\n! gtkroot.h\n! gtkscale.h\n! gtkscalebutton.h\n! gtkscrollable.h\n! gtkscrollbar.h\n! gtkscrolledwindow.h\nenum, bind(c)    !GtkCornerType\n  enumerator :: GTK_CORNER_TOP_LEFT\n  enumerator :: GTK_CORNER_BOTTOM_LEFT\n  enumerator :: GTK_CORNER_TOP_RIGHT\n  enumerator :: GTK_CORNER_BOTTOM_RIGHT\nend enum\n\nenum, bind(c)    !GtkPolicyType\n  enumerator :: GTK_POLICY_ALWAYS\n  enumerator :: GTK_POLICY_AUTOMATIC\n  enumerator :: GTK_POLICY_NEVER\n  enumerator :: GTK_POLICY_EXTERNAL\nend enum\n\n! gtkscrollinfo.h\n! gtksearchbar.h\n! gtksearchentry.h\n! gtksectionmodel.h\n! gtkselectionfiltermodel.h\n! gtkselectionmodel.h\n! gtkseparator.h\n! gtksettings.h\n! gtkshortcut.h\n! gtkshortcutaction.h\nenum, bind(c)    !GtkShortcutActionFlags\n  enumerator :: GTK_SHORTCUT_ACTION_EXCLUSIVE = ISHFTC(1, 0)\nend enum\n\n! gtkshortcutcontroller.h\n! gtkshortcutmanager.h\n! gtkshortcuttrigger.h\n! gtksignallistitemfactory.h\n! gtksingleselection.h\n! gtksizegroup.h\n! gtksizerequest.h\n! gtkslicelistmodel.h\n! gtksnapshot.h\n! gtksorter.h\nenum, bind(c)    !GtkSorterOrder\n  enumerator :: GTK_SORTER_ORDER_PARTIAL\n  enumerator :: GTK_SORTER_ORDER_NONE\n  enumerator :: GTK_SORTER_ORDER_TOTAL\nend enum\n\nenum, bind(c)    !GtkSorterChange\n  enumerator :: GTK_SORTER_CHANGE_DIFFERENT\n  enumerator :: GTK_SORTER_CHANGE_INVERTED\n  enumerator :: GTK_SORTER_CHANGE_LESS_STRICT\n  enumerator :: GTK_SORTER_CHANGE_MORE_STRICT\nend enum\n\n! gtksortlistmodel.h\n! gtkspinbutton.h\nenum, bind(c)    !GtkSpinButtonUpdatePolicy\n  enumerator :: GTK_UPDATE_ALWAYS\n  enumerator :: GTK_UPDATE_IF_VALID\nend enum\n\nenum, bind(c)    !GtkSpinType\n  enumerator :: GTK_SPIN_STEP_FORWARD\n  enumerator :: GTK_SPIN_STEP_BACKWARD\n  enumerator :: GTK_SPIN_PAGE_FORWARD\n  enumerator :: GTK_SPIN_PAGE_BACKWARD\n  enumerator :: GTK_SPIN_HOME\n  enumerator :: GTK_SPIN_END\n  enumerator :: GTK_SPIN_USER_DEFINED\nend enum\n\n! gtkspinner.h\n! gtkstack.h\nenum, bind(c)    !GtkStackTransitionType\n  enumerator :: GTK_STACK_TRANSITION_TYPE_NONE\n  enumerator :: GTK_STACK_TRANSITION_TYPE_CROSSFADE\n  enumerator :: GTK_STACK_TRANSITION_TYPE_SLIDE_RIGHT\n  enumerator :: GTK_STACK_TRANSITION_TYPE_SLIDE_LEFT\n  enumerator :: GTK_STACK_TRANSITION_TYPE_SLIDE_UP\n  enumerator :: GTK_STACK_TRANSITION_TYPE_SLIDE_DOWN\n  enumerator :: GTK_STACK_TRANSITION_TYPE_SLIDE_LEFT_RIGHT\n  enumerator :: GTK_STACK_TRANSITION_TYPE_SLIDE_UP_DOWN\n  enumerator :: GTK_STACK_TRANSITION_TYPE_OVER_UP\n  enumerator :: GTK_STACK_TRANSITION_TYPE_OVER_DOWN\n  enumerator :: GTK_STACK_TRANSITION_TYPE_OVER_LEFT\n  enumerator :: GTK_STACK_TRANSITION_TYPE_OVER_RIGHT\n  enumerator :: GTK_STACK_TRANSITION_TYPE_UNDER_UP\n  enumerator :: GTK_STACK_TRANSITION_TYPE_UNDER_DOWN\n  enumerator :: GTK_STACK_TRANSITION_TYPE_UNDER_LEFT\n  enumerator :: GTK_STACK_TRANSITION_TYPE_UNDER_RIGHT\n  enumerator :: GTK_STACK_TRANSITION_TYPE_OVER_UP_DOWN\n  enumerator :: GTK_STACK_TRANSITION_TYPE_OVER_DOWN_UP\n  enumerator :: GTK_STACK_TRANSITION_TYPE_OVER_LEFT_RIGHT\n  enumerator :: GTK_STACK_TRANSITION_TYPE_OVER_RIGHT_LEFT\n  enumerator :: GTK_STACK_TRANSITION_TYPE_ROTATE_LEFT\n  enumerator :: GTK_STACK_TRANSITION_TYPE_ROTATE_RIGHT\n  enumerator :: GTK_STACK_TRANSITION_TYPE_ROTATE_LEFT_RIGHT\nend enum\n\n! gtkstacksidebar.h\n! gtkstackswitcher.h\n! gtkstringfilter.h\nenum, bind(c)    !GtkStringFilterMatchMode\n  enumerator :: GTK_STRING_FILTER_MATCH_MODE_EXACT\n  enumerator :: GTK_STRING_FILTER_MATCH_MODE_SUBSTRING\n  enumerator :: GTK_STRING_FILTER_MATCH_MODE_PREFIX\nend enum\n\n! gtkstringlist.h\n! gtkstringsorter.h\nenum, bind(c)    !GtkCollation\n  enumerator :: GTK_COLLATION_NONE\n  enumerator :: GTK_COLLATION_UNICODE\n  enumerator :: GTK_COLLATION_FILENAME\nend enum\n\n! gtkstyleprovider.h\n! gtkswitch.h\n! gtksymbolicpaintable.h\n! gtktestatcontext.h\n! gtktestutils.h\n! gtktext.h\n! gtktextbuffer.h\n! gtktextchild.h\n! gtktextiter.h\nenum, bind(c)    !GtkTextSearchFlags\n  enumerator :: GTK_TEXT_SEARCH_VISIBLE_ONLY = ISHFTC(1, 0)\n  enumerator :: GTK_TEXT_SEARCH_TEXT_ONLY = ISHFTC(1, 1)\n  enumerator :: GTK_TEXT_SEARCH_CASE_INSENSITIVE = ISHFTC(1, 2)\n\nend enum\n\n! gtktextmark.h\n! gtktexttag.h\n! gtktexttagtable.h\n! gtktextview.h\nenum, bind(c)    !GtkTextWindowType\n  enumerator :: GTK_TEXT_WINDOW_WIDGET = 1\n  enumerator :: GTK_TEXT_WINDOW_TEXT\n  enumerator :: GTK_TEXT_WINDOW_LEFT\n  enumerator :: GTK_TEXT_WINDOW_RIGHT\n  enumerator :: GTK_TEXT_WINDOW_TOP\n  enumerator :: GTK_TEXT_WINDOW_BOTTOM\nend enum\n\nenum, bind(c)    !GtkTextViewLayer\n  enumerator :: GTK_TEXT_VIEW_LAYER_BELOW_TEXT\n  enumerator :: GTK_TEXT_VIEW_LAYER_ABOVE_TEXT\nend enum\n\nenum, bind(c)    !GtkTextExtendSelection\n  enumerator :: GTK_TEXT_EXTEND_SELECTION_WORD\n  enumerator :: GTK_TEXT_EXTEND_SELECTION_LINE\nend enum\n\n! gtktogglebutton.h\n! gtktooltip.h\n! gtktreeexpander.h\n! gtktreelistmodel.h\n! gtktreelistrowsorter.h\n! gtktypebuiltins.h\n! gtktypes.h\n! gtkurilauncher.h\n! gtkversion.h\n! gtkvideo.h\n! gtkviewport.h\n! gtkwidget.h\n! gtkwidgetpaintable.h\n! gtkwindow.h\nenum, bind(c)    !GtkWindowGravity\n  enumerator :: GTK_WINDOW_GRAVITY_TOP_LEFT\n  enumerator :: GTK_WINDOW_GRAVITY_TOP\n  enumerator :: GTK_WINDOW_GRAVITY_TOP_RIGHT\n  enumerator :: GTK_WINDOW_GRAVITY_LEFT\n  enumerator :: GTK_WINDOW_GRAVITY_CENTER\n  enumerator :: GTK_WINDOW_GRAVITY_RIGHT\n  enumerator :: GTK_WINDOW_GRAVITY_BOTTOM_LEFT\n  enumerator :: GTK_WINDOW_GRAVITY_BOTTOM\n  enumerator :: GTK_WINDOW_GRAVITY_BOTTOM_RIGHT\n  enumerator :: GTK_WINDOW_GRAVITY_TOP_START\n  enumerator :: GTK_WINDOW_GRAVITY_TOP_END\n  enumerator :: GTK_WINDOW_GRAVITY_START\n  enumerator :: GTK_WINDOW_GRAVITY_END\n  enumerator :: GTK_WINDOW_GRAVITY_BOTTOM_START\n  enumerator :: GTK_WINDOW_GRAVITY_BOTTOM_END\nend enum\n\n! gtkwindowcontrols.h\n! gtkwindowgroup.h\n! gtkwindowhandle.h\n! gtkatspi.h\n! gtkatspisocket.h\n! gtkcss.h\n! gtkcssenums.h\nenum, bind(c)    !GtkCssParserError\n  enumerator :: GTK_CSS_PARSER_ERROR_FAILED\n  enumerator :: GTK_CSS_PARSER_ERROR_SYNTAX\n  enumerator :: GTK_CSS_PARSER_ERROR_IMPORT\n  enumerator :: GTK_CSS_PARSER_ERROR_NAME\n  enumerator :: GTK_CSS_PARSER_ERROR_UNKNOWN_VALUE\nend enum\n\nenum, bind(c)    !GtkCssParserWarning\n  enumerator :: GTK_CSS_PARSER_WARNING_DEPRECATED\n  enumerator :: GTK_CSS_PARSER_WARNING_SYNTAX\n  enumerator :: GTK_CSS_PARSER_WARNING_UNIMPLEMENTED\nend enum\n\n! gtkcssenumtypes.h\n! gtkcsserror.h\n! gtkcsslocation.h\n! gtkcsssection.h\n! gtkappchooser.h\n! gtkappchooserbutton.h\n! gtkappchooserdialog.h\n! gtkappchooserwidget.h\n! gtkassistant.h\nenum, bind(c)    !GtkAssistantPageType\n  enumerator :: GTK_ASSISTANT_PAGE_CONTENT\n  enumerator :: GTK_ASSISTANT_PAGE_INTRO\n  enumerator :: GTK_ASSISTANT_PAGE_CONFIRM\n  enumerator :: GTK_ASSISTANT_PAGE_SUMMARY\n  enumerator :: GTK_ASSISTANT_PAGE_PROGRESS\n  enumerator :: GTK_ASSISTANT_PAGE_CUSTOM\nend enum\n\n! gtkcellarea.h\n! gtkcellareabox.h\n! gtkcellareacontext.h\n! gtkcelleditable.h\n! gtkcelllayout.h\n! gtkcellrenderer.h\nenum, bind(c)    !GtkCellRendererState\n  enumerator :: GTK_CELL_RENDERER_SELECTED = ISHFTC(1, 0)\n  enumerator :: GTK_CELL_RENDERER_PRELIT = ISHFTC(1, 1)\n  enumerator :: GTK_CELL_RENDERER_INSENSITIVE = ISHFTC(1, 2)\n  enumerator :: GTK_CELL_RENDERER_SORTED = ISHFTC(1, 3)\n  enumerator :: GTK_CELL_RENDERER_FOCUSED = ISHFTC(1, 4)\n  enumerator :: GTK_CELL_RENDERER_EXPANDABLE = ISHFTC(1, 5)\n  enumerator :: GTK_CELL_RENDERER_EXPANDED = ISHFTC(1, 6)\nend enum\n\nenum, bind(c)    !GtkCellRendererMode\n  enumerator :: GTK_CELL_RENDERER_MODE_INERT\n  enumerator :: GTK_CELL_RENDERER_MODE_ACTIVATABLE\n  enumerator :: GTK_CELL_RENDERER_MODE_EDITABLE\nend enum\n\n! gtkcellrendereraccel.h\nenum, bind(c)    !GtkCellRendererAccelMode\n  enumerator :: GTK_CELL_RENDERER_ACCEL_MODE_GTK\n  enumerator :: GTK_CELL_RENDERER_ACCEL_MODE_OTHER\nend enum\n\n! gtkcellrenderercombo.h\n! gtkcellrendererpixbuf.h\n! gtkcellrendererprogress.h\n! gtkcellrendererspin.h\n! gtkcellrendererspinner.h\n! gtkcellrenderertext.h\n! gtkcellrenderertoggle.h\n! gtkcellview.h\n! gtkcolorbutton.h\n! gtkcolorchooser.h\n! gtkcolorchooserdialog.h\n! gtkcolorchooserwidget.h\n! gtkcombobox.h\n! gtkcomboboxtext.h\n! gtkdialog.h\nenum, bind(c)    !GtkDialogFlags\n  enumerator :: GTK_DIALOG_MODAL = ISHFTC(1, 0)\n  enumerator :: GTK_DIALOG_DESTROY_WITH_PARENT = ISHFTC(1, 1)\n  enumerator :: GTK_DIALOG_USE_HEADER_BAR = ISHFTC(1, 2)\nend enum\n\nenum, bind(c)    !GtkResponseType\n  enumerator :: GTK_RESPONSE_NONE = -1\n  enumerator :: GTK_RESPONSE_REJECT = -2\n  enumerator :: GTK_RESPONSE_ACCEPT = -3\n  enumerator :: GTK_RESPONSE_DELETE_EVENT = -4\n  enumerator :: GTK_RESPONSE_OK = -5\n  enumerator :: GTK_RESPONSE_CANCEL = -6\n  enumerator :: GTK_RESPONSE_CLOSE = -7\n  enumerator :: GTK_RESPONSE_YES = -8\n  enumerator :: GTK_RESPONSE_NO = -9\n  enumerator :: GTK_RESPONSE_APPLY = -10\n  enumerator :: GTK_RESPONSE_HELP = -11\nend enum\n\n! gtkentrycompletion.h\n! gtkfilechooser.h\nenum, bind(c)    !GtkFileChooserAction\n  enumerator :: GTK_FILE_CHOOSER_ACTION_OPEN\n  enumerator :: GTK_FILE_CHOOSER_ACTION_SAVE\n  enumerator :: GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER\nend enum\n\nenum, bind(c)    !GtkFileChooserError\n  enumerator :: GTK_FILE_CHOOSER_ERROR_NONEXISTENT\n  enumerator :: GTK_FILE_CHOOSER_ERROR_BAD_FILENAME\n  enumerator :: GTK_FILE_CHOOSER_ERROR_ALREADY_EXISTS\n  enumerator :: GTK_FILE_CHOOSER_ERROR_INCOMPLETE_HOSTNAME\nend enum\n\n! gtkfilechooserdialog.h\n! gtkfilechoosernative.h\n! gtkfilechooserwidget.h\n! gtkfontbutton.h\n! gtkfontchooser.h\nenum, bind(c)    !GtkFontChooserLevel\n  enumerator :: GTK_FONT_CHOOSER_LEVEL_FAMILY = 0\n  enumerator :: GTK_FONT_CHOOSER_LEVEL_STYLE = ISHFTC(1, 0)\n  enumerator :: GTK_FONT_CHOOSER_LEVEL_SIZE = ISHFTC(1, 1)\n  enumerator :: GTK_FONT_CHOOSER_LEVEL_VARIATIONS = ISHFTC(1, 2)\n  enumerator :: GTK_FONT_CHOOSER_LEVEL_FEATURES = ISHFTC(1, 3)\nend enum\n\n! gtkfontchooserdialog.h\n! gtkfontchooserwidget.h\n! gtkiconview.h\nenum, bind(c)    !GtkIconViewDropPosition\n  enumerator :: GTK_ICON_VIEW_NO_DROP\n  enumerator :: GTK_ICON_VIEW_DROP_INTO\n  enumerator :: GTK_ICON_VIEW_DROP_LEFT\n  enumerator :: GTK_ICON_VIEW_DROP_RIGHT\n  enumerator :: GTK_ICON_VIEW_DROP_ABOVE\n  enumerator :: GTK_ICON_VIEW_DROP_BELOW\nend enum\n\n! gtkinfobar.h\n! gtkliststore.h\n! gtklockbutton.h\n! gtkmessagedialog.h\nenum, bind(c)    !GtkButtonsType\n  enumerator :: GTK_BUTTONS_NONE\n  enumerator :: GTK_BUTTONS_OK\n  enumerator :: GTK_BUTTONS_CLOSE\n  enumerator :: GTK_BUTTONS_CANCEL\n  enumerator :: GTK_BUTTONS_YES_NO\n  enumerator :: GTK_BUTTONS_OK_CANCEL\nend enum\n\n! gtkrender.h\n! gtkshortcutlabel.h\n! gtkshortcutsgroup.h\n! gtkshortcutssection.h\n! gtkshortcutsshortcut.h\nenum, bind(c)    !GtkShortcutType\n  enumerator :: GTK_SHORTCUT_ACCELERATOR\n  enumerator :: GTK_SHORTCUT_GESTURE_PINCH\n  enumerator :: GTK_SHORTCUT_GESTURE_STRETCH\n  enumerator :: GTK_SHORTCUT_GESTURE_ROTATE_CLOCKWISE\n  enumerator :: GTK_SHORTCUT_GESTURE_ROTATE_COUNTERCLOCKWISE\n  enumerator :: GTK_SHORTCUT_GESTURE_TWO_FINGER_SWIPE_LEFT\n  enumerator :: GTK_SHORTCUT_GESTURE_TWO_FINGER_SWIPE_RIGHT\n  enumerator :: GTK_SHORTCUT_GESTURE\n  enumerator :: GTK_SHORTCUT_GESTURE_SWIPE_LEFT\n  enumerator :: GTK_SHORTCUT_GESTURE_SWIPE_RIGHT\nend enum\n\n! gtkshortcutswindow.h\n! gtkshow.h\n! gtkstatusbar.h\n! gtkstylecontext.h\nenum, bind(c)    !GtkStyleContextPrintFlags\n  enumerator :: GTK_STYLE_CONTEXT_PRINT_NONE = 0\n  enumerator :: GTK_STYLE_CONTEXT_PRINT_RECURSE = ISHFTC(1, 0)\n  enumerator :: GTK_STYLE_CONTEXT_PRINT_SHOW_STYLE = ISHFTC(1, 1)\n  enumerator :: GTK_STYLE_CONTEXT_PRINT_SHOW_CHANGE = ISHFTC(1, 2)\nend enum\n\n! gtktreednd.h\n! gtktreemodel.h\nenum, bind(c)    !GtkTreeModelFlags\n  enumerator :: GTK_TREE_MODEL_ITERS_PERSIST = ISHFTC(1, 0)\n  enumerator :: GTK_TREE_MODEL_LIST_ONLY = ISHFTC(1, 1)\nend enum\n\n! gtktreemodelfilter.h\n! gtktreemodelsort.h\n! gtktreeselection.h\n! gtktreesortable.h\n! gtktreestore.h\n! gtktreeview.h\nenum, bind(c)    !GtkTreeViewDropPosition\n  enumerator :: GTK_TREE_VIEW_DROP_BEFORE\n  enumerator :: GTK_TREE_VIEW_DROP_AFTER\n  enumerator :: GTK_TREE_VIEW_DROP_INTO_OR_BEFORE\n  enumerator :: GTK_TREE_VIEW_DROP_INTO_OR_AFTER\nend enum\n\n! gtktreeviewcolumn.h\nenum, bind(c)    !GtkTreeViewColumnSizing\n  enumerator :: GTK_TREE_VIEW_COLUMN_GROW_ONLY\n  enumerator :: GTK_TREE_VIEW_COLUMN_AUTOSIZE\n  enumerator :: GTK_TREE_VIEW_COLUMN_FIXED\nend enum\n\n! gtkvolumebutton.h\n! gtkpagesetup.h\n! gtkpapersize.h\n! gtkprintcontext.h\n! gtkprintoperation.h\nenum, bind(c)    !GtkPrintStatus\n  enumerator :: GTK_PRINT_STATUS_INITIAL\n  enumerator :: GTK_PRINT_STATUS_PREPARING\n  enumerator :: GTK_PRINT_STATUS_GENERATING_DATA\n  enumerator :: GTK_PRINT_STATUS_SENDING_DATA\n  enumerator :: GTK_PRINT_STATUS_PENDING\n  enumerator :: GTK_PRINT_STATUS_PENDING_ISSUE\n  enumerator :: GTK_PRINT_STATUS_PRINTING\n  enumerator :: GTK_PRINT_STATUS_FINISHED\n  enumerator :: GTK_PRINT_STATUS_FINISHED_ABORTED\nend enum\n\nenum, bind(c)    !GtkPrintOperationResult\n  enumerator :: GTK_PRINT_OPERATION_RESULT_ERROR\n  enumerator :: GTK_PRINT_OPERATION_RESULT_APPLY\n  enumerator :: GTK_PRINT_OPERATION_RESULT_CANCEL\n  enumerator :: GTK_PRINT_OPERATION_RESULT_IN_PROGRESS\nend enum\n\nenum, bind(c)    !GtkPrintOperationAction\n  enumerator :: GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG\n  enumerator :: GTK_PRINT_OPERATION_ACTION_PRINT\n  enumerator :: GTK_PRINT_OPERATION_ACTION_PREVIEW\n  enumerator :: GTK_PRINT_OPERATION_ACTION_EXPORT\nend enum\n\nenum, bind(c)    !GtkPrintError\n  enumerator :: GTK_PRINT_ERROR_GENERAL\n  enumerator :: GTK_PRINT_ERROR_INTERNAL_ERROR\n  enumerator :: GTK_PRINT_ERROR_NOMEM\n  enumerator :: GTK_PRINT_ERROR_INVALID_FILE\nend enum\n\n! gtkprintoperationpreview.h\n! gtkprintsettings.h\n! gtkunixprint.h\n! gtkpagesetupunixdialog.h\n! gtkprinter.h\nenum, bind(c)    !GtkPrintCapabilities\n  enumerator :: GTK_PRINT_CAPABILITY_PAGE_SET = ISHFTC(1, 0)\n  enumerator :: GTK_PRINT_CAPABILITY_COPIES = ISHFTC(1, 1)\n  enumerator :: GTK_PRINT_CAPABILITY_COLLATE = ISHFTC(1, 2)\n  enumerator :: GTK_PRINT_CAPABILITY_REVERSE = ISHFTC(1, 3)\n  enumerator :: GTK_PRINT_CAPABILITY_SCALE = ISHFTC(1, 4)\n  enumerator :: GTK_PRINT_CAPABILITY_GENERATE_PDF = ISHFTC(1, 5)\n  enumerator :: GTK_PRINT_CAPABILITY_GENERATE_PS = ISHFTC(1, 6)\n  enumerator :: GTK_PRINT_CAPABILITY_PREVIEW = ISHFTC(1, 7)\n  enumerator :: GTK_PRINT_CAPABILITY_NUMBER_UP = ISHFTC(1, 8)\n  enumerator :: GTK_PRINT_CAPABILITY_NUMBER_UP_LAYOUT = ISHFTC(1, 9)\nend enum\n\n! gtkprintjob.h\n! gtkprintunixdialog.h\n! graphene-box.h\n! graphene-euler.h\nenum, bind(c)    !graphene_euler_order_t\n  enumerator :: GRAPHENE_EULER_ORDER_DEFAULT = -1\n  enumerator :: GRAPHENE_EULER_ORDER_XYZ = 0\n  enumerator :: GRAPHENE_EULER_ORDER_YZX\n  enumerator :: GRAPHENE_EULER_ORDER_ZXY\n  enumerator :: GRAPHENE_EULER_ORDER_XZY\n  enumerator :: GRAPHENE_EULER_ORDER_YXZ\n  enumerator :: GRAPHENE_EULER_ORDER_ZYX\n  enumerator :: GRAPHENE_EULER_ORDER_SXYZ\n  enumerator :: GRAPHENE_EULER_ORDER_SXYX\n  enumerator :: GRAPHENE_EULER_ORDER_SXZY\n  enumerator :: GRAPHENE_EULER_ORDER_SXZX\n  enumerator :: GRAPHENE_EULER_ORDER_SYZX\n  enumerator :: GRAPHENE_EULER_ORDER_SYZY\n  enumerator :: GRAPHENE_EULER_ORDER_SYXZ\n  enumerator :: GRAPHENE_EULER_ORDER_SYXY\n  enumerator :: GRAPHENE_EULER_ORDER_SZXY\n  enumerator :: GRAPHENE_EULER_ORDER_SZXZ\n  enumerator :: GRAPHENE_EULER_ORDER_SZYX\n  enumerator :: GRAPHENE_EULER_ORDER_SZYZ\n  enumerator :: GRAPHENE_EULER_ORDER_RZYX\n  enumerator :: GRAPHENE_EULER_ORDER_RXYX\n  enumerator :: GRAPHENE_EULER_ORDER_RYZX\n  enumerator :: GRAPHENE_EULER_ORDER_RXZX\n  enumerator :: GRAPHENE_EULER_ORDER_RXZY\n  enumerator :: GRAPHENE_EULER_ORDER_RYZY\n  enumerator :: GRAPHENE_EULER_ORDER_RZXY\n  enumerator :: GRAPHENE_EULER_ORDER_RYXY\n  enumerator :: GRAPHENE_EULER_ORDER_RYXZ\n  enumerator :: GRAPHENE_EULER_ORDER_RZXZ\n  enumerator :: GRAPHENE_EULER_ORDER_RXYZ\n  enumerator :: GRAPHENE_EULER_ORDER_RZYZ\nend enum\n\n! graphene-frustum.h\n! graphene-gobject.h\n! graphene-macros.h\n! graphene-matrix.h\n! graphene-plane.h\n! graphene-point.h\n! graphene-point3d.h\n! graphene-quad.h\n! graphene-quaternion.h\n! graphene-ray.h\nenum, bind(c)    !graphene_ray_intersection_kind_t\n  enumerator :: GRAPHENE_RAY_INTERSECTION_KIND_NONE\n  enumerator :: GRAPHENE_RAY_INTERSECTION_KIND_ENTER\n  enumerator :: GRAPHENE_RAY_INTERSECTION_KIND_LEAVE\nend enum\n\n! graphene-rect.h\n! graphene-simd4f.h\n! graphene-simd4x4f.h\n! graphene-size.h\n! graphene-sphere.h\n! graphene-triangle.h\n! graphene-types.h\n! graphene-vec2.h\n! graphene-vec3.h\n! graphene-vec4.h\n! graphene-version-macros.h\n! graphene-version.h\n! graphene.h\n! pango-attributes.h\nenum, bind(c)    !PangoAttrType\n  enumerator :: PANGO_ATTR_INVALID\n  enumerator :: PANGO_ATTR_LANGUAGE\n  enumerator :: PANGO_ATTR_FAMILY\n  enumerator :: PANGO_ATTR_STYLE\n  enumerator :: PANGO_ATTR_WEIGHT\n  enumerator :: PANGO_ATTR_VARIANT\n  enumerator :: PANGO_ATTR_STRETCH\n  enumerator :: PANGO_ATTR_SIZE\n  enumerator :: PANGO_ATTR_FONT_DESC\n  enumerator :: PANGO_ATTR_FOREGROUND\n  enumerator :: PANGO_ATTR_BACKGROUND\n  enumerator :: PANGO_ATTR_UNDERLINE\n  enumerator :: PANGO_ATTR_STRIKETHROUGH\n  enumerator :: PANGO_ATTR_RISE\n  enumerator :: PANGO_ATTR_SHAPE\n  enumerator :: PANGO_ATTR_SCALE\n  enumerator :: PANGO_ATTR_FALLBACK\n  enumerator :: PANGO_ATTR_LETTER_SPACING\n  enumerator :: PANGO_ATTR_UNDERLINE_COLOR\n  enumerator :: PANGO_ATTR_STRIKETHROUGH_COLOR\n  enumerator :: PANGO_ATTR_ABSOLUTE_SIZE\n  enumerator :: PANGO_ATTR_GRAVITY\n  enumerator :: PANGO_ATTR_GRAVITY_HINT\n  enumerator :: PANGO_ATTR_FONT_FEATURES\n  enumerator :: PANGO_ATTR_FOREGROUND_ALPHA\n  enumerator :: PANGO_ATTR_BACKGROUND_ALPHA\n  enumerator :: PANGO_ATTR_ALLOW_BREAKS\n  enumerator :: PANGO_ATTR_SHOW\n  enumerator :: PANGO_ATTR_INSERT_HYPHENS\n  enumerator :: PANGO_ATTR_OVERLINE\n  enumerator :: PANGO_ATTR_OVERLINE_COLOR\n  enumerator :: PANGO_ATTR_LINE_HEIGHT\n  enumerator :: PANGO_ATTR_ABSOLUTE_LINE_HEIGHT\n  enumerator :: PANGO_ATTR_TEXT_TRANSFORM\n  enumerator :: PANGO_ATTR_WORD\n  enumerator :: PANGO_ATTR_SENTENCE\n  enumerator :: PANGO_ATTR_BASELINE_SHIFT\n  enumerator :: PANGO_ATTR_FONT_SCALE\nend enum\n\nenum, bind(c)    !PangoUnderline\n  enumerator :: PANGO_UNDERLINE_NONE\n  enumerator :: PANGO_UNDERLINE_SINGLE\n  enumerator :: PANGO_UNDERLINE_DOUBLE\n  enumerator :: PANGO_UNDERLINE_LOW\n  enumerator :: PANGO_UNDERLINE_ERROR\n  enumerator :: PANGO_UNDERLINE_SINGLE_LINE\n  enumerator :: PANGO_UNDERLINE_DOUBLE_LINE\n  enumerator :: PANGO_UNDERLINE_ERROR_LINE\nend enum\n\nenum, bind(c)    !PangoOverline\n  enumerator :: PANGO_OVERLINE_NONE\n  enumerator :: PANGO_OVERLINE_SINGLE\nend enum\n\nenum, bind(c)    !PangoShowFlags\n  enumerator :: PANGO_SHOW_NONE = 0\n  enumerator :: PANGO_SHOW_SPACES = ISHFTC(1, 0)\n  enumerator :: PANGO_SHOW_LINE_BREAKS = ISHFTC(1, 1)\n  enumerator :: PANGO_SHOW_IGNORABLES = ISHFTC(1, 2)\nend enum\n\nenum, bind(c)    !PangoTextTransform\n  enumerator :: PANGO_TEXT_TRANSFORM_NONE\n  enumerator :: PANGO_TEXT_TRANSFORM_LOWERCASE\n  enumerator :: PANGO_TEXT_TRANSFORM_UPPERCASE\n  enumerator :: PANGO_TEXT_TRANSFORM_CAPITALIZE\nend enum\n\nenum, bind(c)    !PangoBaselineShift\n  enumerator :: PANGO_BASELINE_SHIFT_NONE\n  enumerator :: PANGO_BASELINE_SHIFT_SUPERSCRIPT\n  enumerator :: PANGO_BASELINE_SHIFT_SUBSCRIPT\nend enum\n\nenum, bind(c)    !PangoFontScale\n  enumerator :: PANGO_FONT_SCALE_NONE\n  enumerator :: PANGO_FONT_SCALE_SUPERSCRIPT\n  enumerator :: PANGO_FONT_SCALE_SUBSCRIPT\n  enumerator :: PANGO_FONT_SCALE_SMALL_CAPS\nend enum\n\n! pango-bidi-type.h\nenum, bind(c)    !PangoBidiType\n  enumerator :: PANGO_BIDI_TYPE_L\n  enumerator :: PANGO_BIDI_TYPE_LRE\n  enumerator :: PANGO_BIDI_TYPE_LRO\n  enumerator :: PANGO_BIDI_TYPE_R\n  enumerator :: PANGO_BIDI_TYPE_AL\n  enumerator :: PANGO_BIDI_TYPE_RLE\n  enumerator :: PANGO_BIDI_TYPE_RLO\n  enumerator :: PANGO_BIDI_TYPE_PDF\n  enumerator :: PANGO_BIDI_TYPE_EN\n  enumerator :: PANGO_BIDI_TYPE_ES\n  enumerator :: PANGO_BIDI_TYPE_ET\n  enumerator :: PANGO_BIDI_TYPE_AN\n  enumerator :: PANGO_BIDI_TYPE_CS\n  enumerator :: PANGO_BIDI_TYPE_NSM\n  enumerator :: PANGO_BIDI_TYPE_BN\n  enumerator :: PANGO_BIDI_TYPE_B\n  enumerator :: PANGO_BIDI_TYPE_S\n  enumerator :: PANGO_BIDI_TYPE_WS\n  enumerator :: PANGO_BIDI_TYPE_ON\n  enumerator :: PANGO_BIDI_TYPE_LRI\n  enumerator :: PANGO_BIDI_TYPE_RLI\n  enumerator :: PANGO_BIDI_TYPE_FSI\n  enumerator :: PANGO_BIDI_TYPE_PDI\nend enum\n\n! pango-break.h\n! pango-color.h\n! pango-context.h\n! pango-coverage.h\nenum, bind(c)    !PangoCoverageLevel\n  enumerator :: PANGO_COVERAGE_NONE\n  enumerator :: PANGO_COVERAGE_FALLBACK\n  enumerator :: PANGO_COVERAGE_APPROXIMATE\n  enumerator :: PANGO_COVERAGE_EXACT\nend enum\n\n! pango-direction.h\nenum, bind(c)    !PangoDirection\n  enumerator :: PANGO_DIRECTION_LTR\n  enumerator :: PANGO_DIRECTION_RTL\n  enumerator :: PANGO_DIRECTION_TTB_LTR\n  enumerator :: PANGO_DIRECTION_TTB_RTL\n  enumerator :: PANGO_DIRECTION_WEAK_LTR\n  enumerator :: PANGO_DIRECTION_WEAK_RTL\n  enumerator :: PANGO_DIRECTION_NEUTRAL\nend enum\n\n! pango-engine.h\n! pango-enum-types.h\n! pango-features.h\n! pango-font.h\nenum, bind(c)    !PangoStyle\n  enumerator :: PANGO_STYLE_NORMAL\n  enumerator :: PANGO_STYLE_OBLIQUE\n  enumerator :: PANGO_STYLE_ITALIC\nend enum\n\nenum, bind(c)    !PangoVariant\n  enumerator :: PANGO_VARIANT_NORMAL\n  enumerator :: PANGO_VARIANT_SMALL_CAPS\n  enumerator :: PANGO_VARIANT_ALL_SMALL_CAPS\n  enumerator :: PANGO_VARIANT_PETITE_CAPS\n  enumerator :: PANGO_VARIANT_ALL_PETITE_CAPS\n  enumerator :: PANGO_VARIANT_UNICASE\n  enumerator :: PANGO_VARIANT_TITLE_CAPS\nend enum\n\nenum, bind(c)    !PangoWeight\n  enumerator :: PANGO_WEIGHT_THIN = 100\n  enumerator :: PANGO_WEIGHT_ULTRALIGHT = 200\n  enumerator :: PANGO_WEIGHT_LIGHT = 300\n  enumerator :: PANGO_WEIGHT_SEMILIGHT = 350\n  enumerator :: PANGO_WEIGHT_BOOK = 380\n  enumerator :: PANGO_WEIGHT_NORMAL = 400\n  enumerator :: PANGO_WEIGHT_MEDIUM = 500\n  enumerator :: PANGO_WEIGHT_SEMIBOLD = 600\n  enumerator :: PANGO_WEIGHT_BOLD = 700\n  enumerator :: PANGO_WEIGHT_ULTRABOLD = 800\n  enumerator :: PANGO_WEIGHT_HEAVY = 900\n  enumerator :: PANGO_WEIGHT_ULTRAHEAVY = 1000\nend enum\n\nenum, bind(c)    !PangoStretch\n  enumerator :: PANGO_STRETCH_ULTRA_CONDENSED\n  enumerator :: PANGO_STRETCH_EXTRA_CONDENSED\n  enumerator :: PANGO_STRETCH_CONDENSED\n  enumerator :: PANGO_STRETCH_SEMI_CONDENSED\n  enumerator :: PANGO_STRETCH_NORMAL\n  enumerator :: PANGO_STRETCH_SEMI_EXPANDED\n  enumerator :: PANGO_STRETCH_EXPANDED\n  enumerator :: PANGO_STRETCH_EXTRA_EXPANDED\n  enumerator :: PANGO_STRETCH_ULTRA_EXPANDED\nend enum\n\nenum, bind(c)    !PangoFontMask\n  enumerator :: PANGO_FONT_MASK_FAMILY = ISHFTC(1, 0)\n  enumerator :: PANGO_FONT_MASK_STYLE = ISHFTC(1, 1)\n  enumerator :: PANGO_FONT_MASK_VARIANT = ISHFTC(1, 2)\n  enumerator :: PANGO_FONT_MASK_WEIGHT = ISHFTC(1, 3)\n  enumerator :: PANGO_FONT_MASK_STRETCH = ISHFTC(1, 4)\n  enumerator :: PANGO_FONT_MASK_SIZE = ISHFTC(1, 5)\n  enumerator :: PANGO_FONT_MASK_GRAVITY = ISHFTC(1, 6)\n  enumerator :: PANGO_FONT_MASK_VARIATIONS = ISHFTC(1, 7)\n  enumerator :: PANGO_FONT_MASK_FEATURES = ISHFTC(1, 8)\n  enumerator :: PANGO_FONT_MASK_COLOR = ISHFTC(1, 9)\nend enum\n\nenum, bind(c)    !PangoFontColor\n  enumerator :: PANGO_FONT_COLOR_FORBIDDEN\n  enumerator :: PANGO_FONT_COLOR_REQUIRED\n  enumerator :: PANGO_FONT_COLOR_DONT_CARE\nend enum\n\n! pango-fontmap.h\n! pango-fontset-simple.h\n! pango-fontset.h\n! pango-glyph-item.h\n! pango-glyph.h\nenum, bind(c)    !PangoShapeFlags\n  enumerator :: PANGO_SHAPE_NONE = 0\n  enumerator :: PANGO_SHAPE_ROUND_POSITIONS = ISHFTC(1, 0)\nend enum\n\n! pango-gravity.h\nenum, bind(c)    !PangoGravity\n  enumerator :: PANGO_GRAVITY_SOUTH\n  enumerator :: PANGO_GRAVITY_EAST\n  enumerator :: PANGO_GRAVITY_NORTH\n  enumerator :: PANGO_GRAVITY_WEST\n  enumerator :: PANGO_GRAVITY_AUTO\nend enum\n\nenum, bind(c)    !PangoGravityHint\n  enumerator :: PANGO_GRAVITY_HINT_NATURAL\n  enumerator :: PANGO_GRAVITY_HINT_STRONG\n  enumerator :: PANGO_GRAVITY_HINT_LINE\nend enum\n\n! pango-item.h\n! pango-language.h\n! pango-layout.h\nenum, bind(c)    !PangoAlignment\n  enumerator :: PANGO_ALIGN_LEFT\n  enumerator :: PANGO_ALIGN_CENTER\n  enumerator :: PANGO_ALIGN_RIGHT\nend enum\n\nenum, bind(c)    !PangoWrapMode\n  enumerator :: PANGO_WRAP_WORD\n  enumerator :: PANGO_WRAP_CHAR\n  enumerator :: PANGO_WRAP_WORD_CHAR\n  enumerator :: PANGO_WRAP_NONE\nend enum\n\nenum, bind(c)    !PangoEllipsizeMode\n  enumerator :: PANGO_ELLIPSIZE_NONE\n  enumerator :: PANGO_ELLIPSIZE_START\n  enumerator :: PANGO_ELLIPSIZE_MIDDLE\n  enumerator :: PANGO_ELLIPSIZE_END\nend enum\n\nenum, bind(c)    !PangoLayoutSerializeFlags\n  enumerator :: PANGO_LAYOUT_SERIALIZE_DEFAULT = 0\n  enumerator :: PANGO_LAYOUT_SERIALIZE_CONTEXT = ISHFTC(1, 0)\n  enumerator :: PANGO_LAYOUT_SERIALIZE_OUTPUT = ISHFTC(1, 1)\nend enum\n\nenum, bind(c)    !PangoLayoutDeserializeError\n  enumerator :: PANGO_LAYOUT_DESERIALIZE_INVALID\n  enumerator :: PANGO_LAYOUT_DESERIALIZE_INVALID_VALUE\n  enumerator :: PANGO_LAYOUT_DESERIALIZE_MISSING_VALUE\nend enum\n\nenum, bind(c)    !PangoLayoutDeserializeFlags\n  enumerator :: PANGO_LAYOUT_DESERIALIZE_DEFAULT = 0\n  enumerator :: PANGO_LAYOUT_DESERIALIZE_CONTEXT = ISHFTC(1, 0)\nend enum\n\n! pango-markup.h\n! pango-matrix.h\n! pango-modules.h\n! pango-ot.h\nenum, bind(c)    !PangoOTTableType\n  enumerator :: PANGO_OT_TABLE_GSUB\n  enumerator :: PANGO_OT_TABLE_GPOS\nend enum\n\n! pango-renderer.h\nenum, bind(c)    !PangoRenderPart\n  enumerator :: PANGO_RENDER_PART_FOREGROUND\n  enumerator :: PANGO_RENDER_PART_BACKGROUND\n  enumerator :: PANGO_RENDER_PART_UNDERLINE\n  enumerator :: PANGO_RENDER_PART_STRIKETHROUGH\n  enumerator :: PANGO_RENDER_PART_OVERLINE\nend enum\n\n! pango-script.h\nenum, bind(c)    !PangoScript\n  enumerator :: PANGO_SCRIPT_INVALID_CODE = -1\n  enumerator :: PANGO_SCRIPT_COMMON = 0\n  enumerator :: PANGO_SCRIPT_INHERITED\n  enumerator :: PANGO_SCRIPT_ARABIC\n  enumerator :: PANGO_SCRIPT_ARMENIAN\n  enumerator :: PANGO_SCRIPT_BENGALI\n  enumerator :: PANGO_SCRIPT_BOPOMOFO\n  enumerator :: PANGO_SCRIPT_CHEROKEE\n  enumerator :: PANGO_SCRIPT_COPTIC\n  enumerator :: PANGO_SCRIPT_CYRILLIC\n  enumerator :: PANGO_SCRIPT_DESERET\n  enumerator :: PANGO_SCRIPT_DEVANAGARI\n  enumerator :: PANGO_SCRIPT_ETHIOPIC\n  enumerator :: PANGO_SCRIPT_GEORGIAN\n  enumerator :: PANGO_SCRIPT_GOTHIC\n  enumerator :: PANGO_SCRIPT_GREEK\n  enumerator :: PANGO_SCRIPT_GUJARATI\n  enumerator :: PANGO_SCRIPT_GURMUKHI\n  enumerator :: PANGO_SCRIPT_HAN\n  enumerator :: PANGO_SCRIPT_HANGUL\n  enumerator :: PANGO_SCRIPT_HEBREW\n  enumerator :: PANGO_SCRIPT_HIRAGANA\n  enumerator :: PANGO_SCRIPT_KANNADA\n  enumerator :: PANGO_SCRIPT_KATAKANA\n  enumerator :: PANGO_SCRIPT_KHMER\n  enumerator :: PANGO_SCRIPT_LAO\n  enumerator :: PANGO_SCRIPT_LATIN\n  enumerator :: PANGO_SCRIPT_MALAYALAM\n  enumerator :: PANGO_SCRIPT_MONGOLIAN\n  enumerator :: PANGO_SCRIPT_MYANMAR\n  enumerator :: PANGO_SCRIPT_OGHAM\n  enumerator :: PANGO_SCRIPT_OLD_ITALIC\n  enumerator :: PANGO_SCRIPT_ORIYA\n  enumerator :: PANGO_SCRIPT_RUNIC\n  enumerator :: PANGO_SCRIPT_SINHALA\n  enumerator :: PANGO_SCRIPT_SYRIAC\n  enumerator :: PANGO_SCRIPT_TAMIL\n  enumerator :: PANGO_SCRIPT_TELUGU\n  enumerator :: PANGO_SCRIPT_THAANA\n  enumerator :: PANGO_SCRIPT_THAI\n  enumerator :: PANGO_SCRIPT_TIBETAN\n  enumerator :: PANGO_SCRIPT_CANADIAN_ABORIGINAL\n  enumerator :: PANGO_SCRIPT_YI\n  enumerator :: PANGO_SCRIPT_TAGALOG\n  enumerator :: PANGO_SCRIPT_HANUNOO\n  enumerator :: PANGO_SCRIPT_BUHID\n  enumerator :: PANGO_SCRIPT_TAGBANWA\n  enumerator :: PANGO_SCRIPT_BRAILLE\n  enumerator :: PANGO_SCRIPT_CYPRIOT\n  enumerator :: PANGO_SCRIPT_LIMBU\n  enumerator :: PANGO_SCRIPT_OSMANYA\n  enumerator :: PANGO_SCRIPT_SHAVIAN\n  enumerator :: PANGO_SCRIPT_LINEAR_B\n  enumerator :: PANGO_SCRIPT_TAI_LE\n  enumerator :: PANGO_SCRIPT_UGARITIC\n  enumerator :: PANGO_SCRIPT_NEW_TAI_LUE\n  enumerator :: PANGO_SCRIPT_BUGINESE\n  enumerator :: PANGO_SCRIPT_GLAGOLITIC\n  enumerator :: PANGO_SCRIPT_TIFINAGH\n  enumerator :: PANGO_SCRIPT_SYLOTI_NAGRI\n  enumerator :: PANGO_SCRIPT_OLD_PERSIAN\n  enumerator :: PANGO_SCRIPT_KHAROSHTHI\n  enumerator :: PANGO_SCRIPT_UNKNOWN\n  enumerator :: PANGO_SCRIPT_BALINESE\n  enumerator :: PANGO_SCRIPT_CUNEIFORM\n  enumerator :: PANGO_SCRIPT_PHOENICIAN\n  enumerator :: PANGO_SCRIPT_PHAGS_PA\n  enumerator :: PANGO_SCRIPT_NKO\n  enumerator :: PANGO_SCRIPT_KAYAH_LI\n  enumerator :: PANGO_SCRIPT_LEPCHA\n  enumerator :: PANGO_SCRIPT_REJANG\n  enumerator :: PANGO_SCRIPT_SUNDANESE\n  enumerator :: PANGO_SCRIPT_SAURASHTRA\n  enumerator :: PANGO_SCRIPT_CHAM\n  enumerator :: PANGO_SCRIPT_OL_CHIKI\n  enumerator :: PANGO_SCRIPT_VAI\n  enumerator :: PANGO_SCRIPT_CARIAN\n  enumerator :: PANGO_SCRIPT_LYCIAN\n  enumerator :: PANGO_SCRIPT_LYDIAN\n  enumerator :: PANGO_SCRIPT_BATAK\n  enumerator :: PANGO_SCRIPT_BRAHMI\n  enumerator :: PANGO_SCRIPT_MANDAIC\n  enumerator :: PANGO_SCRIPT_CHAKMA\n  enumerator :: PANGO_SCRIPT_MEROITIC_CURSIVE\n  enumerator :: PANGO_SCRIPT_MEROITIC_HIEROGLYPHS\n  enumerator :: PANGO_SCRIPT_MIAO\n  enumerator :: PANGO_SCRIPT_SHARADA\n  enumerator :: PANGO_SCRIPT_SORA_SOMPENG\n  enumerator :: PANGO_SCRIPT_TAKRI\n  enumerator :: PANGO_SCRIPT_BASSA_VAH\n  enumerator :: PANGO_SCRIPT_CAUCASIAN_ALBANIAN\n  enumerator :: PANGO_SCRIPT_DUPLOYAN\n  enumerator :: PANGO_SCRIPT_ELBASAN\n  enumerator :: PANGO_SCRIPT_GRANTHA\n  enumerator :: PANGO_SCRIPT_KHOJKI\n  enumerator :: PANGO_SCRIPT_KHUDAWADI\n  enumerator :: PANGO_SCRIPT_LINEAR_A\n  enumerator :: PANGO_SCRIPT_MAHAJANI\n  enumerator :: PANGO_SCRIPT_MANICHAEAN\n  enumerator :: PANGO_SCRIPT_MENDE_KIKAKUI\n  enumerator :: PANGO_SCRIPT_MODI\n  enumerator :: PANGO_SCRIPT_MRO\n  enumerator :: PANGO_SCRIPT_NABATAEAN\n  enumerator :: PANGO_SCRIPT_OLD_NORTH_ARABIAN\n  enumerator :: PANGO_SCRIPT_OLD_PERMIC\n  enumerator :: PANGO_SCRIPT_PAHAWH_HMONG\n  enumerator :: PANGO_SCRIPT_PALMYRENE\n  enumerator :: PANGO_SCRIPT_PAU_CIN_HAU\n  enumerator :: PANGO_SCRIPT_PSALTER_PAHLAVI\n  enumerator :: PANGO_SCRIPT_SIDDHAM\n  enumerator :: PANGO_SCRIPT_TIRHUTA\n  enumerator :: PANGO_SCRIPT_WARANG_CITI\n  enumerator :: PANGO_SCRIPT_AHOM\n  enumerator :: PANGO_SCRIPT_ANATOLIAN_HIEROGLYPHS\n  enumerator :: PANGO_SCRIPT_HATRAN\n  enumerator :: PANGO_SCRIPT_MULTANI\n  enumerator :: PANGO_SCRIPT_OLD_HUNGARIAN\n  enumerator :: PANGO_SCRIPT_SIGNWRITING\nend enum\n\n! pango-tabs.h\nenum, bind(c)    !PangoTabAlign\n  enumerator :: PANGO_TAB_LEFT\n  enumerator :: PANGO_TAB_RIGHT\n  enumerator :: PANGO_TAB_CENTER\n  enumerator :: PANGO_TAB_DECIMAL\nend enum\n\n! pango-types.h\n! pango-utils.h\n! pango-version-macros.h\n! pango.h\n! pangocairo.h\n! pangofc-decoder.h\n! pangofc-font.h\n! pangofc-fontmap.h\n! pangoft2.h\n! pangoxft-render.h\n! pangoxft.h\n"
  },
  {
    "path": "src/pango-auto.f90",
    "content": "! Do not modify this file automatically generated by cfwrapper.py using:\n! gtk-fortran 4.9.0, GTK 4.20.2, GLib 2.86.1, Fedora 43 x86_64\n! This file is part of the gtk-fortran library, distributed under\n! GNU General Public License version 3.\n\nmodule pango\nuse, intrinsic :: iso_c_binding\nimplicit none\ninterface\n\n!--------------------------------------------------\n! /usr/include/pango-1.0/pango/pango-attributes.h\n!--------------------------------------------------\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_attribute_get_type (void) ;\nfunction pango_attribute_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_attribute_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoAttrType pango_attr_type_register (const char *name);\nfunction pango_attr_type_register(name) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: pango_attr_type_register\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! PANGO_AVAILABLE_IN_1_22\n!const char * pango_attr_type_get_name (PangoAttrType type) ;\nfunction pango_attr_type_get_name(type) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_attr_type_get_name\n  integer(c_int), value :: type\nend function\n\n! PANGO_AVAILABLE_IN_1_20\n!void pango_attribute_init (PangoAttribute *attr, const PangoAttrClass *klass);\nsubroutine pango_attribute_init(attr, klass) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: attr\n  type(c_ptr), value :: klass\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoAttribute * pango_attribute_copy (const PangoAttribute *attr);\nfunction pango_attribute_copy(attr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_attribute_copy\n  type(c_ptr), value :: attr\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_attribute_destroy (PangoAttribute *attr);\nsubroutine pango_attribute_destroy(attr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: attr\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!gboolean pango_attribute_equal (const PangoAttribute *attr1, const PangoAttribute *attr2) ;\nfunction pango_attribute_equal(attr1, attr2) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_attribute_equal\n  type(c_ptr), value :: attr1\n  type(c_ptr), value :: attr2\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoAttribute * pango_attr_language_new (PangoLanguage *language);\nfunction pango_attr_language_new(language) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_attr_language_new\n  type(c_ptr), value :: language\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoAttribute * pango_attr_family_new (const char *family);\nfunction pango_attr_family_new(family) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: pango_attr_family_new\n  character(kind=c_char), dimension(*) :: family\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoAttribute * pango_attr_foreground_new (guint16 red, guint16 green, guint16 blue);\nfunction pango_attr_foreground_new(red, green, blue) bind(c)\n  import :: c_ptr, c_int16_t\n  implicit none\n  type(c_ptr) :: pango_attr_foreground_new\n  integer(c_int16_t), value :: red\n  integer(c_int16_t), value :: green\n  integer(c_int16_t), value :: blue\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoAttribute * pango_attr_background_new (guint16 red, guint16 green, guint16 blue);\nfunction pango_attr_background_new(red, green, blue) bind(c)\n  import :: c_ptr, c_int16_t\n  implicit none\n  type(c_ptr) :: pango_attr_background_new\n  integer(c_int16_t), value :: red\n  integer(c_int16_t), value :: green\n  integer(c_int16_t), value :: blue\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoAttribute * pango_attr_size_new (int size);\nfunction pango_attr_size_new(size) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_attr_size_new\n  integer(c_int), value :: size\nend function\n\n! PANGO_AVAILABLE_IN_1_8\n!PangoAttribute * pango_attr_size_new_absolute (int size);\nfunction pango_attr_size_new_absolute(size) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_attr_size_new_absolute\n  integer(c_int), value :: size\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoAttribute * pango_attr_style_new (PangoStyle style);\nfunction pango_attr_style_new(style) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_attr_style_new\n  integer(c_int), value :: style\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoAttribute * pango_attr_weight_new (PangoWeight weight);\nfunction pango_attr_weight_new(weight) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_attr_weight_new\n  integer(c_int), value :: weight\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoAttribute * pango_attr_variant_new (PangoVariant variant);\nfunction pango_attr_variant_new(variant) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_attr_variant_new\n  integer(c_int), value :: variant\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoAttribute * pango_attr_stretch_new (PangoStretch stretch);\nfunction pango_attr_stretch_new(stretch) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_attr_stretch_new\n  integer(c_int), value :: stretch\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoAttribute * pango_attr_font_desc_new (const PangoFontDescription *desc);\nfunction pango_attr_font_desc_new(desc) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_attr_font_desc_new\n  type(c_ptr), value :: desc\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoAttribute * pango_attr_underline_new (PangoUnderline underline);\nfunction pango_attr_underline_new(underline) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_attr_underline_new\n  integer(c_int), value :: underline\nend function\n\n! PANGO_AVAILABLE_IN_1_8\n!PangoAttribute * pango_attr_underline_color_new (guint16 red, guint16 green, guint16 blue);\nfunction pango_attr_underline_color_new(red, green, blue) bind(c)\n  import :: c_ptr, c_int16_t\n  implicit none\n  type(c_ptr) :: pango_attr_underline_color_new\n  integer(c_int16_t), value :: red\n  integer(c_int16_t), value :: green\n  integer(c_int16_t), value :: blue\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoAttribute * pango_attr_strikethrough_new (gboolean strikethrough);\nfunction pango_attr_strikethrough_new(strikethrough) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_attr_strikethrough_new\n  integer(c_int), value :: strikethrough\nend function\n\n! PANGO_AVAILABLE_IN_1_8\n!PangoAttribute * pango_attr_strikethrough_color_new (guint16 red, guint16 green, guint16 blue);\nfunction pango_attr_strikethrough_color_new(red, green, blue) bind(c)\n  import :: c_ptr, c_int16_t\n  implicit none\n  type(c_ptr) :: pango_attr_strikethrough_color_new\n  integer(c_int16_t), value :: red\n  integer(c_int16_t), value :: green\n  integer(c_int16_t), value :: blue\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoAttribute * pango_attr_rise_new (int rise);\nfunction pango_attr_rise_new(rise) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_attr_rise_new\n  integer(c_int), value :: rise\nend function\n\n! PANGO_AVAILABLE_IN_1_50\n!PangoAttribute * pango_attr_baseline_shift_new (int shift);\nfunction pango_attr_baseline_shift_new(shift) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_attr_baseline_shift_new\n  integer(c_int), value :: shift\nend function\n\n! PANGO_AVAILABLE_IN_1_50\n!PangoAttribute * pango_attr_font_scale_new (PangoFontScale scale);\nfunction pango_attr_font_scale_new(scale) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_attr_font_scale_new\n  integer(c_int), value :: scale\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoAttribute * pango_attr_scale_new (double scale_factor);\nfunction pango_attr_scale_new(scale_factor) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr) :: pango_attr_scale_new\n  real(c_double), value :: scale_factor\nend function\n\n! PANGO_AVAILABLE_IN_1_4\n!PangoAttribute * pango_attr_fallback_new (gboolean enable_fallback);\nfunction pango_attr_fallback_new(enable_fallback) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_attr_fallback_new\n  integer(c_int), value :: enable_fallback\nend function\n\n! PANGO_AVAILABLE_IN_1_6\n!PangoAttribute * pango_attr_letter_spacing_new (int letter_spacing);\nfunction pango_attr_letter_spacing_new(letter_spacing) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_attr_letter_spacing_new\n  integer(c_int), value :: letter_spacing\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoAttribute * pango_attr_shape_new (const PangoRectangle *ink_rect, const PangoRectangle *logical_rect);\nfunction pango_attr_shape_new(ink_rect, logical_rect) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_attr_shape_new\n  type(c_ptr), value :: ink_rect\n  type(c_ptr), value :: logical_rect\nend function\n\n! PANGO_AVAILABLE_IN_1_8\n!PangoAttribute * pango_attr_shape_new_with_data (const PangoRectangle *ink_rect, const PangoRectangle *logical_rect, gpointer data, PangoAttrDataCopyFunc copy_func, GDestroyNotify destroy_func);\nfunction pango_attr_shape_new_with_data(ink_rect, logical_rect, data,&\n& copy_func, destroy_func) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: pango_attr_shape_new_with_data\n  type(c_ptr), value :: ink_rect\n  type(c_ptr), value :: logical_rect\n  type(c_ptr), value :: data\n  type(c_funptr), value :: copy_func\n  type(c_funptr), value :: destroy_func\nend function\n\n! PANGO_AVAILABLE_IN_1_16\n!PangoAttribute * pango_attr_gravity_new (PangoGravity gravity);\nfunction pango_attr_gravity_new(gravity) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_attr_gravity_new\n  integer(c_int), value :: gravity\nend function\n\n! PANGO_AVAILABLE_IN_1_16\n!PangoAttribute * pango_attr_gravity_hint_new (PangoGravityHint hint);\nfunction pango_attr_gravity_hint_new(hint) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_attr_gravity_hint_new\n  integer(c_int), value :: hint\nend function\n\n! PANGO_AVAILABLE_IN_1_38\n!PangoAttribute * pango_attr_font_features_new (const char *features);\nfunction pango_attr_font_features_new(features) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: pango_attr_font_features_new\n  character(kind=c_char), dimension(*) :: features\nend function\n\n! PANGO_AVAILABLE_IN_1_38\n!PangoAttribute * pango_attr_foreground_alpha_new (guint16 alpha);\nfunction pango_attr_foreground_alpha_new(alpha) bind(c)\n  import :: c_ptr, c_int16_t\n  implicit none\n  type(c_ptr) :: pango_attr_foreground_alpha_new\n  integer(c_int16_t), value :: alpha\nend function\n\n! PANGO_AVAILABLE_IN_1_38\n!PangoAttribute * pango_attr_background_alpha_new (guint16 alpha);\nfunction pango_attr_background_alpha_new(alpha) bind(c)\n  import :: c_ptr, c_int16_t\n  implicit none\n  type(c_ptr) :: pango_attr_background_alpha_new\n  integer(c_int16_t), value :: alpha\nend function\n\n! PANGO_AVAILABLE_IN_1_44\n!PangoAttribute * pango_attr_allow_breaks_new (gboolean allow_breaks);\nfunction pango_attr_allow_breaks_new(allow_breaks) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_attr_allow_breaks_new\n  integer(c_int), value :: allow_breaks\nend function\n\n! PANGO_AVAILABLE_IN_1_50\n!PangoAttribute * pango_attr_word_new (void);\nfunction pango_attr_word_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_attr_word_new\nend function\n\n! PANGO_AVAILABLE_IN_1_50\n!PangoAttribute * pango_attr_sentence_new (void);\nfunction pango_attr_sentence_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_attr_sentence_new\nend function\n\n! PANGO_AVAILABLE_IN_1_44\n!PangoAttribute * pango_attr_insert_hyphens_new (gboolean insert_hyphens);\nfunction pango_attr_insert_hyphens_new(insert_hyphens) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_attr_insert_hyphens_new\n  integer(c_int), value :: insert_hyphens\nend function\n\n! PANGO_AVAILABLE_IN_1_46\n!PangoAttribute * pango_attr_overline_new (PangoOverline overline);\nfunction pango_attr_overline_new(overline) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_attr_overline_new\n  integer(c_int), value :: overline\nend function\n\n! PANGO_AVAILABLE_IN_1_46\n!PangoAttribute * pango_attr_overline_color_new (guint16 red, guint16 green, guint16 blue);\nfunction pango_attr_overline_color_new(red, green, blue) bind(c)\n  import :: c_ptr, c_int16_t\n  implicit none\n  type(c_ptr) :: pango_attr_overline_color_new\n  integer(c_int16_t), value :: red\n  integer(c_int16_t), value :: green\n  integer(c_int16_t), value :: blue\nend function\n\n! PANGO_AVAILABLE_IN_1_44\n!PangoAttribute * pango_attr_show_new (PangoShowFlags flags);\nfunction pango_attr_show_new(flags) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_attr_show_new\n  integer(c_int), value :: flags\nend function\n\n! PANGO_AVAILABLE_IN_1_50\n!PangoAttribute * pango_attr_line_height_new (double factor);\nfunction pango_attr_line_height_new(factor) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr) :: pango_attr_line_height_new\n  real(c_double), value :: factor\nend function\n\n! PANGO_AVAILABLE_IN_1_50\n!PangoAttribute * pango_attr_line_height_new_absolute (int height);\nfunction pango_attr_line_height_new_absolute(height) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_attr_line_height_new_absolute\n  integer(c_int), value :: height\nend function\n\n! PANGO_AVAILABLE_IN_1_50\n!PangoAttribute * pango_attr_text_transform_new (PangoTextTransform transform);\nfunction pango_attr_text_transform_new(transform) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_attr_text_transform_new\n  integer(c_int), value :: transform\nend function\n\n! PANGO_AVAILABLE_IN_1_50\n!PangoAttrString * pango_attribute_as_string (PangoAttribute *attr);\nfunction pango_attribute_as_string(attr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_attribute_as_string\n  type(c_ptr), value :: attr\nend function\n\n! PANGO_AVAILABLE_IN_1_50\n!PangoAttrLanguage * pango_attribute_as_language (PangoAttribute *attr);\nfunction pango_attribute_as_language(attr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_attribute_as_language\n  type(c_ptr), value :: attr\nend function\n\n! PANGO_AVAILABLE_IN_1_50\n!PangoAttrInt * pango_attribute_as_int (PangoAttribute *attr);\nfunction pango_attribute_as_int(attr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_attribute_as_int\n  type(c_ptr), value :: attr\nend function\n\n! PANGO_AVAILABLE_IN_1_50\n!PangoAttrSize * pango_attribute_as_size (PangoAttribute *attr);\nfunction pango_attribute_as_size(attr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_attribute_as_size\n  type(c_ptr), value :: attr\nend function\n\n! PANGO_AVAILABLE_IN_1_50\n!PangoAttrFloat * pango_attribute_as_float (PangoAttribute *attr);\nfunction pango_attribute_as_float(attr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_attribute_as_float\n  type(c_ptr), value :: attr\nend function\n\n! PANGO_AVAILABLE_IN_1_50\n!PangoAttrColor * pango_attribute_as_color (PangoAttribute *attr);\nfunction pango_attribute_as_color(attr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_attribute_as_color\n  type(c_ptr), value :: attr\nend function\n\n! PANGO_AVAILABLE_IN_1_50\n!PangoAttrFontDesc * pango_attribute_as_font_desc (PangoAttribute *attr);\nfunction pango_attribute_as_font_desc(attr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_attribute_as_font_desc\n  type(c_ptr), value :: attr\nend function\n\n! PANGO_AVAILABLE_IN_1_50\n!PangoAttrShape * pango_attribute_as_shape (PangoAttribute *attr);\nfunction pango_attribute_as_shape(attr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_attribute_as_shape\n  type(c_ptr), value :: attr\nend function\n\n! PANGO_AVAILABLE_IN_1_50\n!PangoAttrFontFeatures * pango_attribute_as_font_features (PangoAttribute *attr);\nfunction pango_attribute_as_font_features(attr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_attribute_as_font_features\n  type(c_ptr), value :: attr\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_attr_list_get_type (void) ;\nfunction pango_attr_list_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_attr_list_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoAttrList * pango_attr_list_new (void);\nfunction pango_attr_list_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_attr_list_new\nend function\n\n! PANGO_AVAILABLE_IN_1_10\n!PangoAttrList * pango_attr_list_ref (PangoAttrList *list);\nfunction pango_attr_list_ref(list) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_attr_list_ref\n  type(c_ptr), value :: list\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_attr_list_unref (PangoAttrList *list);\nsubroutine pango_attr_list_unref(list) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: list\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoAttrList * pango_attr_list_copy (PangoAttrList *list);\nfunction pango_attr_list_copy(list) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_attr_list_copy\n  type(c_ptr), value :: list\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_attr_list_insert (PangoAttrList *list, PangoAttribute *attr);\nsubroutine pango_attr_list_insert(list, attr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: list\n  type(c_ptr), value :: attr\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_attr_list_insert_before (PangoAttrList *list, PangoAttribute *attr);\nsubroutine pango_attr_list_insert_before(list, attr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: list\n  type(c_ptr), value :: attr\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_attr_list_change (PangoAttrList *list, PangoAttribute *attr);\nsubroutine pango_attr_list_change(list, attr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: list\n  type(c_ptr), value :: attr\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_attr_list_splice (PangoAttrList *list, PangoAttrList *other, int pos, int len);\nsubroutine pango_attr_list_splice(list, other, pos, len) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: list\n  type(c_ptr), value :: other\n  integer(c_int), value :: pos\n  integer(c_int), value :: len\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_44\n!void pango_attr_list_update (PangoAttrList *list, int pos, int remove, int add);\nsubroutine pango_attr_list_update(list, pos, remove, add) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: list\n  integer(c_int), value :: pos\n  integer(c_int), value :: remove\n  integer(c_int), value :: add\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_2\n!PangoAttrList * pango_attr_list_filter (PangoAttrList *list, PangoAttrFilterFunc func, gpointer data);\nfunction pango_attr_list_filter(list, func, data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr) :: pango_attr_list_filter\n  type(c_ptr), value :: list\n  type(c_funptr), value :: func\n  type(c_ptr), value :: data\nend function\n\n! PANGO_AVAILABLE_IN_1_44\n!GSList * pango_attr_list_get_attributes (PangoAttrList *list);\nfunction pango_attr_list_get_attributes(list) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_attr_list_get_attributes\n  type(c_ptr), value :: list\nend function\n\n! PANGO_AVAILABLE_IN_1_46\n!gboolean pango_attr_list_equal (PangoAttrList *list, PangoAttrList *other_list);\nfunction pango_attr_list_equal(list, other_list) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_attr_list_equal\n  type(c_ptr), value :: list\n  type(c_ptr), value :: other_list\nend function\n\n! PANGO_AVAILABLE_IN_1_50\n!char * pango_attr_list_to_string (PangoAttrList *list);\nfunction pango_attr_list_to_string(list) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_attr_list_to_string\n  type(c_ptr), value :: list\nend function\n\n! PANGO_AVAILABLE_IN_1_50\n!PangoAttrList * pango_attr_list_from_string (const char *text);\nfunction pango_attr_list_from_string(text) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: pango_attr_list_from_string\n  character(kind=c_char), dimension(*) :: text\nend function\n\n! PANGO_AVAILABLE_IN_1_44\n!GType pango_attr_iterator_get_type (void) ;\nfunction pango_attr_iterator_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_attr_iterator_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoAttrIterator * pango_attr_list_get_iterator (PangoAttrList *list);\nfunction pango_attr_list_get_iterator(list) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_attr_list_get_iterator\n  type(c_ptr), value :: list\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_attr_iterator_range (PangoAttrIterator *iterator, int *start, int *end);\nsubroutine pango_attr_iterator_range(iterator, start, end) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: iterator\n  type(c_ptr), value :: start\n  type(c_ptr), value :: end\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!gboolean pango_attr_iterator_next (PangoAttrIterator *iterator);\nfunction pango_attr_iterator_next(iterator) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_attr_iterator_next\n  type(c_ptr), value :: iterator\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoAttrIterator * pango_attr_iterator_copy (PangoAttrIterator *iterator);\nfunction pango_attr_iterator_copy(iterator) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_attr_iterator_copy\n  type(c_ptr), value :: iterator\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_attr_iterator_destroy (PangoAttrIterator *iterator);\nsubroutine pango_attr_iterator_destroy(iterator) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: iterator\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoAttribute * pango_attr_iterator_get (PangoAttrIterator *iterator, PangoAttrType type);\nfunction pango_attr_iterator_get(iterator, type) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_attr_iterator_get\n  type(c_ptr), value :: iterator\n  integer(c_int), value :: type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_attr_iterator_get_font (PangoAttrIterator *iterator, PangoFontDescription *desc, PangoLanguage **language, GSList **extra_attrs);\nsubroutine pango_attr_iterator_get_font(iterator, desc, language, extra_attrs)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: iterator\n  type(c_ptr), value :: desc\n  type(c_ptr), value :: language\n  type(c_ptr), value :: extra_attrs\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_2\n!GSList * pango_attr_iterator_get_attrs (PangoAttrIterator *iterator);\nfunction pango_attr_iterator_get_attrs(iterator) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_attr_iterator_get_attrs\n  type(c_ptr), value :: iterator\nend function\n\n!--------------------------------------------------\n! /usr/include/pango-1.0/pango/pango-bidi-type.h\n!--------------------------------------------------\n! PANGO_DEPRECATED_IN_1_44\n!PangoBidiType pango_bidi_type_for_unichar (gunichar ch) ;\nfunction pango_bidi_type_for_unichar(ch) bind(c)\n  import :: c_int, c_int32_t\n  implicit none\n  integer(c_int) :: pango_bidi_type_for_unichar\n  integer(c_int32_t), value :: ch\nend function\n\n! PANGO_DEPRECATED_IN_1_44\n!PangoDirection pango_unichar_direction (gunichar ch) ;\nfunction pango_unichar_direction(ch) bind(c)\n  import :: c_int, c_int32_t\n  implicit none\n  integer(c_int) :: pango_unichar_direction\n  integer(c_int32_t), value :: ch\nend function\n\n! PANGO_DEPRECATED_IN_1_44\n!PangoDirection pango_find_base_dir (const gchar *text, gint length);\nfunction pango_find_base_dir(text, length) bind(c)\n  import :: c_int, c_char\n  implicit none\n  integer(c_int) :: pango_find_base_dir\n  character(kind=c_char), dimension(*) :: text\n  integer(c_int), value :: length\nend function\n\n! PANGO_DEPRECATED_IN_1_30_FOR(g_unichar_get_mirror_char)\n!gboolean pango_get_mirror_char (gunichar ch, gunichar *mirrored_ch);\nfunction pango_get_mirror_char(ch, mirrored_ch) bind(c)\n  import :: c_int, c_int32_t, c_char\n  implicit none\n  integer(c_int) :: pango_get_mirror_char\n  integer(c_int32_t), value :: ch\n  character(kind=c_char), dimension(*) :: mirrored_ch\nend function\n\n!--------------------------------------------------\n! /usr/include/pango-1.0/pango/pango-break.h\n!--------------------------------------------------\n! PANGO_DEPRECATED_IN_1_44\n!void pango_break (const char *text, int length, PangoAnalysis *analysis, PangoLogAttr *attrs, int attrs_len);\nsubroutine pango_break(text, length, analysis, attrs, attrs_len) bind(c)\n  import :: c_char, c_int, c_ptr\n  implicit none\n  character(kind=c_char), dimension(*) :: text\n  integer(c_int), value :: length\n  type(c_ptr), value :: analysis\n  type(c_ptr), value :: attrs\n  integer(c_int), value :: attrs_len\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_get_log_attrs (const char *text, int length, int level, PangoLanguage *language, PangoLogAttr *attrs, int attrs_len);\nsubroutine pango_get_log_attrs(text, length, level, language, attrs, attrs_len)&\n& bind(c)\n  import :: c_char, c_int, c_ptr\n  implicit none\n  character(kind=c_char), dimension(*) :: text\n  integer(c_int), value :: length\n  integer(c_int), value :: level\n  type(c_ptr), value :: language\n  type(c_ptr), value :: attrs\n  integer(c_int), value :: attrs_len\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_default_break (const char *text, int length, PangoAnalysis *analysis, PangoLogAttr *attrs, int attrs_len);\nsubroutine pango_default_break(text, length, analysis, attrs, attrs_len)&\n& bind(c)\n  import :: c_char, c_int, c_ptr\n  implicit none\n  character(kind=c_char), dimension(*) :: text\n  integer(c_int), value :: length\n  type(c_ptr), value :: analysis\n  type(c_ptr), value :: attrs\n  integer(c_int), value :: attrs_len\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_44\n!void pango_tailor_break (const char *text, int length, PangoAnalysis *analysis, int offset, PangoLogAttr *attrs, int attrs_len);\nsubroutine pango_tailor_break(text, length, analysis, offset, attrs, attrs_len)&\n& bind(c)\n  import :: c_char, c_int, c_ptr\n  implicit none\n  character(kind=c_char), dimension(*) :: text\n  integer(c_int), value :: length\n  type(c_ptr), value :: analysis\n  integer(c_int), value :: offset\n  type(c_ptr), value :: attrs\n  integer(c_int), value :: attrs_len\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_50\n!void pango_attr_break (const char *text, int length, PangoAttrList *attr_list, int offset, PangoLogAttr *attrs, int attrs_len);\nsubroutine pango_attr_break(text, length, attr_list, offset, attrs, attrs_len)&\n& bind(c)\n  import :: c_char, c_int, c_ptr\n  implicit none\n  character(kind=c_char), dimension(*) :: text\n  integer(c_int), value :: length\n  type(c_ptr), value :: attr_list\n  integer(c_int), value :: offset\n  type(c_ptr), value :: attrs\n  integer(c_int), value :: attrs_len\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/pango-1.0/pango/pango-color.h\n!--------------------------------------------------\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_color_get_type (void) ;\nfunction pango_color_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_color_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoColor *pango_color_copy (const PangoColor *src);\nfunction pango_color_copy(src) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_color_copy\n  type(c_ptr), value :: src\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_color_free (PangoColor *color);\nsubroutine pango_color_free(color) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: color\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!gboolean pango_color_parse (PangoColor *color, const char *spec);\nfunction pango_color_parse(color, spec) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: pango_color_parse\n  type(c_ptr), value :: color\n  character(kind=c_char), dimension(*) :: spec\nend function\n\n! PANGO_AVAILABLE_IN_1_46\n!gboolean pango_color_parse_with_alpha (PangoColor *color, guint16 *alpha, const char *spec);\nfunction pango_color_parse_with_alpha(color, alpha, spec) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: pango_color_parse_with_alpha\n  type(c_ptr), value :: color\n  type(c_ptr), value :: alpha\n  character(kind=c_char), dimension(*) :: spec\nend function\n\n! PANGO_AVAILABLE_IN_1_16\n!char *pango_color_to_string (const PangoColor *color);\nfunction pango_color_to_string(color) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_color_to_string\n  type(c_ptr), value :: color\nend function\n\n!--------------------------------------------------\n! /usr/include/pango-1.0/pango/pango-context.h\n!--------------------------------------------------\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_context_get_type (void) ;\nfunction pango_context_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_context_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoContext * pango_context_new (void);\nfunction pango_context_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_context_new\nend function\n\n! PANGO_AVAILABLE_IN_1_32\n!void pango_context_changed (PangoContext *context);\nsubroutine pango_context_changed(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_context_set_font_map (PangoContext *context, PangoFontMap *font_map);\nsubroutine pango_context_set_font_map(context, font_map) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: font_map\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_6\n!PangoFontMap * pango_context_get_font_map (PangoContext *context);\nfunction pango_context_get_font_map(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_context_get_font_map\n  type(c_ptr), value :: context\nend function\n\n! PANGO_AVAILABLE_IN_1_32\n!guint pango_context_get_serial (PangoContext *context);\nfunction pango_context_get_serial(context) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_context_get_serial\n  type(c_ptr), value :: context\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_context_list_families (PangoContext *context, PangoFontFamily ***families, int *n_families);\nsubroutine pango_context_list_families(context, families, n_families) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: families\n  type(c_ptr), value :: n_families\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoFont * pango_context_load_font (PangoContext *context, const PangoFontDescription *desc);\nfunction pango_context_load_font(context, desc) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_context_load_font\n  type(c_ptr), value :: context\n  type(c_ptr), value :: desc\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoFontset * pango_context_load_fontset (PangoContext *context, const PangoFontDescription *desc, PangoLanguage *language);\nfunction pango_context_load_fontset(context, desc, language) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_context_load_fontset\n  type(c_ptr), value :: context\n  type(c_ptr), value :: desc\n  type(c_ptr), value :: language\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoFontMetrics * pango_context_get_metrics (PangoContext *context, const PangoFontDescription *desc, PangoLanguage *language);\nfunction pango_context_get_metrics(context, desc, language) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_context_get_metrics\n  type(c_ptr), value :: context\n  type(c_ptr), value :: desc\n  type(c_ptr), value :: language\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_context_set_font_description (PangoContext *context, const PangoFontDescription *desc);\nsubroutine pango_context_set_font_description(context, desc) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: desc\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoFontDescription * pango_context_get_font_description (PangoContext *context);\nfunction pango_context_get_font_description(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_context_get_font_description\n  type(c_ptr), value :: context\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoLanguage * pango_context_get_language (PangoContext *context);\nfunction pango_context_get_language(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_context_get_language\n  type(c_ptr), value :: context\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_context_set_language (PangoContext *context, PangoLanguage *language);\nsubroutine pango_context_set_language(context, language) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: language\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_context_set_base_dir (PangoContext *context, PangoDirection direction);\nsubroutine pango_context_set_base_dir(context, direction) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: context\n  integer(c_int), value :: direction\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoDirection pango_context_get_base_dir (PangoContext *context);\nfunction pango_context_get_base_dir(context) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_context_get_base_dir\n  type(c_ptr), value :: context\nend function\n\n! PANGO_AVAILABLE_IN_1_16\n!void pango_context_set_base_gravity (PangoContext *context, PangoGravity gravity);\nsubroutine pango_context_set_base_gravity(context, gravity) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: context\n  integer(c_int), value :: gravity\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_16\n!PangoGravity pango_context_get_base_gravity (PangoContext *context);\nfunction pango_context_get_base_gravity(context) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_context_get_base_gravity\n  type(c_ptr), value :: context\nend function\n\n! PANGO_AVAILABLE_IN_1_16\n!PangoGravity pango_context_get_gravity (PangoContext *context);\nfunction pango_context_get_gravity(context) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_context_get_gravity\n  type(c_ptr), value :: context\nend function\n\n! PANGO_AVAILABLE_IN_1_16\n!void pango_context_set_gravity_hint (PangoContext *context, PangoGravityHint hint);\nsubroutine pango_context_set_gravity_hint(context, hint) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: context\n  integer(c_int), value :: hint\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_16\n!PangoGravityHint pango_context_get_gravity_hint (PangoContext *context);\nfunction pango_context_get_gravity_hint(context) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_context_get_gravity_hint\n  type(c_ptr), value :: context\nend function\n\n! PANGO_AVAILABLE_IN_1_6\n!void pango_context_set_matrix (PangoContext *context, const PangoMatrix *matrix);\nsubroutine pango_context_set_matrix(context, matrix) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: matrix\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_6\n!const PangoMatrix * pango_context_get_matrix (PangoContext *context);\nfunction pango_context_get_matrix(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_context_get_matrix\n  type(c_ptr), value :: context\nend function\n\n! PANGO_AVAILABLE_IN_1_44\n!void pango_context_set_round_glyph_positions (PangoContext *context, gboolean round_positions);\nsubroutine pango_context_set_round_glyph_positions(context, round_positions)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: context\n  integer(c_int), value :: round_positions\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_44\n!gboolean pango_context_get_round_glyph_positions (PangoContext *context);\nfunction pango_context_get_round_glyph_positions(context) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_context_get_round_glyph_positions\n  type(c_ptr), value :: context\nend function\n\n!--------------------------------------------------\n! /usr/include/pango-1.0/pango/pango-coverage.h\n!--------------------------------------------------\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_coverage_get_type (void) ;\nfunction pango_coverage_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_coverage_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoCoverage * pango_coverage_new (void);\nfunction pango_coverage_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_coverage_new\nend function\n\n! PANGO_DEPRECATED_IN_1_52_FOR(g_object_ref)\n!PangoCoverage * pango_coverage_ref (PangoCoverage *coverage);\nfunction pango_coverage_ref(coverage) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_coverage_ref\n  type(c_ptr), value :: coverage\nend function\n\n! PANGO_DEPRECATED_IN_1_52_FOR(g_object_unref)\n!void pango_coverage_unref (PangoCoverage *coverage);\nsubroutine pango_coverage_unref(coverage) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: coverage\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoCoverage * pango_coverage_copy (PangoCoverage *coverage);\nfunction pango_coverage_copy(coverage) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_coverage_copy\n  type(c_ptr), value :: coverage\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoCoverageLevel pango_coverage_get (PangoCoverage *coverage, int index_);\nfunction pango_coverage_get(coverage, index_) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_coverage_get\n  type(c_ptr), value :: coverage\n  integer(c_int), value :: index_\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_coverage_set (PangoCoverage *coverage, int index_, PangoCoverageLevel level);\nsubroutine pango_coverage_set(coverage, index_, level) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: coverage\n  integer(c_int), value :: index_\n  integer(c_int), value :: level\nend subroutine\n\n! PANGO_DEPRECATED_IN_1_44\n!void pango_coverage_max (PangoCoverage *coverage, PangoCoverage *other);\nsubroutine pango_coverage_max(coverage, other) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: coverage\n  type(c_ptr), value :: other\nend subroutine\n\n! PANGO_DEPRECATED_IN_1_44\n!void pango_coverage_to_bytes (PangoCoverage *coverage, guchar **bytes, int *n_bytes);\nsubroutine pango_coverage_to_bytes(coverage, bytes, n_bytes) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: coverage\n  type(c_ptr), dimension(*) :: bytes\n  type(c_ptr), value :: n_bytes\nend subroutine\n\n! PANGO_DEPRECATED_IN_1_44\n!PangoCoverage *pango_coverage_from_bytes (guchar *bytes, int n_bytes);\nfunction pango_coverage_from_bytes(bytes, n_bytes) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: pango_coverage_from_bytes\n  character(kind=c_char), dimension(*) :: bytes\n  integer(c_int), value :: n_bytes\nend function\n\n!--------------------------------------------------\n! /usr/include/pango-1.0/pango/pango-direction.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/pango-1.0/pango/pango-engine.h\n!--------------------------------------------------\n! PANGO_DEPRECATED_IN_1_38\n!GType pango_engine_get_type (void) ;\nfunction pango_engine_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_engine_get_type\nend function\n\n! PANGO_DEPRECATED_IN_1_38\n!GType pango_engine_lang_get_type (void) ;\nfunction pango_engine_lang_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_engine_lang_get_type\nend function\n\n! PANGO_DEPRECATED_IN_1_38\n!GType pango_engine_shape_get_type (void) ;\nfunction pango_engine_shape_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_engine_shape_get_type\nend function\n\n! PANGO_DEPRECATED_IN_1_38\n!void script_engine_list (PangoEngineInfo **engines, int *n_engines);\nsubroutine script_engine_list(engines, n_engines) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: engines\n  type(c_ptr), value :: n_engines\nend subroutine\n\n! PANGO_DEPRECATED_IN_1_38\n!void script_engine_init (GTypeModule *module);\nsubroutine script_engine_init(module) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: module\nend subroutine\n\n! PANGO_DEPRECATED_IN_1_38\n!void script_engine_exit (void);\nsubroutine script_engine_exit() bind(c)\n  implicit none\nend subroutine\n\n! PANGO_DEPRECATED_IN_1_38\n!PangoEngine *script_engine_create (const char *id);\nfunction script_engine_create(id) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: script_engine_create\n  character(kind=c_char), dimension(*) :: id\nend function\n\n!--------------------------------------------------\n! /usr/include/pango-1.0/pango/pango-enum-types.h\n!--------------------------------------------------\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_attr_type_get_type (void) ;\nfunction pango_attr_type_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_attr_type_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_underline_get_type (void) ;\nfunction pango_underline_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_underline_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_overline_get_type (void) ;\nfunction pango_overline_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_overline_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_show_flags_get_type (void) ;\nfunction pango_show_flags_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_show_flags_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_text_transform_get_type (void) ;\nfunction pango_text_transform_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_text_transform_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_baseline_shift_get_type (void) ;\nfunction pango_baseline_shift_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_baseline_shift_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_font_scale_get_type (void) ;\nfunction pango_font_scale_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_font_scale_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_bidi_type_get_type (void) ;\nfunction pango_bidi_type_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_bidi_type_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_coverage_level_get_type (void) ;\nfunction pango_coverage_level_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_coverage_level_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_direction_get_type (void) ;\nfunction pango_direction_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_direction_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_style_get_type (void) ;\nfunction pango_style_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_style_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_variant_get_type (void) ;\nfunction pango_variant_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_variant_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_weight_get_type (void) ;\nfunction pango_weight_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_weight_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_stretch_get_type (void) ;\nfunction pango_stretch_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_stretch_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_font_mask_get_type (void) ;\nfunction pango_font_mask_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_font_mask_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_font_color_get_type (void) ;\nfunction pango_font_color_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_font_color_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_shape_flags_get_type (void) ;\nfunction pango_shape_flags_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_shape_flags_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_gravity_get_type (void) ;\nfunction pango_gravity_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_gravity_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_gravity_hint_get_type (void) ;\nfunction pango_gravity_hint_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_gravity_hint_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_alignment_get_type (void) ;\nfunction pango_alignment_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_alignment_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_wrap_mode_get_type (void) ;\nfunction pango_wrap_mode_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_wrap_mode_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_ellipsize_mode_get_type (void) ;\nfunction pango_ellipsize_mode_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_ellipsize_mode_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_layout_serialize_flags_get_type (void) ;\nfunction pango_layout_serialize_flags_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_layout_serialize_flags_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_layout_deserialize_error_get_type (void) ;\nfunction pango_layout_deserialize_error_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_layout_deserialize_error_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_layout_deserialize_flags_get_type (void) ;\nfunction pango_layout_deserialize_flags_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_layout_deserialize_flags_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_render_part_get_type (void) ;\nfunction pango_render_part_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_render_part_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_script_get_type (void) ;\nfunction pango_script_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_script_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_tab_align_get_type (void) ;\nfunction pango_tab_align_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_tab_align_get_type\nend function\n\n!--------------------------------------------------\n! /usr/include/pango-1.0/pango/pango-features.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/pango-1.0/pango/pango-font.h\n!--------------------------------------------------\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_font_description_get_type (void) ;\nfunction pango_font_description_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_font_description_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoFontDescription *pango_font_description_new (void);\nfunction pango_font_description_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_font_description_new\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoFontDescription *pango_font_description_copy (const PangoFontDescription *desc);\nfunction pango_font_description_copy(desc) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_font_description_copy\n  type(c_ptr), value :: desc\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoFontDescription *pango_font_description_copy_static (const PangoFontDescription *desc);\nfunction pango_font_description_copy_static(desc) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_font_description_copy_static\n  type(c_ptr), value :: desc\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!guint pango_font_description_hash (const PangoFontDescription *desc) ;\nfunction pango_font_description_hash(desc) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_font_description_hash\n  type(c_ptr), value :: desc\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!gboolean pango_font_description_equal (const PangoFontDescription *desc1, const PangoFontDescription *desc2) ;\nfunction pango_font_description_equal(desc1, desc2) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_font_description_equal\n  type(c_ptr), value :: desc1\n  type(c_ptr), value :: desc2\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_font_description_free (PangoFontDescription *desc);\nsubroutine pango_font_description_free(desc) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: desc\nend subroutine\n\n! PANGO_DEPRECATED_IN_1_56\n!void pango_font_descriptions_free (PangoFontDescription **descs, int n_descs);\nsubroutine pango_font_descriptions_free(descs, n_descs) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: descs\n  integer(c_int), value :: n_descs\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_font_description_set_family (PangoFontDescription *desc, const char *family);\nsubroutine pango_font_description_set_family(desc, family) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: desc\n  character(kind=c_char), dimension(*) :: family\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_font_description_set_family_static (PangoFontDescription *desc, const char *family);\nsubroutine pango_font_description_set_family_static(desc, family) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: desc\n  character(kind=c_char), dimension(*) :: family\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!const char *pango_font_description_get_family (const PangoFontDescription *desc) ;\nfunction pango_font_description_get_family(desc) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_font_description_get_family\n  type(c_ptr), value :: desc\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_font_description_set_style (PangoFontDescription *desc, PangoStyle style);\nsubroutine pango_font_description_set_style(desc, style) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: desc\n  integer(c_int), value :: style\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoStyle pango_font_description_get_style (const PangoFontDescription *desc) ;\nfunction pango_font_description_get_style(desc) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_font_description_get_style\n  type(c_ptr), value :: desc\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_font_description_set_variant (PangoFontDescription *desc, PangoVariant variant);\nsubroutine pango_font_description_set_variant(desc, variant) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: desc\n  integer(c_int), value :: variant\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoVariant pango_font_description_get_variant (const PangoFontDescription *desc) ;\nfunction pango_font_description_get_variant(desc) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_font_description_get_variant\n  type(c_ptr), value :: desc\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_font_description_set_weight (PangoFontDescription *desc, PangoWeight weight);\nsubroutine pango_font_description_set_weight(desc, weight) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: desc\n  integer(c_int), value :: weight\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoWeight pango_font_description_get_weight (const PangoFontDescription *desc) ;\nfunction pango_font_description_get_weight(desc) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_font_description_get_weight\n  type(c_ptr), value :: desc\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_font_description_set_stretch (PangoFontDescription *desc, PangoStretch stretch);\nsubroutine pango_font_description_set_stretch(desc, stretch) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: desc\n  integer(c_int), value :: stretch\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoStretch pango_font_description_get_stretch (const PangoFontDescription *desc) ;\nfunction pango_font_description_get_stretch(desc) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_font_description_get_stretch\n  type(c_ptr), value :: desc\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_font_description_set_size (PangoFontDescription *desc, gint size);\nsubroutine pango_font_description_set_size(desc, size) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: desc\n  integer(c_int), value :: size\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!gint pango_font_description_get_size (const PangoFontDescription *desc) ;\nfunction pango_font_description_get_size(desc) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_font_description_get_size\n  type(c_ptr), value :: desc\nend function\n\n! PANGO_AVAILABLE_IN_1_8\n!void pango_font_description_set_absolute_size (PangoFontDescription *desc, double size);\nsubroutine pango_font_description_set_absolute_size(desc, size) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: desc\n  real(c_double), value :: size\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_8\n!gboolean pango_font_description_get_size_is_absolute (const PangoFontDescription *desc) ;\nfunction pango_font_description_get_size_is_absolute(desc) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_font_description_get_size_is_absolute\n  type(c_ptr), value :: desc\nend function\n\n! PANGO_AVAILABLE_IN_1_16\n!void pango_font_description_set_gravity (PangoFontDescription *desc, PangoGravity gravity);\nsubroutine pango_font_description_set_gravity(desc, gravity) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: desc\n  integer(c_int), value :: gravity\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_16\n!PangoGravity pango_font_description_get_gravity (const PangoFontDescription *desc) ;\nfunction pango_font_description_get_gravity(desc) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_font_description_get_gravity\n  type(c_ptr), value :: desc\nend function\n\n! PANGO_AVAILABLE_IN_1_42\n!void pango_font_description_set_variations_static (PangoFontDescription *desc, const char *variations);\nsubroutine pango_font_description_set_variations_static(desc, variations)&\n& bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: desc\n  character(kind=c_char), dimension(*) :: variations\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_42\n!void pango_font_description_set_variations (PangoFontDescription *desc, const char *variations);\nsubroutine pango_font_description_set_variations(desc, variations) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: desc\n  character(kind=c_char), dimension(*) :: variations\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_42\n!const char *pango_font_description_get_variations (const PangoFontDescription *desc) ;\nfunction pango_font_description_get_variations(desc) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_font_description_get_variations\n  type(c_ptr), value :: desc\nend function\n\n! PANGO_AVAILABLE_IN_1_56\n!void pango_font_description_set_features_static (PangoFontDescription *desc, const char *features);\nsubroutine pango_font_description_set_features_static(desc, features) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: desc\n  character(kind=c_char), dimension(*) :: features\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_56\n!void pango_font_description_set_features (PangoFontDescription *desc, const char *features);\nsubroutine pango_font_description_set_features(desc, features) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: desc\n  character(kind=c_char), dimension(*) :: features\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_42\n!const char *pango_font_description_get_features (const PangoFontDescription *desc) ;\nfunction pango_font_description_get_features(desc) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_font_description_get_features\n  type(c_ptr), value :: desc\nend function\n\n! PANGO_AVAILABLE_IN_1_57\n!void pango_font_description_set_color (PangoFontDescription *desc, PangoFontColor color);\nsubroutine pango_font_description_set_color(desc, color) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: desc\n  integer(c_int), value :: color\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_57\n!PangoFontColor pango_font_description_get_color (const PangoFontDescription *desc);\nfunction pango_font_description_get_color(desc) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_font_description_get_color\n  type(c_ptr), value :: desc\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoFontMask pango_font_description_get_set_fields (const PangoFontDescription *desc) ;\nfunction pango_font_description_get_set_fields(desc) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_font_description_get_set_fields\n  type(c_ptr), value :: desc\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_font_description_unset_fields (PangoFontDescription *desc, PangoFontMask to_unset);\nsubroutine pango_font_description_unset_fields(desc, to_unset) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: desc\n  integer(c_int), value :: to_unset\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_font_description_merge (PangoFontDescription *desc, const PangoFontDescription *desc_to_merge, gboolean replace_existing);\nsubroutine pango_font_description_merge(desc, desc_to_merge, replace_existing)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: desc\n  type(c_ptr), value :: desc_to_merge\n  integer(c_int), value :: replace_existing\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_font_description_merge_static (PangoFontDescription *desc, const PangoFontDescription *desc_to_merge, gboolean replace_existing);\nsubroutine pango_font_description_merge_static(desc, desc_to_merge,&\n& replace_existing) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: desc\n  type(c_ptr), value :: desc_to_merge\n  integer(c_int), value :: replace_existing\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!gboolean pango_font_description_better_match (const PangoFontDescription *desc, const PangoFontDescription *old_match, const PangoFontDescription *new_match) ;\nfunction pango_font_description_better_match(desc, old_match, new_match)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_font_description_better_match\n  type(c_ptr), value :: desc\n  type(c_ptr), value :: old_match\n  type(c_ptr), value :: new_match\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoFontDescription *pango_font_description_from_string (const char *str);\nfunction pango_font_description_from_string(str) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: pango_font_description_from_string\n  character(kind=c_char), dimension(*) :: str\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!char * pango_font_description_to_string (const PangoFontDescription *desc);\nfunction pango_font_description_to_string(desc) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_font_description_to_string\n  type(c_ptr), value :: desc\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!char * pango_font_description_to_filename (const PangoFontDescription *desc);\nfunction pango_font_description_to_filename(desc) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_font_description_to_filename\n  type(c_ptr), value :: desc\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_font_metrics_get_type (void) ;\nfunction pango_font_metrics_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_font_metrics_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoFontMetrics *pango_font_metrics_ref (PangoFontMetrics *metrics);\nfunction pango_font_metrics_ref(metrics) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_font_metrics_ref\n  type(c_ptr), value :: metrics\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_font_metrics_unref (PangoFontMetrics *metrics);\nsubroutine pango_font_metrics_unref(metrics) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: metrics\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!int pango_font_metrics_get_ascent (PangoFontMetrics *metrics) ;\nfunction pango_font_metrics_get_ascent(metrics) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_font_metrics_get_ascent\n  type(c_ptr), value :: metrics\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!int pango_font_metrics_get_descent (PangoFontMetrics *metrics) ;\nfunction pango_font_metrics_get_descent(metrics) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_font_metrics_get_descent\n  type(c_ptr), value :: metrics\nend function\n\n! PANGO_AVAILABLE_IN_1_44\n!int pango_font_metrics_get_height (PangoFontMetrics *metrics) ;\nfunction pango_font_metrics_get_height(metrics) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_font_metrics_get_height\n  type(c_ptr), value :: metrics\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!int pango_font_metrics_get_approximate_char_width (PangoFontMetrics *metrics) ;\nfunction pango_font_metrics_get_approximate_char_width(metrics) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_font_metrics_get_approximate_char_width\n  type(c_ptr), value :: metrics\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!int pango_font_metrics_get_approximate_digit_width (PangoFontMetrics *metrics) ;\nfunction pango_font_metrics_get_approximate_digit_width(metrics) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_font_metrics_get_approximate_digit_width\n  type(c_ptr), value :: metrics\nend function\n\n! PANGO_AVAILABLE_IN_1_6\n!int pango_font_metrics_get_underline_position (PangoFontMetrics *metrics) ;\nfunction pango_font_metrics_get_underline_position(metrics) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_font_metrics_get_underline_position\n  type(c_ptr), value :: metrics\nend function\n\n! PANGO_AVAILABLE_IN_1_6\n!int pango_font_metrics_get_underline_thickness (PangoFontMetrics *metrics) ;\nfunction pango_font_metrics_get_underline_thickness(metrics) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_font_metrics_get_underline_thickness\n  type(c_ptr), value :: metrics\nend function\n\n! PANGO_AVAILABLE_IN_1_6\n!int pango_font_metrics_get_strikethrough_position (PangoFontMetrics *metrics) ;\nfunction pango_font_metrics_get_strikethrough_position(metrics) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_font_metrics_get_strikethrough_position\n  type(c_ptr), value :: metrics\nend function\n\n! PANGO_AVAILABLE_IN_1_6\n!int pango_font_metrics_get_strikethrough_thickness (PangoFontMetrics *metrics) ;\nfunction pango_font_metrics_get_strikethrough_thickness(metrics) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_font_metrics_get_strikethrough_thickness\n  type(c_ptr), value :: metrics\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_font_family_get_type (void) ;\nfunction pango_font_family_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_font_family_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_font_family_list_faces (PangoFontFamily *family, PangoFontFace ***faces, int *n_faces);\nsubroutine pango_font_family_list_faces(family, faces, n_faces) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: family\n  type(c_ptr), value :: faces\n  type(c_ptr), value :: n_faces\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!const char *pango_font_family_get_name (PangoFontFamily *family) ;\nfunction pango_font_family_get_name(family) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_font_family_get_name\n  type(c_ptr), value :: family\nend function\n\n! PANGO_AVAILABLE_IN_1_4\n!gboolean pango_font_family_is_monospace (PangoFontFamily *family) ;\nfunction pango_font_family_is_monospace(family) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_font_family_is_monospace\n  type(c_ptr), value :: family\nend function\n\n! PANGO_AVAILABLE_IN_1_44\n!gboolean pango_font_family_is_variable (PangoFontFamily *family) ;\nfunction pango_font_family_is_variable(family) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_font_family_is_variable\n  type(c_ptr), value :: family\nend function\n\n! PANGO_AVAILABLE_IN_1_46\n!PangoFontFace *pango_font_family_get_face (PangoFontFamily *family, const char *name);\nfunction pango_font_family_get_face(family, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: pango_font_family_get_face\n  type(c_ptr), value :: family\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_font_face_get_type (void) ;\nfunction pango_font_face_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_font_face_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoFontDescription *pango_font_face_describe (PangoFontFace *face);\nfunction pango_font_face_describe(face) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_font_face_describe\n  type(c_ptr), value :: face\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!const char *pango_font_face_get_face_name (PangoFontFace *face) ;\nfunction pango_font_face_get_face_name(face) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_font_face_get_face_name\n  type(c_ptr), value :: face\nend function\n\n! PANGO_AVAILABLE_IN_1_4\n!void pango_font_face_list_sizes (PangoFontFace *face, int **sizes, int *n_sizes);\nsubroutine pango_font_face_list_sizes(face, sizes, n_sizes) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: face\n  type(c_ptr), value :: sizes\n  type(c_ptr), value :: n_sizes\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_18\n!gboolean pango_font_face_is_synthesized (PangoFontFace *face) ;\nfunction pango_font_face_is_synthesized(face) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_font_face_is_synthesized\n  type(c_ptr), value :: face\nend function\n\n! PANGO_AVAILABLE_IN_1_46\n!PangoFontFamily * pango_font_face_get_family (PangoFontFace *face);\nfunction pango_font_face_get_family(face) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_font_face_get_family\n  type(c_ptr), value :: face\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_font_get_type (void) ;\nfunction pango_font_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_font_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoFontDescription *pango_font_describe (PangoFont *font);\nfunction pango_font_describe(font) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_font_describe\n  type(c_ptr), value :: font\nend function\n\n! PANGO_AVAILABLE_IN_1_14\n!PangoFontDescription *pango_font_describe_with_absolute_size (PangoFont *font);\nfunction pango_font_describe_with_absolute_size(font) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_font_describe_with_absolute_size\n  type(c_ptr), value :: font\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoCoverage * pango_font_get_coverage (PangoFont *font, PangoLanguage *language);\nfunction pango_font_get_coverage(font, language) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_font_get_coverage\n  type(c_ptr), value :: font\n  type(c_ptr), value :: language\nend function\n\n! PANGO_DEPRECATED_IN_1_44\n!PangoEngineShape * pango_font_find_shaper (PangoFont *font, PangoLanguage *language, guint32 ch);\nfunction pango_font_find_shaper(font, language, ch) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr) :: pango_font_find_shaper\n  type(c_ptr), value :: font\n  type(c_ptr), value :: language\n  integer(c_int32_t), value :: ch\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoFontMetrics * pango_font_get_metrics (PangoFont *font, PangoLanguage *language);\nfunction pango_font_get_metrics(font, language) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_font_get_metrics\n  type(c_ptr), value :: font\n  type(c_ptr), value :: language\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_font_get_glyph_extents (PangoFont *font, PangoGlyph glyph, PangoRectangle *ink_rect, PangoRectangle *logical_rect);\nsubroutine pango_font_get_glyph_extents(font, glyph, ink_rect, logical_rect)&\n& bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr), value :: font\n  integer(c_int32_t), value :: glyph\n  type(c_ptr), value :: ink_rect\n  type(c_ptr), value :: logical_rect\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_10\n!PangoFontMap *pango_font_get_font_map (PangoFont *font);\nfunction pango_font_get_font_map(font) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_font_get_font_map\n  type(c_ptr), value :: font\nend function\n\n! PANGO_AVAILABLE_IN_1_46\n!PangoFontFace * pango_font_get_face (PangoFont *font);\nfunction pango_font_get_face(font) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_font_get_face\n  type(c_ptr), value :: font\nend function\n\n! PANGO_AVAILABLE_IN_1_44\n!gboolean pango_font_has_char (PangoFont *font, gunichar wc);\nfunction pango_font_has_char(font, wc) bind(c)\n  import :: c_int, c_ptr, c_int32_t\n  implicit none\n  integer(c_int) :: pango_font_has_char\n  type(c_ptr), value :: font\n  integer(c_int32_t), value :: wc\nend function\n\n! PANGO_AVAILABLE_IN_1_44\n!void pango_font_get_features (PangoFont *font, hb_feature_t *features, guint len, guint *num_features);\nsubroutine pango_font_get_features(font, features, len, num_features) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: font\n  type(c_ptr), value :: features\n  integer(c_int), value :: len\n  type(c_ptr), value :: num_features\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_44\n!hb_font_t * pango_font_get_hb_font (PangoFont *font);\nfunction pango_font_get_hb_font(font) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_font_get_hb_font\n  type(c_ptr), value :: font\nend function\n\n! PANGO_AVAILABLE_IN_1_50\n!PangoLanguage ** pango_font_get_languages (PangoFont *font);\nfunction pango_font_get_languages(font) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_font_get_languages\n  type(c_ptr), value :: font\nend function\n\n! PANGO_AVAILABLE_IN_1_50\n!GBytes * pango_font_serialize (PangoFont *font);\nfunction pango_font_serialize(font) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_font_serialize\n  type(c_ptr), value :: font\nend function\n\n! PANGO_AVAILABLE_IN_1_50\n!PangoFont * pango_font_deserialize (PangoContext *context, GBytes *bytes, GError **error);\nfunction pango_font_deserialize(context, bytes, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_font_deserialize\n  type(c_ptr), value :: context\n  type(c_ptr), value :: bytes\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/pango-1.0/pango/pango-fontmap.h\n!--------------------------------------------------\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_font_map_get_type (void) ;\nfunction pango_font_map_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_font_map_get_type\nend function\n\n! PANGO_AVAILABLE_IN_1_22\n!PangoContext * pango_font_map_create_context (PangoFontMap *fontmap);\nfunction pango_font_map_create_context(fontmap) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_font_map_create_context\n  type(c_ptr), value :: fontmap\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoFont * pango_font_map_load_font (PangoFontMap *fontmap, PangoContext *context, const PangoFontDescription *desc);\nfunction pango_font_map_load_font(fontmap, context, desc) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_font_map_load_font\n  type(c_ptr), value :: fontmap\n  type(c_ptr), value :: context\n  type(c_ptr), value :: desc\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoFontset *pango_font_map_load_fontset (PangoFontMap *fontmap, PangoContext *context, const PangoFontDescription *desc, PangoLanguage *language);\nfunction pango_font_map_load_fontset(fontmap, context, desc, language) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_font_map_load_fontset\n  type(c_ptr), value :: fontmap\n  type(c_ptr), value :: context\n  type(c_ptr), value :: desc\n  type(c_ptr), value :: language\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_font_map_list_families (PangoFontMap *fontmap, PangoFontFamily ***families, int *n_families);\nsubroutine pango_font_map_list_families(fontmap, families, n_families) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: fontmap\n  type(c_ptr), value :: families\n  type(c_ptr), value :: n_families\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_32\n!guint pango_font_map_get_serial (PangoFontMap *fontmap);\nfunction pango_font_map_get_serial(fontmap) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_font_map_get_serial\n  type(c_ptr), value :: fontmap\nend function\n\n! PANGO_AVAILABLE_IN_1_34\n!void pango_font_map_changed (PangoFontMap *fontmap);\nsubroutine pango_font_map_changed(fontmap) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: fontmap\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_46\n!PangoFontFamily *pango_font_map_get_family (PangoFontMap *fontmap, const char *name);\nfunction pango_font_map_get_family(fontmap, name) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: pango_font_map_get_family\n  type(c_ptr), value :: fontmap\n  character(kind=c_char), dimension(*) :: name\nend function\n\n! PANGO_AVAILABLE_IN_1_52\n!PangoFont * pango_font_map_reload_font (PangoFontMap *fontmap, PangoFont *font, double scale, PangoContext *context, const char *variations);\nfunction pango_font_map_reload_font(fontmap, font, scale, context, variations)&\n& bind(c)\n  import :: c_ptr, c_double, c_char\n  implicit none\n  type(c_ptr) :: pango_font_map_reload_font\n  type(c_ptr), value :: fontmap\n  type(c_ptr), value :: font\n  real(c_double), value :: scale\n  type(c_ptr), value :: context\n  character(kind=c_char), dimension(*) :: variations\nend function\n\n! PANGO_AVAILABLE_IN_1_56\n!gboolean pango_font_map_add_font_file (PangoFontMap *fontmap, const char *filename, GError **error);\nfunction pango_font_map_add_font_file(fontmap, filename, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: pango_font_map_add_font_file\n  type(c_ptr), value :: fontmap\n  character(kind=c_char), dimension(*) :: filename\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/pango-1.0/pango/pango-fontset-simple.h\n!--------------------------------------------------\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_fontset_simple_get_type (void) ;\nfunction pango_fontset_simple_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_fontset_simple_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoFontsetSimple * pango_fontset_simple_new (PangoLanguage *language);\nfunction pango_fontset_simple_new(language) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_fontset_simple_new\n  type(c_ptr), value :: language\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_fontset_simple_append (PangoFontsetSimple *fontset, PangoFont *font);\nsubroutine pango_fontset_simple_append(fontset, font) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: fontset\n  type(c_ptr), value :: font\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!int pango_fontset_simple_size (PangoFontsetSimple *fontset);\nfunction pango_fontset_simple_size(fontset) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_fontset_simple_size\n  type(c_ptr), value :: fontset\nend function\n\n!--------------------------------------------------\n! /usr/include/pango-1.0/pango/pango-fontset.h\n!--------------------------------------------------\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_fontset_get_type (void) ;\nfunction pango_fontset_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_fontset_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoFont * pango_fontset_get_font (PangoFontset *fontset, guint wc);\nfunction pango_fontset_get_font(fontset, wc) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_fontset_get_font\n  type(c_ptr), value :: fontset\n  integer(c_int), value :: wc\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoFontMetrics * pango_fontset_get_metrics (PangoFontset *fontset);\nfunction pango_fontset_get_metrics(fontset) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_fontset_get_metrics\n  type(c_ptr), value :: fontset\nend function\n\n! PANGO_AVAILABLE_IN_1_4\n!void pango_fontset_foreach (PangoFontset *fontset, PangoFontsetForeachFunc func, gpointer data);\nsubroutine pango_fontset_foreach(fontset, func, data) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: fontset\n  type(c_funptr), value :: func\n  type(c_ptr), value :: data\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/pango-1.0/pango/pango-glyph-item.h\n!--------------------------------------------------\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_glyph_item_get_type (void) ;\nfunction pango_glyph_item_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_glyph_item_get_type\nend function\n\n! PANGO_AVAILABLE_IN_1_2\n!PangoGlyphItem *pango_glyph_item_split (PangoGlyphItem *orig, const char *text, int split_index);\nfunction pango_glyph_item_split(orig, text, split_index) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: pango_glyph_item_split\n  type(c_ptr), value :: orig\n  character(kind=c_char), dimension(*) :: text\n  integer(c_int), value :: split_index\nend function\n\n! PANGO_AVAILABLE_IN_1_20\n!PangoGlyphItem *pango_glyph_item_copy (PangoGlyphItem *orig);\nfunction pango_glyph_item_copy(orig) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_glyph_item_copy\n  type(c_ptr), value :: orig\nend function\n\n! PANGO_AVAILABLE_IN_1_6\n!void pango_glyph_item_free (PangoGlyphItem *glyph_item);\nsubroutine pango_glyph_item_free(glyph_item) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: glyph_item\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_2\n!GSList * pango_glyph_item_apply_attrs (PangoGlyphItem *glyph_item, const char *text, PangoAttrList *list);\nfunction pango_glyph_item_apply_attrs(glyph_item, text, list) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: pango_glyph_item_apply_attrs\n  type(c_ptr), value :: glyph_item\n  character(kind=c_char), dimension(*) :: text\n  type(c_ptr), value :: list\nend function\n\n! PANGO_AVAILABLE_IN_1_6\n!void pango_glyph_item_letter_space (PangoGlyphItem *glyph_item, const char *text, PangoLogAttr *log_attrs, int letter_spacing);\nsubroutine pango_glyph_item_letter_space(glyph_item, text, log_attrs,&\n& letter_spacing) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: glyph_item\n  character(kind=c_char), dimension(*) :: text\n  type(c_ptr), value :: log_attrs\n  integer(c_int), value :: letter_spacing\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_26\n!void pango_glyph_item_get_logical_widths (PangoGlyphItem *glyph_item, const char *text, int *logical_widths);\nsubroutine pango_glyph_item_get_logical_widths(glyph_item, text,&\n& logical_widths) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: glyph_item\n  character(kind=c_char), dimension(*) :: text\n  type(c_ptr), value :: logical_widths\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_22\n!GType pango_glyph_item_iter_get_type (void) ;\nfunction pango_glyph_item_iter_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_glyph_item_iter_get_type\nend function\n\n! PANGO_AVAILABLE_IN_1_22\n!PangoGlyphItemIter *pango_glyph_item_iter_copy (PangoGlyphItemIter *orig);\nfunction pango_glyph_item_iter_copy(orig) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_glyph_item_iter_copy\n  type(c_ptr), value :: orig\nend function\n\n! PANGO_AVAILABLE_IN_1_22\n!void pango_glyph_item_iter_free (PangoGlyphItemIter *iter);\nsubroutine pango_glyph_item_iter_free(iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: iter\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_22\n!gboolean pango_glyph_item_iter_init_start (PangoGlyphItemIter *iter, PangoGlyphItem *glyph_item, const char *text);\nfunction pango_glyph_item_iter_init_start(iter, glyph_item, text) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: pango_glyph_item_iter_init_start\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: glyph_item\n  character(kind=c_char), dimension(*) :: text\nend function\n\n! PANGO_AVAILABLE_IN_1_22\n!gboolean pango_glyph_item_iter_init_end (PangoGlyphItemIter *iter, PangoGlyphItem *glyph_item, const char *text);\nfunction pango_glyph_item_iter_init_end(iter, glyph_item, text) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: pango_glyph_item_iter_init_end\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: glyph_item\n  character(kind=c_char), dimension(*) :: text\nend function\n\n! PANGO_AVAILABLE_IN_1_22\n!gboolean pango_glyph_item_iter_next_cluster (PangoGlyphItemIter *iter);\nfunction pango_glyph_item_iter_next_cluster(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_glyph_item_iter_next_cluster\n  type(c_ptr), value :: iter\nend function\n\n! PANGO_AVAILABLE_IN_1_22\n!gboolean pango_glyph_item_iter_prev_cluster (PangoGlyphItemIter *iter);\nfunction pango_glyph_item_iter_prev_cluster(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_glyph_item_iter_prev_cluster\n  type(c_ptr), value :: iter\nend function\n\n!--------------------------------------------------\n! /usr/include/pango-1.0/pango/pango-glyph.h\n!--------------------------------------------------\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_glyph_string_get_type (void) ;\nfunction pango_glyph_string_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_glyph_string_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoGlyphString * pango_glyph_string_new (void);\nfunction pango_glyph_string_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_glyph_string_new\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_glyph_string_set_size (PangoGlyphString *string, int new_len);\nsubroutine pango_glyph_string_set_size(string, new_len) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: string\n  integer(c_int), value :: new_len\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoGlyphString * pango_glyph_string_copy (PangoGlyphString *string);\nfunction pango_glyph_string_copy(string) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_glyph_string_copy\n  type(c_ptr), value :: string\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_glyph_string_free (PangoGlyphString *string);\nsubroutine pango_glyph_string_free(string) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: string\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_glyph_string_extents (PangoGlyphString *glyphs, PangoFont *font, PangoRectangle *ink_rect, PangoRectangle *logical_rect);\nsubroutine pango_glyph_string_extents(glyphs, font, ink_rect, logical_rect)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: glyphs\n  type(c_ptr), value :: font\n  type(c_ptr), value :: ink_rect\n  type(c_ptr), value :: logical_rect\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_14\n!int pango_glyph_string_get_width (PangoGlyphString *glyphs);\nfunction pango_glyph_string_get_width(glyphs) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_glyph_string_get_width\n  type(c_ptr), value :: glyphs\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_glyph_string_extents_range (PangoGlyphString *glyphs, int start, int end, PangoFont *font, PangoRectangle *ink_rect, PangoRectangle *logical_rect);\nsubroutine pango_glyph_string_extents_range(glyphs, start, end, font, ink_rect,&\n& logical_rect) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: glyphs\n  integer(c_int), value :: start\n  integer(c_int), value :: end\n  type(c_ptr), value :: font\n  type(c_ptr), value :: ink_rect\n  type(c_ptr), value :: logical_rect\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_glyph_string_get_logical_widths (PangoGlyphString *glyphs, const char *text, int length, int embedding_level, int *logical_widths);\nsubroutine pango_glyph_string_get_logical_widths(glyphs, text, length,&\n& embedding_level, logical_widths) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: glyphs\n  character(kind=c_char), dimension(*) :: text\n  integer(c_int), value :: length\n  integer(c_int), value :: embedding_level\n  type(c_ptr), value :: logical_widths\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_glyph_string_index_to_x (PangoGlyphString *glyphs, const char *text, int length, PangoAnalysis *analysis, int index_, gboolean trailing, int *x_pos);\nsubroutine pango_glyph_string_index_to_x(glyphs, text, length, analysis,&\n& index_, trailing, x_pos) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: glyphs\n  character(kind=c_char), dimension(*) :: text\n  integer(c_int), value :: length\n  type(c_ptr), value :: analysis\n  integer(c_int), value :: index_\n  integer(c_int), value :: trailing\n  type(c_ptr), value :: x_pos\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_glyph_string_x_to_index (PangoGlyphString *glyphs, const char *text, int length, PangoAnalysis *analysis, int x_pos, int *index_, int *trailing);\nsubroutine pango_glyph_string_x_to_index(glyphs, text, length, analysis, x_pos,&\n& index_, trailing) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: glyphs\n  character(kind=c_char), dimension(*) :: text\n  integer(c_int), value :: length\n  type(c_ptr), value :: analysis\n  integer(c_int), value :: x_pos\n  type(c_ptr), value :: index_\n  type(c_ptr), value :: trailing\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_50\n!void pango_glyph_string_index_to_x_full (PangoGlyphString *glyphs, const char *text, int length, PangoAnalysis *analysis, PangoLogAttr *attrs, int index_, gboolean trailing, int *x_pos);\nsubroutine pango_glyph_string_index_to_x_full(glyphs, text, length, analysis,&\n& attrs, index_, trailing, x_pos) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: glyphs\n  character(kind=c_char), dimension(*) :: text\n  integer(c_int), value :: length\n  type(c_ptr), value :: analysis\n  type(c_ptr), value :: attrs\n  integer(c_int), value :: index_\n  integer(c_int), value :: trailing\n  type(c_ptr), value :: x_pos\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_shape (const char *text, int length, const PangoAnalysis *analysis, PangoGlyphString *glyphs);\nsubroutine pango_shape(text, length, analysis, glyphs) bind(c)\n  import :: c_char, c_int, c_ptr\n  implicit none\n  character(kind=c_char), dimension(*) :: text\n  integer(c_int), value :: length\n  type(c_ptr), value :: analysis\n  type(c_ptr), value :: glyphs\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_32\n!void pango_shape_full (const char *item_text, int item_length, const char *paragraph_text, int paragraph_length, const PangoAnalysis *analysis, PangoGlyphString *glyphs);\nsubroutine pango_shape_full(item_text, item_length, paragraph_text,&\n& paragraph_length, analysis, glyphs) bind(c)\n  import :: c_char, c_int, c_ptr\n  implicit none\n  character(kind=c_char), dimension(*) :: item_text\n  integer(c_int), value :: item_length\n  character(kind=c_char), dimension(*) :: paragraph_text\n  integer(c_int), value :: paragraph_length\n  type(c_ptr), value :: analysis\n  type(c_ptr), value :: glyphs\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_44\n!void pango_shape_with_flags (const char *item_text, int item_length, const char *paragraph_text, int paragraph_length, const PangoAnalysis *analysis, PangoGlyphString *glyphs, PangoShapeFlags flags);\nsubroutine pango_shape_with_flags(item_text, item_length, paragraph_text,&\n& paragraph_length, analysis, glyphs, flags) bind(c)\n  import :: c_char, c_int, c_ptr\n  implicit none\n  character(kind=c_char), dimension(*) :: item_text\n  integer(c_int), value :: item_length\n  character(kind=c_char), dimension(*) :: paragraph_text\n  integer(c_int), value :: paragraph_length\n  type(c_ptr), value :: analysis\n  type(c_ptr), value :: glyphs\n  integer(c_int), value :: flags\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_50\n!void pango_shape_item (PangoItem *item, const char *paragraph_text, int paragraph_length, PangoLogAttr *log_attrs, PangoGlyphString *glyphs, PangoShapeFlags flags);\nsubroutine pango_shape_item(item, paragraph_text, paragraph_length, log_attrs,&\n& glyphs, flags) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: item\n  character(kind=c_char), dimension(*) :: paragraph_text\n  integer(c_int), value :: paragraph_length\n  type(c_ptr), value :: log_attrs\n  type(c_ptr), value :: glyphs\n  integer(c_int), value :: flags\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/pango-1.0/pango/pango-gravity.h\n!--------------------------------------------------\n! PANGO_AVAILABLE_IN_1_16\n!double pango_gravity_to_rotation (PangoGravity gravity) ;\nfunction pango_gravity_to_rotation(gravity) bind(c)\n  import :: c_double, c_int\n  implicit none\n  real(c_double) :: pango_gravity_to_rotation\n  integer(c_int), value :: gravity\nend function\n\n! PANGO_AVAILABLE_IN_1_16\n!PangoGravity pango_gravity_get_for_matrix (const PangoMatrix *matrix) ;\nfunction pango_gravity_get_for_matrix(matrix) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_gravity_get_for_matrix\n  type(c_ptr), value :: matrix\nend function\n\n! PANGO_AVAILABLE_IN_1_16\n!PangoGravity pango_gravity_get_for_script (PangoScript script, PangoGravity base_gravity, PangoGravityHint hint) ;\nfunction pango_gravity_get_for_script(script, base_gravity, hint) bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: pango_gravity_get_for_script\n  integer(c_int), value :: script\n  integer(c_int), value :: base_gravity\n  integer(c_int), value :: hint\nend function\n\n! PANGO_AVAILABLE_IN_1_26\n!PangoGravity pango_gravity_get_for_script_and_width (PangoScript script, gboolean wide, PangoGravity base_gravity, PangoGravityHint hint) ;\nfunction pango_gravity_get_for_script_and_width(script, wide, base_gravity,&\n& hint) bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: pango_gravity_get_for_script_and_width\n  integer(c_int), value :: script\n  integer(c_int), value :: wide\n  integer(c_int), value :: base_gravity\n  integer(c_int), value :: hint\nend function\n\n!--------------------------------------------------\n! /usr/include/pango-1.0/pango/pango-item.h\n!--------------------------------------------------\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_item_get_type (void) ;\nfunction pango_item_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_item_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoItem * pango_item_new (void);\nfunction pango_item_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_item_new\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoItem * pango_item_copy (PangoItem *item);\nfunction pango_item_copy(item) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_item_copy\n  type(c_ptr), value :: item\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_item_free (PangoItem *item);\nsubroutine pango_item_free(item) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: item\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_54\n!int pango_item_get_char_offset (PangoItem *item);\nfunction pango_item_get_char_offset(item) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_item_get_char_offset\n  type(c_ptr), value :: item\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoItem * pango_item_split (PangoItem *orig, int split_index, int split_offset);\nfunction pango_item_split(orig, split_index, split_offset) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_item_split\n  type(c_ptr), value :: orig\n  integer(c_int), value :: split_index\n  integer(c_int), value :: split_offset\nend function\n\n! PANGO_AVAILABLE_IN_1_44\n!void pango_item_apply_attrs (PangoItem *item, PangoAttrIterator *iter);\nsubroutine pango_item_apply_attrs(item, iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: item\n  type(c_ptr), value :: iter\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!GList * pango_reorder_items (GList *items);\nfunction pango_reorder_items(items) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_reorder_items\n  type(c_ptr), value :: items\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!GList * pango_itemize (PangoContext *context, const char *text, int start_index, int length, PangoAttrList *attrs, PangoAttrIterator *cached_iter);\nfunction pango_itemize(context, text, start_index, length, attrs, cached_iter)&\n& bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: pango_itemize\n  type(c_ptr), value :: context\n  character(kind=c_char), dimension(*) :: text\n  integer(c_int), value :: start_index\n  integer(c_int), value :: length\n  type(c_ptr), value :: attrs\n  type(c_ptr), value :: cached_iter\nend function\n\n! PANGO_AVAILABLE_IN_1_4\n!GList * pango_itemize_with_base_dir (PangoContext *context, PangoDirection base_dir, const char *text, int start_index, int length, PangoAttrList *attrs, PangoAttrIterator *cached_iter);\nfunction pango_itemize_with_base_dir(context, base_dir, text, start_index,&\n& length, attrs, cached_iter) bind(c)\n  import :: c_ptr, c_int, c_char\n  implicit none\n  type(c_ptr) :: pango_itemize_with_base_dir\n  type(c_ptr), value :: context\n  integer(c_int), value :: base_dir\n  character(kind=c_char), dimension(*) :: text\n  integer(c_int), value :: start_index\n  integer(c_int), value :: length\n  type(c_ptr), value :: attrs\n  type(c_ptr), value :: cached_iter\nend function\n\n!--------------------------------------------------\n! /usr/include/pango-1.0/pango/pango-language.h\n!--------------------------------------------------\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_language_get_type (void) ;\nfunction pango_language_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_language_get_type\nend function\n\n! PANGO_AVAILABLE_IN_1_16\n!PangoLanguage * pango_language_get_default (void) ;\nfunction pango_language_get_default() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_language_get_default\nend function\n\n! PANGO_AVAILABLE_IN_1_48\n!PangoLanguage ** pango_language_get_preferred (void) ;\nfunction pango_language_get_preferred() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_language_get_preferred\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoLanguage * pango_language_from_string (const char *language);\nfunction pango_language_from_string(language) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: pango_language_from_string\n  character(kind=c_char), dimension(*) :: language\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!const char * pango_language_to_string (PangoLanguage *language) ;\nfunction pango_language_to_string(language) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_language_to_string\n  type(c_ptr), value :: language\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!const char * pango_language_get_sample_string (PangoLanguage *language) ;\nfunction pango_language_get_sample_string(language) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_language_get_sample_string\n  type(c_ptr), value :: language\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!gboolean pango_language_matches (PangoLanguage *language, const char *range_list) ;\nfunction pango_language_matches(language, range_list) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: pango_language_matches\n  type(c_ptr), value :: language\n  character(kind=c_char), dimension(*) :: range_list\nend function\n\n! PANGO_AVAILABLE_IN_1_4\n!gboolean pango_language_includes_script (PangoLanguage *language, PangoScript script) ;\nfunction pango_language_includes_script(language, script) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_language_includes_script\n  type(c_ptr), value :: language\n  integer(c_int), value :: script\nend function\n\n! PANGO_AVAILABLE_IN_1_22\n!const PangoScript * pango_language_get_scripts (PangoLanguage *language, int *num_scripts);\nfunction pango_language_get_scripts(language, num_scripts) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_language_get_scripts\n  type(c_ptr), value :: language\n  type(c_ptr), value :: num_scripts\nend function\n\n!--------------------------------------------------\n! /usr/include/pango-1.0/pango/pango-layout.h\n!--------------------------------------------------\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_layout_get_type (void) ;\nfunction pango_layout_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_layout_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoLayout *pango_layout_new (PangoContext *context);\nfunction pango_layout_new(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_layout_new\n  type(c_ptr), value :: context\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoLayout *pango_layout_copy (PangoLayout *src);\nfunction pango_layout_copy(src) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_layout_copy\n  type(c_ptr), value :: src\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoContext *pango_layout_get_context (PangoLayout *layout);\nfunction pango_layout_get_context(layout) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_layout_get_context\n  type(c_ptr), value :: layout\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_layout_set_attributes (PangoLayout *layout, PangoAttrList *attrs);\nsubroutine pango_layout_set_attributes(layout, attrs) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: layout\n  type(c_ptr), value :: attrs\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoAttrList *pango_layout_get_attributes (PangoLayout *layout);\nfunction pango_layout_get_attributes(layout) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_layout_get_attributes\n  type(c_ptr), value :: layout\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_layout_set_text (PangoLayout *layout, const char *text, int length);\nsubroutine pango_layout_set_text(layout, text, length) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: layout\n  character(kind=c_char), dimension(*) :: text\n  integer(c_int), value :: length\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!const char *pango_layout_get_text (PangoLayout *layout);\nfunction pango_layout_get_text(layout) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_layout_get_text\n  type(c_ptr), value :: layout\nend function\n\n! PANGO_AVAILABLE_IN_1_30\n!gint pango_layout_get_character_count (PangoLayout *layout);\nfunction pango_layout_get_character_count(layout) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_layout_get_character_count\n  type(c_ptr), value :: layout\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_layout_set_markup (PangoLayout *layout, const char *markup, int length);\nsubroutine pango_layout_set_markup(layout, markup, length) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: layout\n  character(kind=c_char), dimension(*) :: markup\n  integer(c_int), value :: length\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_layout_set_markup_with_accel (PangoLayout *layout, const char *markup, int length, gunichar accel_marker, gunichar *accel_char);\nsubroutine pango_layout_set_markup_with_accel(layout, markup, length,&\n& accel_marker, accel_char) bind(c)\n  import :: c_ptr, c_char, c_int, c_int32_t\n  implicit none\n  type(c_ptr), value :: layout\n  character(kind=c_char), dimension(*) :: markup\n  integer(c_int), value :: length\n  integer(c_int32_t), value :: accel_marker\n  character(kind=c_char), dimension(*) :: accel_char\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_layout_set_font_description (PangoLayout *layout, const PangoFontDescription *desc);\nsubroutine pango_layout_set_font_description(layout, desc) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: layout\n  type(c_ptr), value :: desc\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_8\n!const PangoFontDescription *pango_layout_get_font_description (PangoLayout *layout);\nfunction pango_layout_get_font_description(layout) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_layout_get_font_description\n  type(c_ptr), value :: layout\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_layout_set_width (PangoLayout *layout, int width);\nsubroutine pango_layout_set_width(layout, width) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: layout\n  integer(c_int), value :: width\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!int pango_layout_get_width (PangoLayout *layout);\nfunction pango_layout_get_width(layout) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_layout_get_width\n  type(c_ptr), value :: layout\nend function\n\n! PANGO_AVAILABLE_IN_1_20\n!void pango_layout_set_height (PangoLayout *layout, int height);\nsubroutine pango_layout_set_height(layout, height) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: layout\n  integer(c_int), value :: height\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_20\n!int pango_layout_get_height (PangoLayout *layout);\nfunction pango_layout_get_height(layout) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_layout_get_height\n  type(c_ptr), value :: layout\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_layout_set_wrap (PangoLayout *layout, PangoWrapMode wrap);\nsubroutine pango_layout_set_wrap(layout, wrap) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: layout\n  integer(c_int), value :: wrap\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoWrapMode pango_layout_get_wrap (PangoLayout *layout);\nfunction pango_layout_get_wrap(layout) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_layout_get_wrap\n  type(c_ptr), value :: layout\nend function\n\n! PANGO_AVAILABLE_IN_1_16\n!gboolean pango_layout_is_wrapped (PangoLayout *layout);\nfunction pango_layout_is_wrapped(layout) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_layout_is_wrapped\n  type(c_ptr), value :: layout\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_layout_set_indent (PangoLayout *layout, int indent);\nsubroutine pango_layout_set_indent(layout, indent) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: layout\n  integer(c_int), value :: indent\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!int pango_layout_get_indent (PangoLayout *layout);\nfunction pango_layout_get_indent(layout) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_layout_get_indent\n  type(c_ptr), value :: layout\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_layout_set_spacing (PangoLayout *layout, int spacing);\nsubroutine pango_layout_set_spacing(layout, spacing) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: layout\n  integer(c_int), value :: spacing\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!int pango_layout_get_spacing (PangoLayout *layout);\nfunction pango_layout_get_spacing(layout) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_layout_get_spacing\n  type(c_ptr), value :: layout\nend function\n\n! PANGO_AVAILABLE_IN_1_44\n!void pango_layout_set_line_spacing (PangoLayout *layout, float factor);\nsubroutine pango_layout_set_line_spacing(layout, factor) bind(c)\n  import :: c_ptr, c_float\n  implicit none\n  type(c_ptr), value :: layout\n  real(c_float), value :: factor\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_44\n!float pango_layout_get_line_spacing (PangoLayout *layout);\nfunction pango_layout_get_line_spacing(layout) bind(c)\n  import :: c_float, c_ptr\n  implicit none\n  real(c_float) :: pango_layout_get_line_spacing\n  type(c_ptr), value :: layout\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_layout_set_justify (PangoLayout *layout, gboolean justify);\nsubroutine pango_layout_set_justify(layout, justify) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: layout\n  integer(c_int), value :: justify\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!gboolean pango_layout_get_justify (PangoLayout *layout);\nfunction pango_layout_get_justify(layout) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_layout_get_justify\n  type(c_ptr), value :: layout\nend function\n\n! PANGO_AVAILABLE_IN_1_50\n!void pango_layout_set_justify_last_line (PangoLayout *layout, gboolean justify);\nsubroutine pango_layout_set_justify_last_line(layout, justify) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: layout\n  integer(c_int), value :: justify\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_50\n!gboolean pango_layout_get_justify_last_line (PangoLayout *layout);\nfunction pango_layout_get_justify_last_line(layout) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_layout_get_justify_last_line\n  type(c_ptr), value :: layout\nend function\n\n! PANGO_AVAILABLE_IN_1_4\n!void pango_layout_set_auto_dir (PangoLayout *layout, gboolean auto_dir);\nsubroutine pango_layout_set_auto_dir(layout, auto_dir) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: layout\n  integer(c_int), value :: auto_dir\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_4\n!gboolean pango_layout_get_auto_dir (PangoLayout *layout);\nfunction pango_layout_get_auto_dir(layout) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_layout_get_auto_dir\n  type(c_ptr), value :: layout\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_layout_set_alignment (PangoLayout *layout, PangoAlignment alignment);\nsubroutine pango_layout_set_alignment(layout, alignment) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: layout\n  integer(c_int), value :: alignment\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoAlignment pango_layout_get_alignment (PangoLayout *layout);\nfunction pango_layout_get_alignment(layout) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_layout_get_alignment\n  type(c_ptr), value :: layout\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_layout_set_tabs (PangoLayout *layout, PangoTabArray *tabs);\nsubroutine pango_layout_set_tabs(layout, tabs) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: layout\n  type(c_ptr), value :: tabs\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoTabArray* pango_layout_get_tabs (PangoLayout *layout);\nfunction pango_layout_get_tabs(layout) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_layout_get_tabs\n  type(c_ptr), value :: layout\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_layout_set_single_paragraph_mode (PangoLayout *layout, gboolean setting);\nsubroutine pango_layout_set_single_paragraph_mode(layout, setting) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: layout\n  integer(c_int), value :: setting\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!gboolean pango_layout_get_single_paragraph_mode (PangoLayout *layout);\nfunction pango_layout_get_single_paragraph_mode(layout) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_layout_get_single_paragraph_mode\n  type(c_ptr), value :: layout\nend function\n\n! PANGO_AVAILABLE_IN_1_6\n!void pango_layout_set_ellipsize (PangoLayout *layout, PangoEllipsizeMode ellipsize);\nsubroutine pango_layout_set_ellipsize(layout, ellipsize) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: layout\n  integer(c_int), value :: ellipsize\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_6\n!PangoEllipsizeMode pango_layout_get_ellipsize (PangoLayout *layout);\nfunction pango_layout_get_ellipsize(layout) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_layout_get_ellipsize\n  type(c_ptr), value :: layout\nend function\n\n! PANGO_AVAILABLE_IN_1_16\n!gboolean pango_layout_is_ellipsized (PangoLayout *layout);\nfunction pango_layout_is_ellipsized(layout) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_layout_is_ellipsized\n  type(c_ptr), value :: layout\nend function\n\n! PANGO_AVAILABLE_IN_1_16\n!int pango_layout_get_unknown_glyphs_count (PangoLayout *layout);\nfunction pango_layout_get_unknown_glyphs_count(layout) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_layout_get_unknown_glyphs_count\n  type(c_ptr), value :: layout\nend function\n\n! PANGO_AVAILABLE_IN_1_46\n!PangoDirection pango_layout_get_direction (PangoLayout *layout, int index);\nfunction pango_layout_get_direction(layout, index) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_layout_get_direction\n  type(c_ptr), value :: layout\n  integer(c_int), value :: index\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_layout_context_changed (PangoLayout *layout);\nsubroutine pango_layout_context_changed(layout) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: layout\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_32\n!guint pango_layout_get_serial (PangoLayout *layout);\nfunction pango_layout_get_serial(layout) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_layout_get_serial\n  type(c_ptr), value :: layout\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_layout_get_log_attrs (PangoLayout *layout, PangoLogAttr **attrs, gint *n_attrs);\nsubroutine pango_layout_get_log_attrs(layout, attrs, n_attrs) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: layout\n  type(c_ptr), value :: attrs\n  type(c_ptr), value :: n_attrs\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_30\n!const PangoLogAttr *pango_layout_get_log_attrs_readonly (PangoLayout *layout, gint *n_attrs);\nfunction pango_layout_get_log_attrs_readonly(layout, n_attrs) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_layout_get_log_attrs_readonly\n  type(c_ptr), value :: layout\n  type(c_ptr), value :: n_attrs\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_layout_index_to_pos (PangoLayout *layout, int index_, PangoRectangle *pos);\nsubroutine pango_layout_index_to_pos(layout, index_, pos) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: layout\n  integer(c_int), value :: index_\n  type(c_ptr), value :: pos\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_layout_index_to_line_x (PangoLayout *layout, int index_, gboolean trailing, int *line, int *x_pos);\nsubroutine pango_layout_index_to_line_x(layout, index_, trailing, line, x_pos)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: layout\n  integer(c_int), value :: index_\n  integer(c_int), value :: trailing\n  type(c_ptr), value :: line\n  type(c_ptr), value :: x_pos\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_layout_get_cursor_pos (PangoLayout *layout, int index_, PangoRectangle *strong_pos, PangoRectangle *weak_pos);\nsubroutine pango_layout_get_cursor_pos(layout, index_, strong_pos, weak_pos)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: layout\n  integer(c_int), value :: index_\n  type(c_ptr), value :: strong_pos\n  type(c_ptr), value :: weak_pos\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_50\n!void pango_layout_get_caret_pos (PangoLayout *layout, int index_, PangoRectangle *strong_pos, PangoRectangle *weak_pos);\nsubroutine pango_layout_get_caret_pos(layout, index_, strong_pos, weak_pos)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: layout\n  integer(c_int), value :: index_\n  type(c_ptr), value :: strong_pos\n  type(c_ptr), value :: weak_pos\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_layout_move_cursor_visually (PangoLayout *layout, gboolean strong, int old_index, int old_trailing, int direction, int *new_index, int *new_trailing);\nsubroutine pango_layout_move_cursor_visually(layout, strong, old_index,&\n& old_trailing, direction, new_index, new_trailing) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: layout\n  integer(c_int), value :: strong\n  integer(c_int), value :: old_index\n  integer(c_int), value :: old_trailing\n  integer(c_int), value :: direction\n  type(c_ptr), value :: new_index\n  type(c_ptr), value :: new_trailing\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!gboolean pango_layout_xy_to_index (PangoLayout *layout, int x, int y, int *index_, int *trailing);\nfunction pango_layout_xy_to_index(layout, x, y, index_, trailing) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_layout_xy_to_index\n  type(c_ptr), value :: layout\n  integer(c_int), value :: x\n  integer(c_int), value :: y\n  type(c_ptr), value :: index_\n  type(c_ptr), value :: trailing\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_layout_get_extents (PangoLayout *layout, PangoRectangle *ink_rect, PangoRectangle *logical_rect);\nsubroutine pango_layout_get_extents(layout, ink_rect, logical_rect) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: layout\n  type(c_ptr), value :: ink_rect\n  type(c_ptr), value :: logical_rect\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_layout_get_pixel_extents (PangoLayout *layout, PangoRectangle *ink_rect, PangoRectangle *logical_rect);\nsubroutine pango_layout_get_pixel_extents(layout, ink_rect, logical_rect)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: layout\n  type(c_ptr), value :: ink_rect\n  type(c_ptr), value :: logical_rect\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_layout_get_size (PangoLayout *layout, int *width, int *height);\nsubroutine pango_layout_get_size(layout, width, height) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: layout\n  type(c_ptr), value :: width\n  type(c_ptr), value :: height\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_layout_get_pixel_size (PangoLayout *layout, int *width, int *height);\nsubroutine pango_layout_get_pixel_size(layout, width, height) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: layout\n  type(c_ptr), value :: width\n  type(c_ptr), value :: height\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_22\n!int pango_layout_get_baseline (PangoLayout *layout);\nfunction pango_layout_get_baseline(layout) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_layout_get_baseline\n  type(c_ptr), value :: layout\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!int pango_layout_get_line_count (PangoLayout *layout);\nfunction pango_layout_get_line_count(layout) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_layout_get_line_count\n  type(c_ptr), value :: layout\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoLayoutLine *pango_layout_get_line (PangoLayout *layout, int line);\nfunction pango_layout_get_line(layout, line) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_layout_get_line\n  type(c_ptr), value :: layout\n  integer(c_int), value :: line\nend function\n\n! PANGO_AVAILABLE_IN_1_16\n!PangoLayoutLine *pango_layout_get_line_readonly (PangoLayout *layout, int line);\nfunction pango_layout_get_line_readonly(layout, line) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_layout_get_line_readonly\n  type(c_ptr), value :: layout\n  integer(c_int), value :: line\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!GSList * pango_layout_get_lines (PangoLayout *layout);\nfunction pango_layout_get_lines(layout) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_layout_get_lines\n  type(c_ptr), value :: layout\nend function\n\n! PANGO_AVAILABLE_IN_1_16\n!GSList * pango_layout_get_lines_readonly (PangoLayout *layout);\nfunction pango_layout_get_lines_readonly(layout) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_layout_get_lines_readonly\n  type(c_ptr), value :: layout\nend function\n\n! PANGO_AVAILABLE_IN_1_50\n!GBytes * pango_layout_serialize (PangoLayout *layout, PangoLayoutSerializeFlags flags);\nfunction pango_layout_serialize(layout, flags) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_layout_serialize\n  type(c_ptr), value :: layout\n  integer(c_int), value :: flags\nend function\n\n! PANGO_AVAILABLE_IN_1_50\n!gboolean pango_layout_write_to_file (PangoLayout *layout, PangoLayoutSerializeFlags flags, const char *filename, GError **error);\nfunction pango_layout_write_to_file(layout, flags, filename, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: pango_layout_write_to_file\n  type(c_ptr), value :: layout\n  integer(c_int), value :: flags\n  character(kind=c_char), dimension(*) :: filename\n  type(c_ptr), value :: error\nend function\n\n! PANGO_AVAILABLE_IN_1_50\n!GQuark pango_layout_deserialize_error_quark (void);\nfunction pango_layout_deserialize_error_quark() bind(c)\n  import :: c_int32_t\n  implicit none\n  integer(c_int32_t) :: pango_layout_deserialize_error_quark\nend function\n\n! PANGO_AVAILABLE_IN_1_50\n!PangoLayout * pango_layout_deserialize (PangoContext *context, GBytes *bytes, PangoLayoutDeserializeFlags flags, GError **error);\nfunction pango_layout_deserialize(context, bytes, flags, error) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_layout_deserialize\n  type(c_ptr), value :: context\n  type(c_ptr), value :: bytes\n  integer(c_int), value :: flags\n  type(c_ptr), value :: error\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_layout_line_get_type (void) ;\nfunction pango_layout_line_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_layout_line_get_type\nend function\n\n! PANGO_AVAILABLE_IN_1_10\n!PangoLayoutLine *pango_layout_line_ref (PangoLayoutLine *line);\nfunction pango_layout_line_ref(line) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_layout_line_ref\n  type(c_ptr), value :: line\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_layout_line_unref (PangoLayoutLine *line);\nsubroutine pango_layout_line_unref(line) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: line\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_50\n!int pango_layout_line_get_start_index (PangoLayoutLine *line);\nfunction pango_layout_line_get_start_index(line) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_layout_line_get_start_index\n  type(c_ptr), value :: line\nend function\n\n! PANGO_AVAILABLE_IN_1_50\n!int pango_layout_line_get_length (PangoLayoutLine *line);\nfunction pango_layout_line_get_length(line) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_layout_line_get_length\n  type(c_ptr), value :: line\nend function\n\n! PANGO_AVAILABLE_IN_1_50\n!gboolean pango_layout_line_is_paragraph_start (PangoLayoutLine *line);\nfunction pango_layout_line_is_paragraph_start(line) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_layout_line_is_paragraph_start\n  type(c_ptr), value :: line\nend function\n\n! PANGO_AVAILABLE_IN_1_50\n!PangoDirection pango_layout_line_get_resolved_direction (PangoLayoutLine *line);\nfunction pango_layout_line_get_resolved_direction(line) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_layout_line_get_resolved_direction\n  type(c_ptr), value :: line\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!gboolean pango_layout_line_x_to_index (PangoLayoutLine *line, int x_pos, int *index_, int *trailing);\nfunction pango_layout_line_x_to_index(line, x_pos, index_, trailing) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_layout_line_x_to_index\n  type(c_ptr), value :: line\n  integer(c_int), value :: x_pos\n  type(c_ptr), value :: index_\n  type(c_ptr), value :: trailing\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_layout_line_index_to_x (PangoLayoutLine *line, int index_, gboolean trailing, int *x_pos);\nsubroutine pango_layout_line_index_to_x(line, index_, trailing, x_pos) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: line\n  integer(c_int), value :: index_\n  integer(c_int), value :: trailing\n  type(c_ptr), value :: x_pos\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_layout_line_get_x_ranges (PangoLayoutLine *line, int start_index, int end_index, int **ranges, int *n_ranges);\nsubroutine pango_layout_line_get_x_ranges(line, start_index, end_index, ranges,&\n& n_ranges) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: line\n  integer(c_int), value :: start_index\n  integer(c_int), value :: end_index\n  type(c_ptr), value :: ranges\n  type(c_ptr), value :: n_ranges\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_layout_line_get_extents (PangoLayoutLine *line, PangoRectangle *ink_rect, PangoRectangle *logical_rect);\nsubroutine pango_layout_line_get_extents(line, ink_rect, logical_rect) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: line\n  type(c_ptr), value :: ink_rect\n  type(c_ptr), value :: logical_rect\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_44\n!void pango_layout_line_get_height (PangoLayoutLine *line, int *height);\nsubroutine pango_layout_line_get_height(line, height) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: line\n  type(c_ptr), value :: height\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_layout_line_get_pixel_extents (PangoLayoutLine *layout_line, PangoRectangle *ink_rect, PangoRectangle *logical_rect);\nsubroutine pango_layout_line_get_pixel_extents(layout_line, ink_rect,&\n& logical_rect) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: layout_line\n  type(c_ptr), value :: ink_rect\n  type(c_ptr), value :: logical_rect\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_layout_iter_get_type (void) ;\nfunction pango_layout_iter_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_layout_iter_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoLayoutIter *pango_layout_get_iter (PangoLayout *layout);\nfunction pango_layout_get_iter(layout) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_layout_get_iter\n  type(c_ptr), value :: layout\nend function\n\n! PANGO_AVAILABLE_IN_1_20\n!PangoLayoutIter *pango_layout_iter_copy (PangoLayoutIter *iter);\nfunction pango_layout_iter_copy(iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_layout_iter_copy\n  type(c_ptr), value :: iter\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_layout_iter_free (PangoLayoutIter *iter);\nsubroutine pango_layout_iter_free(iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: iter\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!int pango_layout_iter_get_index (PangoLayoutIter *iter);\nfunction pango_layout_iter_get_index(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_layout_iter_get_index\n  type(c_ptr), value :: iter\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoLayoutRun *pango_layout_iter_get_run (PangoLayoutIter *iter);\nfunction pango_layout_iter_get_run(iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_layout_iter_get_run\n  type(c_ptr), value :: iter\nend function\n\n! PANGO_AVAILABLE_IN_1_16\n!PangoLayoutRun *pango_layout_iter_get_run_readonly (PangoLayoutIter *iter);\nfunction pango_layout_iter_get_run_readonly(iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_layout_iter_get_run_readonly\n  type(c_ptr), value :: iter\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoLayoutLine *pango_layout_iter_get_line (PangoLayoutIter *iter);\nfunction pango_layout_iter_get_line(iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_layout_iter_get_line\n  type(c_ptr), value :: iter\nend function\n\n! PANGO_AVAILABLE_IN_1_16\n!PangoLayoutLine *pango_layout_iter_get_line_readonly (PangoLayoutIter *iter);\nfunction pango_layout_iter_get_line_readonly(iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_layout_iter_get_line_readonly\n  type(c_ptr), value :: iter\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!gboolean pango_layout_iter_at_last_line (PangoLayoutIter *iter);\nfunction pango_layout_iter_at_last_line(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_layout_iter_at_last_line\n  type(c_ptr), value :: iter\nend function\n\n! PANGO_AVAILABLE_IN_1_20\n!PangoLayout *pango_layout_iter_get_layout (PangoLayoutIter *iter);\nfunction pango_layout_iter_get_layout(iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_layout_iter_get_layout\n  type(c_ptr), value :: iter\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!gboolean pango_layout_iter_next_char (PangoLayoutIter *iter);\nfunction pango_layout_iter_next_char(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_layout_iter_next_char\n  type(c_ptr), value :: iter\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!gboolean pango_layout_iter_next_cluster (PangoLayoutIter *iter);\nfunction pango_layout_iter_next_cluster(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_layout_iter_next_cluster\n  type(c_ptr), value :: iter\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!gboolean pango_layout_iter_next_run (PangoLayoutIter *iter);\nfunction pango_layout_iter_next_run(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_layout_iter_next_run\n  type(c_ptr), value :: iter\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!gboolean pango_layout_iter_next_line (PangoLayoutIter *iter);\nfunction pango_layout_iter_next_line(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_layout_iter_next_line\n  type(c_ptr), value :: iter\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_layout_iter_get_char_extents (PangoLayoutIter *iter, PangoRectangle *logical_rect);\nsubroutine pango_layout_iter_get_char_extents(iter, logical_rect) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: logical_rect\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_layout_iter_get_cluster_extents (PangoLayoutIter *iter, PangoRectangle *ink_rect, PangoRectangle *logical_rect);\nsubroutine pango_layout_iter_get_cluster_extents(iter, ink_rect, logical_rect)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: ink_rect\n  type(c_ptr), value :: logical_rect\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_layout_iter_get_run_extents (PangoLayoutIter *iter, PangoRectangle *ink_rect, PangoRectangle *logical_rect);\nsubroutine pango_layout_iter_get_run_extents(iter, ink_rect, logical_rect)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: ink_rect\n  type(c_ptr), value :: logical_rect\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_layout_iter_get_line_extents (PangoLayoutIter *iter, PangoRectangle *ink_rect, PangoRectangle *logical_rect);\nsubroutine pango_layout_iter_get_line_extents(iter, ink_rect, logical_rect)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: ink_rect\n  type(c_ptr), value :: logical_rect\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_layout_iter_get_line_yrange (PangoLayoutIter *iter, int *y0_, int *y1_);\nsubroutine pango_layout_iter_get_line_yrange(iter, y0_, y1_) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: y0_\n  type(c_ptr), value :: y1_\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_layout_iter_get_layout_extents (PangoLayoutIter *iter, PangoRectangle *ink_rect, PangoRectangle *logical_rect);\nsubroutine pango_layout_iter_get_layout_extents(iter, ink_rect, logical_rect)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: iter\n  type(c_ptr), value :: ink_rect\n  type(c_ptr), value :: logical_rect\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!int pango_layout_iter_get_baseline (PangoLayoutIter *iter);\nfunction pango_layout_iter_get_baseline(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_layout_iter_get_baseline\n  type(c_ptr), value :: iter\nend function\n\n! PANGO_AVAILABLE_IN_1_50\n!int pango_layout_iter_get_run_baseline (PangoLayoutIter *iter);\nfunction pango_layout_iter_get_run_baseline(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_layout_iter_get_run_baseline\n  type(c_ptr), value :: iter\nend function\n\n!--------------------------------------------------\n! /usr/include/pango-1.0/pango/pango-markup.h\n!--------------------------------------------------\n! PANGO_AVAILABLE_IN_1_32\n!GMarkupParseContext * pango_markup_parser_new (gunichar accel_marker);\nfunction pango_markup_parser_new(accel_marker) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr) :: pango_markup_parser_new\n  integer(c_int32_t), value :: accel_marker\nend function\n\n! PANGO_AVAILABLE_IN_1_32\n!gboolean pango_markup_parser_finish (GMarkupParseContext *context, PangoAttrList **attr_list, char **text, gunichar *accel_char, GError **error);\nfunction pango_markup_parser_finish(context, attr_list, text, accel_char,&\n& error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: pango_markup_parser_finish\n  type(c_ptr), value :: context\n  type(c_ptr), value :: attr_list\n  type(c_ptr), dimension(*) :: text\n  character(kind=c_char), dimension(*) :: accel_char\n  type(c_ptr), value :: error\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!gboolean pango_parse_markup (const char *markup_text, int length, gunichar accel_marker, PangoAttrList **attr_list, char **text, gunichar *accel_char, GError **error);\nfunction pango_parse_markup(markup_text, length, accel_marker, attr_list, text,&\n& accel_char, error) bind(c)\n  import :: c_int, c_char, c_int32_t, c_ptr\n  implicit none\n  integer(c_int) :: pango_parse_markup\n  character(kind=c_char), dimension(*) :: markup_text\n  integer(c_int), value :: length\n  integer(c_int32_t), value :: accel_marker\n  type(c_ptr), value :: attr_list\n  type(c_ptr), dimension(*) :: text\n  character(kind=c_char), dimension(*) :: accel_char\n  type(c_ptr), value :: error\nend function\n\n!--------------------------------------------------\n! /usr/include/pango-1.0/pango/pango-matrix.h\n!--------------------------------------------------\n! PANGO_AVAILABLE_IN_1_6\n!GType pango_matrix_get_type (void) ;\nfunction pango_matrix_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_matrix_get_type\nend function\n\n! PANGO_AVAILABLE_IN_1_6\n!PangoMatrix *pango_matrix_copy (const PangoMatrix *matrix);\nfunction pango_matrix_copy(matrix) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_matrix_copy\n  type(c_ptr), value :: matrix\nend function\n\n! PANGO_AVAILABLE_IN_1_6\n!void pango_matrix_free (PangoMatrix *matrix);\nsubroutine pango_matrix_free(matrix) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: matrix\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_6\n!void pango_matrix_translate (PangoMatrix *matrix, double tx, double ty);\nsubroutine pango_matrix_translate(matrix, tx, ty) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: matrix\n  real(c_double), value :: tx\n  real(c_double), value :: ty\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_6\n!void pango_matrix_scale (PangoMatrix *matrix, double scale_x, double scale_y);\nsubroutine pango_matrix_scale(matrix, scale_x, scale_y) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: matrix\n  real(c_double), value :: scale_x\n  real(c_double), value :: scale_y\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_6\n!void pango_matrix_rotate (PangoMatrix *matrix, double degrees);\nsubroutine pango_matrix_rotate(matrix, degrees) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: matrix\n  real(c_double), value :: degrees\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_6\n!void pango_matrix_concat (PangoMatrix *matrix, const PangoMatrix *new_matrix);\nsubroutine pango_matrix_concat(matrix, new_matrix) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: matrix\n  type(c_ptr), value :: new_matrix\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_16\n!void pango_matrix_transform_point (const PangoMatrix *matrix, double *x, double *y);\nsubroutine pango_matrix_transform_point(matrix, x, y) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: matrix\n  type(c_ptr), value :: x\n  type(c_ptr), value :: y\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_16\n!void pango_matrix_transform_distance (const PangoMatrix *matrix, double *dx, double *dy);\nsubroutine pango_matrix_transform_distance(matrix, dx, dy) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: matrix\n  type(c_ptr), value :: dx\n  type(c_ptr), value :: dy\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_16\n!void pango_matrix_transform_rectangle (const PangoMatrix *matrix, PangoRectangle *rect);\nsubroutine pango_matrix_transform_rectangle(matrix, rect) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: matrix\n  type(c_ptr), value :: rect\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_16\n!void pango_matrix_transform_pixel_rectangle (const PangoMatrix *matrix, PangoRectangle *rect);\nsubroutine pango_matrix_transform_pixel_rectangle(matrix, rect) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: matrix\n  type(c_ptr), value :: rect\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_12\n!double pango_matrix_get_font_scale_factor (const PangoMatrix *matrix) ;\nfunction pango_matrix_get_font_scale_factor(matrix) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: pango_matrix_get_font_scale_factor\n  type(c_ptr), value :: matrix\nend function\n\n! PANGO_AVAILABLE_IN_1_38\n!void pango_matrix_get_font_scale_factors (const PangoMatrix *matrix, double *xscale, double *yscale);\nsubroutine pango_matrix_get_font_scale_factors(matrix, xscale, yscale) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: matrix\n  type(c_ptr), value :: xscale\n  type(c_ptr), value :: yscale\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_50\n!double pango_matrix_get_slant_ratio (const PangoMatrix *matrix) ;\nfunction pango_matrix_get_slant_ratio(matrix) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: pango_matrix_get_slant_ratio\n  type(c_ptr), value :: matrix\nend function\n\n!--------------------------------------------------\n! /usr/include/pango-1.0/pango/pango-modules.h\n!--------------------------------------------------\n! PANGO_DEPRECATED_IN_1_38\n!PangoMap * pango_find_map (PangoLanguage *language, guint engine_type_id, guint render_type_id);\nfunction pango_find_map(language, engine_type_id, render_type_id) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_find_map\n  type(c_ptr), value :: language\n  integer(c_int), value :: engine_type_id\n  integer(c_int), value :: render_type_id\nend function\n\n! PANGO_DEPRECATED_IN_1_38\n!PangoEngine * pango_map_get_engine (PangoMap *map, PangoScript script);\nfunction pango_map_get_engine(map, script) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_map_get_engine\n  type(c_ptr), value :: map\n  integer(c_int), value :: script\nend function\n\n! PANGO_DEPRECATED_IN_1_38\n!void pango_map_get_engines (PangoMap *map, PangoScript script, GSList **exact_engines, GSList **fallback_engines);\nsubroutine pango_map_get_engines(map, script, exact_engines, fallback_engines)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: map\n  integer(c_int), value :: script\n  type(c_ptr), value :: exact_engines\n  type(c_ptr), value :: fallback_engines\nend subroutine\n\n! PANGO_DEPRECATED_IN_1_38\n!void pango_module_register (PangoIncludedModule *module);\nsubroutine pango_module_register(module) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: module\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/pango-1.0/pango/pango-ot.h\n!--------------------------------------------------\n! PANGO_DEPRECATED\n!GType pango_ot_info_get_type (void) ;\nfunction pango_ot_info_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_ot_info_get_type\nend function\n\n! PANGO_DEPRECATED\n!GType pango_ot_ruleset_get_type (void) ;\nfunction pango_ot_ruleset_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_ot_ruleset_get_type\nend function\n\n! PANGO_DEPRECATED\n!PangoOTInfo *pango_ot_info_get (FT_Face face);\nfunction pango_ot_info_get(face) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_ot_info_get\n  type(c_ptr), value :: face\nend function\n\n! PANGO_DEPRECATED\n!gboolean pango_ot_info_find_script (PangoOTInfo *info, PangoOTTableType table_type, PangoOTTag script_tag, guint *script_index);\nfunction pango_ot_info_find_script(info, table_type, script_tag, script_index)&\n& bind(c)\n  import :: c_int, c_ptr, c_int32_t\n  implicit none\n  integer(c_int) :: pango_ot_info_find_script\n  type(c_ptr), value :: info\n  integer(c_int), value :: table_type\n  integer(c_int32_t), value :: script_tag\n  type(c_ptr), value :: script_index\nend function\n\n! PANGO_DEPRECATED\n!gboolean pango_ot_info_find_language (PangoOTInfo *info, PangoOTTableType table_type, guint script_index, PangoOTTag language_tag, guint *language_index, guint *required_feature_index);\nfunction pango_ot_info_find_language(info, table_type, script_index,&\n& language_tag, language_index, required_feature_index) bind(c)\n  import :: c_int, c_ptr, c_int32_t\n  implicit none\n  integer(c_int) :: pango_ot_info_find_language\n  type(c_ptr), value :: info\n  integer(c_int), value :: table_type\n  integer(c_int), value :: script_index\n  integer(c_int32_t), value :: language_tag\n  type(c_ptr), value :: language_index\n  type(c_ptr), value :: required_feature_index\nend function\n\n! PANGO_DEPRECATED\n!gboolean pango_ot_info_find_feature (PangoOTInfo *info, PangoOTTableType table_type, PangoOTTag feature_tag, guint script_index, guint language_index, guint *feature_index);\nfunction pango_ot_info_find_feature(info, table_type, feature_tag,&\n& script_index, language_index, feature_index) bind(c)\n  import :: c_int, c_ptr, c_int32_t\n  implicit none\n  integer(c_int) :: pango_ot_info_find_feature\n  type(c_ptr), value :: info\n  integer(c_int), value :: table_type\n  integer(c_int32_t), value :: feature_tag\n  integer(c_int), value :: script_index\n  integer(c_int), value :: language_index\n  type(c_ptr), value :: feature_index\nend function\n\n! PANGO_DEPRECATED\n!PangoOTTag *pango_ot_info_list_scripts (PangoOTInfo *info, PangoOTTableType table_type);\nfunction pango_ot_info_list_scripts(info, table_type) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_ot_info_list_scripts\n  type(c_ptr), value :: info\n  integer(c_int), value :: table_type\nend function\n\n! PANGO_DEPRECATED\n!PangoOTTag *pango_ot_info_list_languages (PangoOTInfo *info, PangoOTTableType table_type, guint script_index, PangoOTTag language_tag);\nfunction pango_ot_info_list_languages(info, table_type, script_index,&\n& language_tag) bind(c)\n  import :: c_ptr, c_int, c_int32_t\n  implicit none\n  type(c_ptr) :: pango_ot_info_list_languages\n  type(c_ptr), value :: info\n  integer(c_int), value :: table_type\n  integer(c_int), value :: script_index\n  integer(c_int32_t), value :: language_tag\nend function\n\n! PANGO_DEPRECATED\n!PangoOTTag *pango_ot_info_list_features (PangoOTInfo *info, PangoOTTableType table_type, PangoOTTag tag, guint script_index, guint language_index);\nfunction pango_ot_info_list_features(info, table_type, tag, script_index,&\n& language_index) bind(c)\n  import :: c_ptr, c_int, c_int32_t\n  implicit none\n  type(c_ptr) :: pango_ot_info_list_features\n  type(c_ptr), value :: info\n  integer(c_int), value :: table_type\n  integer(c_int32_t), value :: tag\n  integer(c_int), value :: script_index\n  integer(c_int), value :: language_index\nend function\n\n! PANGO_DEPRECATED\n!GType pango_ot_buffer_get_type (void) ;\nfunction pango_ot_buffer_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_ot_buffer_get_type\nend function\n\n! PANGO_DEPRECATED\n!PangoOTBuffer *pango_ot_buffer_new (PangoFcFont *font);\nfunction pango_ot_buffer_new(font) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_ot_buffer_new\n  type(c_ptr), value :: font\nend function\n\n! PANGO_DEPRECATED\n!void pango_ot_buffer_destroy (PangoOTBuffer *buffer);\nsubroutine pango_ot_buffer_destroy(buffer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: buffer\nend subroutine\n\n! PANGO_DEPRECATED\n!void pango_ot_buffer_clear (PangoOTBuffer *buffer);\nsubroutine pango_ot_buffer_clear(buffer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: buffer\nend subroutine\n\n! PANGO_DEPRECATED\n!void pango_ot_buffer_set_rtl (PangoOTBuffer *buffer, gboolean rtl);\nsubroutine pango_ot_buffer_set_rtl(buffer, rtl) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: buffer\n  integer(c_int), value :: rtl\nend subroutine\n\n! PANGO_DEPRECATED\n!void pango_ot_buffer_add_glyph (PangoOTBuffer *buffer, guint glyph, guint properties, guint cluster);\nsubroutine pango_ot_buffer_add_glyph(buffer, glyph, properties, cluster)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: buffer\n  integer(c_int), value :: glyph\n  integer(c_int), value :: properties\n  integer(c_int), value :: cluster\nend subroutine\n\n! PANGO_DEPRECATED\n!void pango_ot_buffer_get_glyphs (const PangoOTBuffer *buffer, PangoOTGlyph **glyphs, int *n_glyphs);\nsubroutine pango_ot_buffer_get_glyphs(buffer, glyphs, n_glyphs) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: glyphs\n  type(c_ptr), value :: n_glyphs\nend subroutine\n\n! PANGO_DEPRECATED\n!void pango_ot_buffer_output (const PangoOTBuffer *buffer, PangoGlyphString *glyphs);\nsubroutine pango_ot_buffer_output(buffer, glyphs) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: buffer\n  type(c_ptr), value :: glyphs\nend subroutine\n\n! PANGO_DEPRECATED\n!void pango_ot_buffer_set_zero_width_marks (PangoOTBuffer *buffer, gboolean zero_width_marks);\nsubroutine pango_ot_buffer_set_zero_width_marks(buffer, zero_width_marks)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: buffer\n  integer(c_int), value :: zero_width_marks\nend subroutine\n\n! PANGO_DEPRECATED\n!const PangoOTRuleset *pango_ot_ruleset_get_for_description (PangoOTInfo *info, const PangoOTRulesetDescription *desc);\nfunction pango_ot_ruleset_get_for_description(info, desc) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_ot_ruleset_get_for_description\n  type(c_ptr), value :: info\n  type(c_ptr), value :: desc\nend function\n\n! PANGO_DEPRECATED\n!PangoOTRuleset *pango_ot_ruleset_new (PangoOTInfo *info);\nfunction pango_ot_ruleset_new(info) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_ot_ruleset_new\n  type(c_ptr), value :: info\nend function\n\n! PANGO_DEPRECATED\n!PangoOTRuleset *pango_ot_ruleset_new_for (PangoOTInfo *info, PangoScript script, PangoLanguage *language);\nfunction pango_ot_ruleset_new_for(info, script, language) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_ot_ruleset_new_for\n  type(c_ptr), value :: info\n  integer(c_int), value :: script\n  type(c_ptr), value :: language\nend function\n\n! PANGO_DEPRECATED\n!PangoOTRuleset *pango_ot_ruleset_new_from_description (PangoOTInfo *info, const PangoOTRulesetDescription *desc);\nfunction pango_ot_ruleset_new_from_description(info, desc) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_ot_ruleset_new_from_description\n  type(c_ptr), value :: info\n  type(c_ptr), value :: desc\nend function\n\n! PANGO_DEPRECATED\n!void pango_ot_ruleset_add_feature (PangoOTRuleset *ruleset, PangoOTTableType table_type, guint feature_index, gulong property_bit);\nsubroutine pango_ot_ruleset_add_feature(ruleset, table_type, feature_index,&\n& property_bit) bind(c)\n  import :: c_ptr, c_int, c_long\n  implicit none\n  type(c_ptr), value :: ruleset\n  integer(c_int), value :: table_type\n  integer(c_int), value :: feature_index\n  integer(c_long), value :: property_bit\nend subroutine\n\n! PANGO_DEPRECATED\n!gboolean pango_ot_ruleset_maybe_add_feature (PangoOTRuleset *ruleset, PangoOTTableType table_type, PangoOTTag feature_tag, gulong property_bit);\nfunction pango_ot_ruleset_maybe_add_feature(ruleset, table_type, feature_tag,&\n& property_bit) bind(c)\n  import :: c_int, c_ptr, c_int32_t, c_long\n  implicit none\n  integer(c_int) :: pango_ot_ruleset_maybe_add_feature\n  type(c_ptr), value :: ruleset\n  integer(c_int), value :: table_type\n  integer(c_int32_t), value :: feature_tag\n  integer(c_long), value :: property_bit\nend function\n\n! PANGO_DEPRECATED\n!guint pango_ot_ruleset_maybe_add_features (PangoOTRuleset *ruleset, PangoOTTableType table_type, const PangoOTFeatureMap *features, guint n_features);\nfunction pango_ot_ruleset_maybe_add_features(ruleset, table_type, features,&\n& n_features) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_ot_ruleset_maybe_add_features\n  type(c_ptr), value :: ruleset\n  integer(c_int), value :: table_type\n  type(c_ptr), value :: features\n  integer(c_int), value :: n_features\nend function\n\n! PANGO_DEPRECATED\n!guint pango_ot_ruleset_get_feature_count (const PangoOTRuleset *ruleset, guint *n_gsub_features, guint *n_gpos_features);\nfunction pango_ot_ruleset_get_feature_count(ruleset, n_gsub_features,&\n& n_gpos_features) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_ot_ruleset_get_feature_count\n  type(c_ptr), value :: ruleset\n  type(c_ptr), value :: n_gsub_features\n  type(c_ptr), value :: n_gpos_features\nend function\n\n! PANGO_DEPRECATED\n!void pango_ot_ruleset_substitute (const PangoOTRuleset *ruleset, PangoOTBuffer *buffer);\nsubroutine pango_ot_ruleset_substitute(ruleset, buffer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: ruleset\n  type(c_ptr), value :: buffer\nend subroutine\n\n! PANGO_DEPRECATED\n!void pango_ot_ruleset_position (const PangoOTRuleset *ruleset, PangoOTBuffer *buffer);\nsubroutine pango_ot_ruleset_position(ruleset, buffer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: ruleset\n  type(c_ptr), value :: buffer\nend subroutine\n\n! PANGO_DEPRECATED\n!PangoScript pango_ot_tag_to_script (PangoOTTag script_tag) ;\nfunction pango_ot_tag_to_script(script_tag) bind(c)\n  import :: c_int, c_int32_t\n  implicit none\n  integer(c_int) :: pango_ot_tag_to_script\n  integer(c_int32_t), value :: script_tag\nend function\n\n! PANGO_DEPRECATED\n!PangoOTTag pango_ot_tag_from_script (PangoScript script) ;\nfunction pango_ot_tag_from_script(script) bind(c)\n  import :: c_int32_t, c_int\n  implicit none\n  integer(c_int32_t) :: pango_ot_tag_from_script\n  integer(c_int), value :: script\nend function\n\n! PANGO_DEPRECATED\n!PangoLanguage *pango_ot_tag_to_language (PangoOTTag language_tag) ;\nfunction pango_ot_tag_to_language(language_tag) bind(c)\n  import :: c_ptr, c_int32_t\n  implicit none\n  type(c_ptr) :: pango_ot_tag_to_language\n  integer(c_int32_t), value :: language_tag\nend function\n\n! PANGO_DEPRECATED\n!PangoOTTag pango_ot_tag_from_language (PangoLanguage *language) ;\nfunction pango_ot_tag_from_language(language) bind(c)\n  import :: c_int32_t, c_ptr\n  implicit none\n  integer(c_int32_t) :: pango_ot_tag_from_language\n  type(c_ptr), value :: language\nend function\n\n! PANGO_DEPRECATED\n!GType pango_ot_ruleset_description_get_type (void) ;\nfunction pango_ot_ruleset_description_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_ot_ruleset_description_get_type\nend function\n\n! PANGO_DEPRECATED\n!guint pango_ot_ruleset_description_hash (const PangoOTRulesetDescription *desc) ;\nfunction pango_ot_ruleset_description_hash(desc) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_ot_ruleset_description_hash\n  type(c_ptr), value :: desc\nend function\n\n! PANGO_DEPRECATED\n!gboolean pango_ot_ruleset_description_equal (const PangoOTRulesetDescription *desc1, const PangoOTRulesetDescription *desc2) ;\nfunction pango_ot_ruleset_description_equal(desc1, desc2) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_ot_ruleset_description_equal\n  type(c_ptr), value :: desc1\n  type(c_ptr), value :: desc2\nend function\n\n! PANGO_DEPRECATED\n!PangoOTRulesetDescription *pango_ot_ruleset_description_copy (const PangoOTRulesetDescription *desc);\nfunction pango_ot_ruleset_description_copy(desc) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_ot_ruleset_description_copy\n  type(c_ptr), value :: desc\nend function\n\n! PANGO_DEPRECATED\n!void pango_ot_ruleset_description_free (PangoOTRulesetDescription *desc);\nsubroutine pango_ot_ruleset_description_free(desc) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: desc\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/pango-1.0/pango/pango-renderer.h\n!--------------------------------------------------\n! PANGO_AVAILABLE_IN_1_8\n!GType pango_renderer_get_type (void) ;\nfunction pango_renderer_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_renderer_get_type\nend function\n\n! PANGO_AVAILABLE_IN_1_8\n!void pango_renderer_draw_layout (PangoRenderer *renderer, PangoLayout *layout, int x, int y);\nsubroutine pango_renderer_draw_layout(renderer, layout, x, y) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: renderer\n  type(c_ptr), value :: layout\n  integer(c_int), value :: x\n  integer(c_int), value :: y\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_8\n!void pango_renderer_draw_layout_line (PangoRenderer *renderer, PangoLayoutLine *line, int x, int y);\nsubroutine pango_renderer_draw_layout_line(renderer, line, x, y) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: renderer\n  type(c_ptr), value :: line\n  integer(c_int), value :: x\n  integer(c_int), value :: y\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_8\n!void pango_renderer_draw_glyphs (PangoRenderer *renderer, PangoFont *font, PangoGlyphString *glyphs, int x, int y);\nsubroutine pango_renderer_draw_glyphs(renderer, font, glyphs, x, y) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: renderer\n  type(c_ptr), value :: font\n  type(c_ptr), value :: glyphs\n  integer(c_int), value :: x\n  integer(c_int), value :: y\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_22\n!void pango_renderer_draw_glyph_item (PangoRenderer *renderer, const char *text, PangoGlyphItem *glyph_item, int x, int y);\nsubroutine pango_renderer_draw_glyph_item(renderer, text, glyph_item, x, y)&\n& bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr), value :: renderer\n  character(kind=c_char), dimension(*) :: text\n  type(c_ptr), value :: glyph_item\n  integer(c_int), value :: x\n  integer(c_int), value :: y\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_8\n!void pango_renderer_draw_rectangle (PangoRenderer *renderer, PangoRenderPart part, int x, int y, int width, int height);\nsubroutine pango_renderer_draw_rectangle(renderer, part, x, y, width, height)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: renderer\n  integer(c_int), value :: part\n  integer(c_int), value :: x\n  integer(c_int), value :: y\n  integer(c_int), value :: width\n  integer(c_int), value :: height\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_8\n!void pango_renderer_draw_error_underline (PangoRenderer *renderer, int x, int y, int width, int height);\nsubroutine pango_renderer_draw_error_underline(renderer, x, y, width, height)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: renderer\n  integer(c_int), value :: x\n  integer(c_int), value :: y\n  integer(c_int), value :: width\n  integer(c_int), value :: height\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_8\n!void pango_renderer_draw_trapezoid (PangoRenderer *renderer, PangoRenderPart part, double y1_, double x11, double x21, double y2, double x12, double x22);\nsubroutine pango_renderer_draw_trapezoid(renderer, part, y1_, x11, x21, y2,&\n& x12, x22) bind(c)\n  import :: c_ptr, c_int, c_double\n  implicit none\n  type(c_ptr), value :: renderer\n  integer(c_int), value :: part\n  real(c_double), value :: y1_\n  real(c_double), value :: x11\n  real(c_double), value :: x21\n  real(c_double), value :: y2\n  real(c_double), value :: x12\n  real(c_double), value :: x22\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_8\n!void pango_renderer_draw_glyph (PangoRenderer *renderer, PangoFont *font, PangoGlyph glyph, double x, double y);\nsubroutine pango_renderer_draw_glyph(renderer, font, glyph, x, y) bind(c)\n  import :: c_ptr, c_int32_t, c_double\n  implicit none\n  type(c_ptr), value :: renderer\n  type(c_ptr), value :: font\n  integer(c_int32_t), value :: glyph\n  real(c_double), value :: x\n  real(c_double), value :: y\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_8\n!void pango_renderer_activate (PangoRenderer *renderer);\nsubroutine pango_renderer_activate(renderer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: renderer\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_8\n!void pango_renderer_deactivate (PangoRenderer *renderer);\nsubroutine pango_renderer_deactivate(renderer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: renderer\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_8\n!void pango_renderer_part_changed (PangoRenderer *renderer, PangoRenderPart part);\nsubroutine pango_renderer_part_changed(renderer, part) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: renderer\n  integer(c_int), value :: part\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_8\n!void pango_renderer_set_color (PangoRenderer *renderer, PangoRenderPart part, const PangoColor *color);\nsubroutine pango_renderer_set_color(renderer, part, color) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: renderer\n  integer(c_int), value :: part\n  type(c_ptr), value :: color\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_8\n!PangoColor *pango_renderer_get_color (PangoRenderer *renderer, PangoRenderPart part);\nfunction pango_renderer_get_color(renderer, part) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_renderer_get_color\n  type(c_ptr), value :: renderer\n  integer(c_int), value :: part\nend function\n\n! PANGO_AVAILABLE_IN_1_38\n!void pango_renderer_set_alpha (PangoRenderer *renderer, PangoRenderPart part, guint16 alpha);\nsubroutine pango_renderer_set_alpha(renderer, part, alpha) bind(c)\n  import :: c_ptr, c_int, c_int16_t\n  implicit none\n  type(c_ptr), value :: renderer\n  integer(c_int), value :: part\n  integer(c_int16_t), value :: alpha\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_38\n!guint16 pango_renderer_get_alpha (PangoRenderer *renderer, PangoRenderPart part);\nfunction pango_renderer_get_alpha(renderer, part) bind(c)\n  import :: c_int16_t, c_ptr, c_int\n  implicit none\n  integer(c_int16_t) :: pango_renderer_get_alpha\n  type(c_ptr), value :: renderer\n  integer(c_int), value :: part\nend function\n\n! PANGO_AVAILABLE_IN_1_8\n!void pango_renderer_set_matrix (PangoRenderer *renderer, const PangoMatrix *matrix);\nsubroutine pango_renderer_set_matrix(renderer, matrix) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: renderer\n  type(c_ptr), value :: matrix\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_8\n!const PangoMatrix *pango_renderer_get_matrix (PangoRenderer *renderer);\nfunction pango_renderer_get_matrix(renderer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_renderer_get_matrix\n  type(c_ptr), value :: renderer\nend function\n\n! PANGO_AVAILABLE_IN_1_20\n!PangoLayout *pango_renderer_get_layout (PangoRenderer *renderer);\nfunction pango_renderer_get_layout(renderer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_renderer_get_layout\n  type(c_ptr), value :: renderer\nend function\n\n! PANGO_AVAILABLE_IN_1_20\n!PangoLayoutLine *pango_renderer_get_layout_line (PangoRenderer *renderer);\nfunction pango_renderer_get_layout_line(renderer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_renderer_get_layout_line\n  type(c_ptr), value :: renderer\nend function\n\n!--------------------------------------------------\n! /usr/include/pango-1.0/pango/pango-script.h\n!--------------------------------------------------\n! PANGO_DEPRECATED_IN_1_44_FOR(g_unichar_get_script)\n!PangoScript pango_script_for_unichar (gunichar ch) ;\nfunction pango_script_for_unichar(ch) bind(c)\n  import :: c_int, c_int32_t\n  implicit none\n  integer(c_int) :: pango_script_for_unichar\n  integer(c_int32_t), value :: ch\nend function\n\n! PANGO_AVAILABLE_IN_1_44\n!GType pango_script_iter_get_type (void) ;\nfunction pango_script_iter_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_script_iter_get_type\nend function\n\n! PANGO_AVAILABLE_IN_1_4\n!PangoScriptIter *pango_script_iter_new (const char *text, int length);\nfunction pango_script_iter_new(text, length) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: pango_script_iter_new\n  character(kind=c_char), dimension(*) :: text\n  integer(c_int), value :: length\nend function\n\n! PANGO_AVAILABLE_IN_1_4\n!void pango_script_iter_get_range (PangoScriptIter *iter, const char **start, const char **end, PangoScript *script);\nsubroutine pango_script_iter_get_range(iter, start, end, script) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: iter\n  type(c_ptr), dimension(*) :: start\n  type(c_ptr), dimension(*) :: end\n  type(c_ptr), value :: script\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_4\n!gboolean pango_script_iter_next (PangoScriptIter *iter);\nfunction pango_script_iter_next(iter) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_script_iter_next\n  type(c_ptr), value :: iter\nend function\n\n! PANGO_AVAILABLE_IN_1_4\n!void pango_script_iter_free (PangoScriptIter *iter);\nsubroutine pango_script_iter_free(iter) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: iter\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_4\n!PangoLanguage *pango_script_get_sample_language (PangoScript script) ;\nfunction pango_script_get_sample_language(script) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_script_get_sample_language\n  integer(c_int), value :: script\nend function\n\n!--------------------------------------------------\n! /usr/include/pango-1.0/pango/pango-tabs.h\n!--------------------------------------------------\n! PANGO_AVAILABLE_IN_ALL\n!PangoTabArray *pango_tab_array_new (gint initial_size, gboolean positions_in_pixels);\nfunction pango_tab_array_new(initial_size, positions_in_pixels) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_tab_array_new\n  integer(c_int), value :: initial_size\n  integer(c_int), value :: positions_in_pixels\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_tab_array_get_type (void) ;\nfunction pango_tab_array_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_tab_array_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoTabArray *pango_tab_array_copy (PangoTabArray *src);\nfunction pango_tab_array_copy(src) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_tab_array_copy\n  type(c_ptr), value :: src\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_tab_array_free (PangoTabArray *tab_array);\nsubroutine pango_tab_array_free(tab_array) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tab_array\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!gint pango_tab_array_get_size (PangoTabArray *tab_array);\nfunction pango_tab_array_get_size(tab_array) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_tab_array_get_size\n  type(c_ptr), value :: tab_array\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_tab_array_resize (PangoTabArray *tab_array, gint new_size);\nsubroutine pango_tab_array_resize(tab_array, new_size) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tab_array\n  integer(c_int), value :: new_size\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_tab_array_set_tab (PangoTabArray *tab_array, gint tab_index, PangoTabAlign alignment, gint location);\nsubroutine pango_tab_array_set_tab(tab_array, tab_index, alignment, location)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tab_array\n  integer(c_int), value :: tab_index\n  integer(c_int), value :: alignment\n  integer(c_int), value :: location\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_tab_array_get_tab (PangoTabArray *tab_array, gint tab_index, PangoTabAlign *alignment, gint *location);\nsubroutine pango_tab_array_get_tab(tab_array, tab_index, alignment, location)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tab_array\n  integer(c_int), value :: tab_index\n  type(c_ptr), value :: alignment\n  type(c_ptr), value :: location\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_tab_array_get_tabs (PangoTabArray *tab_array, PangoTabAlign **alignments, gint **locations);\nsubroutine pango_tab_array_get_tabs(tab_array, alignments, locations) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tab_array\n  type(c_ptr), value :: alignments\n  type(c_ptr), value :: locations\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!gboolean pango_tab_array_get_positions_in_pixels (PangoTabArray *tab_array);\nfunction pango_tab_array_get_positions_in_pixels(tab_array) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_tab_array_get_positions_in_pixels\n  type(c_ptr), value :: tab_array\nend function\n\n! PANGO_AVAILABLE_IN_1_50\n!void pango_tab_array_set_positions_in_pixels (PangoTabArray *tab_array, gboolean positions_in_pixels);\nsubroutine pango_tab_array_set_positions_in_pixels(tab_array,&\n& positions_in_pixels) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: tab_array\n  integer(c_int), value :: positions_in_pixels\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_50\n!char * pango_tab_array_to_string (PangoTabArray *tab_array);\nfunction pango_tab_array_to_string(tab_array) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_tab_array_to_string\n  type(c_ptr), value :: tab_array\nend function\n\n! PANGO_AVAILABLE_IN_1_50\n!PangoTabArray * pango_tab_array_from_string (const char *text);\nfunction pango_tab_array_from_string(text) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: pango_tab_array_from_string\n  character(kind=c_char), dimension(*) :: text\nend function\n\n! PANGO_AVAILABLE_IN_1_50\n!void pango_tab_array_set_decimal_point (PangoTabArray *tab_array, int tab_index, gunichar decimal_point);\nsubroutine pango_tab_array_set_decimal_point(tab_array, tab_index,&\n& decimal_point) bind(c)\n  import :: c_ptr, c_int, c_int32_t\n  implicit none\n  type(c_ptr), value :: tab_array\n  integer(c_int), value :: tab_index\n  integer(c_int32_t), value :: decimal_point\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_50\n!gunichar pango_tab_array_get_decimal_point (PangoTabArray *tab_array, int tab_index);\nfunction pango_tab_array_get_decimal_point(tab_array, tab_index) bind(c)\n  import :: c_int32_t, c_ptr, c_int\n  implicit none\n  integer(c_int32_t) :: pango_tab_array_get_decimal_point\n  type(c_ptr), value :: tab_array\n  integer(c_int), value :: tab_index\nend function\n\n! PANGO_AVAILABLE_IN_1_50\n!void pango_tab_array_sort (PangoTabArray *tab_array);\nsubroutine pango_tab_array_sort(tab_array) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: tab_array\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/pango-1.0/pango/pango-types.h\n!--------------------------------------------------\n! PANGO_AVAILABLE_IN_1_16\n!int pango_units_from_double (double d) ;\nfunction pango_units_from_double(d) bind(c)\n  import :: c_int, c_double\n  implicit none\n  integer(c_int) :: pango_units_from_double\n  real(c_double), value :: d\nend function\n\n! PANGO_AVAILABLE_IN_1_16\n!double pango_units_to_double (int i) ;\nfunction pango_units_to_double(i) bind(c)\n  import :: c_double, c_int\n  implicit none\n  real(c_double) :: pango_units_to_double\n  integer(c_int), value :: i\nend function\n\n! PANGO_AVAILABLE_IN_1_16\n!void pango_extents_to_pixels (PangoRectangle *inclusive, PangoRectangle *nearest);\nsubroutine pango_extents_to_pixels(inclusive, nearest) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: inclusive\n  type(c_ptr), value :: nearest\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/pango-1.0/pango/pango-utils.h\n!--------------------------------------------------\n! PANGO_DEPRECATED\n!char ** pango_split_file_list (const char *str);\nfunction pango_split_file_list(str) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: pango_split_file_list\n  character(kind=c_char), dimension(*) :: str\nend function\n\n! PANGO_DEPRECATED\n!char *pango_trim_string (const char *str);\nfunction pango_trim_string(str) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: pango_trim_string\n  character(kind=c_char), dimension(*) :: str\nend function\n\n! PANGO_DEPRECATED\n!gint pango_read_line (FILE *stream, GString *str);\nfunction pango_read_line(stream, str) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_read_line\n  type(c_ptr), value :: stream\n  type(c_ptr), value :: str\nend function\n\n! PANGO_DEPRECATED\n!gboolean pango_skip_space (const char **pos);\nfunction pango_skip_space(pos) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_skip_space\n  type(c_ptr), dimension(*) :: pos\nend function\n\n! PANGO_DEPRECATED\n!gboolean pango_scan_word (const char **pos, GString *out);\nfunction pango_scan_word(pos, out) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_scan_word\n  type(c_ptr), dimension(*) :: pos\n  type(c_ptr), value :: out\nend function\n\n! PANGO_DEPRECATED\n!gboolean pango_scan_string (const char **pos, GString *out);\nfunction pango_scan_string(pos, out) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_scan_string\n  type(c_ptr), dimension(*) :: pos\n  type(c_ptr), value :: out\nend function\n\n! PANGO_DEPRECATED\n!gboolean pango_scan_int (const char **pos, int *out);\nfunction pango_scan_int(pos, out) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_scan_int\n  type(c_ptr), dimension(*) :: pos\n  type(c_ptr), value :: out\nend function\n\n! PANGO_DEPRECATED\n!gboolean pango_parse_enum (GType type, const char *str, int *value, gboolean warn, char **possible_values);\nfunction pango_parse_enum(type, str, value, warn, possible_values) bind(c)\n  import :: c_int, c_size_t, c_char, c_ptr\n  implicit none\n  integer(c_int) :: pango_parse_enum\n  integer(c_size_t), value :: type\n  character(kind=c_char), dimension(*) :: str\n  type(c_ptr), value :: value\n  integer(c_int), value :: warn\n  type(c_ptr), dimension(*) :: possible_values\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!gboolean pango_parse_style (const char *str, PangoStyle *style, gboolean warn);\nfunction pango_parse_style(str, style, warn) bind(c)\n  import :: c_int, c_char, c_ptr\n  implicit none\n  integer(c_int) :: pango_parse_style\n  character(kind=c_char), dimension(*) :: str\n  type(c_ptr), value :: style\n  integer(c_int), value :: warn\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!gboolean pango_parse_variant (const char *str, PangoVariant *variant, gboolean warn);\nfunction pango_parse_variant(str, variant, warn) bind(c)\n  import :: c_int, c_char, c_ptr\n  implicit none\n  integer(c_int) :: pango_parse_variant\n  character(kind=c_char), dimension(*) :: str\n  type(c_ptr), value :: variant\n  integer(c_int), value :: warn\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!gboolean pango_parse_weight (const char *str, PangoWeight *weight, gboolean warn);\nfunction pango_parse_weight(str, weight, warn) bind(c)\n  import :: c_int, c_char, c_ptr\n  implicit none\n  integer(c_int) :: pango_parse_weight\n  character(kind=c_char), dimension(*) :: str\n  type(c_ptr), value :: weight\n  integer(c_int), value :: warn\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!gboolean pango_parse_stretch (const char *str, PangoStretch *stretch, gboolean warn);\nfunction pango_parse_stretch(str, stretch, warn) bind(c)\n  import :: c_int, c_char, c_ptr\n  implicit none\n  integer(c_int) :: pango_parse_stretch\n  character(kind=c_char), dimension(*) :: str\n  type(c_ptr), value :: stretch\n  integer(c_int), value :: warn\nend function\n\n! PANGO_AVAILABLE_IN_1_12\n!void pango_quantize_line_geometry (int *thickness, int *position);\nsubroutine pango_quantize_line_geometry(thickness, position) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: thickness\n  type(c_ptr), value :: position\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_4\n!guint8 * pango_log2vis_get_embedding_levels (const gchar *text, int length, PangoDirection *pbase_dir);\nfunction pango_log2vis_get_embedding_levels(text, length, pbase_dir) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: pango_log2vis_get_embedding_levels\n  character(kind=c_char), dimension(*) :: text\n  integer(c_int), value :: length\n  type(c_ptr), value :: pbase_dir\nend function\n\n! PANGO_AVAILABLE_IN_1_10\n!gboolean pango_is_zero_width (gunichar ch) ;\nfunction pango_is_zero_width(ch) bind(c)\n  import :: c_int, c_int32_t\n  implicit none\n  integer(c_int) :: pango_is_zero_width\n  integer(c_int32_t), value :: ch\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_find_paragraph_boundary (const char *text, int length, int *paragraph_delimiter_index, int *next_paragraph_start);\nsubroutine pango_find_paragraph_boundary(text, length,&\n& paragraph_delimiter_index, next_paragraph_start) bind(c)\n  import :: c_char, c_int, c_ptr\n  implicit none\n  character(kind=c_char), dimension(*) :: text\n  integer(c_int), value :: length\n  type(c_ptr), value :: paragraph_delimiter_index\n  type(c_ptr), value :: next_paragraph_start\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_16\n!int pango_version (void) ;\nfunction pango_version() bind(c)\n  import :: c_int\n  implicit none\n  integer(c_int) :: pango_version\nend function\n\n! PANGO_AVAILABLE_IN_1_16\n!const char * pango_version_string (void) ;\nfunction pango_version_string() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_version_string\nend function\n\n! PANGO_AVAILABLE_IN_1_16\n!const char * pango_version_check (int required_major, int required_minor, int required_micro) ;\nfunction pango_version_check(required_major, required_minor, required_micro)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_version_check\n  integer(c_int), value :: required_major\n  integer(c_int), value :: required_minor\n  integer(c_int), value :: required_micro\nend function\n\n!--------------------------------------------------\n! /usr/include/pango-1.0/pango/pango-version-macros.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/pango-1.0/pango/pango.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/pango-1.0/pango/pangocairo.h\n!--------------------------------------------------\n! PANGO_AVAILABLE_IN_1_10\n!GType pango_cairo_font_map_get_type (void) ;\nfunction pango_cairo_font_map_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_cairo_font_map_get_type\nend function\n\n! PANGO_AVAILABLE_IN_1_10\n!PangoFontMap *pango_cairo_font_map_new (void);\nfunction pango_cairo_font_map_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_cairo_font_map_new\nend function\n\n! PANGO_AVAILABLE_IN_1_18\n!PangoFontMap *pango_cairo_font_map_new_for_font_type (cairo_font_type_t fonttype);\nfunction pango_cairo_font_map_new_for_font_type(fonttype) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_cairo_font_map_new_for_font_type\n  integer(c_int), value :: fonttype\nend function\n\n! PANGO_AVAILABLE_IN_1_10\n!PangoFontMap *pango_cairo_font_map_get_default (void);\nfunction pango_cairo_font_map_get_default() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_cairo_font_map_get_default\nend function\n\n! PANGO_AVAILABLE_IN_1_22\n!void pango_cairo_font_map_set_default (PangoCairoFontMap *fontmap);\nsubroutine pango_cairo_font_map_set_default(fontmap) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: fontmap\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_18\n!cairo_font_type_t pango_cairo_font_map_get_font_type (PangoCairoFontMap *fontmap);\nfunction pango_cairo_font_map_get_font_type(fontmap) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: pango_cairo_font_map_get_font_type\n  type(c_ptr), value :: fontmap\nend function\n\n! PANGO_AVAILABLE_IN_1_10\n!void pango_cairo_font_map_set_resolution (PangoCairoFontMap *fontmap, double dpi);\nsubroutine pango_cairo_font_map_set_resolution(fontmap, dpi) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: fontmap\n  real(c_double), value :: dpi\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_10\n!double pango_cairo_font_map_get_resolution (PangoCairoFontMap *fontmap);\nfunction pango_cairo_font_map_get_resolution(fontmap) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: pango_cairo_font_map_get_resolution\n  type(c_ptr), value :: fontmap\nend function\n\n! PANGO_DEPRECATED_IN_1_22_FOR(pango_font_map_create_context)\n!PangoContext *pango_cairo_font_map_create_context (PangoCairoFontMap *fontmap);\nfunction pango_cairo_font_map_create_context(fontmap) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_cairo_font_map_create_context\n  type(c_ptr), value :: fontmap\nend function\n\n! PANGO_AVAILABLE_IN_1_18\n!GType pango_cairo_font_get_type (void) ;\nfunction pango_cairo_font_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_cairo_font_get_type\nend function\n\n! PANGO_AVAILABLE_IN_1_18\n!cairo_scaled_font_t *pango_cairo_font_get_scaled_font (PangoCairoFont *font);\nfunction pango_cairo_font_get_scaled_font(font) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_cairo_font_get_scaled_font\n  type(c_ptr), value :: font\nend function\n\n! PANGO_AVAILABLE_IN_1_10\n!void pango_cairo_update_context (cairo_t *cr, PangoContext *context);\nsubroutine pango_cairo_update_context(cr, context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: context\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_10\n!void pango_cairo_context_set_font_options (PangoContext *context, const cairo_font_options_t *options);\nsubroutine pango_cairo_context_set_font_options(context, options) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: context\n  type(c_ptr), value :: options\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_10\n!const cairo_font_options_t *pango_cairo_context_get_font_options (PangoContext *context);\nfunction pango_cairo_context_get_font_options(context) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_cairo_context_get_font_options\n  type(c_ptr), value :: context\nend function\n\n! PANGO_AVAILABLE_IN_1_10\n!void pango_cairo_context_set_resolution (PangoContext *context, double dpi);\nsubroutine pango_cairo_context_set_resolution(context, dpi) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: context\n  real(c_double), value :: dpi\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_10\n!double pango_cairo_context_get_resolution (PangoContext *context);\nfunction pango_cairo_context_get_resolution(context) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: pango_cairo_context_get_resolution\n  type(c_ptr), value :: context\nend function\n\n! PANGO_AVAILABLE_IN_1_18\n!void pango_cairo_context_set_shape_renderer (PangoContext *context, PangoCairoShapeRendererFunc func, gpointer data, GDestroyNotify dnotify);\nsubroutine pango_cairo_context_set_shape_renderer(context, func, data, dnotify)&\n& bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: context\n  type(c_funptr), value :: func\n  type(c_ptr), value :: data\n  type(c_funptr), value :: dnotify\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_18\n!PangoCairoShapeRendererFunc pango_cairo_context_get_shape_renderer (PangoContext *context, gpointer *data);\nfunction pango_cairo_context_get_shape_renderer(context, data) bind(c)\n  import :: c_funptr, c_ptr\n  implicit none\n  type(c_funptr) :: pango_cairo_context_get_shape_renderer\n  type(c_ptr), value :: context\n  type(c_ptr), value :: data\nend function\n\n! PANGO_AVAILABLE_IN_1_22\n!PangoContext *pango_cairo_create_context (cairo_t *cr);\nfunction pango_cairo_create_context(cr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_cairo_create_context\n  type(c_ptr), value :: cr\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!PangoLayout *pango_cairo_create_layout (cairo_t *cr);\nfunction pango_cairo_create_layout(cr) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_cairo_create_layout\n  type(c_ptr), value :: cr\nend function\n\n! PANGO_AVAILABLE_IN_1_10\n!void pango_cairo_update_layout (cairo_t *cr, PangoLayout *layout);\nsubroutine pango_cairo_update_layout(cr, layout) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: layout\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_10\n!void pango_cairo_show_glyph_string (cairo_t *cr, PangoFont *font, PangoGlyphString *glyphs);\nsubroutine pango_cairo_show_glyph_string(cr, font, glyphs) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: font\n  type(c_ptr), value :: glyphs\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_22\n!void pango_cairo_show_glyph_item (cairo_t *cr, const char *text, PangoGlyphItem *glyph_item);\nsubroutine pango_cairo_show_glyph_item(cr, text, glyph_item) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr), value :: cr\n  character(kind=c_char), dimension(*) :: text\n  type(c_ptr), value :: glyph_item\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_10\n!void pango_cairo_show_layout_line (cairo_t *cr, PangoLayoutLine *line);\nsubroutine pango_cairo_show_layout_line(cr, line) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: line\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_10\n!void pango_cairo_show_layout (cairo_t *cr, PangoLayout *layout);\nsubroutine pango_cairo_show_layout(cr, layout) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: layout\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_14\n!void pango_cairo_show_error_underline (cairo_t *cr, double x, double y, double width, double height);\nsubroutine pango_cairo_show_error_underline(cr, x, y, width, height) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: cr\n  real(c_double), value :: x\n  real(c_double), value :: y\n  real(c_double), value :: width\n  real(c_double), value :: height\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_10\n!void pango_cairo_glyph_string_path (cairo_t *cr, PangoFont *font, PangoGlyphString *glyphs);\nsubroutine pango_cairo_glyph_string_path(cr, font, glyphs) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: font\n  type(c_ptr), value :: glyphs\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_10\n!void pango_cairo_layout_line_path (cairo_t *cr, PangoLayoutLine *line);\nsubroutine pango_cairo_layout_line_path(cr, line) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: line\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_10\n!void pango_cairo_layout_path (cairo_t *cr, PangoLayout *layout);\nsubroutine pango_cairo_layout_path(cr, layout) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: cr\n  type(c_ptr), value :: layout\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_14\n!void pango_cairo_error_underline_path (cairo_t *cr, double x, double y, double width, double height);\nsubroutine pango_cairo_error_underline_path(cr, x, y, width, height) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: cr\n  real(c_double), value :: x\n  real(c_double), value :: y\n  real(c_double), value :: width\n  real(c_double), value :: height\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/pango-1.0/pango/pangofc-decoder.h\n!--------------------------------------------------\n! PANGO_AVAILABLE_IN_1_6\n!GType pango_fc_decoder_get_type (void) ;\nfunction pango_fc_decoder_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_fc_decoder_get_type\nend function\n\n! PANGO_AVAILABLE_IN_1_6\n!FcCharSet *pango_fc_decoder_get_charset (PangoFcDecoder *decoder, PangoFcFont *fcfont);\nfunction pango_fc_decoder_get_charset(decoder, fcfont) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_fc_decoder_get_charset\n  type(c_ptr), value :: decoder\n  type(c_ptr), value :: fcfont\nend function\n\n! PANGO_AVAILABLE_IN_1_6\n!PangoGlyph pango_fc_decoder_get_glyph (PangoFcDecoder *decoder, PangoFcFont *fcfont, guint32 wc);\nfunction pango_fc_decoder_get_glyph(decoder, fcfont, wc) bind(c)\n  import :: c_int32_t, c_ptr\n  implicit none\n  integer(c_int32_t) :: pango_fc_decoder_get_glyph\n  type(c_ptr), value :: decoder\n  type(c_ptr), value :: fcfont\n  integer(c_int32_t), value :: wc\nend function\n\n!--------------------------------------------------\n! /usr/include/pango-1.0/pango/pangofc-font.h\n!--------------------------------------------------\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_fc_font_get_type (void) ;\nfunction pango_fc_font_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_fc_font_get_type\nend function\n\n! PANGO_DEPRECATED_IN_1_44\n!gboolean pango_fc_font_has_char (PangoFcFont *font, gunichar wc);\nfunction pango_fc_font_has_char(font, wc) bind(c)\n  import :: c_int, c_ptr, c_int32_t\n  implicit none\n  integer(c_int) :: pango_fc_font_has_char\n  type(c_ptr), value :: font\n  integer(c_int32_t), value :: wc\nend function\n\n! PANGO_AVAILABLE_IN_1_4\n!guint pango_fc_font_get_glyph (PangoFcFont *font, gunichar wc);\nfunction pango_fc_font_get_glyph(font, wc) bind(c)\n  import :: c_int, c_ptr, c_int32_t\n  implicit none\n  integer(c_int) :: pango_fc_font_get_glyph\n  type(c_ptr), value :: font\n  integer(c_int32_t), value :: wc\nend function\n\n! \n!PangoLanguage ** pango_fc_font_get_languages (PangoFcFont *font);\nfunction pango_fc_font_get_languages(font) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_fc_font_get_languages\n  type(c_ptr), value :: font\nend function\n\n! PANGO_AVAILABLE_IN_1_48\n!FcPattern *pango_fc_font_get_pattern (PangoFcFont *font);\nfunction pango_fc_font_get_pattern(font) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_fc_font_get_pattern\n  type(c_ptr), value :: font\nend function\n\n! PANGO_DEPRECATED_FOR(PANGO_GET_UNKNOWN_GLYPH)\n!PangoGlyph pango_fc_font_get_unknown_glyph (PangoFcFont *font, gunichar wc);\nfunction pango_fc_font_get_unknown_glyph(font, wc) bind(c)\n  import :: c_int32_t, c_ptr\n  implicit none\n  integer(c_int32_t) :: pango_fc_font_get_unknown_glyph\n  type(c_ptr), value :: font\n  integer(c_int32_t), value :: wc\nend function\n\n! PANGO_DEPRECATED_IN_1_32\n!void pango_fc_font_kern_glyphs (PangoFcFont *font, PangoGlyphString *glyphs);\nsubroutine pango_fc_font_kern_glyphs(font, glyphs) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: font\n  type(c_ptr), value :: glyphs\nend subroutine\n\n! PANGO_DEPRECATED_IN_1_44_FOR(pango_font_get_hb_font)\n!FT_Face pango_fc_font_lock_face (PangoFcFont *font);\nfunction pango_fc_font_lock_face(font) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_fc_font_lock_face\n  type(c_ptr), value :: font\nend function\n\n! PANGO_DEPRECATED_IN_1_44_FOR(pango_font_get_hb_font)\n!void pango_fc_font_unlock_face (PangoFcFont *font);\nsubroutine pango_fc_font_unlock_face(font) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: font\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/pango-1.0/pango/pangofc-fontmap.h\n!--------------------------------------------------\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_fc_font_map_get_type (void) ;\nfunction pango_fc_font_map_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_fc_font_map_get_type\nend function\n\n! PANGO_AVAILABLE_IN_1_4\n!void pango_fc_font_map_cache_clear (PangoFcFontMap *fcfontmap);\nsubroutine pango_fc_font_map_cache_clear(fcfontmap) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: fcfontmap\nend subroutine\n\n! \n!void pango_fc_font_map_config_changed (PangoFcFontMap *fcfontmap);\nsubroutine pango_fc_font_map_config_changed(fcfontmap) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: fcfontmap\nend subroutine\n\n! \n!void pango_fc_font_map_set_config (PangoFcFontMap *fcfontmap, FcConfig *fcconfig);\nsubroutine pango_fc_font_map_set_config(fcfontmap, fcconfig) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: fcfontmap\n  type(c_ptr), value :: fcconfig\nend subroutine\n\n! \n!FcConfig * pango_fc_font_map_get_config (PangoFcFontMap *fcfontmap);\nfunction pango_fc_font_map_get_config(fcfontmap) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_fc_font_map_get_config\n  type(c_ptr), value :: fcfontmap\nend function\n\n! PANGO_AVAILABLE_IN_1_6\n!void pango_fc_font_map_add_decoder_find_func (PangoFcFontMap *fcfontmap, PangoFcDecoderFindFunc findfunc, gpointer user_data, GDestroyNotify dnotify);\nsubroutine pango_fc_font_map_add_decoder_find_func(fcfontmap, findfunc,&\n& user_data, dnotify) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: fcfontmap\n  type(c_funptr), value :: findfunc\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: dnotify\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_26\n!PangoFcDecoder *pango_fc_font_map_find_decoder (PangoFcFontMap *fcfontmap, FcPattern *pattern);\nfunction pango_fc_font_map_find_decoder(fcfontmap, pattern) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_fc_font_map_find_decoder\n  type(c_ptr), value :: fcfontmap\n  type(c_ptr), value :: pattern\nend function\n\n! PANGO_AVAILABLE_IN_1_4\n!PangoFontDescription *pango_fc_font_description_from_pattern (FcPattern *pattern, gboolean include_size);\nfunction pango_fc_font_description_from_pattern(pattern, include_size) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_fc_font_description_from_pattern\n  type(c_ptr), value :: pattern\n  integer(c_int), value :: include_size\nend function\n\n! PANGO_DEPRECATED_IN_1_22_FOR(pango_font_map_create_context)\n!PangoContext * pango_fc_font_map_create_context (PangoFcFontMap *fcfontmap);\nfunction pango_fc_font_map_create_context(fcfontmap) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_fc_font_map_create_context\n  type(c_ptr), value :: fcfontmap\nend function\n\n! PANGO_AVAILABLE_IN_1_4\n!void pango_fc_font_map_shutdown (PangoFcFontMap *fcfontmap);\nsubroutine pango_fc_font_map_shutdown(fcfontmap) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: fcfontmap\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_44\n!hb_face_t * pango_fc_font_map_get_hb_face (PangoFcFontMap *fcfontmap, PangoFcFont *fcfont);\nfunction pango_fc_font_map_get_hb_face(fcfontmap, fcfont) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_fc_font_map_get_hb_face\n  type(c_ptr), value :: fcfontmap\n  type(c_ptr), value :: fcfont\nend function\n\n! PANGO_AVAILABLE_IN_1_48\n!void pango_fc_font_map_set_default_substitute (PangoFcFontMap *fontmap, PangoFcSubstituteFunc func, gpointer data, GDestroyNotify notify);\nsubroutine pango_fc_font_map_set_default_substitute(fontmap, func, data,&\n& notify) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: fontmap\n  type(c_funptr), value :: func\n  type(c_ptr), value :: data\n  type(c_funptr), value :: notify\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_48\n!void pango_fc_font_map_substitute_changed (PangoFcFontMap *fontmap);\nsubroutine pango_fc_font_map_substitute_changed(fontmap) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: fontmap\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/pango-1.0/pango/pangoft2.h\n!--------------------------------------------------\n! PANGO_AVAILABLE_IN_ALL\n!void pango_ft2_render (FT_Bitmap *bitmap, PangoFont *font, PangoGlyphString *glyphs, gint x, gint y);\nsubroutine pango_ft2_render(bitmap, font, glyphs, x, y) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: bitmap\n  type(c_ptr), value :: font\n  type(c_ptr), value :: glyphs\n  integer(c_int), value :: x\n  integer(c_int), value :: y\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_6\n!void pango_ft2_render_transformed (FT_Bitmap *bitmap, const PangoMatrix *matrix, PangoFont *font, PangoGlyphString *glyphs, int x, int y);\nsubroutine pango_ft2_render_transformed(bitmap, matrix, font, glyphs, x, y)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: bitmap\n  type(c_ptr), value :: matrix\n  type(c_ptr), value :: font\n  type(c_ptr), value :: glyphs\n  integer(c_int), value :: x\n  integer(c_int), value :: y\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_ft2_render_layout_line (FT_Bitmap *bitmap, PangoLayoutLine *line, int x, int y);\nsubroutine pango_ft2_render_layout_line(bitmap, line, x, y) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: bitmap\n  type(c_ptr), value :: line\n  integer(c_int), value :: x\n  integer(c_int), value :: y\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_6\n!void pango_ft2_render_layout_line_subpixel (FT_Bitmap *bitmap, PangoLayoutLine *line, int x, int y);\nsubroutine pango_ft2_render_layout_line_subpixel(bitmap, line, x, y) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: bitmap\n  type(c_ptr), value :: line\n  integer(c_int), value :: x\n  integer(c_int), value :: y\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_ft2_render_layout (FT_Bitmap *bitmap, PangoLayout *layout, int x, int y);\nsubroutine pango_ft2_render_layout(bitmap, layout, x, y) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: bitmap\n  type(c_ptr), value :: layout\n  integer(c_int), value :: x\n  integer(c_int), value :: y\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_6\n!void pango_ft2_render_layout_subpixel (FT_Bitmap *bitmap, PangoLayout *layout, int x, int y);\nsubroutine pango_ft2_render_layout_subpixel(bitmap, layout, x, y) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: bitmap\n  type(c_ptr), value :: layout\n  integer(c_int), value :: x\n  integer(c_int), value :: y\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_ft2_font_map_get_type (void) ;\nfunction pango_ft2_font_map_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_ft2_font_map_get_type\nend function\n\n! PANGO_AVAILABLE_IN_1_2\n!PangoFontMap *pango_ft2_font_map_new (void);\nfunction pango_ft2_font_map_new() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_ft2_font_map_new\nend function\n\n! PANGO_AVAILABLE_IN_1_2\n!void pango_ft2_font_map_set_resolution (PangoFT2FontMap *fontmap, double dpi_x, double dpi_y);\nsubroutine pango_ft2_font_map_set_resolution(fontmap, dpi_x, dpi_y) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: fontmap\n  real(c_double), value :: dpi_x\n  real(c_double), value :: dpi_y\nend subroutine\n\n! PANGO_DEPRECATED_IN_1_48_FOR(pango_fc_font_map_set_default_substitute)\n!void pango_ft2_font_map_set_default_substitute (PangoFT2FontMap *fontmap, PangoFT2SubstituteFunc func, gpointer data, GDestroyNotify notify);\nsubroutine pango_ft2_font_map_set_default_substitute(fontmap, func, data,&\n& notify) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: fontmap\n  type(c_funptr), value :: func\n  type(c_ptr), value :: data\n  type(c_funptr), value :: notify\nend subroutine\n\n! PANGO_DEPRECATED_IN_1_48_FOR(pango_fc_font_map_substitute_changed)\n!void pango_ft2_font_map_substitute_changed (PangoFT2FontMap *fontmap);\nsubroutine pango_ft2_font_map_substitute_changed(fontmap) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: fontmap\nend subroutine\n\n! PANGO_DEPRECATED_IN_1_22_FOR(pango_font_map_create_context)\n!PangoContext *pango_ft2_font_map_create_context (PangoFT2FontMap *fontmap);\nfunction pango_ft2_font_map_create_context(fontmap) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_ft2_font_map_create_context\n  type(c_ptr), value :: fontmap\nend function\n\n! PANGO_DEPRECATED_FOR(pango_font_map_create_context)\n!PangoContext *pango_ft2_get_context (double dpi_x, double dpi_y);\nfunction pango_ft2_get_context(dpi_x, dpi_y) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr) :: pango_ft2_get_context\n  real(c_double), value :: dpi_x\n  real(c_double), value :: dpi_y\nend function\n\n! PANGO_DEPRECATED_FOR(pango_ft2_font_map_new)\n!PangoFontMap *pango_ft2_font_map_for_display (void);\nfunction pango_ft2_font_map_for_display() bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_ft2_font_map_for_display\nend function\n\n! PANGO_DEPRECATED\n!void pango_ft2_shutdown_display (void);\nsubroutine pango_ft2_shutdown_display() bind(c)\n  implicit none\nend subroutine\n\n! PANGO_DEPRECATED_FOR(PANGO_GET_UNKNOWN_GLYPH)\n!PangoGlyph pango_ft2_get_unknown_glyph (PangoFont *font);\nfunction pango_ft2_get_unknown_glyph(font) bind(c)\n  import :: c_int32_t, c_ptr\n  implicit none\n  integer(c_int32_t) :: pango_ft2_get_unknown_glyph\n  type(c_ptr), value :: font\nend function\n\n! PANGO_DEPRECATED_FOR(pango_fc_font_kern_glyphs)\n!int pango_ft2_font_get_kerning (PangoFont *font, PangoGlyph left, PangoGlyph right);\nfunction pango_ft2_font_get_kerning(font, left, right) bind(c)\n  import :: c_int, c_ptr, c_int32_t\n  implicit none\n  integer(c_int) :: pango_ft2_font_get_kerning\n  type(c_ptr), value :: font\n  integer(c_int32_t), value :: left\n  integer(c_int32_t), value :: right\nend function\n\n! PANGO_DEPRECATED_FOR(pango_fc_font_lock_face)\n!FT_Face pango_ft2_font_get_face (PangoFont *font);\nfunction pango_ft2_font_get_face(font) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_ft2_font_get_face\n  type(c_ptr), value :: font\nend function\n\n! PANGO_DEPRECATED_FOR(pango_font_get_coverage)\n!PangoCoverage *pango_ft2_font_get_coverage (PangoFont *font, PangoLanguage *language);\nfunction pango_ft2_font_get_coverage(font, language) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_ft2_font_get_coverage\n  type(c_ptr), value :: font\n  type(c_ptr), value :: language\nend function\n\n!--------------------------------------------------\n! /usr/include/pango-1.0/pango/pangoxft-render.h\n!--------------------------------------------------\n! PANGO_AVAILABLE_IN_1_8\n!GType pango_xft_renderer_get_type (void) ;\nfunction pango_xft_renderer_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_xft_renderer_get_type\nend function\n\n! PANGO_AVAILABLE_IN_1_8\n!PangoRenderer *pango_xft_renderer_new (Display *display, int screen);\nfunction pango_xft_renderer_new(display, screen) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_xft_renderer_new\n  type(c_ptr), value :: display\n  integer(c_int), value :: screen\nend function\n\n! PANGO_AVAILABLE_IN_1_8\n!void pango_xft_renderer_set_draw (PangoXftRenderer *xftrenderer, XftDraw *draw);\nsubroutine pango_xft_renderer_set_draw(xftrenderer, draw) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: xftrenderer\n  type(c_ptr), value :: draw\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_8\n!void pango_xft_renderer_set_default_color (PangoXftRenderer *xftrenderer, PangoColor *default_color);\nsubroutine pango_xft_renderer_set_default_color(xftrenderer, default_color)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: xftrenderer\n  type(c_ptr), value :: default_color\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_xft_render (XftDraw *draw, XftColor *color, PangoFont *font, PangoGlyphString *glyphs, gint x, gint y);\nsubroutine pango_xft_render(draw, color, font, glyphs, x, y) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: draw\n  type(c_ptr), value :: color\n  type(c_ptr), value :: font\n  type(c_ptr), value :: glyphs\n  integer(c_int), value :: x\n  integer(c_int), value :: y\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!void pango_xft_picture_render (Display *display, Picture src_picture, Picture dest_picture, PangoFont *font, PangoGlyphString *glyphs, gint x, gint y);\nsubroutine pango_xft_picture_render(display, src_picture, dest_picture, font,&\n& glyphs, x, y) bind(c)\n  import :: c_ptr, c_long, c_int\n  implicit none\n  type(c_ptr), value :: display\n  integer(c_long), value :: src_picture\n  integer(c_long), value :: dest_picture\n  type(c_ptr), value :: font\n  type(c_ptr), value :: glyphs\n  integer(c_int), value :: x\n  integer(c_int), value :: y\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_8\n!void pango_xft_render_transformed (XftDraw *draw, XftColor *color, PangoMatrix *matrix, PangoFont *font, PangoGlyphString *glyphs, int x, int y);\nsubroutine pango_xft_render_transformed(draw, color, matrix, font, glyphs, x,&\n& y) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: draw\n  type(c_ptr), value :: color\n  type(c_ptr), value :: matrix\n  type(c_ptr), value :: font\n  type(c_ptr), value :: glyphs\n  integer(c_int), value :: x\n  integer(c_int), value :: y\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_8\n!void pango_xft_render_layout_line (XftDraw *draw, XftColor *color, PangoLayoutLine *line, int x, int y);\nsubroutine pango_xft_render_layout_line(draw, color, line, x, y) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: draw\n  type(c_ptr), value :: color\n  type(c_ptr), value :: line\n  integer(c_int), value :: x\n  integer(c_int), value :: y\nend subroutine\n\n! PANGO_AVAILABLE_IN_1_8\n!void pango_xft_render_layout (XftDraw *draw, XftColor *color, PangoLayout *layout, int x, int y);\nsubroutine pango_xft_render_layout(draw, color, layout, x, y) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: draw\n  type(c_ptr), value :: color\n  type(c_ptr), value :: layout\n  integer(c_int), value :: x\n  integer(c_int), value :: y\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/pango-1.0/pango/pangoxft.h\n!--------------------------------------------------\n! PANGO_AVAILABLE_IN_1_2\n!PangoFontMap *pango_xft_get_font_map (Display *display, int screen);\nfunction pango_xft_get_font_map(display, screen) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_xft_get_font_map\n  type(c_ptr), value :: display\n  integer(c_int), value :: screen\nend function\n\n! PANGO_DEPRECATED\n!PangoContext *pango_xft_get_context (Display *display, int screen);\nfunction pango_xft_get_context(display, screen) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr) :: pango_xft_get_context\n  type(c_ptr), value :: display\n  integer(c_int), value :: screen\nend function\n\n! PANGO_AVAILABLE_IN_1_2\n!void pango_xft_shutdown_display (Display *display, int screen);\nsubroutine pango_xft_shutdown_display(display, screen) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: display\n  integer(c_int), value :: screen\nend subroutine\n\n! PANGO_DEPRECATED_IN_1_48_FOR(pango_fc_font_map_set_default_substitute)\n!void pango_xft_set_default_substitute (Display *display, int screen, PangoXftSubstituteFunc func, gpointer data, GDestroyNotify notify);\nsubroutine pango_xft_set_default_substitute(display, screen, func, data,&\n& notify) bind(c)\n  import :: c_ptr, c_int, c_funptr\n  implicit none\n  type(c_ptr), value :: display\n  integer(c_int), value :: screen\n  type(c_funptr), value :: func\n  type(c_ptr), value :: data\n  type(c_funptr), value :: notify\nend subroutine\n\n! PANGO_DEPRECATED_IN_1_48_FOR(pango_fc_font_map_substitute_changed)\n!void pango_xft_substitute_changed (Display *display, int screen);\nsubroutine pango_xft_substitute_changed(display, screen) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: display\n  integer(c_int), value :: screen\nend subroutine\n\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_xft_font_map_get_type (void) ;\nfunction pango_xft_font_map_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_xft_font_map_get_type\nend function\n\n! PANGO_AVAILABLE_IN_ALL\n!GType pango_xft_font_get_type (void) ;\nfunction pango_xft_font_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: pango_xft_font_get_type\nend function\n\n! PANGO_DEPRECATED\n!XftFont * pango_xft_font_get_font (PangoFont *font);\nfunction pango_xft_font_get_font(font) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_xft_font_get_font\n  type(c_ptr), value :: font\nend function\n\n! PANGO_DEPRECATED\n!Display * pango_xft_font_get_display (PangoFont *font);\nfunction pango_xft_font_get_display(font) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_xft_font_get_display\n  type(c_ptr), value :: font\nend function\n\n! PANGO_DEPRECATED_FOR(pango_fc_font_lock_face)\n!FT_Face pango_xft_font_lock_face (PangoFont *font);\nfunction pango_xft_font_lock_face(font) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: pango_xft_font_lock_face\n  type(c_ptr), value :: font\nend function\n\n! PANGO_DEPRECATED_FOR(pango_fc_font_unlock_face)\n!void pango_xft_font_unlock_face (PangoFont *font);\nsubroutine pango_xft_font_unlock_face(font) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: font\nend subroutine\n\n! PANGO_DEPRECATED_FOR(pango_fc_font_get_glyph)\n!guint pango_xft_font_get_glyph (PangoFont *font, gunichar wc);\nfunction pango_xft_font_get_glyph(font, wc) bind(c)\n  import :: c_int, c_ptr, c_int32_t\n  implicit none\n  integer(c_int) :: pango_xft_font_get_glyph\n  type(c_ptr), value :: font\n  integer(c_int32_t), value :: wc\nend function\n\n! PANGO_DEPRECATED_FOR(pango_fc_font_has_char)\n!gboolean pango_xft_font_has_char (PangoFont *font, gunichar wc);\nfunction pango_xft_font_has_char(font, wc) bind(c)\n  import :: c_int, c_ptr, c_int32_t\n  implicit none\n  integer(c_int) :: pango_xft_font_has_char\n  type(c_ptr), value :: font\n  integer(c_int32_t), value :: wc\nend function\n\n! PANGO_DEPRECATED_FOR(PANGO_GET_UNKNOWN_GLYPH)\n!PangoGlyph pango_xft_font_get_unknown_glyph (PangoFont *font, gunichar wc);\nfunction pango_xft_font_get_unknown_glyph(font, wc) bind(c)\n  import :: c_int32_t, c_ptr\n  implicit none\n  integer(c_int32_t) :: pango_xft_font_get_unknown_glyph\n  type(c_ptr), value :: font\n  integer(c_int32_t), value :: wc\nend function\n\nend interface\nend module pango\n"
  },
  {
    "path": "src/plplot_extra.f90",
    "content": "! This file is part of gtk-fortran, a GTK / Fortran interface library.\n! Copyright (C) 2012 The gtk-fortran team\n!\n! This is free software; you can redistribute it and/or modify\n! it under the terms of the GNU General Public License as published by\n! the Free Software Foundation; either version 3, or (at your option)\n! any later version.\n!\n! This software is distributed in the hope that it will be useful,\n! but WITHOUT ANY WARRANTY; without even the implied warranty of\n! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n! GNU General Public License for more details.\n!\n! Under Section 7 of GPL version 3, you are granted additional\n! permissions described in the GCC Runtime Library Exception, version\n! 3.1, as published by the Free Software Foundation.\n!\n! You should have received a copy of the GNU General Public License along with\n! this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n! If not, see <http://www.gnu.org/licenses/>.\n!-------------------------------------------------------------------------------\n! Contributed by: James Tappin, last modification: 2012-02-08\n! vmagnin, 2022-04-15, 2023-03-10\n!-------------------------------------------------------------------------------\n\nmodule plplot_extra\n  implicit none\n\n  ! Interface for the PLplot pl_cmd() routine, not available\n  ! in the Fortran binding, but in the plplot.h header file:\n  interface\n    ! Front-end to driver escape function. In principle this can be used\n    ! to pass just about anything directly to the driver:\n    subroutine pl_cmd(cmd, arg) bind(c)\n      use, intrinsic :: iso_c_binding, only: c_int, c_ptr\n      implicit none\n      ! A PLESC command to pass to the driver:\n      integer(c_int), value :: cmd\n      ! Data associated with the cmd command:\n      type(c_ptr), value :: arg\n    end subroutine pl_cmd\n  end interface\nend module plplot_extra\n"
  },
  {
    "path": "src/screenshots.sh",
    "content": "#! /bin/sh\n# This file is part of gtk-fortran, a GTK / Fortran interface library.\n# Copyright (C) 2011 The gtk-fortran team\n#\n# Automatic screenshots of the gtk-fortran built examples\n# Parameters: $1 suffix (e.g. -ubuntu11_04), $2 sleep time\n# You need to install scrot\n# GNU GPL 3\n# Contributed by Vincent MAGNIN 2011-04-27\n# Updated 2022-05-06\n\n# For a safer script:\nset -eu\n\nif [ $# -eq 0 ]; then\n  readonly seconds=3\n  readonly suffix=\"-kubuntu_$(lsb_release -rs)\"\nelse\n  readonly seconds=${2}\n  readonly suffix=${1}\nfi\n\necho \"Suffix: ${suffix}\"\necho \"Sleep time: ${seconds}\"\necho \"Taking screenshots...\"\n\n# Scanning all built examples:\nfor directory in ../build/examples/ ../build/plplot ../build/sketcher ; do\n    cd ${directory}\n    pwd\n    for file in * ; do\n        # Is it an executable file ?\n        if [ -x \"${file}\" ] && [ ! -d \"${file}\" ] && [ ! \"${file}\" = \"gio_demo\" ] && [ ! \"${file}\" = \"tests\" ] && [ ! \"${file}\" = \"tests_gtk_sup\" ]; then\n            echo \"${file}\"\n            #Launch the program:\n            ./\"${file}\" &\n            sleep \"${seconds}\"\n            #remove the double extension (seven characters after a point):\n            picfile=$(echo \"${file}\"|sed 's/\\..\\{7\\}$//')\n            #Take and save a screenshot of the active window with border:\n            scrot -ub ../../screenshots/\"${picfile}${suffix}\".png\n            #Kill the program before launching next one:\n            kill $!\n        fi\n    done\n    # Go back to src before next iteration:\n    cd ../../src\ndone\n"
  },
  {
    "path": "src/show_versions.sh",
    "content": "#! /bin/sh\n# This file is part of gtk-fortran, a GTK / Fortran interface library.\n# Copyright (C) 2019 The gtk-fortran team\n#\n# Show libraries and tools versions used in gtk-fortran\n# Parameters: none\n# Contributed by Vincent MAGNIN, 2019-03-13\n# Updated 2023-04-28\n# Needs: in Fedora, lsb_release is in the package redhat-lsb-core\n\n# The shell -e option is not used in this script to avoid exiting each time a\n# command is not installed on a specific system:\nset -u\n\necho \"=======\"\necho \"SYSTEM:\"\necho \"=======\"\n\n# Distribution (Linux only):\nreadonly RELEASE=\"$(lsb_release -sd)\"\necho \"${RELEASE}\"\n# Kernel, release, processor, OS:\nreadonly SYSTEM=\"$(uname -srpo)\"\necho \"${SYSTEM}\"\n\necho \"==========\"\necho \"LIBRARIES:\"\necho \"==========\"\n\n# Default package names (Debian/Ubuntu):\nreadonly LIB_GTK2=\"libgtk2.0-dev\"\nreadonly LIB_GTK3=\"libgtk-3-dev\"\nreadonly LIB_GTK4=\"libgtk-4-dev\"\nreadonly LIB_GLIB=\"libglib2.0-dev\"\nreadonly LIB_PLPLOT=\"libplplot-dev\"\n\nif echo \"${SYSTEM}\" | grep -q MINGW ; then\n    pacman -Q mingw-w64-ucrt-x86_64-gtk2\n    pacman -Q mingw-w64-ucrt-x86_64-gtk3\t\n    pacman -Q mingw-w64-ucrt-x86_64-gtk4\t\n    pacman -Q mingw-w64-ucrt-x86_64-glib2\n    pacman -Q mingw-w64-ucrt-x86_64-plplot\nelif echo \"${SYSTEM}\" | grep -q MANJARO ; then\n    pacman -Q gtk2\n    pacman -Q gtk3\n    pacman -Q glib2\n    pacman -Q plplot\nelif echo \"${SYSTEM}\" | grep -q fc ; then    # Fedora\n    dnf info --installed gtk2-devel | grep Source\n    dnf info --installed gtk3-devel | grep Source\n    dnf info --installed gtk4-devel | grep Source\n    dnf info --installed glib2 | grep Source\n    dnf info --installed plplot-devel | grep Source\nelif echo \"${SYSTEM}\" | grep -q FreeBSD ; then\n    pkg info gtk2 | grep gtk2-\n    pkg info gtk3 | grep gtk3-\n    pkg info gtk4 | grep gtk4-\n    pkg info glib | grep ^glib\n    pkg info plplot | grep plplot-\nelif echo \"${RELEASE}\" | grep -q openSUSE ; then\n    zypper info gtk2-devel | grep Source\n    zypper info gtk3-devel | grep Source\n    zypper info glib2-devel | grep Source\n    zypper info plplot-devel | grep Source\nelse\n    dpkg-query --show ${LIB_GTK2}\n    dpkg-query --show ${LIB_GTK3}\n    dpkg-query --show ${LIB_GTK4}\n    dpkg-query --show ${LIB_GLIB}\n    dpkg-query --show ${LIB_PLPLOT}\nfi\n\necho \"==========\"\necho \"LANGUAGES:\"\necho \"==========\"\n\nif echo \"${SYSTEM}\" | grep -q FreeBSD ; then\n    gfortran11 --version | head -n 1\nelse\n    gfortran --version | head -n 1\nfi\n\npython3 --version\nperl --version | head -n 2 | tail -n 1\nbash --version | head -n 1\n\necho \"============\"\necho \"BUILD TOOLS:\"\necho \"============\"\n\n#echo \"meson $(meson --version)\"\ncmake --version | head -n 1\necho \"pkg-config $(pkg-config --version)\"\nmake --version | grep \"GNU Make\"\ngit --version\n\n#echo \"============\"\n#echo \"OTHER TOOLS:\"\n#echo \"============\"\n"
  },
  {
    "path": "src/test_extra.sh",
    "content": "#!/bin/sh\n# This file is part of gtk-fortran, a GTK / Fortran interface library.\n# Copyright (C) 2016 The gtk-fortran team\n#\n# An interactive script to test projects gtk-fortran-extra\n# and gtkzero_fpm before release\n#\n# Contributed by Vincent MAGNIN, 2023-03-20\n# Last modification: 2023-03-20\n\n# For a safer script:\nset -u\n\necho '-------------------------------------------------------------------------'\necho 'gtk-fortran installed version:'\necho '-------------------------------------------------------------------------'\ngtk-4-fortran | head -n 2\n\necho '--------------------------------------------------------------------'\necho 'Do you want to install the gtk-fortran library on your system? (y/N)'\nread -r answer\ncase ${answer} in\n'Y' | 'y')\n    sudo make install\n    ;;\n*)\n    echo 'No installation'\n    ;;\nesac\n\necho '-------------------------------------------------------------------------'\necho 'Do you want to test gtk-fortran-extra? (y/N)'\nread -r answer\ncase ${answer} in\n'Y' | 'y')\n    cd /tmp\n    git clone git@github.com:vmagnin/gtk-fortran-extra.git\n    cd gtk-fortran-extra\n    echo '******************'\n    echo 'my_fast_app'\n    cd my_fast_app && ./with_GUI.sh\n    echo '******************'\n    echo 'my_long_app'\n    cd ../my_long_app && ./with_GUI.sh\n    echo '******************'\n    echo 'unknown_pleasures'\n    cd ../unknown_pleasures && ./build.sh && ./a.out\n    echo '******************'\n    echo 'parallel_app'\n    cd ../parallel_app && ./build.sh\n    ;;\n*)\n    echo 'Not tested: gtk-fortran-extra'\n    ;;\nesac\n\necho '-----------------------------------------------------------------------'\necho 'Do you want to test gtkzero_fpm with the dev branch gtk4-vmagnin? (y/N)'\nread -r answer\ncase ${answer} in\n'Y' | 'y')\n    cd /tmp\n    git clone git@github.com:vmagnin/gtkzero_fpm.git\n    cd gtkzero_fpm\n    sed -i 's/branch = \"gtk4\"/branch = \"gtk4-vmagnin\"/g' fpm.toml\n    fpm run\n    ;;\n*)\n    echo 'Not tested: gtkzero_fpm'\n    ;;\nesac\n"
  },
  {
    "path": "src/tools.py",
    "content": "#!/usr/bin/env python3\n# -*- coding: utf-8 -*-\n\n# This file is part of gtk-fortran, a GTK / Fortran interface library.\n# Copyright (C) 2011 The gtk-fortran team\n#\n# This is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 3, or (at your option)\n# any later version.\n#\n# This software is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# Under Section 7 of GPL version 3, you are granted additional\n# permissions described in the GCC Runtime Library Exception, version\n# 3.1, as published by the Free Software Foundation.\n#\n# You should have received a copy of the GNU General Public License along with\n# this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n# If not, see <http://www.gnu.org/licenses/>.\n#\n# Contributed by Vincent Magnin, 01.28.2011\n# Last modification: 2019-04-01\n\n\"\"\" This module contains various functions used in the cfwrapper.\n\nNOTE: the function \"multiline\" is duplicated in usemodules.py, to make the\ninstallation of the latter more straightforward. If you update this function,\nplease update the corresponding function in usemodules.py as well.\n\"\"\"\n\n\ndef multiline(line, max_length):\n    \"\"\"Split a long line in a multiline, following Fortran syntax, and trying to\n       cut it with elegance.\n    \"\"\"\n    max_offset = max_length-1\n    result = \"\"\n\n    while len(line) > max_offset:\n        # Remember that character max_length is excluded in such slice:\n        string = line[0:max_length]\n\n        cut = max_offset\n        # We try to cut before a space, if reasonably possible:\n        if string[cut] != \" \":\n            # Search the last space after the middle of the string:\n            last_space = string.rfind(\" \", max_length//2)\n            if last_space != -1:\n                cut = last_space\n\n        result += line[0:cut] + \"&\\n\"\n        line = \"&\"+ line[cut:]\n\n    # Add last line without trailing spaces:\n    result += line.rstrip()\n\n    return result\n"
  },
  {
    "path": "src/unix-print-auto.f90",
    "content": "! Do not modify this file automatically generated by cfwrapper.py using:\n! gtk-fortran 4.9.0, GTK 4.20.2, GLib 2.86.1, Fedora 43 x86_64\n! This file is part of the gtk-fortran library, distributed under\n! GNU General Public License version 3.\n\nmodule unix_print\nuse, intrinsic :: iso_c_binding\nimplicit none\ninterface\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/unix-print/gtk/gtkunixprint.h\n!--------------------------------------------------\n!--------------------------------------------------\n! /usr/include/gtk-4.0/unix-print/gtk/print/gtkpagesetupunixdialog.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_page_setup_unix_dialog_get_type (void) ;\nfunction gtk_page_setup_unix_dialog_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_page_setup_unix_dialog_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_page_setup_unix_dialog_new (const char *title, GtkWindow *parent);\nfunction gtk_page_setup_unix_dialog_new(title, parent) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_page_setup_unix_dialog_new\n  character(kind=c_char), dimension(*) :: title\n  type(c_ptr), value :: parent\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_page_setup_unix_dialog_set_page_setup (GtkPageSetupUnixDialog *dialog, GtkPageSetup *page_setup);\nsubroutine gtk_page_setup_unix_dialog_set_page_setup(dialog, page_setup)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: dialog\n  type(c_ptr), value :: page_setup\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPageSetup * gtk_page_setup_unix_dialog_get_page_setup (GtkPageSetupUnixDialog *dialog);\nfunction gtk_page_setup_unix_dialog_get_page_setup(dialog) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_page_setup_unix_dialog_get_page_setup\n  type(c_ptr), value :: dialog\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_page_setup_unix_dialog_set_print_settings (GtkPageSetupUnixDialog *dialog, GtkPrintSettings *print_settings);\nsubroutine gtk_page_setup_unix_dialog_set_print_settings(dialog,&\n& print_settings) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: dialog\n  type(c_ptr), value :: print_settings\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPrintSettings *gtk_page_setup_unix_dialog_get_print_settings (GtkPageSetupUnixDialog *dialog);\nfunction gtk_page_setup_unix_dialog_get_print_settings(dialog) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_page_setup_unix_dialog_get_print_settings\n  type(c_ptr), value :: dialog\nend function\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/unix-print/gtk/print/gtkprinter.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_print_capabilities_get_type (void) ;\nfunction gtk_print_capabilities_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_print_capabilities_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_printer_get_type (void) ;\nfunction gtk_printer_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_printer_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPrinter *gtk_printer_new (const char *name, GtkPrintBackend *backend, gboolean virtual_);\nfunction gtk_printer_new(name, backend, virtual_) bind(c)\n  import :: c_ptr, c_char, c_int\n  implicit none\n  type(c_ptr) :: gtk_printer_new\n  character(kind=c_char), dimension(*) :: name\n  type(c_ptr), value :: backend\n  integer(c_int), value :: virtual_\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPrintBackend *gtk_printer_get_backend (GtkPrinter *printer);\nfunction gtk_printer_get_backend(printer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_printer_get_backend\n  type(c_ptr), value :: printer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_printer_get_name (GtkPrinter *printer);\nfunction gtk_printer_get_name(printer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_printer_get_name\n  type(c_ptr), value :: printer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_printer_get_state_message (GtkPrinter *printer);\nfunction gtk_printer_get_state_message(printer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_printer_get_state_message\n  type(c_ptr), value :: printer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_printer_get_description (GtkPrinter *printer);\nfunction gtk_printer_get_description(printer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_printer_get_description\n  type(c_ptr), value :: printer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_printer_get_location (GtkPrinter *printer);\nfunction gtk_printer_get_location(printer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_printer_get_location\n  type(c_ptr), value :: printer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_printer_get_icon_name (GtkPrinter *printer);\nfunction gtk_printer_get_icon_name(printer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_printer_get_icon_name\n  type(c_ptr), value :: printer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_printer_get_job_count (GtkPrinter *printer);\nfunction gtk_printer_get_job_count(printer) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_printer_get_job_count\n  type(c_ptr), value :: printer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_printer_is_active (GtkPrinter *printer);\nfunction gtk_printer_is_active(printer) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_printer_is_active\n  type(c_ptr), value :: printer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_printer_is_paused (GtkPrinter *printer);\nfunction gtk_printer_is_paused(printer) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_printer_is_paused\n  type(c_ptr), value :: printer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_printer_is_accepting_jobs (GtkPrinter *printer);\nfunction gtk_printer_is_accepting_jobs(printer) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_printer_is_accepting_jobs\n  type(c_ptr), value :: printer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_printer_is_virtual (GtkPrinter *printer);\nfunction gtk_printer_is_virtual(printer) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_printer_is_virtual\n  type(c_ptr), value :: printer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_printer_is_default (GtkPrinter *printer);\nfunction gtk_printer_is_default(printer) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_printer_is_default\n  type(c_ptr), value :: printer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_printer_accepts_pdf (GtkPrinter *printer);\nfunction gtk_printer_accepts_pdf(printer) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_printer_accepts_pdf\n  type(c_ptr), value :: printer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_printer_accepts_ps (GtkPrinter *printer);\nfunction gtk_printer_accepts_ps(printer) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_printer_accepts_ps\n  type(c_ptr), value :: printer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GList *gtk_printer_list_papers (GtkPrinter *printer);\nfunction gtk_printer_list_papers(printer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_printer_list_papers\n  type(c_ptr), value :: printer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPageSetup *gtk_printer_get_default_page_size (GtkPrinter *printer);\nfunction gtk_printer_get_default_page_size(printer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_printer_get_default_page_size\n  type(c_ptr), value :: printer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_printer_compare (GtkPrinter *a, GtkPrinter *b);\nfunction gtk_printer_compare(a, b) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_printer_compare\n  type(c_ptr), value :: a\n  type(c_ptr), value :: b\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_printer_has_details (GtkPrinter *printer);\nfunction gtk_printer_has_details(printer) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_printer_has_details\n  type(c_ptr), value :: printer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_printer_request_details (GtkPrinter *printer);\nsubroutine gtk_printer_request_details(printer) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: printer\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPrintCapabilities gtk_printer_get_capabilities (GtkPrinter *printer);\nfunction gtk_printer_get_capabilities(printer) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_printer_get_capabilities\n  type(c_ptr), value :: printer\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_printer_get_hard_margins (GtkPrinter *printer, double *top, double *bottom, double *left, double *right);\nfunction gtk_printer_get_hard_margins(printer, top, bottom, left, right)&\n& bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_printer_get_hard_margins\n  type(c_ptr), value :: printer\n  type(c_ptr), value :: top\n  type(c_ptr), value :: bottom\n  type(c_ptr), value :: left\n  type(c_ptr), value :: right\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_printer_get_hard_margins_for_paper_size (GtkPrinter *printer, GtkPaperSize *paper_size, double *top, double *bottom, double *left, double *right);\nfunction gtk_printer_get_hard_margins_for_paper_size(printer, paper_size, top,&\n& bottom, left, right) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_printer_get_hard_margins_for_paper_size\n  type(c_ptr), value :: printer\n  type(c_ptr), value :: paper_size\n  type(c_ptr), value :: top\n  type(c_ptr), value :: bottom\n  type(c_ptr), value :: left\n  type(c_ptr), value :: right\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_enumerate_printers (GtkPrinterFunc func, gpointer data, GDestroyNotify destroy, gboolean wait);\nsubroutine gtk_enumerate_printers(func, data, destroy, wait) bind(c)\n  import :: c_funptr, c_ptr, c_int\n  implicit none\n  type(c_funptr), value :: func\n  type(c_ptr), value :: data\n  type(c_funptr), value :: destroy\n  integer(c_int), value :: wait\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/unix-print/gtk/print/gtkprintjob.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_print_job_get_type (void) ;\nfunction gtk_print_job_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_print_job_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPrintJob *gtk_print_job_new (const char *title, GtkPrinter *printer, GtkPrintSettings *settings, GtkPageSetup *page_setup);\nfunction gtk_print_job_new(title, printer, settings, page_setup) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_print_job_new\n  character(kind=c_char), dimension(*) :: title\n  type(c_ptr), value :: printer\n  type(c_ptr), value :: settings\n  type(c_ptr), value :: page_setup\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPrintSettings *gtk_print_job_get_settings (GtkPrintJob *job);\nfunction gtk_print_job_get_settings(job) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_job_get_settings\n  type(c_ptr), value :: job\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPrinter *gtk_print_job_get_printer (GtkPrintJob *job);\nfunction gtk_print_job_get_printer(job) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_job_get_printer\n  type(c_ptr), value :: job\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!const char * gtk_print_job_get_title (GtkPrintJob *job);\nfunction gtk_print_job_get_title(job) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_job_get_title\n  type(c_ptr), value :: job\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPrintStatus gtk_print_job_get_status (GtkPrintJob *job);\nfunction gtk_print_job_get_status(job) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_job_get_status\n  type(c_ptr), value :: job\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_print_job_set_source_file (GtkPrintJob *job, const char *filename, GError **error);\nfunction gtk_print_job_set_source_file(job, filename, error) bind(c)\n  import :: c_int, c_ptr, c_char\n  implicit none\n  integer(c_int) :: gtk_print_job_set_source_file\n  type(c_ptr), value :: job\n  character(kind=c_char), dimension(*) :: filename\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_print_job_set_source_fd (GtkPrintJob *job, int fd, GError **error);\nfunction gtk_print_job_set_source_fd(job, fd, error) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_job_set_source_fd\n  type(c_ptr), value :: job\n  integer(c_int), value :: fd\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!cairo_surface_t *gtk_print_job_get_surface (GtkPrintJob *job, GError **error);\nfunction gtk_print_job_get_surface(job, error) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_job_get_surface\n  type(c_ptr), value :: job\n  type(c_ptr), value :: error\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_job_set_track_print_status (GtkPrintJob *job, gboolean track_status);\nsubroutine gtk_print_job_set_track_print_status(job, track_status) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: job\n  integer(c_int), value :: track_status\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_print_job_get_track_print_status (GtkPrintJob *job);\nfunction gtk_print_job_get_track_print_status(job) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_job_get_track_print_status\n  type(c_ptr), value :: job\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_job_send (GtkPrintJob *job, GtkPrintJobCompleteFunc callback, gpointer user_data, GDestroyNotify dnotify);\nsubroutine gtk_print_job_send(job, callback, user_data, dnotify) bind(c)\n  import :: c_ptr, c_funptr\n  implicit none\n  type(c_ptr), value :: job\n  type(c_funptr), value :: callback\n  type(c_ptr), value :: user_data\n  type(c_funptr), value :: dnotify\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPrintPages gtk_print_job_get_pages (GtkPrintJob *job);\nfunction gtk_print_job_get_pages(job) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_job_get_pages\n  type(c_ptr), value :: job\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_job_set_pages (GtkPrintJob *job, GtkPrintPages pages);\nsubroutine gtk_print_job_set_pages(job, pages) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: job\n  integer(c_int), value :: pages\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPageRange * gtk_print_job_get_page_ranges (GtkPrintJob *job, int *n_ranges);\nfunction gtk_print_job_get_page_ranges(job, n_ranges) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_job_get_page_ranges\n  type(c_ptr), value :: job\n  type(c_ptr), value :: n_ranges\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_job_set_page_ranges (GtkPrintJob *job, GtkPageRange *ranges, int n_ranges);\nsubroutine gtk_print_job_set_page_ranges(job, ranges, n_ranges) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: job\n  type(c_ptr), value :: ranges\n  integer(c_int), value :: n_ranges\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPageSet gtk_print_job_get_page_set (GtkPrintJob *job);\nfunction gtk_print_job_get_page_set(job) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_job_get_page_set\n  type(c_ptr), value :: job\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_job_set_page_set (GtkPrintJob *job, GtkPageSet page_set);\nsubroutine gtk_print_job_set_page_set(job, page_set) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: job\n  integer(c_int), value :: page_set\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_print_job_get_num_copies (GtkPrintJob *job);\nfunction gtk_print_job_get_num_copies(job) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_job_get_num_copies\n  type(c_ptr), value :: job\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_job_set_num_copies (GtkPrintJob *job, int num_copies);\nsubroutine gtk_print_job_set_num_copies(job, num_copies) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: job\n  integer(c_int), value :: num_copies\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!double gtk_print_job_get_scale (GtkPrintJob *job);\nfunction gtk_print_job_get_scale(job) bind(c)\n  import :: c_double, c_ptr\n  implicit none\n  real(c_double) :: gtk_print_job_get_scale\n  type(c_ptr), value :: job\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_job_set_scale (GtkPrintJob *job, double scale);\nsubroutine gtk_print_job_set_scale(job, scale) bind(c)\n  import :: c_ptr, c_double\n  implicit none\n  type(c_ptr), value :: job\n  real(c_double), value :: scale\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!guint gtk_print_job_get_n_up (GtkPrintJob *job);\nfunction gtk_print_job_get_n_up(job) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_job_get_n_up\n  type(c_ptr), value :: job\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_job_set_n_up (GtkPrintJob *job, guint n_up);\nsubroutine gtk_print_job_set_n_up(job, n_up) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: job\n  integer(c_int), value :: n_up\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkNumberUpLayout gtk_print_job_get_n_up_layout (GtkPrintJob *job);\nfunction gtk_print_job_get_n_up_layout(job) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_job_get_n_up_layout\n  type(c_ptr), value :: job\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_job_set_n_up_layout (GtkPrintJob *job, GtkNumberUpLayout layout);\nsubroutine gtk_print_job_set_n_up_layout(job, layout) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: job\n  integer(c_int), value :: layout\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_print_job_get_rotate (GtkPrintJob *job);\nfunction gtk_print_job_get_rotate(job) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_job_get_rotate\n  type(c_ptr), value :: job\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_job_set_rotate (GtkPrintJob *job, gboolean rotate);\nsubroutine gtk_print_job_set_rotate(job, rotate) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: job\n  integer(c_int), value :: rotate\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_print_job_get_collate (GtkPrintJob *job);\nfunction gtk_print_job_get_collate(job) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_job_get_collate\n  type(c_ptr), value :: job\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_job_set_collate (GtkPrintJob *job, gboolean collate);\nsubroutine gtk_print_job_set_collate(job, collate) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: job\n  integer(c_int), value :: collate\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_print_job_get_reverse (GtkPrintJob *job);\nfunction gtk_print_job_get_reverse(job) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_job_get_reverse\n  type(c_ptr), value :: job\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_job_set_reverse (GtkPrintJob *job, gboolean reverse);\nsubroutine gtk_print_job_set_reverse(job, reverse) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: job\n  integer(c_int), value :: reverse\nend subroutine\n\n!--------------------------------------------------\n! /usr/include/gtk-4.0/unix-print/gtk/print/gtkprintunixdialog.h\n!--------------------------------------------------\n! GDK_AVAILABLE_IN_ALL\n!GType gtk_print_unix_dialog_get_type (void) ;\nfunction gtk_print_unix_dialog_get_type() bind(c)\n  import :: c_size_t\n  implicit none\n  integer(c_size_t) :: gtk_print_unix_dialog_get_type\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkWidget * gtk_print_unix_dialog_new (const char *title, GtkWindow *parent);\nfunction gtk_print_unix_dialog_new(title, parent) bind(c)\n  import :: c_ptr, c_char\n  implicit none\n  type(c_ptr) :: gtk_print_unix_dialog_new\n  character(kind=c_char), dimension(*) :: title\n  type(c_ptr), value :: parent\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_unix_dialog_set_page_setup (GtkPrintUnixDialog *dialog, GtkPageSetup *page_setup);\nsubroutine gtk_print_unix_dialog_set_page_setup(dialog, page_setup) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: dialog\n  type(c_ptr), value :: page_setup\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPageSetup * gtk_print_unix_dialog_get_page_setup (GtkPrintUnixDialog *dialog);\nfunction gtk_print_unix_dialog_get_page_setup(dialog) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_unix_dialog_get_page_setup\n  type(c_ptr), value :: dialog\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_unix_dialog_set_current_page (GtkPrintUnixDialog *dialog, int current_page);\nsubroutine gtk_print_unix_dialog_set_current_page(dialog, current_page) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: dialog\n  integer(c_int), value :: current_page\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!int gtk_print_unix_dialog_get_current_page (GtkPrintUnixDialog *dialog);\nfunction gtk_print_unix_dialog_get_current_page(dialog) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_unix_dialog_get_current_page\n  type(c_ptr), value :: dialog\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_unix_dialog_set_settings (GtkPrintUnixDialog *dialog, GtkPrintSettings *settings);\nsubroutine gtk_print_unix_dialog_set_settings(dialog, settings) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: dialog\n  type(c_ptr), value :: settings\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPrintSettings * gtk_print_unix_dialog_get_settings (GtkPrintUnixDialog *dialog);\nfunction gtk_print_unix_dialog_get_settings(dialog) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_unix_dialog_get_settings\n  type(c_ptr), value :: dialog\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPrinter * gtk_print_unix_dialog_get_selected_printer (GtkPrintUnixDialog *dialog);\nfunction gtk_print_unix_dialog_get_selected_printer(dialog) bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr) :: gtk_print_unix_dialog_get_selected_printer\n  type(c_ptr), value :: dialog\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_unix_dialog_add_custom_tab (GtkPrintUnixDialog *dialog, GtkWidget *child, GtkWidget *tab_label);\nsubroutine gtk_print_unix_dialog_add_custom_tab(dialog, child, tab_label)&\n& bind(c)\n  import :: c_ptr\n  implicit none\n  type(c_ptr), value :: dialog\n  type(c_ptr), value :: child\n  type(c_ptr), value :: tab_label\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_unix_dialog_set_manual_capabilities (GtkPrintUnixDialog *dialog, GtkPrintCapabilities capabilities);\nsubroutine gtk_print_unix_dialog_set_manual_capabilities(dialog, capabilities)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: dialog\n  integer(c_int), value :: capabilities\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!GtkPrintCapabilities gtk_print_unix_dialog_get_manual_capabilities (GtkPrintUnixDialog *dialog);\nfunction gtk_print_unix_dialog_get_manual_capabilities(dialog) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_unix_dialog_get_manual_capabilities\n  type(c_ptr), value :: dialog\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_unix_dialog_set_support_selection (GtkPrintUnixDialog *dialog, gboolean support_selection);\nsubroutine gtk_print_unix_dialog_set_support_selection(dialog,&\n& support_selection) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: dialog\n  integer(c_int), value :: support_selection\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_print_unix_dialog_get_support_selection (GtkPrintUnixDialog *dialog);\nfunction gtk_print_unix_dialog_get_support_selection(dialog) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_unix_dialog_get_support_selection\n  type(c_ptr), value :: dialog\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_unix_dialog_set_has_selection (GtkPrintUnixDialog *dialog, gboolean has_selection);\nsubroutine gtk_print_unix_dialog_set_has_selection(dialog, has_selection)&\n& bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: dialog\n  integer(c_int), value :: has_selection\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_print_unix_dialog_get_has_selection (GtkPrintUnixDialog *dialog);\nfunction gtk_print_unix_dialog_get_has_selection(dialog) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_unix_dialog_get_has_selection\n  type(c_ptr), value :: dialog\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!void gtk_print_unix_dialog_set_embed_page_setup (GtkPrintUnixDialog *dialog, gboolean embed);\nsubroutine gtk_print_unix_dialog_set_embed_page_setup(dialog, embed) bind(c)\n  import :: c_ptr, c_int\n  implicit none\n  type(c_ptr), value :: dialog\n  integer(c_int), value :: embed\nend subroutine\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_print_unix_dialog_get_embed_page_setup (GtkPrintUnixDialog *dialog);\nfunction gtk_print_unix_dialog_get_embed_page_setup(dialog) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_unix_dialog_get_embed_page_setup\n  type(c_ptr), value :: dialog\nend function\n\n! GDK_AVAILABLE_IN_ALL\n!gboolean gtk_print_unix_dialog_get_page_setup_set (GtkPrintUnixDialog *dialog);\nfunction gtk_print_unix_dialog_get_page_setup_set(dialog) bind(c)\n  import :: c_int, c_ptr\n  implicit none\n  integer(c_int) :: gtk_print_unix_dialog_get_page_setup_set\n  type(c_ptr), value :: dialog\nend function\n\nend interface\nend module unix_print\n"
  },
  {
    "path": "src/usemodules.pl",
    "content": "#!/usr/bin/env perl\n\n# This file is part of gtk-fortran, a GTK / Fortran interface library.\n# Copyright (C) 2012 The gtk-fortran team\n#\n# This is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 3, or (at your option)\n# any later version.\n#\n# This software is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU General Public License for more details.\n#\n# Under Section 7 of GPL version 3, you are granted additional\n# permissions described in the GCC Runtime Library Exception, version\n# 3.1, as published by the Free Software Foundation.\n#\n# You should have received a copy of the GNU General Public License along with\n# this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n# If not, see <http://www.gnu.org/licenses/>.\n#\n# Contributed by James Tappin 2012-08-14\n# Udated: vmagnin 2020-02-12\n\n# Scan Fortran source files for GTK (etc.) routines. It prints\n# statistics and create a gtk-modules.txt file containing the USE statements\n# that you can copy/paste in your programs.\n# This is a somewhat 'tighter' replacement for usemodules.py.\n# The building system will copy it and replace the @.*@ strings\n# and install it as the gtk-?-fortran-modscan command.\n\nuse strict ;\nuse warnings ;\nuse Getopt::Long;\n\nmy %tokens;\nmy @enumerators;\nmy $csvfile='@PREFIX@/@SHARE@/gtk-fortran/gtk-@GTK@-fortran-index.csv';\nmy $enumfile='@PREFIX@/@SHARE@/gtk-fortran/gtk-@GTK@-enumerators.lis';\n# Is this the local script or the gtk-?-fortran-modscan version generated\n# and installed by the building system ?\nif ($csvfile =~ /gtk-\\@GTK/) {\n    $csvfile='gtk-fortran-index.csv';\n    $enumfile='gtk-enumerators.lis';\n}\n\nmy $outfile='gtk-modules.txt';\nmy @sources;\nmy $filter;\nmy $help='';\nmy $link=1;\n\n# Read the options\nGetOptions('csv=s' => \\$csvfile,\n\t   'out=s' => \\$outfile,\n\t   'enum=s' => \\$enumfile,\n\t   'help' => \\$help,\n\t   'link!' => \\$link);\n\nif ($help) {\n    print \"\\nScan Fortran source files for GTK and related library\\n\";\n    print \"functions and generate the required USE statements.\\n\";\n    print \"Note that only one set of USE statements is generated for each\\n\";\n    print \"source file, even if it contains several program units.\\n\";\n    print \"Enumerator constants are found if the list is present.\\n\\n\";\n    print \"Usage:\\n\";\n    print \" $0 [--csv=<file> --out=<file> --enum=<file> --help --[no]link] [files]\\n\";\n    print \"\\n\";\n    print \"--csv      Specify the CSV file with the function list [$csvfile]\\n\";\n    print \"--out      Specify the output file for the use statements [$outfile]\\n\";\n    print \"--enum     Specify the file with the list of constants [$enumfile]\\n\";\n    print \"--help     Print this message\\n\";\n    print \"--[no]link Specify whether to scan symbolic links (only applicable when\\n\";\n    print \"           scanning a directory) [yes]\\n\";\n    print \"files      A list of files to scan. If empty then look at all Fortran\\n\";\n    print \"           sources in the current directory. If a single directory is\\n\";\n    print \"           given, then all Fortran files in that directory are checked.\\n\\n\";\n    exit(0);\n}\n\n# Read the function list\n&read_csv;\n&read_enum;\n\nforeach (sort keys(%tokens)) {\n    print \"Found module $_ with $#{$tokens{$_}} functions\\n\";\n}\nprint \"Found $#enumerators enumerators in module gtk\\n\";\n\nmy $i = 0 ;  # Loop counter\n\n# Get the list of source files\nif ($#ARGV >= 0) {\n    if (($#ARGV == 0) && (-d $ARGV[0])) {\n\topendir(CD, $ARGV[0]);\n\t@sources = readdir(CD);\n\tclosedir(CD);\n\t$filter = 1;\n\t# If understand the perl documentation correctly, then\n\t# / should work in open on non-unix systems.\n\tfor ($i = 0; $i <= $#sources; $i++) {\n\t    $sources[$i] = $ARGV[0].'/'.$sources[$i];\n\t}\n    } else {\t\n\t@sources = @ARGV;\n\t$filter = 0;\n    }\n} else {\n    opendir(CD,'.');\n    @sources = readdir(CD);\n    closedir(CD);\n    $filter = 1;\n}\n\nprint \"\\n\";\n\nopen(OUT, \">$outfile\") || die \"Failed to open output $outfile: $!\\n\";\n\n# Check each file\nmy $sfile = \"\" ;\nmy $code = \"\" ;\nmy $module = \"\" ;\nforeach $sfile (sort @sources) {\n    if ($filter) {      # If we are reading a directory skip non-Fortran files.\n\t$sfile =~ /(.f90$)|(.f95$)|(.f03$)|(.f08$)/i || next;\n\tnext if (-l $sfile & ! $link);\n    }\n    next if (-d $sfile);\n\n    print \"Scanning: $sfile \";\n    $code = &read_source($sfile);\n\n    # Scan over all modules\n\n    my $count = 0;\n    my $ecount = 0;\n    my $fflag = 1;\n\n    foreach $module (sort keys(%tokens)) {\n\tmy @functions = @{$tokens{$module}};\n\tmy @used = (0) x ($#functions+1);\n\tmy @eused = (0) x ($#enumerators+1);\n\n\t# Look for function names delimited by non-name characters.\n\t# N.B. \\w is a \"word\" character i.e. [a-zA-Z0-9_] to which\n\t# we add a dot so that the Fortran logical constants\n\t# .true. and .false. do not match the GTK constants TRUE and FALSE.\n\t# I don't think there is any valid context in which a dot may\n\t# immediately precede or follow a function/subroutine name.\n\t# Since any program or module will start with PROGRAM or\n\t# MODULE statement and end with an END, there should never\n\t# be a possibility of a function name right at the start\n\t# or end of the program.\n\t\n\tfor ($i = 0; $i <= $#functions; $i++) {\n\t    if ($code =~ /[^\\w\\.]($functions[$i])[^\\w\\.]/a) {\n\t\t$used[$i] = 1;\n\t\t$count ++;\n\t    }\n\t}\n\tif ($module eq 'gtk') {\n\t    for ($i = 0; $i <= $#enumerators; $i++) {\n\t\tif ($code =~ /[^\\w\\.]($enumerators[$i])[^\\w\\.]/a) {\n\t\t    $eused[$i] = 1;\n\t\t    $ecount ++;\n\t\t}\n\t    }\n\t}\n\tmy $start = 1 ;\n\tmy $colno = 0 ;\n\tmy $oline = \"\";\n\n\t# Build the required \"USE\" statements.\n\n\tfor ($i = 0; $i <= $#functions; $i++) {\n\t    if ($used[$i]) { # The function is used, add it to the list\n\n\t\t# If this is the first function in the module,\n\t\t# start to build a new USE.\n\t\tif ($start) {\n\t\t    # If this is the first USE for the source file put a header.\n\t\t    if ($fflag) {\n\t\t\tprint OUT \"\\n!********************************\\n\";\n\t\t\tprint OUT \"! GTK modules for $sfile\\n\";\n\t\t\t$fflag = 0;\n\t\t    }\n\t\t    $oline = \"    use $module, only: \";\n\t\t    $colno = length($oline);\n\t\t    $start = 0;\n\t\t}\n\n\t\t# If we would go past col 80 with the function,\n\t\t# add a continuation and reset the column counter.\n\t\tif ($colno + length($functions[$i]) > 78) {\n\t\t    $oline .= \"&\\n\";\n\t\t    $oline .= \"        & \";\n\t\t    $colno = length(\"        & \");\n\t\t}\n\n\t\t# Append the function name and increment the colun counter.\n\t\t$oline .= \"$functions[$i], \";\n\t\t$colno += length(\"$functions[$i], \");\n\t    }\n\t}\n\tif ($module eq 'gtk') {\n\t    for ($i = 0; $i <= $#enumerators; $i++) {\n\t\tif ($eused[$i]) { # The enumerator is used, add it to the list\n\t\t    # If this is the first function in the module,\n\t\t    # start to build a new USE.\n\t\t    if ($start) {\n\t\t\t# If this is the first USE for the source file put a header.\n\t\t\tif ($fflag) {\n\t\t\t    print OUT \"\\n!********************************\\n\";\n\t\t\t    print OUT \"! GTK modules for $sfile\\n\";\n\t\t\t    $fflag = 0;\n\t\t\t}\n\t\t\t$oline = \"    use $module, only: \";\n\t\t\t$colno = length($oline);\n\t\t\t$start = 0;\n\t\t    }\n\n\t\t    # If we would go past col 80 with the function,\n\t\t    # add a continuation and reset the column counter.\n\t\t    if ($colno + length($enumerators[$i]) > 78) {\n\t\t\t$oline .= \"&\\n\";\n\t\t\t$oline .= \"        & \";\n\t\t\t$colno = length(\"        & \");\n\t\t    }\n\t\t\n\t\t    # Append the function name and increment the colun counter.\n\t\t    $oline .= uc \"$enumerators[$i], \";\n\t\t    $colno += length(\"$enumerators[$i], \");\n\t\t}\n\t    }\n\t}\n\t# If we found any functions from this module, strip trailing commas\n\t# spaces and ampersands and write the use statement.\n\tif (! $start) {\n\t    $oline =~ s/[& ,]*$//;\n\t    print OUT \"$oline\\n\\n\";\n\t}\n    }\n    print \"found $count functions and $ecount enumerators.\\n\";\n}\n\nclose (OUT);\n\nexit(0);\n\n# Reads the CSV file generated by cfwrapper.py and extracts the first two fields\n# which are the module name and the function name. These are stored as a hash\n# of references.\nsub read_csv\n{\n    my @tmp;\n\n    open(CSV, $csvfile) || die \"Failed to open $csvfile: $!\\n\";\n\n    while (<CSV>) {\n\tchomp;\n\t@tmp = split /;/, $_, 3;\n\t$tokens{$tmp[0]} = [] unless exists $tokens{$tmp[0]};\n\tpush @{$tokens{$tmp[0]}}, lc $tmp[1];\n    }\n\n    $tokens{gtk} = [] unless exists $tokens{gtk};\n    push @{$tokens{gtk}}, ('gtk_init', 'g_signal_connect');\n\n    close(CSV);\n}\n\n# Reads the list of enumerators found.\nsub read_enum\n{\n    @enumerators=('true', 'false');\n\n    if (open(ENUM, $enumfile)) {\n\twhile (<ENUM>) {\n\t    chomp;\n\t    push @enumerators, $_;\n\t}\n\tclose(ENUM);\n    } else {\n\twarn \"Failed to open enumerators file $enumfile: $!\\n\";\n    }\n}\n\n# Reads a fortran source file, strips out quoted strings, comments and\n# syntactically irrelevant spaces. Continuations are rejoined, and\n# statements are separated by newlines.\nsub read_source\n{\n    my $sfile = $_[0];\n    my $jflag = 0;\n    my $line = \"\";\n    my $code = \"\";\n\n    open(SFILE, $sfile) || die \"Failed to open $sfile: $!\\n\";\n\n    while (<SFILE>) {                 # Get each line of the file.\n\tchomp;                        # Remove the trailing newline\n\t$_ = lc;                      # Lower case the line (this is much\n                                      # quicker than using the /i qualifier).\n\ts/\".+\"//g; s/'.+'//g;         # remove quoted strings\n\t/^([^!]*)!.*/ && ($_ = $1);   # Remove comments\n\tnext if /^\\s*$/;              # No further action on blank line\n\n\tif ($jflag) {                 # Is a continuation\n\t    s/^\\s*&//;                # Remove leading space and &\n\t    $line .= $_;              # Concatenate\n\t} else {                      # Not a continuation\n\t    s/^\\s*//;                 # Remove leading space\n\t    $line = $_;               # Start new line\n\t}\n\n\tif ($line =~ /&\\s*$/) {       # Ends with a continuation marker?\n\t    $line =~ s/&\\s*$//;       # Strip the trailing & (and any\n\t                              # following space)\n\t    $jflag = 1;               # Flag as continued\n\t    next;                     # Get the continuation\n\t}\n\n\t$jflag = 0;                   # Flag as complete line\n\tnext if $line =~ /^use\\s/;    # Don't scan USE statements.\n\n\t$code .= \"$line\\n\";           # Concatenate into a single string.\n    }\n    close(SFILE);\n\n    return($code);\n}\n"
  },
  {
    "path": "src/usemodules.py",
    "content": "#!/usr/bin/env python3\n# -*- coding: utf-8 -*-\n\n# This file is part of gtk-fortran, a GTK / Fortran interface library.\n# Copyright (C) 2011 The gtk-fortran team\n##\n# This is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 3, or (at your option)\n# any later version.\n#\n# This software is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU General Public License for more details.\n#\n# Under Section 7 of GPL version 3, you are granted additional\n# permissions described in the GCC Runtime Library Exception, version\n# 3.1, as published by the Free Software Foundation.\n#\n# You should have received a copy of the GNU General Public License along with\n# this program; see the files LICENSE and LICENSE_EXCEPTION respectively.\n# If not, see <http://www.gnu.org/licenses/>.\n#\n# Contributed by Vincent Magnin, 04.04.2011\n# Last modification: vmagnin 2022-10-28\n\nimport os\nimport csv\nimport time\nimport re        # Regular expression library\nimport argparse  # To parse command line\n\n# NOTE: the function \"multiline\" is copied from tools.py, to make the\n# installation of this script more straightforward. If you update this function,\n# please update the corresponding function in tools.py as well.\ndef multiline(line, max_length):\n    \"\"\"Split a long line in a multiline, following Fortran syntax, and trying to\n       cut it with elegance.\n    \"\"\"\n    max_offset = max_length-1\n    result = \"\"\n\n    while len(line) > max_offset:\n        # Remember that character max_length is excluded in such slice:\n        string = line[0:max_length]\n\n        cut = max_offset\n        # We try to cut before a space, if reasonably possible:\n        if string[cut] != \" \":\n            # Search the last space after the middle of the string:\n            last_space = string.rfind(\" \", max_length//2)\n            if last_space != -1:\n                cut = last_space\n\n        result += line[0:cut] + \"&\\n\"\n        line = \"&\"+ line[cut:]\n\n    # Add last line without trailing spaces:\n    result += line.rstrip()\n\n    return result\n\n#*************************************\n# Main program\n#*************************************\n\n# Definition of command line options:\nPARSARG = argparse.ArgumentParser(description=\"\"\"This program scan all the \nFortran files in the given directory and subdirectories to generate a \nusemodules.txt file with USE statements you can paste in your gtk-fortran \nprograms. It also print warnings if you use deprecated GTK functions, and \nfinally displays all the GTK functions used in a directory.\"\"\",\n          epilog=\"GPLv3 license, https://github.com/vmagnin/gtk-fortran\")\nPARSARG.add_argument(\"dir_path\", action=\"store\", type=str, nargs=1,\n                     help=\"Path of the directory to scan\")\nARGS = PARSARG.parse_args()\n\npath = ARGS.dir_path[0]    # for example \"../examples/\"\nif not path.endswith(os.sep):\n    path += os.sep    # add directory separator on some operating systems\n\noutput_file = open(\"usemodules.txt\", \"w\", encoding='utf-8')\nHEADER = \"\"\"File generated by usemodules.py (gtk-fortran project)\nNote that you should adapt these USE statements to each scope unit.\nThe script just identifies all the functions used in a given file.\nYou will generally need to add:\n  & g_signal_connect, gtk_init, FALSE, TRUE, CNULL, GDK_COLORSPACE_RGB, GDK_COLORSPACE_RGB,&\n  & NULL\nYou should also add enums identifiers and parameters.\n\\n\n\"\"\"\noutput_file.write(HEADER)\n\n# Initialization:\nused_functions = []\ntotal = 0\nnb_deprecated = 0\n\n# Scan each directory:\nfor directory in os.walk(path):\n    # Scan each file in that directory:\n    for f_name in directory[2]:\n        # Is it a Fortran file ? (.f or .f?? extension)\n        if re.search(r\"\\.f(?:$|[\\d]{2}$)\", f_name) is None:\n            continue    # to next file\n        # The gtk-fortran *-auto.f90 files are not treated:\n        if \"-auto\" in f_name:\n            continue    # to next file\n\n        print(f_name)\n\n        only_dict = {}\n        used_modules = []\n\n        # Read the whole file in a string:\n        whole_file = open(directory[0] + os.sep + f_name, 'r', encoding='utf-8').read()\n        # Remove Fortran comments lines:\n        whole_file = re.sub(r\"(?m)^\\s*!.*\\n\", \"\", whole_file)\n\n        # Load the GTK functions index generated by cfwrapper.py:\n        try:\n            reader = csv.reader(open(\"@PATH_TO_CSV@\", \"r\", encoding='utf-8'), delimiter=\";\")\n        except:\n            reader = csv.reader(open(\"gtk-fortran-index.csv\", \"r\", encoding='utf-8'), delimiter=\";\")\n\n        # Scan all functions in that index file:\n        for row in reader:\n            module_name     = row[0]\n            function_name   = row[1]\n            function_status = row[2]\n\n            # The [^_] is needed to avoid hl_ functions:\n            pattern = r\"[^_]\" + function_name + r\"[^a-zA-Z0-9_]\"\n\n            if re.search(pattern, whole_file) is not None:\n                # Is this module found for the first time ?\n                if module_name not in used_modules:\n                    used_modules.append(module_name)\n                    only_dict[module_name] = \"use \"+module_name+\", only: \"\n\n                only_dict[module_name] += function_name + \", \"\n\n                # Is this GTK function found for the first time ?\n                if function_name not in used_functions:\n                    used_functions.append(function_name)\n                    total += 1\n\n                # Is this function deprecated ?\n                if \"DEPRECATED\" in function_status:\n                    print(\">>> \" + function_status + \": \" + function_name)\n                    nb_deprecated += 1\n\n        # Writes the USE statements needed for this Fortran file:\n        output_file.write(f_name+\"\\n\"+\"============\\n\")\n        for key in list(only_dict.keys()):\n            output_file.write(multiline(only_dict[key].rstrip(\", \"), 80)+\"\\n\")\n        output_file.write(\"\\n\\n\")\n\n\noutput_file.close()\n\nprint(\"*********************************************\")\nprint(\">>> \", nb_deprecated, \" DEPRECATED calls\")\nprint(\"*********************************************\")\n\n# To update the \"Tested functions\" wiki page:\nused_functions.sort()\nprint()\nprint(total, \"used functions, updated on\", time.asctime(time.localtime()), \"\\n\")\nprint(used_functions)\n"
  },
  {
    "path": "tutorials/README.md",
    "content": "# Tutorials programs\n\nThis directory contains the different stages of the program described in the wiki tutorial [My first gtk-fortran application](https://github.com/vmagnin/gtk-fortran/wiki/Tutorial-1).\n\n"
  },
  {
    "path": "tutorials/my_first_gtk_app1.f90",
    "content": "! $ gfortran -Wall -Wextra -std=f2008 -pedantic -g my_first_gtk_app1.f90 $(pkg-config --cflags --libs gtk-4-fortran)\n\nmodule handlers\n  use, intrinsic :: iso_c_binding\n  use gtk, only:\n  use g, only:\n\n  implicit none\n\n  contains\n\nend module handlers\n\nprogram my_first_gtk_app\n  use handlers\n\n  implicit none\n\nend program\n"
  },
  {
    "path": "tutorials/my_first_gtk_app2.f90",
    "content": "! $ gfortran -Wall -Wextra -std=f2008 -pedantic -g my_first_gtk_app2.f90 $(pkg-config --cflags --libs gtk-4-fortran)\n\nmodule handlers\n  use, intrinsic :: iso_c_binding\n  use gtk, only: gtk_application_new, G_APPLICATION_FLAGS_NONE\n  use g, only: g_application_run, g_object_unref\n\n  implicit none\n\n  contains\n\nend module handlers\n\nprogram my_first_gtk_app\n  use handlers\n\n  implicit none\n  type(c_ptr)    :: app\n  integer(c_int) :: status\n\n  app = gtk_application_new(\"gtk-fortran.my_first_gtk_app\"//c_null_char, &\n                          & G_APPLICATION_FLAGS_NONE)\n  status = g_application_run(app, 0_c_int, [c_null_ptr])\n  call g_object_unref(app)\nend program\n"
  },
  {
    "path": "tutorials/my_first_gtk_app3.f90",
    "content": "! $ gfortran -Wall -Wextra -std=f2008 -pedantic -g my_first_gtk_app3.f90 $(pkg-config --cflags --libs gtk-4-fortran)\n\nmodule handlers\n  use, intrinsic :: iso_c_binding\n  use gtk, only: gtk_application_new, G_APPLICATION_FLAGS_NONE, &\n               & gtk_application_window_new, gtk_widget_show, &\n               & gtk_window_set_title, g_signal_connect\n  use g, only: g_application_run, g_object_unref\n\n  implicit none\n\n  contains\n\n  subroutine activate(app, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: app, gdata\n    type(c_ptr) :: window\n\n    window = gtk_application_window_new(app)\n    call gtk_window_set_title(window, \"Hello world!\"//c_null_char)\n    call gtk_widget_show(window)\n  end subroutine activate\nend module handlers\n\nprogram my_first_gtk_app\n  use handlers\n\n  implicit none\n  type(c_ptr)    :: app\n  integer(c_int) :: status\n\n  app = gtk_application_new(\"gtk-fortran.my_first_gtk_app\"//c_null_char, &\n                          & G_APPLICATION_FLAGS_NONE)\n  call g_signal_connect(app, \"activate\"//c_null_char, c_funloc(activate), c_null_ptr)\n  status = g_application_run(app, 0_c_int, [c_null_ptr])\n  call g_object_unref(app)\nend program\n"
  },
  {
    "path": "tutorials/my_first_gtk_app4.f90",
    "content": "! $ gfortran -Wall -Wextra -std=f2008 -pedantic -g my_first_gtk_app4.f90 $(pkg-config --cflags --libs gtk-4-fortran)\n\nmodule handlers\n  use, intrinsic :: iso_c_binding\n  use gtk, only: gtk_application_new, G_APPLICATION_FLAGS_NONE, &\n               & gtk_application_window_new, gtk_widget_show, &\n               & gtk_window_set_child, gtk_box_append, &\n               & gtk_window_set_title, g_signal_connect, &\n               & gtk_box_new, gtk_button_new_with_label, &\n               & GTK_ORIENTATION_VERTICAL, FALSE\n\n  use g, only: g_application_run, g_object_unref\n\n  implicit none\n\n  contains\n\n  subroutine my_button_clicked(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n    print *, \"Button clicked!\"\n  end subroutine\n\n  subroutine activate(app, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: app, gdata\n    type(c_ptr) :: window\n    type(c_ptr) :: box, my_button\n\n    window = gtk_application_window_new(app)\n    call gtk_window_set_title(window, \"Hello world!\"//c_null_char)\n\n    box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 10_c_int)\n    call gtk_window_set_child(window, box)\n    my_button = gtk_button_new_with_label(\"Compute\"//c_null_char)\n    call gtk_box_append(box, my_button)\n    call g_signal_connect(my_button, \"clicked\"//c_null_char, c_funloc(my_button_clicked))\n\n    call gtk_widget_show(window)\n  end subroutine activate\nend module handlers\n\nprogram my_first_gtk_app\n  use handlers\n\n  implicit none\n  type(c_ptr)    :: app\n  integer(c_int) :: status\n\n  app = gtk_application_new(\"gtk-fortran.my_first_gtk_app\"//c_null_char, &\n                          & G_APPLICATION_FLAGS_NONE)\n  call g_signal_connect(app, \"activate\"//c_null_char, c_funloc(activate), c_null_ptr)\n  status = g_application_run(app, 0_c_int, [c_null_ptr])\n  call g_object_unref(app)\nend program\n"
  },
  {
    "path": "tutorials/my_first_gtk_app5.f90",
    "content": "! $ gfortran -Wall -Wextra -std=f2008 -pedantic -g my_first_gtk_app5.f90 $(pkg-config --cflags --libs gtk-4-fortran)\n\nmodule math\n  use, intrinsic :: iso_c_binding, only: dp=>c_double\n  implicit none\n\n  contains\n\n  pure real(dp) function iterate(x0, r) result(x)\n    real(dp), intent(in) :: x0, r\n    integer  :: i\n\n    x = x0\n    do i = 0, 20000\n      x = r * x * (1_dp - x)\n    end do\n  end function iterate\nend module math\n\nmodule handlers\n  use, intrinsic :: iso_c_binding\n  use gtk, only: gtk_application_new, G_APPLICATION_FLAGS_NONE, &\n               & gtk_application_window_new, gtk_widget_show, &\n               & gtk_window_set_child, gtk_box_append, &\n               & gtk_window_set_title, g_signal_connect, &\n               & gtk_box_new, gtk_button_new_with_label, &\n               & GTK_ORIENTATION_VERTICAL, FALSE,&\n               & gtk_label_new, gtk_spin_button_new, gtk_adjustment_new, &\n               & gtk_spin_button_get_value\n  use g, only: g_application_run, g_object_unref\n  use math\n\n  implicit none\n  type(c_ptr) :: r_spin_button\n\n  contains\n\n  subroutine my_button_clicked(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n    real(dp) :: r, x0\n\n    call random_number(x0)\n    r = gtk_spin_button_get_value(r_spin_button)\n    print *, r, x0, iterate(x0, r)\n  end subroutine\n\n  subroutine activate(app, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: app, gdata\n    type(c_ptr) :: window\n    type(c_ptr) :: box, my_button\n    type(c_ptr) :: label_r\n\n    window = gtk_application_window_new(app)\n    call gtk_window_set_title(window, \"Hello world!\"//c_null_char)\n\n    box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 10_c_int)\n    call gtk_window_set_child(window, box)\n\n    label_r = gtk_label_new(\"r parameter\"//c_null_char)\n    call gtk_box_append(box, label_r)\n\n    r_spin_button = gtk_spin_button_new(gtk_adjustment_new(3._dp, 0._dp, 4._dp, &\n                                    & 0.1_dp, 0._dp, 0._dp), 0.0_dp, 15_c_int)\n    call gtk_box_append(box, r_spin_button)\n\n    my_button = gtk_button_new_with_label(\"Compute\"//c_null_char)\n    call gtk_box_append(box, my_button)\n    call g_signal_connect(my_button, \"clicked\"//c_null_char, c_funloc(my_button_clicked))\n\n    call gtk_widget_show(window)\n  end subroutine activate\nend module handlers\n\nprogram my_first_gtk_app\n  use handlers\n\n  implicit none\n  type(c_ptr)    :: app\n  integer(c_int) :: status\n\n  app = gtk_application_new(\"gtk-fortran.my_first_gtk_app\"//c_null_char, &\n                          & G_APPLICATION_FLAGS_NONE)\n  call g_signal_connect(app, \"activate\"//c_null_char, c_funloc(activate), c_null_ptr)\n  status = g_application_run(app, 0_c_int, [c_null_ptr])\n  call g_object_unref(app)\nend program\n"
  },
  {
    "path": "tutorials/my_first_gtk_app6.f90",
    "content": "! $ gfortran -Wall -Wextra -std=f2008 -pedantic -g my_first_gtk_app6.f90 $(pkg-config --cflags --libs gtk-4-fortran)\n\nmodule math\n  use, intrinsic :: iso_c_binding, only: dp=>c_double\n  implicit none\n\n  contains\n\n  pure real(dp) function iterate(x0, r) result(x)\n    real(dp), intent(in) :: x0, r\n    integer  :: i\n\n    x = x0\n    do i = 0, 20000\n      x = r * x * (1_dp - x)\n    end do\n  end function iterate\nend module math\n\nmodule handlers\n  use, intrinsic :: iso_c_binding\n  use gtk, only: gtk_application_new, G_APPLICATION_FLAGS_NONE, &\n               & gtk_application_window_new, gtk_widget_show, &\n               & gtk_window_set_child, gtk_box_append, &\n               & gtk_window_set_title, g_signal_connect, &\n               & gtk_box_new, gtk_button_new_with_label, &\n               & GTK_ORIENTATION_VERTICAL, FALSE,&\n               & gtk_label_new, gtk_spin_button_new, gtk_adjustment_new, &\n               & gtk_spin_button_get_value, gtk_drawing_area_new, &\n               & gtk_widget_queue_draw, GDK_COLORSPACE_RGB, gtk_widget_set_vexpand, &\n               & TRUE, gtk_widget_set_size_request, gtk_drawing_area_set_draw_func\n  use g, only: g_application_run, g_object_unref\n  use cairo, only: cairo_paint\n  use gdk, only: gdk_cairo_set_source_pixbuf\n  use gdk_pixbuf, only: gdk_pixbuf_new, gdk_pixbuf_get_rowstride, &\n                      & gdk_pixbuf_get_pixels, gdk_pixbuf_get_n_channels\n  use math\n\n  implicit none\n  type(c_ptr) :: r_spin_button, my_drawing_area, my_pixbuf\n  integer(kind=c_int) :: nch, rowstride, width, height, pixwidth, pixheight\n  character(kind=c_char), dimension(:), pointer :: pixel\n\n  contains\n\n  subroutine my_button_clicked(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n    real(dp) :: r, x0\n\n    call random_number(x0)\n    r = gtk_spin_button_get_value(r_spin_button)\n    print *, r, x0, iterate(x0, r)\n  end subroutine\n\n  subroutine draw(widget, my_cairo_context, width, height, gdata) bind(c)\n    type(c_ptr), value, intent(in)    :: widget, my_cairo_context, gdata\n    integer(c_int), value, intent(in) :: width, height\n\n    call gdk_cairo_set_source_pixbuf(my_cairo_context, my_pixbuf, 0d0, 0d0)\n    call cairo_paint(my_cairo_context)\n  end subroutine draw\n\n  subroutine activate(app, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: app, gdata\n    type(c_ptr) :: window\n    type(c_ptr) :: box, my_button\n    type(c_ptr) :: label_r\n\n    window = gtk_application_window_new(app)\n    call gtk_window_set_title(window, \"Hello world!\"//c_null_char)\n\n    box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 10_c_int)\n    call gtk_window_set_child(window, box)\n\n    label_r = gtk_label_new(\"r parameter\"//c_null_char)\n    call gtk_box_append(box, label_r)\n\n    r_spin_button = gtk_spin_button_new(gtk_adjustment_new(3._dp, 0._dp, 4._dp, &\n                                    & 0.1_dp, 0._dp, 0._dp), 0.0_dp, 15_c_int)\n    call gtk_box_append(box, r_spin_button)\n\n    my_drawing_area = gtk_drawing_area_new()\n    pixwidth  = 1000\n    pixheight = 600\n    call gtk_widget_set_size_request(my_drawing_area, pixwidth, pixheight)\n    call gtk_drawing_area_set_draw_func(my_drawing_area, &\n                  & c_funloc(draw), c_null_ptr, c_null_funptr)\n    call gtk_box_append(box, my_drawing_area)\n\n    my_pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, FALSE, 8_c_int, &\n              & pixwidth, pixheight)\n    nch = gdk_pixbuf_get_n_channels(my_pixbuf)\n    rowstride = gdk_pixbuf_get_rowstride(my_pixbuf)\n    call c_f_pointer(gdk_pixbuf_get_pixels(my_pixbuf), pixel, &\n                   & (/pixwidth*pixheight*nch/))\n    pixel = char(0)\n\n    my_button = gtk_button_new_with_label(\"Compute\"//c_null_char)\n    call gtk_box_append(box, my_button)\n    call g_signal_connect(my_button, \"clicked\"//c_null_char, c_funloc(my_button_clicked))\n\n    call gtk_widget_show(window)\n  end subroutine activate\nend module handlers\n\nprogram my_first_gtk_app\n  use handlers\n\n  implicit none\n  type(c_ptr)    :: app\n  integer(c_int) :: status\n\n  app = gtk_application_new(\"gtk-fortran.my_first_gtk_app\"//c_null_char, &\n                          & G_APPLICATION_FLAGS_NONE)\n  call g_signal_connect(app, \"activate\"//c_null_char, c_funloc(activate), c_null_ptr)\n  status = g_application_run(app, 0_c_int, [c_null_ptr])\n  call g_object_unref(app)\nend program\n"
  },
  {
    "path": "tutorials/my_first_gtk_app7.f90",
    "content": "! $ gfortran -Wall -Wextra -std=f2008 -pedantic -g my_first_gtk_app7.f90 $(pkg-config --cflags --libs gtk-4-fortran)\n\nmodule math\n  use, intrinsic :: iso_c_binding, only: dp=>c_double\n  implicit none\n\n  contains\n\n  pure real(dp) function iterate(x0, r) result(x)\n    real(dp), intent(in) :: x0, r\n    integer  :: i\n\n    x = x0\n    do i = 0, 20000\n      x = r * x * (1_dp - x)\n    end do\n  end function iterate\nend module math\n\nmodule handlers\n  use, intrinsic :: iso_c_binding\n  use gtk, only: gtk_application_new, G_APPLICATION_FLAGS_NONE, &\n               & gtk_application_window_new, gtk_widget_show, &\n               & gtk_window_set_child, gtk_box_append, &\n               & gtk_window_set_title, g_signal_connect, &\n               & gtk_box_new, gtk_button_new_with_label, &\n               & GTK_ORIENTATION_VERTICAL, FALSE,&\n               & gtk_label_new, gtk_spin_button_new, gtk_adjustment_new, &\n               & gtk_spin_button_get_value, gtk_drawing_area_new, &\n               & gtk_widget_queue_draw, GDK_COLORSPACE_RGB, gtk_widget_set_vexpand, &\n               & TRUE, gtk_widget_set_size_request, gtk_drawing_area_set_draw_func\n  use g, only: g_application_run, g_object_unref\n  use cairo, only: cairo_paint\n  use gdk, only: gdk_cairo_set_source_pixbuf\n  use gdk_pixbuf, only: gdk_pixbuf_new, gdk_pixbuf_get_rowstride, &\n                      & gdk_pixbuf_get_pixels, gdk_pixbuf_get_n_channels\n  use math\n\n  implicit none\n  type(c_ptr) :: r_spin_button, my_drawing_area, my_pixbuf\n  integer(kind=c_int) :: nch, rowstride, width, height, pixwidth, pixheight\n  character(kind=c_char), dimension(:), pointer :: pixel\n\n  contains\n\n  subroutine my_button_clicked(widget, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: widget, gdata\n    real(dp) :: r, x0\n    real(dp) :: rmin, rmax\n    integer :: p, n, xp, yp, xpmax, ypmax\n\n    call random_seed()\n\n    rmin = gtk_spin_button_get_value(r_spin_button)\n    rmax = 4_dp\n    xpmax = pixwidth-1\n    ypmax = pixheight-1\n    pixel = char(0)\n\n    do xp = 0, xpmax\n      r = rmin + xp * (rmax - rmin) / xpmax\n\n      do n = 1, 100\n        call random_number(x0)\n        yp = ypmax - nint(iterate(x0, r) * ypmax)\n\n        p = 1 + xp*nch + yp*rowstride\n        pixel(p)   = char(255)\n        pixel(p+1) = char(150)\n        pixel(p+2) = char(120)\n      end do\n    end do\n\n    call gtk_widget_queue_draw(my_drawing_area)\n  end subroutine my_button_clicked\n\n  subroutine draw(widget, my_cairo_context, width, height, gdata) bind(c)\n    type(c_ptr), value, intent(in)    :: widget, my_cairo_context, gdata\n    integer(c_int), value, intent(in) :: width, height\n\n    call gdk_cairo_set_source_pixbuf(my_cairo_context, my_pixbuf, 0d0, 0d0)\n    call cairo_paint(my_cairo_context)\n  end subroutine draw\n\n  subroutine activate(app, gdata) bind(c)\n    type(c_ptr), value, intent(in) :: app, gdata\n    type(c_ptr) :: window\n    type(c_ptr) :: box, my_button\n    type(c_ptr) :: label_r\n\n    window = gtk_application_window_new(app)\n    call gtk_window_set_title(window, \"Hello world!\"//c_null_char)\n\n    box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 10_c_int)\n    call gtk_window_set_child(window, box)\n\n    label_r = gtk_label_new(\"r parameter\"//c_null_char)\n    call gtk_box_append(box, label_r)\n\n    r_spin_button = gtk_spin_button_new(gtk_adjustment_new(3._dp, 0._dp, 4._dp, &\n                                    & 0.1_dp, 0._dp, 0._dp), 0.0_dp, 15_c_int)\n    call gtk_box_append(box, r_spin_button)\n\n    my_drawing_area = gtk_drawing_area_new()\n    pixwidth  = 1000\n    pixheight = 600\n    call gtk_widget_set_size_request(my_drawing_area, pixwidth, pixheight)\n    call gtk_drawing_area_set_draw_func(my_drawing_area, &\n                  & c_funloc(draw), c_null_ptr, c_null_funptr)\n    call gtk_box_append(box, my_drawing_area)\n\n    my_pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, FALSE, 8_c_int, &\n              & pixwidth, pixheight)\n    nch = gdk_pixbuf_get_n_channels(my_pixbuf)\n    rowstride = gdk_pixbuf_get_rowstride(my_pixbuf)\n    call c_f_pointer(gdk_pixbuf_get_pixels(my_pixbuf), pixel, &\n                   & (/pixwidth*pixheight*nch/))\n    pixel = char(0)\n\n    my_button = gtk_button_new_with_label(\"Compute\"//c_null_char)\n    call gtk_box_append(box, my_button)\n    call g_signal_connect(my_button, \"clicked\"//c_null_char, c_funloc(my_button_clicked))\n\n    call gtk_widget_show(window)\n  end subroutine activate\nend module handlers\n\nprogram my_first_gtk_app\n  use handlers\n\n  implicit none\n  type(c_ptr)    :: app\n  integer(c_int) :: status\n\n  app = gtk_application_new(\"gtk-fortran.my_first_gtk_app\"//c_null_char, &\n                          & G_APPLICATION_FLAGS_NONE)\n  call g_signal_connect(app, \"activate\"//c_null_char, c_funloc(activate), c_null_ptr)\n  status = g_application_run(app, 0_c_int, [c_null_ptr])\n  call g_object_unref(app)\nend program\n"
  }
]